stratosphere-0.22.2: library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html
module Stratosphere.Resources.ServiceCatalogCloudFormationProvisionedProduct where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.ServiceCatalogCloudFormationProvisionedProductProvisioningParameter
import Stratosphere.ResourceProperties.Tag
-- | Full data type definition for
-- ServiceCatalogCloudFormationProvisionedProduct. See
-- 'serviceCatalogCloudFormationProvisionedProduct' for a more convenient
-- constructor.
data ServiceCatalogCloudFormationProvisionedProduct =
ServiceCatalogCloudFormationProvisionedProduct
{ _serviceCatalogCloudFormationProvisionedProductAcceptLanguage :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductNotificationArns :: Maybe (ValList Text)
, _serviceCatalogCloudFormationProvisionedProductPathId :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductProductId :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductProductName :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductProvisionedProductName :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactId :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactName :: Maybe (Val Text)
, _serviceCatalogCloudFormationProvisionedProductProvisioningParameters :: Maybe [ServiceCatalogCloudFormationProvisionedProductProvisioningParameter]
, _serviceCatalogCloudFormationProvisionedProductTags :: Maybe [Tag]
} deriving (Show, Eq)
instance ToJSON ServiceCatalogCloudFormationProvisionedProduct where
toJSON ServiceCatalogCloudFormationProvisionedProduct{..} =
object $
catMaybes
[ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogCloudFormationProvisionedProductAcceptLanguage
, fmap (("NotificationArns",) . toJSON) _serviceCatalogCloudFormationProvisionedProductNotificationArns
, fmap (("PathId",) . toJSON) _serviceCatalogCloudFormationProvisionedProductPathId
, fmap (("ProductId",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProductId
, fmap (("ProductName",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProductName
, fmap (("ProvisionedProductName",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProvisionedProductName
, fmap (("ProvisioningArtifactId",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactId
, fmap (("ProvisioningArtifactName",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactName
, fmap (("ProvisioningParameters",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProvisioningParameters
, fmap (("Tags",) . toJSON) _serviceCatalogCloudFormationProvisionedProductTags
]
instance FromJSON ServiceCatalogCloudFormationProvisionedProduct where
parseJSON (Object obj) =
ServiceCatalogCloudFormationProvisionedProduct <$>
(obj .:? "AcceptLanguage") <*>
(obj .:? "NotificationArns") <*>
(obj .:? "PathId") <*>
(obj .:? "ProductId") <*>
(obj .:? "ProductName") <*>
(obj .:? "ProvisionedProductName") <*>
(obj .:? "ProvisioningArtifactId") <*>
(obj .:? "ProvisioningArtifactName") <*>
(obj .:? "ProvisioningParameters") <*>
(obj .:? "Tags")
parseJSON _ = mempty
-- | Constructor for 'ServiceCatalogCloudFormationProvisionedProduct'
-- containing required fields as arguments.
serviceCatalogCloudFormationProvisionedProduct
:: ServiceCatalogCloudFormationProvisionedProduct
serviceCatalogCloudFormationProvisionedProduct =
ServiceCatalogCloudFormationProvisionedProduct
{ _serviceCatalogCloudFormationProvisionedProductAcceptLanguage = Nothing
, _serviceCatalogCloudFormationProvisionedProductNotificationArns = Nothing
, _serviceCatalogCloudFormationProvisionedProductPathId = Nothing
, _serviceCatalogCloudFormationProvisionedProductProductId = Nothing
, _serviceCatalogCloudFormationProvisionedProductProductName = Nothing
, _serviceCatalogCloudFormationProvisionedProductProvisionedProductName = Nothing
, _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactId = Nothing
, _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactName = Nothing
, _serviceCatalogCloudFormationProvisionedProductProvisioningParameters = Nothing
, _serviceCatalogCloudFormationProvisionedProductTags = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-acceptlanguage
sccfppAcceptLanguage :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppAcceptLanguage = lens _serviceCatalogCloudFormationProvisionedProductAcceptLanguage (\s a -> s { _serviceCatalogCloudFormationProvisionedProductAcceptLanguage = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-notificationarns
sccfppNotificationArns :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (ValList Text))
sccfppNotificationArns = lens _serviceCatalogCloudFormationProvisionedProductNotificationArns (\s a -> s { _serviceCatalogCloudFormationProvisionedProductNotificationArns = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-pathid
sccfppPathId :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppPathId = lens _serviceCatalogCloudFormationProvisionedProductPathId (\s a -> s { _serviceCatalogCloudFormationProvisionedProductPathId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productid
sccfppProductId :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppProductId = lens _serviceCatalogCloudFormationProvisionedProductProductId (\s a -> s { _serviceCatalogCloudFormationProvisionedProductProductId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productname
sccfppProductName :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppProductName = lens _serviceCatalogCloudFormationProvisionedProductProductName (\s a -> s { _serviceCatalogCloudFormationProvisionedProductProductName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisionedproductname
sccfppProvisionedProductName :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppProvisionedProductName = lens _serviceCatalogCloudFormationProvisionedProductProvisionedProductName (\s a -> s { _serviceCatalogCloudFormationProvisionedProductProvisionedProductName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningartifactid
sccfppProvisioningArtifactId :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppProvisioningArtifactId = lens _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactId (\s a -> s { _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningartifactname
sccfppProvisioningArtifactName :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
sccfppProvisioningArtifactName = lens _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactName (\s a -> s { _serviceCatalogCloudFormationProvisionedProductProvisioningArtifactName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameters
sccfppProvisioningParameters :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe [ServiceCatalogCloudFormationProvisionedProductProvisioningParameter])
sccfppProvisioningParameters = lens _serviceCatalogCloudFormationProvisionedProductProvisioningParameters (\s a -> s { _serviceCatalogCloudFormationProvisionedProductProvisioningParameters = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-tags
sccfppTags :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe [Tag])
sccfppTags = lens _serviceCatalogCloudFormationProvisionedProductTags (\s a -> s { _serviceCatalogCloudFormationProvisionedProductTags = a })