{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.ServiceCatalog.DisassociatePrincipalFromPortfolio
(
disassociatePrincipalFromPortfolio
, DisassociatePrincipalFromPortfolio
, disAcceptLanguage
, disPortfolioId
, disPrincipalARN
, disassociatePrincipalFromPortfolioResponse
, DisassociatePrincipalFromPortfolioResponse
, dpfprsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.ServiceCatalog.Types
import Network.AWS.ServiceCatalog.Types.Product
data DisassociatePrincipalFromPortfolio = DisassociatePrincipalFromPortfolio'
{ _disAcceptLanguage :: !(Maybe Text)
, _disPortfolioId :: !Text
, _disPrincipalARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
disassociatePrincipalFromPortfolio
:: Text
-> Text
-> DisassociatePrincipalFromPortfolio
disassociatePrincipalFromPortfolio pPortfolioId_ pPrincipalARN_ =
DisassociatePrincipalFromPortfolio'
{ _disAcceptLanguage = Nothing
, _disPortfolioId = pPortfolioId_
, _disPrincipalARN = pPrincipalARN_
}
disAcceptLanguage :: Lens' DisassociatePrincipalFromPortfolio (Maybe Text)
disAcceptLanguage = lens _disAcceptLanguage (\ s a -> s{_disAcceptLanguage = a});
disPortfolioId :: Lens' DisassociatePrincipalFromPortfolio Text
disPortfolioId = lens _disPortfolioId (\ s a -> s{_disPortfolioId = a});
disPrincipalARN :: Lens' DisassociatePrincipalFromPortfolio Text
disPrincipalARN = lens _disPrincipalARN (\ s a -> s{_disPrincipalARN = a});
instance AWSRequest
DisassociatePrincipalFromPortfolio where
type Rs DisassociatePrincipalFromPortfolio =
DisassociatePrincipalFromPortfolioResponse
request = postJSON serviceCatalog
response
= receiveEmpty
(\ s h x ->
DisassociatePrincipalFromPortfolioResponse' <$>
(pure (fromEnum s)))
instance Hashable DisassociatePrincipalFromPortfolio
instance NFData DisassociatePrincipalFromPortfolio
instance ToHeaders DisassociatePrincipalFromPortfolio
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWS242ServiceCatalogService.DisassociatePrincipalFromPortfolio"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DisassociatePrincipalFromPortfolio
where
toJSON DisassociatePrincipalFromPortfolio'{..}
= object
(catMaybes
[("AcceptLanguage" .=) <$> _disAcceptLanguage,
Just ("PortfolioId" .= _disPortfolioId),
Just ("PrincipalARN" .= _disPrincipalARN)])
instance ToPath DisassociatePrincipalFromPortfolio
where
toPath = const "/"
instance ToQuery DisassociatePrincipalFromPortfolio
where
toQuery = const mempty
newtype DisassociatePrincipalFromPortfolioResponse = DisassociatePrincipalFromPortfolioResponse'
{ _dpfprsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
disassociatePrincipalFromPortfolioResponse
:: Int
-> DisassociatePrincipalFromPortfolioResponse
disassociatePrincipalFromPortfolioResponse pResponseStatus_ =
DisassociatePrincipalFromPortfolioResponse'
{ _dpfprsResponseStatus = pResponseStatus_
}
dpfprsResponseStatus :: Lens' DisassociatePrincipalFromPortfolioResponse Int
dpfprsResponseStatus = lens _dpfprsResponseStatus (\ s a -> s{_dpfprsResponseStatus = a});
instance NFData
DisassociatePrincipalFromPortfolioResponse