packages feed

stratosphere 0.27.0 → 0.28.0

raw patch · 77 files changed

+3618/−491 lines, 77 files

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Change Log +## 0.28.0++* Update resource specification document to version 2.15.0+ ## 0.27.0  * Update resource specification document to version 2.12.0
− examples/apigw-lambda-dynamodb.hs
@@ -1,354 +0,0 @@-{-# LANGUAGE OverloadedLists #-}-{-# LANGUAGE OverloadedStrings #-}--module Main where--import Control.Lens-import Data.Aeson (Value (Array), object)-import qualified Data.ByteString.Lazy.Char8 as B-import Data.Text (Text)-import Stratosphere----- to curl the endpoints: (substitute your APIGW deployment URL)--- curl -v -X POST -H "Content-Type: application/json" -d "{\"property\": 3}" "https://k99jn3an8a.execute-api.us-east-1.amazonaws.com/v1/thing"--- curl -v "https://k99jn3an8a.execute-api.us-east-1.amazonaws.com/v1/thing"--main :: IO ()-main = B.putStrLn $ encodeTemplate myTemplate--myTemplate :: Template-myTemplate = template-  [ readLambdaRole-  , writeLambdaRole-  , readLambda-  , writeLambda-  , readLambdaPermission-  , writeLambdaPermission-  , dynamoDbTable-  , apiGWRestApi-  , apiGWResource-  , getMethod-  , postMethod-  , apiGWDeployment-  ]-  & templateDescription ?~ "Simple restful API gateway attached to a Lambda that reads from and writes the request body to a DynamoDB table"-  & templateFormatVersion ?~ "2010-09-09"--apiGWRestApi :: Resource-apiGWRestApi =-  resource "ApiGWRestApi" $-  ApiGatewayRestApiProperties $-  apiGatewayRestApi-  & agraName ?~ "myApi"--apiGWResource :: Resource-apiGWResource =-  resource "ApiGWResource" $-  ApiGatewayResourceProperties $-  apiGatewayResource-    (GetAtt "ApiGWRestApi" "RootResourceId")-    "thing"-    (toRef apiGWRestApi)---getMethod :: Resource-getMethod = (-  resource "ApiGWGetMethod" $-  ApiGatewayMethodProperties $-  apiGatewayMethod-    (Literal GET)-    (toRef apiGWResource)-    (toRef apiGWRestApi)-    & agmeAuthorizationType ?~ Literal NONE-    & agmeAuthorizerId ?~ toRef apiGWRestApi-    & agmeIntegration ?~ integration-    & agmeMethodResponses ?~ [ methodResponse ]-  )-  & resourceDependsOn ?~ deps [readLambdaPermission]--  where-    integration =-      apiGatewayMethodIntegration-      & agmiType ?~ Literal AWS-      & agmiIntegrationHttpMethod ?~ Literal POST-      & agmiUri ?~ Join "" [-          "arn:aws:apigateway:"-        , Ref "AWS::Region"-        , ":lambda:path/2015-03-31/functions/"-        , GetAtt "ReadTableLambda" "Arn"-        , "/invocations"]-      & agmiIntegrationResponses ?~ [ integrationResponse ]-      & agmiPassthroughBehavior ?~ Literal WHEN_NO_TEMPLATES-      & agmiRequestTemplates ?~ [ ]--    integrationResponse =-      apiGatewayMethodIntegrationResponse-      "200"-      & agmirResponseTemplates ?~ [ ("application/json", "$input.json('$.body')") ]--    methodResponse =-      apiGatewayMethodMethodResponse-      "200"--postMethod :: Resource-postMethod = (-  resource "ApiGWPutMethod" $-  ApiGatewayMethodProperties $-  apiGatewayMethod-    (Literal POST)-    (toRef apiGWResource)-    (toRef apiGWRestApi)-    & agmeAuthorizationType ?~ Literal NONE-    & agmeAuthorizerId ?~ toRef apiGWRestApi-    & agmeIntegration ?~ integration-    & agmeMethodResponses ?~ [ methodResponse ]-  )-  & resourceDependsOn ?~ deps [writeLambdaPermission]--  where-    integration =-      apiGatewayMethodIntegration-      & agmiType ?~ Literal AWS-      & agmiIntegrationHttpMethod ?~ Literal POST-      & agmiUri ?~ Join "" [-          "arn:aws:apigateway:"-        , Ref "AWS::Region"-        , ":lambda:path/2015-03-31/functions/"-        , GetAtt "WriteTableLambda" "Arn"-        , "/invocations"]-      & agmiIntegrationResponses ?~ [integrationResponse]-      & agmiPassthroughBehavior ?~ Literal WHEN_NO_TEMPLATES-      & agmiRequestTemplates ?~ [ ("application/json", "{\"body\": $input.body}") ]--    integrationResponse =-      apiGatewayMethodIntegrationResponse-      "200"-      & agmirResponseTemplates ?~ [ ("application/json", "$input.json('$.body')") ]--    methodResponse =-      apiGatewayMethodMethodResponse-      "200"--apiGWDeployment :: Resource-apiGWDeployment = (resource "ApiGWDeployment" $-  ApiGatewayDeploymentProperties $-  apiGatewayDeployment-    (toRef apiGWRestApi)-    & agdStageName ?~ "v1"-  )-  & resourceDependsOn ?~ deps [-      apiGWResource-    , getMethod-    , postMethod-    ]--readLambda :: Resource-readLambda = (resource "ReadTableLambda" $-  LambdaFunctionProperties $-  lambdaFunction-    lambdaCode-    "index.handler"-    (GetAtt "ReadLambdaRole" "Arn")-    (Literal NodeJS43)-    & lfFunctionName ?~ "readTable"-  )--  where-    lambdaCode :: LambdaFunctionCode-    lambdaCode = lambdaFunctionCode-      & lfcZipFile ?~ code--    code :: Val Text-    code = "\-    \ var AWS = require('aws-sdk');\n\-    \ var awsConfig = { region: 'us-east-1' }; \n\-    \ AWS.config.apiVersions = { dynamodb: '2012-08-10' }; \n\-    \ var dynamoDoc = new AWS.DynamoDB.DocumentClient(awsConfig); \n\-    \ exports.handler = function(event, context, callback) {\n\-    \   console.log(JSON.stringify(event));\n\-    \   var params = { TableName : 'stratosphere-dynamodb-table', Key: { Id: 'abc123' } }; \n\-    \   dynamoDoc.get(params, function(err, data) { \n\-    \     if (err) { \n\-    \       console.log(\"Error:\", err); \n\-    \       callback(err) \n\-    \     } else { \n\-    \       callback(null, {\"body\": data.Item.Data});\n\-    \     } \n\-    \   });\n\-    \ }\n\-    \ "---writeLambda :: Resource-writeLambda =-  resource "WriteTableLambda" $-  LambdaFunctionProperties $-  lambdaFunction-    lambdaCode-    "index.handler"-    (GetAtt "WriteLambdaRole" "Arn")-    (Literal NodeJS43)-    & lfFunctionName ?~ "writeTable"--  where-    lambdaCode :: LambdaFunctionCode-    lambdaCode = lambdaFunctionCode-      & lfcZipFile ?~ code--    code :: Val Text-    code = "\-    \ var AWS = require('aws-sdk');\n\-    \ var awsConfig = { region: 'us-east-1' }; \n\-    \ AWS.config.apiVersions = { dynamodb: '2012-08-10' }; \n\-    \ var dynamoDoc = new AWS.DynamoDB.DocumentClient(awsConfig); \n\-    \ exports.handler = function(event, context, callback) {\n\-    \   console.log(JSON.stringify(event));\n\-    \   var params = { TableName : 'stratosphere-dynamodb-table', Item: { Id: 'abc123', Data: event.body } }; \n\-    \   dynamoDoc.put(params, function(err, data) { \n\-    \     if (err) { \n\-    \       console.log(\"Error:\", err); \n\-    \       callback(err) \n\-    \     } else { \n\-    \       callback(null, {\"body\": 'success!'});\n\-    \     } \n\-    \   });\n\-    \ }\n\-    \ "--readLambdaRole :: Resource-readLambdaRole = resource "ReadLambdaRole" $-  IAMRoleProperties $-  iamRole-  rolePolicyDocumentObject-  & iamrPolicies ?~ [ executePolicy ]-  & iamrRoleName ?~ "ReadLambdaRole"-  & iamrPath ?~ "/"--  where-    executePolicy =-      iamRolePolicy-      [ ("Version", "2012-10-17")-      , ("Statement", statement)-      ]-      "MyLambdaExecutionPolicy"--      where-        statement = object-          [ ("Effect", "Allow")-          , ("Action", actions)-          , ("Resource", "*")-          ]--        actions = Array-          [ "logs:CreateLogGroup"-          , "logs:CreateLogStream"-          , "logs:PutLogEvents"-          , "dynamodb:GetItem"-          ]--    rolePolicyDocumentObject =-      [ ("Version", "2012-10-17")-      , ("Statement", statement)-      ]--      where-        statement = object-          [ ("Effect", "Allow")-          , ("Principal", principal)-          , ("Action", "sts:AssumeRole")-          ]--        principal = object-          [ ("Service", "lambda.amazonaws.com") ]--writeLambdaRole :: Resource-writeLambdaRole = resource "WriteLambdaRole" $-  IAMRoleProperties $-  iamRole-  rolePolicyDocumentObject-  & iamrPolicies ?~ [ executePolicy ]-  & iamrRoleName ?~ "WriteLambdaRole"-  & iamrPath ?~ "/"--  where-    executePolicy =-      iamRolePolicy-      [ ("Version", "2012-10-17")-      , ("Statement", statement)-      ]-      "MyLambdaExecutionPolicy"--      where-        statement = object-          [ ("Effect", "Allow")-          , ("Action", actions)-          , ("Resource", "*")-          ]--        actions = Array-          [ "logs:CreateLogGroup"-          , "logs:CreateLogStream"-          , "logs:PutLogEvents"-          , "dynamodb:PutItem"-          ]---    rolePolicyDocumentObject =-      [ ("Version", "2012-10-17")-      , ("Statement", statement)-      ]--      where-        statement = object-          [ ("Effect", "Allow")-          , ("Principal", principal)-          , ("Action", "sts:AssumeRole")-          ]--        principal = object-          [ ("Service", "lambda.amazonaws.com") ]--readLambdaPermission :: Resource-readLambdaPermission = resource "ReadLambdaPermission" $-  LambdaPermissionProperties $-  lambdaPermission-    "lambda:*"-    (GetAtt "ReadTableLambda" "Arn")-    "apigateway.amazonaws.com"--writeLambdaPermission :: Resource-writeLambdaPermission = resource "WriteLambdaPermission" $-  LambdaPermissionProperties $-  lambdaPermission-    "lambda:*"-    (GetAtt "WriteTableLambda" "Arn")-    "apigateway.amazonaws.com"--dynamoDbTable :: Resource-dynamoDbTable = resource "Table" $-  DynamoDBTableProperties $-  dynamoDBTable-    keySchema-    provisionedThroughput-  & ddbtAttributeDefinitions ?~ attributeDefinitions-  & ddbtTableName ?~ "stratosphere-dynamodb-table"--  where-    attributeDefinitions = [-        dynamoDBTableAttributeDefinition-        (Literal "Id")-        (Literal S)-      ]-    keySchema = [-        dynamoDBTableKeySchema-        (Literal "Id")-        (Literal HASH)-      ]-    provisionedThroughput =-      dynamoDBTableProvisionedThroughput-      (Literal 1)-      (Literal 1)--deps :: [Resource] -> [Text]-deps = map (^. resourceName)
+ library-gen/Stratosphere/ResourceProperties/ASKSkillAuthenticationConfiguration.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html++module Stratosphere.ResourceProperties.ASKSkillAuthenticationConfiguration where++import Stratosphere.ResourceImports+++-- | Full data type definition for ASKSkillAuthenticationConfiguration. See+-- 'askSkillAuthenticationConfiguration' for a more convenient constructor.+data ASKSkillAuthenticationConfiguration =+  ASKSkillAuthenticationConfiguration+  { _aSKSkillAuthenticationConfigurationClientId :: Val Text+  , _aSKSkillAuthenticationConfigurationClientSecret :: Val Text+  , _aSKSkillAuthenticationConfigurationRefreshToken :: Val Text+  } deriving (Show, Eq)++instance ToJSON ASKSkillAuthenticationConfiguration where+  toJSON ASKSkillAuthenticationConfiguration{..} =+    object $+    catMaybes+    [ (Just . ("ClientId",) . toJSON) _aSKSkillAuthenticationConfigurationClientId+    , (Just . ("ClientSecret",) . toJSON) _aSKSkillAuthenticationConfigurationClientSecret+    , (Just . ("RefreshToken",) . toJSON) _aSKSkillAuthenticationConfigurationRefreshToken+    ]++instance FromJSON ASKSkillAuthenticationConfiguration where+  parseJSON (Object obj) =+    ASKSkillAuthenticationConfiguration <$>+      (obj .: "ClientId") <*>+      (obj .: "ClientSecret") <*>+      (obj .: "RefreshToken")+  parseJSON _ = mempty++-- | Constructor for 'ASKSkillAuthenticationConfiguration' containing required+-- fields as arguments.+askSkillAuthenticationConfiguration+  :: Val Text -- ^ 'asksacClientId'+  -> Val Text -- ^ 'asksacClientSecret'+  -> Val Text -- ^ 'asksacRefreshToken'+  -> ASKSkillAuthenticationConfiguration+askSkillAuthenticationConfiguration clientIdarg clientSecretarg refreshTokenarg =+  ASKSkillAuthenticationConfiguration+  { _aSKSkillAuthenticationConfigurationClientId = clientIdarg+  , _aSKSkillAuthenticationConfigurationClientSecret = clientSecretarg+  , _aSKSkillAuthenticationConfigurationRefreshToken = refreshTokenarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html#cfn-ask-skill-authenticationconfiguration-clientid+asksacClientId :: Lens' ASKSkillAuthenticationConfiguration (Val Text)+asksacClientId = lens _aSKSkillAuthenticationConfigurationClientId (\s a -> s { _aSKSkillAuthenticationConfigurationClientId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html#cfn-ask-skill-authenticationconfiguration-clientsecret+asksacClientSecret :: Lens' ASKSkillAuthenticationConfiguration (Val Text)+asksacClientSecret = lens _aSKSkillAuthenticationConfigurationClientSecret (\s a -> s { _aSKSkillAuthenticationConfigurationClientSecret = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html#cfn-ask-skill-authenticationconfiguration-refreshtoken+asksacRefreshToken :: Lens' ASKSkillAuthenticationConfiguration (Val Text)+asksacRefreshToken = lens _aSKSkillAuthenticationConfigurationRefreshToken (\s a -> s { _aSKSkillAuthenticationConfigurationRefreshToken = a })
+ library-gen/Stratosphere/ResourceProperties/ASKSkillOverrides.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html++module Stratosphere.ResourceProperties.ASKSkillOverrides where++import Stratosphere.ResourceImports+++-- | Full data type definition for ASKSkillOverrides. See 'askSkillOverrides'+-- for a more convenient constructor.+data ASKSkillOverrides =+  ASKSkillOverrides+  { _aSKSkillOverridesManifest :: Maybe Object+  } deriving (Show, Eq)++instance ToJSON ASKSkillOverrides where+  toJSON ASKSkillOverrides{..} =+    object $+    catMaybes+    [ fmap (("Manifest",) . toJSON) _aSKSkillOverridesManifest+    ]++instance FromJSON ASKSkillOverrides where+  parseJSON (Object obj) =+    ASKSkillOverrides <$>+      (obj .:? "Manifest")+  parseJSON _ = mempty++-- | Constructor for 'ASKSkillOverrides' containing required fields as+-- arguments.+askSkillOverrides+  :: ASKSkillOverrides+askSkillOverrides  =+  ASKSkillOverrides+  { _aSKSkillOverridesManifest = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html#cfn-ask-skill-overrides-manifest+asksoManifest :: Lens' ASKSkillOverrides (Maybe Object)+asksoManifest = lens _aSKSkillOverridesManifest (\s a -> s { _aSKSkillOverridesManifest = a })
+ library-gen/Stratosphere/ResourceProperties/ASKSkillSkillPackage.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html++module Stratosphere.ResourceProperties.ASKSkillSkillPackage where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.ASKSkillOverrides++-- | Full data type definition for ASKSkillSkillPackage. See+-- 'askSkillSkillPackage' for a more convenient constructor.+data ASKSkillSkillPackage =+  ASKSkillSkillPackage+  { _aSKSkillSkillPackageOverrides :: Maybe ASKSkillOverrides+  , _aSKSkillSkillPackageS3Bucket :: Val Text+  , _aSKSkillSkillPackageS3BucketRole :: Maybe (Val Text)+  , _aSKSkillSkillPackageS3Key :: Val Text+  , _aSKSkillSkillPackageS3ObjectVersion :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON ASKSkillSkillPackage where+  toJSON ASKSkillSkillPackage{..} =+    object $+    catMaybes+    [ fmap (("Overrides",) . toJSON) _aSKSkillSkillPackageOverrides+    , (Just . ("S3Bucket",) . toJSON) _aSKSkillSkillPackageS3Bucket+    , fmap (("S3BucketRole",) . toJSON) _aSKSkillSkillPackageS3BucketRole+    , (Just . ("S3Key",) . toJSON) _aSKSkillSkillPackageS3Key+    , fmap (("S3ObjectVersion",) . toJSON) _aSKSkillSkillPackageS3ObjectVersion+    ]++instance FromJSON ASKSkillSkillPackage where+  parseJSON (Object obj) =+    ASKSkillSkillPackage <$>+      (obj .:? "Overrides") <*>+      (obj .: "S3Bucket") <*>+      (obj .:? "S3BucketRole") <*>+      (obj .: "S3Key") <*>+      (obj .:? "S3ObjectVersion")+  parseJSON _ = mempty++-- | Constructor for 'ASKSkillSkillPackage' containing required fields as+-- arguments.+askSkillSkillPackage+  :: Val Text -- ^ 'asksspS3Bucket'+  -> Val Text -- ^ 'asksspS3Key'+  -> ASKSkillSkillPackage+askSkillSkillPackage s3Bucketarg s3Keyarg =+  ASKSkillSkillPackage+  { _aSKSkillSkillPackageOverrides = Nothing+  , _aSKSkillSkillPackageS3Bucket = s3Bucketarg+  , _aSKSkillSkillPackageS3BucketRole = Nothing+  , _aSKSkillSkillPackageS3Key = s3Keyarg+  , _aSKSkillSkillPackageS3ObjectVersion = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-overrides+asksspOverrides :: Lens' ASKSkillSkillPackage (Maybe ASKSkillOverrides)+asksspOverrides = lens _aSKSkillSkillPackageOverrides (\s a -> s { _aSKSkillSkillPackageOverrides = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucket+asksspS3Bucket :: Lens' ASKSkillSkillPackage (Val Text)+asksspS3Bucket = lens _aSKSkillSkillPackageS3Bucket (\s a -> s { _aSKSkillSkillPackageS3Bucket = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucketrole+asksspS3BucketRole :: Lens' ASKSkillSkillPackage (Maybe (Val Text))+asksspS3BucketRole = lens _aSKSkillSkillPackageS3BucketRole (\s a -> s { _aSKSkillSkillPackageS3BucketRole = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3key+asksspS3Key :: Lens' ASKSkillSkillPackage (Val Text)+asksspS3Key = lens _aSKSkillSkillPackageS3Key (\s a -> s { _aSKSkillSkillPackageS3Key = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3objectversion+asksspS3ObjectVersion :: Lens' ASKSkillSkillPackage (Maybe (Val Text))+asksspS3ObjectVersion = lens _aSKSkillSkillPackageS3ObjectVersion (\s a -> s { _aSKSkillSkillPackageS3ObjectVersion = a })
library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs view
@@ -11,6 +11,7 @@ import Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting import Stratosphere.ResourceProperties.ApiGatewayDeploymentCanarySetting import Stratosphere.ResourceProperties.ApiGatewayDeploymentMethodSetting+import Stratosphere.ResourceProperties.Tag  -- | Full data type definition for ApiGatewayDeploymentStageDescription. See -- 'apiGatewayDeploymentStageDescription' for a more convenient constructor.@@ -30,6 +31,7 @@   , _apiGatewayDeploymentStageDescriptionLoggingLevel :: Maybe (Val LoggingLevel)   , _apiGatewayDeploymentStageDescriptionMethodSettings :: Maybe [ApiGatewayDeploymentMethodSetting]   , _apiGatewayDeploymentStageDescriptionMetricsEnabled :: Maybe (Val Bool)+  , _apiGatewayDeploymentStageDescriptionTags :: Maybe [Tag]   , _apiGatewayDeploymentStageDescriptionThrottlingBurstLimit :: Maybe (Val Integer)   , _apiGatewayDeploymentStageDescriptionThrottlingRateLimit :: Maybe (Val Double)   , _apiGatewayDeploymentStageDescriptionTracingEnabled :: Maybe (Val Bool)@@ -54,6 +56,7 @@     , fmap (("LoggingLevel",) . toJSON) _apiGatewayDeploymentStageDescriptionLoggingLevel     , fmap (("MethodSettings",) . toJSON) _apiGatewayDeploymentStageDescriptionMethodSettings     , fmap (("MetricsEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionMetricsEnabled+    , fmap (("Tags",) . toJSON) _apiGatewayDeploymentStageDescriptionTags     , fmap (("ThrottlingBurstLimit",) . toJSON . fmap Integer') _apiGatewayDeploymentStageDescriptionThrottlingBurstLimit     , fmap (("ThrottlingRateLimit",) . toJSON . fmap Double') _apiGatewayDeploymentStageDescriptionThrottlingRateLimit     , fmap (("TracingEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionTracingEnabled@@ -77,6 +80,7 @@       (obj .:? "LoggingLevel") <*>       (obj .:? "MethodSettings") <*>       fmap (fmap (fmap unBool')) (obj .:? "MetricsEnabled") <*>+      (obj .:? "Tags") <*>       fmap (fmap (fmap unInteger')) (obj .:? "ThrottlingBurstLimit") <*>       fmap (fmap (fmap unDouble')) (obj .:? "ThrottlingRateLimit") <*>       fmap (fmap (fmap unBool')) (obj .:? "TracingEnabled") <*>@@ -103,6 +107,7 @@   , _apiGatewayDeploymentStageDescriptionLoggingLevel = Nothing   , _apiGatewayDeploymentStageDescriptionMethodSettings = Nothing   , _apiGatewayDeploymentStageDescriptionMetricsEnabled = Nothing+  , _apiGatewayDeploymentStageDescriptionTags = Nothing   , _apiGatewayDeploymentStageDescriptionThrottlingBurstLimit = Nothing   , _apiGatewayDeploymentStageDescriptionThrottlingRateLimit = Nothing   , _apiGatewayDeploymentStageDescriptionTracingEnabled = Nothing@@ -164,6 +169,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled agdsdMetricsEnabled :: Lens' ApiGatewayDeploymentStageDescription (Maybe (Val Bool)) agdsdMetricsEnabled = lens _apiGatewayDeploymentStageDescriptionMetricsEnabled (\s a -> s { _apiGatewayDeploymentStageDescriptionMetricsEnabled = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-tags+agdsdTags :: Lens' ApiGatewayDeploymentStageDescription (Maybe [Tag])+agdsdTags = lens _apiGatewayDeploymentStageDescriptionTags (\s a -> s { _apiGatewayDeploymentStageDescriptionTags = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingburstlimit agdsdThrottlingBurstLimit :: Lens' ApiGatewayDeploymentStageDescription (Maybe (Val Integer))
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceAuthorizationConfig.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceAuthorizationConfig where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.AppSyncDataSourceAwsIamConfig++-- | Full data type definition for AppSyncDataSourceAuthorizationConfig. See+-- 'appSyncDataSourceAuthorizationConfig' for a more convenient constructor.+data AppSyncDataSourceAuthorizationConfig =+  AppSyncDataSourceAuthorizationConfig+  { _appSyncDataSourceAuthorizationConfigAuthorizationType :: Val Text+  , _appSyncDataSourceAuthorizationConfigAwsIamConfig :: Maybe AppSyncDataSourceAwsIamConfig+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceAuthorizationConfig where+  toJSON AppSyncDataSourceAuthorizationConfig{..} =+    object $+    catMaybes+    [ (Just . ("AuthorizationType",) . toJSON) _appSyncDataSourceAuthorizationConfigAuthorizationType+    , fmap (("AwsIamConfig",) . toJSON) _appSyncDataSourceAuthorizationConfigAwsIamConfig+    ]++instance FromJSON AppSyncDataSourceAuthorizationConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceAuthorizationConfig <$>+      (obj .: "AuthorizationType") <*>+      (obj .:? "AwsIamConfig")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceAuthorizationConfig' containing+-- required fields as arguments.+appSyncDataSourceAuthorizationConfig+  :: Val Text -- ^ 'asdsacAuthorizationType'+  -> AppSyncDataSourceAuthorizationConfig+appSyncDataSourceAuthorizationConfig authorizationTypearg =+  AppSyncDataSourceAuthorizationConfig+  { _appSyncDataSourceAuthorizationConfigAuthorizationType = authorizationTypearg+  , _appSyncDataSourceAuthorizationConfigAwsIamConfig = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-authorizationtype+asdsacAuthorizationType :: Lens' AppSyncDataSourceAuthorizationConfig (Val Text)+asdsacAuthorizationType = lens _appSyncDataSourceAuthorizationConfigAuthorizationType (\s a -> s { _appSyncDataSourceAuthorizationConfigAuthorizationType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-awsiamconfig+asdsacAwsIamConfig :: Lens' AppSyncDataSourceAuthorizationConfig (Maybe AppSyncDataSourceAwsIamConfig)+asdsacAwsIamConfig = lens _appSyncDataSourceAuthorizationConfigAwsIamConfig (\s a -> s { _appSyncDataSourceAuthorizationConfigAwsIamConfig = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceAwsIamConfig.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceAwsIamConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncDataSourceAwsIamConfig. See+-- 'appSyncDataSourceAwsIamConfig' for a more convenient constructor.+data AppSyncDataSourceAwsIamConfig =+  AppSyncDataSourceAwsIamConfig+  { _appSyncDataSourceAwsIamConfigSigningRegion :: Maybe (Val Text)+  , _appSyncDataSourceAwsIamConfigSigningServiceName :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceAwsIamConfig where+  toJSON AppSyncDataSourceAwsIamConfig{..} =+    object $+    catMaybes+    [ fmap (("SigningRegion",) . toJSON) _appSyncDataSourceAwsIamConfigSigningRegion+    , fmap (("SigningServiceName",) . toJSON) _appSyncDataSourceAwsIamConfigSigningServiceName+    ]++instance FromJSON AppSyncDataSourceAwsIamConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceAwsIamConfig <$>+      (obj .:? "SigningRegion") <*>+      (obj .:? "SigningServiceName")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceAwsIamConfig' containing required+-- fields as arguments.+appSyncDataSourceAwsIamConfig+  :: AppSyncDataSourceAwsIamConfig+appSyncDataSourceAwsIamConfig  =+  AppSyncDataSourceAwsIamConfig+  { _appSyncDataSourceAwsIamConfigSigningRegion = Nothing+  , _appSyncDataSourceAwsIamConfigSigningServiceName = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingregion+asdsaicSigningRegion :: Lens' AppSyncDataSourceAwsIamConfig (Maybe (Val Text))+asdsaicSigningRegion = lens _appSyncDataSourceAwsIamConfigSigningRegion (\s a -> s { _appSyncDataSourceAwsIamConfigSigningRegion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingservicename+asdsaicSigningServiceName :: Lens' AppSyncDataSourceAwsIamConfig (Maybe (Val Text))+asdsaicSigningServiceName = lens _appSyncDataSourceAwsIamConfigSigningServiceName (\s a -> s { _appSyncDataSourceAwsIamConfigSigningServiceName = a })
library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceHttpConfig.hs view
@@ -7,25 +7,28 @@ module Stratosphere.ResourceProperties.AppSyncDataSourceHttpConfig where  import Stratosphere.ResourceImports-+import Stratosphere.ResourceProperties.AppSyncDataSourceAuthorizationConfig  -- | Full data type definition for AppSyncDataSourceHttpConfig. See -- 'appSyncDataSourceHttpConfig' for a more convenient constructor. data AppSyncDataSourceHttpConfig =   AppSyncDataSourceHttpConfig-  { _appSyncDataSourceHttpConfigEndpoint :: Val Text+  { _appSyncDataSourceHttpConfigAuthorizationConfig :: Maybe AppSyncDataSourceAuthorizationConfig+  , _appSyncDataSourceHttpConfigEndpoint :: Val Text   } deriving (Show, Eq)  instance ToJSON AppSyncDataSourceHttpConfig where   toJSON AppSyncDataSourceHttpConfig{..} =     object $     catMaybes-    [ (Just . ("Endpoint",) . toJSON) _appSyncDataSourceHttpConfigEndpoint+    [ fmap (("AuthorizationConfig",) . toJSON) _appSyncDataSourceHttpConfigAuthorizationConfig+    , (Just . ("Endpoint",) . toJSON) _appSyncDataSourceHttpConfigEndpoint     ]  instance FromJSON AppSyncDataSourceHttpConfig where   parseJSON (Object obj) =     AppSyncDataSourceHttpConfig <$>+      (obj .:? "AuthorizationConfig") <*>       (obj .: "Endpoint")   parseJSON _ = mempty @@ -36,8 +39,13 @@   -> AppSyncDataSourceHttpConfig appSyncDataSourceHttpConfig endpointarg =   AppSyncDataSourceHttpConfig-  { _appSyncDataSourceHttpConfigEndpoint = endpointarg+  { _appSyncDataSourceHttpConfigAuthorizationConfig = Nothing+  , _appSyncDataSourceHttpConfigEndpoint = endpointarg   }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-authorizationconfig+asdshcAuthorizationConfig :: Lens' AppSyncDataSourceHttpConfig (Maybe AppSyncDataSourceAuthorizationConfig)+asdshcAuthorizationConfig = lens _appSyncDataSourceHttpConfigAuthorizationConfig (\s a -> s { _appSyncDataSourceHttpConfigAuthorizationConfig = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-endpoint asdshcEndpoint :: Lens' AppSyncDataSourceHttpConfig (Val Text)
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceRdsHttpEndpointConfig.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceRdsHttpEndpointConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncDataSourceRdsHttpEndpointConfig. See+-- 'appSyncDataSourceRdsHttpEndpointConfig' for a more convenient+-- constructor.+data AppSyncDataSourceRdsHttpEndpointConfig =+  AppSyncDataSourceRdsHttpEndpointConfig+  { _appSyncDataSourceRdsHttpEndpointConfigAwsRegion :: Val Text+  , _appSyncDataSourceRdsHttpEndpointConfigAwsSecretStoreArn :: Val Text+  , _appSyncDataSourceRdsHttpEndpointConfigDatabaseName :: Maybe (Val Text)+  , _appSyncDataSourceRdsHttpEndpointConfigDbClusterIdentifier :: Val Text+  , _appSyncDataSourceRdsHttpEndpointConfigSchema :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceRdsHttpEndpointConfig where+  toJSON AppSyncDataSourceRdsHttpEndpointConfig{..} =+    object $+    catMaybes+    [ (Just . ("AwsRegion",) . toJSON) _appSyncDataSourceRdsHttpEndpointConfigAwsRegion+    , (Just . ("AwsSecretStoreArn",) . toJSON) _appSyncDataSourceRdsHttpEndpointConfigAwsSecretStoreArn+    , fmap (("DatabaseName",) . toJSON) _appSyncDataSourceRdsHttpEndpointConfigDatabaseName+    , (Just . ("DbClusterIdentifier",) . toJSON) _appSyncDataSourceRdsHttpEndpointConfigDbClusterIdentifier+    , fmap (("Schema",) . toJSON) _appSyncDataSourceRdsHttpEndpointConfigSchema+    ]++instance FromJSON AppSyncDataSourceRdsHttpEndpointConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceRdsHttpEndpointConfig <$>+      (obj .: "AwsRegion") <*>+      (obj .: "AwsSecretStoreArn") <*>+      (obj .:? "DatabaseName") <*>+      (obj .: "DbClusterIdentifier") <*>+      (obj .:? "Schema")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceRdsHttpEndpointConfig' containing+-- required fields as arguments.+appSyncDataSourceRdsHttpEndpointConfig+  :: Val Text -- ^ 'asdsrhecAwsRegion'+  -> Val Text -- ^ 'asdsrhecAwsSecretStoreArn'+  -> Val Text -- ^ 'asdsrhecDbClusterIdentifier'+  -> AppSyncDataSourceRdsHttpEndpointConfig+appSyncDataSourceRdsHttpEndpointConfig awsRegionarg awsSecretStoreArnarg dbClusterIdentifierarg =+  AppSyncDataSourceRdsHttpEndpointConfig+  { _appSyncDataSourceRdsHttpEndpointConfigAwsRegion = awsRegionarg+  , _appSyncDataSourceRdsHttpEndpointConfigAwsSecretStoreArn = awsSecretStoreArnarg+  , _appSyncDataSourceRdsHttpEndpointConfigDatabaseName = Nothing+  , _appSyncDataSourceRdsHttpEndpointConfigDbClusterIdentifier = dbClusterIdentifierarg+  , _appSyncDataSourceRdsHttpEndpointConfigSchema = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-awsregion+asdsrhecAwsRegion :: Lens' AppSyncDataSourceRdsHttpEndpointConfig (Val Text)+asdsrhecAwsRegion = lens _appSyncDataSourceRdsHttpEndpointConfigAwsRegion (\s a -> s { _appSyncDataSourceRdsHttpEndpointConfigAwsRegion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-awssecretstorearn+asdsrhecAwsSecretStoreArn :: Lens' AppSyncDataSourceRdsHttpEndpointConfig (Val Text)+asdsrhecAwsSecretStoreArn = lens _appSyncDataSourceRdsHttpEndpointConfigAwsSecretStoreArn (\s a -> s { _appSyncDataSourceRdsHttpEndpointConfigAwsSecretStoreArn = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-databasename+asdsrhecDatabaseName :: Lens' AppSyncDataSourceRdsHttpEndpointConfig (Maybe (Val Text))+asdsrhecDatabaseName = lens _appSyncDataSourceRdsHttpEndpointConfigDatabaseName (\s a -> s { _appSyncDataSourceRdsHttpEndpointConfigDatabaseName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-dbclusteridentifier+asdsrhecDbClusterIdentifier :: Lens' AppSyncDataSourceRdsHttpEndpointConfig (Val Text)+asdsrhecDbClusterIdentifier = lens _appSyncDataSourceRdsHttpEndpointConfigDbClusterIdentifier (\s a -> s { _appSyncDataSourceRdsHttpEndpointConfigDbClusterIdentifier = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-schema+asdsrhecSchema :: Lens' AppSyncDataSourceRdsHttpEndpointConfig (Maybe (Val Text))+asdsrhecSchema = lens _appSyncDataSourceRdsHttpEndpointConfigSchema (\s a -> s { _appSyncDataSourceRdsHttpEndpointConfigSchema = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceRelationalDatabaseConfig.hs view
@@ -0,0 +1,53 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceRelationalDatabaseConfig where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.AppSyncDataSourceRdsHttpEndpointConfig++-- | Full data type definition for AppSyncDataSourceRelationalDatabaseConfig.+-- See 'appSyncDataSourceRelationalDatabaseConfig' for a more convenient+-- constructor.+data AppSyncDataSourceRelationalDatabaseConfig =+  AppSyncDataSourceRelationalDatabaseConfig+  { _appSyncDataSourceRelationalDatabaseConfigRdsHttpEndpointConfig :: Maybe AppSyncDataSourceRdsHttpEndpointConfig+  , _appSyncDataSourceRelationalDatabaseConfigRelationalDatabaseSourceType :: Val Text+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceRelationalDatabaseConfig where+  toJSON AppSyncDataSourceRelationalDatabaseConfig{..} =+    object $+    catMaybes+    [ fmap (("RdsHttpEndpointConfig",) . toJSON) _appSyncDataSourceRelationalDatabaseConfigRdsHttpEndpointConfig+    , (Just . ("RelationalDatabaseSourceType",) . toJSON) _appSyncDataSourceRelationalDatabaseConfigRelationalDatabaseSourceType+    ]++instance FromJSON AppSyncDataSourceRelationalDatabaseConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceRelationalDatabaseConfig <$>+      (obj .:? "RdsHttpEndpointConfig") <*>+      (obj .: "RelationalDatabaseSourceType")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceRelationalDatabaseConfig' containing+-- required fields as arguments.+appSyncDataSourceRelationalDatabaseConfig+  :: Val Text -- ^ 'asdsrdcRelationalDatabaseSourceType'+  -> AppSyncDataSourceRelationalDatabaseConfig+appSyncDataSourceRelationalDatabaseConfig relationalDatabaseSourceTypearg =+  AppSyncDataSourceRelationalDatabaseConfig+  { _appSyncDataSourceRelationalDatabaseConfigRdsHttpEndpointConfig = Nothing+  , _appSyncDataSourceRelationalDatabaseConfigRelationalDatabaseSourceType = relationalDatabaseSourceTypearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-rdshttpendpointconfig+asdsrdcRdsHttpEndpointConfig :: Lens' AppSyncDataSourceRelationalDatabaseConfig (Maybe AppSyncDataSourceRdsHttpEndpointConfig)+asdsrdcRdsHttpEndpointConfig = lens _appSyncDataSourceRelationalDatabaseConfigRdsHttpEndpointConfig (\s a -> s { _appSyncDataSourceRelationalDatabaseConfigRdsHttpEndpointConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-relationaldatabasesourcetype+asdsrdcRelationalDatabaseSourceType :: Lens' AppSyncDataSourceRelationalDatabaseConfig (Val Text)+asdsrdcRelationalDatabaseSourceType = lens _appSyncDataSourceRelationalDatabaseConfigRelationalDatabaseSourceType (\s a -> s { _appSyncDataSourceRelationalDatabaseConfigRelationalDatabaseSourceType = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncResolverPipelineConfig.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html++module Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncResolverPipelineConfig. See+-- 'appSyncResolverPipelineConfig' for a more convenient constructor.+data AppSyncResolverPipelineConfig =+  AppSyncResolverPipelineConfig+  { _appSyncResolverPipelineConfigFunctions :: Maybe (ValList Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncResolverPipelineConfig where+  toJSON AppSyncResolverPipelineConfig{..} =+    object $+    catMaybes+    [ fmap (("Functions",) . toJSON) _appSyncResolverPipelineConfigFunctions+    ]++instance FromJSON AppSyncResolverPipelineConfig where+  parseJSON (Object obj) =+    AppSyncResolverPipelineConfig <$>+      (obj .:? "Functions")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncResolverPipelineConfig' containing required+-- fields as arguments.+appSyncResolverPipelineConfig+  :: AppSyncResolverPipelineConfig+appSyncResolverPipelineConfig  =+  AppSyncResolverPipelineConfig+  { _appSyncResolverPipelineConfigFunctions = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html#cfn-appsync-resolver-pipelineconfig-functions+asrpcFunctions :: Lens' AppSyncResolverPipelineConfig (Maybe (ValList Text))+asrpcFunctions = lens _appSyncResolverPipelineConfigFunctions (\s a -> s { _appSyncResolverPipelineConfigFunctions = a })
+ library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupInstancesDistribution.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html++module Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupInstancesDistribution where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- AutoScalingAutoScalingGroupInstancesDistribution. See+-- 'autoScalingAutoScalingGroupInstancesDistribution' for a more convenient+-- constructor.+data AutoScalingAutoScalingGroupInstancesDistribution =+  AutoScalingAutoScalingGroupInstancesDistribution+  { _autoScalingAutoScalingGroupInstancesDistributionOnDemandAllocationStrategy :: Maybe (Val Text)+  , _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity :: Maybe (Val Integer)+  , _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity :: Maybe (Val Integer)+  , _autoScalingAutoScalingGroupInstancesDistributionSpotAllocationStrategy :: Maybe (Val Text)+  , _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools :: Maybe (Val Integer)+  , _autoScalingAutoScalingGroupInstancesDistributionSpotMaxPrice :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AutoScalingAutoScalingGroupInstancesDistribution where+  toJSON AutoScalingAutoScalingGroupInstancesDistribution{..} =+    object $+    catMaybes+    [ fmap (("OnDemandAllocationStrategy",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionOnDemandAllocationStrategy+    , fmap (("OnDemandBaseCapacity",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity+    , fmap (("OnDemandPercentageAboveBaseCapacity",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity+    , fmap (("SpotAllocationStrategy",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionSpotAllocationStrategy+    , fmap (("SpotInstancePools",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools+    , fmap (("SpotMaxPrice",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionSpotMaxPrice+    ]++instance FromJSON AutoScalingAutoScalingGroupInstancesDistribution where+  parseJSON (Object obj) =+    AutoScalingAutoScalingGroupInstancesDistribution <$>+      (obj .:? "OnDemandAllocationStrategy") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "OnDemandBaseCapacity") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "OnDemandPercentageAboveBaseCapacity") <*>+      (obj .:? "SpotAllocationStrategy") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SpotInstancePools") <*>+      (obj .:? "SpotMaxPrice")+  parseJSON _ = mempty++-- | Constructor for 'AutoScalingAutoScalingGroupInstancesDistribution'+-- containing required fields as arguments.+autoScalingAutoScalingGroupInstancesDistribution+  :: AutoScalingAutoScalingGroupInstancesDistribution+autoScalingAutoScalingGroupInstancesDistribution  =+  AutoScalingAutoScalingGroupInstancesDistribution+  { _autoScalingAutoScalingGroupInstancesDistributionOnDemandAllocationStrategy = Nothing+  , _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity = Nothing+  , _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity = Nothing+  , _autoScalingAutoScalingGroupInstancesDistributionSpotAllocationStrategy = Nothing+  , _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools = Nothing+  , _autoScalingAutoScalingGroupInstancesDistributionSpotMaxPrice = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandallocationstrategy+asasgidOnDemandAllocationStrategy :: Lens' AutoScalingAutoScalingGroupInstancesDistribution (Maybe (Val Text))+asasgidOnDemandAllocationStrategy = lens _autoScalingAutoScalingGroupInstancesDistributionOnDemandAllocationStrategy (\s a -> s { _autoScalingAutoScalingGroupInstancesDistributionOnDemandAllocationStrategy = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandbasecapacity+asasgidOnDemandBaseCapacity :: Lens' AutoScalingAutoScalingGroupInstancesDistribution (Maybe (Val Integer))+asasgidOnDemandBaseCapacity = lens _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity (\s a -> s { _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandpercentageabovebasecapacity+asasgidOnDemandPercentageAboveBaseCapacity :: Lens' AutoScalingAutoScalingGroupInstancesDistribution (Maybe (Val Integer))+asasgidOnDemandPercentageAboveBaseCapacity = lens _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity (\s a -> s { _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotallocationstrategy+asasgidSpotAllocationStrategy :: Lens' AutoScalingAutoScalingGroupInstancesDistribution (Maybe (Val Text))+asasgidSpotAllocationStrategy = lens _autoScalingAutoScalingGroupInstancesDistributionSpotAllocationStrategy (\s a -> s { _autoScalingAutoScalingGroupInstancesDistributionSpotAllocationStrategy = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotinstancepools+asasgidSpotInstancePools :: Lens' AutoScalingAutoScalingGroupInstancesDistribution (Maybe (Val Integer))+asasgidSpotInstancePools = lens _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools (\s a -> s { _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotmaxprice+asasgidSpotMaxPrice :: Lens' AutoScalingAutoScalingGroupInstancesDistribution (Maybe (Val Text))+asasgidSpotMaxPrice = lens _autoScalingAutoScalingGroupInstancesDistributionSpotMaxPrice (\s a -> s { _autoScalingAutoScalingGroupInstancesDistributionSpotMaxPrice = a })
+ library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLaunchTemplate.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html++module Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplate where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateOverrides++-- | Full data type definition for AutoScalingAutoScalingGroupLaunchTemplate.+-- See 'autoScalingAutoScalingGroupLaunchTemplate' for a more convenient+-- constructor.+data AutoScalingAutoScalingGroupLaunchTemplate =+  AutoScalingAutoScalingGroupLaunchTemplate+  { _autoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification :: AutoScalingAutoScalingGroupLaunchTemplateSpecification+  , _autoScalingAutoScalingGroupLaunchTemplateOverrides :: Maybe [AutoScalingAutoScalingGroupLaunchTemplateOverrides]+  } deriving (Show, Eq)++instance ToJSON AutoScalingAutoScalingGroupLaunchTemplate where+  toJSON AutoScalingAutoScalingGroupLaunchTemplate{..} =+    object $+    catMaybes+    [ (Just . ("LaunchTemplateSpecification",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification+    , fmap (("Overrides",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplateOverrides+    ]++instance FromJSON AutoScalingAutoScalingGroupLaunchTemplate where+  parseJSON (Object obj) =+    AutoScalingAutoScalingGroupLaunchTemplate <$>+      (obj .: "LaunchTemplateSpecification") <*>+      (obj .:? "Overrides")+  parseJSON _ = mempty++-- | Constructor for 'AutoScalingAutoScalingGroupLaunchTemplate' containing+-- required fields as arguments.+autoScalingAutoScalingGroupLaunchTemplate+  :: AutoScalingAutoScalingGroupLaunchTemplateSpecification -- ^ 'asasgltLaunchTemplateSpecification'+  -> AutoScalingAutoScalingGroupLaunchTemplate+autoScalingAutoScalingGroupLaunchTemplate launchTemplateSpecificationarg =+  AutoScalingAutoScalingGroupLaunchTemplate+  { _autoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification = launchTemplateSpecificationarg+  , _autoScalingAutoScalingGroupLaunchTemplateOverrides = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html#cfn-as-group-launchtemplate+asasgltLaunchTemplateSpecification :: Lens' AutoScalingAutoScalingGroupLaunchTemplate AutoScalingAutoScalingGroupLaunchTemplateSpecification+asasgltLaunchTemplateSpecification = lens _autoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html#cfn-as-mixedinstancespolicy-overrides+asasgltOverrides :: Lens' AutoScalingAutoScalingGroupLaunchTemplate (Maybe [AutoScalingAutoScalingGroupLaunchTemplateOverrides])+asasgltOverrides = lens _autoScalingAutoScalingGroupLaunchTemplateOverrides (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplateOverrides = a })
+ library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLaunchTemplateOverrides.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html++module Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateOverrides where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- AutoScalingAutoScalingGroupLaunchTemplateOverrides. See+-- 'autoScalingAutoScalingGroupLaunchTemplateOverrides' for a more+-- convenient constructor.+data AutoScalingAutoScalingGroupLaunchTemplateOverrides =+  AutoScalingAutoScalingGroupLaunchTemplateOverrides+  { _autoScalingAutoScalingGroupLaunchTemplateOverridesInstanceType :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AutoScalingAutoScalingGroupLaunchTemplateOverrides where+  toJSON AutoScalingAutoScalingGroupLaunchTemplateOverrides{..} =+    object $+    catMaybes+    [ fmap (("InstanceType",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplateOverridesInstanceType+    ]++instance FromJSON AutoScalingAutoScalingGroupLaunchTemplateOverrides where+  parseJSON (Object obj) =+    AutoScalingAutoScalingGroupLaunchTemplateOverrides <$>+      (obj .:? "InstanceType")+  parseJSON _ = mempty++-- | Constructor for 'AutoScalingAutoScalingGroupLaunchTemplateOverrides'+-- containing required fields as arguments.+autoScalingAutoScalingGroupLaunchTemplateOverrides+  :: AutoScalingAutoScalingGroupLaunchTemplateOverrides+autoScalingAutoScalingGroupLaunchTemplateOverrides  =+  AutoScalingAutoScalingGroupLaunchTemplateOverrides+  { _autoScalingAutoScalingGroupLaunchTemplateOverridesInstanceType = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancetype+asasgltoInstanceType :: Lens' AutoScalingAutoScalingGroupLaunchTemplateOverrides (Maybe (Val Text))+asasgltoInstanceType = lens _autoScalingAutoScalingGroupLaunchTemplateOverridesInstanceType (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplateOverridesInstanceType = a })
+ library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupMixedInstancesPolicy.hs view
@@ -0,0 +1,55 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html++module Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMixedInstancesPolicy where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupInstancesDistribution+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplate++-- | Full data type definition for+-- AutoScalingAutoScalingGroupMixedInstancesPolicy. See+-- 'autoScalingAutoScalingGroupMixedInstancesPolicy' for a more convenient+-- constructor.+data AutoScalingAutoScalingGroupMixedInstancesPolicy =+  AutoScalingAutoScalingGroupMixedInstancesPolicy+  { _autoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistribution :: Maybe AutoScalingAutoScalingGroupInstancesDistribution+  , _autoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplate :: AutoScalingAutoScalingGroupLaunchTemplate+  } deriving (Show, Eq)++instance ToJSON AutoScalingAutoScalingGroupMixedInstancesPolicy where+  toJSON AutoScalingAutoScalingGroupMixedInstancesPolicy{..} =+    object $+    catMaybes+    [ fmap (("InstancesDistribution",) . toJSON) _autoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistribution+    , (Just . ("LaunchTemplate",) . toJSON) _autoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplate+    ]++instance FromJSON AutoScalingAutoScalingGroupMixedInstancesPolicy where+  parseJSON (Object obj) =+    AutoScalingAutoScalingGroupMixedInstancesPolicy <$>+      (obj .:? "InstancesDistribution") <*>+      (obj .: "LaunchTemplate")+  parseJSON _ = mempty++-- | Constructor for 'AutoScalingAutoScalingGroupMixedInstancesPolicy'+-- containing required fields as arguments.+autoScalingAutoScalingGroupMixedInstancesPolicy+  :: AutoScalingAutoScalingGroupLaunchTemplate -- ^ 'asasgmipLaunchTemplate'+  -> AutoScalingAutoScalingGroupMixedInstancesPolicy+autoScalingAutoScalingGroupMixedInstancesPolicy launchTemplatearg =+  AutoScalingAutoScalingGroupMixedInstancesPolicy+  { _autoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistribution = Nothing+  , _autoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplate = launchTemplatearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html#cfn-as-mixedinstancespolicy-instancesdistribution+asasgmipInstancesDistribution :: Lens' AutoScalingAutoScalingGroupMixedInstancesPolicy (Maybe AutoScalingAutoScalingGroupInstancesDistribution)+asasgmipInstancesDistribution = lens _autoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistribution (\s a -> s { _autoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistribution = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html#cfn-as-mixedinstancespolicy-launchtemplate+asasgmipLaunchTemplate :: Lens' AutoScalingAutoScalingGroupMixedInstancesPolicy AutoScalingAutoScalingGroupLaunchTemplate+asasgmipLaunchTemplate = lens _autoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplate (\s a -> s { _autoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplate = a })
library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs view
@@ -7,7 +7,7 @@ module Stratosphere.ResourceProperties.BatchComputeEnvironmentComputeResources where  import Stratosphere.ResourceImports-+import Stratosphere.ResourceProperties.BatchComputeEnvironmentLaunchTemplateSpecification  -- | Full data type definition for BatchComputeEnvironmentComputeResources. -- See 'batchComputeEnvironmentComputeResources' for a more convenient@@ -20,8 +20,10 @@   , _batchComputeEnvironmentComputeResourcesImageId :: Maybe (Val Text)   , _batchComputeEnvironmentComputeResourcesInstanceRole :: Val Text   , _batchComputeEnvironmentComputeResourcesInstanceTypes :: ValList Text+  , _batchComputeEnvironmentComputeResourcesLaunchTemplate :: Maybe BatchComputeEnvironmentLaunchTemplateSpecification   , _batchComputeEnvironmentComputeResourcesMaxvCpus :: Val Integer   , _batchComputeEnvironmentComputeResourcesMinvCpus :: Val Integer+  , _batchComputeEnvironmentComputeResourcesPlacementGroup :: Maybe (Val Text)   , _batchComputeEnvironmentComputeResourcesSecurityGroupIds :: ValList Text   , _batchComputeEnvironmentComputeResourcesSpotIamFleetRole :: Maybe (Val Text)   , _batchComputeEnvironmentComputeResourcesSubnets :: ValList Text@@ -39,8 +41,10 @@     , fmap (("ImageId",) . toJSON) _batchComputeEnvironmentComputeResourcesImageId     , (Just . ("InstanceRole",) . toJSON) _batchComputeEnvironmentComputeResourcesInstanceRole     , (Just . ("InstanceTypes",) . toJSON) _batchComputeEnvironmentComputeResourcesInstanceTypes+    , fmap (("LaunchTemplate",) . toJSON) _batchComputeEnvironmentComputeResourcesLaunchTemplate     , (Just . ("MaxvCpus",) . toJSON . fmap Integer') _batchComputeEnvironmentComputeResourcesMaxvCpus     , (Just . ("MinvCpus",) . toJSON . fmap Integer') _batchComputeEnvironmentComputeResourcesMinvCpus+    , fmap (("PlacementGroup",) . toJSON) _batchComputeEnvironmentComputeResourcesPlacementGroup     , (Just . ("SecurityGroupIds",) . toJSON) _batchComputeEnvironmentComputeResourcesSecurityGroupIds     , fmap (("SpotIamFleetRole",) . toJSON) _batchComputeEnvironmentComputeResourcesSpotIamFleetRole     , (Just . ("Subnets",) . toJSON) _batchComputeEnvironmentComputeResourcesSubnets@@ -57,8 +61,10 @@       (obj .:? "ImageId") <*>       (obj .: "InstanceRole") <*>       (obj .: "InstanceTypes") <*>+      (obj .:? "LaunchTemplate") <*>       fmap (fmap unInteger') (obj .: "MaxvCpus") <*>       fmap (fmap unInteger') (obj .: "MinvCpus") <*>+      (obj .:? "PlacementGroup") <*>       (obj .: "SecurityGroupIds") <*>       (obj .:? "SpotIamFleetRole") <*>       (obj .: "Subnets") <*>@@ -85,8 +91,10 @@   , _batchComputeEnvironmentComputeResourcesImageId = Nothing   , _batchComputeEnvironmentComputeResourcesInstanceRole = instanceRolearg   , _batchComputeEnvironmentComputeResourcesInstanceTypes = instanceTypesarg+  , _batchComputeEnvironmentComputeResourcesLaunchTemplate = Nothing   , _batchComputeEnvironmentComputeResourcesMaxvCpus = maxvCpusarg   , _batchComputeEnvironmentComputeResourcesMinvCpus = minvCpusarg+  , _batchComputeEnvironmentComputeResourcesPlacementGroup = Nothing   , _batchComputeEnvironmentComputeResourcesSecurityGroupIds = securityGroupIdsarg   , _batchComputeEnvironmentComputeResourcesSpotIamFleetRole = Nothing   , _batchComputeEnvironmentComputeResourcesSubnets = subnetsarg@@ -118,6 +126,10 @@ bcecrInstanceTypes :: Lens' BatchComputeEnvironmentComputeResources (ValList Text) bcecrInstanceTypes = lens _batchComputeEnvironmentComputeResourcesInstanceTypes (\s a -> s { _batchComputeEnvironmentComputeResourcesInstanceTypes = a }) +-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-launchtemplate+bcecrLaunchTemplate :: Lens' BatchComputeEnvironmentComputeResources (Maybe BatchComputeEnvironmentLaunchTemplateSpecification)+bcecrLaunchTemplate = lens _batchComputeEnvironmentComputeResourcesLaunchTemplate (\s a -> s { _batchComputeEnvironmentComputeResourcesLaunchTemplate = a })+ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-maxvcpus bcecrMaxvCpus :: Lens' BatchComputeEnvironmentComputeResources (Val Integer) bcecrMaxvCpus = lens _batchComputeEnvironmentComputeResourcesMaxvCpus (\s a -> s { _batchComputeEnvironmentComputeResourcesMaxvCpus = a })@@ -125,6 +137,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-minvcpus bcecrMinvCpus :: Lens' BatchComputeEnvironmentComputeResources (Val Integer) bcecrMinvCpus = lens _batchComputeEnvironmentComputeResourcesMinvCpus (\s a -> s { _batchComputeEnvironmentComputeResourcesMinvCpus = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-placementgroup+bcecrPlacementGroup :: Lens' BatchComputeEnvironmentComputeResources (Maybe (Val Text))+bcecrPlacementGroup = lens _batchComputeEnvironmentComputeResourcesPlacementGroup (\s a -> s { _batchComputeEnvironmentComputeResourcesPlacementGroup = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-securitygroupids bcecrSecurityGroupIds :: Lens' BatchComputeEnvironmentComputeResources (ValList Text)
+ library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentLaunchTemplateSpecification.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html++module Stratosphere.ResourceProperties.BatchComputeEnvironmentLaunchTemplateSpecification where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- BatchComputeEnvironmentLaunchTemplateSpecification. See+-- 'batchComputeEnvironmentLaunchTemplateSpecification' for a more+-- convenient constructor.+data BatchComputeEnvironmentLaunchTemplateSpecification =+  BatchComputeEnvironmentLaunchTemplateSpecification+  { _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateId :: Maybe (Val Text)+  , _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateName :: Maybe (Val Text)+  , _batchComputeEnvironmentLaunchTemplateSpecificationVersion :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON BatchComputeEnvironmentLaunchTemplateSpecification where+  toJSON BatchComputeEnvironmentLaunchTemplateSpecification{..} =+    object $+    catMaybes+    [ fmap (("LaunchTemplateId",) . toJSON) _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateId+    , fmap (("LaunchTemplateName",) . toJSON) _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateName+    , fmap (("Version",) . toJSON) _batchComputeEnvironmentLaunchTemplateSpecificationVersion+    ]++instance FromJSON BatchComputeEnvironmentLaunchTemplateSpecification where+  parseJSON (Object obj) =+    BatchComputeEnvironmentLaunchTemplateSpecification <$>+      (obj .:? "LaunchTemplateId") <*>+      (obj .:? "LaunchTemplateName") <*>+      (obj .:? "Version")+  parseJSON _ = mempty++-- | Constructor for 'BatchComputeEnvironmentLaunchTemplateSpecification'+-- containing required fields as arguments.+batchComputeEnvironmentLaunchTemplateSpecification+  :: BatchComputeEnvironmentLaunchTemplateSpecification+batchComputeEnvironmentLaunchTemplateSpecification  =+  BatchComputeEnvironmentLaunchTemplateSpecification+  { _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateId = Nothing+  , _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateName = Nothing+  , _batchComputeEnvironmentLaunchTemplateSpecificationVersion = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-launchtemplateid+bceltsLaunchTemplateId :: Lens' BatchComputeEnvironmentLaunchTemplateSpecification (Maybe (Val Text))+bceltsLaunchTemplateId = lens _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateId (\s a -> s { _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-launchtemplatename+bceltsLaunchTemplateName :: Lens' BatchComputeEnvironmentLaunchTemplateSpecification (Maybe (Val Text))+bceltsLaunchTemplateName = lens _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateName (\s a -> s { _batchComputeEnvironmentLaunchTemplateSpecificationLaunchTemplateName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-version+bceltsVersion :: Lens' BatchComputeEnvironmentLaunchTemplateSpecification (Maybe (Val Text))+bceltsVersion = lens _batchComputeEnvironmentLaunchTemplateSpecificationVersion (\s a -> s { _batchComputeEnvironmentLaunchTemplateSpecificationVersion = a })
library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs view
@@ -20,6 +20,7 @@   { _batchJobDefinitionContainerPropertiesCommand :: Maybe (ValList Text)   , _batchJobDefinitionContainerPropertiesEnvironment :: Maybe [BatchJobDefinitionEnvironment]   , _batchJobDefinitionContainerPropertiesImage :: Val Text+  , _batchJobDefinitionContainerPropertiesInstanceType :: Maybe (Val Text)   , _batchJobDefinitionContainerPropertiesJobRoleArn :: Maybe (Val Text)   , _batchJobDefinitionContainerPropertiesMemory :: Val Integer   , _batchJobDefinitionContainerPropertiesMountPoints :: Maybe [BatchJobDefinitionMountPoints]@@ -38,6 +39,7 @@     [ fmap (("Command",) . toJSON) _batchJobDefinitionContainerPropertiesCommand     , fmap (("Environment",) . toJSON) _batchJobDefinitionContainerPropertiesEnvironment     , (Just . ("Image",) . toJSON) _batchJobDefinitionContainerPropertiesImage+    , fmap (("InstanceType",) . toJSON) _batchJobDefinitionContainerPropertiesInstanceType     , fmap (("JobRoleArn",) . toJSON) _batchJobDefinitionContainerPropertiesJobRoleArn     , (Just . ("Memory",) . toJSON . fmap Integer') _batchJobDefinitionContainerPropertiesMemory     , fmap (("MountPoints",) . toJSON) _batchJobDefinitionContainerPropertiesMountPoints@@ -55,6 +57,7 @@       (obj .:? "Command") <*>       (obj .:? "Environment") <*>       (obj .: "Image") <*>+      (obj .:? "InstanceType") <*>       (obj .:? "JobRoleArn") <*>       fmap (fmap unInteger') (obj .: "Memory") <*>       (obj .:? "MountPoints") <*>@@ -78,6 +81,7 @@   { _batchJobDefinitionContainerPropertiesCommand = Nothing   , _batchJobDefinitionContainerPropertiesEnvironment = Nothing   , _batchJobDefinitionContainerPropertiesImage = imagearg+  , _batchJobDefinitionContainerPropertiesInstanceType = Nothing   , _batchJobDefinitionContainerPropertiesJobRoleArn = Nothing   , _batchJobDefinitionContainerPropertiesMemory = memoryarg   , _batchJobDefinitionContainerPropertiesMountPoints = Nothing@@ -100,6 +104,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-image bjdcpImage :: Lens' BatchJobDefinitionContainerProperties (Val Text) bjdcpImage = lens _batchJobDefinitionContainerPropertiesImage (\s a -> s { _batchJobDefinitionContainerPropertiesImage = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-instancetype+bjdcpInstanceType :: Lens' BatchJobDefinitionContainerProperties (Maybe (Val Text))+bjdcpInstanceType = lens _batchJobDefinitionContainerPropertiesInstanceType (\s a -> s { _batchJobDefinitionContainerPropertiesInstanceType = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-jobrolearn bjdcpJobRoleArn :: Lens' BatchJobDefinitionContainerProperties (Maybe (Val Text))
+ library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionNodeProperties.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html++module Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty++-- | Full data type definition for BatchJobDefinitionNodeProperties. See+-- 'batchJobDefinitionNodeProperties' for a more convenient constructor.+data BatchJobDefinitionNodeProperties =+  BatchJobDefinitionNodeProperties+  { _batchJobDefinitionNodePropertiesMainNode :: Val Integer+  , _batchJobDefinitionNodePropertiesNodeRangeProperties :: [BatchJobDefinitionNodeRangeProperty]+  , _batchJobDefinitionNodePropertiesNumNodes :: Val Integer+  } deriving (Show, Eq)++instance ToJSON BatchJobDefinitionNodeProperties where+  toJSON BatchJobDefinitionNodeProperties{..} =+    object $+    catMaybes+    [ (Just . ("MainNode",) . toJSON . fmap Integer') _batchJobDefinitionNodePropertiesMainNode+    , (Just . ("NodeRangeProperties",) . toJSON) _batchJobDefinitionNodePropertiesNodeRangeProperties+    , (Just . ("NumNodes",) . toJSON . fmap Integer') _batchJobDefinitionNodePropertiesNumNodes+    ]++instance FromJSON BatchJobDefinitionNodeProperties where+  parseJSON (Object obj) =+    BatchJobDefinitionNodeProperties <$>+      fmap (fmap unInteger') (obj .: "MainNode") <*>+      (obj .: "NodeRangeProperties") <*>+      fmap (fmap unInteger') (obj .: "NumNodes")+  parseJSON _ = mempty++-- | Constructor for 'BatchJobDefinitionNodeProperties' containing required+-- fields as arguments.+batchJobDefinitionNodeProperties+  :: Val Integer -- ^ 'bjdnpMainNode'+  -> [BatchJobDefinitionNodeRangeProperty] -- ^ 'bjdnpNodeRangeProperties'+  -> Val Integer -- ^ 'bjdnpNumNodes'+  -> BatchJobDefinitionNodeProperties+batchJobDefinitionNodeProperties mainNodearg nodeRangePropertiesarg numNodesarg =+  BatchJobDefinitionNodeProperties+  { _batchJobDefinitionNodePropertiesMainNode = mainNodearg+  , _batchJobDefinitionNodePropertiesNodeRangeProperties = nodeRangePropertiesarg+  , _batchJobDefinitionNodePropertiesNumNodes = numNodesarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html#cfn-batch-jobdefinition-nodeproperties-mainnode+bjdnpMainNode :: Lens' BatchJobDefinitionNodeProperties (Val Integer)+bjdnpMainNode = lens _batchJobDefinitionNodePropertiesMainNode (\s a -> s { _batchJobDefinitionNodePropertiesMainNode = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html#cfn-batch-jobdefinition-nodeproperties-noderangeproperties+bjdnpNodeRangeProperties :: Lens' BatchJobDefinitionNodeProperties [BatchJobDefinitionNodeRangeProperty]+bjdnpNodeRangeProperties = lens _batchJobDefinitionNodePropertiesNodeRangeProperties (\s a -> s { _batchJobDefinitionNodePropertiesNodeRangeProperties = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html#cfn-batch-jobdefinition-nodeproperties-numnodes+bjdnpNumNodes :: Lens' BatchJobDefinitionNodeProperties (Val Integer)+bjdnpNumNodes = lens _batchJobDefinitionNodePropertiesNumNodes (\s a -> s { _batchJobDefinitionNodePropertiesNumNodes = a })
+ library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionNodeRangeProperty.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html++module Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.BatchJobDefinitionContainerProperties++-- | Full data type definition for BatchJobDefinitionNodeRangeProperty. See+-- 'batchJobDefinitionNodeRangeProperty' for a more convenient constructor.+data BatchJobDefinitionNodeRangeProperty =+  BatchJobDefinitionNodeRangeProperty+  { _batchJobDefinitionNodeRangePropertyContainer :: Maybe BatchJobDefinitionContainerProperties+  , _batchJobDefinitionNodeRangePropertyTargetNodes :: Val Text+  } deriving (Show, Eq)++instance ToJSON BatchJobDefinitionNodeRangeProperty where+  toJSON BatchJobDefinitionNodeRangeProperty{..} =+    object $+    catMaybes+    [ fmap (("Container",) . toJSON) _batchJobDefinitionNodeRangePropertyContainer+    , (Just . ("TargetNodes",) . toJSON) _batchJobDefinitionNodeRangePropertyTargetNodes+    ]++instance FromJSON BatchJobDefinitionNodeRangeProperty where+  parseJSON (Object obj) =+    BatchJobDefinitionNodeRangeProperty <$>+      (obj .:? "Container") <*>+      (obj .: "TargetNodes")+  parseJSON _ = mempty++-- | Constructor for 'BatchJobDefinitionNodeRangeProperty' containing required+-- fields as arguments.+batchJobDefinitionNodeRangeProperty+  :: Val Text -- ^ 'bjdnrpTargetNodes'+  -> BatchJobDefinitionNodeRangeProperty+batchJobDefinitionNodeRangeProperty targetNodesarg =+  BatchJobDefinitionNodeRangeProperty+  { _batchJobDefinitionNodeRangePropertyContainer = Nothing+  , _batchJobDefinitionNodeRangePropertyTargetNodes = targetNodesarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-container+bjdnrpContainer :: Lens' BatchJobDefinitionNodeRangeProperty (Maybe BatchJobDefinitionContainerProperties)+bjdnrpContainer = lens _batchJobDefinitionNodeRangePropertyContainer (\s a -> s { _batchJobDefinitionNodeRangePropertyContainer = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-targetnodes+bjdnrpTargetNodes :: Lens' BatchJobDefinitionNodeRangeProperty (Val Text)+bjdnrpTargetNodes = lens _batchJobDefinitionNodeRangePropertyTargetNodes (\s a -> s { _batchJobDefinitionNodeRangePropertyTargetNodes = a })
library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs view
@@ -21,6 +21,7 @@   , _codePipelinePipelineActionDeclarationInputArtifacts :: Maybe [CodePipelinePipelineInputArtifact]   , _codePipelinePipelineActionDeclarationName :: Val Text   , _codePipelinePipelineActionDeclarationOutputArtifacts :: Maybe [CodePipelinePipelineOutputArtifact]+  , _codePipelinePipelineActionDeclarationRegion :: Maybe (Val Text)   , _codePipelinePipelineActionDeclarationRoleArn :: Maybe (Val Text)   , _codePipelinePipelineActionDeclarationRunOrder :: Maybe (Val Integer)   } deriving (Show, Eq)@@ -34,6 +35,7 @@     , fmap (("InputArtifacts",) . toJSON) _codePipelinePipelineActionDeclarationInputArtifacts     , (Just . ("Name",) . toJSON) _codePipelinePipelineActionDeclarationName     , fmap (("OutputArtifacts",) . toJSON) _codePipelinePipelineActionDeclarationOutputArtifacts+    , fmap (("Region",) . toJSON) _codePipelinePipelineActionDeclarationRegion     , fmap (("RoleArn",) . toJSON) _codePipelinePipelineActionDeclarationRoleArn     , fmap (("RunOrder",) . toJSON . fmap Integer') _codePipelinePipelineActionDeclarationRunOrder     ]@@ -46,6 +48,7 @@       (obj .:? "InputArtifacts") <*>       (obj .: "Name") <*>       (obj .:? "OutputArtifacts") <*>+      (obj .:? "Region") <*>       (obj .:? "RoleArn") <*>       fmap (fmap (fmap unInteger')) (obj .:? "RunOrder")   parseJSON _ = mempty@@ -63,6 +66,7 @@   , _codePipelinePipelineActionDeclarationInputArtifacts = Nothing   , _codePipelinePipelineActionDeclarationName = namearg   , _codePipelinePipelineActionDeclarationOutputArtifacts = Nothing+  , _codePipelinePipelineActionDeclarationRegion = Nothing   , _codePipelinePipelineActionDeclarationRoleArn = Nothing   , _codePipelinePipelineActionDeclarationRunOrder = Nothing   }@@ -86,6 +90,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-outputartifacts cppadOutputArtifacts :: Lens' CodePipelinePipelineActionDeclaration (Maybe [CodePipelinePipelineOutputArtifact]) cppadOutputArtifacts = lens _codePipelinePipelineActionDeclarationOutputArtifacts (\s a -> s { _codePipelinePipelineActionDeclarationOutputArtifacts = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-region+cppadRegion :: Lens' CodePipelinePipelineActionDeclaration (Maybe (Val Text))+cppadRegion = lens _codePipelinePipelineActionDeclarationRegion (\s a -> s { _codePipelinePipelineActionDeclarationRegion = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-rolearn cppadRoleArn :: Lens' CodePipelinePipelineActionDeclaration (Maybe (Val Text))
+ library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineArtifactStoreMap.hs view
@@ -0,0 +1,53 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html++module Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStoreMap where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStore++-- | Full data type definition for CodePipelinePipelineArtifactStoreMap. See+-- 'codePipelinePipelineArtifactStoreMap' for a more convenient constructor.+data CodePipelinePipelineArtifactStoreMap =+  CodePipelinePipelineArtifactStoreMap+  { _codePipelinePipelineArtifactStoreMapArtifactStore :: CodePipelinePipelineArtifactStore+  , _codePipelinePipelineArtifactStoreMapRegion :: Val Text+  } deriving (Show, Eq)++instance ToJSON CodePipelinePipelineArtifactStoreMap where+  toJSON CodePipelinePipelineArtifactStoreMap{..} =+    object $+    catMaybes+    [ (Just . ("ArtifactStore",) . toJSON) _codePipelinePipelineArtifactStoreMapArtifactStore+    , (Just . ("Region",) . toJSON) _codePipelinePipelineArtifactStoreMapRegion+    ]++instance FromJSON CodePipelinePipelineArtifactStoreMap where+  parseJSON (Object obj) =+    CodePipelinePipelineArtifactStoreMap <$>+      (obj .: "ArtifactStore") <*>+      (obj .: "Region")+  parseJSON _ = mempty++-- | Constructor for 'CodePipelinePipelineArtifactStoreMap' containing+-- required fields as arguments.+codePipelinePipelineArtifactStoreMap+  :: CodePipelinePipelineArtifactStore -- ^ 'cppasmArtifactStore'+  -> Val Text -- ^ 'cppasmRegion'+  -> CodePipelinePipelineArtifactStoreMap+codePipelinePipelineArtifactStoreMap artifactStorearg regionarg =+  CodePipelinePipelineArtifactStoreMap+  { _codePipelinePipelineArtifactStoreMapArtifactStore = artifactStorearg+  , _codePipelinePipelineArtifactStoreMapRegion = regionarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html#cfn-codepipeline-pipeline-artifactstoremap-artifactstore+cppasmArtifactStore :: Lens' CodePipelinePipelineArtifactStoreMap CodePipelinePipelineArtifactStore+cppasmArtifactStore = lens _codePipelinePipelineArtifactStoreMapArtifactStore (\s a -> s { _codePipelinePipelineArtifactStoreMapArtifactStore = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html#cfn-codepipeline-pipeline-artifactstoremap-region+cppasmRegion :: Lens' CodePipelinePipelineArtifactStoreMap (Val Text)+cppasmRegion = lens _codePipelinePipelineArtifactStoreMapRegion (\s a -> s { _codePipelinePipelineArtifactStoreMapRegion = a })
library-gen/Stratosphere/ResourceProperties/DynamoDBTableGlobalSecondaryIndex.hs view
@@ -18,7 +18,7 @@   { _dynamoDBTableGlobalSecondaryIndexIndexName :: Val Text   , _dynamoDBTableGlobalSecondaryIndexKeySchema :: [DynamoDBTableKeySchema]   , _dynamoDBTableGlobalSecondaryIndexProjection :: DynamoDBTableProjection-  , _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput :: DynamoDBTableProvisionedThroughput+  , _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput :: Maybe DynamoDBTableProvisionedThroughput   } deriving (Show, Eq)  instance ToJSON DynamoDBTableGlobalSecondaryIndex where@@ -28,7 +28,7 @@     [ (Just . ("IndexName",) . toJSON) _dynamoDBTableGlobalSecondaryIndexIndexName     , (Just . ("KeySchema",) . toJSON) _dynamoDBTableGlobalSecondaryIndexKeySchema     , (Just . ("Projection",) . toJSON) _dynamoDBTableGlobalSecondaryIndexProjection-    , (Just . ("ProvisionedThroughput",) . toJSON) _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput+    , fmap (("ProvisionedThroughput",) . toJSON) _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput     ]  instance FromJSON DynamoDBTableGlobalSecondaryIndex where@@ -37,7 +37,7 @@       (obj .: "IndexName") <*>       (obj .: "KeySchema") <*>       (obj .: "Projection") <*>-      (obj .: "ProvisionedThroughput")+      (obj .:? "ProvisionedThroughput")   parseJSON _ = mempty  -- | Constructor for 'DynamoDBTableGlobalSecondaryIndex' containing required@@ -46,14 +46,13 @@   :: Val Text -- ^ 'ddbtgsiIndexName'   -> [DynamoDBTableKeySchema] -- ^ 'ddbtgsiKeySchema'   -> DynamoDBTableProjection -- ^ 'ddbtgsiProjection'-  -> DynamoDBTableProvisionedThroughput -- ^ 'ddbtgsiProvisionedThroughput'   -> DynamoDBTableGlobalSecondaryIndex-dynamoDBTableGlobalSecondaryIndex indexNamearg keySchemaarg projectionarg provisionedThroughputarg =+dynamoDBTableGlobalSecondaryIndex indexNamearg keySchemaarg projectionarg =   DynamoDBTableGlobalSecondaryIndex   { _dynamoDBTableGlobalSecondaryIndexIndexName = indexNamearg   , _dynamoDBTableGlobalSecondaryIndexKeySchema = keySchemaarg   , _dynamoDBTableGlobalSecondaryIndexProjection = projectionarg-  , _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput = provisionedThroughputarg+  , _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput = Nothing   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-indexname@@ -69,5 +68,5 @@ ddbtgsiProjection = lens _dynamoDBTableGlobalSecondaryIndexProjection (\s a -> s { _dynamoDBTableGlobalSecondaryIndexProjection = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-provisionedthroughput-ddbtgsiProvisionedThroughput :: Lens' DynamoDBTableGlobalSecondaryIndex DynamoDBTableProvisionedThroughput+ddbtgsiProvisionedThroughput :: Lens' DynamoDBTableGlobalSecondaryIndex (Maybe DynamoDBTableProvisionedThroughput) ddbtgsiProvisionedThroughput = lens _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput (\s a -> s { _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateConfigRequest.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateConfigRequest where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateSpecificationRequest+import Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateOverridesRequest++-- | Full data type definition for+-- EC2EC2FleetFleetLaunchTemplateConfigRequest. See+-- 'ec2EC2FleetFleetLaunchTemplateConfigRequest' for a more convenient+-- constructor.+data EC2EC2FleetFleetLaunchTemplateConfigRequest =+  EC2EC2FleetFleetLaunchTemplateConfigRequest+  { _eC2EC2FleetFleetLaunchTemplateConfigRequestLaunchTemplateSpecification :: Maybe EC2EC2FleetFleetLaunchTemplateSpecificationRequest+  , _eC2EC2FleetFleetLaunchTemplateConfigRequestOverrides :: Maybe [EC2EC2FleetFleetLaunchTemplateOverridesRequest]+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetFleetLaunchTemplateConfigRequest where+  toJSON EC2EC2FleetFleetLaunchTemplateConfigRequest{..} =+    object $+    catMaybes+    [ fmap (("LaunchTemplateSpecification",) . toJSON) _eC2EC2FleetFleetLaunchTemplateConfigRequestLaunchTemplateSpecification+    , fmap (("Overrides",) . toJSON) _eC2EC2FleetFleetLaunchTemplateConfigRequestOverrides+    ]++instance FromJSON EC2EC2FleetFleetLaunchTemplateConfigRequest where+  parseJSON (Object obj) =+    EC2EC2FleetFleetLaunchTemplateConfigRequest <$>+      (obj .:? "LaunchTemplateSpecification") <*>+      (obj .:? "Overrides")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetFleetLaunchTemplateConfigRequest' containing+-- required fields as arguments.+ec2EC2FleetFleetLaunchTemplateConfigRequest+  :: EC2EC2FleetFleetLaunchTemplateConfigRequest+ec2EC2FleetFleetLaunchTemplateConfigRequest  =+  EC2EC2FleetFleetLaunchTemplateConfigRequest+  { _eC2EC2FleetFleetLaunchTemplateConfigRequestLaunchTemplateSpecification = Nothing+  , _eC2EC2FleetFleetLaunchTemplateConfigRequestOverrides = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-launchtemplatespecification+ececffltcrLaunchTemplateSpecification :: Lens' EC2EC2FleetFleetLaunchTemplateConfigRequest (Maybe EC2EC2FleetFleetLaunchTemplateSpecificationRequest)+ececffltcrLaunchTemplateSpecification = lens _eC2EC2FleetFleetLaunchTemplateConfigRequestLaunchTemplateSpecification (\s a -> s { _eC2EC2FleetFleetLaunchTemplateConfigRequestLaunchTemplateSpecification = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-overrides+ececffltcrOverrides :: Lens' EC2EC2FleetFleetLaunchTemplateConfigRequest (Maybe [EC2EC2FleetFleetLaunchTemplateOverridesRequest])+ececffltcrOverrides = lens _eC2EC2FleetFleetLaunchTemplateConfigRequestOverrides (\s a -> s { _eC2EC2FleetFleetLaunchTemplateConfigRequestOverrides = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateOverridesRequest.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateOverridesRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- EC2EC2FleetFleetLaunchTemplateOverridesRequest. See+-- 'ec2EC2FleetFleetLaunchTemplateOverridesRequest' for a more convenient+-- constructor.+data EC2EC2FleetFleetLaunchTemplateOverridesRequest =+  EC2EC2FleetFleetLaunchTemplateOverridesRequest+  { _eC2EC2FleetFleetLaunchTemplateOverridesRequestAvailabilityZone :: Maybe (Val Text)+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestInstanceType :: Maybe (Val Text)+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestMaxPrice :: Maybe (Val Text)+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority :: Maybe (Val Double)+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestSubnetId :: Maybe (Val Text)+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity :: Maybe (Val Double)+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetFleetLaunchTemplateOverridesRequest where+  toJSON EC2EC2FleetFleetLaunchTemplateOverridesRequest{..} =+    object $+    catMaybes+    [ fmap (("AvailabilityZone",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestAvailabilityZone+    , fmap (("InstanceType",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestInstanceType+    , fmap (("MaxPrice",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestMaxPrice+    , fmap (("Priority",) . toJSON . fmap Double') _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority+    , fmap (("SubnetId",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestSubnetId+    , fmap (("WeightedCapacity",) . toJSON . fmap Double') _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity+    ]++instance FromJSON EC2EC2FleetFleetLaunchTemplateOverridesRequest where+  parseJSON (Object obj) =+    EC2EC2FleetFleetLaunchTemplateOverridesRequest <$>+      (obj .:? "AvailabilityZone") <*>+      (obj .:? "InstanceType") <*>+      (obj .:? "MaxPrice") <*>+      fmap (fmap (fmap unDouble')) (obj .:? "Priority") <*>+      (obj .:? "SubnetId") <*>+      fmap (fmap (fmap unDouble')) (obj .:? "WeightedCapacity")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetFleetLaunchTemplateOverridesRequest'+-- containing required fields as arguments.+ec2EC2FleetFleetLaunchTemplateOverridesRequest+  :: EC2EC2FleetFleetLaunchTemplateOverridesRequest+ec2EC2FleetFleetLaunchTemplateOverridesRequest  =+  EC2EC2FleetFleetLaunchTemplateOverridesRequest+  { _eC2EC2FleetFleetLaunchTemplateOverridesRequestAvailabilityZone = Nothing+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestInstanceType = Nothing+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestMaxPrice = Nothing+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority = Nothing+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestSubnetId = Nothing+  , _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-availabilityzone+ececffltorAvailabilityZone :: Lens' EC2EC2FleetFleetLaunchTemplateOverridesRequest (Maybe (Val Text))+ececffltorAvailabilityZone = lens _eC2EC2FleetFleetLaunchTemplateOverridesRequestAvailabilityZone (\s a -> s { _eC2EC2FleetFleetLaunchTemplateOverridesRequestAvailabilityZone = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-instancetype+ececffltorInstanceType :: Lens' EC2EC2FleetFleetLaunchTemplateOverridesRequest (Maybe (Val Text))+ececffltorInstanceType = lens _eC2EC2FleetFleetLaunchTemplateOverridesRequestInstanceType (\s a -> s { _eC2EC2FleetFleetLaunchTemplateOverridesRequestInstanceType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-maxprice+ececffltorMaxPrice :: Lens' EC2EC2FleetFleetLaunchTemplateOverridesRequest (Maybe (Val Text))+ececffltorMaxPrice = lens _eC2EC2FleetFleetLaunchTemplateOverridesRequestMaxPrice (\s a -> s { _eC2EC2FleetFleetLaunchTemplateOverridesRequestMaxPrice = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-priority+ececffltorPriority :: Lens' EC2EC2FleetFleetLaunchTemplateOverridesRequest (Maybe (Val Double))+ececffltorPriority = lens _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority (\s a -> s { _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-subnetid+ececffltorSubnetId :: Lens' EC2EC2FleetFleetLaunchTemplateOverridesRequest (Maybe (Val Text))+ececffltorSubnetId = lens _eC2EC2FleetFleetLaunchTemplateOverridesRequestSubnetId (\s a -> s { _eC2EC2FleetFleetLaunchTemplateOverridesRequestSubnetId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-weightedcapacity+ececffltorWeightedCapacity :: Lens' EC2EC2FleetFleetLaunchTemplateOverridesRequest (Maybe (Val Double))+ececffltorWeightedCapacity = lens _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity (\s a -> s { _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateSpecificationRequest.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateSpecificationRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- EC2EC2FleetFleetLaunchTemplateSpecificationRequest. See+-- 'ec2EC2FleetFleetLaunchTemplateSpecificationRequest' for a more+-- convenient constructor.+data EC2EC2FleetFleetLaunchTemplateSpecificationRequest =+  EC2EC2FleetFleetLaunchTemplateSpecificationRequest+  { _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateId :: Maybe (Val Text)+  , _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateName :: Maybe (Val Text)+  , _eC2EC2FleetFleetLaunchTemplateSpecificationRequestVersion :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetFleetLaunchTemplateSpecificationRequest where+  toJSON EC2EC2FleetFleetLaunchTemplateSpecificationRequest{..} =+    object $+    catMaybes+    [ fmap (("LaunchTemplateId",) . toJSON) _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateId+    , fmap (("LaunchTemplateName",) . toJSON) _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateName+    , fmap (("Version",) . toJSON) _eC2EC2FleetFleetLaunchTemplateSpecificationRequestVersion+    ]++instance FromJSON EC2EC2FleetFleetLaunchTemplateSpecificationRequest where+  parseJSON (Object obj) =+    EC2EC2FleetFleetLaunchTemplateSpecificationRequest <$>+      (obj .:? "LaunchTemplateId") <*>+      (obj .:? "LaunchTemplateName") <*>+      (obj .:? "Version")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetFleetLaunchTemplateSpecificationRequest'+-- containing required fields as arguments.+ec2EC2FleetFleetLaunchTemplateSpecificationRequest+  :: EC2EC2FleetFleetLaunchTemplateSpecificationRequest+ec2EC2FleetFleetLaunchTemplateSpecificationRequest  =+  EC2EC2FleetFleetLaunchTemplateSpecificationRequest+  { _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateId = Nothing+  , _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateName = Nothing+  , _eC2EC2FleetFleetLaunchTemplateSpecificationRequestVersion = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplateid+ececffltsrLaunchTemplateId :: Lens' EC2EC2FleetFleetLaunchTemplateSpecificationRequest (Maybe (Val Text))+ececffltsrLaunchTemplateId = lens _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateId (\s a -> s { _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplatename+ececffltsrLaunchTemplateName :: Lens' EC2EC2FleetFleetLaunchTemplateSpecificationRequest (Maybe (Val Text))+ececffltsrLaunchTemplateName = lens _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateName (\s a -> s { _eC2EC2FleetFleetLaunchTemplateSpecificationRequestLaunchTemplateName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-version+ececffltsrVersion :: Lens' EC2EC2FleetFleetLaunchTemplateSpecificationRequest (Maybe (Val Text))+ececffltsrVersion = lens _eC2EC2FleetFleetLaunchTemplateSpecificationRequestVersion (\s a -> s { _eC2EC2FleetFleetLaunchTemplateSpecificationRequestVersion = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetOnDemandOptionsRequest.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetOnDemandOptionsRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2EC2FleetOnDemandOptionsRequest. See+-- 'ec2EC2FleetOnDemandOptionsRequest' for a more convenient constructor.+data EC2EC2FleetOnDemandOptionsRequest =+  EC2EC2FleetOnDemandOptionsRequest+  { _eC2EC2FleetOnDemandOptionsRequestAllocationStrategy :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetOnDemandOptionsRequest where+  toJSON EC2EC2FleetOnDemandOptionsRequest{..} =+    object $+    catMaybes+    [ fmap (("AllocationStrategy",) . toJSON) _eC2EC2FleetOnDemandOptionsRequestAllocationStrategy+    ]++instance FromJSON EC2EC2FleetOnDemandOptionsRequest where+  parseJSON (Object obj) =+    EC2EC2FleetOnDemandOptionsRequest <$>+      (obj .:? "AllocationStrategy")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetOnDemandOptionsRequest' containing required+-- fields as arguments.+ec2EC2FleetOnDemandOptionsRequest+  :: EC2EC2FleetOnDemandOptionsRequest+ec2EC2FleetOnDemandOptionsRequest  =+  EC2EC2FleetOnDemandOptionsRequest+  { _eC2EC2FleetOnDemandOptionsRequestAllocationStrategy = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy+ececfodorAllocationStrategy :: Lens' EC2EC2FleetOnDemandOptionsRequest (Maybe (Val Text))+ececfodorAllocationStrategy = lens _eC2EC2FleetOnDemandOptionsRequestAllocationStrategy (\s a -> s { _eC2EC2FleetOnDemandOptionsRequestAllocationStrategy = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetSpotOptionsRequest.hs view
@@ -0,0 +1,59 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetSpotOptionsRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2EC2FleetSpotOptionsRequest. See+-- 'ec2EC2FleetSpotOptionsRequest' for a more convenient constructor.+data EC2EC2FleetSpotOptionsRequest =+  EC2EC2FleetSpotOptionsRequest+  { _eC2EC2FleetSpotOptionsRequestAllocationStrategy :: Maybe (Val Text)+  , _eC2EC2FleetSpotOptionsRequestInstanceInterruptionBehavior :: Maybe (Val Text)+  , _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount :: Maybe (Val Integer)+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetSpotOptionsRequest where+  toJSON EC2EC2FleetSpotOptionsRequest{..} =+    object $+    catMaybes+    [ fmap (("AllocationStrategy",) . toJSON) _eC2EC2FleetSpotOptionsRequestAllocationStrategy+    , fmap (("InstanceInterruptionBehavior",) . toJSON) _eC2EC2FleetSpotOptionsRequestInstanceInterruptionBehavior+    , fmap (("InstancePoolsToUseCount",) . toJSON . fmap Integer') _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount+    ]++instance FromJSON EC2EC2FleetSpotOptionsRequest where+  parseJSON (Object obj) =+    EC2EC2FleetSpotOptionsRequest <$>+      (obj .:? "AllocationStrategy") <*>+      (obj .:? "InstanceInterruptionBehavior") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "InstancePoolsToUseCount")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetSpotOptionsRequest' containing required+-- fields as arguments.+ec2EC2FleetSpotOptionsRequest+  :: EC2EC2FleetSpotOptionsRequest+ec2EC2FleetSpotOptionsRequest  =+  EC2EC2FleetSpotOptionsRequest+  { _eC2EC2FleetSpotOptionsRequestAllocationStrategy = Nothing+  , _eC2EC2FleetSpotOptionsRequestInstanceInterruptionBehavior = Nothing+  , _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-allocationstrategy+ececfsorAllocationStrategy :: Lens' EC2EC2FleetSpotOptionsRequest (Maybe (Val Text))+ececfsorAllocationStrategy = lens _eC2EC2FleetSpotOptionsRequestAllocationStrategy (\s a -> s { _eC2EC2FleetSpotOptionsRequestAllocationStrategy = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instanceinterruptionbehavior+ececfsorInstanceInterruptionBehavior :: Lens' EC2EC2FleetSpotOptionsRequest (Maybe (Val Text))+ececfsorInstanceInterruptionBehavior = lens _eC2EC2FleetSpotOptionsRequestInstanceInterruptionBehavior (\s a -> s { _eC2EC2FleetSpotOptionsRequestInstanceInterruptionBehavior = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instancepoolstousecount+ececfsorInstancePoolsToUseCount :: Lens' EC2EC2FleetSpotOptionsRequest (Maybe (Val Integer))+ececfsorInstancePoolsToUseCount = lens _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount (\s a -> s { _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTagRequest.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetTagRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2EC2FleetTagRequest. See+-- 'ec2EC2FleetTagRequest' for a more convenient constructor.+data EC2EC2FleetTagRequest =+  EC2EC2FleetTagRequest+  { _eC2EC2FleetTagRequestKey :: Maybe (Val Text)+  , _eC2EC2FleetTagRequestValue :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetTagRequest where+  toJSON EC2EC2FleetTagRequest{..} =+    object $+    catMaybes+    [ fmap (("Key",) . toJSON) _eC2EC2FleetTagRequestKey+    , fmap (("Value",) . toJSON) _eC2EC2FleetTagRequestValue+    ]++instance FromJSON EC2EC2FleetTagRequest where+  parseJSON (Object obj) =+    EC2EC2FleetTagRequest <$>+      (obj .:? "Key") <*>+      (obj .:? "Value")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetTagRequest' containing required fields as+-- arguments.+ec2EC2FleetTagRequest+  :: EC2EC2FleetTagRequest+ec2EC2FleetTagRequest  =+  EC2EC2FleetTagRequest+  { _eC2EC2FleetTagRequestKey = Nothing+  , _eC2EC2FleetTagRequestValue = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html#cfn-ec2-ec2fleet-tagrequest-key+ececftrKey :: Lens' EC2EC2FleetTagRequest (Maybe (Val Text))+ececftrKey = lens _eC2EC2FleetTagRequestKey (\s a -> s { _eC2EC2FleetTagRequestKey = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html#cfn-ec2-ec2fleet-tagrequest-value+ececftrValue :: Lens' EC2EC2FleetTagRequest (Maybe (Val Text))+ececftrValue = lens _eC2EC2FleetTagRequestValue (\s a -> s { _eC2EC2FleetTagRequestValue = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTagSpecification.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html++module Stratosphere.ResourceProperties.EC2EC2FleetTagSpecification where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2EC2FleetTagRequest++-- | Full data type definition for EC2EC2FleetTagSpecification. See+-- 'ec2EC2FleetTagSpecification' for a more convenient constructor.+data EC2EC2FleetTagSpecification =+  EC2EC2FleetTagSpecification+  { _eC2EC2FleetTagSpecificationResourceType :: Maybe (Val Text)+  , _eC2EC2FleetTagSpecificationTags :: Maybe [EC2EC2FleetTagRequest]+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetTagSpecification where+  toJSON EC2EC2FleetTagSpecification{..} =+    object $+    catMaybes+    [ fmap (("ResourceType",) . toJSON) _eC2EC2FleetTagSpecificationResourceType+    , fmap (("Tags",) . toJSON) _eC2EC2FleetTagSpecificationTags+    ]++instance FromJSON EC2EC2FleetTagSpecification where+  parseJSON (Object obj) =+    EC2EC2FleetTagSpecification <$>+      (obj .:? "ResourceType") <*>+      (obj .:? "Tags")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetTagSpecification' containing required fields+-- as arguments.+ec2EC2FleetTagSpecification+  :: EC2EC2FleetTagSpecification+ec2EC2FleetTagSpecification  =+  EC2EC2FleetTagSpecification+  { _eC2EC2FleetTagSpecificationResourceType = Nothing+  , _eC2EC2FleetTagSpecificationTags = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-resourcetype+ececftsResourceType :: Lens' EC2EC2FleetTagSpecification (Maybe (Val Text))+ececftsResourceType = lens _eC2EC2FleetTagSpecificationResourceType (\s a -> s { _eC2EC2FleetTagSpecificationResourceType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-tags+ececftsTags :: Lens' EC2EC2FleetTagSpecification (Maybe [EC2EC2FleetTagRequest])+ececftsTags = lens _eC2EC2FleetTagSpecificationTags (\s a -> s { _eC2EC2FleetTagSpecificationTags = a })
+ library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTargetCapacitySpecificationRequest.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html++module Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- EC2EC2FleetTargetCapacitySpecificationRequest. See+-- 'ec2EC2FleetTargetCapacitySpecificationRequest' for a more convenient+-- constructor.+data EC2EC2FleetTargetCapacitySpecificationRequest =+  EC2EC2FleetTargetCapacitySpecificationRequest+  { _eC2EC2FleetTargetCapacitySpecificationRequestDefaultTargetCapacityType :: Maybe (Val Text)+  , _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity :: Maybe (Val Integer)+  , _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity :: Maybe (Val Integer)+  , _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity :: Val Integer+  } deriving (Show, Eq)++instance ToJSON EC2EC2FleetTargetCapacitySpecificationRequest where+  toJSON EC2EC2FleetTargetCapacitySpecificationRequest{..} =+    object $+    catMaybes+    [ fmap (("DefaultTargetCapacityType",) . toJSON) _eC2EC2FleetTargetCapacitySpecificationRequestDefaultTargetCapacityType+    , fmap (("OnDemandTargetCapacity",) . toJSON . fmap Integer') _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity+    , fmap (("SpotTargetCapacity",) . toJSON . fmap Integer') _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity+    , (Just . ("TotalTargetCapacity",) . toJSON . fmap Integer') _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity+    ]++instance FromJSON EC2EC2FleetTargetCapacitySpecificationRequest where+  parseJSON (Object obj) =+    EC2EC2FleetTargetCapacitySpecificationRequest <$>+      (obj .:? "DefaultTargetCapacityType") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "OnDemandTargetCapacity") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SpotTargetCapacity") <*>+      fmap (fmap unInteger') (obj .: "TotalTargetCapacity")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2FleetTargetCapacitySpecificationRequest'+-- containing required fields as arguments.+ec2EC2FleetTargetCapacitySpecificationRequest+  :: Val Integer -- ^ 'ececftcsrTotalTargetCapacity'+  -> EC2EC2FleetTargetCapacitySpecificationRequest+ec2EC2FleetTargetCapacitySpecificationRequest totalTargetCapacityarg =+  EC2EC2FleetTargetCapacitySpecificationRequest+  { _eC2EC2FleetTargetCapacitySpecificationRequestDefaultTargetCapacityType = Nothing+  , _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity = Nothing+  , _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity = Nothing+  , _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity = totalTargetCapacityarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-defaulttargetcapacitytype+ececftcsrDefaultTargetCapacityType :: Lens' EC2EC2FleetTargetCapacitySpecificationRequest (Maybe (Val Text))+ececftcsrDefaultTargetCapacityType = lens _eC2EC2FleetTargetCapacitySpecificationRequestDefaultTargetCapacityType (\s a -> s { _eC2EC2FleetTargetCapacitySpecificationRequestDefaultTargetCapacityType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-ondemandtargetcapacity+ececftcsrOnDemandTargetCapacity :: Lens' EC2EC2FleetTargetCapacitySpecificationRequest (Maybe (Val Integer))+ececftcsrOnDemandTargetCapacity = lens _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity (\s a -> s { _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-spottargetcapacity+ececftcsrSpotTargetCapacity :: Lens' EC2EC2FleetTargetCapacitySpecificationRequest (Maybe (Val Integer))+ececftcsrSpotTargetCapacity = lens _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity (\s a -> s { _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-totaltargetcapacity+ececftcsrTotalTargetCapacity :: Lens' EC2EC2FleetTargetCapacitySpecificationRequest (Val Integer)+ececftcsrTotalTargetCapacity = lens _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity (\s a -> s { _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity = a })
+ library-gen/Stratosphere/ResourceProperties/EMRClusterHadoopJarStepConfig.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html++module Stratosphere.ResourceProperties.EMRClusterHadoopJarStepConfig where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EMRClusterKeyValue++-- | Full data type definition for EMRClusterHadoopJarStepConfig. See+-- 'emrClusterHadoopJarStepConfig' for a more convenient constructor.+data EMRClusterHadoopJarStepConfig =+  EMRClusterHadoopJarStepConfig+  { _eMRClusterHadoopJarStepConfigArgs :: Maybe (ValList Text)+  , _eMRClusterHadoopJarStepConfigJar :: Val Text+  , _eMRClusterHadoopJarStepConfigMainClass :: Maybe (Val Text)+  , _eMRClusterHadoopJarStepConfigStepProperties :: Maybe [EMRClusterKeyValue]+  } deriving (Show, Eq)++instance ToJSON EMRClusterHadoopJarStepConfig where+  toJSON EMRClusterHadoopJarStepConfig{..} =+    object $+    catMaybes+    [ fmap (("Args",) . toJSON) _eMRClusterHadoopJarStepConfigArgs+    , (Just . ("Jar",) . toJSON) _eMRClusterHadoopJarStepConfigJar+    , fmap (("MainClass",) . toJSON) _eMRClusterHadoopJarStepConfigMainClass+    , fmap (("StepProperties",) . toJSON) _eMRClusterHadoopJarStepConfigStepProperties+    ]++instance FromJSON EMRClusterHadoopJarStepConfig where+  parseJSON (Object obj) =+    EMRClusterHadoopJarStepConfig <$>+      (obj .:? "Args") <*>+      (obj .: "Jar") <*>+      (obj .:? "MainClass") <*>+      (obj .:? "StepProperties")+  parseJSON _ = mempty++-- | Constructor for 'EMRClusterHadoopJarStepConfig' containing required+-- fields as arguments.+emrClusterHadoopJarStepConfig+  :: Val Text -- ^ 'emrchjscJar'+  -> EMRClusterHadoopJarStepConfig+emrClusterHadoopJarStepConfig jararg =+  EMRClusterHadoopJarStepConfig+  { _eMRClusterHadoopJarStepConfigArgs = Nothing+  , _eMRClusterHadoopJarStepConfigJar = jararg+  , _eMRClusterHadoopJarStepConfigMainClass = Nothing+  , _eMRClusterHadoopJarStepConfigStepProperties = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-args+emrchjscArgs :: Lens' EMRClusterHadoopJarStepConfig (Maybe (ValList Text))+emrchjscArgs = lens _eMRClusterHadoopJarStepConfigArgs (\s a -> s { _eMRClusterHadoopJarStepConfigArgs = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-jar+emrchjscJar :: Lens' EMRClusterHadoopJarStepConfig (Val Text)+emrchjscJar = lens _eMRClusterHadoopJarStepConfigJar (\s a -> s { _eMRClusterHadoopJarStepConfigJar = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-mainclass+emrchjscMainClass :: Lens' EMRClusterHadoopJarStepConfig (Maybe (Val Text))+emrchjscMainClass = lens _eMRClusterHadoopJarStepConfigMainClass (\s a -> s { _eMRClusterHadoopJarStepConfigMainClass = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-stepproperties+emrchjscStepProperties :: Lens' EMRClusterHadoopJarStepConfig (Maybe [EMRClusterKeyValue])+emrchjscStepProperties = lens _eMRClusterHadoopJarStepConfigStepProperties (\s a -> s { _eMRClusterHadoopJarStepConfigStepProperties = a })
library-gen/Stratosphere/ResourceProperties/EMRClusterJobFlowInstancesConfig.hs view
@@ -24,6 +24,7 @@   , _eMRClusterJobFlowInstancesConfigEmrManagedMasterSecurityGroup :: Maybe (Val Text)   , _eMRClusterJobFlowInstancesConfigEmrManagedSlaveSecurityGroup :: Maybe (Val Text)   , _eMRClusterJobFlowInstancesConfigHadoopVersion :: Maybe (Val Text)+  , _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps :: Maybe (Val Bool)   , _eMRClusterJobFlowInstancesConfigMasterInstanceFleet :: Maybe EMRClusterInstanceFleetConfig   , _eMRClusterJobFlowInstancesConfigMasterInstanceGroup :: Maybe EMRClusterInstanceGroupConfig   , _eMRClusterJobFlowInstancesConfigPlacement :: Maybe EMRClusterPlacementType@@ -44,6 +45,7 @@     , fmap (("EmrManagedMasterSecurityGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigEmrManagedMasterSecurityGroup     , fmap (("EmrManagedSlaveSecurityGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigEmrManagedSlaveSecurityGroup     , fmap (("HadoopVersion",) . toJSON) _eMRClusterJobFlowInstancesConfigHadoopVersion+    , fmap (("KeepJobFlowAliveWhenNoSteps",) . toJSON . fmap Bool') _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps     , fmap (("MasterInstanceFleet",) . toJSON) _eMRClusterJobFlowInstancesConfigMasterInstanceFleet     , fmap (("MasterInstanceGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigMasterInstanceGroup     , fmap (("Placement",) . toJSON) _eMRClusterJobFlowInstancesConfigPlacement@@ -63,6 +65,7 @@       (obj .:? "EmrManagedMasterSecurityGroup") <*>       (obj .:? "EmrManagedSlaveSecurityGroup") <*>       (obj .:? "HadoopVersion") <*>+      fmap (fmap (fmap unBool')) (obj .:? "KeepJobFlowAliveWhenNoSteps") <*>       (obj .:? "MasterInstanceFleet") <*>       (obj .:? "MasterInstanceGroup") <*>       (obj .:? "Placement") <*>@@ -85,6 +88,7 @@   , _eMRClusterJobFlowInstancesConfigEmrManagedMasterSecurityGroup = Nothing   , _eMRClusterJobFlowInstancesConfigEmrManagedSlaveSecurityGroup = Nothing   , _eMRClusterJobFlowInstancesConfigHadoopVersion = Nothing+  , _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps = Nothing   , _eMRClusterJobFlowInstancesConfigMasterInstanceFleet = Nothing   , _eMRClusterJobFlowInstancesConfigMasterInstanceGroup = Nothing   , _eMRClusterJobFlowInstancesConfigPlacement = Nothing@@ -127,6 +131,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-hadoopversion emrcjficHadoopVersion :: Lens' EMRClusterJobFlowInstancesConfig (Maybe (Val Text)) emrcjficHadoopVersion = lens _eMRClusterJobFlowInstancesConfigHadoopVersion (\s a -> s { _eMRClusterJobFlowInstancesConfigHadoopVersion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-keepjobflowalivewhennosteps+emrcjficKeepJobFlowAliveWhenNoSteps :: Lens' EMRClusterJobFlowInstancesConfig (Maybe (Val Bool))+emrcjficKeepJobFlowAliveWhenNoSteps = lens _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps (\s a -> s { _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-masterinstancefleet emrcjficMasterInstanceFleet :: Lens' EMRClusterJobFlowInstancesConfig (Maybe EMRClusterInstanceFleetConfig)
+ library-gen/Stratosphere/ResourceProperties/EMRClusterKeyValue.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html++module Stratosphere.ResourceProperties.EMRClusterKeyValue where++import Stratosphere.ResourceImports+++-- | Full data type definition for EMRClusterKeyValue. See+-- 'emrClusterKeyValue' for a more convenient constructor.+data EMRClusterKeyValue =+  EMRClusterKeyValue+  { _eMRClusterKeyValueKey :: Maybe (Val Text)+  , _eMRClusterKeyValueValue :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EMRClusterKeyValue where+  toJSON EMRClusterKeyValue{..} =+    object $+    catMaybes+    [ fmap (("Key",) . toJSON) _eMRClusterKeyValueKey+    , fmap (("Value",) . toJSON) _eMRClusterKeyValueValue+    ]++instance FromJSON EMRClusterKeyValue where+  parseJSON (Object obj) =+    EMRClusterKeyValue <$>+      (obj .:? "Key") <*>+      (obj .:? "Value")+  parseJSON _ = mempty++-- | Constructor for 'EMRClusterKeyValue' containing required fields as+-- arguments.+emrClusterKeyValue+  :: EMRClusterKeyValue+emrClusterKeyValue  =+  EMRClusterKeyValue+  { _eMRClusterKeyValueKey = Nothing+  , _eMRClusterKeyValueValue = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html#cfn-elasticmapreduce-cluster-keyvalue-key+emrckvKey :: Lens' EMRClusterKeyValue (Maybe (Val Text))+emrckvKey = lens _eMRClusterKeyValueKey (\s a -> s { _eMRClusterKeyValueKey = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html#cfn-elasticmapreduce-cluster-keyvalue-value+emrckvValue :: Lens' EMRClusterKeyValue (Maybe (Val Text))+emrckvValue = lens _eMRClusterKeyValueValue (\s a -> s { _eMRClusterKeyValueValue = a })
+ library-gen/Stratosphere/ResourceProperties/EMRClusterStepConfig.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html++module Stratosphere.ResourceProperties.EMRClusterStepConfig where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EMRClusterHadoopJarStepConfig++-- | Full data type definition for EMRClusterStepConfig. See+-- 'emrClusterStepConfig' for a more convenient constructor.+data EMRClusterStepConfig =+  EMRClusterStepConfig+  { _eMRClusterStepConfigActionOnFailure :: Maybe (Val Text)+  , _eMRClusterStepConfigHadoopJarStep :: EMRClusterHadoopJarStepConfig+  , _eMRClusterStepConfigName :: Val Text+  } deriving (Show, Eq)++instance ToJSON EMRClusterStepConfig where+  toJSON EMRClusterStepConfig{..} =+    object $+    catMaybes+    [ fmap (("ActionOnFailure",) . toJSON) _eMRClusterStepConfigActionOnFailure+    , (Just . ("HadoopJarStep",) . toJSON) _eMRClusterStepConfigHadoopJarStep+    , (Just . ("Name",) . toJSON) _eMRClusterStepConfigName+    ]++instance FromJSON EMRClusterStepConfig where+  parseJSON (Object obj) =+    EMRClusterStepConfig <$>+      (obj .:? "ActionOnFailure") <*>+      (obj .: "HadoopJarStep") <*>+      (obj .: "Name")+  parseJSON _ = mempty++-- | Constructor for 'EMRClusterStepConfig' containing required fields as+-- arguments.+emrClusterStepConfig+  :: EMRClusterHadoopJarStepConfig -- ^ 'emrcscHadoopJarStep'+  -> Val Text -- ^ 'emrcscName'+  -> EMRClusterStepConfig+emrClusterStepConfig hadoopJarSteparg namearg =+  EMRClusterStepConfig+  { _eMRClusterStepConfigActionOnFailure = Nothing+  , _eMRClusterStepConfigHadoopJarStep = hadoopJarSteparg+  , _eMRClusterStepConfigName = namearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-actiononfailure+emrcscActionOnFailure :: Lens' EMRClusterStepConfig (Maybe (Val Text))+emrcscActionOnFailure = lens _eMRClusterStepConfigActionOnFailure (\s a -> s { _eMRClusterStepConfigActionOnFailure = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-hadoopjarstep+emrcscHadoopJarStep :: Lens' EMRClusterStepConfig EMRClusterHadoopJarStepConfig+emrcscHadoopJarStep = lens _eMRClusterStepConfigHadoopJarStep (\s a -> s { _eMRClusterStepConfigHadoopJarStep = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-name+emrcscName :: Lens' EMRClusterStepConfig (Val Text)+emrcscName = lens _eMRClusterStepConfigName (\s a -> s { _eMRClusterStepConfigName = a })
library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAction.hs view
@@ -7,13 +7,21 @@ module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAction where  import Stratosphere.ResourceImports-+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateOidcConfig+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerFixedResponseConfig+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRedirectConfig  -- | Full data type definition for ElasticLoadBalancingV2ListenerAction. See -- 'elasticLoadBalancingV2ListenerAction' for a more convenient constructor. data ElasticLoadBalancingV2ListenerAction =   ElasticLoadBalancingV2ListenerAction-  { _elasticLoadBalancingV2ListenerActionTargetGroupArn :: Val Text+  { _elasticLoadBalancingV2ListenerActionAuthenticateCognitoConfig :: Maybe ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig+  , _elasticLoadBalancingV2ListenerActionAuthenticateOidcConfig :: Maybe ElasticLoadBalancingV2ListenerAuthenticateOidcConfig+  , _elasticLoadBalancingV2ListenerActionFixedResponseConfig :: Maybe ElasticLoadBalancingV2ListenerFixedResponseConfig+  , _elasticLoadBalancingV2ListenerActionOrder :: Maybe (Val Integer)+  , _elasticLoadBalancingV2ListenerActionRedirectConfig :: Maybe ElasticLoadBalancingV2ListenerRedirectConfig+  , _elasticLoadBalancingV2ListenerActionTargetGroupArn :: Maybe (Val Text)   , _elasticLoadBalancingV2ListenerActionType :: Val Text   } deriving (Show, Eq) @@ -21,31 +29,65 @@   toJSON ElasticLoadBalancingV2ListenerAction{..} =     object $     catMaybes-    [ (Just . ("TargetGroupArn",) . toJSON) _elasticLoadBalancingV2ListenerActionTargetGroupArn+    [ fmap (("AuthenticateCognitoConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionAuthenticateCognitoConfig+    , fmap (("AuthenticateOidcConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionAuthenticateOidcConfig+    , fmap (("FixedResponseConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionFixedResponseConfig+    , fmap (("Order",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerActionOrder+    , fmap (("RedirectConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionRedirectConfig+    , fmap (("TargetGroupArn",) . toJSON) _elasticLoadBalancingV2ListenerActionTargetGroupArn     , (Just . ("Type",) . toJSON) _elasticLoadBalancingV2ListenerActionType     ]  instance FromJSON ElasticLoadBalancingV2ListenerAction where   parseJSON (Object obj) =     ElasticLoadBalancingV2ListenerAction <$>-      (obj .: "TargetGroupArn") <*>+      (obj .:? "AuthenticateCognitoConfig") <*>+      (obj .:? "AuthenticateOidcConfig") <*>+      (obj .:? "FixedResponseConfig") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "Order") <*>+      (obj .:? "RedirectConfig") <*>+      (obj .:? "TargetGroupArn") <*>       (obj .: "Type")   parseJSON _ = mempty  -- | Constructor for 'ElasticLoadBalancingV2ListenerAction' containing -- required fields as arguments. elasticLoadBalancingV2ListenerAction-  :: Val Text -- ^ 'elbvlaTargetGroupArn'-  -> Val Text -- ^ 'elbvlaType'+  :: Val Text -- ^ 'elbvlaType'   -> ElasticLoadBalancingV2ListenerAction-elasticLoadBalancingV2ListenerAction targetGroupArnarg typearg =+elasticLoadBalancingV2ListenerAction typearg =   ElasticLoadBalancingV2ListenerAction-  { _elasticLoadBalancingV2ListenerActionTargetGroupArn = targetGroupArnarg+  { _elasticLoadBalancingV2ListenerActionAuthenticateCognitoConfig = Nothing+  , _elasticLoadBalancingV2ListenerActionAuthenticateOidcConfig = Nothing+  , _elasticLoadBalancingV2ListenerActionFixedResponseConfig = Nothing+  , _elasticLoadBalancingV2ListenerActionOrder = Nothing+  , _elasticLoadBalancingV2ListenerActionRedirectConfig = Nothing+  , _elasticLoadBalancingV2ListenerActionTargetGroupArn = Nothing   , _elasticLoadBalancingV2ListenerActionType = typearg   } +-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticatecognitoconfig+elbvlaAuthenticateCognitoConfig :: Lens' ElasticLoadBalancingV2ListenerAction (Maybe ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig)+elbvlaAuthenticateCognitoConfig = lens _elasticLoadBalancingV2ListenerActionAuthenticateCognitoConfig (\s a -> s { _elasticLoadBalancingV2ListenerActionAuthenticateCognitoConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticateoidcconfig+elbvlaAuthenticateOidcConfig :: Lens' ElasticLoadBalancingV2ListenerAction (Maybe ElasticLoadBalancingV2ListenerAuthenticateOidcConfig)+elbvlaAuthenticateOidcConfig = lens _elasticLoadBalancingV2ListenerActionAuthenticateOidcConfig (\s a -> s { _elasticLoadBalancingV2ListenerActionAuthenticateOidcConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-fixedresponseconfig+elbvlaFixedResponseConfig :: Lens' ElasticLoadBalancingV2ListenerAction (Maybe ElasticLoadBalancingV2ListenerFixedResponseConfig)+elbvlaFixedResponseConfig = lens _elasticLoadBalancingV2ListenerActionFixedResponseConfig (\s a -> s { _elasticLoadBalancingV2ListenerActionFixedResponseConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-order+elbvlaOrder :: Lens' ElasticLoadBalancingV2ListenerAction (Maybe (Val Integer))+elbvlaOrder = lens _elasticLoadBalancingV2ListenerActionOrder (\s a -> s { _elasticLoadBalancingV2ListenerActionOrder = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-redirectconfig+elbvlaRedirectConfig :: Lens' ElasticLoadBalancingV2ListenerAction (Maybe ElasticLoadBalancingV2ListenerRedirectConfig)+elbvlaRedirectConfig = lens _elasticLoadBalancingV2ListenerActionRedirectConfig (\s a -> s { _elasticLoadBalancingV2ListenerActionRedirectConfig = a })+ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-targetgrouparn-elbvlaTargetGroupArn :: Lens' ElasticLoadBalancingV2ListenerAction (Val Text)+elbvlaTargetGroupArn :: Lens' ElasticLoadBalancingV2ListenerAction (Maybe (Val Text)) elbvlaTargetGroupArn = lens _elasticLoadBalancingV2ListenerActionTargetGroupArn (\s a -> s { _elasticLoadBalancingV2ListenerActionTargetGroupArn = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-type
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig. See+-- 'elasticLoadBalancingV2ListenerAuthenticateCognitoConfig' for a more+-- convenient constructor.+data ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig =+  ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig+  { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigAuthenticationRequestExtraParams :: Maybe Object+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigOnUnauthenticatedRequest :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigScope :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionCookieName :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout :: Maybe (Val Integer)+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolArn :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolClientId :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolDomain :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig where+  toJSON ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig{..} =+    object $+    catMaybes+    [ fmap (("AuthenticationRequestExtraParams",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigAuthenticationRequestExtraParams+    , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigOnUnauthenticatedRequest+    , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigScope+    , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionCookieName+    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout+    , (Just . ("UserPoolArn",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolArn+    , (Just . ("UserPoolClientId",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolClientId+    , (Just . ("UserPoolDomain",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolDomain+    ]++instance FromJSON ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig <$>+      (obj .:? "AuthenticationRequestExtraParams") <*>+      (obj .:? "OnUnauthenticatedRequest") <*>+      (obj .:? "Scope") <*>+      (obj .:? "SessionCookieName") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SessionTimeout") <*>+      (obj .: "UserPoolArn") <*>+      (obj .: "UserPoolClientId") <*>+      (obj .: "UserPoolDomain")+  parseJSON _ = mempty++-- | Constructor for 'ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig'+-- containing required fields as arguments.+elasticLoadBalancingV2ListenerAuthenticateCognitoConfig+  :: Val Text -- ^ 'elbvlaccUserPoolArn'+  -> Val Text -- ^ 'elbvlaccUserPoolClientId'+  -> Val Text -- ^ 'elbvlaccUserPoolDomain'+  -> ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig+elasticLoadBalancingV2ListenerAuthenticateCognitoConfig userPoolArnarg userPoolClientIdarg userPoolDomainarg =+  ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig+  { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigAuthenticationRequestExtraParams = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigOnUnauthenticatedRequest = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigScope = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionCookieName = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolArn = userPoolArnarg+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolClientId = userPoolClientIdarg+  , _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolDomain = userPoolDomainarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-authenticationrequestextraparams+elbvlaccAuthenticationRequestExtraParams :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Maybe Object)+elbvlaccAuthenticationRequestExtraParams = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigAuthenticationRequestExtraParams (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigAuthenticationRequestExtraParams = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-onunauthenticatedrequest+elbvlaccOnUnauthenticatedRequest :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Maybe (Val Text))+elbvlaccOnUnauthenticatedRequest = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigOnUnauthenticatedRequest (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigOnUnauthenticatedRequest = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-scope+elbvlaccScope :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Maybe (Val Text))+elbvlaccScope = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigScope (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigScope = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessioncookiename+elbvlaccSessionCookieName :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Maybe (Val Text))+elbvlaccSessionCookieName = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionCookieName (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionCookieName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessiontimeout+elbvlaccSessionTimeout :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Maybe (Val Integer))+elbvlaccSessionTimeout = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-userpoolarn+elbvlaccUserPoolArn :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Val Text)+elbvlaccUserPoolArn = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolArn (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolArn = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-userpoolclientid+elbvlaccUserPoolClientId :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Val Text)+elbvlaccUserPoolClientId = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolClientId (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolClientId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-userpooldomain+elbvlaccUserPoolDomain :: Lens' ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig (Val Text)+elbvlaccUserPoolDomain = lens _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolDomain (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolDomain = a })
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateOidcConfig.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateOidcConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerAuthenticateOidcConfig. See+-- 'elasticLoadBalancingV2ListenerAuthenticateOidcConfig' for a more+-- convenient constructor.+data ElasticLoadBalancingV2ListenerAuthenticateOidcConfig =+  ElasticLoadBalancingV2ListenerAuthenticateOidcConfig+  { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthenticationRequestExtraParams :: Maybe Object+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthorizationEndpoint :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientId :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientSecret :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigIssuer :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigOnUnauthenticatedRequest :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigScope :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionCookieName :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout :: Maybe (Val Integer)+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigTokenEndpoint :: Val Text+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigUserInfoEndpoint :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerAuthenticateOidcConfig where+  toJSON ElasticLoadBalancingV2ListenerAuthenticateOidcConfig{..} =+    object $+    catMaybes+    [ fmap (("AuthenticationRequestExtraParams",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthenticationRequestExtraParams+    , (Just . ("AuthorizationEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthorizationEndpoint+    , (Just . ("ClientId",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientId+    , (Just . ("ClientSecret",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientSecret+    , (Just . ("Issuer",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigIssuer+    , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigOnUnauthenticatedRequest+    , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigScope+    , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionCookieName+    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout+    , (Just . ("TokenEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigTokenEndpoint+    , (Just . ("UserInfoEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigUserInfoEndpoint+    ]++instance FromJSON ElasticLoadBalancingV2ListenerAuthenticateOidcConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerAuthenticateOidcConfig <$>+      (obj .:? "AuthenticationRequestExtraParams") <*>+      (obj .: "AuthorizationEndpoint") <*>+      (obj .: "ClientId") <*>+      (obj .: "ClientSecret") <*>+      (obj .: "Issuer") <*>+      (obj .:? "OnUnauthenticatedRequest") <*>+      (obj .:? "Scope") <*>+      (obj .:? "SessionCookieName") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SessionTimeout") <*>+      (obj .: "TokenEndpoint") <*>+      (obj .: "UserInfoEndpoint")+  parseJSON _ = mempty++-- | Constructor for 'ElasticLoadBalancingV2ListenerAuthenticateOidcConfig'+-- containing required fields as arguments.+elasticLoadBalancingV2ListenerAuthenticateOidcConfig+  :: Val Text -- ^ 'elbvlaocAuthorizationEndpoint'+  -> Val Text -- ^ 'elbvlaocClientId'+  -> Val Text -- ^ 'elbvlaocClientSecret'+  -> Val Text -- ^ 'elbvlaocIssuer'+  -> Val Text -- ^ 'elbvlaocTokenEndpoint'+  -> Val Text -- ^ 'elbvlaocUserInfoEndpoint'+  -> ElasticLoadBalancingV2ListenerAuthenticateOidcConfig+elasticLoadBalancingV2ListenerAuthenticateOidcConfig authorizationEndpointarg clientIdarg clientSecretarg issuerarg tokenEndpointarg userInfoEndpointarg =+  ElasticLoadBalancingV2ListenerAuthenticateOidcConfig+  { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthenticationRequestExtraParams = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthorizationEndpoint = authorizationEndpointarg+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientId = clientIdarg+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientSecret = clientSecretarg+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigIssuer = issuerarg+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigOnUnauthenticatedRequest = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigScope = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionCookieName = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout = Nothing+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigTokenEndpoint = tokenEndpointarg+  , _elasticLoadBalancingV2ListenerAuthenticateOidcConfigUserInfoEndpoint = userInfoEndpointarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-authenticationrequestextraparams+elbvlaocAuthenticationRequestExtraParams :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Maybe Object)+elbvlaocAuthenticationRequestExtraParams = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthenticationRequestExtraParams (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthenticationRequestExtraParams = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-authorizationendpoint+elbvlaocAuthorizationEndpoint :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Val Text)+elbvlaocAuthorizationEndpoint = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthorizationEndpoint (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigAuthorizationEndpoint = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-clientid+elbvlaocClientId :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Val Text)+elbvlaocClientId = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientId (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-clientsecret+elbvlaocClientSecret :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Val Text)+elbvlaocClientSecret = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientSecret (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigClientSecret = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-issuer+elbvlaocIssuer :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Val Text)+elbvlaocIssuer = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigIssuer (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigIssuer = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-onunauthenticatedrequest+elbvlaocOnUnauthenticatedRequest :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Maybe (Val Text))+elbvlaocOnUnauthenticatedRequest = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigOnUnauthenticatedRequest (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigOnUnauthenticatedRequest = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-scope+elbvlaocScope :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Maybe (Val Text))+elbvlaocScope = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigScope (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigScope = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessioncookiename+elbvlaocSessionCookieName :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Maybe (Val Text))+elbvlaocSessionCookieName = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionCookieName (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionCookieName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessiontimeout+elbvlaocSessionTimeout :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Maybe (Val Integer))+elbvlaocSessionTimeout = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-tokenendpoint+elbvlaocTokenEndpoint :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Val Text)+elbvlaocTokenEndpoint = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigTokenEndpoint (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigTokenEndpoint = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-userinfoendpoint+elbvlaocUserInfoEndpoint :: Lens' ElasticLoadBalancingV2ListenerAuthenticateOidcConfig (Val Text)+elbvlaocUserInfoEndpoint = lens _elasticLoadBalancingV2ListenerAuthenticateOidcConfigUserInfoEndpoint (\s a -> s { _elasticLoadBalancingV2ListenerAuthenticateOidcConfigUserInfoEndpoint = a })
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerFixedResponseConfig.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerFixedResponseConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerFixedResponseConfig. See+-- 'elasticLoadBalancingV2ListenerFixedResponseConfig' for a more convenient+-- constructor.+data ElasticLoadBalancingV2ListenerFixedResponseConfig =+  ElasticLoadBalancingV2ListenerFixedResponseConfig+  { _elasticLoadBalancingV2ListenerFixedResponseConfigContentType :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerFixedResponseConfigMessageBody :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerFixedResponseConfigStatusCode :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerFixedResponseConfig where+  toJSON ElasticLoadBalancingV2ListenerFixedResponseConfig{..} =+    object $+    catMaybes+    [ fmap (("ContentType",) . toJSON) _elasticLoadBalancingV2ListenerFixedResponseConfigContentType+    , fmap (("MessageBody",) . toJSON) _elasticLoadBalancingV2ListenerFixedResponseConfigMessageBody+    , (Just . ("StatusCode",) . toJSON) _elasticLoadBalancingV2ListenerFixedResponseConfigStatusCode+    ]++instance FromJSON ElasticLoadBalancingV2ListenerFixedResponseConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerFixedResponseConfig <$>+      (obj .:? "ContentType") <*>+      (obj .:? "MessageBody") <*>+      (obj .: "StatusCode")+  parseJSON _ = mempty++-- | Constructor for 'ElasticLoadBalancingV2ListenerFixedResponseConfig'+-- containing required fields as arguments.+elasticLoadBalancingV2ListenerFixedResponseConfig+  :: Val Text -- ^ 'elbvlfrcStatusCode'+  -> ElasticLoadBalancingV2ListenerFixedResponseConfig+elasticLoadBalancingV2ListenerFixedResponseConfig statusCodearg =+  ElasticLoadBalancingV2ListenerFixedResponseConfig+  { _elasticLoadBalancingV2ListenerFixedResponseConfigContentType = Nothing+  , _elasticLoadBalancingV2ListenerFixedResponseConfigMessageBody = Nothing+  , _elasticLoadBalancingV2ListenerFixedResponseConfigStatusCode = statusCodearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-contenttype+elbvlfrcContentType :: Lens' ElasticLoadBalancingV2ListenerFixedResponseConfig (Maybe (Val Text))+elbvlfrcContentType = lens _elasticLoadBalancingV2ListenerFixedResponseConfigContentType (\s a -> s { _elasticLoadBalancingV2ListenerFixedResponseConfigContentType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-messagebody+elbvlfrcMessageBody :: Lens' ElasticLoadBalancingV2ListenerFixedResponseConfig (Maybe (Val Text))+elbvlfrcMessageBody = lens _elasticLoadBalancingV2ListenerFixedResponseConfigMessageBody (\s a -> s { _elasticLoadBalancingV2ListenerFixedResponseConfigMessageBody = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-statuscode+elbvlfrcStatusCode :: Lens' ElasticLoadBalancingV2ListenerFixedResponseConfig (Val Text)+elbvlfrcStatusCode = lens _elasticLoadBalancingV2ListenerFixedResponseConfigStatusCode (\s a -> s { _elasticLoadBalancingV2ListenerFixedResponseConfigStatusCode = a })
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRedirectConfig.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRedirectConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerRedirectConfig. See+-- 'elasticLoadBalancingV2ListenerRedirectConfig' for a more convenient+-- constructor.+data ElasticLoadBalancingV2ListenerRedirectConfig =+  ElasticLoadBalancingV2ListenerRedirectConfig+  { _elasticLoadBalancingV2ListenerRedirectConfigHost :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRedirectConfigPath :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRedirectConfigPort :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRedirectConfigProtocol :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRedirectConfigQuery :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRedirectConfigStatusCode :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerRedirectConfig where+  toJSON ElasticLoadBalancingV2ListenerRedirectConfig{..} =+    object $+    catMaybes+    [ fmap (("Host",) . toJSON) _elasticLoadBalancingV2ListenerRedirectConfigHost+    , fmap (("Path",) . toJSON) _elasticLoadBalancingV2ListenerRedirectConfigPath+    , fmap (("Port",) . toJSON) _elasticLoadBalancingV2ListenerRedirectConfigPort+    , fmap (("Protocol",) . toJSON) _elasticLoadBalancingV2ListenerRedirectConfigProtocol+    , fmap (("Query",) . toJSON) _elasticLoadBalancingV2ListenerRedirectConfigQuery+    , (Just . ("StatusCode",) . toJSON) _elasticLoadBalancingV2ListenerRedirectConfigStatusCode+    ]++instance FromJSON ElasticLoadBalancingV2ListenerRedirectConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerRedirectConfig <$>+      (obj .:? "Host") <*>+      (obj .:? "Path") <*>+      (obj .:? "Port") <*>+      (obj .:? "Protocol") <*>+      (obj .:? "Query") <*>+      (obj .: "StatusCode")+  parseJSON _ = mempty++-- | Constructor for 'ElasticLoadBalancingV2ListenerRedirectConfig' containing+-- required fields as arguments.+elasticLoadBalancingV2ListenerRedirectConfig+  :: Val Text -- ^ 'elbvlrcStatusCode'+  -> ElasticLoadBalancingV2ListenerRedirectConfig+elasticLoadBalancingV2ListenerRedirectConfig statusCodearg =+  ElasticLoadBalancingV2ListenerRedirectConfig+  { _elasticLoadBalancingV2ListenerRedirectConfigHost = Nothing+  , _elasticLoadBalancingV2ListenerRedirectConfigPath = Nothing+  , _elasticLoadBalancingV2ListenerRedirectConfigPort = Nothing+  , _elasticLoadBalancingV2ListenerRedirectConfigProtocol = Nothing+  , _elasticLoadBalancingV2ListenerRedirectConfigQuery = Nothing+  , _elasticLoadBalancingV2ListenerRedirectConfigStatusCode = statusCodearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-host+elbvlrcHost :: Lens' ElasticLoadBalancingV2ListenerRedirectConfig (Maybe (Val Text))+elbvlrcHost = lens _elasticLoadBalancingV2ListenerRedirectConfigHost (\s a -> s { _elasticLoadBalancingV2ListenerRedirectConfigHost = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-path+elbvlrcPath :: Lens' ElasticLoadBalancingV2ListenerRedirectConfig (Maybe (Val Text))+elbvlrcPath = lens _elasticLoadBalancingV2ListenerRedirectConfigPath (\s a -> s { _elasticLoadBalancingV2ListenerRedirectConfigPath = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-port+elbvlrcPort :: Lens' ElasticLoadBalancingV2ListenerRedirectConfig (Maybe (Val Text))+elbvlrcPort = lens _elasticLoadBalancingV2ListenerRedirectConfigPort (\s a -> s { _elasticLoadBalancingV2ListenerRedirectConfigPort = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-protocol+elbvlrcProtocol :: Lens' ElasticLoadBalancingV2ListenerRedirectConfig (Maybe (Val Text))+elbvlrcProtocol = lens _elasticLoadBalancingV2ListenerRedirectConfigProtocol (\s a -> s { _elasticLoadBalancingV2ListenerRedirectConfigProtocol = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-query+elbvlrcQuery :: Lens' ElasticLoadBalancingV2ListenerRedirectConfig (Maybe (Val Text))+elbvlrcQuery = lens _elasticLoadBalancingV2ListenerRedirectConfigQuery (\s a -> s { _elasticLoadBalancingV2ListenerRedirectConfigQuery = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-statuscode+elbvlrcStatusCode :: Lens' ElasticLoadBalancingV2ListenerRedirectConfig (Val Text)+elbvlrcStatusCode = lens _elasticLoadBalancingV2ListenerRedirectConfigStatusCode (\s a -> s { _elasticLoadBalancingV2ListenerRedirectConfigStatusCode = a })
library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAction.hs view
@@ -7,14 +7,22 @@ module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAction where  import Stratosphere.ResourceImports-+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleFixedResponseConfig+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleRedirectConfig  -- | Full data type definition for ElasticLoadBalancingV2ListenerRuleAction. -- See 'elasticLoadBalancingV2ListenerRuleAction' for a more convenient -- constructor. data ElasticLoadBalancingV2ListenerRuleAction =   ElasticLoadBalancingV2ListenerRuleAction-  { _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn :: Val Text+  { _elasticLoadBalancingV2ListenerRuleActionAuthenticateCognitoConfig :: Maybe ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+  , _elasticLoadBalancingV2ListenerRuleActionAuthenticateOidcConfig :: Maybe ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+  , _elasticLoadBalancingV2ListenerRuleActionFixedResponseConfig :: Maybe ElasticLoadBalancingV2ListenerRuleFixedResponseConfig+  , _elasticLoadBalancingV2ListenerRuleActionOrder :: Maybe (Val Integer)+  , _elasticLoadBalancingV2ListenerRuleActionRedirectConfig :: Maybe ElasticLoadBalancingV2ListenerRuleRedirectConfig+  , _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn :: Maybe (Val Text)   , _elasticLoadBalancingV2ListenerRuleActionType :: Val Text   } deriving (Show, Eq) @@ -22,31 +30,65 @@   toJSON ElasticLoadBalancingV2ListenerRuleAction{..} =     object $     catMaybes-    [ (Just . ("TargetGroupArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn+    [ fmap (("AuthenticateCognitoConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionAuthenticateCognitoConfig+    , fmap (("AuthenticateOidcConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionAuthenticateOidcConfig+    , fmap (("FixedResponseConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionFixedResponseConfig+    , fmap (("Order",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRuleActionOrder+    , fmap (("RedirectConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionRedirectConfig+    , fmap (("TargetGroupArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn     , (Just . ("Type",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionType     ]  instance FromJSON ElasticLoadBalancingV2ListenerRuleAction where   parseJSON (Object obj) =     ElasticLoadBalancingV2ListenerRuleAction <$>-      (obj .: "TargetGroupArn") <*>+      (obj .:? "AuthenticateCognitoConfig") <*>+      (obj .:? "AuthenticateOidcConfig") <*>+      (obj .:? "FixedResponseConfig") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "Order") <*>+      (obj .:? "RedirectConfig") <*>+      (obj .:? "TargetGroupArn") <*>       (obj .: "Type")   parseJSON _ = mempty  -- | Constructor for 'ElasticLoadBalancingV2ListenerRuleAction' containing -- required fields as arguments. elasticLoadBalancingV2ListenerRuleAction-  :: Val Text -- ^ 'elbvlraTargetGroupArn'-  -> Val Text -- ^ 'elbvlraType'+  :: Val Text -- ^ 'elbvlraType'   -> ElasticLoadBalancingV2ListenerRuleAction-elasticLoadBalancingV2ListenerRuleAction targetGroupArnarg typearg =+elasticLoadBalancingV2ListenerRuleAction typearg =   ElasticLoadBalancingV2ListenerRuleAction-  { _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn = targetGroupArnarg+  { _elasticLoadBalancingV2ListenerRuleActionAuthenticateCognitoConfig = Nothing+  , _elasticLoadBalancingV2ListenerRuleActionAuthenticateOidcConfig = Nothing+  , _elasticLoadBalancingV2ListenerRuleActionFixedResponseConfig = Nothing+  , _elasticLoadBalancingV2ListenerRuleActionOrder = Nothing+  , _elasticLoadBalancingV2ListenerRuleActionRedirectConfig = Nothing+  , _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn = Nothing   , _elasticLoadBalancingV2ListenerRuleActionType = typearg   } +-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticatecognitoconfig+elbvlraAuthenticateCognitoConfig :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Maybe ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig)+elbvlraAuthenticateCognitoConfig = lens _elasticLoadBalancingV2ListenerRuleActionAuthenticateCognitoConfig (\s a -> s { _elasticLoadBalancingV2ListenerRuleActionAuthenticateCognitoConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticateoidcconfig+elbvlraAuthenticateOidcConfig :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Maybe ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig)+elbvlraAuthenticateOidcConfig = lens _elasticLoadBalancingV2ListenerRuleActionAuthenticateOidcConfig (\s a -> s { _elasticLoadBalancingV2ListenerRuleActionAuthenticateOidcConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-fixedresponseconfig+elbvlraFixedResponseConfig :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Maybe ElasticLoadBalancingV2ListenerRuleFixedResponseConfig)+elbvlraFixedResponseConfig = lens _elasticLoadBalancingV2ListenerRuleActionFixedResponseConfig (\s a -> s { _elasticLoadBalancingV2ListenerRuleActionFixedResponseConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-order+elbvlraOrder :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Maybe (Val Integer))+elbvlraOrder = lens _elasticLoadBalancingV2ListenerRuleActionOrder (\s a -> s { _elasticLoadBalancingV2ListenerRuleActionOrder = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-redirectconfig+elbvlraRedirectConfig :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Maybe ElasticLoadBalancingV2ListenerRuleRedirectConfig)+elbvlraRedirectConfig = lens _elasticLoadBalancingV2ListenerRuleActionRedirectConfig (\s a -> s { _elasticLoadBalancingV2ListenerRuleActionRedirectConfig = a })+ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-targetgrouparn-elbvlraTargetGroupArn :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Val Text)+elbvlraTargetGroupArn :: Lens' ElasticLoadBalancingV2ListenerRuleAction (Maybe (Val Text)) elbvlraTargetGroupArn = lens _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn (\s a -> s { _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-type
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig. See+-- 'elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig' for a more+-- convenient constructor.+data ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig =+  ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+  { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigAuthenticationRequestExtraParams :: Maybe Object+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigOnUnauthenticatedRequest :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigScope :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionCookieName :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout :: Maybe (Val Integer)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolArn :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolClientId :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolDomain :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig where+  toJSON ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig{..} =+    object $+    catMaybes+    [ fmap (("AuthenticationRequestExtraParams",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigAuthenticationRequestExtraParams+    , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigOnUnauthenticatedRequest+    , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigScope+    , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionCookieName+    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout+    , (Just . ("UserPoolArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolArn+    , (Just . ("UserPoolClientId",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolClientId+    , (Just . ("UserPoolDomain",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolDomain+    ]++instance FromJSON ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig <$>+      (obj .:? "AuthenticationRequestExtraParams") <*>+      (obj .:? "OnUnauthenticatedRequest") <*>+      (obj .:? "Scope") <*>+      (obj .:? "SessionCookieName") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SessionTimeout") <*>+      (obj .: "UserPoolArn") <*>+      (obj .: "UserPoolClientId") <*>+      (obj .: "UserPoolDomain")+  parseJSON _ = mempty++-- | Constructor for+-- 'ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig' containing+-- required fields as arguments.+elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+  :: Val Text -- ^ 'elbvlraccUserPoolArn'+  -> Val Text -- ^ 'elbvlraccUserPoolClientId'+  -> Val Text -- ^ 'elbvlraccUserPoolDomain'+  -> ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig userPoolArnarg userPoolClientIdarg userPoolDomainarg =+  ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+  { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigAuthenticationRequestExtraParams = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigOnUnauthenticatedRequest = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigScope = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionCookieName = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolArn = userPoolArnarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolClientId = userPoolClientIdarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolDomain = userPoolDomainarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-authenticationrequestextraparams+elbvlraccAuthenticationRequestExtraParams :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Maybe Object)+elbvlraccAuthenticationRequestExtraParams = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigAuthenticationRequestExtraParams (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigAuthenticationRequestExtraParams = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-onunauthenticatedrequest+elbvlraccOnUnauthenticatedRequest :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Maybe (Val Text))+elbvlraccOnUnauthenticatedRequest = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigOnUnauthenticatedRequest (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigOnUnauthenticatedRequest = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-scope+elbvlraccScope :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Maybe (Val Text))+elbvlraccScope = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigScope (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigScope = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessioncookiename+elbvlraccSessionCookieName :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Maybe (Val Text))+elbvlraccSessionCookieName = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionCookieName (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionCookieName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessiontimeout+elbvlraccSessionTimeout :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Maybe (Val Integer))+elbvlraccSessionTimeout = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-userpoolarn+elbvlraccUserPoolArn :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Val Text)+elbvlraccUserPoolArn = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolArn (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolArn = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-userpoolclientid+elbvlraccUserPoolClientId :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Val Text)+elbvlraccUserPoolClientId = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolClientId (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolClientId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-userpooldomain+elbvlraccUserPoolDomain :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig (Val Text)+elbvlraccUserPoolDomain = lens _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolDomain (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolDomain = a })
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig. See+-- 'elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig' for a more+-- convenient constructor.+data ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig =+  ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+  { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthenticationRequestExtraParams :: Maybe Object+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthorizationEndpoint :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientId :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientSecret :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigIssuer :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigOnUnauthenticatedRequest :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigScope :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionCookieName :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout :: Maybe (Val Integer)+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigTokenEndpoint :: Val Text+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigUserInfoEndpoint :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig where+  toJSON ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig{..} =+    object $+    catMaybes+    [ fmap (("AuthenticationRequestExtraParams",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthenticationRequestExtraParams+    , (Just . ("AuthorizationEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthorizationEndpoint+    , (Just . ("ClientId",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientId+    , (Just . ("ClientSecret",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientSecret+    , (Just . ("Issuer",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigIssuer+    , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigOnUnauthenticatedRequest+    , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigScope+    , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionCookieName+    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout+    , (Just . ("TokenEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigTokenEndpoint+    , (Just . ("UserInfoEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigUserInfoEndpoint+    ]++instance FromJSON ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig <$>+      (obj .:? "AuthenticationRequestExtraParams") <*>+      (obj .: "AuthorizationEndpoint") <*>+      (obj .: "ClientId") <*>+      (obj .: "ClientSecret") <*>+      (obj .: "Issuer") <*>+      (obj .:? "OnUnauthenticatedRequest") <*>+      (obj .:? "Scope") <*>+      (obj .:? "SessionCookieName") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SessionTimeout") <*>+      (obj .: "TokenEndpoint") <*>+      (obj .: "UserInfoEndpoint")+  parseJSON _ = mempty++-- | Constructor for+-- 'ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig' containing+-- required fields as arguments.+elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+  :: Val Text -- ^ 'elbvlraocAuthorizationEndpoint'+  -> Val Text -- ^ 'elbvlraocClientId'+  -> Val Text -- ^ 'elbvlraocClientSecret'+  -> Val Text -- ^ 'elbvlraocIssuer'+  -> Val Text -- ^ 'elbvlraocTokenEndpoint'+  -> Val Text -- ^ 'elbvlraocUserInfoEndpoint'+  -> ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig authorizationEndpointarg clientIdarg clientSecretarg issuerarg tokenEndpointarg userInfoEndpointarg =+  ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+  { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthenticationRequestExtraParams = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthorizationEndpoint = authorizationEndpointarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientId = clientIdarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientSecret = clientSecretarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigIssuer = issuerarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigOnUnauthenticatedRequest = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigScope = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionCookieName = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout = Nothing+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigTokenEndpoint = tokenEndpointarg+  , _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigUserInfoEndpoint = userInfoEndpointarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-authenticationrequestextraparams+elbvlraocAuthenticationRequestExtraParams :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Maybe Object)+elbvlraocAuthenticationRequestExtraParams = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthenticationRequestExtraParams (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthenticationRequestExtraParams = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-authorizationendpoint+elbvlraocAuthorizationEndpoint :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Val Text)+elbvlraocAuthorizationEndpoint = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthorizationEndpoint (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigAuthorizationEndpoint = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-clientid+elbvlraocClientId :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Val Text)+elbvlraocClientId = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientId (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-clientsecret+elbvlraocClientSecret :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Val Text)+elbvlraocClientSecret = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientSecret (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigClientSecret = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-issuer+elbvlraocIssuer :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Val Text)+elbvlraocIssuer = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigIssuer (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigIssuer = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-onunauthenticatedrequest+elbvlraocOnUnauthenticatedRequest :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Maybe (Val Text))+elbvlraocOnUnauthenticatedRequest = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigOnUnauthenticatedRequest (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigOnUnauthenticatedRequest = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-scope+elbvlraocScope :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Maybe (Val Text))+elbvlraocScope = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigScope (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigScope = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessioncookiename+elbvlraocSessionCookieName :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Maybe (Val Text))+elbvlraocSessionCookieName = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionCookieName (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionCookieName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessiontimeout+elbvlraocSessionTimeout :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Maybe (Val Integer))+elbvlraocSessionTimeout = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-tokenendpoint+elbvlraocTokenEndpoint :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Val Text)+elbvlraocTokenEndpoint = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigTokenEndpoint (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigTokenEndpoint = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-userinfoendpoint+elbvlraocUserInfoEndpoint :: Lens' ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig (Val Text)+elbvlraocUserInfoEndpoint = lens _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigUserInfoEndpoint (\s a -> s { _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigUserInfoEndpoint = a })
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleFixedResponseConfig.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleFixedResponseConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerRuleFixedResponseConfig. See+-- 'elasticLoadBalancingV2ListenerRuleFixedResponseConfig' for a more+-- convenient constructor.+data ElasticLoadBalancingV2ListenerRuleFixedResponseConfig =+  ElasticLoadBalancingV2ListenerRuleFixedResponseConfig+  { _elasticLoadBalancingV2ListenerRuleFixedResponseConfigContentType :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleFixedResponseConfigMessageBody :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleFixedResponseConfigStatusCode :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerRuleFixedResponseConfig where+  toJSON ElasticLoadBalancingV2ListenerRuleFixedResponseConfig{..} =+    object $+    catMaybes+    [ fmap (("ContentType",) . toJSON) _elasticLoadBalancingV2ListenerRuleFixedResponseConfigContentType+    , fmap (("MessageBody",) . toJSON) _elasticLoadBalancingV2ListenerRuleFixedResponseConfigMessageBody+    , (Just . ("StatusCode",) . toJSON) _elasticLoadBalancingV2ListenerRuleFixedResponseConfigStatusCode+    ]++instance FromJSON ElasticLoadBalancingV2ListenerRuleFixedResponseConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerRuleFixedResponseConfig <$>+      (obj .:? "ContentType") <*>+      (obj .:? "MessageBody") <*>+      (obj .: "StatusCode")+  parseJSON _ = mempty++-- | Constructor for 'ElasticLoadBalancingV2ListenerRuleFixedResponseConfig'+-- containing required fields as arguments.+elasticLoadBalancingV2ListenerRuleFixedResponseConfig+  :: Val Text -- ^ 'elbvlrfrcStatusCode'+  -> ElasticLoadBalancingV2ListenerRuleFixedResponseConfig+elasticLoadBalancingV2ListenerRuleFixedResponseConfig statusCodearg =+  ElasticLoadBalancingV2ListenerRuleFixedResponseConfig+  { _elasticLoadBalancingV2ListenerRuleFixedResponseConfigContentType = Nothing+  , _elasticLoadBalancingV2ListenerRuleFixedResponseConfigMessageBody = Nothing+  , _elasticLoadBalancingV2ListenerRuleFixedResponseConfigStatusCode = statusCodearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-contenttype+elbvlrfrcContentType :: Lens' ElasticLoadBalancingV2ListenerRuleFixedResponseConfig (Maybe (Val Text))+elbvlrfrcContentType = lens _elasticLoadBalancingV2ListenerRuleFixedResponseConfigContentType (\s a -> s { _elasticLoadBalancingV2ListenerRuleFixedResponseConfigContentType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-messagebody+elbvlrfrcMessageBody :: Lens' ElasticLoadBalancingV2ListenerRuleFixedResponseConfig (Maybe (Val Text))+elbvlrfrcMessageBody = lens _elasticLoadBalancingV2ListenerRuleFixedResponseConfigMessageBody (\s a -> s { _elasticLoadBalancingV2ListenerRuleFixedResponseConfigMessageBody = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-statuscode+elbvlrfrcStatusCode :: Lens' ElasticLoadBalancingV2ListenerRuleFixedResponseConfig (Val Text)+elbvlrfrcStatusCode = lens _elasticLoadBalancingV2ListenerRuleFixedResponseConfigStatusCode (\s a -> s { _elasticLoadBalancingV2ListenerRuleFixedResponseConfigStatusCode = a })
+ library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleRedirectConfig.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html++module Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleRedirectConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- ElasticLoadBalancingV2ListenerRuleRedirectConfig. See+-- 'elasticLoadBalancingV2ListenerRuleRedirectConfig' for a more convenient+-- constructor.+data ElasticLoadBalancingV2ListenerRuleRedirectConfig =+  ElasticLoadBalancingV2ListenerRuleRedirectConfig+  { _elasticLoadBalancingV2ListenerRuleRedirectConfigHost :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigPath :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigPort :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigProtocol :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigQuery :: Maybe (Val Text)+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigStatusCode :: Val Text+  } deriving (Show, Eq)++instance ToJSON ElasticLoadBalancingV2ListenerRuleRedirectConfig where+  toJSON ElasticLoadBalancingV2ListenerRuleRedirectConfig{..} =+    object $+    catMaybes+    [ fmap (("Host",) . toJSON) _elasticLoadBalancingV2ListenerRuleRedirectConfigHost+    , fmap (("Path",) . toJSON) _elasticLoadBalancingV2ListenerRuleRedirectConfigPath+    , fmap (("Port",) . toJSON) _elasticLoadBalancingV2ListenerRuleRedirectConfigPort+    , fmap (("Protocol",) . toJSON) _elasticLoadBalancingV2ListenerRuleRedirectConfigProtocol+    , fmap (("Query",) . toJSON) _elasticLoadBalancingV2ListenerRuleRedirectConfigQuery+    , (Just . ("StatusCode",) . toJSON) _elasticLoadBalancingV2ListenerRuleRedirectConfigStatusCode+    ]++instance FromJSON ElasticLoadBalancingV2ListenerRuleRedirectConfig where+  parseJSON (Object obj) =+    ElasticLoadBalancingV2ListenerRuleRedirectConfig <$>+      (obj .:? "Host") <*>+      (obj .:? "Path") <*>+      (obj .:? "Port") <*>+      (obj .:? "Protocol") <*>+      (obj .:? "Query") <*>+      (obj .: "StatusCode")+  parseJSON _ = mempty++-- | Constructor for 'ElasticLoadBalancingV2ListenerRuleRedirectConfig'+-- containing required fields as arguments.+elasticLoadBalancingV2ListenerRuleRedirectConfig+  :: Val Text -- ^ 'elbvlrrcStatusCode'+  -> ElasticLoadBalancingV2ListenerRuleRedirectConfig+elasticLoadBalancingV2ListenerRuleRedirectConfig statusCodearg =+  ElasticLoadBalancingV2ListenerRuleRedirectConfig+  { _elasticLoadBalancingV2ListenerRuleRedirectConfigHost = Nothing+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigPath = Nothing+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigPort = Nothing+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigProtocol = Nothing+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigQuery = Nothing+  , _elasticLoadBalancingV2ListenerRuleRedirectConfigStatusCode = statusCodearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-host+elbvlrrcHost :: Lens' ElasticLoadBalancingV2ListenerRuleRedirectConfig (Maybe (Val Text))+elbvlrrcHost = lens _elasticLoadBalancingV2ListenerRuleRedirectConfigHost (\s a -> s { _elasticLoadBalancingV2ListenerRuleRedirectConfigHost = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-path+elbvlrrcPath :: Lens' ElasticLoadBalancingV2ListenerRuleRedirectConfig (Maybe (Val Text))+elbvlrrcPath = lens _elasticLoadBalancingV2ListenerRuleRedirectConfigPath (\s a -> s { _elasticLoadBalancingV2ListenerRuleRedirectConfigPath = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-port+elbvlrrcPort :: Lens' ElasticLoadBalancingV2ListenerRuleRedirectConfig (Maybe (Val Text))+elbvlrrcPort = lens _elasticLoadBalancingV2ListenerRuleRedirectConfigPort (\s a -> s { _elasticLoadBalancingV2ListenerRuleRedirectConfigPort = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-protocol+elbvlrrcProtocol :: Lens' ElasticLoadBalancingV2ListenerRuleRedirectConfig (Maybe (Val Text))+elbvlrrcProtocol = lens _elasticLoadBalancingV2ListenerRuleRedirectConfigProtocol (\s a -> s { _elasticLoadBalancingV2ListenerRuleRedirectConfigProtocol = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-query+elbvlrrcQuery :: Lens' ElasticLoadBalancingV2ListenerRuleRedirectConfig (Maybe (Val Text))+elbvlrrcQuery = lens _elasticLoadBalancingV2ListenerRuleRedirectConfigQuery (\s a -> s { _elasticLoadBalancingV2ListenerRuleRedirectConfigQuery = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-statuscode+elbvlrrcStatusCode :: Lens' ElasticLoadBalancingV2ListenerRuleRedirectConfig (Val Text)+elbvlrrcStatusCode = lens _elasticLoadBalancingV2ListenerRuleRedirectConfigStatusCode (\s a -> s { _elasticLoadBalancingV2ListenerRuleRedirectConfigStatusCode = a })
+ library-gen/Stratosphere/ResourceProperties/Route53ResolverResolverEndpointIpAddressRequest.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html++module Stratosphere.ResourceProperties.Route53ResolverResolverEndpointIpAddressRequest where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- Route53ResolverResolverEndpointIpAddressRequest. See+-- 'route53ResolverResolverEndpointIpAddressRequest' for a more convenient+-- constructor.+data Route53ResolverResolverEndpointIpAddressRequest =+  Route53ResolverResolverEndpointIpAddressRequest+  { _route53ResolverResolverEndpointIpAddressRequestIp :: Maybe (Val Text)+  , _route53ResolverResolverEndpointIpAddressRequestSubnetId :: Val Text+  } deriving (Show, Eq)++instance ToJSON Route53ResolverResolverEndpointIpAddressRequest where+  toJSON Route53ResolverResolverEndpointIpAddressRequest{..} =+    object $+    catMaybes+    [ fmap (("Ip",) . toJSON) _route53ResolverResolverEndpointIpAddressRequestIp+    , (Just . ("SubnetId",) . toJSON) _route53ResolverResolverEndpointIpAddressRequestSubnetId+    ]++instance FromJSON Route53ResolverResolverEndpointIpAddressRequest where+  parseJSON (Object obj) =+    Route53ResolverResolverEndpointIpAddressRequest <$>+      (obj .:? "Ip") <*>+      (obj .: "SubnetId")+  parseJSON _ = mempty++-- | Constructor for 'Route53ResolverResolverEndpointIpAddressRequest'+-- containing required fields as arguments.+route53ResolverResolverEndpointIpAddressRequest+  :: Val Text -- ^ 'rrreiarSubnetId'+  -> Route53ResolverResolverEndpointIpAddressRequest+route53ResolverResolverEndpointIpAddressRequest subnetIdarg =+  Route53ResolverResolverEndpointIpAddressRequest+  { _route53ResolverResolverEndpointIpAddressRequestIp = Nothing+  , _route53ResolverResolverEndpointIpAddressRequestSubnetId = subnetIdarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip+rrreiarIp :: Lens' Route53ResolverResolverEndpointIpAddressRequest (Maybe (Val Text))+rrreiarIp = lens _route53ResolverResolverEndpointIpAddressRequestIp (\s a -> s { _route53ResolverResolverEndpointIpAddressRequestIp = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-subnetid+rrreiarSubnetId :: Lens' Route53ResolverResolverEndpointIpAddressRequest (Val Text)+rrreiarSubnetId = lens _route53ResolverResolverEndpointIpAddressRequestSubnetId (\s a -> s { _route53ResolverResolverEndpointIpAddressRequestSubnetId = a })
+ library-gen/Stratosphere/ResourceProperties/Route53ResolverResolverRuleTargetAddress.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html++module Stratosphere.ResourceProperties.Route53ResolverResolverRuleTargetAddress where++import Stratosphere.ResourceImports+++-- | Full data type definition for Route53ResolverResolverRuleTargetAddress.+-- See 'route53ResolverResolverRuleTargetAddress' for a more convenient+-- constructor.+data Route53ResolverResolverRuleTargetAddress =+  Route53ResolverResolverRuleTargetAddress+  { _route53ResolverResolverRuleTargetAddressIp :: Val Text+  , _route53ResolverResolverRuleTargetAddressPort :: Val Text+  } deriving (Show, Eq)++instance ToJSON Route53ResolverResolverRuleTargetAddress where+  toJSON Route53ResolverResolverRuleTargetAddress{..} =+    object $+    catMaybes+    [ (Just . ("Ip",) . toJSON) _route53ResolverResolverRuleTargetAddressIp+    , (Just . ("Port",) . toJSON) _route53ResolverResolverRuleTargetAddressPort+    ]++instance FromJSON Route53ResolverResolverRuleTargetAddress where+  parseJSON (Object obj) =+    Route53ResolverResolverRuleTargetAddress <$>+      (obj .: "Ip") <*>+      (obj .: "Port")+  parseJSON _ = mempty++-- | Constructor for 'Route53ResolverResolverRuleTargetAddress' containing+-- required fields as arguments.+route53ResolverResolverRuleTargetAddress+  :: Val Text -- ^ 'rrrrtaIp'+  -> Val Text -- ^ 'rrrrtaPort'+  -> Route53ResolverResolverRuleTargetAddress+route53ResolverResolverRuleTargetAddress iparg portarg =+  Route53ResolverResolverRuleTargetAddress+  { _route53ResolverResolverRuleTargetAddressIp = iparg+  , _route53ResolverResolverRuleTargetAddressPort = portarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip+rrrrtaIp :: Lens' Route53ResolverResolverRuleTargetAddress (Val Text)+rrrrtaIp = lens _route53ResolverResolverRuleTargetAddressIp (\s a -> s { _route53ResolverResolverRuleTargetAddressIp = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-port+rrrrtaPort :: Lens' Route53ResolverResolverRuleTargetAddress (Val Text)+rrrrtaPort = lens _route53ResolverResolverRuleTargetAddressPort (\s a -> s { _route53ResolverResolverRuleTargetAddressPort = a })
+ library-gen/Stratosphere/ResourceProperties/S3BucketPublicAccessBlockConfiguration.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html++module Stratosphere.ResourceProperties.S3BucketPublicAccessBlockConfiguration where++import Stratosphere.ResourceImports+++-- | Full data type definition for S3BucketPublicAccessBlockConfiguration. See+-- 's3BucketPublicAccessBlockConfiguration' for a more convenient+-- constructor.+data S3BucketPublicAccessBlockConfiguration =+  S3BucketPublicAccessBlockConfiguration+  { _s3BucketPublicAccessBlockConfigurationBlockPublicAcls :: Maybe (Val Bool)+  , _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy :: Maybe (Val Bool)+  , _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls :: Maybe (Val Bool)+  , _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets :: Maybe (Val Bool)+  } deriving (Show, Eq)++instance ToJSON S3BucketPublicAccessBlockConfiguration where+  toJSON S3BucketPublicAccessBlockConfiguration{..} =+    object $+    catMaybes+    [ fmap (("BlockPublicAcls",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationBlockPublicAcls+    , fmap (("BlockPublicPolicy",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy+    , fmap (("IgnorePublicAcls",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls+    , fmap (("RestrictPublicBuckets",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets+    ]++instance FromJSON S3BucketPublicAccessBlockConfiguration where+  parseJSON (Object obj) =+    S3BucketPublicAccessBlockConfiguration <$>+      fmap (fmap (fmap unBool')) (obj .:? "BlockPublicAcls") <*>+      fmap (fmap (fmap unBool')) (obj .:? "BlockPublicPolicy") <*>+      fmap (fmap (fmap unBool')) (obj .:? "IgnorePublicAcls") <*>+      fmap (fmap (fmap unBool')) (obj .:? "RestrictPublicBuckets")+  parseJSON _ = mempty++-- | Constructor for 'S3BucketPublicAccessBlockConfiguration' containing+-- required fields as arguments.+s3BucketPublicAccessBlockConfiguration+  :: S3BucketPublicAccessBlockConfiguration+s3BucketPublicAccessBlockConfiguration  =+  S3BucketPublicAccessBlockConfiguration+  { _s3BucketPublicAccessBlockConfigurationBlockPublicAcls = Nothing+  , _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy = Nothing+  , _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls = Nothing+  , _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicacls+sbpabcBlockPublicAcls :: Lens' S3BucketPublicAccessBlockConfiguration (Maybe (Val Bool))+sbpabcBlockPublicAcls = lens _s3BucketPublicAccessBlockConfigurationBlockPublicAcls (\s a -> s { _s3BucketPublicAccessBlockConfigurationBlockPublicAcls = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicpolicy+sbpabcBlockPublicPolicy :: Lens' S3BucketPublicAccessBlockConfiguration (Maybe (Val Bool))+sbpabcBlockPublicPolicy = lens _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy (\s a -> s { _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-ignorepublicacls+sbpabcIgnorePublicAcls :: Lens' S3BucketPublicAccessBlockConfiguration (Maybe (Val Bool))+sbpabcIgnorePublicAcls = lens _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls (\s a -> s { _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-restrictpublicbuckets+sbpabcRestrictPublicBuckets :: Lens' S3BucketPublicAccessBlockConfiguration (Maybe (Val Bool))+sbpabcRestrictPublicBuckets = lens _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets (\s a -> s { _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets = a })
library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceDnsConfig.hs view
@@ -14,7 +14,7 @@ data ServiceDiscoveryServiceDnsConfig =   ServiceDiscoveryServiceDnsConfig   { _serviceDiscoveryServiceDnsConfigDnsRecords :: [ServiceDiscoveryServiceDnsRecord]-  , _serviceDiscoveryServiceDnsConfigNamespaceId :: Val Text+  , _serviceDiscoveryServiceDnsConfigNamespaceId :: Maybe (Val Text)   , _serviceDiscoveryServiceDnsConfigRoutingPolicy :: Maybe (Val Text)   } deriving (Show, Eq) @@ -23,7 +23,7 @@     object $     catMaybes     [ (Just . ("DnsRecords",) . toJSON) _serviceDiscoveryServiceDnsConfigDnsRecords-    , (Just . ("NamespaceId",) . toJSON) _serviceDiscoveryServiceDnsConfigNamespaceId+    , fmap (("NamespaceId",) . toJSON) _serviceDiscoveryServiceDnsConfigNamespaceId     , fmap (("RoutingPolicy",) . toJSON) _serviceDiscoveryServiceDnsConfigRoutingPolicy     ] @@ -31,7 +31,7 @@   parseJSON (Object obj) =     ServiceDiscoveryServiceDnsConfig <$>       (obj .: "DnsRecords") <*>-      (obj .: "NamespaceId") <*>+      (obj .:? "NamespaceId") <*>       (obj .:? "RoutingPolicy")   parseJSON _ = mempty @@ -39,12 +39,11 @@ -- fields as arguments. serviceDiscoveryServiceDnsConfig   :: [ServiceDiscoveryServiceDnsRecord] -- ^ 'sdsdcDnsRecords'-  -> Val Text -- ^ 'sdsdcNamespaceId'   -> ServiceDiscoveryServiceDnsConfig-serviceDiscoveryServiceDnsConfig dnsRecordsarg namespaceIdarg =+serviceDiscoveryServiceDnsConfig dnsRecordsarg =   ServiceDiscoveryServiceDnsConfig   { _serviceDiscoveryServiceDnsConfigDnsRecords = dnsRecordsarg-  , _serviceDiscoveryServiceDnsConfigNamespaceId = namespaceIdarg+  , _serviceDiscoveryServiceDnsConfigNamespaceId = Nothing   , _serviceDiscoveryServiceDnsConfigRoutingPolicy = Nothing   } @@ -53,7 +52,7 @@ sdsdcDnsRecords = lens _serviceDiscoveryServiceDnsConfigDnsRecords (\s a -> s { _serviceDiscoveryServiceDnsConfigDnsRecords = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-namespaceid-sdsdcNamespaceId :: Lens' ServiceDiscoveryServiceDnsConfig (Val Text)+sdsdcNamespaceId :: Lens' ServiceDiscoveryServiceDnsConfig (Maybe (Val Text)) sdsdcNamespaceId = lens _serviceDiscoveryServiceDnsConfigNamespaceId (\s a -> s { _serviceDiscoveryServiceDnsConfigNamespaceId = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-routingpolicy
library-gen/Stratosphere/Resources.hs view
@@ -77,6 +77,7 @@ import Stratosphere.Resources.AppStreamUser as X import Stratosphere.Resources.AppSyncApiKey as X import Stratosphere.Resources.AppSyncDataSource as X+import Stratosphere.Resources.AppSyncFunctionConfiguration as X import Stratosphere.Resources.AppSyncGraphQLApi as X import Stratosphere.Resources.AppSyncGraphQLSchema as X import Stratosphere.Resources.AppSyncResolver as X@@ -96,6 +97,7 @@ import Stratosphere.Resources.CertificateManagerCertificate as X import Stratosphere.Resources.Cloud9EnvironmentEC2 as X import Stratosphere.Resources.CloudFormationCustomResource as X+import Stratosphere.Resources.CloudFormationMacro as X import Stratosphere.Resources.CloudFormationStack as X import Stratosphere.Resources.CloudFormationWaitCondition as X import Stratosphere.Resources.CloudFormationWaitConditionHandle as X@@ -141,6 +143,7 @@ import Stratosphere.Resources.DynamoDBTable as X import Stratosphere.Resources.EC2CustomerGateway as X import Stratosphere.Resources.EC2DHCPOptions as X+import Stratosphere.Resources.EC2EC2Fleet as X import Stratosphere.Resources.EC2EIP as X import Stratosphere.Resources.EC2EIPAssociation as X import Stratosphere.Resources.EC2EgressOnlyInternetGateway as X@@ -254,6 +257,7 @@ import Stratosphere.Resources.KMSAlias as X import Stratosphere.Resources.KMSKey as X import Stratosphere.Resources.KinesisStream as X+import Stratosphere.Resources.KinesisStreamConsumer as X import Stratosphere.Resources.KinesisAnalyticsApplication as X import Stratosphere.Resources.KinesisAnalyticsApplicationOutput as X import Stratosphere.Resources.KinesisAnalyticsApplicationReferenceDataSource as X@@ -298,6 +302,8 @@ import Stratosphere.Resources.Route53HostedZone as X import Stratosphere.Resources.Route53RecordSet as X import Stratosphere.Resources.Route53RecordSetGroup as X+import Stratosphere.Resources.Route53ResolverResolverEndpoint as X+import Stratosphere.Resources.Route53ResolverResolverRule as X import Stratosphere.Resources.S3Bucket as X import Stratosphere.Resources.S3BucketPolicy as X import Stratosphere.Resources.SDBDomain as X@@ -362,6 +368,7 @@ import Stratosphere.Resources.WAFRegionalWebACLAssociation as X import Stratosphere.Resources.WAFRegionalXssMatchSet as X import Stratosphere.Resources.WorkSpacesWorkspace as X+import Stratosphere.Resources.ASKSkill as X import Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId as X import Stratosphere.ResourceProperties.AmazonMQBrokerLogList as X import Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow as X@@ -394,13 +401,18 @@ import Stratosphere.ResourceProperties.AppStreamStackApplicationSettings as X import Stratosphere.ResourceProperties.AppStreamStackStorageConnector as X import Stratosphere.ResourceProperties.AppStreamStackUserSetting as X+import Stratosphere.ResourceProperties.AppSyncDataSourceAuthorizationConfig as X+import Stratosphere.ResourceProperties.AppSyncDataSourceAwsIamConfig as X import Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig as X import Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig as X import Stratosphere.ResourceProperties.AppSyncDataSourceHttpConfig as X import Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig as X+import Stratosphere.ResourceProperties.AppSyncDataSourceRdsHttpEndpointConfig as X+import Stratosphere.ResourceProperties.AppSyncDataSourceRelationalDatabaseConfig as X import Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig as X import Stratosphere.ResourceProperties.AppSyncGraphQLApiOpenIDConnectConfig as X import Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig as X+import Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScalableTargetAction as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScheduledAction as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyCustomizedMetricSpecification as X@@ -409,9 +421,13 @@ import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepAdjustment as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration as X+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupInstancesDistribution as X+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplate as X+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateOverrides as X import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification as X import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification as X import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection as X+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMixedInstancesPolicy as X import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration as X import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupTagProperty as X import Stratosphere.ResourceProperties.AutoScalingLaunchConfigurationBlockDevice as X@@ -431,9 +447,12 @@ import Stratosphere.ResourceProperties.AutoScalingPlansScalingPlanTagFilter as X import Stratosphere.ResourceProperties.AutoScalingPlansScalingPlanTargetTrackingConfiguration as X import Stratosphere.ResourceProperties.BatchComputeEnvironmentComputeResources as X+import Stratosphere.ResourceProperties.BatchComputeEnvironmentLaunchTemplateSpecification as X import Stratosphere.ResourceProperties.BatchJobDefinitionContainerProperties as X import Stratosphere.ResourceProperties.BatchJobDefinitionEnvironment as X import Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints as X+import Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties as X+import Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty as X import Stratosphere.ResourceProperties.BatchJobDefinitionRetryStrategy as X import Stratosphere.ResourceProperties.BatchJobDefinitionTimeout as X import Stratosphere.ResourceProperties.BatchJobDefinitionUlimit as X@@ -509,6 +528,7 @@ import Stratosphere.ResourceProperties.CodePipelinePipelineActionDeclaration as X import Stratosphere.ResourceProperties.CodePipelinePipelineActionTypeId as X import Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStore as X+import Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStoreMap as X import Stratosphere.ResourceProperties.CodePipelinePipelineBlockerDeclaration as X import Stratosphere.ResourceProperties.CodePipelinePipelineEncryptionKey as X import Stratosphere.ResourceProperties.CodePipelinePipelineInputArtifact as X@@ -568,6 +588,14 @@ import Stratosphere.ResourceProperties.DynamoDBTableSSESpecification as X import Stratosphere.ResourceProperties.DynamoDBTableStreamSpecification as X import Stratosphere.ResourceProperties.DynamoDBTableTimeToLiveSpecification as X+import Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateConfigRequest as X+import Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateOverridesRequest as X+import Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateSpecificationRequest as X+import Stratosphere.ResourceProperties.EC2EC2FleetOnDemandOptionsRequest as X+import Stratosphere.ResourceProperties.EC2EC2FleetSpotOptionsRequest as X+import Stratosphere.ResourceProperties.EC2EC2FleetTagRequest as X+import Stratosphere.ResourceProperties.EC2EC2FleetTagSpecification as X+import Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest as X import Stratosphere.ResourceProperties.EC2InstanceAssociationParameter as X import Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping as X import Stratosphere.ResourceProperties.EC2InstanceCreditSpecification as X@@ -656,12 +684,14 @@ import Stratosphere.ResourceProperties.EMRClusterConfiguration as X import Stratosphere.ResourceProperties.EMRClusterEbsBlockDeviceConfig as X import Stratosphere.ResourceProperties.EMRClusterEbsConfiguration as X+import Stratosphere.ResourceProperties.EMRClusterHadoopJarStepConfig as X import Stratosphere.ResourceProperties.EMRClusterInstanceFleetConfig as X import Stratosphere.ResourceProperties.EMRClusterInstanceFleetProvisioningSpecifications as X import Stratosphere.ResourceProperties.EMRClusterInstanceGroupConfig as X import Stratosphere.ResourceProperties.EMRClusterInstanceTypeConfig as X import Stratosphere.ResourceProperties.EMRClusterJobFlowInstancesConfig as X import Stratosphere.ResourceProperties.EMRClusterKerberosAttributes as X+import Stratosphere.ResourceProperties.EMRClusterKeyValue as X import Stratosphere.ResourceProperties.EMRClusterMetricDimension as X import Stratosphere.ResourceProperties.EMRClusterPlacementType as X import Stratosphere.ResourceProperties.EMRClusterScalingAction as X@@ -671,6 +701,7 @@ import Stratosphere.ResourceProperties.EMRClusterScriptBootstrapActionConfig as X import Stratosphere.ResourceProperties.EMRClusterSimpleScalingPolicyConfiguration as X import Stratosphere.ResourceProperties.EMRClusterSpotProvisioningSpecification as X+import Stratosphere.ResourceProperties.EMRClusterStepConfig as X import Stratosphere.ResourceProperties.EMRClusterVolumeSpecification as X import Stratosphere.ResourceProperties.EMRInstanceFleetConfigConfiguration as X import Stratosphere.ResourceProperties.EMRInstanceFleetConfigEbsBlockDeviceConfig as X@@ -712,9 +743,17 @@ import Stratosphere.ResourceProperties.ElasticLoadBalancingLoadBalancerListeners as X import Stratosphere.ResourceProperties.ElasticLoadBalancingLoadBalancerPolicies as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAction as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateOidcConfig as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerCertificate as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerFixedResponseConfig as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRedirectConfig as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerCertificateCertificate as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAction as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleFixedResponseConfig as X+import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleRedirectConfig as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleRuleCondition as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute as X import Stratosphere.ResourceProperties.ElasticLoadBalancingV2LoadBalancerSubnetMapping as X@@ -880,6 +919,8 @@ import Stratosphere.ResourceProperties.Route53RecordSetGroupAliasTarget as X import Stratosphere.ResourceProperties.Route53RecordSetGroupGeoLocation as X import Stratosphere.ResourceProperties.Route53RecordSetGroupRecordSet as X+import Stratosphere.ResourceProperties.Route53ResolverResolverEndpointIpAddressRequest as X+import Stratosphere.ResourceProperties.Route53ResolverResolverRuleTargetAddress as X import Stratosphere.ResourceProperties.S3BucketAbortIncompleteMultipartUpload as X import Stratosphere.ResourceProperties.S3BucketAccelerateConfiguration as X import Stratosphere.ResourceProperties.S3BucketAccessControlTranslation as X@@ -899,6 +940,7 @@ import Stratosphere.ResourceProperties.S3BucketNoncurrentVersionTransition as X import Stratosphere.ResourceProperties.S3BucketNotificationConfiguration as X import Stratosphere.ResourceProperties.S3BucketNotificationFilter as X+import Stratosphere.ResourceProperties.S3BucketPublicAccessBlockConfiguration as X import Stratosphere.ResourceProperties.S3BucketQueueConfiguration as X import Stratosphere.ResourceProperties.S3BucketRedirectAllRequestsTo as X import Stratosphere.ResourceProperties.S3BucketRedirectRule as X@@ -990,6 +1032,9 @@ import Stratosphere.ResourceProperties.WAFRegionalXssMatchSetFieldToMatch as X import Stratosphere.ResourceProperties.WAFRegionalXssMatchSetXssMatchTuple as X import Stratosphere.ResourceProperties.WorkSpacesWorkspaceWorkspaceProperties as X+import Stratosphere.ResourceProperties.ASKSkillAuthenticationConfiguration as X+import Stratosphere.ResourceProperties.ASKSkillOverrides as X+import Stratosphere.ResourceProperties.ASKSkillSkillPackage as X import Stratosphere.ResourceProperties.Tag as X  import Stratosphere.ResourceAttributes.AutoScalingReplacingUpdatePolicy as X@@ -1032,6 +1077,7 @@   | AppStreamUserProperties AppStreamUser   | AppSyncApiKeyProperties AppSyncApiKey   | AppSyncDataSourceProperties AppSyncDataSource+  | AppSyncFunctionConfigurationProperties AppSyncFunctionConfiguration   | AppSyncGraphQLApiProperties AppSyncGraphQLApi   | AppSyncGraphQLSchemaProperties AppSyncGraphQLSchema   | AppSyncResolverProperties AppSyncResolver@@ -1051,6 +1097,7 @@   | CertificateManagerCertificateProperties CertificateManagerCertificate   | Cloud9EnvironmentEC2Properties Cloud9EnvironmentEC2   | CloudFormationCustomResourceProperties CloudFormationCustomResource+  | CloudFormationMacroProperties CloudFormationMacro   | CloudFormationStackProperties CloudFormationStack   | CloudFormationWaitConditionProperties CloudFormationWaitCondition   | CloudFormationWaitConditionHandleProperties CloudFormationWaitConditionHandle@@ -1096,6 +1143,7 @@   | DynamoDBTableProperties DynamoDBTable   | EC2CustomerGatewayProperties EC2CustomerGateway   | EC2DHCPOptionsProperties EC2DHCPOptions+  | EC2EC2FleetProperties EC2EC2Fleet   | EC2EIPProperties EC2EIP   | EC2EIPAssociationProperties EC2EIPAssociation   | EC2EgressOnlyInternetGatewayProperties EC2EgressOnlyInternetGateway@@ -1209,6 +1257,7 @@   | KMSAliasProperties KMSAlias   | KMSKeyProperties KMSKey   | KinesisStreamProperties KinesisStream+  | KinesisStreamConsumerProperties KinesisStreamConsumer   | KinesisAnalyticsApplicationProperties KinesisAnalyticsApplication   | KinesisAnalyticsApplicationOutputProperties KinesisAnalyticsApplicationOutput   | KinesisAnalyticsApplicationReferenceDataSourceProperties KinesisAnalyticsApplicationReferenceDataSource@@ -1253,6 +1302,8 @@   | Route53HostedZoneProperties Route53HostedZone   | Route53RecordSetProperties Route53RecordSet   | Route53RecordSetGroupProperties Route53RecordSetGroup+  | Route53ResolverResolverEndpointProperties Route53ResolverResolverEndpoint+  | Route53ResolverResolverRuleProperties Route53ResolverResolverRule   | S3BucketProperties S3Bucket   | S3BucketPolicyProperties S3BucketPolicy   | SDBDomainProperties SDBDomain@@ -1317,6 +1368,7 @@   | WAFRegionalWebACLAssociationProperties WAFRegionalWebACLAssociation   | WAFRegionalXssMatchSetProperties WAFRegionalXssMatchSet   | WorkSpacesWorkspaceProperties WorkSpacesWorkspace+  | ASKSkillProperties ASKSkill    deriving (Show, Eq) @@ -1432,6 +1484,8 @@   [ "Type" .= ("AWS::AppSync::ApiKey" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (AppSyncDataSourceProperties x) =   [ "Type" .= ("AWS::AppSync::DataSource" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (AppSyncFunctionConfigurationProperties x) =+  [ "Type" .= ("AWS::AppSync::FunctionConfiguration" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (AppSyncGraphQLApiProperties x) =   [ "Type" .= ("AWS::AppSync::GraphQLApi" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (AppSyncGraphQLSchemaProperties x) =@@ -1470,6 +1524,8 @@   [ "Type" .= ("AWS::Cloud9::EnvironmentEC2" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (CloudFormationCustomResourceProperties x) =   [ "Type" .= ("AWS::CloudFormation::CustomResource" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (CloudFormationMacroProperties x) =+  [ "Type" .= ("AWS::CloudFormation::Macro" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (CloudFormationStackProperties x) =   [ "Type" .= ("AWS::CloudFormation::Stack" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (CloudFormationWaitConditionProperties x) =@@ -1560,6 +1616,8 @@   [ "Type" .= ("AWS::EC2::CustomerGateway" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (EC2DHCPOptionsProperties x) =   [ "Type" .= ("AWS::EC2::DHCPOptions" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (EC2EC2FleetProperties x) =+  [ "Type" .= ("AWS::EC2::EC2Fleet" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (EC2EIPProperties x) =   [ "Type" .= ("AWS::EC2::EIP" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (EC2EIPAssociationProperties x) =@@ -1786,6 +1844,8 @@   [ "Type" .= ("AWS::KMS::Key" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (KinesisStreamProperties x) =   [ "Type" .= ("AWS::Kinesis::Stream" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (KinesisStreamConsumerProperties x) =+  [ "Type" .= ("AWS::Kinesis::StreamConsumer" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (KinesisAnalyticsApplicationProperties x) =   [ "Type" .= ("AWS::KinesisAnalytics::Application" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (KinesisAnalyticsApplicationOutputProperties x) =@@ -1874,6 +1934,10 @@   [ "Type" .= ("AWS::Route53::RecordSet" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (Route53RecordSetGroupProperties x) =   [ "Type" .= ("AWS::Route53::RecordSetGroup" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (Route53ResolverResolverEndpointProperties x) =+  [ "Type" .= ("AWS::Route53Resolver::ResolverEndpoint" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (Route53ResolverResolverRuleProperties x) =+  [ "Type" .= ("AWS::Route53Resolver::ResolverRule" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (S3BucketProperties x) =   [ "Type" .= ("AWS::S3::Bucket" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (S3BucketPolicyProperties x) =@@ -2002,6 +2066,8 @@   [ "Type" .= ("AWS::WAFRegional::XssMatchSet" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (WorkSpacesWorkspaceProperties x) =   [ "Type" .= ("AWS::WorkSpaces::Workspace" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (ASKSkillProperties x) =+  [ "Type" .= ("Alexa::ASK::Skill" :: String), "Properties" .= toJSON x]   resourceFromJSON :: T.Text -> Object -> Parser Resource@@ -2038,6 +2104,7 @@          "AWS::AppStream::User" -> AppStreamUserProperties <$> (o .: "Properties")          "AWS::AppSync::ApiKey" -> AppSyncApiKeyProperties <$> (o .: "Properties")          "AWS::AppSync::DataSource" -> AppSyncDataSourceProperties <$> (o .: "Properties")+         "AWS::AppSync::FunctionConfiguration" -> AppSyncFunctionConfigurationProperties <$> (o .: "Properties")          "AWS::AppSync::GraphQLApi" -> AppSyncGraphQLApiProperties <$> (o .: "Properties")          "AWS::AppSync::GraphQLSchema" -> AppSyncGraphQLSchemaProperties <$> (o .: "Properties")          "AWS::AppSync::Resolver" -> AppSyncResolverProperties <$> (o .: "Properties")@@ -2057,6 +2124,7 @@          "AWS::CertificateManager::Certificate" -> CertificateManagerCertificateProperties <$> (o .: "Properties")          "AWS::Cloud9::EnvironmentEC2" -> Cloud9EnvironmentEC2Properties <$> (o .: "Properties")          "AWS::CloudFormation::CustomResource" -> CloudFormationCustomResourceProperties <$> (o .: "Properties")+         "AWS::CloudFormation::Macro" -> CloudFormationMacroProperties <$> (o .: "Properties")          "AWS::CloudFormation::Stack" -> CloudFormationStackProperties <$> (o .: "Properties")          "AWS::CloudFormation::WaitCondition" -> CloudFormationWaitConditionProperties <$> (o .: "Properties")          "AWS::CloudFormation::WaitConditionHandle" -> CloudFormationWaitConditionHandleProperties <$> (o .: "Properties")@@ -2102,6 +2170,7 @@          "AWS::DynamoDB::Table" -> DynamoDBTableProperties <$> (o .: "Properties")          "AWS::EC2::CustomerGateway" -> EC2CustomerGatewayProperties <$> (o .: "Properties")          "AWS::EC2::DHCPOptions" -> EC2DHCPOptionsProperties <$> (o .: "Properties")+         "AWS::EC2::EC2Fleet" -> EC2EC2FleetProperties <$> (o .: "Properties")          "AWS::EC2::EIP" -> EC2EIPProperties <$> (o .: "Properties")          "AWS::EC2::EIPAssociation" -> EC2EIPAssociationProperties <$> (o .: "Properties")          "AWS::EC2::EgressOnlyInternetGateway" -> EC2EgressOnlyInternetGatewayProperties <$> (o .: "Properties")@@ -2215,6 +2284,7 @@          "AWS::KMS::Alias" -> KMSAliasProperties <$> (o .: "Properties")          "AWS::KMS::Key" -> KMSKeyProperties <$> (o .: "Properties")          "AWS::Kinesis::Stream" -> KinesisStreamProperties <$> (o .: "Properties")+         "AWS::Kinesis::StreamConsumer" -> KinesisStreamConsumerProperties <$> (o .: "Properties")          "AWS::KinesisAnalytics::Application" -> KinesisAnalyticsApplicationProperties <$> (o .: "Properties")          "AWS::KinesisAnalytics::ApplicationOutput" -> KinesisAnalyticsApplicationOutputProperties <$> (o .: "Properties")          "AWS::KinesisAnalytics::ApplicationReferenceDataSource" -> KinesisAnalyticsApplicationReferenceDataSourceProperties <$> (o .: "Properties")@@ -2259,6 +2329,8 @@          "AWS::Route53::HostedZone" -> Route53HostedZoneProperties <$> (o .: "Properties")          "AWS::Route53::RecordSet" -> Route53RecordSetProperties <$> (o .: "Properties")          "AWS::Route53::RecordSetGroup" -> Route53RecordSetGroupProperties <$> (o .: "Properties")+         "AWS::Route53Resolver::ResolverEndpoint" -> Route53ResolverResolverEndpointProperties <$> (o .: "Properties")+         "AWS::Route53Resolver::ResolverRule" -> Route53ResolverResolverRuleProperties <$> (o .: "Properties")          "AWS::S3::Bucket" -> S3BucketProperties <$> (o .: "Properties")          "AWS::S3::BucketPolicy" -> S3BucketPolicyProperties <$> (o .: "Properties")          "AWS::SDB::Domain" -> SDBDomainProperties <$> (o .: "Properties")@@ -2323,6 +2395,7 @@          "AWS::WAFRegional::WebACLAssociation" -> WAFRegionalWebACLAssociationProperties <$> (o .: "Properties")          "AWS::WAFRegional::XssMatchSet" -> WAFRegionalXssMatchSetProperties <$> (o .: "Properties")          "AWS::WorkSpaces::Workspace" -> WorkSpacesWorkspaceProperties <$> (o .: "Properties")+         "Alexa::ASK::Skill" -> ASKSkillProperties <$> (o .: "Properties")           _ -> fail $ "Unknown resource type: " ++ type'        dp <- o .:? "DeletionPolicy"
+ library-gen/Stratosphere/Resources/ASKSkill.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html++module Stratosphere.Resources.ASKSkill where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.ASKSkillAuthenticationConfiguration+import Stratosphere.ResourceProperties.ASKSkillSkillPackage++-- | Full data type definition for ASKSkill. See 'askSkill' for a more+-- convenient constructor.+data ASKSkill =+  ASKSkill+  { _aSKSkillAuthenticationConfiguration :: ASKSkillAuthenticationConfiguration+  , _aSKSkillSkillPackage :: ASKSkillSkillPackage+  , _aSKSkillVendorId :: Val Text+  } deriving (Show, Eq)++instance ToJSON ASKSkill where+  toJSON ASKSkill{..} =+    object $+    catMaybes+    [ (Just . ("AuthenticationConfiguration",) . toJSON) _aSKSkillAuthenticationConfiguration+    , (Just . ("SkillPackage",) . toJSON) _aSKSkillSkillPackage+    , (Just . ("VendorId",) . toJSON) _aSKSkillVendorId+    ]++instance FromJSON ASKSkill where+  parseJSON (Object obj) =+    ASKSkill <$>+      (obj .: "AuthenticationConfiguration") <*>+      (obj .: "SkillPackage") <*>+      (obj .: "VendorId")+  parseJSON _ = mempty++-- | Constructor for 'ASKSkill' containing required fields as arguments.+askSkill+  :: ASKSkillAuthenticationConfiguration -- ^ 'asksAuthenticationConfiguration'+  -> ASKSkillSkillPackage -- ^ 'asksSkillPackage'+  -> Val Text -- ^ 'asksVendorId'+  -> ASKSkill+askSkill authenticationConfigurationarg skillPackagearg vendorIdarg =+  ASKSkill+  { _aSKSkillAuthenticationConfiguration = authenticationConfigurationarg+  , _aSKSkillSkillPackage = skillPackagearg+  , _aSKSkillVendorId = vendorIdarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-authenticationconfiguration+asksAuthenticationConfiguration :: Lens' ASKSkill ASKSkillAuthenticationConfiguration+asksAuthenticationConfiguration = lens _aSKSkillAuthenticationConfiguration (\s a -> s { _aSKSkillAuthenticationConfiguration = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-skillpackage+asksSkillPackage :: Lens' ASKSkill ASKSkillSkillPackage+asksSkillPackage = lens _aSKSkillSkillPackage (\s a -> s { _aSKSkillSkillPackage = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-vendorid+asksVendorId :: Lens' ASKSkill (Val Text)+asksVendorId = lens _aSKSkillVendorId (\s a -> s { _aSKSkillVendorId = a })
library-gen/Stratosphere/Resources/ApiGatewayStage.hs view
@@ -10,6 +10,7 @@ import Stratosphere.ResourceProperties.ApiGatewayStageAccessLogSetting import Stratosphere.ResourceProperties.ApiGatewayStageCanarySetting import Stratosphere.ResourceProperties.ApiGatewayStageMethodSetting+import Stratosphere.ResourceProperties.Tag  -- | Full data type definition for ApiGatewayStage. See 'apiGatewayStage' for -- a more convenient constructor.@@ -26,6 +27,7 @@   , _apiGatewayStageMethodSettings :: Maybe [ApiGatewayStageMethodSetting]   , _apiGatewayStageRestApiId :: Val Text   , _apiGatewayStageStageName :: Maybe (Val Text)+  , _apiGatewayStageTags :: Maybe [Tag]   , _apiGatewayStageTracingEnabled :: Maybe (Val Bool)   , _apiGatewayStageVariables :: Maybe Object   } deriving (Show, Eq)@@ -45,6 +47,7 @@     , fmap (("MethodSettings",) . toJSON) _apiGatewayStageMethodSettings     , (Just . ("RestApiId",) . toJSON) _apiGatewayStageRestApiId     , fmap (("StageName",) . toJSON) _apiGatewayStageStageName+    , fmap (("Tags",) . toJSON) _apiGatewayStageTags     , fmap (("TracingEnabled",) . toJSON . fmap Bool') _apiGatewayStageTracingEnabled     , fmap (("Variables",) . toJSON) _apiGatewayStageVariables     ]@@ -63,6 +66,7 @@       (obj .:? "MethodSettings") <*>       (obj .: "RestApiId") <*>       (obj .:? "StageName") <*>+      (obj .:? "Tags") <*>       fmap (fmap (fmap unBool')) (obj .:? "TracingEnabled") <*>       (obj .:? "Variables")   parseJSON _ = mempty@@ -85,6 +89,7 @@   , _apiGatewayStageMethodSettings = Nothing   , _apiGatewayStageRestApiId = restApiIdarg   , _apiGatewayStageStageName = Nothing+  , _apiGatewayStageTags = Nothing   , _apiGatewayStageTracingEnabled = Nothing   , _apiGatewayStageVariables = Nothing   }@@ -132,6 +137,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename agsStageName :: Lens' ApiGatewayStage (Maybe (Val Text)) agsStageName = lens _apiGatewayStageStageName (\s a -> s { _apiGatewayStageStageName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags+agsTags :: Lens' ApiGatewayStage (Maybe [Tag])+agsTags = lens _apiGatewayStageTags (\s a -> s { _apiGatewayStageTags = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled agsTracingEnabled :: Lens' ApiGatewayStage (Maybe (Val Bool))
library-gen/Stratosphere/Resources/AppSyncDataSource.hs view
@@ -11,6 +11,7 @@ import Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig import Stratosphere.ResourceProperties.AppSyncDataSourceHttpConfig import Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig+import Stratosphere.ResourceProperties.AppSyncDataSourceRelationalDatabaseConfig  -- | Full data type definition for AppSyncDataSource. See 'appSyncDataSource' -- for a more convenient constructor.@@ -23,6 +24,7 @@   , _appSyncDataSourceHttpConfig :: Maybe AppSyncDataSourceHttpConfig   , _appSyncDataSourceLambdaConfig :: Maybe AppSyncDataSourceLambdaConfig   , _appSyncDataSourceName :: Val Text+  , _appSyncDataSourceRelationalDatabaseConfig :: Maybe AppSyncDataSourceRelationalDatabaseConfig   , _appSyncDataSourceServiceRoleArn :: Maybe (Val Text)   , _appSyncDataSourceType :: Val Text   } deriving (Show, Eq)@@ -38,6 +40,7 @@     , fmap (("HttpConfig",) . toJSON) _appSyncDataSourceHttpConfig     , fmap (("LambdaConfig",) . toJSON) _appSyncDataSourceLambdaConfig     , (Just . ("Name",) . toJSON) _appSyncDataSourceName+    , fmap (("RelationalDatabaseConfig",) . toJSON) _appSyncDataSourceRelationalDatabaseConfig     , fmap (("ServiceRoleArn",) . toJSON) _appSyncDataSourceServiceRoleArn     , (Just . ("Type",) . toJSON) _appSyncDataSourceType     ]@@ -52,6 +55,7 @@       (obj .:? "HttpConfig") <*>       (obj .:? "LambdaConfig") <*>       (obj .: "Name") <*>+      (obj .:? "RelationalDatabaseConfig") <*>       (obj .:? "ServiceRoleArn") <*>       (obj .: "Type")   parseJSON _ = mempty@@ -72,6 +76,7 @@   , _appSyncDataSourceHttpConfig = Nothing   , _appSyncDataSourceLambdaConfig = Nothing   , _appSyncDataSourceName = namearg+  , _appSyncDataSourceRelationalDatabaseConfig = Nothing   , _appSyncDataSourceServiceRoleArn = Nothing   , _appSyncDataSourceType = typearg   }@@ -103,6 +108,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name asdsName :: Lens' AppSyncDataSource (Val Text) asdsName = lens _appSyncDataSourceName (\s a -> s { _appSyncDataSourceName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-relationaldatabaseconfig+asdsRelationalDatabaseConfig :: Lens' AppSyncDataSource (Maybe AppSyncDataSourceRelationalDatabaseConfig)+asdsRelationalDatabaseConfig = lens _appSyncDataSourceRelationalDatabaseConfig (\s a -> s { _appSyncDataSourceRelationalDatabaseConfig = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn asdsServiceRoleArn :: Lens' AppSyncDataSource (Maybe (Val Text))
+ library-gen/Stratosphere/Resources/AppSyncFunctionConfiguration.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html++module Stratosphere.Resources.AppSyncFunctionConfiguration where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncFunctionConfiguration. See+-- 'appSyncFunctionConfiguration' for a more convenient constructor.+data AppSyncFunctionConfiguration =+  AppSyncFunctionConfiguration+  { _appSyncFunctionConfigurationApiId :: Val Text+  , _appSyncFunctionConfigurationDataSourceName :: Maybe (Val Text)+  , _appSyncFunctionConfigurationDescription :: Maybe (Val Text)+  , _appSyncFunctionConfigurationFunctionVersion :: Maybe (Val Text)+  , _appSyncFunctionConfigurationName :: Maybe (Val Text)+  , _appSyncFunctionConfigurationRequestMappingTemplate :: Maybe (Val Text)+  , _appSyncFunctionConfigurationRequestMappingTemplateS3Location :: Maybe (Val Text)+  , _appSyncFunctionConfigurationResponseMappingTemplate :: Maybe (Val Text)+  , _appSyncFunctionConfigurationResponseMappingTemplateS3Location :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncFunctionConfiguration where+  toJSON AppSyncFunctionConfiguration{..} =+    object $+    catMaybes+    [ (Just . ("ApiId",) . toJSON) _appSyncFunctionConfigurationApiId+    , fmap (("DataSourceName",) . toJSON) _appSyncFunctionConfigurationDataSourceName+    , fmap (("Description",) . toJSON) _appSyncFunctionConfigurationDescription+    , fmap (("FunctionVersion",) . toJSON) _appSyncFunctionConfigurationFunctionVersion+    , fmap (("Name",) . toJSON) _appSyncFunctionConfigurationName+    , fmap (("RequestMappingTemplate",) . toJSON) _appSyncFunctionConfigurationRequestMappingTemplate+    , fmap (("RequestMappingTemplateS3Location",) . toJSON) _appSyncFunctionConfigurationRequestMappingTemplateS3Location+    , fmap (("ResponseMappingTemplate",) . toJSON) _appSyncFunctionConfigurationResponseMappingTemplate+    , fmap (("ResponseMappingTemplateS3Location",) . toJSON) _appSyncFunctionConfigurationResponseMappingTemplateS3Location+    ]++instance FromJSON AppSyncFunctionConfiguration where+  parseJSON (Object obj) =+    AppSyncFunctionConfiguration <$>+      (obj .: "ApiId") <*>+      (obj .:? "DataSourceName") <*>+      (obj .:? "Description") <*>+      (obj .:? "FunctionVersion") <*>+      (obj .:? "Name") <*>+      (obj .:? "RequestMappingTemplate") <*>+      (obj .:? "RequestMappingTemplateS3Location") <*>+      (obj .:? "ResponseMappingTemplate") <*>+      (obj .:? "ResponseMappingTemplateS3Location")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncFunctionConfiguration' containing required fields+-- as arguments.+appSyncFunctionConfiguration+  :: Val Text -- ^ 'asfcApiId'+  -> AppSyncFunctionConfiguration+appSyncFunctionConfiguration apiIdarg =+  AppSyncFunctionConfiguration+  { _appSyncFunctionConfigurationApiId = apiIdarg+  , _appSyncFunctionConfigurationDataSourceName = Nothing+  , _appSyncFunctionConfigurationDescription = Nothing+  , _appSyncFunctionConfigurationFunctionVersion = Nothing+  , _appSyncFunctionConfigurationName = Nothing+  , _appSyncFunctionConfigurationRequestMappingTemplate = Nothing+  , _appSyncFunctionConfigurationRequestMappingTemplateS3Location = Nothing+  , _appSyncFunctionConfigurationResponseMappingTemplate = Nothing+  , _appSyncFunctionConfigurationResponseMappingTemplateS3Location = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-apiid+asfcApiId :: Lens' AppSyncFunctionConfiguration (Val Text)+asfcApiId = lens _appSyncFunctionConfigurationApiId (\s a -> s { _appSyncFunctionConfigurationApiId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-datasourcename+asfcDataSourceName :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcDataSourceName = lens _appSyncFunctionConfigurationDataSourceName (\s a -> s { _appSyncFunctionConfigurationDataSourceName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-description+asfcDescription :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcDescription = lens _appSyncFunctionConfigurationDescription (\s a -> s { _appSyncFunctionConfigurationDescription = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-functionversion+asfcFunctionVersion :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcFunctionVersion = lens _appSyncFunctionConfigurationFunctionVersion (\s a -> s { _appSyncFunctionConfigurationFunctionVersion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name+asfcName :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcName = lens _appSyncFunctionConfigurationName (\s a -> s { _appSyncFunctionConfigurationName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-requestmappingtemplate+asfcRequestMappingTemplate :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcRequestMappingTemplate = lens _appSyncFunctionConfigurationRequestMappingTemplate (\s a -> s { _appSyncFunctionConfigurationRequestMappingTemplate = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-requestmappingtemplates3location+asfcRequestMappingTemplateS3Location :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcRequestMappingTemplateS3Location = lens _appSyncFunctionConfigurationRequestMappingTemplateS3Location (\s a -> s { _appSyncFunctionConfigurationRequestMappingTemplateS3Location = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplate+asfcResponseMappingTemplate :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcResponseMappingTemplate = lens _appSyncFunctionConfigurationResponseMappingTemplate (\s a -> s { _appSyncFunctionConfigurationResponseMappingTemplate = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplates3location+asfcResponseMappingTemplateS3Location :: Lens' AppSyncFunctionConfiguration (Maybe (Val Text))+asfcResponseMappingTemplateS3Location = lens _appSyncFunctionConfigurationResponseMappingTemplateS3Location (\s a -> s { _appSyncFunctionConfigurationResponseMappingTemplateS3Location = a })
library-gen/Stratosphere/Resources/AppSyncResolver.hs view
@@ -7,15 +7,17 @@ module Stratosphere.Resources.AppSyncResolver where  import Stratosphere.ResourceImports-+import Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig  -- | Full data type definition for AppSyncResolver. See 'appSyncResolver' for -- a more convenient constructor. data AppSyncResolver =   AppSyncResolver   { _appSyncResolverApiId :: Val Text-  , _appSyncResolverDataSourceName :: Val Text+  , _appSyncResolverDataSourceName :: Maybe (Val Text)   , _appSyncResolverFieldName :: Val Text+  , _appSyncResolverKind :: Maybe (Val Text)+  , _appSyncResolverPipelineConfig :: Maybe AppSyncResolverPipelineConfig   , _appSyncResolverRequestMappingTemplate :: Maybe (Val Text)   , _appSyncResolverRequestMappingTemplateS3Location :: Maybe (Val Text)   , _appSyncResolverResponseMappingTemplate :: Maybe (Val Text)@@ -28,8 +30,10 @@     object $     catMaybes     [ (Just . ("ApiId",) . toJSON) _appSyncResolverApiId-    , (Just . ("DataSourceName",) . toJSON) _appSyncResolverDataSourceName+    , fmap (("DataSourceName",) . toJSON) _appSyncResolverDataSourceName     , (Just . ("FieldName",) . toJSON) _appSyncResolverFieldName+    , fmap (("Kind",) . toJSON) _appSyncResolverKind+    , fmap (("PipelineConfig",) . toJSON) _appSyncResolverPipelineConfig     , fmap (("RequestMappingTemplate",) . toJSON) _appSyncResolverRequestMappingTemplate     , fmap (("RequestMappingTemplateS3Location",) . toJSON) _appSyncResolverRequestMappingTemplateS3Location     , fmap (("ResponseMappingTemplate",) . toJSON) _appSyncResolverResponseMappingTemplate@@ -41,8 +45,10 @@   parseJSON (Object obj) =     AppSyncResolver <$>       (obj .: "ApiId") <*>-      (obj .: "DataSourceName") <*>+      (obj .:? "DataSourceName") <*>       (obj .: "FieldName") <*>+      (obj .:? "Kind") <*>+      (obj .:? "PipelineConfig") <*>       (obj .:? "RequestMappingTemplate") <*>       (obj .:? "RequestMappingTemplateS3Location") <*>       (obj .:? "ResponseMappingTemplate") <*>@@ -54,15 +60,16 @@ -- arguments. appSyncResolver   :: Val Text -- ^ 'asrApiId'-  -> Val Text -- ^ 'asrDataSourceName'   -> Val Text -- ^ 'asrFieldName'   -> Val Text -- ^ 'asrTypeName'   -> AppSyncResolver-appSyncResolver apiIdarg dataSourceNamearg fieldNamearg typeNamearg =+appSyncResolver apiIdarg fieldNamearg typeNamearg =   AppSyncResolver   { _appSyncResolverApiId = apiIdarg-  , _appSyncResolverDataSourceName = dataSourceNamearg+  , _appSyncResolverDataSourceName = Nothing   , _appSyncResolverFieldName = fieldNamearg+  , _appSyncResolverKind = Nothing+  , _appSyncResolverPipelineConfig = Nothing   , _appSyncResolverRequestMappingTemplate = Nothing   , _appSyncResolverRequestMappingTemplateS3Location = Nothing   , _appSyncResolverResponseMappingTemplate = Nothing@@ -75,12 +82,20 @@ asrApiId = lens _appSyncResolverApiId (\s a -> s { _appSyncResolverApiId = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-datasourcename-asrDataSourceName :: Lens' AppSyncResolver (Val Text)+asrDataSourceName :: Lens' AppSyncResolver (Maybe (Val Text)) asrDataSourceName = lens _appSyncResolverDataSourceName (\s a -> s { _appSyncResolverDataSourceName = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname asrFieldName :: Lens' AppSyncResolver (Val Text) asrFieldName = lens _appSyncResolverFieldName (\s a -> s { _appSyncResolverFieldName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-kind+asrKind :: Lens' AppSyncResolver (Maybe (Val Text))+asrKind = lens _appSyncResolverKind (\s a -> s { _appSyncResolverKind = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig+asrPipelineConfig :: Lens' AppSyncResolver (Maybe AppSyncResolverPipelineConfig)+asrPipelineConfig = lens _appSyncResolverPipelineConfig (\s a -> s { _appSyncResolverPipelineConfig = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-requestmappingtemplate asrRequestMappingTemplate :: Lens' AppSyncResolver (Maybe (Val Text))
library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs view
@@ -10,6 +10,7 @@ import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMixedInstancesPolicy import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupTagProperty @@ -31,6 +32,7 @@   , _autoScalingAutoScalingGroupMaxSize :: Val Text   , _autoScalingAutoScalingGroupMetricsCollection :: Maybe [AutoScalingAutoScalingGroupMetricsCollection]   , _autoScalingAutoScalingGroupMinSize :: Val Text+  , _autoScalingAutoScalingGroupMixedInstancesPolicy :: Maybe AutoScalingAutoScalingGroupMixedInstancesPolicy   , _autoScalingAutoScalingGroupNotificationConfigurations :: Maybe [AutoScalingAutoScalingGroupNotificationConfiguration]   , _autoScalingAutoScalingGroupPlacementGroup :: Maybe (Val Text)   , _autoScalingAutoScalingGroupServiceLinkedRoleARN :: Maybe (Val Text)@@ -58,6 +60,7 @@     , (Just . ("MaxSize",) . toJSON) _autoScalingAutoScalingGroupMaxSize     , fmap (("MetricsCollection",) . toJSON) _autoScalingAutoScalingGroupMetricsCollection     , (Just . ("MinSize",) . toJSON) _autoScalingAutoScalingGroupMinSize+    , fmap (("MixedInstancesPolicy",) . toJSON) _autoScalingAutoScalingGroupMixedInstancesPolicy     , fmap (("NotificationConfigurations",) . toJSON) _autoScalingAutoScalingGroupNotificationConfigurations     , fmap (("PlacementGroup",) . toJSON) _autoScalingAutoScalingGroupPlacementGroup     , fmap (("ServiceLinkedRoleARN",) . toJSON) _autoScalingAutoScalingGroupServiceLinkedRoleARN@@ -84,6 +87,7 @@       (obj .: "MaxSize") <*>       (obj .:? "MetricsCollection") <*>       (obj .: "MinSize") <*>+      (obj .:? "MixedInstancesPolicy") <*>       (obj .:? "NotificationConfigurations") <*>       (obj .:? "PlacementGroup") <*>       (obj .:? "ServiceLinkedRoleARN") <*>@@ -115,6 +119,7 @@   , _autoScalingAutoScalingGroupMaxSize = maxSizearg   , _autoScalingAutoScalingGroupMetricsCollection = Nothing   , _autoScalingAutoScalingGroupMinSize = minSizearg+  , _autoScalingAutoScalingGroupMixedInstancesPolicy = Nothing   , _autoScalingAutoScalingGroupNotificationConfigurations = Nothing   , _autoScalingAutoScalingGroupPlacementGroup = Nothing   , _autoScalingAutoScalingGroupServiceLinkedRoleARN = Nothing@@ -179,6 +184,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize asasgMinSize :: Lens' AutoScalingAutoScalingGroup (Val Text) asasgMinSize = lens _autoScalingAutoScalingGroupMinSize (\s a -> s { _autoScalingAutoScalingGroupMinSize = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-mixedinstancespolicy+asasgMixedInstancesPolicy :: Lens' AutoScalingAutoScalingGroup (Maybe AutoScalingAutoScalingGroupMixedInstancesPolicy)+asasgMixedInstancesPolicy = lens _autoScalingAutoScalingGroupMixedInstancesPolicy (\s a -> s { _autoScalingAutoScalingGroupMixedInstancesPolicy = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations asasgNotificationConfigurations :: Lens' AutoScalingAutoScalingGroup (Maybe [AutoScalingAutoScalingGroupNotificationConfiguration])
library-gen/Stratosphere/Resources/BatchJobDefinition.hs view
@@ -8,6 +8,7 @@  import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.BatchJobDefinitionContainerProperties+import Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties import Stratosphere.ResourceProperties.BatchJobDefinitionRetryStrategy import Stratosphere.ResourceProperties.BatchJobDefinitionTimeout @@ -15,8 +16,9 @@ -- 'batchJobDefinition' for a more convenient constructor. data BatchJobDefinition =   BatchJobDefinition-  { _batchJobDefinitionContainerProperties :: BatchJobDefinitionContainerProperties+  { _batchJobDefinitionContainerProperties :: Maybe BatchJobDefinitionContainerProperties   , _batchJobDefinitionJobDefinitionName :: Maybe (Val Text)+  , _batchJobDefinitionNodeProperties :: Maybe BatchJobDefinitionNodeProperties   , _batchJobDefinitionParameters :: Maybe Object   , _batchJobDefinitionRetryStrategy :: Maybe BatchJobDefinitionRetryStrategy   , _batchJobDefinitionTimeout :: Maybe BatchJobDefinitionTimeout@@ -27,8 +29,9 @@   toJSON BatchJobDefinition{..} =     object $     catMaybes-    [ (Just . ("ContainerProperties",) . toJSON) _batchJobDefinitionContainerProperties+    [ fmap (("ContainerProperties",) . toJSON) _batchJobDefinitionContainerProperties     , fmap (("JobDefinitionName",) . toJSON) _batchJobDefinitionJobDefinitionName+    , fmap (("NodeProperties",) . toJSON) _batchJobDefinitionNodeProperties     , fmap (("Parameters",) . toJSON) _batchJobDefinitionParameters     , fmap (("RetryStrategy",) . toJSON) _batchJobDefinitionRetryStrategy     , fmap (("Timeout",) . toJSON) _batchJobDefinitionTimeout@@ -38,8 +41,9 @@ instance FromJSON BatchJobDefinition where   parseJSON (Object obj) =     BatchJobDefinition <$>-      (obj .: "ContainerProperties") <*>+      (obj .:? "ContainerProperties") <*>       (obj .:? "JobDefinitionName") <*>+      (obj .:? "NodeProperties") <*>       (obj .:? "Parameters") <*>       (obj .:? "RetryStrategy") <*>       (obj .:? "Timeout") <*>@@ -49,13 +53,13 @@ -- | Constructor for 'BatchJobDefinition' containing required fields as -- arguments. batchJobDefinition-  :: BatchJobDefinitionContainerProperties -- ^ 'bjdContainerProperties'-  -> Val Text -- ^ 'bjdType'+  :: Val Text -- ^ 'bjdType'   -> BatchJobDefinition-batchJobDefinition containerPropertiesarg typearg =+batchJobDefinition typearg =   BatchJobDefinition-  { _batchJobDefinitionContainerProperties = containerPropertiesarg+  { _batchJobDefinitionContainerProperties = Nothing   , _batchJobDefinitionJobDefinitionName = Nothing+  , _batchJobDefinitionNodeProperties = Nothing   , _batchJobDefinitionParameters = Nothing   , _batchJobDefinitionRetryStrategy = Nothing   , _batchJobDefinitionTimeout = Nothing@@ -63,12 +67,16 @@   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-containerproperties-bjdContainerProperties :: Lens' BatchJobDefinition BatchJobDefinitionContainerProperties+bjdContainerProperties :: Lens' BatchJobDefinition (Maybe BatchJobDefinitionContainerProperties) bjdContainerProperties = lens _batchJobDefinitionContainerProperties (\s a -> s { _batchJobDefinitionContainerProperties = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-jobdefinitionname bjdJobDefinitionName :: Lens' BatchJobDefinition (Maybe (Val Text)) bjdJobDefinitionName = lens _batchJobDefinitionJobDefinitionName (\s a -> s { _batchJobDefinitionJobDefinitionName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-nodeproperties+bjdNodeProperties :: Lens' BatchJobDefinition (Maybe BatchJobDefinitionNodeProperties)+bjdNodeProperties = lens _batchJobDefinitionNodeProperties (\s a -> s { _batchJobDefinitionNodeProperties = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-parameters bjdParameters :: Lens' BatchJobDefinition (Maybe Object)
+ library-gen/Stratosphere/Resources/CloudFormationMacro.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html++module Stratosphere.Resources.CloudFormationMacro where++import Stratosphere.ResourceImports+++-- | Full data type definition for CloudFormationMacro. See+-- 'cloudFormationMacro' for a more convenient constructor.+data CloudFormationMacro =+  CloudFormationMacro+  { _cloudFormationMacroDescription :: Maybe (Val Text)+  , _cloudFormationMacroFunctionName :: Val Text+  , _cloudFormationMacroLogGroupName :: Maybe (Val Text)+  , _cloudFormationMacroLogRoleARN :: Maybe (Val Text)+  , _cloudFormationMacroName :: Val Text+  } deriving (Show, Eq)++instance ToJSON CloudFormationMacro where+  toJSON CloudFormationMacro{..} =+    object $+    catMaybes+    [ fmap (("Description",) . toJSON) _cloudFormationMacroDescription+    , (Just . ("FunctionName",) . toJSON) _cloudFormationMacroFunctionName+    , fmap (("LogGroupName",) . toJSON) _cloudFormationMacroLogGroupName+    , fmap (("LogRoleARN",) . toJSON) _cloudFormationMacroLogRoleARN+    , (Just . ("Name",) . toJSON) _cloudFormationMacroName+    ]++instance FromJSON CloudFormationMacro where+  parseJSON (Object obj) =+    CloudFormationMacro <$>+      (obj .:? "Description") <*>+      (obj .: "FunctionName") <*>+      (obj .:? "LogGroupName") <*>+      (obj .:? "LogRoleARN") <*>+      (obj .: "Name")+  parseJSON _ = mempty++-- | Constructor for 'CloudFormationMacro' containing required fields as+-- arguments.+cloudFormationMacro+  :: Val Text -- ^ 'cfmFunctionName'+  -> Val Text -- ^ 'cfmName'+  -> CloudFormationMacro+cloudFormationMacro functionNamearg namearg =+  CloudFormationMacro+  { _cloudFormationMacroDescription = Nothing+  , _cloudFormationMacroFunctionName = functionNamearg+  , _cloudFormationMacroLogGroupName = Nothing+  , _cloudFormationMacroLogRoleARN = Nothing+  , _cloudFormationMacroName = namearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-description+cfmDescription :: Lens' CloudFormationMacro (Maybe (Val Text))+cfmDescription = lens _cloudFormationMacroDescription (\s a -> s { _cloudFormationMacroDescription = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-functionname+cfmFunctionName :: Lens' CloudFormationMacro (Val Text)+cfmFunctionName = lens _cloudFormationMacroFunctionName (\s a -> s { _cloudFormationMacroFunctionName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-loggroupname+cfmLogGroupName :: Lens' CloudFormationMacro (Maybe (Val Text))+cfmLogGroupName = lens _cloudFormationMacroLogGroupName (\s a -> s { _cloudFormationMacroLogGroupName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-logrolearn+cfmLogRoleARN :: Lens' CloudFormationMacro (Maybe (Val Text))+cfmLogRoleARN = lens _cloudFormationMacroLogRoleARN (\s a -> s { _cloudFormationMacroLogRoleARN = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-name+cfmName :: Lens' CloudFormationMacro (Val Text)+cfmName = lens _cloudFormationMacroName (\s a -> s { _cloudFormationMacroName = a })
library-gen/Stratosphere/Resources/CloudWatchAlarm.hs view
@@ -24,10 +24,10 @@   , _cloudWatchAlarmEvaluationPeriods :: Val Integer   , _cloudWatchAlarmExtendedStatistic :: Maybe (Val Text)   , _cloudWatchAlarmInsufficientDataActions :: Maybe (ValList Text)-  , _cloudWatchAlarmMetricName :: Val Text-  , _cloudWatchAlarmNamespace :: Val Text+  , _cloudWatchAlarmMetricName :: Maybe (Val Text)+  , _cloudWatchAlarmNamespace :: Maybe (Val Text)   , _cloudWatchAlarmOKActions :: Maybe (ValList Text)-  , _cloudWatchAlarmPeriod :: Val Integer+  , _cloudWatchAlarmPeriod :: Maybe (Val Integer)   , _cloudWatchAlarmStatistic :: Maybe (Val Text)   , _cloudWatchAlarmThreshold :: Val Double   , _cloudWatchAlarmTreatMissingData :: Maybe (Val Text)@@ -49,10 +49,10 @@     , (Just . ("EvaluationPeriods",) . toJSON . fmap Integer') _cloudWatchAlarmEvaluationPeriods     , fmap (("ExtendedStatistic",) . toJSON) _cloudWatchAlarmExtendedStatistic     , fmap (("InsufficientDataActions",) . toJSON) _cloudWatchAlarmInsufficientDataActions-    , (Just . ("MetricName",) . toJSON) _cloudWatchAlarmMetricName-    , (Just . ("Namespace",) . toJSON) _cloudWatchAlarmNamespace+    , fmap (("MetricName",) . toJSON) _cloudWatchAlarmMetricName+    , fmap (("Namespace",) . toJSON) _cloudWatchAlarmNamespace     , fmap (("OKActions",) . toJSON) _cloudWatchAlarmOKActions-    , (Just . ("Period",) . toJSON . fmap Integer') _cloudWatchAlarmPeriod+    , fmap (("Period",) . toJSON . fmap Integer') _cloudWatchAlarmPeriod     , fmap (("Statistic",) . toJSON) _cloudWatchAlarmStatistic     , (Just . ("Threshold",) . toJSON . fmap Double') _cloudWatchAlarmThreshold     , fmap (("TreatMissingData",) . toJSON) _cloudWatchAlarmTreatMissingData@@ -73,10 +73,10 @@       fmap (fmap unInteger') (obj .: "EvaluationPeriods") <*>       (obj .:? "ExtendedStatistic") <*>       (obj .:? "InsufficientDataActions") <*>-      (obj .: "MetricName") <*>-      (obj .: "Namespace") <*>+      (obj .:? "MetricName") <*>+      (obj .:? "Namespace") <*>       (obj .:? "OKActions") <*>-      fmap (fmap unInteger') (obj .: "Period") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "Period") <*>       (obj .:? "Statistic") <*>       fmap (fmap unDouble') (obj .: "Threshold") <*>       (obj .:? "TreatMissingData") <*>@@ -88,12 +88,9 @@ cloudWatchAlarm   :: Val Text -- ^ 'cwaComparisonOperator'   -> Val Integer -- ^ 'cwaEvaluationPeriods'-  -> Val Text -- ^ 'cwaMetricName'-  -> Val Text -- ^ 'cwaNamespace'-  -> Val Integer -- ^ 'cwaPeriod'   -> Val Double -- ^ 'cwaThreshold'   -> CloudWatchAlarm-cloudWatchAlarm comparisonOperatorarg evaluationPeriodsarg metricNamearg namespacearg periodarg thresholdarg =+cloudWatchAlarm comparisonOperatorarg evaluationPeriodsarg thresholdarg =   CloudWatchAlarm   { _cloudWatchAlarmActionsEnabled = Nothing   , _cloudWatchAlarmAlarmActions = Nothing@@ -106,10 +103,10 @@   , _cloudWatchAlarmEvaluationPeriods = evaluationPeriodsarg   , _cloudWatchAlarmExtendedStatistic = Nothing   , _cloudWatchAlarmInsufficientDataActions = Nothing-  , _cloudWatchAlarmMetricName = metricNamearg-  , _cloudWatchAlarmNamespace = namespacearg+  , _cloudWatchAlarmMetricName = Nothing+  , _cloudWatchAlarmNamespace = Nothing   , _cloudWatchAlarmOKActions = Nothing-  , _cloudWatchAlarmPeriod = periodarg+  , _cloudWatchAlarmPeriod = Nothing   , _cloudWatchAlarmStatistic = Nothing   , _cloudWatchAlarmThreshold = thresholdarg   , _cloudWatchAlarmTreatMissingData = Nothing@@ -161,11 +158,11 @@ cwaInsufficientDataActions = lens _cloudWatchAlarmInsufficientDataActions (\s a -> s { _cloudWatchAlarmInsufficientDataActions = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-metricname-cwaMetricName :: Lens' CloudWatchAlarm (Val Text)+cwaMetricName :: Lens' CloudWatchAlarm (Maybe (Val Text)) cwaMetricName = lens _cloudWatchAlarmMetricName (\s a -> s { _cloudWatchAlarmMetricName = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-namespace-cwaNamespace :: Lens' CloudWatchAlarm (Val Text)+cwaNamespace :: Lens' CloudWatchAlarm (Maybe (Val Text)) cwaNamespace = lens _cloudWatchAlarmNamespace (\s a -> s { _cloudWatchAlarmNamespace = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions@@ -173,7 +170,7 @@ cwaOKActions = lens _cloudWatchAlarmOKActions (\s a -> s { _cloudWatchAlarmOKActions = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-period-cwaPeriod :: Lens' CloudWatchAlarm (Val Integer)+cwaPeriod :: Lens' CloudWatchAlarm (Maybe (Val Integer)) cwaPeriod = lens _cloudWatchAlarmPeriod (\s a -> s { _cloudWatchAlarmPeriod = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statistic
library-gen/Stratosphere/Resources/CodeBuildProject.hs view
@@ -28,6 +28,7 @@   , _codeBuildProjectEnvironment :: CodeBuildProjectEnvironment   , _codeBuildProjectLogsConfig :: Maybe CodeBuildProjectLogsConfig   , _codeBuildProjectName :: Maybe (Val Text)+  , _codeBuildProjectQueuedTimeoutInMinutes :: Maybe (Val Integer)   , _codeBuildProjectSecondaryArtifacts :: Maybe [CodeBuildProjectArtifacts]   , _codeBuildProjectSecondarySources :: Maybe [CodeBuildProjectSource]   , _codeBuildProjectServiceRole :: Val Text@@ -50,6 +51,7 @@     , (Just . ("Environment",) . toJSON) _codeBuildProjectEnvironment     , fmap (("LogsConfig",) . toJSON) _codeBuildProjectLogsConfig     , fmap (("Name",) . toJSON) _codeBuildProjectName+    , fmap (("QueuedTimeoutInMinutes",) . toJSON . fmap Integer') _codeBuildProjectQueuedTimeoutInMinutes     , fmap (("SecondaryArtifacts",) . toJSON) _codeBuildProjectSecondaryArtifacts     , fmap (("SecondarySources",) . toJSON) _codeBuildProjectSecondarySources     , (Just . ("ServiceRole",) . toJSON) _codeBuildProjectServiceRole@@ -71,6 +73,7 @@       (obj .: "Environment") <*>       (obj .:? "LogsConfig") <*>       (obj .:? "Name") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "QueuedTimeoutInMinutes") <*>       (obj .:? "SecondaryArtifacts") <*>       (obj .:? "SecondarySources") <*>       (obj .: "ServiceRole") <*>@@ -99,6 +102,7 @@   , _codeBuildProjectEnvironment = environmentarg   , _codeBuildProjectLogsConfig = Nothing   , _codeBuildProjectName = Nothing+  , _codeBuildProjectQueuedTimeoutInMinutes = Nothing   , _codeBuildProjectSecondaryArtifacts = Nothing   , _codeBuildProjectSecondarySources = Nothing   , _codeBuildProjectServiceRole = serviceRolearg@@ -140,6 +144,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-name cbpName :: Lens' CodeBuildProject (Maybe (Val Text)) cbpName = lens _codeBuildProjectName (\s a -> s { _codeBuildProjectName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-queuedtimeoutinminutes+cbpQueuedTimeoutInMinutes :: Lens' CodeBuildProject (Maybe (Val Integer))+cbpQueuedTimeoutInMinutes = lens _codeBuildProjectQueuedTimeoutInMinutes (\s a -> s { _codeBuildProjectQueuedTimeoutInMinutes = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondaryartifacts cbpSecondaryArtifacts :: Lens' CodeBuildProject (Maybe [CodeBuildProjectArtifacts])
library-gen/Stratosphere/Resources/CodePipelinePipeline.hs view
@@ -8,6 +8,7 @@  import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStore+import Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStoreMap import Stratosphere.ResourceProperties.CodePipelinePipelineStageTransition import Stratosphere.ResourceProperties.CodePipelinePipelineStageDeclaration @@ -15,7 +16,8 @@ -- 'codePipelinePipeline' for a more convenient constructor. data CodePipelinePipeline =   CodePipelinePipeline-  { _codePipelinePipelineArtifactStore :: CodePipelinePipelineArtifactStore+  { _codePipelinePipelineArtifactStore :: Maybe CodePipelinePipelineArtifactStore+  , _codePipelinePipelineArtifactStores :: Maybe [CodePipelinePipelineArtifactStoreMap]   , _codePipelinePipelineDisableInboundStageTransitions :: Maybe [CodePipelinePipelineStageTransition]   , _codePipelinePipelineName :: Maybe (Val Text)   , _codePipelinePipelineRestartExecutionOnUpdate :: Maybe (Val Bool)@@ -27,7 +29,8 @@   toJSON CodePipelinePipeline{..} =     object $     catMaybes-    [ (Just . ("ArtifactStore",) . toJSON) _codePipelinePipelineArtifactStore+    [ fmap (("ArtifactStore",) . toJSON) _codePipelinePipelineArtifactStore+    , fmap (("ArtifactStores",) . toJSON) _codePipelinePipelineArtifactStores     , fmap (("DisableInboundStageTransitions",) . toJSON) _codePipelinePipelineDisableInboundStageTransitions     , fmap (("Name",) . toJSON) _codePipelinePipelineName     , fmap (("RestartExecutionOnUpdate",) . toJSON . fmap Bool') _codePipelinePipelineRestartExecutionOnUpdate@@ -38,7 +41,8 @@ instance FromJSON CodePipelinePipeline where   parseJSON (Object obj) =     CodePipelinePipeline <$>-      (obj .: "ArtifactStore") <*>+      (obj .:? "ArtifactStore") <*>+      (obj .:? "ArtifactStores") <*>       (obj .:? "DisableInboundStageTransitions") <*>       (obj .:? "Name") <*>       fmap (fmap (fmap unBool')) (obj .:? "RestartExecutionOnUpdate") <*>@@ -49,13 +53,13 @@ -- | Constructor for 'CodePipelinePipeline' containing required fields as -- arguments. codePipelinePipeline-  :: CodePipelinePipelineArtifactStore -- ^ 'cppArtifactStore'-  -> Val Text -- ^ 'cppRoleArn'+  :: Val Text -- ^ 'cppRoleArn'   -> [CodePipelinePipelineStageDeclaration] -- ^ 'cppStages'   -> CodePipelinePipeline-codePipelinePipeline artifactStorearg roleArnarg stagesarg =+codePipelinePipeline roleArnarg stagesarg =   CodePipelinePipeline-  { _codePipelinePipelineArtifactStore = artifactStorearg+  { _codePipelinePipelineArtifactStore = Nothing+  , _codePipelinePipelineArtifactStores = Nothing   , _codePipelinePipelineDisableInboundStageTransitions = Nothing   , _codePipelinePipelineName = Nothing   , _codePipelinePipelineRestartExecutionOnUpdate = Nothing@@ -64,8 +68,12 @@   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstore-cppArtifactStore :: Lens' CodePipelinePipeline CodePipelinePipelineArtifactStore+cppArtifactStore :: Lens' CodePipelinePipeline (Maybe CodePipelinePipelineArtifactStore) cppArtifactStore = lens _codePipelinePipelineArtifactStore (\s a -> s { _codePipelinePipelineArtifactStore = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstores+cppArtifactStores :: Lens' CodePipelinePipeline (Maybe [CodePipelinePipelineArtifactStoreMap])+cppArtifactStores = lens _codePipelinePipelineArtifactStores (\s a -> s { _codePipelinePipelineArtifactStores = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-disableinboundstagetransitions cppDisableInboundStageTransitions :: Lens' CodePipelinePipeline (Maybe [CodePipelinePipelineStageTransition])
library-gen/Stratosphere/Resources/DynamoDBTable.hs view
@@ -27,7 +27,7 @@   , _dynamoDBTableKeySchema :: [DynamoDBTableKeySchema]   , _dynamoDBTableLocalSecondaryIndexes :: Maybe [DynamoDBTableLocalSecondaryIndex]   , _dynamoDBTablePointInTimeRecoverySpecification :: Maybe DynamoDBTablePointInTimeRecoverySpecification-  , _dynamoDBTableProvisionedThroughput :: DynamoDBTableProvisionedThroughput+  , _dynamoDBTableProvisionedThroughput :: Maybe DynamoDBTableProvisionedThroughput   , _dynamoDBTableSSESpecification :: Maybe DynamoDBTableSSESpecification   , _dynamoDBTableStreamSpecification :: Maybe DynamoDBTableStreamSpecification   , _dynamoDBTableTableName :: Maybe (Val Text)@@ -44,7 +44,7 @@     , (Just . ("KeySchema",) . toJSON) _dynamoDBTableKeySchema     , fmap (("LocalSecondaryIndexes",) . toJSON) _dynamoDBTableLocalSecondaryIndexes     , fmap (("PointInTimeRecoverySpecification",) . toJSON) _dynamoDBTablePointInTimeRecoverySpecification-    , (Just . ("ProvisionedThroughput",) . toJSON) _dynamoDBTableProvisionedThroughput+    , fmap (("ProvisionedThroughput",) . toJSON) _dynamoDBTableProvisionedThroughput     , fmap (("SSESpecification",) . toJSON) _dynamoDBTableSSESpecification     , fmap (("StreamSpecification",) . toJSON) _dynamoDBTableStreamSpecification     , fmap (("TableName",) . toJSON) _dynamoDBTableTableName@@ -60,7 +60,7 @@       (obj .: "KeySchema") <*>       (obj .:? "LocalSecondaryIndexes") <*>       (obj .:? "PointInTimeRecoverySpecification") <*>-      (obj .: "ProvisionedThroughput") <*>+      (obj .:? "ProvisionedThroughput") <*>       (obj .:? "SSESpecification") <*>       (obj .:? "StreamSpecification") <*>       (obj .:? "TableName") <*>@@ -71,16 +71,15 @@ -- | Constructor for 'DynamoDBTable' containing required fields as arguments. dynamoDBTable   :: [DynamoDBTableKeySchema] -- ^ 'ddbtKeySchema'-  -> DynamoDBTableProvisionedThroughput -- ^ 'ddbtProvisionedThroughput'   -> DynamoDBTable-dynamoDBTable keySchemaarg provisionedThroughputarg =+dynamoDBTable keySchemaarg =   DynamoDBTable   { _dynamoDBTableAttributeDefinitions = Nothing   , _dynamoDBTableGlobalSecondaryIndexes = Nothing   , _dynamoDBTableKeySchema = keySchemaarg   , _dynamoDBTableLocalSecondaryIndexes = Nothing   , _dynamoDBTablePointInTimeRecoverySpecification = Nothing-  , _dynamoDBTableProvisionedThroughput = provisionedThroughputarg+  , _dynamoDBTableProvisionedThroughput = Nothing   , _dynamoDBTableSSESpecification = Nothing   , _dynamoDBTableStreamSpecification = Nothing   , _dynamoDBTableTableName = Nothing@@ -109,7 +108,7 @@ ddbtPointInTimeRecoverySpecification = lens _dynamoDBTablePointInTimeRecoverySpecification (\s a -> s { _dynamoDBTablePointInTimeRecoverySpecification = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput-ddbtProvisionedThroughput :: Lens' DynamoDBTable DynamoDBTableProvisionedThroughput+ddbtProvisionedThroughput :: Lens' DynamoDBTable (Maybe DynamoDBTableProvisionedThroughput) ddbtProvisionedThroughput = lens _dynamoDBTableProvisionedThroughput (\s a -> s { _dynamoDBTableProvisionedThroughput = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification
+ library-gen/Stratosphere/Resources/EC2EC2Fleet.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html++module Stratosphere.Resources.EC2EC2Fleet where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateConfigRequest+import Stratosphere.ResourceProperties.EC2EC2FleetOnDemandOptionsRequest+import Stratosphere.ResourceProperties.EC2EC2FleetSpotOptionsRequest+import Stratosphere.ResourceProperties.EC2EC2FleetTagSpecification+import Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest++-- | Full data type definition for EC2EC2Fleet. See 'ec2EC2Fleet' for a more+-- convenient constructor.+data EC2EC2Fleet =+  EC2EC2Fleet+  { _eC2EC2FleetExcessCapacityTerminationPolicy :: Maybe (Val Text)+  , _eC2EC2FleetLaunchTemplateConfigs :: [EC2EC2FleetFleetLaunchTemplateConfigRequest]+  , _eC2EC2FleetOnDemandOptions :: Maybe EC2EC2FleetOnDemandOptionsRequest+  , _eC2EC2FleetReplaceUnhealthyInstances :: Maybe (Val Bool)+  , _eC2EC2FleetSpotOptions :: Maybe EC2EC2FleetSpotOptionsRequest+  , _eC2EC2FleetTagSpecifications :: Maybe [EC2EC2FleetTagSpecification]+  , _eC2EC2FleetTargetCapacitySpecification :: EC2EC2FleetTargetCapacitySpecificationRequest+  , _eC2EC2FleetTerminateInstancesWithExpiration :: Maybe (Val Bool)+  , _eC2EC2FleetType :: Maybe (Val Text)+  , _eC2EC2FleetValidFrom :: Maybe (Val Integer)+  , _eC2EC2FleetValidUntil :: Maybe (Val Integer)+  } deriving (Show, Eq)++instance ToJSON EC2EC2Fleet where+  toJSON EC2EC2Fleet{..} =+    object $+    catMaybes+    [ fmap (("ExcessCapacityTerminationPolicy",) . toJSON) _eC2EC2FleetExcessCapacityTerminationPolicy+    , (Just . ("LaunchTemplateConfigs",) . toJSON) _eC2EC2FleetLaunchTemplateConfigs+    , fmap (("OnDemandOptions",) . toJSON) _eC2EC2FleetOnDemandOptions+    , fmap (("ReplaceUnhealthyInstances",) . toJSON . fmap Bool') _eC2EC2FleetReplaceUnhealthyInstances+    , fmap (("SpotOptions",) . toJSON) _eC2EC2FleetSpotOptions+    , fmap (("TagSpecifications",) . toJSON) _eC2EC2FleetTagSpecifications+    , (Just . ("TargetCapacitySpecification",) . toJSON) _eC2EC2FleetTargetCapacitySpecification+    , fmap (("TerminateInstancesWithExpiration",) . toJSON . fmap Bool') _eC2EC2FleetTerminateInstancesWithExpiration+    , fmap (("Type",) . toJSON) _eC2EC2FleetType+    , fmap (("ValidFrom",) . toJSON . fmap Integer') _eC2EC2FleetValidFrom+    , fmap (("ValidUntil",) . toJSON . fmap Integer') _eC2EC2FleetValidUntil+    ]++instance FromJSON EC2EC2Fleet where+  parseJSON (Object obj) =+    EC2EC2Fleet <$>+      (obj .:? "ExcessCapacityTerminationPolicy") <*>+      (obj .: "LaunchTemplateConfigs") <*>+      (obj .:? "OnDemandOptions") <*>+      fmap (fmap (fmap unBool')) (obj .:? "ReplaceUnhealthyInstances") <*>+      (obj .:? "SpotOptions") <*>+      (obj .:? "TagSpecifications") <*>+      (obj .: "TargetCapacitySpecification") <*>+      fmap (fmap (fmap unBool')) (obj .:? "TerminateInstancesWithExpiration") <*>+      (obj .:? "Type") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "ValidFrom") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "ValidUntil")+  parseJSON _ = mempty++-- | Constructor for 'EC2EC2Fleet' containing required fields as arguments.+ec2EC2Fleet+  :: [EC2EC2FleetFleetLaunchTemplateConfigRequest] -- ^ 'ececfLaunchTemplateConfigs'+  -> EC2EC2FleetTargetCapacitySpecificationRequest -- ^ 'ececfTargetCapacitySpecification'+  -> EC2EC2Fleet+ec2EC2Fleet launchTemplateConfigsarg targetCapacitySpecificationarg =+  EC2EC2Fleet+  { _eC2EC2FleetExcessCapacityTerminationPolicy = Nothing+  , _eC2EC2FleetLaunchTemplateConfigs = launchTemplateConfigsarg+  , _eC2EC2FleetOnDemandOptions = Nothing+  , _eC2EC2FleetReplaceUnhealthyInstances = Nothing+  , _eC2EC2FleetSpotOptions = Nothing+  , _eC2EC2FleetTagSpecifications = Nothing+  , _eC2EC2FleetTargetCapacitySpecification = targetCapacitySpecificationarg+  , _eC2EC2FleetTerminateInstancesWithExpiration = Nothing+  , _eC2EC2FleetType = Nothing+  , _eC2EC2FleetValidFrom = Nothing+  , _eC2EC2FleetValidUntil = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-excesscapacityterminationpolicy+ececfExcessCapacityTerminationPolicy :: Lens' EC2EC2Fleet (Maybe (Val Text))+ececfExcessCapacityTerminationPolicy = lens _eC2EC2FleetExcessCapacityTerminationPolicy (\s a -> s { _eC2EC2FleetExcessCapacityTerminationPolicy = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-launchtemplateconfigs+ececfLaunchTemplateConfigs :: Lens' EC2EC2Fleet [EC2EC2FleetFleetLaunchTemplateConfigRequest]+ececfLaunchTemplateConfigs = lens _eC2EC2FleetLaunchTemplateConfigs (\s a -> s { _eC2EC2FleetLaunchTemplateConfigs = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-ondemandoptions+ececfOnDemandOptions :: Lens' EC2EC2Fleet (Maybe EC2EC2FleetOnDemandOptionsRequest)+ececfOnDemandOptions = lens _eC2EC2FleetOnDemandOptions (\s a -> s { _eC2EC2FleetOnDemandOptions = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-replaceunhealthyinstances+ececfReplaceUnhealthyInstances :: Lens' EC2EC2Fleet (Maybe (Val Bool))+ececfReplaceUnhealthyInstances = lens _eC2EC2FleetReplaceUnhealthyInstances (\s a -> s { _eC2EC2FleetReplaceUnhealthyInstances = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-spotoptions+ececfSpotOptions :: Lens' EC2EC2Fleet (Maybe EC2EC2FleetSpotOptionsRequest)+ececfSpotOptions = lens _eC2EC2FleetSpotOptions (\s a -> s { _eC2EC2FleetSpotOptions = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-tagspecifications+ececfTagSpecifications :: Lens' EC2EC2Fleet (Maybe [EC2EC2FleetTagSpecification])+ececfTagSpecifications = lens _eC2EC2FleetTagSpecifications (\s a -> s { _eC2EC2FleetTagSpecifications = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-targetcapacityspecification+ececfTargetCapacitySpecification :: Lens' EC2EC2Fleet EC2EC2FleetTargetCapacitySpecificationRequest+ececfTargetCapacitySpecification = lens _eC2EC2FleetTargetCapacitySpecification (\s a -> s { _eC2EC2FleetTargetCapacitySpecification = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-terminateinstanceswithexpiration+ececfTerminateInstancesWithExpiration :: Lens' EC2EC2Fleet (Maybe (Val Bool))+ececfTerminateInstancesWithExpiration = lens _eC2EC2FleetTerminateInstancesWithExpiration (\s a -> s { _eC2EC2FleetTerminateInstancesWithExpiration = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-type+ececfType :: Lens' EC2EC2Fleet (Maybe (Val Text))+ececfType = lens _eC2EC2FleetType (\s a -> s { _eC2EC2FleetType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validfrom+ececfValidFrom :: Lens' EC2EC2Fleet (Maybe (Val Integer))+ececfValidFrom = lens _eC2EC2FleetValidFrom (\s a -> s { _eC2EC2FleetValidFrom = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validuntil+ececfValidUntil :: Lens' EC2EC2Fleet (Maybe (Val Integer))+ececfValidUntil = lens _eC2EC2FleetValidUntil (\s a -> s { _eC2EC2FleetValidUntil = a })
library-gen/Stratosphere/Resources/EC2EIP.hs view
@@ -15,6 +15,7 @@   EC2EIP   { _eC2EIPDomain :: Maybe (Val Text)   , _eC2EIPInstanceId :: Maybe (Val Text)+  , _eC2EIPPublicIpv4Pool :: Maybe (Val Text)   } deriving (Show, Eq)  instance ToJSON EC2EIP where@@ -23,13 +24,15 @@     catMaybes     [ fmap (("Domain",) . toJSON) _eC2EIPDomain     , fmap (("InstanceId",) . toJSON) _eC2EIPInstanceId+    , fmap (("PublicIpv4Pool",) . toJSON) _eC2EIPPublicIpv4Pool     ]  instance FromJSON EC2EIP where   parseJSON (Object obj) =     EC2EIP <$>       (obj .:? "Domain") <*>-      (obj .:? "InstanceId")+      (obj .:? "InstanceId") <*>+      (obj .:? "PublicIpv4Pool")   parseJSON _ = mempty  -- | Constructor for 'EC2EIP' containing required fields as arguments.@@ -39,6 +42,7 @@   EC2EIP   { _eC2EIPDomain = Nothing   , _eC2EIPInstanceId = Nothing+  , _eC2EIPPublicIpv4Pool = Nothing   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-domain@@ -48,3 +52,7 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-instanceid eceipInstanceId :: Lens' EC2EIP (Maybe (Val Text)) eceipInstanceId = lens _eC2EIPInstanceId (\s a -> s { _eC2EIPInstanceId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-publicipv4pool+eceipPublicIpv4Pool :: Lens' EC2EIP (Maybe (Val Text))+eceipPublicIpv4Pool = lens _eC2EIPPublicIpv4Pool (\s a -> s { _eC2EIPPublicIpv4Pool = a })
library-gen/Stratosphere/Resources/EMRCluster.hs view
@@ -12,6 +12,7 @@ import Stratosphere.ResourceProperties.EMRClusterConfiguration import Stratosphere.ResourceProperties.EMRClusterJobFlowInstancesConfig import Stratosphere.ResourceProperties.EMRClusterKerberosAttributes+import Stratosphere.ResourceProperties.EMRClusterStepConfig import Stratosphere.ResourceProperties.Tag  -- | Full data type definition for EMRCluster. See 'emrCluster' for a more@@ -34,6 +35,7 @@   , _eMRClusterScaleDownBehavior :: Maybe (Val Text)   , _eMRClusterSecurityConfiguration :: Maybe (Val Text)   , _eMRClusterServiceRole :: Val Text+  , _eMRClusterSteps :: Maybe [EMRClusterStepConfig]   , _eMRClusterTags :: Maybe [Tag]   , _eMRClusterVisibleToAllUsers :: Maybe (Val Bool)   } deriving (Show, Eq)@@ -58,6 +60,7 @@     , fmap (("ScaleDownBehavior",) . toJSON) _eMRClusterScaleDownBehavior     , fmap (("SecurityConfiguration",) . toJSON) _eMRClusterSecurityConfiguration     , (Just . ("ServiceRole",) . toJSON) _eMRClusterServiceRole+    , fmap (("Steps",) . toJSON) _eMRClusterSteps     , fmap (("Tags",) . toJSON) _eMRClusterTags     , fmap (("VisibleToAllUsers",) . toJSON . fmap Bool') _eMRClusterVisibleToAllUsers     ]@@ -81,6 +84,7 @@       (obj .:? "ScaleDownBehavior") <*>       (obj .:? "SecurityConfiguration") <*>       (obj .: "ServiceRole") <*>+      (obj .:? "Steps") <*>       (obj .:? "Tags") <*>       fmap (fmap (fmap unBool')) (obj .:? "VisibleToAllUsers")   parseJSON _ = mempty@@ -110,6 +114,7 @@   , _eMRClusterScaleDownBehavior = Nothing   , _eMRClusterSecurityConfiguration = Nothing   , _eMRClusterServiceRole = serviceRolearg+  , _eMRClusterSteps = Nothing   , _eMRClusterTags = Nothing   , _eMRClusterVisibleToAllUsers = Nothing   }@@ -177,6 +182,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-servicerole emrcServiceRole :: Lens' EMRCluster (Val Text) emrcServiceRole = lens _eMRClusterServiceRole (\s a -> s { _eMRClusterServiceRole = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-steps+emrcSteps :: Lens' EMRCluster (Maybe [EMRClusterStepConfig])+emrcSteps = lens _eMRClusterSteps (\s a -> s { _eMRClusterSteps = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-tags emrcTags :: Lens' EMRCluster (Maybe [Tag])
library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs view
@@ -15,7 +15,7 @@   IoT1ClickPlacement   { _ioT1ClickPlacementAssociatedDevices :: Maybe Object   , _ioT1ClickPlacementAttributes :: Maybe Object-  , _ioT1ClickPlacementPlacementName :: Val Text+  , _ioT1ClickPlacementPlacementName :: Maybe (Val Text)   , _ioT1ClickPlacementProjectName :: Val Text   } deriving (Show, Eq) @@ -25,7 +25,7 @@     catMaybes     [ fmap (("AssociatedDevices",) . toJSON) _ioT1ClickPlacementAssociatedDevices     , fmap (("Attributes",) . toJSON) _ioT1ClickPlacementAttributes-    , (Just . ("PlacementName",) . toJSON) _ioT1ClickPlacementPlacementName+    , fmap (("PlacementName",) . toJSON) _ioT1ClickPlacementPlacementName     , (Just . ("ProjectName",) . toJSON) _ioT1ClickPlacementProjectName     ] @@ -34,21 +34,20 @@     IoT1ClickPlacement <$>       (obj .:? "AssociatedDevices") <*>       (obj .:? "Attributes") <*>-      (obj .: "PlacementName") <*>+      (obj .:? "PlacementName") <*>       (obj .: "ProjectName")   parseJSON _ = mempty  -- | Constructor for 'IoT1ClickPlacement' containing required fields as -- arguments. ioT1ClickPlacement-  :: Val Text -- ^ 'itcplPlacementName'-  -> Val Text -- ^ 'itcplProjectName'+  :: Val Text -- ^ 'itcplProjectName'   -> IoT1ClickPlacement-ioT1ClickPlacement placementNamearg projectNamearg =+ioT1ClickPlacement projectNamearg =   IoT1ClickPlacement   { _ioT1ClickPlacementAssociatedDevices = Nothing   , _ioT1ClickPlacementAttributes = Nothing-  , _ioT1ClickPlacementPlacementName = placementNamearg+  , _ioT1ClickPlacementPlacementName = Nothing   , _ioT1ClickPlacementProjectName = projectNamearg   } @@ -61,7 +60,7 @@ itcplAttributes = lens _ioT1ClickPlacementAttributes (\s a -> s { _ioT1ClickPlacementAttributes = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-placementname-itcplPlacementName :: Lens' IoT1ClickPlacement (Val Text)+itcplPlacementName :: Lens' IoT1ClickPlacement (Maybe (Val Text)) itcplPlacementName = lens _ioT1ClickPlacementPlacementName (\s a -> s { _ioT1ClickPlacementPlacementName = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-projectname
library-gen/Stratosphere/Resources/IoT1ClickProject.hs view
@@ -15,7 +15,7 @@   IoT1ClickProject   { _ioT1ClickProjectDescription :: Maybe (Val Text)   , _ioT1ClickProjectPlacementTemplate :: IoT1ClickProjectPlacementTemplate-  , _ioT1ClickProjectProjectName :: Val Text+  , _ioT1ClickProjectProjectName :: Maybe (Val Text)   } deriving (Show, Eq)  instance ToJSON IoT1ClickProject where@@ -24,7 +24,7 @@     catMaybes     [ fmap (("Description",) . toJSON) _ioT1ClickProjectDescription     , (Just . ("PlacementTemplate",) . toJSON) _ioT1ClickProjectPlacementTemplate-    , (Just . ("ProjectName",) . toJSON) _ioT1ClickProjectProjectName+    , fmap (("ProjectName",) . toJSON) _ioT1ClickProjectProjectName     ]  instance FromJSON IoT1ClickProject where@@ -32,20 +32,19 @@     IoT1ClickProject <$>       (obj .:? "Description") <*>       (obj .: "PlacementTemplate") <*>-      (obj .: "ProjectName")+      (obj .:? "ProjectName")   parseJSON _ = mempty  -- | Constructor for 'IoT1ClickProject' containing required fields as -- arguments. ioT1ClickProject   :: IoT1ClickProjectPlacementTemplate -- ^ 'itcprPlacementTemplate'-  -> Val Text -- ^ 'itcprProjectName'   -> IoT1ClickProject-ioT1ClickProject placementTemplatearg projectNamearg =+ioT1ClickProject placementTemplatearg =   IoT1ClickProject   { _ioT1ClickProjectDescription = Nothing   , _ioT1ClickProjectPlacementTemplate = placementTemplatearg-  , _ioT1ClickProjectProjectName = projectNamearg+  , _ioT1ClickProjectProjectName = Nothing   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-description@@ -57,5 +56,5 @@ itcprPlacementTemplate = lens _ioT1ClickProjectPlacementTemplate (\s a -> s { _ioT1ClickProjectPlacementTemplate = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-projectname-itcprProjectName :: Lens' IoT1ClickProject (Val Text)+itcprProjectName :: Lens' IoT1ClickProject (Maybe (Val Text)) itcprProjectName = lens _ioT1ClickProjectProjectName (\s a -> s { _ioT1ClickProjectProjectName = a })
+ library-gen/Stratosphere/Resources/KinesisStreamConsumer.hs view
@@ -0,0 +1,53 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html++module Stratosphere.Resources.KinesisStreamConsumer where++import Stratosphere.ResourceImports+++-- | Full data type definition for KinesisStreamConsumer. See+-- 'kinesisStreamConsumer' for a more convenient constructor.+data KinesisStreamConsumer =+  KinesisStreamConsumer+  { _kinesisStreamConsumerConsumerName :: Val Text+  , _kinesisStreamConsumerStreamARN :: Val Text+  } deriving (Show, Eq)++instance ToJSON KinesisStreamConsumer where+  toJSON KinesisStreamConsumer{..} =+    object $+    catMaybes+    [ (Just . ("ConsumerName",) . toJSON) _kinesisStreamConsumerConsumerName+    , (Just . ("StreamARN",) . toJSON) _kinesisStreamConsumerStreamARN+    ]++instance FromJSON KinesisStreamConsumer where+  parseJSON (Object obj) =+    KinesisStreamConsumer <$>+      (obj .: "ConsumerName") <*>+      (obj .: "StreamARN")+  parseJSON _ = mempty++-- | Constructor for 'KinesisStreamConsumer' containing required fields as+-- arguments.+kinesisStreamConsumer+  :: Val Text -- ^ 'kscConsumerName'+  -> Val Text -- ^ 'kscStreamARN'+  -> KinesisStreamConsumer+kinesisStreamConsumer consumerNamearg streamARNarg =+  KinesisStreamConsumer+  { _kinesisStreamConsumerConsumerName = consumerNamearg+  , _kinesisStreamConsumerStreamARN = streamARNarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html#cfn-kinesis-streamconsumer-consumername+kscConsumerName :: Lens' KinesisStreamConsumer (Val Text)+kscConsumerName = lens _kinesisStreamConsumerConsumerName (\s a -> s { _kinesisStreamConsumerConsumerName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html#cfn-kinesis-streamconsumer-streamarn+kscStreamARN :: Lens' KinesisStreamConsumer (Val Text)+kscStreamARN = lens _kinesisStreamConsumerStreamARN (\s a -> s { _kinesisStreamConsumerStreamARN = a })
library-gen/Stratosphere/Resources/RDSDBCluster.hs view
@@ -21,6 +21,7 @@   , _rDSDBClusterDBClusterParameterGroupName :: Maybe (Val Text)   , _rDSDBClusterDBSubnetGroupName :: Maybe (Val Text)   , _rDSDBClusterDatabaseName :: Maybe (Val Text)+  , _rDSDBClusterDeletionProtection :: Maybe (Val Bool)   , _rDSDBClusterEnableCloudwatchLogsExports :: Maybe (ValList Text)   , _rDSDBClusterEnableIAMDatabaseAuthentication :: Maybe (Val Bool)   , _rDSDBClusterEngine :: Val Text@@ -51,6 +52,7 @@     , fmap (("DBClusterParameterGroupName",) . toJSON) _rDSDBClusterDBClusterParameterGroupName     , fmap (("DBSubnetGroupName",) . toJSON) _rDSDBClusterDBSubnetGroupName     , fmap (("DatabaseName",) . toJSON) _rDSDBClusterDatabaseName+    , fmap (("DeletionProtection",) . toJSON . fmap Bool') _rDSDBClusterDeletionProtection     , fmap (("EnableCloudwatchLogsExports",) . toJSON) _rDSDBClusterEnableCloudwatchLogsExports     , fmap (("EnableIAMDatabaseAuthentication",) . toJSON . fmap Bool') _rDSDBClusterEnableIAMDatabaseAuthentication     , (Just . ("Engine",) . toJSON) _rDSDBClusterEngine@@ -80,6 +82,7 @@       (obj .:? "DBClusterParameterGroupName") <*>       (obj .:? "DBSubnetGroupName") <*>       (obj .:? "DatabaseName") <*>+      fmap (fmap (fmap unBool')) (obj .:? "DeletionProtection") <*>       (obj .:? "EnableCloudwatchLogsExports") <*>       fmap (fmap (fmap unBool')) (obj .:? "EnableIAMDatabaseAuthentication") <*>       (obj .: "Engine") <*>@@ -112,6 +115,7 @@   , _rDSDBClusterDBClusterParameterGroupName = Nothing   , _rDSDBClusterDBSubnetGroupName = Nothing   , _rDSDBClusterDatabaseName = Nothing+  , _rDSDBClusterDeletionProtection = Nothing   , _rDSDBClusterEnableCloudwatchLogsExports = Nothing   , _rDSDBClusterEnableIAMDatabaseAuthentication = Nothing   , _rDSDBClusterEngine = enginearg@@ -158,6 +162,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-databasename rdsdbcDatabaseName :: Lens' RDSDBCluster (Maybe (Val Text)) rdsdbcDatabaseName = lens _rDSDBClusterDatabaseName (\s a -> s { _rDSDBClusterDatabaseName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-deletionprotection+rdsdbcDeletionProtection :: Lens' RDSDBCluster (Maybe (Val Bool))+rdsdbcDeletionProtection = lens _rDSDBClusterDeletionProtection (\s a -> s { _rDSDBClusterDeletionProtection = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablecloudwatchlogsexports rdsdbcEnableCloudwatchLogsExports :: Lens' RDSDBCluster (Maybe (ValList Text))
library-gen/Stratosphere/Resources/RDSDBInstance.hs view
@@ -29,6 +29,8 @@   , _rDSDBInstanceDBSecurityGroups :: Maybe (ValList Text)   , _rDSDBInstanceDBSnapshotIdentifier :: Maybe (Val Text)   , _rDSDBInstanceDBSubnetGroupName :: Maybe (Val Text)+  , _rDSDBInstanceDeleteAutomatedBackups :: Maybe (Val Bool)+  , _rDSDBInstanceDeletionProtection :: Maybe (Val Bool)   , _rDSDBInstanceDomain :: Maybe (Val Text)   , _rDSDBInstanceDomainIAMRoleName :: Maybe (Val Text)   , _rDSDBInstanceEnableCloudwatchLogsExports :: Maybe (ValList Text)@@ -81,6 +83,8 @@     , fmap (("DBSecurityGroups",) . toJSON) _rDSDBInstanceDBSecurityGroups     , fmap (("DBSnapshotIdentifier",) . toJSON) _rDSDBInstanceDBSnapshotIdentifier     , fmap (("DBSubnetGroupName",) . toJSON) _rDSDBInstanceDBSubnetGroupName+    , fmap (("DeleteAutomatedBackups",) . toJSON . fmap Bool') _rDSDBInstanceDeleteAutomatedBackups+    , fmap (("DeletionProtection",) . toJSON . fmap Bool') _rDSDBInstanceDeletionProtection     , fmap (("Domain",) . toJSON) _rDSDBInstanceDomain     , fmap (("DomainIAMRoleName",) . toJSON) _rDSDBInstanceDomainIAMRoleName     , fmap (("EnableCloudwatchLogsExports",) . toJSON) _rDSDBInstanceEnableCloudwatchLogsExports@@ -132,6 +136,8 @@       (obj .:? "DBSecurityGroups") <*>       (obj .:? "DBSnapshotIdentifier") <*>       (obj .:? "DBSubnetGroupName") <*>+      fmap (fmap (fmap unBool')) (obj .:? "DeleteAutomatedBackups") <*>+      fmap (fmap (fmap unBool')) (obj .:? "DeletionProtection") <*>       (obj .:? "Domain") <*>       (obj .:? "DomainIAMRoleName") <*>       (obj .:? "EnableCloudwatchLogsExports") <*>@@ -186,6 +192,8 @@   , _rDSDBInstanceDBSecurityGroups = Nothing   , _rDSDBInstanceDBSnapshotIdentifier = Nothing   , _rDSDBInstanceDBSubnetGroupName = Nothing+  , _rDSDBInstanceDeleteAutomatedBackups = Nothing+  , _rDSDBInstanceDeletionProtection = Nothing   , _rDSDBInstanceDomain = Nothing   , _rDSDBInstanceDomainIAMRoleName = Nothing   , _rDSDBInstanceEnableCloudwatchLogsExports = Nothing@@ -278,6 +286,14 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsubnetgroupname rdsdbiDBSubnetGroupName :: Lens' RDSDBInstance (Maybe (Val Text)) rdsdbiDBSubnetGroupName = lens _rDSDBInstanceDBSubnetGroupName (\s a -> s { _rDSDBInstanceDBSubnetGroupName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-deleteautomatedbackups+rdsdbiDeleteAutomatedBackups :: Lens' RDSDBInstance (Maybe (Val Bool))+rdsdbiDeleteAutomatedBackups = lens _rDSDBInstanceDeleteAutomatedBackups (\s a -> s { _rDSDBInstanceDeleteAutomatedBackups = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-deletionprotection+rdsdbiDeletionProtection :: Lens' RDSDBInstance (Maybe (Val Bool))+rdsdbiDeletionProtection = lens _rDSDBInstanceDeletionProtection (\s a -> s { _rDSDBInstanceDeletionProtection = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-domain rdsdbiDomain :: Lens' RDSDBInstance (Maybe (Val Text))
+ library-gen/Stratosphere/Resources/Route53ResolverResolverEndpoint.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html++module Stratosphere.Resources.Route53ResolverResolverEndpoint where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.Route53ResolverResolverEndpointIpAddressRequest+import Stratosphere.ResourceProperties.Tag++-- | Full data type definition for Route53ResolverResolverEndpoint. See+-- 'route53ResolverResolverEndpoint' for a more convenient constructor.+data Route53ResolverResolverEndpoint =+  Route53ResolverResolverEndpoint+  { _route53ResolverResolverEndpointDirection :: Val Text+  , _route53ResolverResolverEndpointIpAddresses :: [Route53ResolverResolverEndpointIpAddressRequest]+  , _route53ResolverResolverEndpointName :: Maybe (Val Text)+  , _route53ResolverResolverEndpointSecurityGroupIds :: ValList Text+  , _route53ResolverResolverEndpointTags :: Maybe [Tag]+  } deriving (Show, Eq)++instance ToJSON Route53ResolverResolverEndpoint where+  toJSON Route53ResolverResolverEndpoint{..} =+    object $+    catMaybes+    [ (Just . ("Direction",) . toJSON) _route53ResolverResolverEndpointDirection+    , (Just . ("IpAddresses",) . toJSON) _route53ResolverResolverEndpointIpAddresses+    , fmap (("Name",) . toJSON) _route53ResolverResolverEndpointName+    , (Just . ("SecurityGroupIds",) . toJSON) _route53ResolverResolverEndpointSecurityGroupIds+    , fmap (("Tags",) . toJSON) _route53ResolverResolverEndpointTags+    ]++instance FromJSON Route53ResolverResolverEndpoint where+  parseJSON (Object obj) =+    Route53ResolverResolverEndpoint <$>+      (obj .: "Direction") <*>+      (obj .: "IpAddresses") <*>+      (obj .:? "Name") <*>+      (obj .: "SecurityGroupIds") <*>+      (obj .:? "Tags")+  parseJSON _ = mempty++-- | Constructor for 'Route53ResolverResolverEndpoint' containing required+-- fields as arguments.+route53ResolverResolverEndpoint+  :: Val Text -- ^ 'rrreDirection'+  -> [Route53ResolverResolverEndpointIpAddressRequest] -- ^ 'rrreIpAddresses'+  -> ValList Text -- ^ 'rrreSecurityGroupIds'+  -> Route53ResolverResolverEndpoint+route53ResolverResolverEndpoint directionarg ipAddressesarg securityGroupIdsarg =+  Route53ResolverResolverEndpoint+  { _route53ResolverResolverEndpointDirection = directionarg+  , _route53ResolverResolverEndpointIpAddresses = ipAddressesarg+  , _route53ResolverResolverEndpointName = Nothing+  , _route53ResolverResolverEndpointSecurityGroupIds = securityGroupIdsarg+  , _route53ResolverResolverEndpointTags = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-direction+rrreDirection :: Lens' Route53ResolverResolverEndpoint (Val Text)+rrreDirection = lens _route53ResolverResolverEndpointDirection (\s a -> s { _route53ResolverResolverEndpointDirection = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-ipaddresses+rrreIpAddresses :: Lens' Route53ResolverResolverEndpoint [Route53ResolverResolverEndpointIpAddressRequest]+rrreIpAddresses = lens _route53ResolverResolverEndpointIpAddresses (\s a -> s { _route53ResolverResolverEndpointIpAddresses = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-name+rrreName :: Lens' Route53ResolverResolverEndpoint (Maybe (Val Text))+rrreName = lens _route53ResolverResolverEndpointName (\s a -> s { _route53ResolverResolverEndpointName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-securitygroupids+rrreSecurityGroupIds :: Lens' Route53ResolverResolverEndpoint (ValList Text)+rrreSecurityGroupIds = lens _route53ResolverResolverEndpointSecurityGroupIds (\s a -> s { _route53ResolverResolverEndpointSecurityGroupIds = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-tags+rrreTags :: Lens' Route53ResolverResolverEndpoint (Maybe [Tag])+rrreTags = lens _route53ResolverResolverEndpointTags (\s a -> s { _route53ResolverResolverEndpointTags = a })
+ library-gen/Stratosphere/Resources/Route53ResolverResolverRule.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html++module Stratosphere.Resources.Route53ResolverResolverRule where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.Tag+import Stratosphere.ResourceProperties.Route53ResolverResolverRuleTargetAddress++-- | Full data type definition for Route53ResolverResolverRule. See+-- 'route53ResolverResolverRule' for a more convenient constructor.+data Route53ResolverResolverRule =+  Route53ResolverResolverRule+  { _route53ResolverResolverRuleDomainName :: Val Text+  , _route53ResolverResolverRuleName :: Maybe (Val Text)+  , _route53ResolverResolverRuleResolverEndpointId :: Maybe (Val Text)+  , _route53ResolverResolverRuleRuleType :: Val Text+  , _route53ResolverResolverRuleTags :: Maybe [Tag]+  , _route53ResolverResolverRuleTargetIps :: Maybe [Route53ResolverResolverRuleTargetAddress]+  } deriving (Show, Eq)++instance ToJSON Route53ResolverResolverRule where+  toJSON Route53ResolverResolverRule{..} =+    object $+    catMaybes+    [ (Just . ("DomainName",) . toJSON) _route53ResolverResolverRuleDomainName+    , fmap (("Name",) . toJSON) _route53ResolverResolverRuleName+    , fmap (("ResolverEndpointId",) . toJSON) _route53ResolverResolverRuleResolverEndpointId+    , (Just . ("RuleType",) . toJSON) _route53ResolverResolverRuleRuleType+    , fmap (("Tags",) . toJSON) _route53ResolverResolverRuleTags+    , fmap (("TargetIps",) . toJSON) _route53ResolverResolverRuleTargetIps+    ]++instance FromJSON Route53ResolverResolverRule where+  parseJSON (Object obj) =+    Route53ResolverResolverRule <$>+      (obj .: "DomainName") <*>+      (obj .:? "Name") <*>+      (obj .:? "ResolverEndpointId") <*>+      (obj .: "RuleType") <*>+      (obj .:? "Tags") <*>+      (obj .:? "TargetIps")+  parseJSON _ = mempty++-- | Constructor for 'Route53ResolverResolverRule' containing required fields+-- as arguments.+route53ResolverResolverRule+  :: Val Text -- ^ 'rrrrDomainName'+  -> Val Text -- ^ 'rrrrRuleType'+  -> Route53ResolverResolverRule+route53ResolverResolverRule domainNamearg ruleTypearg =+  Route53ResolverResolverRule+  { _route53ResolverResolverRuleDomainName = domainNamearg+  , _route53ResolverResolverRuleName = Nothing+  , _route53ResolverResolverRuleResolverEndpointId = Nothing+  , _route53ResolverResolverRuleRuleType = ruleTypearg+  , _route53ResolverResolverRuleTags = Nothing+  , _route53ResolverResolverRuleTargetIps = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-domainname+rrrrDomainName :: Lens' Route53ResolverResolverRule (Val Text)+rrrrDomainName = lens _route53ResolverResolverRuleDomainName (\s a -> s { _route53ResolverResolverRuleDomainName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-name+rrrrName :: Lens' Route53ResolverResolverRule (Maybe (Val Text))+rrrrName = lens _route53ResolverResolverRuleName (\s a -> s { _route53ResolverResolverRuleName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-resolverendpointid+rrrrResolverEndpointId :: Lens' Route53ResolverResolverRule (Maybe (Val Text))+rrrrResolverEndpointId = lens _route53ResolverResolverRuleResolverEndpointId (\s a -> s { _route53ResolverResolverRuleResolverEndpointId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-ruletype+rrrrRuleType :: Lens' Route53ResolverResolverRule (Val Text)+rrrrRuleType = lens _route53ResolverResolverRuleRuleType (\s a -> s { _route53ResolverResolverRuleRuleType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-tags+rrrrTags :: Lens' Route53ResolverResolverRule (Maybe [Tag])+rrrrTags = lens _route53ResolverResolverRuleTags (\s a -> s { _route53ResolverResolverRuleTags = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-targetips+rrrrTargetIps :: Lens' Route53ResolverResolverRule (Maybe [Route53ResolverResolverRuleTargetAddress])+rrrrTargetIps = lens _route53ResolverResolverRuleTargetIps (\s a -> s { _route53ResolverResolverRuleTargetIps = a })
library-gen/Stratosphere/Resources/S3Bucket.hs view
@@ -17,6 +17,7 @@ import Stratosphere.ResourceProperties.S3BucketLoggingConfiguration import Stratosphere.ResourceProperties.S3BucketMetricsConfiguration import Stratosphere.ResourceProperties.S3BucketNotificationConfiguration+import Stratosphere.ResourceProperties.S3BucketPublicAccessBlockConfiguration import Stratosphere.ResourceProperties.S3BucketReplicationConfiguration import Stratosphere.ResourceProperties.Tag import Stratosphere.ResourceProperties.S3BucketVersioningConfiguration@@ -37,6 +38,7 @@   , _s3BucketLoggingConfiguration :: Maybe S3BucketLoggingConfiguration   , _s3BucketMetricsConfigurations :: Maybe [S3BucketMetricsConfiguration]   , _s3BucketNotificationConfiguration :: Maybe S3BucketNotificationConfiguration+  , _s3BucketPublicAccessBlockConfiguration :: Maybe S3BucketPublicAccessBlockConfiguration   , _s3BucketReplicationConfiguration :: Maybe S3BucketReplicationConfiguration   , _s3BucketTags :: Maybe [Tag]   , _s3BucketVersioningConfiguration :: Maybe S3BucketVersioningConfiguration@@ -58,6 +60,7 @@     , fmap (("LoggingConfiguration",) . toJSON) _s3BucketLoggingConfiguration     , fmap (("MetricsConfigurations",) . toJSON) _s3BucketMetricsConfigurations     , fmap (("NotificationConfiguration",) . toJSON) _s3BucketNotificationConfiguration+    , fmap (("PublicAccessBlockConfiguration",) . toJSON) _s3BucketPublicAccessBlockConfiguration     , fmap (("ReplicationConfiguration",) . toJSON) _s3BucketReplicationConfiguration     , fmap (("Tags",) . toJSON) _s3BucketTags     , fmap (("VersioningConfiguration",) . toJSON) _s3BucketVersioningConfiguration@@ -78,6 +81,7 @@       (obj .:? "LoggingConfiguration") <*>       (obj .:? "MetricsConfigurations") <*>       (obj .:? "NotificationConfiguration") <*>+      (obj .:? "PublicAccessBlockConfiguration") <*>       (obj .:? "ReplicationConfiguration") <*>       (obj .:? "Tags") <*>       (obj .:? "VersioningConfiguration") <*>@@ -100,6 +104,7 @@   , _s3BucketLoggingConfiguration = Nothing   , _s3BucketMetricsConfigurations = Nothing   , _s3BucketNotificationConfiguration = Nothing+  , _s3BucketPublicAccessBlockConfiguration = Nothing   , _s3BucketReplicationConfiguration = Nothing   , _s3BucketTags = Nothing   , _s3BucketVersioningConfiguration = Nothing@@ -149,6 +154,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification sbNotificationConfiguration :: Lens' S3Bucket (Maybe S3BucketNotificationConfiguration) sbNotificationConfiguration = lens _s3BucketNotificationConfiguration (\s a -> s { _s3BucketNotificationConfiguration = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration+sbPublicAccessBlockConfiguration :: Lens' S3Bucket (Maybe S3BucketPublicAccessBlockConfiguration)+sbPublicAccessBlockConfiguration = lens _s3BucketPublicAccessBlockConfiguration (\s a -> s { _s3BucketPublicAccessBlockConfiguration = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration sbReplicationConfiguration :: Lens' S3Bucket (Maybe S3BucketReplicationConfiguration)
library-gen/Stratosphere/Resources/SNSTopic.hs view
@@ -14,6 +14,7 @@ data SNSTopic =   SNSTopic   { _sNSTopicDisplayName :: Maybe (Val Text)+  , _sNSTopicKmsMasterKeyId :: Maybe (Val Text)   , _sNSTopicSubscription :: Maybe [SNSTopicSubscription]   , _sNSTopicTopicName :: Maybe (Val Text)   } deriving (Show, Eq)@@ -23,6 +24,7 @@     object $     catMaybes     [ fmap (("DisplayName",) . toJSON) _sNSTopicDisplayName+    , fmap (("KmsMasterKeyId",) . toJSON) _sNSTopicKmsMasterKeyId     , fmap (("Subscription",) . toJSON) _sNSTopicSubscription     , fmap (("TopicName",) . toJSON) _sNSTopicTopicName     ]@@ -31,6 +33,7 @@   parseJSON (Object obj) =     SNSTopic <$>       (obj .:? "DisplayName") <*>+      (obj .:? "KmsMasterKeyId") <*>       (obj .:? "Subscription") <*>       (obj .:? "TopicName")   parseJSON _ = mempty@@ -41,6 +44,7 @@ snsTopic  =   SNSTopic   { _sNSTopicDisplayName = Nothing+  , _sNSTopicKmsMasterKeyId = Nothing   , _sNSTopicSubscription = Nothing   , _sNSTopicTopicName = Nothing   }@@ -48,6 +52,10 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname snstDisplayName :: Lens' SNSTopic (Maybe (Val Text)) snstDisplayName = lens _sNSTopicDisplayName (\s a -> s { _sNSTopicDisplayName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid+snstKmsMasterKeyId :: Lens' SNSTopic (Maybe (Val Text))+snstKmsMasterKeyId = lens _sNSTopicKmsMasterKeyId (\s a -> s { _sNSTopicKmsMasterKeyId = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription snstSubscription :: Lens' SNSTopic (Maybe [SNSTopicSubscription])
library-gen/Stratosphere/Resources/ServiceDiscoveryService.hs view
@@ -16,10 +16,11 @@ data ServiceDiscoveryService =   ServiceDiscoveryService   { _serviceDiscoveryServiceDescription :: Maybe (Val Text)-  , _serviceDiscoveryServiceDnsConfig :: ServiceDiscoveryServiceDnsConfig+  , _serviceDiscoveryServiceDnsConfig :: Maybe ServiceDiscoveryServiceDnsConfig   , _serviceDiscoveryServiceHealthCheckConfig :: Maybe ServiceDiscoveryServiceHealthCheckConfig   , _serviceDiscoveryServiceHealthCheckCustomConfig :: Maybe ServiceDiscoveryServiceHealthCheckCustomConfig   , _serviceDiscoveryServiceName :: Maybe (Val Text)+  , _serviceDiscoveryServiceNamespaceId :: Maybe (Val Text)   } deriving (Show, Eq)  instance ToJSON ServiceDiscoveryService where@@ -27,34 +28,36 @@     object $     catMaybes     [ fmap (("Description",) . toJSON) _serviceDiscoveryServiceDescription-    , (Just . ("DnsConfig",) . toJSON) _serviceDiscoveryServiceDnsConfig+    , fmap (("DnsConfig",) . toJSON) _serviceDiscoveryServiceDnsConfig     , fmap (("HealthCheckConfig",) . toJSON) _serviceDiscoveryServiceHealthCheckConfig     , fmap (("HealthCheckCustomConfig",) . toJSON) _serviceDiscoveryServiceHealthCheckCustomConfig     , fmap (("Name",) . toJSON) _serviceDiscoveryServiceName+    , fmap (("NamespaceId",) . toJSON) _serviceDiscoveryServiceNamespaceId     ]  instance FromJSON ServiceDiscoveryService where   parseJSON (Object obj) =     ServiceDiscoveryService <$>       (obj .:? "Description") <*>-      (obj .: "DnsConfig") <*>+      (obj .:? "DnsConfig") <*>       (obj .:? "HealthCheckConfig") <*>       (obj .:? "HealthCheckCustomConfig") <*>-      (obj .:? "Name")+      (obj .:? "Name") <*>+      (obj .:? "NamespaceId")   parseJSON _ = mempty  -- | Constructor for 'ServiceDiscoveryService' containing required fields as -- arguments. serviceDiscoveryService-  :: ServiceDiscoveryServiceDnsConfig -- ^ 'sdsDnsConfig'-  -> ServiceDiscoveryService-serviceDiscoveryService dnsConfigarg =+  :: ServiceDiscoveryService+serviceDiscoveryService  =   ServiceDiscoveryService   { _serviceDiscoveryServiceDescription = Nothing-  , _serviceDiscoveryServiceDnsConfig = dnsConfigarg+  , _serviceDiscoveryServiceDnsConfig = Nothing   , _serviceDiscoveryServiceHealthCheckConfig = Nothing   , _serviceDiscoveryServiceHealthCheckCustomConfig = Nothing   , _serviceDiscoveryServiceName = Nothing+  , _serviceDiscoveryServiceNamespaceId = Nothing   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-description@@ -62,7 +65,7 @@ sdsDescription = lens _serviceDiscoveryServiceDescription (\s a -> s { _serviceDiscoveryServiceDescription = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-dnsconfig-sdsDnsConfig :: Lens' ServiceDiscoveryService ServiceDiscoveryServiceDnsConfig+sdsDnsConfig :: Lens' ServiceDiscoveryService (Maybe ServiceDiscoveryServiceDnsConfig) sdsDnsConfig = lens _serviceDiscoveryServiceDnsConfig (\s a -> s { _serviceDiscoveryServiceDnsConfig = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-healthcheckconfig@@ -76,3 +79,7 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-name sdsName :: Lens' ServiceDiscoveryService (Maybe (Val Text)) sdsName = lens _serviceDiscoveryServiceName (\s a -> s { _serviceDiscoveryServiceName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-namespaceid+sdsNamespaceId :: Lens' ServiceDiscoveryService (Maybe (Val Text))+sdsNamespaceId = lens _serviceDiscoveryServiceNamespaceId (\s a -> s { _serviceDiscoveryServiceNamespaceId = a })
stratosphere.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 92866fa270bc8da0e6aa6c55a2cc38a2ba968df82449cb833cdf7a795b14b6e7+-- hash: c6be8594b6af4840f4dfb0d537a8b728fce2c167abd197d5f721b772d6db9350  name:           stratosphere-version:        0.27.0+version:        0.28.0 synopsis:       EDSL for AWS CloudFormation description:    EDSL for AWS CloudFormation category:       AWS, Cloud@@ -88,16 +88,28 @@       Stratosphere.ResourceProperties.AppStreamStackApplicationSettings       Stratosphere.ResourceProperties.AppStreamStackStorageConnector       Stratosphere.ResourceProperties.AppStreamStackUserSetting+      Stratosphere.ResourceProperties.AppSyncDataSourceAuthorizationConfig+      Stratosphere.ResourceProperties.AppSyncDataSourceAwsIamConfig       Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig       Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig       Stratosphere.ResourceProperties.AppSyncDataSourceHttpConfig       Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig+      Stratosphere.ResourceProperties.AppSyncDataSourceRdsHttpEndpointConfig+      Stratosphere.ResourceProperties.AppSyncDataSourceRelationalDatabaseConfig       Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig       Stratosphere.ResourceProperties.AppSyncGraphQLApiOpenIDConnectConfig       Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig+      Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig+      Stratosphere.ResourceProperties.ASKSkillAuthenticationConfiguration+      Stratosphere.ResourceProperties.ASKSkillOverrides+      Stratosphere.ResourceProperties.ASKSkillSkillPackage+      Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupInstancesDistribution+      Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplate+      Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateOverrides       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection+      Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMixedInstancesPolicy       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupTagProperty       Stratosphere.ResourceProperties.AutoScalingLaunchConfigurationBlockDevice@@ -117,9 +129,12 @@       Stratosphere.ResourceProperties.AutoScalingScalingPolicyStepAdjustment       Stratosphere.ResourceProperties.AutoScalingScalingPolicyTargetTrackingConfiguration       Stratosphere.ResourceProperties.BatchComputeEnvironmentComputeResources+      Stratosphere.ResourceProperties.BatchComputeEnvironmentLaunchTemplateSpecification       Stratosphere.ResourceProperties.BatchJobDefinitionContainerProperties       Stratosphere.ResourceProperties.BatchJobDefinitionEnvironment       Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints+      Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties+      Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty       Stratosphere.ResourceProperties.BatchJobDefinitionRetryStrategy       Stratosphere.ResourceProperties.BatchJobDefinitionTimeout       Stratosphere.ResourceProperties.BatchJobDefinitionUlimit@@ -195,6 +210,7 @@       Stratosphere.ResourceProperties.CodePipelinePipelineActionDeclaration       Stratosphere.ResourceProperties.CodePipelinePipelineActionTypeId       Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStore+      Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStoreMap       Stratosphere.ResourceProperties.CodePipelinePipelineBlockerDeclaration       Stratosphere.ResourceProperties.CodePipelinePipelineEncryptionKey       Stratosphere.ResourceProperties.CodePipelinePipelineInputArtifact@@ -254,6 +270,14 @@       Stratosphere.ResourceProperties.DynamoDBTableSSESpecification       Stratosphere.ResourceProperties.DynamoDBTableStreamSpecification       Stratosphere.ResourceProperties.DynamoDBTableTimeToLiveSpecification+      Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateConfigRequest+      Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateOverridesRequest+      Stratosphere.ResourceProperties.EC2EC2FleetFleetLaunchTemplateSpecificationRequest+      Stratosphere.ResourceProperties.EC2EC2FleetOnDemandOptionsRequest+      Stratosphere.ResourceProperties.EC2EC2FleetSpotOptionsRequest+      Stratosphere.ResourceProperties.EC2EC2FleetTagRequest+      Stratosphere.ResourceProperties.EC2EC2FleetTagSpecification+      Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest       Stratosphere.ResourceProperties.EC2InstanceAssociationParameter       Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping       Stratosphere.ResourceProperties.EC2InstanceCreditSpecification@@ -354,9 +378,17 @@       Stratosphere.ResourceProperties.ElasticLoadBalancingLoadBalancerListeners       Stratosphere.ResourceProperties.ElasticLoadBalancingLoadBalancerPolicies       Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAction+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerAuthenticateOidcConfig       Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerCertificate       Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerCertificateCertificate+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerFixedResponseConfig+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRedirectConfig       Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAction+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleFixedResponseConfig+      Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleRedirectConfig       Stratosphere.ResourceProperties.ElasticLoadBalancingV2ListenerRuleRuleCondition       Stratosphere.ResourceProperties.ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute       Stratosphere.ResourceProperties.ElasticLoadBalancingV2LoadBalancerSubnetMapping@@ -375,12 +407,14 @@       Stratosphere.ResourceProperties.EMRClusterConfiguration       Stratosphere.ResourceProperties.EMRClusterEbsBlockDeviceConfig       Stratosphere.ResourceProperties.EMRClusterEbsConfiguration+      Stratosphere.ResourceProperties.EMRClusterHadoopJarStepConfig       Stratosphere.ResourceProperties.EMRClusterInstanceFleetConfig       Stratosphere.ResourceProperties.EMRClusterInstanceFleetProvisioningSpecifications       Stratosphere.ResourceProperties.EMRClusterInstanceGroupConfig       Stratosphere.ResourceProperties.EMRClusterInstanceTypeConfig       Stratosphere.ResourceProperties.EMRClusterJobFlowInstancesConfig       Stratosphere.ResourceProperties.EMRClusterKerberosAttributes+      Stratosphere.ResourceProperties.EMRClusterKeyValue       Stratosphere.ResourceProperties.EMRClusterMetricDimension       Stratosphere.ResourceProperties.EMRClusterPlacementType       Stratosphere.ResourceProperties.EMRClusterScalingAction@@ -390,6 +424,7 @@       Stratosphere.ResourceProperties.EMRClusterScriptBootstrapActionConfig       Stratosphere.ResourceProperties.EMRClusterSimpleScalingPolicyConfiguration       Stratosphere.ResourceProperties.EMRClusterSpotProvisioningSpecification+      Stratosphere.ResourceProperties.EMRClusterStepConfig       Stratosphere.ResourceProperties.EMRClusterVolumeSpecification       Stratosphere.ResourceProperties.EMRInstanceFleetConfigConfiguration       Stratosphere.ResourceProperties.EMRInstanceFleetConfigEbsBlockDeviceConfig@@ -566,6 +601,8 @@       Stratosphere.ResourceProperties.Route53RecordSetGroupAliasTarget       Stratosphere.ResourceProperties.Route53RecordSetGroupGeoLocation       Stratosphere.ResourceProperties.Route53RecordSetGroupRecordSet+      Stratosphere.ResourceProperties.Route53ResolverResolverEndpointIpAddressRequest+      Stratosphere.ResourceProperties.Route53ResolverResolverRuleTargetAddress       Stratosphere.ResourceProperties.S3BucketAbortIncompleteMultipartUpload       Stratosphere.ResourceProperties.S3BucketAccelerateConfiguration       Stratosphere.ResourceProperties.S3BucketAccessControlTranslation@@ -585,6 +622,7 @@       Stratosphere.ResourceProperties.S3BucketNoncurrentVersionTransition       Stratosphere.ResourceProperties.S3BucketNotificationConfiguration       Stratosphere.ResourceProperties.S3BucketNotificationFilter+      Stratosphere.ResourceProperties.S3BucketPublicAccessBlockConfiguration       Stratosphere.ResourceProperties.S3BucketQueueConfiguration       Stratosphere.ResourceProperties.S3BucketRedirectAllRequestsTo       Stratosphere.ResourceProperties.S3BucketRedirectRule@@ -710,9 +748,11 @@       Stratosphere.Resources.AppStreamUser       Stratosphere.Resources.AppSyncApiKey       Stratosphere.Resources.AppSyncDataSource+      Stratosphere.Resources.AppSyncFunctionConfiguration       Stratosphere.Resources.AppSyncGraphQLApi       Stratosphere.Resources.AppSyncGraphQLSchema       Stratosphere.Resources.AppSyncResolver+      Stratosphere.Resources.ASKSkill       Stratosphere.Resources.AthenaNamedQuery       Stratosphere.Resources.AutoScalingAutoScalingGroup       Stratosphere.Resources.AutoScalingLaunchConfiguration@@ -727,6 +767,7 @@       Stratosphere.Resources.CertificateManagerCertificate       Stratosphere.Resources.Cloud9EnvironmentEC2       Stratosphere.Resources.CloudFormationCustomResource+      Stratosphere.Resources.CloudFormationMacro       Stratosphere.Resources.CloudFormationStack       Stratosphere.Resources.CloudFormationWaitCondition       Stratosphere.Resources.CloudFormationWaitConditionHandle@@ -772,6 +813,7 @@       Stratosphere.Resources.DynamoDBTable       Stratosphere.Resources.EC2CustomerGateway       Stratosphere.Resources.EC2DHCPOptions+      Stratosphere.Resources.EC2EC2Fleet       Stratosphere.Resources.EC2EgressOnlyInternetGateway       Stratosphere.Resources.EC2EIP       Stratosphere.Resources.EC2EIPAssociation@@ -887,6 +929,7 @@       Stratosphere.Resources.KinesisAnalyticsApplicationReferenceDataSource       Stratosphere.Resources.KinesisFirehoseDeliveryStream       Stratosphere.Resources.KinesisStream+      Stratosphere.Resources.KinesisStreamConsumer       Stratosphere.Resources.KMSAlias       Stratosphere.Resources.KMSKey       Stratosphere.Resources.LambdaAlias@@ -929,6 +972,8 @@       Stratosphere.Resources.Route53HostedZone       Stratosphere.Resources.Route53RecordSet       Stratosphere.Resources.Route53RecordSetGroup+      Stratosphere.Resources.Route53ResolverResolverEndpoint+      Stratosphere.Resources.Route53ResolverResolverRule       Stratosphere.Resources.S3Bucket       Stratosphere.Resources.S3BucketPolicy       Stratosphere.Resources.SageMakerEndpoint@@ -1010,29 +1055,6 @@     , template-haskell >=2.0     , text >=1.1     , unordered-containers >=0.2-  default-language: Haskell2010--executable apigw-lambda-dynamodb-  main-is: apigw-lambda-dynamodb.hs-  other-modules:-      Paths_stratosphere-  hs-source-dirs:-      examples-  ghc-options: -Wall-  build-depends:-      aeson >=0.11-    , aeson-pretty >=0.8-    , base >=4.8 && <5-    , bytestring-    , containers-    , hashable-    , lens >=4.5-    , stratosphere-    , template-haskell >=2.0-    , text >=1.1-    , unordered-containers >=0.2-  if flag(library-only)-    buildable: False   default-language: Haskell2010  executable auto-scaling-group