stratosphere-0.23.0: library-gen/Stratosphere/Resources/ServiceCatalogPortfolioPrincipalAssociation.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html
module Stratosphere.Resources.ServiceCatalogPortfolioPrincipalAssociation where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- ServiceCatalogPortfolioPrincipalAssociation. See
-- 'serviceCatalogPortfolioPrincipalAssociation' for a more convenient
-- constructor.
data ServiceCatalogPortfolioPrincipalAssociation =
ServiceCatalogPortfolioPrincipalAssociation
{ _serviceCatalogPortfolioPrincipalAssociationAcceptLanguage :: Maybe (Val Text)
, _serviceCatalogPortfolioPrincipalAssociationPortfolioId :: Val Text
, _serviceCatalogPortfolioPrincipalAssociationPrincipalARN :: Val Text
, _serviceCatalogPortfolioPrincipalAssociationPrincipalType :: Val Text
} deriving (Show, Eq)
instance ToJSON ServiceCatalogPortfolioPrincipalAssociation where
toJSON ServiceCatalogPortfolioPrincipalAssociation{..} =
object $
catMaybes
[ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationAcceptLanguage
, (Just . ("PortfolioId",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationPortfolioId
, (Just . ("PrincipalARN",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationPrincipalARN
, (Just . ("PrincipalType",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationPrincipalType
]
instance FromJSON ServiceCatalogPortfolioPrincipalAssociation where
parseJSON (Object obj) =
ServiceCatalogPortfolioPrincipalAssociation <$>
(obj .:? "AcceptLanguage") <*>
(obj .: "PortfolioId") <*>
(obj .: "PrincipalARN") <*>
(obj .: "PrincipalType")
parseJSON _ = mempty
-- | Constructor for 'ServiceCatalogPortfolioPrincipalAssociation' containing
-- required fields as arguments.
serviceCatalogPortfolioPrincipalAssociation
:: Val Text -- ^ 'scppriaPortfolioId'
-> Val Text -- ^ 'scppriaPrincipalARN'
-> Val Text -- ^ 'scppriaPrincipalType'
-> ServiceCatalogPortfolioPrincipalAssociation
serviceCatalogPortfolioPrincipalAssociation portfolioIdarg principalARNarg principalTypearg =
ServiceCatalogPortfolioPrincipalAssociation
{ _serviceCatalogPortfolioPrincipalAssociationAcceptLanguage = Nothing
, _serviceCatalogPortfolioPrincipalAssociationPortfolioId = portfolioIdarg
, _serviceCatalogPortfolioPrincipalAssociationPrincipalARN = principalARNarg
, _serviceCatalogPortfolioPrincipalAssociationPrincipalType = principalTypearg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-acceptlanguage
scppriaAcceptLanguage :: Lens' ServiceCatalogPortfolioPrincipalAssociation (Maybe (Val Text))
scppriaAcceptLanguage = lens _serviceCatalogPortfolioPrincipalAssociationAcceptLanguage (\s a -> s { _serviceCatalogPortfolioPrincipalAssociationAcceptLanguage = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-portfolioid
scppriaPortfolioId :: Lens' ServiceCatalogPortfolioPrincipalAssociation (Val Text)
scppriaPortfolioId = lens _serviceCatalogPortfolioPrincipalAssociationPortfolioId (\s a -> s { _serviceCatalogPortfolioPrincipalAssociationPortfolioId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-principalarn
scppriaPrincipalARN :: Lens' ServiceCatalogPortfolioPrincipalAssociation (Val Text)
scppriaPrincipalARN = lens _serviceCatalogPortfolioPrincipalAssociationPrincipalARN (\s a -> s { _serviceCatalogPortfolioPrincipalAssociationPrincipalARN = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-principaltype
scppriaPrincipalType :: Lens' ServiceCatalogPortfolioPrincipalAssociation (Val Text)
scppriaPrincipalType = lens _serviceCatalogPortfolioPrincipalAssociationPrincipalType (\s a -> s { _serviceCatalogPortfolioPrincipalAssociationPrincipalType = a })