stratosphere-0.55.0: library-gen/Stratosphere/Resources/AppConfigHostedConfigurationVersion.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html
module Stratosphere.Resources.AppConfigHostedConfigurationVersion where
import Stratosphere.ResourceImports
-- | Full data type definition for AppConfigHostedConfigurationVersion. See
-- 'appConfigHostedConfigurationVersion' for a more convenient constructor.
data AppConfigHostedConfigurationVersion =
AppConfigHostedConfigurationVersion
{ _appConfigHostedConfigurationVersionApplicationId :: Val Text
, _appConfigHostedConfigurationVersionConfigurationProfileId :: Val Text
, _appConfigHostedConfigurationVersionContent :: Val Text
, _appConfigHostedConfigurationVersionContentType :: Val Text
, _appConfigHostedConfigurationVersionDescription :: Maybe (Val Text)
, _appConfigHostedConfigurationVersionLatestVersionNumber :: Maybe (Val Double)
} deriving (Show, Eq)
instance ToResourceProperties AppConfigHostedConfigurationVersion where
toResourceProperties AppConfigHostedConfigurationVersion{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::AppConfig::HostedConfigurationVersion"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ (Just . ("ApplicationId",) . toJSON) _appConfigHostedConfigurationVersionApplicationId
, (Just . ("ConfigurationProfileId",) . toJSON) _appConfigHostedConfigurationVersionConfigurationProfileId
, (Just . ("Content",) . toJSON) _appConfigHostedConfigurationVersionContent
, (Just . ("ContentType",) . toJSON) _appConfigHostedConfigurationVersionContentType
, fmap (("Description",) . toJSON) _appConfigHostedConfigurationVersionDescription
, fmap (("LatestVersionNumber",) . toJSON) _appConfigHostedConfigurationVersionLatestVersionNumber
]
}
-- | Constructor for 'AppConfigHostedConfigurationVersion' containing required
-- fields as arguments.
appConfigHostedConfigurationVersion
:: Val Text -- ^ 'achcvApplicationId'
-> Val Text -- ^ 'achcvConfigurationProfileId'
-> Val Text -- ^ 'achcvContent'
-> Val Text -- ^ 'achcvContentType'
-> AppConfigHostedConfigurationVersion
appConfigHostedConfigurationVersion applicationIdarg configurationProfileIdarg contentarg contentTypearg =
AppConfigHostedConfigurationVersion
{ _appConfigHostedConfigurationVersionApplicationId = applicationIdarg
, _appConfigHostedConfigurationVersionConfigurationProfileId = configurationProfileIdarg
, _appConfigHostedConfigurationVersionContent = contentarg
, _appConfigHostedConfigurationVersionContentType = contentTypearg
, _appConfigHostedConfigurationVersionDescription = Nothing
, _appConfigHostedConfigurationVersionLatestVersionNumber = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-applicationid
achcvApplicationId :: Lens' AppConfigHostedConfigurationVersion (Val Text)
achcvApplicationId = lens _appConfigHostedConfigurationVersionApplicationId (\s a -> s { _appConfigHostedConfigurationVersionApplicationId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-configurationprofileid
achcvConfigurationProfileId :: Lens' AppConfigHostedConfigurationVersion (Val Text)
achcvConfigurationProfileId = lens _appConfigHostedConfigurationVersionConfigurationProfileId (\s a -> s { _appConfigHostedConfigurationVersionConfigurationProfileId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-content
achcvContent :: Lens' AppConfigHostedConfigurationVersion (Val Text)
achcvContent = lens _appConfigHostedConfigurationVersionContent (\s a -> s { _appConfigHostedConfigurationVersionContent = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-contenttype
achcvContentType :: Lens' AppConfigHostedConfigurationVersion (Val Text)
achcvContentType = lens _appConfigHostedConfigurationVersionContentType (\s a -> s { _appConfigHostedConfigurationVersionContentType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-description
achcvDescription :: Lens' AppConfigHostedConfigurationVersion (Maybe (Val Text))
achcvDescription = lens _appConfigHostedConfigurationVersionDescription (\s a -> s { _appConfigHostedConfigurationVersionDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-latestversionnumber
achcvLatestVersionNumber :: Lens' AppConfigHostedConfigurationVersion (Maybe (Val Double))
achcvLatestVersionNumber = lens _appConfigHostedConfigurationVersionLatestVersionNumber (\s a -> s { _appConfigHostedConfigurationVersionLatestVersionNumber = a })