module Stratosphere.ApiGateway.Stage.MethodSettingProperty ( MethodSettingProperty(..), mkMethodSettingProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data MethodSettingProperty = -- | See: MethodSettingProperty {haddock_workaround_ :: (), -- | See: cacheDataEncrypted :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: cacheTtlInSeconds :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: cachingEnabled :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: dataTraceEnabled :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: httpMethod :: (Prelude.Maybe (Value Prelude.Text)), -- | See: loggingLevel :: (Prelude.Maybe (Value Prelude.Text)), -- | See: metricsEnabled :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: resourcePath :: (Prelude.Maybe (Value Prelude.Text)), -- | See: throttlingBurstLimit :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: throttlingRateLimit :: (Prelude.Maybe (Value Prelude.Double))} deriving stock (Prelude.Eq, Prelude.Show) mkMethodSettingProperty :: MethodSettingProperty mkMethodSettingProperty = MethodSettingProperty {haddock_workaround_ = (), cacheDataEncrypted = Prelude.Nothing, cacheTtlInSeconds = Prelude.Nothing, cachingEnabled = Prelude.Nothing, dataTraceEnabled = Prelude.Nothing, httpMethod = Prelude.Nothing, loggingLevel = Prelude.Nothing, metricsEnabled = Prelude.Nothing, resourcePath = Prelude.Nothing, throttlingBurstLimit = Prelude.Nothing, throttlingRateLimit = Prelude.Nothing} instance ToResourceProperties MethodSettingProperty where toResourceProperties MethodSettingProperty {..} = ResourceProperties {awsType = "AWS::ApiGateway::Stage.MethodSetting", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "CacheDataEncrypted" Prelude.<$> cacheDataEncrypted, (JSON..=) "CacheTtlInSeconds" Prelude.<$> cacheTtlInSeconds, (JSON..=) "CachingEnabled" Prelude.<$> cachingEnabled, (JSON..=) "DataTraceEnabled" Prelude.<$> dataTraceEnabled, (JSON..=) "HttpMethod" Prelude.<$> httpMethod, (JSON..=) "LoggingLevel" Prelude.<$> loggingLevel, (JSON..=) "MetricsEnabled" Prelude.<$> metricsEnabled, (JSON..=) "ResourcePath" Prelude.<$> resourcePath, (JSON..=) "ThrottlingBurstLimit" Prelude.<$> throttlingBurstLimit, (JSON..=) "ThrottlingRateLimit" Prelude.<$> throttlingRateLimit])} instance JSON.ToJSON MethodSettingProperty where toJSON MethodSettingProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "CacheDataEncrypted" Prelude.<$> cacheDataEncrypted, (JSON..=) "CacheTtlInSeconds" Prelude.<$> cacheTtlInSeconds, (JSON..=) "CachingEnabled" Prelude.<$> cachingEnabled, (JSON..=) "DataTraceEnabled" Prelude.<$> dataTraceEnabled, (JSON..=) "HttpMethod" Prelude.<$> httpMethod, (JSON..=) "LoggingLevel" Prelude.<$> loggingLevel, (JSON..=) "MetricsEnabled" Prelude.<$> metricsEnabled, (JSON..=) "ResourcePath" Prelude.<$> resourcePath, (JSON..=) "ThrottlingBurstLimit" Prelude.<$> throttlingBurstLimit, (JSON..=) "ThrottlingRateLimit" Prelude.<$> throttlingRateLimit])) instance Property "CacheDataEncrypted" MethodSettingProperty where type PropertyType "CacheDataEncrypted" MethodSettingProperty = Value Prelude.Bool set newValue MethodSettingProperty {..} = MethodSettingProperty {cacheDataEncrypted = Prelude.pure newValue, ..} instance Property "CacheTtlInSeconds" MethodSettingProperty where type PropertyType "CacheTtlInSeconds" MethodSettingProperty = Value Prelude.Integer set newValue MethodSettingProperty {..} = MethodSettingProperty {cacheTtlInSeconds = Prelude.pure newValue, ..} instance Property "CachingEnabled" MethodSettingProperty where type PropertyType "CachingEnabled" MethodSettingProperty = Value Prelude.Bool set newValue MethodSettingProperty {..} = MethodSettingProperty {cachingEnabled = Prelude.pure newValue, ..} instance Property "DataTraceEnabled" MethodSettingProperty where type PropertyType "DataTraceEnabled" MethodSettingProperty = Value Prelude.Bool set newValue MethodSettingProperty {..} = MethodSettingProperty {dataTraceEnabled = Prelude.pure newValue, ..} instance Property "HttpMethod" MethodSettingProperty where type PropertyType "HttpMethod" MethodSettingProperty = Value Prelude.Text set newValue MethodSettingProperty {..} = MethodSettingProperty {httpMethod = Prelude.pure newValue, ..} instance Property "LoggingLevel" MethodSettingProperty where type PropertyType "LoggingLevel" MethodSettingProperty = Value Prelude.Text set newValue MethodSettingProperty {..} = MethodSettingProperty {loggingLevel = Prelude.pure newValue, ..} instance Property "MetricsEnabled" MethodSettingProperty where type PropertyType "MetricsEnabled" MethodSettingProperty = Value Prelude.Bool set newValue MethodSettingProperty {..} = MethodSettingProperty {metricsEnabled = Prelude.pure newValue, ..} instance Property "ResourcePath" MethodSettingProperty where type PropertyType "ResourcePath" MethodSettingProperty = Value Prelude.Text set newValue MethodSettingProperty {..} = MethodSettingProperty {resourcePath = Prelude.pure newValue, ..} instance Property "ThrottlingBurstLimit" MethodSettingProperty where type PropertyType "ThrottlingBurstLimit" MethodSettingProperty = Value Prelude.Integer set newValue MethodSettingProperty {..} = MethodSettingProperty {throttlingBurstLimit = Prelude.pure newValue, ..} instance Property "ThrottlingRateLimit" MethodSettingProperty where type PropertyType "ThrottlingRateLimit" MethodSettingProperty = Value Prelude.Double set newValue MethodSettingProperty {..} = MethodSettingProperty {throttlingRateLimit = Prelude.pure newValue, ..}