stratosphere-apigateway-1.0.0: gen/Stratosphere/ApiGateway/Deployment/StageDescriptionProperty.hs
module Stratosphere.ApiGateway.Deployment.StageDescriptionProperty (
module Exports, StageDescriptionProperty(..),
mkStageDescriptionProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ApiGateway.Deployment.AccessLogSettingProperty as Exports
import {-# SOURCE #-} Stratosphere.ApiGateway.Deployment.CanarySettingProperty as Exports
import {-# SOURCE #-} Stratosphere.ApiGateway.Deployment.MethodSettingProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data StageDescriptionProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html>
StageDescriptionProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-accesslogsetting>
accessLogSetting :: (Prelude.Maybe AccessLogSettingProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled>
cacheClusterEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclustersize>
cacheClusterSize :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachedataencrypted>
cacheDataEncrypted :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachettlinseconds>
cacheTtlInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled>
cachingEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-canarysetting>
canarySetting :: (Prelude.Maybe CanarySettingProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-clientcertificateid>
clientCertificateId :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-datatraceenabled>
dataTraceEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-description>
description :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-documentationversion>
documentationVersion :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-logginglevel>
loggingLevel :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-methodsettings>
methodSettings :: (Prelude.Maybe [MethodSettingProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled>
metricsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tags>
tags :: (Prelude.Maybe [Tag]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingburstlimit>
throttlingBurstLimit :: (Prelude.Maybe (Value Prelude.Integer)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingratelimit>
throttlingRateLimit :: (Prelude.Maybe (Value Prelude.Double)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tracingenabled>
tracingEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-variables>
variables :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
deriving stock (Prelude.Eq, Prelude.Show)
mkStageDescriptionProperty :: StageDescriptionProperty
mkStageDescriptionProperty
= StageDescriptionProperty
{haddock_workaround_ = (), accessLogSetting = Prelude.Nothing,
cacheClusterEnabled = Prelude.Nothing,
cacheClusterSize = Prelude.Nothing,
cacheDataEncrypted = Prelude.Nothing,
cacheTtlInSeconds = Prelude.Nothing,
cachingEnabled = Prelude.Nothing, canarySetting = Prelude.Nothing,
clientCertificateId = Prelude.Nothing,
dataTraceEnabled = Prelude.Nothing, description = Prelude.Nothing,
documentationVersion = Prelude.Nothing,
loggingLevel = Prelude.Nothing, methodSettings = Prelude.Nothing,
metricsEnabled = Prelude.Nothing, tags = Prelude.Nothing,
throttlingBurstLimit = Prelude.Nothing,
throttlingRateLimit = Prelude.Nothing,
tracingEnabled = Prelude.Nothing, variables = Prelude.Nothing}
instance ToResourceProperties StageDescriptionProperty where
toResourceProperties StageDescriptionProperty {..}
= ResourceProperties
{awsType = "AWS::ApiGateway::Deployment.StageDescription",
supportsTags = Prelude.True,
properties = Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AccessLogSetting" Prelude.<$> accessLogSetting,
(JSON..=) "CacheClusterEnabled" Prelude.<$> cacheClusterEnabled,
(JSON..=) "CacheClusterSize" Prelude.<$> cacheClusterSize,
(JSON..=) "CacheDataEncrypted" Prelude.<$> cacheDataEncrypted,
(JSON..=) "CacheTtlInSeconds" Prelude.<$> cacheTtlInSeconds,
(JSON..=) "CachingEnabled" Prelude.<$> cachingEnabled,
(JSON..=) "CanarySetting" Prelude.<$> canarySetting,
(JSON..=) "ClientCertificateId" Prelude.<$> clientCertificateId,
(JSON..=) "DataTraceEnabled" Prelude.<$> dataTraceEnabled,
(JSON..=) "Description" Prelude.<$> description,
(JSON..=) "DocumentationVersion" Prelude.<$> documentationVersion,
(JSON..=) "LoggingLevel" Prelude.<$> loggingLevel,
(JSON..=) "MethodSettings" Prelude.<$> methodSettings,
(JSON..=) "MetricsEnabled" Prelude.<$> metricsEnabled,
(JSON..=) "Tags" Prelude.<$> tags,
(JSON..=) "ThrottlingBurstLimit" Prelude.<$> throttlingBurstLimit,
(JSON..=) "ThrottlingRateLimit" Prelude.<$> throttlingRateLimit,
(JSON..=) "TracingEnabled" Prelude.<$> tracingEnabled,
(JSON..=) "Variables" Prelude.<$> variables])}
instance JSON.ToJSON StageDescriptionProperty where
toJSON StageDescriptionProperty {..}
= JSON.object
(Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AccessLogSetting" Prelude.<$> accessLogSetting,
(JSON..=) "CacheClusterEnabled" Prelude.<$> cacheClusterEnabled,
(JSON..=) "CacheClusterSize" Prelude.<$> cacheClusterSize,
(JSON..=) "CacheDataEncrypted" Prelude.<$> cacheDataEncrypted,
(JSON..=) "CacheTtlInSeconds" Prelude.<$> cacheTtlInSeconds,
(JSON..=) "CachingEnabled" Prelude.<$> cachingEnabled,
(JSON..=) "CanarySetting" Prelude.<$> canarySetting,
(JSON..=) "ClientCertificateId" Prelude.<$> clientCertificateId,
(JSON..=) "DataTraceEnabled" Prelude.<$> dataTraceEnabled,
(JSON..=) "Description" Prelude.<$> description,
(JSON..=) "DocumentationVersion" Prelude.<$> documentationVersion,
(JSON..=) "LoggingLevel" Prelude.<$> loggingLevel,
(JSON..=) "MethodSettings" Prelude.<$> methodSettings,
(JSON..=) "MetricsEnabled" Prelude.<$> metricsEnabled,
(JSON..=) "Tags" Prelude.<$> tags,
(JSON..=) "ThrottlingBurstLimit" Prelude.<$> throttlingBurstLimit,
(JSON..=) "ThrottlingRateLimit" Prelude.<$> throttlingRateLimit,
(JSON..=) "TracingEnabled" Prelude.<$> tracingEnabled,
(JSON..=) "Variables" Prelude.<$> variables]))
instance Property "AccessLogSetting" StageDescriptionProperty where
type PropertyType "AccessLogSetting" StageDescriptionProperty = AccessLogSettingProperty
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{accessLogSetting = Prelude.pure newValue, ..}
instance Property "CacheClusterEnabled" StageDescriptionProperty where
type PropertyType "CacheClusterEnabled" StageDescriptionProperty = Value Prelude.Bool
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{cacheClusterEnabled = Prelude.pure newValue, ..}
instance Property "CacheClusterSize" StageDescriptionProperty where
type PropertyType "CacheClusterSize" StageDescriptionProperty = Value Prelude.Text
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{cacheClusterSize = Prelude.pure newValue, ..}
instance Property "CacheDataEncrypted" StageDescriptionProperty where
type PropertyType "CacheDataEncrypted" StageDescriptionProperty = Value Prelude.Bool
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{cacheDataEncrypted = Prelude.pure newValue, ..}
instance Property "CacheTtlInSeconds" StageDescriptionProperty where
type PropertyType "CacheTtlInSeconds" StageDescriptionProperty = Value Prelude.Integer
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{cacheTtlInSeconds = Prelude.pure newValue, ..}
instance Property "CachingEnabled" StageDescriptionProperty where
type PropertyType "CachingEnabled" StageDescriptionProperty = Value Prelude.Bool
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{cachingEnabled = Prelude.pure newValue, ..}
instance Property "CanarySetting" StageDescriptionProperty where
type PropertyType "CanarySetting" StageDescriptionProperty = CanarySettingProperty
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{canarySetting = Prelude.pure newValue, ..}
instance Property "ClientCertificateId" StageDescriptionProperty where
type PropertyType "ClientCertificateId" StageDescriptionProperty = Value Prelude.Text
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{clientCertificateId = Prelude.pure newValue, ..}
instance Property "DataTraceEnabled" StageDescriptionProperty where
type PropertyType "DataTraceEnabled" StageDescriptionProperty = Value Prelude.Bool
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{dataTraceEnabled = Prelude.pure newValue, ..}
instance Property "Description" StageDescriptionProperty where
type PropertyType "Description" StageDescriptionProperty = Value Prelude.Text
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{description = Prelude.pure newValue, ..}
instance Property "DocumentationVersion" StageDescriptionProperty where
type PropertyType "DocumentationVersion" StageDescriptionProperty = Value Prelude.Text
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{documentationVersion = Prelude.pure newValue, ..}
instance Property "LoggingLevel" StageDescriptionProperty where
type PropertyType "LoggingLevel" StageDescriptionProperty = Value Prelude.Text
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{loggingLevel = Prelude.pure newValue, ..}
instance Property "MethodSettings" StageDescriptionProperty where
type PropertyType "MethodSettings" StageDescriptionProperty = [MethodSettingProperty]
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{methodSettings = Prelude.pure newValue, ..}
instance Property "MetricsEnabled" StageDescriptionProperty where
type PropertyType "MetricsEnabled" StageDescriptionProperty = Value Prelude.Bool
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{metricsEnabled = Prelude.pure newValue, ..}
instance Property "Tags" StageDescriptionProperty where
type PropertyType "Tags" StageDescriptionProperty = [Tag]
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty {tags = Prelude.pure newValue, ..}
instance Property "ThrottlingBurstLimit" StageDescriptionProperty where
type PropertyType "ThrottlingBurstLimit" StageDescriptionProperty = Value Prelude.Integer
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{throttlingBurstLimit = Prelude.pure newValue, ..}
instance Property "ThrottlingRateLimit" StageDescriptionProperty where
type PropertyType "ThrottlingRateLimit" StageDescriptionProperty = Value Prelude.Double
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{throttlingRateLimit = Prelude.pure newValue, ..}
instance Property "TracingEnabled" StageDescriptionProperty where
type PropertyType "TracingEnabled" StageDescriptionProperty = Value Prelude.Bool
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty
{tracingEnabled = Prelude.pure newValue, ..}
instance Property "Variables" StageDescriptionProperty where
type PropertyType "Variables" StageDescriptionProperty = Prelude.Map Prelude.Text (Value Prelude.Text)
set newValue StageDescriptionProperty {..}
= StageDescriptionProperty {variables = Prelude.pure newValue, ..}