packages feed

stratosphere-apigateway (empty) → 1.0.0

raw patch · 66 files changed

+3695/−0 lines, 66 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/ApiGateway/Account.hs view
@@ -0,0 +1,36 @@+module Stratosphere.ApiGateway.Account (+        Account(..), mkAccount+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Account+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html>+    Account {haddock_workaround_ :: (),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#cfn-apigateway-account-cloudwatchrolearn>+             cloudWatchRoleArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccount :: Account+mkAccount+  = Account+      {haddock_workaround_ = (), cloudWatchRoleArn = Prelude.Nothing}+instance ToResourceProperties Account where+  toResourceProperties Account {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Account",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CloudWatchRoleArn" Prelude.<$> cloudWatchRoleArn])}+instance JSON.ToJSON Account where+  toJSON Account {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CloudWatchRoleArn" Prelude.<$> cloudWatchRoleArn]))+instance Property "CloudWatchRoleArn" Account where+  type PropertyType "CloudWatchRoleArn" Account = Value Prelude.Text+  set newValue Account {..}+    = Account {cloudWatchRoleArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/ApiKey.hs view
@@ -0,0 +1,97 @@+module Stratosphere.ApiGateway.ApiKey (+        module Exports, ApiKey(..), mkApiKey+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.ApiKey.StageKeyProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ApiKey+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html>+    ApiKey {haddock_workaround_ :: (),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-customerid>+            customerId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-description>+            description :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-enabled>+            enabled :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-generatedistinctid>+            generateDistinctId :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-name>+            name :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-stagekeys>+            stageKeys :: (Prelude.Maybe [StageKeyProperty]),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags>+            tags :: (Prelude.Maybe [Tag]),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value>+            value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApiKey :: ApiKey+mkApiKey+  = ApiKey+      {haddock_workaround_ = (), customerId = Prelude.Nothing,+       description = Prelude.Nothing, enabled = Prelude.Nothing,+       generateDistinctId = Prelude.Nothing, name = Prelude.Nothing,+       stageKeys = Prelude.Nothing, tags = Prelude.Nothing,+       value = Prelude.Nothing}+instance ToResourceProperties ApiKey where+  toResourceProperties ApiKey {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::ApiKey", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CustomerId" Prelude.<$> customerId,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "Enabled" Prelude.<$> enabled,+                            (JSON..=) "GenerateDistinctId" Prelude.<$> generateDistinctId,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "StageKeys" Prelude.<$> stageKeys,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON ApiKey where+  toJSON ApiKey {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CustomerId" Prelude.<$> customerId,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "Enabled" Prelude.<$> enabled,+               (JSON..=) "GenerateDistinctId" Prelude.<$> generateDistinctId,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "StageKeys" Prelude.<$> stageKeys,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "Value" Prelude.<$> value]))+instance Property "CustomerId" ApiKey where+  type PropertyType "CustomerId" ApiKey = Value Prelude.Text+  set newValue ApiKey {..}+    = ApiKey {customerId = Prelude.pure newValue, ..}+instance Property "Description" ApiKey where+  type PropertyType "Description" ApiKey = Value Prelude.Text+  set newValue ApiKey {..}+    = ApiKey {description = Prelude.pure newValue, ..}+instance Property "Enabled" ApiKey where+  type PropertyType "Enabled" ApiKey = Value Prelude.Bool+  set newValue ApiKey {..}+    = ApiKey {enabled = Prelude.pure newValue, ..}+instance Property "GenerateDistinctId" ApiKey where+  type PropertyType "GenerateDistinctId" ApiKey = Value Prelude.Bool+  set newValue ApiKey {..}+    = ApiKey {generateDistinctId = Prelude.pure newValue, ..}+instance Property "Name" ApiKey where+  type PropertyType "Name" ApiKey = Value Prelude.Text+  set newValue ApiKey {..}+    = ApiKey {name = Prelude.pure newValue, ..}+instance Property "StageKeys" ApiKey where+  type PropertyType "StageKeys" ApiKey = [StageKeyProperty]+  set newValue ApiKey {..}+    = ApiKey {stageKeys = Prelude.pure newValue, ..}+instance Property "Tags" ApiKey where+  type PropertyType "Tags" ApiKey = [Tag]+  set newValue ApiKey {..}+    = ApiKey {tags = Prelude.pure newValue, ..}+instance Property "Value" ApiKey where+  type PropertyType "Value" ApiKey = Value Prelude.Text+  set newValue ApiKey {..}+    = ApiKey {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/ApiKey/StageKeyProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.ApiGateway.ApiKey.StageKeyProperty (+        StageKeyProperty(..), mkStageKeyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StageKeyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html>+    StageKeyProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-restapiid>+                      restApiId :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-stagename>+                      stageName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStageKeyProperty :: StageKeyProperty+mkStageKeyProperty+  = StageKeyProperty+      {haddock_workaround_ = (), restApiId = Prelude.Nothing,+       stageName = Prelude.Nothing}+instance ToResourceProperties StageKeyProperty where+  toResourceProperties StageKeyProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::ApiKey.StageKey",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "RestApiId" Prelude.<$> restApiId,+                            (JSON..=) "StageName" Prelude.<$> stageName])}+instance JSON.ToJSON StageKeyProperty where+  toJSON StageKeyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "RestApiId" Prelude.<$> restApiId,+               (JSON..=) "StageName" Prelude.<$> stageName]))+instance Property "RestApiId" StageKeyProperty where+  type PropertyType "RestApiId" StageKeyProperty = Value Prelude.Text+  set newValue StageKeyProperty {..}+    = StageKeyProperty {restApiId = Prelude.pure newValue, ..}+instance Property "StageName" StageKeyProperty where+  type PropertyType "StageName" StageKeyProperty = Value Prelude.Text+  set newValue StageKeyProperty {..}+    = StageKeyProperty {stageName = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/ApiKey/StageKeyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.ApiKey.StageKeyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StageKeyProperty :: Prelude.Type+instance ToResourceProperties StageKeyProperty+instance Prelude.Eq StageKeyProperty+instance Prelude.Show StageKeyProperty+instance JSON.ToJSON StageKeyProperty
+ gen/Stratosphere/ApiGateway/Authorizer.hs view
@@ -0,0 +1,122 @@+module Stratosphere.ApiGateway.Authorizer (+        Authorizer(..), mkAuthorizer+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Authorizer+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html>+    Authorizer {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authtype>+                authType :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizercredentials>+                authorizerCredentials :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizerresultttlinseconds>+                authorizerResultTtlInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizeruri>+                authorizerUri :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identitysource>+                identitySource :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identityvalidationexpression>+                identityValidationExpression :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-name>+                name :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-providerarns>+                providerARNs :: (Prelude.Maybe (ValueList Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-restapiid>+                restApiId :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type>+                type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAuthorizer ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> Authorizer+mkAuthorizer name restApiId type'+  = Authorizer+      {haddock_workaround_ = (), name = name, restApiId = restApiId,+       type' = type', authType = Prelude.Nothing,+       authorizerCredentials = Prelude.Nothing,+       authorizerResultTtlInSeconds = Prelude.Nothing,+       authorizerUri = Prelude.Nothing, identitySource = Prelude.Nothing,+       identityValidationExpression = Prelude.Nothing,+       providerARNs = Prelude.Nothing}+instance ToResourceProperties Authorizer where+  toResourceProperties Authorizer {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Authorizer",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name, "RestApiId" JSON..= restApiId,+                            "Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "AuthType" Prelude.<$> authType,+                               (JSON..=) "AuthorizerCredentials"+                                 Prelude.<$> authorizerCredentials,+                               (JSON..=) "AuthorizerResultTtlInSeconds"+                                 Prelude.<$> authorizerResultTtlInSeconds,+                               (JSON..=) "AuthorizerUri" Prelude.<$> authorizerUri,+                               (JSON..=) "IdentitySource" Prelude.<$> identitySource,+                               (JSON..=) "IdentityValidationExpression"+                                 Prelude.<$> identityValidationExpression,+                               (JSON..=) "ProviderARNs" Prelude.<$> providerARNs]))}+instance JSON.ToJSON Authorizer where+  toJSON Authorizer {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name, "RestApiId" JSON..= restApiId,+               "Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "AuthType" Prelude.<$> authType,+                  (JSON..=) "AuthorizerCredentials"+                    Prelude.<$> authorizerCredentials,+                  (JSON..=) "AuthorizerResultTtlInSeconds"+                    Prelude.<$> authorizerResultTtlInSeconds,+                  (JSON..=) "AuthorizerUri" Prelude.<$> authorizerUri,+                  (JSON..=) "IdentitySource" Prelude.<$> identitySource,+                  (JSON..=) "IdentityValidationExpression"+                    Prelude.<$> identityValidationExpression,+                  (JSON..=) "ProviderARNs" Prelude.<$> providerARNs])))+instance Property "AuthType" Authorizer where+  type PropertyType "AuthType" Authorizer = Value Prelude.Text+  set newValue Authorizer {..}+    = Authorizer {authType = Prelude.pure newValue, ..}+instance Property "AuthorizerCredentials" Authorizer where+  type PropertyType "AuthorizerCredentials" Authorizer = Value Prelude.Text+  set newValue Authorizer {..}+    = Authorizer {authorizerCredentials = Prelude.pure newValue, ..}+instance Property "AuthorizerResultTtlInSeconds" Authorizer where+  type PropertyType "AuthorizerResultTtlInSeconds" Authorizer = Value Prelude.Integer+  set newValue Authorizer {..}+    = Authorizer+        {authorizerResultTtlInSeconds = Prelude.pure newValue, ..}+instance Property "AuthorizerUri" Authorizer where+  type PropertyType "AuthorizerUri" Authorizer = Value Prelude.Text+  set newValue Authorizer {..}+    = Authorizer {authorizerUri = Prelude.pure newValue, ..}+instance Property "IdentitySource" Authorizer where+  type PropertyType "IdentitySource" Authorizer = Value Prelude.Text+  set newValue Authorizer {..}+    = Authorizer {identitySource = Prelude.pure newValue, ..}+instance Property "IdentityValidationExpression" Authorizer where+  type PropertyType "IdentityValidationExpression" Authorizer = Value Prelude.Text+  set newValue Authorizer {..}+    = Authorizer+        {identityValidationExpression = Prelude.pure newValue, ..}+instance Property "Name" Authorizer where+  type PropertyType "Name" Authorizer = Value Prelude.Text+  set newValue Authorizer {..} = Authorizer {name = newValue, ..}+instance Property "ProviderARNs" Authorizer where+  type PropertyType "ProviderARNs" Authorizer = ValueList Prelude.Text+  set newValue Authorizer {..}+    = Authorizer {providerARNs = Prelude.pure newValue, ..}+instance Property "RestApiId" Authorizer where+  type PropertyType "RestApiId" Authorizer = Value Prelude.Text+  set newValue Authorizer {..}+    = Authorizer {restApiId = newValue, ..}+instance Property "Type" Authorizer where+  type PropertyType "Type" Authorizer = Value Prelude.Text+  set newValue Authorizer {..} = Authorizer {type' = newValue, ..}
+ gen/Stratosphere/ApiGateway/BasePathMapping.hs view
@@ -0,0 +1,72 @@+module Stratosphere.ApiGateway.BasePathMapping (+        BasePathMapping(..), mkBasePathMapping+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BasePathMapping+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html>+    BasePathMapping {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath>+                     basePath :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-domainname>+                     domainName :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-id>+                     id :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-restapiid>+                     restApiId :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-stage>+                     stage :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBasePathMapping :: Value Prelude.Text -> BasePathMapping+mkBasePathMapping domainName+  = BasePathMapping+      {haddock_workaround_ = (), domainName = domainName,+       basePath = Prelude.Nothing, id = Prelude.Nothing,+       restApiId = Prelude.Nothing, stage = Prelude.Nothing}+instance ToResourceProperties BasePathMapping where+  toResourceProperties BasePathMapping {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::BasePathMapping",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DomainName" JSON..= domainName]+                           (Prelude.catMaybes+                              [(JSON..=) "BasePath" Prelude.<$> basePath,+                               (JSON..=) "Id" Prelude.<$> id,+                               (JSON..=) "RestApiId" Prelude.<$> restApiId,+                               (JSON..=) "Stage" Prelude.<$> stage]))}+instance JSON.ToJSON BasePathMapping where+  toJSON BasePathMapping {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DomainName" JSON..= domainName]+              (Prelude.catMaybes+                 [(JSON..=) "BasePath" Prelude.<$> basePath,+                  (JSON..=) "Id" Prelude.<$> id,+                  (JSON..=) "RestApiId" Prelude.<$> restApiId,+                  (JSON..=) "Stage" Prelude.<$> stage])))+instance Property "BasePath" BasePathMapping where+  type PropertyType "BasePath" BasePathMapping = Value Prelude.Text+  set newValue BasePathMapping {..}+    = BasePathMapping {basePath = Prelude.pure newValue, ..}+instance Property "DomainName" BasePathMapping where+  type PropertyType "DomainName" BasePathMapping = Value Prelude.Text+  set newValue BasePathMapping {..}+    = BasePathMapping {domainName = newValue, ..}+instance Property "Id" BasePathMapping where+  type PropertyType "Id" BasePathMapping = Value Prelude.Text+  set newValue BasePathMapping {..}+    = BasePathMapping {id = Prelude.pure newValue, ..}+instance Property "RestApiId" BasePathMapping where+  type PropertyType "RestApiId" BasePathMapping = Value Prelude.Text+  set newValue BasePathMapping {..}+    = BasePathMapping {restApiId = Prelude.pure newValue, ..}+instance Property "Stage" BasePathMapping where+  type PropertyType "Stage" BasePathMapping = Value Prelude.Text+  set newValue BasePathMapping {..}+    = BasePathMapping {stage = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/BasePathMappingV2.hs view
@@ -0,0 +1,65 @@+module Stratosphere.ApiGateway.BasePathMappingV2 (+        BasePathMappingV2(..), mkBasePathMappingV2+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BasePathMappingV2+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html>+    BasePathMappingV2 {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-basepath>+                       basePath :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-domainnamearn>+                       domainNameArn :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-restapiid>+                       restApiId :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-stage>+                       stage :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBasePathMappingV2 ::+  Value Prelude.Text -> Value Prelude.Text -> BasePathMappingV2+mkBasePathMappingV2 domainNameArn restApiId+  = BasePathMappingV2+      {haddock_workaround_ = (), domainNameArn = domainNameArn,+       restApiId = restApiId, basePath = Prelude.Nothing,+       stage = Prelude.Nothing}+instance ToResourceProperties BasePathMappingV2 where+  toResourceProperties BasePathMappingV2 {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::BasePathMappingV2",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DomainNameArn" JSON..= domainNameArn,+                            "RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "BasePath" Prelude.<$> basePath,+                               (JSON..=) "Stage" Prelude.<$> stage]))}+instance JSON.ToJSON BasePathMappingV2 where+  toJSON BasePathMappingV2 {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DomainNameArn" JSON..= domainNameArn,+               "RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "BasePath" Prelude.<$> basePath,+                  (JSON..=) "Stage" Prelude.<$> stage])))+instance Property "BasePath" BasePathMappingV2 where+  type PropertyType "BasePath" BasePathMappingV2 = Value Prelude.Text+  set newValue BasePathMappingV2 {..}+    = BasePathMappingV2 {basePath = Prelude.pure newValue, ..}+instance Property "DomainNameArn" BasePathMappingV2 where+  type PropertyType "DomainNameArn" BasePathMappingV2 = Value Prelude.Text+  set newValue BasePathMappingV2 {..}+    = BasePathMappingV2 {domainNameArn = newValue, ..}+instance Property "RestApiId" BasePathMappingV2 where+  type PropertyType "RestApiId" BasePathMappingV2 = Value Prelude.Text+  set newValue BasePathMappingV2 {..}+    = BasePathMappingV2 {restApiId = newValue, ..}+instance Property "Stage" BasePathMappingV2 where+  type PropertyType "Stage" BasePathMappingV2 = Value Prelude.Text+  set newValue BasePathMappingV2 {..}+    = BasePathMappingV2 {stage = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/ClientCertificate.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApiGateway.ClientCertificate (+        ClientCertificate(..), mkClientCertificate+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ClientCertificate+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html>+    ClientCertificate {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description>+                       description :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags>+                       tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientCertificate :: ClientCertificate+mkClientCertificate+  = ClientCertificate+      {haddock_workaround_ = (), description = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties ClientCertificate where+  toResourceProperties ClientCertificate {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::ClientCertificate",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON ClientCertificate where+  toJSON ClientCertificate {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "Description" ClientCertificate where+  type PropertyType "Description" ClientCertificate = Value Prelude.Text+  set newValue ClientCertificate {..}+    = ClientCertificate {description = Prelude.pure newValue, ..}+instance Property "Tags" ClientCertificate where+  type PropertyType "Tags" ClientCertificate = [Tag]+  set newValue ClientCertificate {..}+    = ClientCertificate {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Deployment.hs view
@@ -0,0 +1,77 @@+module Stratosphere.ApiGateway.Deployment (+        module Exports, Deployment(..), mkDeployment+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.Deployment.DeploymentCanarySettingsProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.Deployment.StageDescriptionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Deployment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html>+    Deployment {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings>+                deploymentCanarySettings :: (Prelude.Maybe DeploymentCanarySettingsProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description>+                description :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-restapiid>+                restApiId :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagedescription>+                stageDescription :: (Prelude.Maybe StageDescriptionProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagename>+                stageName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDeployment :: Value Prelude.Text -> Deployment+mkDeployment restApiId+  = Deployment+      {haddock_workaround_ = (), restApiId = restApiId,+       deploymentCanarySettings = Prelude.Nothing,+       description = Prelude.Nothing, stageDescription = Prelude.Nothing,+       stageName = Prelude.Nothing}+instance ToResourceProperties Deployment where+  toResourceProperties Deployment {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Deployment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "DeploymentCanarySettings"+                                 Prelude.<$> deploymentCanarySettings,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "StageDescription" Prelude.<$> stageDescription,+                               (JSON..=) "StageName" Prelude.<$> stageName]))}+instance JSON.ToJSON Deployment where+  toJSON Deployment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "DeploymentCanarySettings"+                    Prelude.<$> deploymentCanarySettings,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "StageDescription" Prelude.<$> stageDescription,+                  (JSON..=) "StageName" Prelude.<$> stageName])))+instance Property "DeploymentCanarySettings" Deployment where+  type PropertyType "DeploymentCanarySettings" Deployment = DeploymentCanarySettingsProperty+  set newValue Deployment {..}+    = Deployment {deploymentCanarySettings = Prelude.pure newValue, ..}+instance Property "Description" Deployment where+  type PropertyType "Description" Deployment = Value Prelude.Text+  set newValue Deployment {..}+    = Deployment {description = Prelude.pure newValue, ..}+instance Property "RestApiId" Deployment where+  type PropertyType "RestApiId" Deployment = Value Prelude.Text+  set newValue Deployment {..}+    = Deployment {restApiId = newValue, ..}+instance Property "StageDescription" Deployment where+  type PropertyType "StageDescription" Deployment = StageDescriptionProperty+  set newValue Deployment {..}+    = Deployment {stageDescription = Prelude.pure newValue, ..}+instance Property "StageName" Deployment where+  type PropertyType "StageName" Deployment = Value Prelude.Text+  set newValue Deployment {..}+    = Deployment {stageName = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Deployment/AccessLogSettingProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApiGateway.Deployment.AccessLogSettingProperty (+        AccessLogSettingProperty(..), mkAccessLogSettingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessLogSettingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html>+    AccessLogSettingProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-destinationarn>+                              destinationArn :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-format>+                              format :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessLogSettingProperty :: AccessLogSettingProperty+mkAccessLogSettingProperty+  = AccessLogSettingProperty+      {haddock_workaround_ = (), destinationArn = Prelude.Nothing,+       format = Prelude.Nothing}+instance ToResourceProperties AccessLogSettingProperty where+  toResourceProperties AccessLogSettingProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Deployment.AccessLogSetting",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DestinationArn" Prelude.<$> destinationArn,+                            (JSON..=) "Format" Prelude.<$> format])}+instance JSON.ToJSON AccessLogSettingProperty where+  toJSON AccessLogSettingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DestinationArn" Prelude.<$> destinationArn,+               (JSON..=) "Format" Prelude.<$> format]))+instance Property "DestinationArn" AccessLogSettingProperty where+  type PropertyType "DestinationArn" AccessLogSettingProperty = Value Prelude.Text+  set newValue AccessLogSettingProperty {..}+    = AccessLogSettingProperty+        {destinationArn = Prelude.pure newValue, ..}+instance Property "Format" AccessLogSettingProperty where+  type PropertyType "Format" AccessLogSettingProperty = Value Prelude.Text+  set newValue AccessLogSettingProperty {..}+    = AccessLogSettingProperty {format = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Deployment/AccessLogSettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Deployment.AccessLogSettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessLogSettingProperty :: Prelude.Type+instance ToResourceProperties AccessLogSettingProperty+instance Prelude.Eq AccessLogSettingProperty+instance Prelude.Show AccessLogSettingProperty+instance JSON.ToJSON AccessLogSettingProperty
+ gen/Stratosphere/ApiGateway/Deployment/CanarySettingProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.ApiGateway.Deployment.CanarySettingProperty (+        CanarySettingProperty(..), mkCanarySettingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CanarySettingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html>+    CanarySettingProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-percenttraffic>+                           percentTraffic :: (Prelude.Maybe (Value Prelude.Double)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-stagevariableoverrides>+                           stageVariableOverrides :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-usestagecache>+                           useStageCache :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCanarySettingProperty :: CanarySettingProperty+mkCanarySettingProperty+  = CanarySettingProperty+      {haddock_workaround_ = (), percentTraffic = Prelude.Nothing,+       stageVariableOverrides = Prelude.Nothing,+       useStageCache = Prelude.Nothing}+instance ToResourceProperties CanarySettingProperty where+  toResourceProperties CanarySettingProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Deployment.CanarySetting",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PercentTraffic" Prelude.<$> percentTraffic,+                            (JSON..=) "StageVariableOverrides"+                              Prelude.<$> stageVariableOverrides,+                            (JSON..=) "UseStageCache" Prelude.<$> useStageCache])}+instance JSON.ToJSON CanarySettingProperty where+  toJSON CanarySettingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PercentTraffic" Prelude.<$> percentTraffic,+               (JSON..=) "StageVariableOverrides"+                 Prelude.<$> stageVariableOverrides,+               (JSON..=) "UseStageCache" Prelude.<$> useStageCache]))+instance Property "PercentTraffic" CanarySettingProperty where+  type PropertyType "PercentTraffic" CanarySettingProperty = Value Prelude.Double+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty+        {percentTraffic = Prelude.pure newValue, ..}+instance Property "StageVariableOverrides" CanarySettingProperty where+  type PropertyType "StageVariableOverrides" CanarySettingProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty+        {stageVariableOverrides = Prelude.pure newValue, ..}+instance Property "UseStageCache" CanarySettingProperty where+  type PropertyType "UseStageCache" CanarySettingProperty = Value Prelude.Bool+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty {useStageCache = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Deployment/CanarySettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Deployment.CanarySettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CanarySettingProperty :: Prelude.Type+instance ToResourceProperties CanarySettingProperty+instance Prelude.Eq CanarySettingProperty+instance Prelude.Show CanarySettingProperty+instance JSON.ToJSON CanarySettingProperty
+ gen/Stratosphere/ApiGateway/Deployment/DeploymentCanarySettingsProperty.hs view
@@ -0,0 +1,61 @@+module Stratosphere.ApiGateway.Deployment.DeploymentCanarySettingsProperty (+        DeploymentCanarySettingsProperty(..),+        mkDeploymentCanarySettingsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DeploymentCanarySettingsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html>+    DeploymentCanarySettingsProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-percenttraffic>+                                      percentTraffic :: (Prelude.Maybe (Value Prelude.Double)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-stagevariableoverrides>+                                      stageVariableOverrides :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-usestagecache>+                                      useStageCache :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDeploymentCanarySettingsProperty ::+  DeploymentCanarySettingsProperty+mkDeploymentCanarySettingsProperty+  = DeploymentCanarySettingsProperty+      {haddock_workaround_ = (), percentTraffic = Prelude.Nothing,+       stageVariableOverrides = Prelude.Nothing,+       useStageCache = Prelude.Nothing}+instance ToResourceProperties DeploymentCanarySettingsProperty where+  toResourceProperties DeploymentCanarySettingsProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Deployment.DeploymentCanarySettings",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PercentTraffic" Prelude.<$> percentTraffic,+                            (JSON..=) "StageVariableOverrides"+                              Prelude.<$> stageVariableOverrides,+                            (JSON..=) "UseStageCache" Prelude.<$> useStageCache])}+instance JSON.ToJSON DeploymentCanarySettingsProperty where+  toJSON DeploymentCanarySettingsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PercentTraffic" Prelude.<$> percentTraffic,+               (JSON..=) "StageVariableOverrides"+                 Prelude.<$> stageVariableOverrides,+               (JSON..=) "UseStageCache" Prelude.<$> useStageCache]))+instance Property "PercentTraffic" DeploymentCanarySettingsProperty where+  type PropertyType "PercentTraffic" DeploymentCanarySettingsProperty = Value Prelude.Double+  set newValue DeploymentCanarySettingsProperty {..}+    = DeploymentCanarySettingsProperty+        {percentTraffic = Prelude.pure newValue, ..}+instance Property "StageVariableOverrides" DeploymentCanarySettingsProperty where+  type PropertyType "StageVariableOverrides" DeploymentCanarySettingsProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue DeploymentCanarySettingsProperty {..}+    = DeploymentCanarySettingsProperty+        {stageVariableOverrides = Prelude.pure newValue, ..}+instance Property "UseStageCache" DeploymentCanarySettingsProperty where+  type PropertyType "UseStageCache" DeploymentCanarySettingsProperty = Value Prelude.Bool+  set newValue DeploymentCanarySettingsProperty {..}+    = DeploymentCanarySettingsProperty+        {useStageCache = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Deployment/DeploymentCanarySettingsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Deployment.DeploymentCanarySettingsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DeploymentCanarySettingsProperty :: Prelude.Type+instance ToResourceProperties DeploymentCanarySettingsProperty+instance Prelude.Eq DeploymentCanarySettingsProperty+instance Prelude.Show DeploymentCanarySettingsProperty+instance JSON.ToJSON DeploymentCanarySettingsProperty
+ gen/Stratosphere/ApiGateway/Deployment/MethodSettingProperty.hs view
@@ -0,0 +1,122 @@+module Stratosphere.ApiGateway.Deployment.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: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html>+    MethodSettingProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachedataencrypted>+                           cacheDataEncrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachettlinseconds>+                           cacheTtlInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachingenabled>+                           cachingEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-datatraceenabled>+                           dataTraceEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-httpmethod>+                           httpMethod :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-logginglevel>+                           loggingLevel :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-metricsenabled>+                           metricsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-resourcepath>+                           resourcePath :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingburstlimit>+                           throttlingBurstLimit :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingratelimit>+                           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::Deployment.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, ..}
+ gen/Stratosphere/ApiGateway/Deployment/MethodSettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Deployment.MethodSettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MethodSettingProperty :: Prelude.Type+instance ToResourceProperties MethodSettingProperty+instance Prelude.Eq MethodSettingProperty+instance Prelude.Show MethodSettingProperty+instance JSON.ToJSON MethodSettingProperty
+ gen/Stratosphere/ApiGateway/Deployment/StageDescriptionProperty.hs view
@@ -0,0 +1,215 @@+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, ..}
+ gen/Stratosphere/ApiGateway/Deployment/StageDescriptionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Deployment.StageDescriptionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StageDescriptionProperty :: Prelude.Type+instance ToResourceProperties StageDescriptionProperty+instance Prelude.Eq StageDescriptionProperty+instance Prelude.Show StageDescriptionProperty+instance JSON.ToJSON StageDescriptionProperty
+ gen/Stratosphere/ApiGateway/DocumentationPart.hs view
@@ -0,0 +1,50 @@+module Stratosphere.ApiGateway.DocumentationPart (+        module Exports, DocumentationPart(..), mkDocumentationPart+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.DocumentationPart.LocationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DocumentationPart+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html>+    DocumentationPart {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-location>+                       location :: LocationProperty,+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-properties>+                       properties :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-restapiid>+                       restApiId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDocumentationPart ::+  LocationProperty+  -> Value Prelude.Text -> Value Prelude.Text -> DocumentationPart+mkDocumentationPart location properties restApiId+  = DocumentationPart+      {haddock_workaround_ = (), location = location,+       properties = properties, restApiId = restApiId}+instance ToResourceProperties DocumentationPart where+  toResourceProperties DocumentationPart {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DocumentationPart",+         supportsTags = Prelude.False,+         properties = ["Location" JSON..= location,+                       "Properties" JSON..= properties, "RestApiId" JSON..= restApiId]}+instance JSON.ToJSON DocumentationPart where+  toJSON DocumentationPart {..}+    = JSON.object+        ["Location" JSON..= location, "Properties" JSON..= properties,+         "RestApiId" JSON..= restApiId]+instance Property "Location" DocumentationPart where+  type PropertyType "Location" DocumentationPart = LocationProperty+  set newValue DocumentationPart {..}+    = DocumentationPart {location = newValue, ..}+instance Property "Properties" DocumentationPart where+  type PropertyType "Properties" DocumentationPart = Value Prelude.Text+  set newValue DocumentationPart {..}+    = DocumentationPart {properties = newValue, ..}+instance Property "RestApiId" DocumentationPart where+  type PropertyType "RestApiId" DocumentationPart = Value Prelude.Text+  set newValue DocumentationPart {..}+    = DocumentationPart {restApiId = newValue, ..}
+ gen/Stratosphere/ApiGateway/DocumentationPart/LocationProperty.hs view
@@ -0,0 +1,70 @@+module Stratosphere.ApiGateway.DocumentationPart.LocationProperty (+        LocationProperty(..), mkLocationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LocationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html>+    LocationProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-method>+                      method :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-name>+                      name :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-path>+                      path :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-statuscode>+                      statusCode :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-type>+                      type' :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocationProperty :: LocationProperty+mkLocationProperty+  = LocationProperty+      {haddock_workaround_ = (), method = Prelude.Nothing,+       name = Prelude.Nothing, path = Prelude.Nothing,+       statusCode = Prelude.Nothing, type' = Prelude.Nothing}+instance ToResourceProperties LocationProperty where+  toResourceProperties LocationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DocumentationPart.Location",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Method" Prelude.<$> method,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "Path" Prelude.<$> path,+                            (JSON..=) "StatusCode" Prelude.<$> statusCode,+                            (JSON..=) "Type" Prelude.<$> type'])}+instance JSON.ToJSON LocationProperty where+  toJSON LocationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Method" Prelude.<$> method,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "Path" Prelude.<$> path,+               (JSON..=) "StatusCode" Prelude.<$> statusCode,+               (JSON..=) "Type" Prelude.<$> type']))+instance Property "Method" LocationProperty where+  type PropertyType "Method" LocationProperty = Value Prelude.Text+  set newValue LocationProperty {..}+    = LocationProperty {method = Prelude.pure newValue, ..}+instance Property "Name" LocationProperty where+  type PropertyType "Name" LocationProperty = Value Prelude.Text+  set newValue LocationProperty {..}+    = LocationProperty {name = Prelude.pure newValue, ..}+instance Property "Path" LocationProperty where+  type PropertyType "Path" LocationProperty = Value Prelude.Text+  set newValue LocationProperty {..}+    = LocationProperty {path = Prelude.pure newValue, ..}+instance Property "StatusCode" LocationProperty where+  type PropertyType "StatusCode" LocationProperty = Value Prelude.Text+  set newValue LocationProperty {..}+    = LocationProperty {statusCode = Prelude.pure newValue, ..}+instance Property "Type" LocationProperty where+  type PropertyType "Type" LocationProperty = Value Prelude.Text+  set newValue LocationProperty {..}+    = LocationProperty {type' = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DocumentationPart/LocationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.DocumentationPart.LocationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LocationProperty :: Prelude.Type+instance ToResourceProperties LocationProperty+instance Prelude.Eq LocationProperty+instance Prelude.Show LocationProperty+instance JSON.ToJSON LocationProperty
+ gen/Stratosphere/ApiGateway/DocumentationVersion.hs view
@@ -0,0 +1,57 @@+module Stratosphere.ApiGateway.DocumentationVersion (+        DocumentationVersion(..), mkDocumentationVersion+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DocumentationVersion+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html>+    DocumentationVersion {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-description>+                          description :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-documentationversion>+                          documentationVersion :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-restapiid>+                          restApiId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDocumentationVersion ::+  Value Prelude.Text -> Value Prelude.Text -> DocumentationVersion+mkDocumentationVersion documentationVersion restApiId+  = DocumentationVersion+      {haddock_workaround_ = (),+       documentationVersion = documentationVersion, restApiId = restApiId,+       description = Prelude.Nothing}+instance ToResourceProperties DocumentationVersion where+  toResourceProperties DocumentationVersion {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DocumentationVersion",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DocumentationVersion" JSON..= documentationVersion,+                            "RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON DocumentationVersion where+  toJSON DocumentationVersion {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DocumentationVersion" JSON..= documentationVersion,+               "RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description])))+instance Property "Description" DocumentationVersion where+  type PropertyType "Description" DocumentationVersion = Value Prelude.Text+  set newValue DocumentationVersion {..}+    = DocumentationVersion {description = Prelude.pure newValue, ..}+instance Property "DocumentationVersion" DocumentationVersion where+  type PropertyType "DocumentationVersion" DocumentationVersion = Value Prelude.Text+  set newValue DocumentationVersion {..}+    = DocumentationVersion {documentationVersion = newValue, ..}+instance Property "RestApiId" DocumentationVersion where+  type PropertyType "RestApiId" DocumentationVersion = Value Prelude.Text+  set newValue DocumentationVersion {..}+    = DocumentationVersion {restApiId = newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainName.hs view
@@ -0,0 +1,119 @@+module Stratosphere.ApiGateway.DomainName (+        module Exports, DomainName(..), mkDomainName+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.DomainName.EndpointConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.DomainName.MutualTlsAuthenticationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data DomainName+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html>+    DomainName {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn>+                certificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname>+                domainName :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration>+                endpointConfiguration :: (Prelude.Maybe EndpointConfigurationProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication>+                mutualTlsAuthentication :: (Prelude.Maybe MutualTlsAuthenticationProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn>+                ownershipVerificationCertificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn>+                regionalCertificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-routingmode>+                routingMode :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy>+                securityPolicy :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags>+                tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomainName :: DomainName+mkDomainName+  = DomainName+      {haddock_workaround_ = (), certificateArn = Prelude.Nothing,+       domainName = Prelude.Nothing,+       endpointConfiguration = Prelude.Nothing,+       mutualTlsAuthentication = Prelude.Nothing,+       ownershipVerificationCertificateArn = Prelude.Nothing,+       regionalCertificateArn = Prelude.Nothing,+       routingMode = Prelude.Nothing, securityPolicy = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties DomainName where+  toResourceProperties DomainName {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DomainName",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CertificateArn" Prelude.<$> certificateArn,+                            (JSON..=) "DomainName" Prelude.<$> domainName,+                            (JSON..=) "EndpointConfiguration"+                              Prelude.<$> endpointConfiguration,+                            (JSON..=) "MutualTlsAuthentication"+                              Prelude.<$> mutualTlsAuthentication,+                            (JSON..=) "OwnershipVerificationCertificateArn"+                              Prelude.<$> ownershipVerificationCertificateArn,+                            (JSON..=) "RegionalCertificateArn"+                              Prelude.<$> regionalCertificateArn,+                            (JSON..=) "RoutingMode" Prelude.<$> routingMode,+                            (JSON..=) "SecurityPolicy" Prelude.<$> securityPolicy,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON DomainName where+  toJSON DomainName {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CertificateArn" Prelude.<$> certificateArn,+               (JSON..=) "DomainName" Prelude.<$> domainName,+               (JSON..=) "EndpointConfiguration"+                 Prelude.<$> endpointConfiguration,+               (JSON..=) "MutualTlsAuthentication"+                 Prelude.<$> mutualTlsAuthentication,+               (JSON..=) "OwnershipVerificationCertificateArn"+                 Prelude.<$> ownershipVerificationCertificateArn,+               (JSON..=) "RegionalCertificateArn"+                 Prelude.<$> regionalCertificateArn,+               (JSON..=) "RoutingMode" Prelude.<$> routingMode,+               (JSON..=) "SecurityPolicy" Prelude.<$> securityPolicy,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "CertificateArn" DomainName where+  type PropertyType "CertificateArn" DomainName = Value Prelude.Text+  set newValue DomainName {..}+    = DomainName {certificateArn = Prelude.pure newValue, ..}+instance Property "DomainName" DomainName where+  type PropertyType "DomainName" DomainName = Value Prelude.Text+  set newValue DomainName {..}+    = DomainName {domainName = Prelude.pure newValue, ..}+instance Property "EndpointConfiguration" DomainName where+  type PropertyType "EndpointConfiguration" DomainName = EndpointConfigurationProperty+  set newValue DomainName {..}+    = DomainName {endpointConfiguration = Prelude.pure newValue, ..}+instance Property "MutualTlsAuthentication" DomainName where+  type PropertyType "MutualTlsAuthentication" DomainName = MutualTlsAuthenticationProperty+  set newValue DomainName {..}+    = DomainName {mutualTlsAuthentication = Prelude.pure newValue, ..}+instance Property "OwnershipVerificationCertificateArn" DomainName where+  type PropertyType "OwnershipVerificationCertificateArn" DomainName = Value Prelude.Text+  set newValue DomainName {..}+    = DomainName+        {ownershipVerificationCertificateArn = Prelude.pure newValue, ..}+instance Property "RegionalCertificateArn" DomainName where+  type PropertyType "RegionalCertificateArn" DomainName = Value Prelude.Text+  set newValue DomainName {..}+    = DomainName {regionalCertificateArn = Prelude.pure newValue, ..}+instance Property "RoutingMode" DomainName where+  type PropertyType "RoutingMode" DomainName = Value Prelude.Text+  set newValue DomainName {..}+    = DomainName {routingMode = Prelude.pure newValue, ..}+instance Property "SecurityPolicy" DomainName where+  type PropertyType "SecurityPolicy" DomainName = Value Prelude.Text+  set newValue DomainName {..}+    = DomainName {securityPolicy = Prelude.pure newValue, ..}+instance Property "Tags" DomainName where+  type PropertyType "Tags" DomainName = [Tag]+  set newValue DomainName {..}+    = DomainName {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainName/EndpointConfigurationProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApiGateway.DomainName.EndpointConfigurationProperty (+        EndpointConfigurationProperty(..), mkEndpointConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EndpointConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html>+    EndpointConfigurationProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-ipaddresstype>+                                   ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-types>+                                   types :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEndpointConfigurationProperty :: EndpointConfigurationProperty+mkEndpointConfigurationProperty+  = EndpointConfigurationProperty+      {haddock_workaround_ = (), ipAddressType = Prelude.Nothing,+       types = Prelude.Nothing}+instance ToResourceProperties EndpointConfigurationProperty where+  toResourceProperties EndpointConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DomainName.EndpointConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                            (JSON..=) "Types" Prelude.<$> types])}+instance JSON.ToJSON EndpointConfigurationProperty where+  toJSON EndpointConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+               (JSON..=) "Types" Prelude.<$> types]))+instance Property "IpAddressType" EndpointConfigurationProperty where+  type PropertyType "IpAddressType" EndpointConfigurationProperty = Value Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty+        {ipAddressType = Prelude.pure newValue, ..}+instance Property "Types" EndpointConfigurationProperty where+  type PropertyType "Types" EndpointConfigurationProperty = ValueList Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty {types = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainName/EndpointConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.DomainName.EndpointConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EndpointConfigurationProperty :: Prelude.Type+instance ToResourceProperties EndpointConfigurationProperty+instance Prelude.Eq EndpointConfigurationProperty+instance Prelude.Show EndpointConfigurationProperty+instance JSON.ToJSON EndpointConfigurationProperty
+ gen/Stratosphere/ApiGateway/DomainName/MutualTlsAuthenticationProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.ApiGateway.DomainName.MutualTlsAuthenticationProperty (+        MutualTlsAuthenticationProperty(..),+        mkMutualTlsAuthenticationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MutualTlsAuthenticationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html>+    MutualTlsAuthenticationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreuri>+                                     truststoreUri :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreversion>+                                     truststoreVersion :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMutualTlsAuthenticationProperty ::+  MutualTlsAuthenticationProperty+mkMutualTlsAuthenticationProperty+  = MutualTlsAuthenticationProperty+      {haddock_workaround_ = (), truststoreUri = Prelude.Nothing,+       truststoreVersion = Prelude.Nothing}+instance ToResourceProperties MutualTlsAuthenticationProperty where+  toResourceProperties MutualTlsAuthenticationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DomainName.MutualTlsAuthentication",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "TruststoreUri" Prelude.<$> truststoreUri,+                            (JSON..=) "TruststoreVersion" Prelude.<$> truststoreVersion])}+instance JSON.ToJSON MutualTlsAuthenticationProperty where+  toJSON MutualTlsAuthenticationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "TruststoreUri" Prelude.<$> truststoreUri,+               (JSON..=) "TruststoreVersion" Prelude.<$> truststoreVersion]))+instance Property "TruststoreUri" MutualTlsAuthenticationProperty where+  type PropertyType "TruststoreUri" MutualTlsAuthenticationProperty = Value Prelude.Text+  set newValue MutualTlsAuthenticationProperty {..}+    = MutualTlsAuthenticationProperty+        {truststoreUri = Prelude.pure newValue, ..}+instance Property "TruststoreVersion" MutualTlsAuthenticationProperty where+  type PropertyType "TruststoreVersion" MutualTlsAuthenticationProperty = Value Prelude.Text+  set newValue MutualTlsAuthenticationProperty {..}+    = MutualTlsAuthenticationProperty+        {truststoreVersion = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainName/MutualTlsAuthenticationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.DomainName.MutualTlsAuthenticationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MutualTlsAuthenticationProperty :: Prelude.Type+instance ToResourceProperties MutualTlsAuthenticationProperty+instance Prelude.Eq MutualTlsAuthenticationProperty+instance Prelude.Show MutualTlsAuthenticationProperty+instance JSON.ToJSON MutualTlsAuthenticationProperty
+ gen/Stratosphere/ApiGateway/DomainNameAccessAssociation.hs view
@@ -0,0 +1,72 @@+module Stratosphere.ApiGateway.DomainNameAccessAssociation (+        DomainNameAccessAssociation(..), mkDomainNameAccessAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data DomainNameAccessAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html>+    DomainNameAccessAssociation {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource>+                                 accessAssociationSource :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsourcetype>+                                 accessAssociationSourceType :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-domainnamearn>+                                 domainNameArn :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-tags>+                                 tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomainNameAccessAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> DomainNameAccessAssociation+mkDomainNameAccessAssociation+  accessAssociationSource+  accessAssociationSourceType+  domainNameArn+  = DomainNameAccessAssociation+      {haddock_workaround_ = (),+       accessAssociationSource = accessAssociationSource,+       accessAssociationSourceType = accessAssociationSourceType,+       domainNameArn = domainNameArn, tags = Prelude.Nothing}+instance ToResourceProperties DomainNameAccessAssociation where+  toResourceProperties DomainNameAccessAssociation {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DomainNameAccessAssociation",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AccessAssociationSource" JSON..= accessAssociationSource,+                            "AccessAssociationSourceType" JSON..= accessAssociationSourceType,+                            "DomainNameArn" JSON..= domainNameArn]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON DomainNameAccessAssociation where+  toJSON DomainNameAccessAssociation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AccessAssociationSource" JSON..= accessAssociationSource,+               "AccessAssociationSourceType" JSON..= accessAssociationSourceType,+               "DomainNameArn" JSON..= domainNameArn]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AccessAssociationSource" DomainNameAccessAssociation where+  type PropertyType "AccessAssociationSource" DomainNameAccessAssociation = Value Prelude.Text+  set newValue DomainNameAccessAssociation {..}+    = DomainNameAccessAssociation+        {accessAssociationSource = newValue, ..}+instance Property "AccessAssociationSourceType" DomainNameAccessAssociation where+  type PropertyType "AccessAssociationSourceType" DomainNameAccessAssociation = Value Prelude.Text+  set newValue DomainNameAccessAssociation {..}+    = DomainNameAccessAssociation+        {accessAssociationSourceType = newValue, ..}+instance Property "DomainNameArn" DomainNameAccessAssociation where+  type PropertyType "DomainNameArn" DomainNameAccessAssociation = Value Prelude.Text+  set newValue DomainNameAccessAssociation {..}+    = DomainNameAccessAssociation {domainNameArn = newValue, ..}+instance Property "Tags" DomainNameAccessAssociation where+  type PropertyType "Tags" DomainNameAccessAssociation = [Tag]+  set newValue DomainNameAccessAssociation {..}+    = DomainNameAccessAssociation {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainNameV2.hs view
@@ -0,0 +1,92 @@+module Stratosphere.ApiGateway.DomainNameV2 (+        module Exports, DomainNameV2(..), mkDomainNameV2+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.DomainNameV2.EndpointConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data DomainNameV2+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html>+    DomainNameV2 {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-certificatearn>+                  certificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-domainname>+                  domainName :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-endpointconfiguration>+                  endpointConfiguration :: (Prelude.Maybe EndpointConfigurationProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-policy>+                  policy :: (Prelude.Maybe JSON.Object),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-routingmode>+                  routingMode :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-securitypolicy>+                  securityPolicy :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-tags>+                  tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomainNameV2 :: DomainNameV2+mkDomainNameV2+  = DomainNameV2+      {haddock_workaround_ = (), certificateArn = Prelude.Nothing,+       domainName = Prelude.Nothing,+       endpointConfiguration = Prelude.Nothing, policy = Prelude.Nothing,+       routingMode = Prelude.Nothing, securityPolicy = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties DomainNameV2 where+  toResourceProperties DomainNameV2 {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DomainNameV2",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CertificateArn" Prelude.<$> certificateArn,+                            (JSON..=) "DomainName" Prelude.<$> domainName,+                            (JSON..=) "EndpointConfiguration"+                              Prelude.<$> endpointConfiguration,+                            (JSON..=) "Policy" Prelude.<$> policy,+                            (JSON..=) "RoutingMode" Prelude.<$> routingMode,+                            (JSON..=) "SecurityPolicy" Prelude.<$> securityPolicy,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON DomainNameV2 where+  toJSON DomainNameV2 {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CertificateArn" Prelude.<$> certificateArn,+               (JSON..=) "DomainName" Prelude.<$> domainName,+               (JSON..=) "EndpointConfiguration"+                 Prelude.<$> endpointConfiguration,+               (JSON..=) "Policy" Prelude.<$> policy,+               (JSON..=) "RoutingMode" Prelude.<$> routingMode,+               (JSON..=) "SecurityPolicy" Prelude.<$> securityPolicy,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "CertificateArn" DomainNameV2 where+  type PropertyType "CertificateArn" DomainNameV2 = Value Prelude.Text+  set newValue DomainNameV2 {..}+    = DomainNameV2 {certificateArn = Prelude.pure newValue, ..}+instance Property "DomainName" DomainNameV2 where+  type PropertyType "DomainName" DomainNameV2 = Value Prelude.Text+  set newValue DomainNameV2 {..}+    = DomainNameV2 {domainName = Prelude.pure newValue, ..}+instance Property "EndpointConfiguration" DomainNameV2 where+  type PropertyType "EndpointConfiguration" DomainNameV2 = EndpointConfigurationProperty+  set newValue DomainNameV2 {..}+    = DomainNameV2 {endpointConfiguration = Prelude.pure newValue, ..}+instance Property "Policy" DomainNameV2 where+  type PropertyType "Policy" DomainNameV2 = JSON.Object+  set newValue DomainNameV2 {..}+    = DomainNameV2 {policy = Prelude.pure newValue, ..}+instance Property "RoutingMode" DomainNameV2 where+  type PropertyType "RoutingMode" DomainNameV2 = Value Prelude.Text+  set newValue DomainNameV2 {..}+    = DomainNameV2 {routingMode = Prelude.pure newValue, ..}+instance Property "SecurityPolicy" DomainNameV2 where+  type PropertyType "SecurityPolicy" DomainNameV2 = Value Prelude.Text+  set newValue DomainNameV2 {..}+    = DomainNameV2 {securityPolicy = Prelude.pure newValue, ..}+instance Property "Tags" DomainNameV2 where+  type PropertyType "Tags" DomainNameV2 = [Tag]+  set newValue DomainNameV2 {..}+    = DomainNameV2 {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainNameV2/EndpointConfigurationProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApiGateway.DomainNameV2.EndpointConfigurationProperty (+        EndpointConfigurationProperty(..), mkEndpointConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EndpointConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html>+    EndpointConfigurationProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html#cfn-apigateway-domainnamev2-endpointconfiguration-ipaddresstype>+                                   ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html#cfn-apigateway-domainnamev2-endpointconfiguration-types>+                                   types :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEndpointConfigurationProperty :: EndpointConfigurationProperty+mkEndpointConfigurationProperty+  = EndpointConfigurationProperty+      {haddock_workaround_ = (), ipAddressType = Prelude.Nothing,+       types = Prelude.Nothing}+instance ToResourceProperties EndpointConfigurationProperty where+  toResourceProperties EndpointConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::DomainNameV2.EndpointConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                            (JSON..=) "Types" Prelude.<$> types])}+instance JSON.ToJSON EndpointConfigurationProperty where+  toJSON EndpointConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+               (JSON..=) "Types" Prelude.<$> types]))+instance Property "IpAddressType" EndpointConfigurationProperty where+  type PropertyType "IpAddressType" EndpointConfigurationProperty = Value Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty+        {ipAddressType = Prelude.pure newValue, ..}+instance Property "Types" EndpointConfigurationProperty where+  type PropertyType "Types" EndpointConfigurationProperty = ValueList Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty {types = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/DomainNameV2/EndpointConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.DomainNameV2.EndpointConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EndpointConfigurationProperty :: Prelude.Type+instance ToResourceProperties EndpointConfigurationProperty+instance Prelude.Eq EndpointConfigurationProperty+instance Prelude.Show EndpointConfigurationProperty+instance JSON.ToJSON EndpointConfigurationProperty
+ gen/Stratosphere/ApiGateway/GatewayResponse.hs view
@@ -0,0 +1,73 @@+module Stratosphere.ApiGateway.GatewayResponse (+        GatewayResponse(..), mkGatewayResponse+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayResponse+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html>+    GatewayResponse {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responseparameters>+                     responseParameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetemplates>+                     responseTemplates :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetype>+                     responseType :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-restapiid>+                     restApiId :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-statuscode>+                     statusCode :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayResponse ::+  Value Prelude.Text -> Value Prelude.Text -> GatewayResponse+mkGatewayResponse responseType restApiId+  = GatewayResponse+      {haddock_workaround_ = (), responseType = responseType,+       restApiId = restApiId, responseParameters = Prelude.Nothing,+       responseTemplates = Prelude.Nothing, statusCode = Prelude.Nothing}+instance ToResourceProperties GatewayResponse where+  toResourceProperties GatewayResponse {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::GatewayResponse",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ResponseType" JSON..= responseType,+                            "RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "ResponseParameters" Prelude.<$> responseParameters,+                               (JSON..=) "ResponseTemplates" Prelude.<$> responseTemplates,+                               (JSON..=) "StatusCode" Prelude.<$> statusCode]))}+instance JSON.ToJSON GatewayResponse where+  toJSON GatewayResponse {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ResponseType" JSON..= responseType,+               "RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "ResponseParameters" Prelude.<$> responseParameters,+                  (JSON..=) "ResponseTemplates" Prelude.<$> responseTemplates,+                  (JSON..=) "StatusCode" Prelude.<$> statusCode])))+instance Property "ResponseParameters" GatewayResponse where+  type PropertyType "ResponseParameters" GatewayResponse = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue GatewayResponse {..}+    = GatewayResponse {responseParameters = Prelude.pure newValue, ..}+instance Property "ResponseTemplates" GatewayResponse where+  type PropertyType "ResponseTemplates" GatewayResponse = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue GatewayResponse {..}+    = GatewayResponse {responseTemplates = Prelude.pure newValue, ..}+instance Property "ResponseType" GatewayResponse where+  type PropertyType "ResponseType" GatewayResponse = Value Prelude.Text+  set newValue GatewayResponse {..}+    = GatewayResponse {responseType = newValue, ..}+instance Property "RestApiId" GatewayResponse where+  type PropertyType "RestApiId" GatewayResponse = Value Prelude.Text+  set newValue GatewayResponse {..}+    = GatewayResponse {restApiId = newValue, ..}+instance Property "StatusCode" GatewayResponse where+  type PropertyType "StatusCode" GatewayResponse = Value Prelude.Text+  set newValue GatewayResponse {..}+    = GatewayResponse {statusCode = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Method.hs view
@@ -0,0 +1,141 @@+module Stratosphere.ApiGateway.Method (+        module Exports, Method(..), mkMethod+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.Method.IntegrationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.Method.MethodResponseProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Method+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html>+    Method {haddock_workaround_ :: (),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired>+            apiKeyRequired :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes>+            authorizationScopes :: (Prelude.Maybe (ValueList Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationtype>+            authorizationType :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizerid>+            authorizerId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-httpmethod>+            httpMethod :: (Value Prelude.Text),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-integration>+            integration :: (Prelude.Maybe IntegrationProperty),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-methodresponses>+            methodResponses :: (Prelude.Maybe [MethodResponseProperty]),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-operationname>+            operationName :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestmodels>+            requestModels :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters>+            requestParameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestvalidatorid>+            requestValidatorId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-resourceid>+            resourceId :: (Value Prelude.Text),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-restapiid>+            restApiId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMethod ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> Method+mkMethod httpMethod resourceId restApiId+  = Method+      {haddock_workaround_ = (), httpMethod = httpMethod,+       resourceId = resourceId, restApiId = restApiId,+       apiKeyRequired = Prelude.Nothing,+       authorizationScopes = Prelude.Nothing,+       authorizationType = Prelude.Nothing,+       authorizerId = Prelude.Nothing, integration = Prelude.Nothing,+       methodResponses = Prelude.Nothing, operationName = Prelude.Nothing,+       requestModels = Prelude.Nothing,+       requestParameters = Prelude.Nothing,+       requestValidatorId = Prelude.Nothing}+instance ToResourceProperties Method where+  toResourceProperties Method {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Method", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["HttpMethod" JSON..= httpMethod, "ResourceId" JSON..= resourceId,+                            "RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "ApiKeyRequired" Prelude.<$> apiKeyRequired,+                               (JSON..=) "AuthorizationScopes" Prelude.<$> authorizationScopes,+                               (JSON..=) "AuthorizationType" Prelude.<$> authorizationType,+                               (JSON..=) "AuthorizerId" Prelude.<$> authorizerId,+                               (JSON..=) "Integration" Prelude.<$> integration,+                               (JSON..=) "MethodResponses" Prelude.<$> methodResponses,+                               (JSON..=) "OperationName" Prelude.<$> operationName,+                               (JSON..=) "RequestModels" Prelude.<$> requestModels,+                               (JSON..=) "RequestParameters" Prelude.<$> requestParameters,+                               (JSON..=) "RequestValidatorId" Prelude.<$> requestValidatorId]))}+instance JSON.ToJSON Method where+  toJSON Method {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["HttpMethod" JSON..= httpMethod, "ResourceId" JSON..= resourceId,+               "RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "ApiKeyRequired" Prelude.<$> apiKeyRequired,+                  (JSON..=) "AuthorizationScopes" Prelude.<$> authorizationScopes,+                  (JSON..=) "AuthorizationType" Prelude.<$> authorizationType,+                  (JSON..=) "AuthorizerId" Prelude.<$> authorizerId,+                  (JSON..=) "Integration" Prelude.<$> integration,+                  (JSON..=) "MethodResponses" Prelude.<$> methodResponses,+                  (JSON..=) "OperationName" Prelude.<$> operationName,+                  (JSON..=) "RequestModels" Prelude.<$> requestModels,+                  (JSON..=) "RequestParameters" Prelude.<$> requestParameters,+                  (JSON..=) "RequestValidatorId" Prelude.<$> requestValidatorId])))+instance Property "ApiKeyRequired" Method where+  type PropertyType "ApiKeyRequired" Method = Value Prelude.Bool+  set newValue Method {..}+    = Method {apiKeyRequired = Prelude.pure newValue, ..}+instance Property "AuthorizationScopes" Method where+  type PropertyType "AuthorizationScopes" Method = ValueList Prelude.Text+  set newValue Method {..}+    = Method {authorizationScopes = Prelude.pure newValue, ..}+instance Property "AuthorizationType" Method where+  type PropertyType "AuthorizationType" Method = Value Prelude.Text+  set newValue Method {..}+    = Method {authorizationType = Prelude.pure newValue, ..}+instance Property "AuthorizerId" Method where+  type PropertyType "AuthorizerId" Method = Value Prelude.Text+  set newValue Method {..}+    = Method {authorizerId = Prelude.pure newValue, ..}+instance Property "HttpMethod" Method where+  type PropertyType "HttpMethod" Method = Value Prelude.Text+  set newValue Method {..} = Method {httpMethod = newValue, ..}+instance Property "Integration" Method where+  type PropertyType "Integration" Method = IntegrationProperty+  set newValue Method {..}+    = Method {integration = Prelude.pure newValue, ..}+instance Property "MethodResponses" Method where+  type PropertyType "MethodResponses" Method = [MethodResponseProperty]+  set newValue Method {..}+    = Method {methodResponses = Prelude.pure newValue, ..}+instance Property "OperationName" Method where+  type PropertyType "OperationName" Method = Value Prelude.Text+  set newValue Method {..}+    = Method {operationName = Prelude.pure newValue, ..}+instance Property "RequestModels" Method where+  type PropertyType "RequestModels" Method = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue Method {..}+    = Method {requestModels = Prelude.pure newValue, ..}+instance Property "RequestParameters" Method where+  type PropertyType "RequestParameters" Method = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue Method {..}+    = Method {requestParameters = Prelude.pure newValue, ..}+instance Property "RequestValidatorId" Method where+  type PropertyType "RequestValidatorId" Method = Value Prelude.Text+  set newValue Method {..}+    = Method {requestValidatorId = Prelude.pure newValue, ..}+instance Property "ResourceId" Method where+  type PropertyType "ResourceId" Method = Value Prelude.Text+  set newValue Method {..} = Method {resourceId = newValue, ..}+instance Property "RestApiId" Method where+  type PropertyType "RestApiId" Method = Value Prelude.Text+  set newValue Method {..} = Method {restApiId = newValue, ..}
+ gen/Stratosphere/ApiGateway/Method/IntegrationProperty.hs view
@@ -0,0 +1,161 @@+module Stratosphere.ApiGateway.Method.IntegrationProperty (+        module Exports, IntegrationProperty(..), mkIntegrationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.Method.IntegrationResponseProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IntegrationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html>+    IntegrationProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-cachekeyparameters>+                         cacheKeyParameters :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-cachenamespace>+                         cacheNamespace :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-connectionid>+                         connectionId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-connectiontype>+                         connectionType :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-contenthandling>+                         contentHandling :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-credentials>+                         credentials :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-integrationhttpmethod>+                         integrationHttpMethod :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-integrationresponses>+                         integrationResponses :: (Prelude.Maybe [IntegrationResponseProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-passthroughbehavior>+                         passthroughBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-requestparameters>+                         requestParameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-requesttemplates>+                         requestTemplates :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-timeoutinmillis>+                         timeoutInMillis :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-type>+                         type' :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-uri>+                         uri :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIntegrationProperty :: Value Prelude.Text -> IntegrationProperty+mkIntegrationProperty type'+  = IntegrationProperty+      {haddock_workaround_ = (), type' = type',+       cacheKeyParameters = Prelude.Nothing,+       cacheNamespace = Prelude.Nothing, connectionId = Prelude.Nothing,+       connectionType = Prelude.Nothing,+       contentHandling = Prelude.Nothing, credentials = Prelude.Nothing,+       integrationHttpMethod = Prelude.Nothing,+       integrationResponses = Prelude.Nothing,+       passthroughBehavior = Prelude.Nothing,+       requestParameters = Prelude.Nothing,+       requestTemplates = Prelude.Nothing,+       timeoutInMillis = Prelude.Nothing, uri = Prelude.Nothing}+instance ToResourceProperties IntegrationProperty where+  toResourceProperties IntegrationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Method.Integration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "CacheKeyParameters" Prelude.<$> cacheKeyParameters,+                               (JSON..=) "CacheNamespace" Prelude.<$> cacheNamespace,+                               (JSON..=) "ConnectionId" Prelude.<$> connectionId,+                               (JSON..=) "ConnectionType" Prelude.<$> connectionType,+                               (JSON..=) "ContentHandling" Prelude.<$> contentHandling,+                               (JSON..=) "Credentials" Prelude.<$> credentials,+                               (JSON..=) "IntegrationHttpMethod"+                                 Prelude.<$> integrationHttpMethod,+                               (JSON..=) "IntegrationResponses" Prelude.<$> integrationResponses,+                               (JSON..=) "PassthroughBehavior" Prelude.<$> passthroughBehavior,+                               (JSON..=) "RequestParameters" Prelude.<$> requestParameters,+                               (JSON..=) "RequestTemplates" Prelude.<$> requestTemplates,+                               (JSON..=) "TimeoutInMillis" Prelude.<$> timeoutInMillis,+                               (JSON..=) "Uri" Prelude.<$> uri]))}+instance JSON.ToJSON IntegrationProperty where+  toJSON IntegrationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "CacheKeyParameters" Prelude.<$> cacheKeyParameters,+                  (JSON..=) "CacheNamespace" Prelude.<$> cacheNamespace,+                  (JSON..=) "ConnectionId" Prelude.<$> connectionId,+                  (JSON..=) "ConnectionType" Prelude.<$> connectionType,+                  (JSON..=) "ContentHandling" Prelude.<$> contentHandling,+                  (JSON..=) "Credentials" Prelude.<$> credentials,+                  (JSON..=) "IntegrationHttpMethod"+                    Prelude.<$> integrationHttpMethod,+                  (JSON..=) "IntegrationResponses" Prelude.<$> integrationResponses,+                  (JSON..=) "PassthroughBehavior" Prelude.<$> passthroughBehavior,+                  (JSON..=) "RequestParameters" Prelude.<$> requestParameters,+                  (JSON..=) "RequestTemplates" Prelude.<$> requestTemplates,+                  (JSON..=) "TimeoutInMillis" Prelude.<$> timeoutInMillis,+                  (JSON..=) "Uri" Prelude.<$> uri])))+instance Property "CacheKeyParameters" IntegrationProperty where+  type PropertyType "CacheKeyParameters" IntegrationProperty = ValueList Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty+        {cacheKeyParameters = Prelude.pure newValue, ..}+instance Property "CacheNamespace" IntegrationProperty where+  type PropertyType "CacheNamespace" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {cacheNamespace = Prelude.pure newValue, ..}+instance Property "ConnectionId" IntegrationProperty where+  type PropertyType "ConnectionId" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {connectionId = Prelude.pure newValue, ..}+instance Property "ConnectionType" IntegrationProperty where+  type PropertyType "ConnectionType" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {connectionType = Prelude.pure newValue, ..}+instance Property "ContentHandling" IntegrationProperty where+  type PropertyType "ContentHandling" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {contentHandling = Prelude.pure newValue, ..}+instance Property "Credentials" IntegrationProperty where+  type PropertyType "Credentials" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {credentials = Prelude.pure newValue, ..}+instance Property "IntegrationHttpMethod" IntegrationProperty where+  type PropertyType "IntegrationHttpMethod" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty+        {integrationHttpMethod = Prelude.pure newValue, ..}+instance Property "IntegrationResponses" IntegrationProperty where+  type PropertyType "IntegrationResponses" IntegrationProperty = [IntegrationResponseProperty]+  set newValue IntegrationProperty {..}+    = IntegrationProperty+        {integrationResponses = Prelude.pure newValue, ..}+instance Property "PassthroughBehavior" IntegrationProperty where+  type PropertyType "PassthroughBehavior" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty+        {passthroughBehavior = Prelude.pure newValue, ..}+instance Property "RequestParameters" IntegrationProperty where+  type PropertyType "RequestParameters" IntegrationProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue IntegrationProperty {..}+    = IntegrationProperty+        {requestParameters = Prelude.pure newValue, ..}+instance Property "RequestTemplates" IntegrationProperty where+  type PropertyType "RequestTemplates" IntegrationProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue IntegrationProperty {..}+    = IntegrationProperty+        {requestTemplates = Prelude.pure newValue, ..}+instance Property "TimeoutInMillis" IntegrationProperty where+  type PropertyType "TimeoutInMillis" IntegrationProperty = Value Prelude.Integer+  set newValue IntegrationProperty {..}+    = IntegrationProperty {timeoutInMillis = Prelude.pure newValue, ..}+instance Property "Type" IntegrationProperty where+  type PropertyType "Type" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {type' = newValue, ..}+instance Property "Uri" IntegrationProperty where+  type PropertyType "Uri" IntegrationProperty = Value Prelude.Text+  set newValue IntegrationProperty {..}+    = IntegrationProperty {uri = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Method/IntegrationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Method.IntegrationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IntegrationProperty :: Prelude.Type+instance ToResourceProperties IntegrationProperty+instance Prelude.Eq IntegrationProperty+instance Prelude.Show IntegrationProperty+instance JSON.ToJSON IntegrationProperty
+ gen/Stratosphere/ApiGateway/Method/IntegrationResponseProperty.hs view
@@ -0,0 +1,79 @@+module Stratosphere.ApiGateway.Method.IntegrationResponseProperty (+        IntegrationResponseProperty(..), mkIntegrationResponseProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IntegrationResponseProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html>+    IntegrationResponseProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html#cfn-apigateway-method-integrationresponse-contenthandling>+                                 contentHandling :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html#cfn-apigateway-method-integrationresponse-responseparameters>+                                 responseParameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html#cfn-apigateway-method-integrationresponse-responsetemplates>+                                 responseTemplates :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html#cfn-apigateway-method-integrationresponse-selectionpattern>+                                 selectionPattern :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html#cfn-apigateway-method-integrationresponse-statuscode>+                                 statusCode :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIntegrationResponseProperty ::+  Value Prelude.Text -> IntegrationResponseProperty+mkIntegrationResponseProperty statusCode+  = IntegrationResponseProperty+      {haddock_workaround_ = (), statusCode = statusCode,+       contentHandling = Prelude.Nothing,+       responseParameters = Prelude.Nothing,+       responseTemplates = Prelude.Nothing,+       selectionPattern = Prelude.Nothing}+instance ToResourceProperties IntegrationResponseProperty where+  toResourceProperties IntegrationResponseProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Method.IntegrationResponse",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["StatusCode" JSON..= statusCode]+                           (Prelude.catMaybes+                              [(JSON..=) "ContentHandling" Prelude.<$> contentHandling,+                               (JSON..=) "ResponseParameters" Prelude.<$> responseParameters,+                               (JSON..=) "ResponseTemplates" Prelude.<$> responseTemplates,+                               (JSON..=) "SelectionPattern" Prelude.<$> selectionPattern]))}+instance JSON.ToJSON IntegrationResponseProperty where+  toJSON IntegrationResponseProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["StatusCode" JSON..= statusCode]+              (Prelude.catMaybes+                 [(JSON..=) "ContentHandling" Prelude.<$> contentHandling,+                  (JSON..=) "ResponseParameters" Prelude.<$> responseParameters,+                  (JSON..=) "ResponseTemplates" Prelude.<$> responseTemplates,+                  (JSON..=) "SelectionPattern" Prelude.<$> selectionPattern])))+instance Property "ContentHandling" IntegrationResponseProperty where+  type PropertyType "ContentHandling" IntegrationResponseProperty = Value Prelude.Text+  set newValue IntegrationResponseProperty {..}+    = IntegrationResponseProperty+        {contentHandling = Prelude.pure newValue, ..}+instance Property "ResponseParameters" IntegrationResponseProperty where+  type PropertyType "ResponseParameters" IntegrationResponseProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue IntegrationResponseProperty {..}+    = IntegrationResponseProperty+        {responseParameters = Prelude.pure newValue, ..}+instance Property "ResponseTemplates" IntegrationResponseProperty where+  type PropertyType "ResponseTemplates" IntegrationResponseProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue IntegrationResponseProperty {..}+    = IntegrationResponseProperty+        {responseTemplates = Prelude.pure newValue, ..}+instance Property "SelectionPattern" IntegrationResponseProperty where+  type PropertyType "SelectionPattern" IntegrationResponseProperty = Value Prelude.Text+  set newValue IntegrationResponseProperty {..}+    = IntegrationResponseProperty+        {selectionPattern = Prelude.pure newValue, ..}+instance Property "StatusCode" IntegrationResponseProperty where+  type PropertyType "StatusCode" IntegrationResponseProperty = Value Prelude.Text+  set newValue IntegrationResponseProperty {..}+    = IntegrationResponseProperty {statusCode = newValue, ..}
+ gen/Stratosphere/ApiGateway/Method/IntegrationResponseProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Method.IntegrationResponseProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IntegrationResponseProperty :: Prelude.Type+instance ToResourceProperties IntegrationResponseProperty+instance Prelude.Eq IntegrationResponseProperty+instance Prelude.Show IntegrationResponseProperty+instance JSON.ToJSON IntegrationResponseProperty
+ gen/Stratosphere/ApiGateway/Method/MethodResponseProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.ApiGateway.Method.MethodResponseProperty (+        MethodResponseProperty(..), mkMethodResponseProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MethodResponseProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-methodresponse.html>+    MethodResponseProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responsemodels>+                            responseModels :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responseparameters>+                            responseParameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-statuscode>+                            statusCode :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMethodResponseProperty ::+  Value Prelude.Text -> MethodResponseProperty+mkMethodResponseProperty statusCode+  = MethodResponseProperty+      {haddock_workaround_ = (), statusCode = statusCode,+       responseModels = Prelude.Nothing,+       responseParameters = Prelude.Nothing}+instance ToResourceProperties MethodResponseProperty where+  toResourceProperties MethodResponseProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Method.MethodResponse",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["StatusCode" JSON..= statusCode]+                           (Prelude.catMaybes+                              [(JSON..=) "ResponseModels" Prelude.<$> responseModels,+                               (JSON..=) "ResponseParameters" Prelude.<$> responseParameters]))}+instance JSON.ToJSON MethodResponseProperty where+  toJSON MethodResponseProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["StatusCode" JSON..= statusCode]+              (Prelude.catMaybes+                 [(JSON..=) "ResponseModels" Prelude.<$> responseModels,+                  (JSON..=) "ResponseParameters" Prelude.<$> responseParameters])))+instance Property "ResponseModels" MethodResponseProperty where+  type PropertyType "ResponseModels" MethodResponseProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue MethodResponseProperty {..}+    = MethodResponseProperty+        {responseModels = Prelude.pure newValue, ..}+instance Property "ResponseParameters" MethodResponseProperty where+  type PropertyType "ResponseParameters" MethodResponseProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue MethodResponseProperty {..}+    = MethodResponseProperty+        {responseParameters = Prelude.pure newValue, ..}+instance Property "StatusCode" MethodResponseProperty where+  type PropertyType "StatusCode" MethodResponseProperty = Value Prelude.Text+  set newValue MethodResponseProperty {..}+    = MethodResponseProperty {statusCode = newValue, ..}
+ gen/Stratosphere/ApiGateway/Method/MethodResponseProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Method.MethodResponseProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MethodResponseProperty :: Prelude.Type+instance ToResourceProperties MethodResponseProperty+instance Prelude.Eq MethodResponseProperty+instance Prelude.Show MethodResponseProperty+instance JSON.ToJSON MethodResponseProperty
+ gen/Stratosphere/ApiGateway/Model.hs view
@@ -0,0 +1,69 @@+module Stratosphere.ApiGateway.Model (+        Model(..), mkModel+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Model+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html>+    Model {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-contenttype>+           contentType :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-description>+           description :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-name>+           name :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-restapiid>+           restApiId :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-schema>+           schema :: (Prelude.Maybe JSON.Object)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkModel :: Value Prelude.Text -> Model+mkModel restApiId+  = Model+      {haddock_workaround_ = (), restApiId = restApiId,+       contentType = Prelude.Nothing, description = Prelude.Nothing,+       name = Prelude.Nothing, schema = Prelude.Nothing}+instance ToResourceProperties Model where+  toResourceProperties Model {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Model", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "ContentType" Prelude.<$> contentType,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Name" Prelude.<$> name,+                               (JSON..=) "Schema" Prelude.<$> schema]))}+instance JSON.ToJSON Model where+  toJSON Model {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "ContentType" Prelude.<$> contentType,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Name" Prelude.<$> name,+                  (JSON..=) "Schema" Prelude.<$> schema])))+instance Property "ContentType" Model where+  type PropertyType "ContentType" Model = Value Prelude.Text+  set newValue Model {..}+    = Model {contentType = Prelude.pure newValue, ..}+instance Property "Description" Model where+  type PropertyType "Description" Model = Value Prelude.Text+  set newValue Model {..}+    = Model {description = Prelude.pure newValue, ..}+instance Property "Name" Model where+  type PropertyType "Name" Model = Value Prelude.Text+  set newValue Model {..} = Model {name = Prelude.pure newValue, ..}+instance Property "RestApiId" Model where+  type PropertyType "RestApiId" Model = Value Prelude.Text+  set newValue Model {..} = Model {restApiId = newValue, ..}+instance Property "Schema" Model where+  type PropertyType "Schema" Model = JSON.Object+  set newValue Model {..}+    = Model {schema = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/RequestValidator.hs view
@@ -0,0 +1,68 @@+module Stratosphere.ApiGateway.RequestValidator (+        RequestValidator(..), mkRequestValidator+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RequestValidator+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html>+    RequestValidator {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-name>+                      name :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-restapiid>+                      restApiId :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestbody>+                      validateRequestBody :: (Prelude.Maybe (Value Prelude.Bool)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestparameters>+                      validateRequestParameters :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRequestValidator :: Value Prelude.Text -> RequestValidator+mkRequestValidator restApiId+  = RequestValidator+      {haddock_workaround_ = (), restApiId = restApiId,+       name = Prelude.Nothing, validateRequestBody = Prelude.Nothing,+       validateRequestParameters = Prelude.Nothing}+instance ToResourceProperties RequestValidator where+  toResourceProperties RequestValidator {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::RequestValidator",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "Name" Prelude.<$> name,+                               (JSON..=) "ValidateRequestBody" Prelude.<$> validateRequestBody,+                               (JSON..=) "ValidateRequestParameters"+                                 Prelude.<$> validateRequestParameters]))}+instance JSON.ToJSON RequestValidator where+  toJSON RequestValidator {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "Name" Prelude.<$> name,+                  (JSON..=) "ValidateRequestBody" Prelude.<$> validateRequestBody,+                  (JSON..=) "ValidateRequestParameters"+                    Prelude.<$> validateRequestParameters])))+instance Property "Name" RequestValidator where+  type PropertyType "Name" RequestValidator = Value Prelude.Text+  set newValue RequestValidator {..}+    = RequestValidator {name = Prelude.pure newValue, ..}+instance Property "RestApiId" RequestValidator where+  type PropertyType "RestApiId" RequestValidator = Value Prelude.Text+  set newValue RequestValidator {..}+    = RequestValidator {restApiId = newValue, ..}+instance Property "ValidateRequestBody" RequestValidator where+  type PropertyType "ValidateRequestBody" RequestValidator = Value Prelude.Bool+  set newValue RequestValidator {..}+    = RequestValidator+        {validateRequestBody = Prelude.pure newValue, ..}+instance Property "ValidateRequestParameters" RequestValidator where+  type PropertyType "ValidateRequestParameters" RequestValidator = Value Prelude.Bool+  set newValue RequestValidator {..}+    = RequestValidator+        {validateRequestParameters = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Resource.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApiGateway.Resource (+        Resource(..), mkResource+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Resource+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html>+    Resource {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-parentid>+              parentId :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-pathpart>+              pathPart :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-restapiid>+              restApiId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResource ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> Resource+mkResource parentId pathPart restApiId+  = Resource+      {haddock_workaround_ = (), parentId = parentId,+       pathPart = pathPart, restApiId = restApiId}+instance ToResourceProperties Resource where+  toResourceProperties Resource {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Resource",+         supportsTags = Prelude.False,+         properties = ["ParentId" JSON..= parentId,+                       "PathPart" JSON..= pathPart, "RestApiId" JSON..= restApiId]}+instance JSON.ToJSON Resource where+  toJSON Resource {..}+    = JSON.object+        ["ParentId" JSON..= parentId, "PathPart" JSON..= pathPart,+         "RestApiId" JSON..= restApiId]+instance Property "ParentId" Resource where+  type PropertyType "ParentId" Resource = Value Prelude.Text+  set newValue Resource {..} = Resource {parentId = newValue, ..}+instance Property "PathPart" Resource where+  type PropertyType "PathPart" Resource = Value Prelude.Text+  set newValue Resource {..} = Resource {pathPart = newValue, ..}+instance Property "RestApiId" Resource where+  type PropertyType "RestApiId" Resource = Value Prelude.Text+  set newValue Resource {..} = Resource {restApiId = newValue, ..}
+ gen/Stratosphere/ApiGateway/RestApi.hs view
@@ -0,0 +1,165 @@+module Stratosphere.ApiGateway.RestApi (+        module Exports, RestApi(..), mkRestApi+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.RestApi.EndpointConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.RestApi.S3LocationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data RestApi+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html>+    RestApi {haddock_workaround_ :: (),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype>+             apiKeySourceType :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes>+             binaryMediaTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body>+             body :: (Prelude.Maybe JSON.Object),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location>+             bodyS3Location :: (Prelude.Maybe S3LocationProperty),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-clonefrom>+             cloneFrom :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description>+             description :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint>+             disableExecuteApiEndpoint :: (Prelude.Maybe (Value Prelude.Bool)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration>+             endpointConfiguration :: (Prelude.Maybe EndpointConfigurationProperty),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings>+             failOnWarnings :: (Prelude.Maybe (Value Prelude.Bool)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize>+             minimumCompressionSize :: (Prelude.Maybe (Value Prelude.Integer)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode>+             mode :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name>+             name :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-parameters>+             parameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy>+             policy :: (Prelude.Maybe JSON.Object),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-tags>+             tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRestApi :: RestApi+mkRestApi+  = RestApi+      {haddock_workaround_ = (), apiKeySourceType = Prelude.Nothing,+       binaryMediaTypes = Prelude.Nothing, body = Prelude.Nothing,+       bodyS3Location = Prelude.Nothing, cloneFrom = Prelude.Nothing,+       description = Prelude.Nothing,+       disableExecuteApiEndpoint = Prelude.Nothing,+       endpointConfiguration = Prelude.Nothing,+       failOnWarnings = Prelude.Nothing,+       minimumCompressionSize = Prelude.Nothing, mode = Prelude.Nothing,+       name = Prelude.Nothing, parameters = Prelude.Nothing,+       policy = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties RestApi where+  toResourceProperties RestApi {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::RestApi", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ApiKeySourceType" Prelude.<$> apiKeySourceType,+                            (JSON..=) "BinaryMediaTypes" Prelude.<$> binaryMediaTypes,+                            (JSON..=) "Body" Prelude.<$> body,+                            (JSON..=) "BodyS3Location" Prelude.<$> bodyS3Location,+                            (JSON..=) "CloneFrom" Prelude.<$> cloneFrom,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "DisableExecuteApiEndpoint"+                              Prelude.<$> disableExecuteApiEndpoint,+                            (JSON..=) "EndpointConfiguration"+                              Prelude.<$> endpointConfiguration,+                            (JSON..=) "FailOnWarnings" Prelude.<$> failOnWarnings,+                            (JSON..=) "MinimumCompressionSize"+                              Prelude.<$> minimumCompressionSize,+                            (JSON..=) "Mode" Prelude.<$> mode,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "Parameters" Prelude.<$> parameters,+                            (JSON..=) "Policy" Prelude.<$> policy,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON RestApi where+  toJSON RestApi {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ApiKeySourceType" Prelude.<$> apiKeySourceType,+               (JSON..=) "BinaryMediaTypes" Prelude.<$> binaryMediaTypes,+               (JSON..=) "Body" Prelude.<$> body,+               (JSON..=) "BodyS3Location" Prelude.<$> bodyS3Location,+               (JSON..=) "CloneFrom" Prelude.<$> cloneFrom,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "DisableExecuteApiEndpoint"+                 Prelude.<$> disableExecuteApiEndpoint,+               (JSON..=) "EndpointConfiguration"+                 Prelude.<$> endpointConfiguration,+               (JSON..=) "FailOnWarnings" Prelude.<$> failOnWarnings,+               (JSON..=) "MinimumCompressionSize"+                 Prelude.<$> minimumCompressionSize,+               (JSON..=) "Mode" Prelude.<$> mode,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "Parameters" Prelude.<$> parameters,+               (JSON..=) "Policy" Prelude.<$> policy,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ApiKeySourceType" RestApi where+  type PropertyType "ApiKeySourceType" RestApi = Value Prelude.Text+  set newValue RestApi {..}+    = RestApi {apiKeySourceType = Prelude.pure newValue, ..}+instance Property "BinaryMediaTypes" RestApi where+  type PropertyType "BinaryMediaTypes" RestApi = ValueList Prelude.Text+  set newValue RestApi {..}+    = RestApi {binaryMediaTypes = Prelude.pure newValue, ..}+instance Property "Body" RestApi where+  type PropertyType "Body" RestApi = JSON.Object+  set newValue RestApi {..}+    = RestApi {body = Prelude.pure newValue, ..}+instance Property "BodyS3Location" RestApi where+  type PropertyType "BodyS3Location" RestApi = S3LocationProperty+  set newValue RestApi {..}+    = RestApi {bodyS3Location = Prelude.pure newValue, ..}+instance Property "CloneFrom" RestApi where+  type PropertyType "CloneFrom" RestApi = Value Prelude.Text+  set newValue RestApi {..}+    = RestApi {cloneFrom = Prelude.pure newValue, ..}+instance Property "Description" RestApi where+  type PropertyType "Description" RestApi = Value Prelude.Text+  set newValue RestApi {..}+    = RestApi {description = Prelude.pure newValue, ..}+instance Property "DisableExecuteApiEndpoint" RestApi where+  type PropertyType "DisableExecuteApiEndpoint" RestApi = Value Prelude.Bool+  set newValue RestApi {..}+    = RestApi {disableExecuteApiEndpoint = Prelude.pure newValue, ..}+instance Property "EndpointConfiguration" RestApi where+  type PropertyType "EndpointConfiguration" RestApi = EndpointConfigurationProperty+  set newValue RestApi {..}+    = RestApi {endpointConfiguration = Prelude.pure newValue, ..}+instance Property "FailOnWarnings" RestApi where+  type PropertyType "FailOnWarnings" RestApi = Value Prelude.Bool+  set newValue RestApi {..}+    = RestApi {failOnWarnings = Prelude.pure newValue, ..}+instance Property "MinimumCompressionSize" RestApi where+  type PropertyType "MinimumCompressionSize" RestApi = Value Prelude.Integer+  set newValue RestApi {..}+    = RestApi {minimumCompressionSize = Prelude.pure newValue, ..}+instance Property "Mode" RestApi where+  type PropertyType "Mode" RestApi = Value Prelude.Text+  set newValue RestApi {..}+    = RestApi {mode = Prelude.pure newValue, ..}+instance Property "Name" RestApi where+  type PropertyType "Name" RestApi = Value Prelude.Text+  set newValue RestApi {..}+    = RestApi {name = Prelude.pure newValue, ..}+instance Property "Parameters" RestApi where+  type PropertyType "Parameters" RestApi = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue RestApi {..}+    = RestApi {parameters = Prelude.pure newValue, ..}+instance Property "Policy" RestApi where+  type PropertyType "Policy" RestApi = JSON.Object+  set newValue RestApi {..}+    = RestApi {policy = Prelude.pure newValue, ..}+instance Property "Tags" RestApi where+  type PropertyType "Tags" RestApi = [Tag]+  set newValue RestApi {..}+    = RestApi {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/RestApi/EndpointConfigurationProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.ApiGateway.RestApi.EndpointConfigurationProperty (+        EndpointConfigurationProperty(..), mkEndpointConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EndpointConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html>+    EndpointConfigurationProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-ipaddresstype>+                                   ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types>+                                   types :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids>+                                   vpcEndpointIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEndpointConfigurationProperty :: EndpointConfigurationProperty+mkEndpointConfigurationProperty+  = EndpointConfigurationProperty+      {haddock_workaround_ = (), ipAddressType = Prelude.Nothing,+       types = Prelude.Nothing, vpcEndpointIds = Prelude.Nothing}+instance ToResourceProperties EndpointConfigurationProperty where+  toResourceProperties EndpointConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::RestApi.EndpointConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                            (JSON..=) "Types" Prelude.<$> types,+                            (JSON..=) "VpcEndpointIds" Prelude.<$> vpcEndpointIds])}+instance JSON.ToJSON EndpointConfigurationProperty where+  toJSON EndpointConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+               (JSON..=) "Types" Prelude.<$> types,+               (JSON..=) "VpcEndpointIds" Prelude.<$> vpcEndpointIds]))+instance Property "IpAddressType" EndpointConfigurationProperty where+  type PropertyType "IpAddressType" EndpointConfigurationProperty = Value Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty+        {ipAddressType = Prelude.pure newValue, ..}+instance Property "Types" EndpointConfigurationProperty where+  type PropertyType "Types" EndpointConfigurationProperty = ValueList Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty {types = Prelude.pure newValue, ..}+instance Property "VpcEndpointIds" EndpointConfigurationProperty where+  type PropertyType "VpcEndpointIds" EndpointConfigurationProperty = ValueList Prelude.Text+  set newValue EndpointConfigurationProperty {..}+    = EndpointConfigurationProperty+        {vpcEndpointIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/RestApi/EndpointConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.RestApi.EndpointConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EndpointConfigurationProperty :: Prelude.Type+instance ToResourceProperties EndpointConfigurationProperty+instance Prelude.Eq EndpointConfigurationProperty+instance Prelude.Show EndpointConfigurationProperty+instance JSON.ToJSON EndpointConfigurationProperty
+ gen/Stratosphere/ApiGateway/RestApi/S3LocationProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.ApiGateway.RestApi.S3LocationProperty (+        S3LocationProperty(..), mkS3LocationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3LocationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html>+    S3LocationProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket>+                        bucket :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-etag>+                        eTag :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key>+                        key :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version>+                        version :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3LocationProperty :: S3LocationProperty+mkS3LocationProperty+  = S3LocationProperty+      {haddock_workaround_ = (), bucket = Prelude.Nothing,+       eTag = Prelude.Nothing, key = Prelude.Nothing,+       version = Prelude.Nothing}+instance ToResourceProperties S3LocationProperty where+  toResourceProperties S3LocationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::RestApi.S3Location",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Bucket" Prelude.<$> bucket,+                            (JSON..=) "ETag" Prelude.<$> eTag, (JSON..=) "Key" Prelude.<$> key,+                            (JSON..=) "Version" Prelude.<$> version])}+instance JSON.ToJSON S3LocationProperty where+  toJSON S3LocationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Bucket" Prelude.<$> bucket,+               (JSON..=) "ETag" Prelude.<$> eTag, (JSON..=) "Key" Prelude.<$> key,+               (JSON..=) "Version" Prelude.<$> version]))+instance Property "Bucket" S3LocationProperty where+  type PropertyType "Bucket" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {bucket = Prelude.pure newValue, ..}+instance Property "ETag" S3LocationProperty where+  type PropertyType "ETag" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {eTag = Prelude.pure newValue, ..}+instance Property "Key" S3LocationProperty where+  type PropertyType "Key" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {key = Prelude.pure newValue, ..}+instance Property "Version" S3LocationProperty where+  type PropertyType "Version" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {version = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/RestApi/S3LocationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.RestApi.S3LocationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3LocationProperty :: Prelude.Type+instance ToResourceProperties S3LocationProperty+instance Prelude.Eq S3LocationProperty+instance Prelude.Show S3LocationProperty+instance JSON.ToJSON S3LocationProperty
+ gen/Stratosphere/ApiGateway/Stage.hs view
@@ -0,0 +1,153 @@+module Stratosphere.ApiGateway.Stage (+        module Exports, Stage(..), mkStage+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.Stage.AccessLogSettingProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.Stage.CanarySettingProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.Stage.MethodSettingProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Stage+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html>+    Stage {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting>+           accessLogSetting :: (Prelude.Maybe AccessLogSettingProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled>+           cacheClusterEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize>+           cacheClusterSize :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting>+           canarySetting :: (Prelude.Maybe CanarySettingProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-clientcertificateid>+           clientCertificateId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-deploymentid>+           deploymentId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-description>+           description :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-documentationversion>+           documentationVersion :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings>+           methodSettings :: (Prelude.Maybe [MethodSettingProperty]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-restapiid>+           restApiId :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename>+           stageName :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags>+           tags :: (Prelude.Maybe [Tag]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled>+           tracingEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables>+           variables :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStage :: Value Prelude.Text -> Stage+mkStage restApiId+  = Stage+      {haddock_workaround_ = (), restApiId = restApiId,+       accessLogSetting = Prelude.Nothing,+       cacheClusterEnabled = Prelude.Nothing,+       cacheClusterSize = Prelude.Nothing,+       canarySetting = Prelude.Nothing,+       clientCertificateId = Prelude.Nothing,+       deploymentId = Prelude.Nothing, description = Prelude.Nothing,+       documentationVersion = Prelude.Nothing,+       methodSettings = Prelude.Nothing, stageName = Prelude.Nothing,+       tags = Prelude.Nothing, tracingEnabled = Prelude.Nothing,+       variables = Prelude.Nothing}+instance ToResourceProperties Stage where+  toResourceProperties Stage {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Stage", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RestApiId" JSON..= restApiId]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessLogSetting" Prelude.<$> accessLogSetting,+                               (JSON..=) "CacheClusterEnabled" Prelude.<$> cacheClusterEnabled,+                               (JSON..=) "CacheClusterSize" Prelude.<$> cacheClusterSize,+                               (JSON..=) "CanarySetting" Prelude.<$> canarySetting,+                               (JSON..=) "ClientCertificateId" Prelude.<$> clientCertificateId,+                               (JSON..=) "DeploymentId" Prelude.<$> deploymentId,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DocumentationVersion" Prelude.<$> documentationVersion,+                               (JSON..=) "MethodSettings" Prelude.<$> methodSettings,+                               (JSON..=) "StageName" Prelude.<$> stageName,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "TracingEnabled" Prelude.<$> tracingEnabled,+                               (JSON..=) "Variables" Prelude.<$> variables]))}+instance JSON.ToJSON Stage where+  toJSON Stage {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RestApiId" JSON..= restApiId]+              (Prelude.catMaybes+                 [(JSON..=) "AccessLogSetting" Prelude.<$> accessLogSetting,+                  (JSON..=) "CacheClusterEnabled" Prelude.<$> cacheClusterEnabled,+                  (JSON..=) "CacheClusterSize" Prelude.<$> cacheClusterSize,+                  (JSON..=) "CanarySetting" Prelude.<$> canarySetting,+                  (JSON..=) "ClientCertificateId" Prelude.<$> clientCertificateId,+                  (JSON..=) "DeploymentId" Prelude.<$> deploymentId,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DocumentationVersion" Prelude.<$> documentationVersion,+                  (JSON..=) "MethodSettings" Prelude.<$> methodSettings,+                  (JSON..=) "StageName" Prelude.<$> stageName,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "TracingEnabled" Prelude.<$> tracingEnabled,+                  (JSON..=) "Variables" Prelude.<$> variables])))+instance Property "AccessLogSetting" Stage where+  type PropertyType "AccessLogSetting" Stage = AccessLogSettingProperty+  set newValue Stage {..}+    = Stage {accessLogSetting = Prelude.pure newValue, ..}+instance Property "CacheClusterEnabled" Stage where+  type PropertyType "CacheClusterEnabled" Stage = Value Prelude.Bool+  set newValue Stage {..}+    = Stage {cacheClusterEnabled = Prelude.pure newValue, ..}+instance Property "CacheClusterSize" Stage where+  type PropertyType "CacheClusterSize" Stage = Value Prelude.Text+  set newValue Stage {..}+    = Stage {cacheClusterSize = Prelude.pure newValue, ..}+instance Property "CanarySetting" Stage where+  type PropertyType "CanarySetting" Stage = CanarySettingProperty+  set newValue Stage {..}+    = Stage {canarySetting = Prelude.pure newValue, ..}+instance Property "ClientCertificateId" Stage where+  type PropertyType "ClientCertificateId" Stage = Value Prelude.Text+  set newValue Stage {..}+    = Stage {clientCertificateId = Prelude.pure newValue, ..}+instance Property "DeploymentId" Stage where+  type PropertyType "DeploymentId" Stage = Value Prelude.Text+  set newValue Stage {..}+    = Stage {deploymentId = Prelude.pure newValue, ..}+instance Property "Description" Stage where+  type PropertyType "Description" Stage = Value Prelude.Text+  set newValue Stage {..}+    = Stage {description = Prelude.pure newValue, ..}+instance Property "DocumentationVersion" Stage where+  type PropertyType "DocumentationVersion" Stage = Value Prelude.Text+  set newValue Stage {..}+    = Stage {documentationVersion = Prelude.pure newValue, ..}+instance Property "MethodSettings" Stage where+  type PropertyType "MethodSettings" Stage = [MethodSettingProperty]+  set newValue Stage {..}+    = Stage {methodSettings = Prelude.pure newValue, ..}+instance Property "RestApiId" Stage where+  type PropertyType "RestApiId" Stage = Value Prelude.Text+  set newValue Stage {..} = Stage {restApiId = newValue, ..}+instance Property "StageName" Stage where+  type PropertyType "StageName" Stage = Value Prelude.Text+  set newValue Stage {..}+    = Stage {stageName = Prelude.pure newValue, ..}+instance Property "Tags" Stage where+  type PropertyType "Tags" Stage = [Tag]+  set newValue Stage {..} = Stage {tags = Prelude.pure newValue, ..}+instance Property "TracingEnabled" Stage where+  type PropertyType "TracingEnabled" Stage = Value Prelude.Bool+  set newValue Stage {..}+    = Stage {tracingEnabled = Prelude.pure newValue, ..}+instance Property "Variables" Stage where+  type PropertyType "Variables" Stage = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue Stage {..}+    = Stage {variables = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Stage/AccessLogSettingProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApiGateway.Stage.AccessLogSettingProperty (+        AccessLogSettingProperty(..), mkAccessLogSettingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessLogSettingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html>+    AccessLogSettingProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-destinationarn>+                              destinationArn :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-format>+                              format :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessLogSettingProperty :: AccessLogSettingProperty+mkAccessLogSettingProperty+  = AccessLogSettingProperty+      {haddock_workaround_ = (), destinationArn = Prelude.Nothing,+       format = Prelude.Nothing}+instance ToResourceProperties AccessLogSettingProperty where+  toResourceProperties AccessLogSettingProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Stage.AccessLogSetting",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DestinationArn" Prelude.<$> destinationArn,+                            (JSON..=) "Format" Prelude.<$> format])}+instance JSON.ToJSON AccessLogSettingProperty where+  toJSON AccessLogSettingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DestinationArn" Prelude.<$> destinationArn,+               (JSON..=) "Format" Prelude.<$> format]))+instance Property "DestinationArn" AccessLogSettingProperty where+  type PropertyType "DestinationArn" AccessLogSettingProperty = Value Prelude.Text+  set newValue AccessLogSettingProperty {..}+    = AccessLogSettingProperty+        {destinationArn = Prelude.pure newValue, ..}+instance Property "Format" AccessLogSettingProperty where+  type PropertyType "Format" AccessLogSettingProperty = Value Prelude.Text+  set newValue AccessLogSettingProperty {..}+    = AccessLogSettingProperty {format = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Stage/AccessLogSettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Stage.AccessLogSettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessLogSettingProperty :: Prelude.Type+instance ToResourceProperties AccessLogSettingProperty+instance Prelude.Eq AccessLogSettingProperty+instance Prelude.Show AccessLogSettingProperty+instance JSON.ToJSON AccessLogSettingProperty
+ gen/Stratosphere/ApiGateway/Stage/CanarySettingProperty.hs view
@@ -0,0 +1,67 @@+module Stratosphere.ApiGateway.Stage.CanarySettingProperty (+        CanarySettingProperty(..), mkCanarySettingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CanarySettingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html>+    CanarySettingProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-deploymentid>+                           deploymentId :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-percenttraffic>+                           percentTraffic :: (Prelude.Maybe (Value Prelude.Double)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-stagevariableoverrides>+                           stageVariableOverrides :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-usestagecache>+                           useStageCache :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCanarySettingProperty :: CanarySettingProperty+mkCanarySettingProperty+  = CanarySettingProperty+      {haddock_workaround_ = (), deploymentId = Prelude.Nothing,+       percentTraffic = Prelude.Nothing,+       stageVariableOverrides = Prelude.Nothing,+       useStageCache = Prelude.Nothing}+instance ToResourceProperties CanarySettingProperty where+  toResourceProperties CanarySettingProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::Stage.CanarySetting",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeploymentId" Prelude.<$> deploymentId,+                            (JSON..=) "PercentTraffic" Prelude.<$> percentTraffic,+                            (JSON..=) "StageVariableOverrides"+                              Prelude.<$> stageVariableOverrides,+                            (JSON..=) "UseStageCache" Prelude.<$> useStageCache])}+instance JSON.ToJSON CanarySettingProperty where+  toJSON CanarySettingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeploymentId" Prelude.<$> deploymentId,+               (JSON..=) "PercentTraffic" Prelude.<$> percentTraffic,+               (JSON..=) "StageVariableOverrides"+                 Prelude.<$> stageVariableOverrides,+               (JSON..=) "UseStageCache" Prelude.<$> useStageCache]))+instance Property "DeploymentId" CanarySettingProperty where+  type PropertyType "DeploymentId" CanarySettingProperty = Value Prelude.Text+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty {deploymentId = Prelude.pure newValue, ..}+instance Property "PercentTraffic" CanarySettingProperty where+  type PropertyType "PercentTraffic" CanarySettingProperty = Value Prelude.Double+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty+        {percentTraffic = Prelude.pure newValue, ..}+instance Property "StageVariableOverrides" CanarySettingProperty where+  type PropertyType "StageVariableOverrides" CanarySettingProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty+        {stageVariableOverrides = Prelude.pure newValue, ..}+instance Property "UseStageCache" CanarySettingProperty where+  type PropertyType "UseStageCache" CanarySettingProperty = Value Prelude.Bool+  set newValue CanarySettingProperty {..}+    = CanarySettingProperty {useStageCache = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/Stage/CanarySettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Stage.CanarySettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CanarySettingProperty :: Prelude.Type+instance ToResourceProperties CanarySettingProperty+instance Prelude.Eq CanarySettingProperty+instance Prelude.Show CanarySettingProperty+instance JSON.ToJSON CanarySettingProperty
+ gen/Stratosphere/ApiGateway/Stage/MethodSettingProperty.hs view
@@ -0,0 +1,122 @@+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: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html>+    MethodSettingProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachedataencrypted>+                           cacheDataEncrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachettlinseconds>+                           cacheTtlInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachingenabled>+                           cachingEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-datatraceenabled>+                           dataTraceEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-httpmethod>+                           httpMethod :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-logginglevel>+                           loggingLevel :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-metricsenabled>+                           metricsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-resourcepath>+                           resourcePath :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingburstlimit>+                           throttlingBurstLimit :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingratelimit>+                           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, ..}
+ gen/Stratosphere/ApiGateway/Stage/MethodSettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.Stage.MethodSettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MethodSettingProperty :: Prelude.Type+instance ToResourceProperties MethodSettingProperty+instance Prelude.Eq MethodSettingProperty+instance Prelude.Show MethodSettingProperty+instance JSON.ToJSON MethodSettingProperty
+ gen/Stratosphere/ApiGateway/UsagePlan.hs view
@@ -0,0 +1,83 @@+module Stratosphere.ApiGateway.UsagePlan (+        module Exports, UsagePlan(..), mkUsagePlan+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.UsagePlan.ApiStageProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.UsagePlan.QuotaSettingsProperty as Exports+import {-# SOURCE #-} Stratosphere.ApiGateway.UsagePlan.ThrottleSettingsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data UsagePlan+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html>+    UsagePlan {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages>+               apiStages :: (Prelude.Maybe [ApiStageProperty]),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description>+               description :: (Prelude.Maybe (Value Prelude.Text)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota>+               quota :: (Prelude.Maybe QuotaSettingsProperty),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags>+               tags :: (Prelude.Maybe [Tag]),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle>+               throttle :: (Prelude.Maybe ThrottleSettingsProperty),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname>+               usagePlanName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkUsagePlan :: UsagePlan+mkUsagePlan+  = UsagePlan+      {haddock_workaround_ = (), apiStages = Prelude.Nothing,+       description = Prelude.Nothing, quota = Prelude.Nothing,+       tags = Prelude.Nothing, throttle = Prelude.Nothing,+       usagePlanName = Prelude.Nothing}+instance ToResourceProperties UsagePlan where+  toResourceProperties UsagePlan {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::UsagePlan",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ApiStages" Prelude.<$> apiStages,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "Quota" Prelude.<$> quota,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "Throttle" Prelude.<$> throttle,+                            (JSON..=) "UsagePlanName" Prelude.<$> usagePlanName])}+instance JSON.ToJSON UsagePlan where+  toJSON UsagePlan {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ApiStages" Prelude.<$> apiStages,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "Quota" Prelude.<$> quota,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "Throttle" Prelude.<$> throttle,+               (JSON..=) "UsagePlanName" Prelude.<$> usagePlanName]))+instance Property "ApiStages" UsagePlan where+  type PropertyType "ApiStages" UsagePlan = [ApiStageProperty]+  set newValue UsagePlan {..}+    = UsagePlan {apiStages = Prelude.pure newValue, ..}+instance Property "Description" UsagePlan where+  type PropertyType "Description" UsagePlan = Value Prelude.Text+  set newValue UsagePlan {..}+    = UsagePlan {description = Prelude.pure newValue, ..}+instance Property "Quota" UsagePlan where+  type PropertyType "Quota" UsagePlan = QuotaSettingsProperty+  set newValue UsagePlan {..}+    = UsagePlan {quota = Prelude.pure newValue, ..}+instance Property "Tags" UsagePlan where+  type PropertyType "Tags" UsagePlan = [Tag]+  set newValue UsagePlan {..}+    = UsagePlan {tags = Prelude.pure newValue, ..}+instance Property "Throttle" UsagePlan where+  type PropertyType "Throttle" UsagePlan = ThrottleSettingsProperty+  set newValue UsagePlan {..}+    = UsagePlan {throttle = Prelude.pure newValue, ..}+instance Property "UsagePlanName" UsagePlan where+  type PropertyType "UsagePlanName" UsagePlan = Value Prelude.Text+  set newValue UsagePlan {..}+    = UsagePlan {usagePlanName = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/UsagePlan/ApiStageProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.ApiGateway.UsagePlan.ApiStageProperty (+        module Exports, ApiStageProperty(..), mkApiStageProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApiGateway.UsagePlan.ThrottleSettingsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ApiStageProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html>+    ApiStageProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-apiid>+                      apiId :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-stage>+                      stage :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-throttle>+                      throttle :: (Prelude.Maybe (Prelude.Map Prelude.Text ThrottleSettingsProperty))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApiStageProperty :: ApiStageProperty+mkApiStageProperty+  = ApiStageProperty+      {haddock_workaround_ = (), apiId = Prelude.Nothing,+       stage = Prelude.Nothing, throttle = Prelude.Nothing}+instance ToResourceProperties ApiStageProperty where+  toResourceProperties ApiStageProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::UsagePlan.ApiStage",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ApiId" Prelude.<$> apiId,+                            (JSON..=) "Stage" Prelude.<$> stage,+                            (JSON..=) "Throttle" Prelude.<$> throttle])}+instance JSON.ToJSON ApiStageProperty where+  toJSON ApiStageProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ApiId" Prelude.<$> apiId,+               (JSON..=) "Stage" Prelude.<$> stage,+               (JSON..=) "Throttle" Prelude.<$> throttle]))+instance Property "ApiId" ApiStageProperty where+  type PropertyType "ApiId" ApiStageProperty = Value Prelude.Text+  set newValue ApiStageProperty {..}+    = ApiStageProperty {apiId = Prelude.pure newValue, ..}+instance Property "Stage" ApiStageProperty where+  type PropertyType "Stage" ApiStageProperty = Value Prelude.Text+  set newValue ApiStageProperty {..}+    = ApiStageProperty {stage = Prelude.pure newValue, ..}+instance Property "Throttle" ApiStageProperty where+  type PropertyType "Throttle" ApiStageProperty = Prelude.Map Prelude.Text ThrottleSettingsProperty+  set newValue ApiStageProperty {..}+    = ApiStageProperty {throttle = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/UsagePlan/ApiStageProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.UsagePlan.ApiStageProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ApiStageProperty :: Prelude.Type+instance ToResourceProperties ApiStageProperty+instance Prelude.Eq ApiStageProperty+instance Prelude.Show ApiStageProperty+instance JSON.ToJSON ApiStageProperty
+ gen/Stratosphere/ApiGateway/UsagePlan/QuotaSettingsProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.ApiGateway.UsagePlan.QuotaSettingsProperty (+        QuotaSettingsProperty(..), mkQuotaSettingsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data QuotaSettingsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html>+    QuotaSettingsProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-limit>+                           limit :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-offset>+                           offset :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-period>+                           period :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkQuotaSettingsProperty :: QuotaSettingsProperty+mkQuotaSettingsProperty+  = QuotaSettingsProperty+      {haddock_workaround_ = (), limit = Prelude.Nothing,+       offset = Prelude.Nothing, period = Prelude.Nothing}+instance ToResourceProperties QuotaSettingsProperty where+  toResourceProperties QuotaSettingsProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::UsagePlan.QuotaSettings",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Limit" Prelude.<$> limit,+                            (JSON..=) "Offset" Prelude.<$> offset,+                            (JSON..=) "Period" Prelude.<$> period])}+instance JSON.ToJSON QuotaSettingsProperty where+  toJSON QuotaSettingsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Limit" Prelude.<$> limit,+               (JSON..=) "Offset" Prelude.<$> offset,+               (JSON..=) "Period" Prelude.<$> period]))+instance Property "Limit" QuotaSettingsProperty where+  type PropertyType "Limit" QuotaSettingsProperty = Value Prelude.Integer+  set newValue QuotaSettingsProperty {..}+    = QuotaSettingsProperty {limit = Prelude.pure newValue, ..}+instance Property "Offset" QuotaSettingsProperty where+  type PropertyType "Offset" QuotaSettingsProperty = Value Prelude.Integer+  set newValue QuotaSettingsProperty {..}+    = QuotaSettingsProperty {offset = Prelude.pure newValue, ..}+instance Property "Period" QuotaSettingsProperty where+  type PropertyType "Period" QuotaSettingsProperty = Value Prelude.Text+  set newValue QuotaSettingsProperty {..}+    = QuotaSettingsProperty {period = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/UsagePlan/QuotaSettingsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.UsagePlan.QuotaSettingsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data QuotaSettingsProperty :: Prelude.Type+instance ToResourceProperties QuotaSettingsProperty+instance Prelude.Eq QuotaSettingsProperty+instance Prelude.Show QuotaSettingsProperty+instance JSON.ToJSON QuotaSettingsProperty
+ gen/Stratosphere/ApiGateway/UsagePlan/ThrottleSettingsProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.ApiGateway.UsagePlan.ThrottleSettingsProperty (+        ThrottleSettingsProperty(..), mkThrottleSettingsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ThrottleSettingsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html>+    ThrottleSettingsProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-burstlimit>+                              burstLimit :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-ratelimit>+                              rateLimit :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkThrottleSettingsProperty :: ThrottleSettingsProperty+mkThrottleSettingsProperty+  = ThrottleSettingsProperty+      {haddock_workaround_ = (), burstLimit = Prelude.Nothing,+       rateLimit = Prelude.Nothing}+instance ToResourceProperties ThrottleSettingsProperty where+  toResourceProperties ThrottleSettingsProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::UsagePlan.ThrottleSettings",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BurstLimit" Prelude.<$> burstLimit,+                            (JSON..=) "RateLimit" Prelude.<$> rateLimit])}+instance JSON.ToJSON ThrottleSettingsProperty where+  toJSON ThrottleSettingsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BurstLimit" Prelude.<$> burstLimit,+               (JSON..=) "RateLimit" Prelude.<$> rateLimit]))+instance Property "BurstLimit" ThrottleSettingsProperty where+  type PropertyType "BurstLimit" ThrottleSettingsProperty = Value Prelude.Integer+  set newValue ThrottleSettingsProperty {..}+    = ThrottleSettingsProperty {burstLimit = Prelude.pure newValue, ..}+instance Property "RateLimit" ThrottleSettingsProperty where+  type PropertyType "RateLimit" ThrottleSettingsProperty = Value Prelude.Double+  set newValue ThrottleSettingsProperty {..}+    = ThrottleSettingsProperty {rateLimit = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApiGateway/UsagePlan/ThrottleSettingsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApiGateway.UsagePlan.ThrottleSettingsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ThrottleSettingsProperty :: Prelude.Type+instance ToResourceProperties ThrottleSettingsProperty+instance Prelude.Eq ThrottleSettingsProperty+instance Prelude.Show ThrottleSettingsProperty+instance JSON.ToJSON ThrottleSettingsProperty
+ gen/Stratosphere/ApiGateway/UsagePlanKey.hs view
@@ -0,0 +1,49 @@+module Stratosphere.ApiGateway.UsagePlanKey (+        UsagePlanKey(..), mkUsagePlanKey+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data UsagePlanKey+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html>+    UsagePlanKey {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keyid>+                  keyId :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keytype>+                  keyType :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-usageplanid>+                  usagePlanId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkUsagePlanKey ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> UsagePlanKey+mkUsagePlanKey keyId keyType usagePlanId+  = UsagePlanKey+      {haddock_workaround_ = (), keyId = keyId, keyType = keyType,+       usagePlanId = usagePlanId}+instance ToResourceProperties UsagePlanKey where+  toResourceProperties UsagePlanKey {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::UsagePlanKey",+         supportsTags = Prelude.False,+         properties = ["KeyId" JSON..= keyId, "KeyType" JSON..= keyType,+                       "UsagePlanId" JSON..= usagePlanId]}+instance JSON.ToJSON UsagePlanKey where+  toJSON UsagePlanKey {..}+    = JSON.object+        ["KeyId" JSON..= keyId, "KeyType" JSON..= keyType,+         "UsagePlanId" JSON..= usagePlanId]+instance Property "KeyId" UsagePlanKey where+  type PropertyType "KeyId" UsagePlanKey = Value Prelude.Text+  set newValue UsagePlanKey {..}+    = UsagePlanKey {keyId = newValue, ..}+instance Property "KeyType" UsagePlanKey where+  type PropertyType "KeyType" UsagePlanKey = Value Prelude.Text+  set newValue UsagePlanKey {..}+    = UsagePlanKey {keyType = newValue, ..}+instance Property "UsagePlanId" UsagePlanKey where+  type PropertyType "UsagePlanId" UsagePlanKey = Value Prelude.Text+  set newValue UsagePlanKey {..}+    = UsagePlanKey {usagePlanId = newValue, ..}
+ gen/Stratosphere/ApiGateway/VpcLink.hs view
@@ -0,0 +1,60 @@+module Stratosphere.ApiGateway.VpcLink (+        VpcLink(..), mkVpcLink+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VpcLink+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html>+    VpcLink {haddock_workaround_ :: (),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-description>+             description :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-name>+             name :: (Value Prelude.Text),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-tags>+             tags :: (Prelude.Maybe [Tag]),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-targetarns>+             targetArns :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcLink ::+  Value Prelude.Text -> ValueList Prelude.Text -> VpcLink+mkVpcLink name targetArns+  = VpcLink+      {haddock_workaround_ = (), name = name, targetArns = targetArns,+       description = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VpcLink where+  toResourceProperties VpcLink {..}+    = ResourceProperties+        {awsType = "AWS::ApiGateway::VpcLink", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name, "TargetArns" JSON..= targetArns]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VpcLink where+  toJSON VpcLink {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name, "TargetArns" JSON..= targetArns]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" VpcLink where+  type PropertyType "Description" VpcLink = Value Prelude.Text+  set newValue VpcLink {..}+    = VpcLink {description = Prelude.pure newValue, ..}+instance Property "Name" VpcLink where+  type PropertyType "Name" VpcLink = Value Prelude.Text+  set newValue VpcLink {..} = VpcLink {name = newValue, ..}+instance Property "Tags" VpcLink where+  type PropertyType "Tags" VpcLink = [Tag]+  set newValue VpcLink {..}+    = VpcLink {tags = Prelude.pure newValue, ..}+instance Property "TargetArns" VpcLink where+  type PropertyType "TargetArns" VpcLink = ValueList Prelude.Text+  set newValue VpcLink {..} = VpcLink {targetArns = newValue, ..}
+ stratosphere-apigateway.cabal view
@@ -0,0 +1,115 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-apigateway+version:        1.0.0+synopsis:       Stratosphere integration for AWS ApiGateway.+description:    Integration into stratosphere to generate resources and properties for AWS ApiGateway+category:       AWS, Cloud, ApiGateway+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.ApiGateway.Account+      Stratosphere.ApiGateway.ApiKey+      Stratosphere.ApiGateway.ApiKey.StageKeyProperty+      Stratosphere.ApiGateway.Authorizer+      Stratosphere.ApiGateway.BasePathMapping+      Stratosphere.ApiGateway.BasePathMappingV2+      Stratosphere.ApiGateway.ClientCertificate+      Stratosphere.ApiGateway.Deployment+      Stratosphere.ApiGateway.Deployment.AccessLogSettingProperty+      Stratosphere.ApiGateway.Deployment.CanarySettingProperty+      Stratosphere.ApiGateway.Deployment.DeploymentCanarySettingsProperty+      Stratosphere.ApiGateway.Deployment.MethodSettingProperty+      Stratosphere.ApiGateway.Deployment.StageDescriptionProperty+      Stratosphere.ApiGateway.DocumentationPart+      Stratosphere.ApiGateway.DocumentationPart.LocationProperty+      Stratosphere.ApiGateway.DocumentationVersion+      Stratosphere.ApiGateway.DomainName+      Stratosphere.ApiGateway.DomainName.EndpointConfigurationProperty+      Stratosphere.ApiGateway.DomainName.MutualTlsAuthenticationProperty+      Stratosphere.ApiGateway.DomainNameAccessAssociation+      Stratosphere.ApiGateway.DomainNameV2+      Stratosphere.ApiGateway.DomainNameV2.EndpointConfigurationProperty+      Stratosphere.ApiGateway.GatewayResponse+      Stratosphere.ApiGateway.Method+      Stratosphere.ApiGateway.Method.IntegrationProperty+      Stratosphere.ApiGateway.Method.IntegrationResponseProperty+      Stratosphere.ApiGateway.Method.MethodResponseProperty+      Stratosphere.ApiGateway.Model+      Stratosphere.ApiGateway.RequestValidator+      Stratosphere.ApiGateway.Resource+      Stratosphere.ApiGateway.RestApi+      Stratosphere.ApiGateway.RestApi.EndpointConfigurationProperty+      Stratosphere.ApiGateway.RestApi.S3LocationProperty+      Stratosphere.ApiGateway.Stage+      Stratosphere.ApiGateway.Stage.AccessLogSettingProperty+      Stratosphere.ApiGateway.Stage.CanarySettingProperty+      Stratosphere.ApiGateway.Stage.MethodSettingProperty+      Stratosphere.ApiGateway.UsagePlan+      Stratosphere.ApiGateway.UsagePlan.ApiStageProperty+      Stratosphere.ApiGateway.UsagePlan.QuotaSettingsProperty+      Stratosphere.ApiGateway.UsagePlan.ThrottleSettingsProperty+      Stratosphere.ApiGateway.UsagePlanKey+      Stratosphere.ApiGateway.VpcLink+  other-modules:+      Paths_stratosphere_apigateway+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn