module Stratosphere.ResourceProperties.APIGatewayDeploymentStageDescription where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
import Stratosphere.ResourceProperties.APIGatewayDeploymentStageDescriptionMethodSetting
data APIGatewayDeploymentStageDescription =
APIGatewayDeploymentStageDescription
{ _aPIGatewayDeploymentStageDescriptionCacheClusterEnabled :: Maybe (Val Bool')
, _aPIGatewayDeploymentStageDescriptionCacheClusterSize :: Maybe (Val Text)
, _aPIGatewayDeploymentStageDescriptionCacheDataEncrypted :: Maybe (Val Bool')
, _aPIGatewayDeploymentStageDescriptionCacheTtlInSeconds :: Maybe (Val Integer')
, _aPIGatewayDeploymentStageDescriptionCachingEnabled :: Maybe (Val Bool')
, _aPIGatewayDeploymentStageDescriptionClientCertificateId :: Maybe (Val Text)
, _aPIGatewayDeploymentStageDescriptionDataTraceEnabled :: Maybe (Val Bool')
, _aPIGatewayDeploymentStageDescriptionDescription :: Maybe (Val Text)
, _aPIGatewayDeploymentStageDescriptionLoggingLevel :: Maybe (Val Text)
, _aPIGatewayDeploymentStageDescriptionMethodSettings :: Maybe APIGatewayDeploymentStageDescriptionMethodSetting
, _aPIGatewayDeploymentStageDescriptionMetricsEnabled :: Maybe (Val Bool')
, _aPIGatewayDeploymentStageDescriptionStageName :: Maybe (Val Text)
, _aPIGatewayDeploymentStageDescriptionThrottlingBurstLimit :: Maybe (Val Integer')
, _aPIGatewayDeploymentStageDescriptionThrottlingRateLimit :: Maybe Double'
, _aPIGatewayDeploymentStageDescriptionVariables :: Maybe Object
} deriving (Show, Generic)
instance ToJSON APIGatewayDeploymentStageDescription where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
instance FromJSON APIGatewayDeploymentStageDescription where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
apiGatewayDeploymentStageDescription
:: APIGatewayDeploymentStageDescription
apiGatewayDeploymentStageDescription =
APIGatewayDeploymentStageDescription
{ _aPIGatewayDeploymentStageDescriptionCacheClusterEnabled = Nothing
, _aPIGatewayDeploymentStageDescriptionCacheClusterSize = Nothing
, _aPIGatewayDeploymentStageDescriptionCacheDataEncrypted = Nothing
, _aPIGatewayDeploymentStageDescriptionCacheTtlInSeconds = Nothing
, _aPIGatewayDeploymentStageDescriptionCachingEnabled = Nothing
, _aPIGatewayDeploymentStageDescriptionClientCertificateId = Nothing
, _aPIGatewayDeploymentStageDescriptionDataTraceEnabled = Nothing
, _aPIGatewayDeploymentStageDescriptionDescription = Nothing
, _aPIGatewayDeploymentStageDescriptionLoggingLevel = Nothing
, _aPIGatewayDeploymentStageDescriptionMethodSettings = Nothing
, _aPIGatewayDeploymentStageDescriptionMetricsEnabled = Nothing
, _aPIGatewayDeploymentStageDescriptionStageName = Nothing
, _aPIGatewayDeploymentStageDescriptionThrottlingBurstLimit = Nothing
, _aPIGatewayDeploymentStageDescriptionThrottlingRateLimit = Nothing
, _aPIGatewayDeploymentStageDescriptionVariables = Nothing
}
apigdsdCacheClusterEnabled :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Bool'))
apigdsdCacheClusterEnabled = lens _aPIGatewayDeploymentStageDescriptionCacheClusterEnabled (\s a -> s { _aPIGatewayDeploymentStageDescriptionCacheClusterEnabled = a })
apigdsdCacheClusterSize :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Text))
apigdsdCacheClusterSize = lens _aPIGatewayDeploymentStageDescriptionCacheClusterSize (\s a -> s { _aPIGatewayDeploymentStageDescriptionCacheClusterSize = a })
apigdsdCacheDataEncrypted :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Bool'))
apigdsdCacheDataEncrypted = lens _aPIGatewayDeploymentStageDescriptionCacheDataEncrypted (\s a -> s { _aPIGatewayDeploymentStageDescriptionCacheDataEncrypted = a })
apigdsdCacheTtlInSeconds :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Integer'))
apigdsdCacheTtlInSeconds = lens _aPIGatewayDeploymentStageDescriptionCacheTtlInSeconds (\s a -> s { _aPIGatewayDeploymentStageDescriptionCacheTtlInSeconds = a })
apigdsdCachingEnabled :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Bool'))
apigdsdCachingEnabled = lens _aPIGatewayDeploymentStageDescriptionCachingEnabled (\s a -> s { _aPIGatewayDeploymentStageDescriptionCachingEnabled = a })
apigdsdClientCertificateId :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Text))
apigdsdClientCertificateId = lens _aPIGatewayDeploymentStageDescriptionClientCertificateId (\s a -> s { _aPIGatewayDeploymentStageDescriptionClientCertificateId = a })
apigdsdDataTraceEnabled :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Bool'))
apigdsdDataTraceEnabled = lens _aPIGatewayDeploymentStageDescriptionDataTraceEnabled (\s a -> s { _aPIGatewayDeploymentStageDescriptionDataTraceEnabled = a })
apigdsdDescription :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Text))
apigdsdDescription = lens _aPIGatewayDeploymentStageDescriptionDescription (\s a -> s { _aPIGatewayDeploymentStageDescriptionDescription = a })
apigdsdLoggingLevel :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Text))
apigdsdLoggingLevel = lens _aPIGatewayDeploymentStageDescriptionLoggingLevel (\s a -> s { _aPIGatewayDeploymentStageDescriptionLoggingLevel = a })
apigdsdMethodSettings :: Lens' APIGatewayDeploymentStageDescription (Maybe APIGatewayDeploymentStageDescriptionMethodSetting)
apigdsdMethodSettings = lens _aPIGatewayDeploymentStageDescriptionMethodSettings (\s a -> s { _aPIGatewayDeploymentStageDescriptionMethodSettings = a })
apigdsdMetricsEnabled :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Bool'))
apigdsdMetricsEnabled = lens _aPIGatewayDeploymentStageDescriptionMetricsEnabled (\s a -> s { _aPIGatewayDeploymentStageDescriptionMetricsEnabled = a })
apigdsdStageName :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Text))
apigdsdStageName = lens _aPIGatewayDeploymentStageDescriptionStageName (\s a -> s { _aPIGatewayDeploymentStageDescriptionStageName = a })
apigdsdThrottlingBurstLimit :: Lens' APIGatewayDeploymentStageDescription (Maybe (Val Integer'))
apigdsdThrottlingBurstLimit = lens _aPIGatewayDeploymentStageDescriptionThrottlingBurstLimit (\s a -> s { _aPIGatewayDeploymentStageDescriptionThrottlingBurstLimit = a })
apigdsdThrottlingRateLimit :: Lens' APIGatewayDeploymentStageDescription (Maybe Double')
apigdsdThrottlingRateLimit = lens _aPIGatewayDeploymentStageDescriptionThrottlingRateLimit (\s a -> s { _aPIGatewayDeploymentStageDescriptionThrottlingRateLimit = a })
apigdsdVariables :: Lens' APIGatewayDeploymentStageDescription (Maybe Object)
apigdsdVariables = lens _aPIGatewayDeploymentStageDescriptionVariables (\s a -> s { _aPIGatewayDeploymentStageDescriptionVariables = a })