packages feed

stratosphere 0.20.0 → 0.21.0

raw patch · 34 files changed

+2030/−10 lines, 34 files

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ # Change Log +## 0.21.0++* Update resource specification document to some new unspecified version.+* Add new `nodejs8.10` to lambda+ ## 0.20.0  * Fix name of `AutoScalingRollingUpdatePolicy` `SuspendProcesses` parameter
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncDataSourceDynamoDBConfig. See+-- 'appSyncDataSourceDynamoDBConfig' for a more convenient constructor.+data AppSyncDataSourceDynamoDBConfig =+  AppSyncDataSourceDynamoDBConfig+  { _appSyncDataSourceDynamoDBConfigAwsRegion :: Val Text+  , _appSyncDataSourceDynamoDBConfigTableName :: Val Text+  , _appSyncDataSourceDynamoDBConfigUseCallerCredentials :: Maybe (Val Bool)+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceDynamoDBConfig where+  toJSON AppSyncDataSourceDynamoDBConfig{..} =+    object $+    catMaybes+    [ (Just . ("AwsRegion",) . toJSON) _appSyncDataSourceDynamoDBConfigAwsRegion+    , (Just . ("TableName",) . toJSON) _appSyncDataSourceDynamoDBConfigTableName+    , fmap (("UseCallerCredentials",) . toJSON . fmap Bool') _appSyncDataSourceDynamoDBConfigUseCallerCredentials+    ]++instance FromJSON AppSyncDataSourceDynamoDBConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceDynamoDBConfig <$>+      (obj .: "AwsRegion") <*>+      (obj .: "TableName") <*>+      fmap (fmap (fmap unBool')) (obj .:? "UseCallerCredentials")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceDynamoDBConfig' containing required+-- fields as arguments.+appSyncDataSourceDynamoDBConfig+  :: Val Text -- ^ 'asdsddbcAwsRegion'+  -> Val Text -- ^ 'asdsddbcTableName'+  -> AppSyncDataSourceDynamoDBConfig+appSyncDataSourceDynamoDBConfig awsRegionarg tableNamearg =+  AppSyncDataSourceDynamoDBConfig+  { _appSyncDataSourceDynamoDBConfigAwsRegion = awsRegionarg+  , _appSyncDataSourceDynamoDBConfigTableName = tableNamearg+  , _appSyncDataSourceDynamoDBConfigUseCallerCredentials = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion+asdsddbcAwsRegion :: Lens' AppSyncDataSourceDynamoDBConfig (Val Text)+asdsddbcAwsRegion = lens _appSyncDataSourceDynamoDBConfigAwsRegion (\s a -> s { _appSyncDataSourceDynamoDBConfigAwsRegion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename+asdsddbcTableName :: Lens' AppSyncDataSourceDynamoDBConfig (Val Text)+asdsddbcTableName = lens _appSyncDataSourceDynamoDBConfigTableName (\s a -> s { _appSyncDataSourceDynamoDBConfigTableName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials+asdsddbcUseCallerCredentials :: Lens' AppSyncDataSourceDynamoDBConfig (Maybe (Val Bool))+asdsddbcUseCallerCredentials = lens _appSyncDataSourceDynamoDBConfigUseCallerCredentials (\s a -> s { _appSyncDataSourceDynamoDBConfigUseCallerCredentials = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceElasticsearchConfig.hs view
@@ -0,0 +1,53 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncDataSourceElasticsearchConfig. See+-- 'appSyncDataSourceElasticsearchConfig' for a more convenient constructor.+data AppSyncDataSourceElasticsearchConfig =+  AppSyncDataSourceElasticsearchConfig+  { _appSyncDataSourceElasticsearchConfigAwsRegion :: Val Text+  , _appSyncDataSourceElasticsearchConfigEndpoint :: Val Text+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceElasticsearchConfig where+  toJSON AppSyncDataSourceElasticsearchConfig{..} =+    object $+    catMaybes+    [ (Just . ("AwsRegion",) . toJSON) _appSyncDataSourceElasticsearchConfigAwsRegion+    , (Just . ("Endpoint",) . toJSON) _appSyncDataSourceElasticsearchConfigEndpoint+    ]++instance FromJSON AppSyncDataSourceElasticsearchConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceElasticsearchConfig <$>+      (obj .: "AwsRegion") <*>+      (obj .: "Endpoint")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceElasticsearchConfig' containing+-- required fields as arguments.+appSyncDataSourceElasticsearchConfig+  :: Val Text -- ^ 'asdsecAwsRegion'+  -> Val Text -- ^ 'asdsecEndpoint'+  -> AppSyncDataSourceElasticsearchConfig+appSyncDataSourceElasticsearchConfig awsRegionarg endpointarg =+  AppSyncDataSourceElasticsearchConfig+  { _appSyncDataSourceElasticsearchConfigAwsRegion = awsRegionarg+  , _appSyncDataSourceElasticsearchConfigEndpoint = endpointarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html#cfn-appsync-datasource-elasticsearchconfig-awsregion+asdsecAwsRegion :: Lens' AppSyncDataSourceElasticsearchConfig (Val Text)+asdsecAwsRegion = lens _appSyncDataSourceElasticsearchConfigAwsRegion (\s a -> s { _appSyncDataSourceElasticsearchConfigAwsRegion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html#cfn-appsync-datasource-elasticsearchconfig-endpoint+asdsecEndpoint :: Lens' AppSyncDataSourceElasticsearchConfig (Val Text)+asdsecEndpoint = lens _appSyncDataSourceElasticsearchConfigEndpoint (\s a -> s { _appSyncDataSourceElasticsearchConfigEndpoint = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceLambdaConfig.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html++module Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncDataSourceLambdaConfig. See+-- 'appSyncDataSourceLambdaConfig' for a more convenient constructor.+data AppSyncDataSourceLambdaConfig =+  AppSyncDataSourceLambdaConfig+  { _appSyncDataSourceLambdaConfigLambdaFunctionArn :: Val Text+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSourceLambdaConfig where+  toJSON AppSyncDataSourceLambdaConfig{..} =+    object $+    catMaybes+    [ (Just . ("LambdaFunctionArn",) . toJSON) _appSyncDataSourceLambdaConfigLambdaFunctionArn+    ]++instance FromJSON AppSyncDataSourceLambdaConfig where+  parseJSON (Object obj) =+    AppSyncDataSourceLambdaConfig <$>+      (obj .: "LambdaFunctionArn")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSourceLambdaConfig' containing required+-- fields as arguments.+appSyncDataSourceLambdaConfig+  :: Val Text -- ^ 'asdslcLambdaFunctionArn'+  -> AppSyncDataSourceLambdaConfig+appSyncDataSourceLambdaConfig lambdaFunctionArnarg =+  AppSyncDataSourceLambdaConfig+  { _appSyncDataSourceLambdaConfigLambdaFunctionArn = lambdaFunctionArnarg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn+asdslcLambdaFunctionArn :: Lens' AppSyncDataSourceLambdaConfig (Val Text)+asdslcLambdaFunctionArn = lens _appSyncDataSourceLambdaConfigLambdaFunctionArn (\s a -> s { _appSyncDataSourceLambdaConfigLambdaFunctionArn = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiLogConfig.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html++module Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncGraphQLApiLogConfig. See+-- 'appSyncGraphQLApiLogConfig' for a more convenient constructor.+data AppSyncGraphQLApiLogConfig =+  AppSyncGraphQLApiLogConfig+  { _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn :: Maybe (Val Text)+  , _appSyncGraphQLApiLogConfigFieldLogLevel :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncGraphQLApiLogConfig where+  toJSON AppSyncGraphQLApiLogConfig{..} =+    object $+    catMaybes+    [ fmap (("CloudWatchLogsRoleArn",) . toJSON) _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn+    , fmap (("FieldLogLevel",) . toJSON) _appSyncGraphQLApiLogConfigFieldLogLevel+    ]++instance FromJSON AppSyncGraphQLApiLogConfig where+  parseJSON (Object obj) =+    AppSyncGraphQLApiLogConfig <$>+      (obj .:? "CloudWatchLogsRoleArn") <*>+      (obj .:? "FieldLogLevel")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncGraphQLApiLogConfig' containing required fields+-- as arguments.+appSyncGraphQLApiLogConfig+  :: AppSyncGraphQLApiLogConfig+appSyncGraphQLApiLogConfig  =+  AppSyncGraphQLApiLogConfig+  { _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn = Nothing+  , _appSyncGraphQLApiLogConfigFieldLogLevel = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-cloudwatchlogsrolearn+asgqlalcCloudWatchLogsRoleArn :: Lens' AppSyncGraphQLApiLogConfig (Maybe (Val Text))+asgqlalcCloudWatchLogsRoleArn = lens _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn (\s a -> s { _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-fieldloglevel+asgqlalcFieldLogLevel :: Lens' AppSyncGraphQLApiLogConfig (Maybe (Val Text))+asgqlalcFieldLogLevel = lens _appSyncGraphQLApiLogConfigFieldLogLevel (\s a -> s { _appSyncGraphQLApiLogConfigFieldLogLevel = a })
+ library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiUserPoolConfig.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html++module Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncGraphQLApiUserPoolConfig. See+-- 'appSyncGraphQLApiUserPoolConfig' for a more convenient constructor.+data AppSyncGraphQLApiUserPoolConfig =+  AppSyncGraphQLApiUserPoolConfig+  { _appSyncGraphQLApiUserPoolConfigAppIdClientRegex :: Maybe (Val Text)+  , _appSyncGraphQLApiUserPoolConfigAwsRegion :: Maybe (Val Text)+  , _appSyncGraphQLApiUserPoolConfigDefaultAction :: Maybe (Val Text)+  , _appSyncGraphQLApiUserPoolConfigUserPoolId :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncGraphQLApiUserPoolConfig where+  toJSON AppSyncGraphQLApiUserPoolConfig{..} =+    object $+    catMaybes+    [ fmap (("AppIdClientRegex",) . toJSON) _appSyncGraphQLApiUserPoolConfigAppIdClientRegex+    , fmap (("AwsRegion",) . toJSON) _appSyncGraphQLApiUserPoolConfigAwsRegion+    , fmap (("DefaultAction",) . toJSON) _appSyncGraphQLApiUserPoolConfigDefaultAction+    , fmap (("UserPoolId",) . toJSON) _appSyncGraphQLApiUserPoolConfigUserPoolId+    ]++instance FromJSON AppSyncGraphQLApiUserPoolConfig where+  parseJSON (Object obj) =+    AppSyncGraphQLApiUserPoolConfig <$>+      (obj .:? "AppIdClientRegex") <*>+      (obj .:? "AwsRegion") <*>+      (obj .:? "DefaultAction") <*>+      (obj .:? "UserPoolId")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncGraphQLApiUserPoolConfig' containing required+-- fields as arguments.+appSyncGraphQLApiUserPoolConfig+  :: AppSyncGraphQLApiUserPoolConfig+appSyncGraphQLApiUserPoolConfig  =+  AppSyncGraphQLApiUserPoolConfig+  { _appSyncGraphQLApiUserPoolConfigAppIdClientRegex = Nothing+  , _appSyncGraphQLApiUserPoolConfigAwsRegion = Nothing+  , _appSyncGraphQLApiUserPoolConfigDefaultAction = Nothing+  , _appSyncGraphQLApiUserPoolConfigUserPoolId = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-appidclientregex+asgqlaupcAppIdClientRegex :: Lens' AppSyncGraphQLApiUserPoolConfig (Maybe (Val Text))+asgqlaupcAppIdClientRegex = lens _appSyncGraphQLApiUserPoolConfigAppIdClientRegex (\s a -> s { _appSyncGraphQLApiUserPoolConfigAppIdClientRegex = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-awsregion+asgqlaupcAwsRegion :: Lens' AppSyncGraphQLApiUserPoolConfig (Maybe (Val Text))+asgqlaupcAwsRegion = lens _appSyncGraphQLApiUserPoolConfigAwsRegion (\s a -> s { _appSyncGraphQLApiUserPoolConfigAwsRegion = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-defaultaction+asgqlaupcDefaultAction :: Lens' AppSyncGraphQLApiUserPoolConfig (Maybe (Val Text))+asgqlaupcDefaultAction = lens _appSyncGraphQLApiUserPoolConfigDefaultAction (\s a -> s { _appSyncGraphQLApiUserPoolConfigDefaultAction = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-userpoolid+asgqlaupcUserPoolId :: Lens' AppSyncGraphQLApiUserPoolConfig (Maybe (Val Text))+asgqlaupcUserPoolId = lens _appSyncGraphQLApiUserPoolConfigUserPoolId (\s a -> s { _appSyncGraphQLApiUserPoolConfigUserPoolId = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateBlockDeviceMapping.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateBlockDeviceMapping where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2LaunchTemplateEbs++-- | Full data type definition for EC2LaunchTemplateBlockDeviceMapping. See+-- 'ec2LaunchTemplateBlockDeviceMapping' for a more convenient constructor.+data EC2LaunchTemplateBlockDeviceMapping =+  EC2LaunchTemplateBlockDeviceMapping+  { _eC2LaunchTemplateBlockDeviceMappingDeviceName :: Maybe (Val Text)+  , _eC2LaunchTemplateBlockDeviceMappingEbs :: Maybe EC2LaunchTemplateEbs+  , _eC2LaunchTemplateBlockDeviceMappingNoDevice :: Maybe (Val Text)+  , _eC2LaunchTemplateBlockDeviceMappingVirtualName :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateBlockDeviceMapping where+  toJSON EC2LaunchTemplateBlockDeviceMapping{..} =+    object $+    catMaybes+    [ fmap (("DeviceName",) . toJSON) _eC2LaunchTemplateBlockDeviceMappingDeviceName+    , fmap (("Ebs",) . toJSON) _eC2LaunchTemplateBlockDeviceMappingEbs+    , fmap (("NoDevice",) . toJSON) _eC2LaunchTemplateBlockDeviceMappingNoDevice+    , fmap (("VirtualName",) . toJSON) _eC2LaunchTemplateBlockDeviceMappingVirtualName+    ]++instance FromJSON EC2LaunchTemplateBlockDeviceMapping where+  parseJSON (Object obj) =+    EC2LaunchTemplateBlockDeviceMapping <$>+      (obj .:? "DeviceName") <*>+      (obj .:? "Ebs") <*>+      (obj .:? "NoDevice") <*>+      (obj .:? "VirtualName")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateBlockDeviceMapping' containing required+-- fields as arguments.+ec2LaunchTemplateBlockDeviceMapping+  :: EC2LaunchTemplateBlockDeviceMapping+ec2LaunchTemplateBlockDeviceMapping  =+  EC2LaunchTemplateBlockDeviceMapping+  { _eC2LaunchTemplateBlockDeviceMappingDeviceName = Nothing+  , _eC2LaunchTemplateBlockDeviceMappingEbs = Nothing+  , _eC2LaunchTemplateBlockDeviceMappingNoDevice = Nothing+  , _eC2LaunchTemplateBlockDeviceMappingVirtualName = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-devicename+ecltbdmDeviceName :: Lens' EC2LaunchTemplateBlockDeviceMapping (Maybe (Val Text))+ecltbdmDeviceName = lens _eC2LaunchTemplateBlockDeviceMappingDeviceName (\s a -> s { _eC2LaunchTemplateBlockDeviceMappingDeviceName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs+ecltbdmEbs :: Lens' EC2LaunchTemplateBlockDeviceMapping (Maybe EC2LaunchTemplateEbs)+ecltbdmEbs = lens _eC2LaunchTemplateBlockDeviceMappingEbs (\s a -> s { _eC2LaunchTemplateBlockDeviceMappingEbs = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-nodevice+ecltbdmNoDevice :: Lens' EC2LaunchTemplateBlockDeviceMapping (Maybe (Val Text))+ecltbdmNoDevice = lens _eC2LaunchTemplateBlockDeviceMappingNoDevice (\s a -> s { _eC2LaunchTemplateBlockDeviceMappingNoDevice = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-virtualname+ecltbdmVirtualName :: Lens' EC2LaunchTemplateBlockDeviceMapping (Maybe (Val Text))+ecltbdmVirtualName = lens _eC2LaunchTemplateBlockDeviceMappingVirtualName (\s a -> s { _eC2LaunchTemplateBlockDeviceMappingVirtualName = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCreditSpecification.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateCreditSpecification where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateCreditSpecification. See+-- 'ec2LaunchTemplateCreditSpecification' for a more convenient constructor.+data EC2LaunchTemplateCreditSpecification =+  EC2LaunchTemplateCreditSpecification+  { _eC2LaunchTemplateCreditSpecificationCpuCredits :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateCreditSpecification where+  toJSON EC2LaunchTemplateCreditSpecification{..} =+    object $+    catMaybes+    [ fmap (("CpuCredits",) . toJSON) _eC2LaunchTemplateCreditSpecificationCpuCredits+    ]++instance FromJSON EC2LaunchTemplateCreditSpecification where+  parseJSON (Object obj) =+    EC2LaunchTemplateCreditSpecification <$>+      (obj .:? "CpuCredits")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateCreditSpecification' containing+-- required fields as arguments.+ec2LaunchTemplateCreditSpecification+  :: EC2LaunchTemplateCreditSpecification+ec2LaunchTemplateCreditSpecification  =+  EC2LaunchTemplateCreditSpecification+  { _eC2LaunchTemplateCreditSpecificationCpuCredits = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification-cpucredits+ecltcsCpuCredits :: Lens' EC2LaunchTemplateCreditSpecification (Maybe (Val Text))+ecltcsCpuCredits = lens _eC2LaunchTemplateCreditSpecificationCpuCredits (\s a -> s { _eC2LaunchTemplateCreditSpecificationCpuCredits = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateEbs.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateEbs where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateEbs. See+-- 'ec2LaunchTemplateEbs' for a more convenient constructor.+data EC2LaunchTemplateEbs =+  EC2LaunchTemplateEbs+  { _eC2LaunchTemplateEbsDeleteOnTermination :: Maybe (Val Bool)+  , _eC2LaunchTemplateEbsEncrypted :: Maybe (Val Bool)+  , _eC2LaunchTemplateEbsIops :: Maybe (Val Integer)+  , _eC2LaunchTemplateEbsKmsKeyId :: Maybe (Val Text)+  , _eC2LaunchTemplateEbsSnapshotId :: Maybe (Val Text)+  , _eC2LaunchTemplateEbsVolumeSize :: Maybe (Val Integer)+  , _eC2LaunchTemplateEbsVolumeType :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateEbs where+  toJSON EC2LaunchTemplateEbs{..} =+    object $+    catMaybes+    [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2LaunchTemplateEbsDeleteOnTermination+    , fmap (("Encrypted",) . toJSON . fmap Bool') _eC2LaunchTemplateEbsEncrypted+    , fmap (("Iops",) . toJSON . fmap Integer') _eC2LaunchTemplateEbsIops+    , fmap (("KmsKeyId",) . toJSON) _eC2LaunchTemplateEbsKmsKeyId+    , fmap (("SnapshotId",) . toJSON) _eC2LaunchTemplateEbsSnapshotId+    , fmap (("VolumeSize",) . toJSON . fmap Integer') _eC2LaunchTemplateEbsVolumeSize+    , fmap (("VolumeType",) . toJSON) _eC2LaunchTemplateEbsVolumeType+    ]++instance FromJSON EC2LaunchTemplateEbs where+  parseJSON (Object obj) =+    EC2LaunchTemplateEbs <$>+      fmap (fmap (fmap unBool')) (obj .:? "DeleteOnTermination") <*>+      fmap (fmap (fmap unBool')) (obj .:? "Encrypted") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "Iops") <*>+      (obj .:? "KmsKeyId") <*>+      (obj .:? "SnapshotId") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "VolumeSize") <*>+      (obj .:? "VolumeType")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateEbs' containing required fields as+-- arguments.+ec2LaunchTemplateEbs+  :: EC2LaunchTemplateEbs+ec2LaunchTemplateEbs  =+  EC2LaunchTemplateEbs+  { _eC2LaunchTemplateEbsDeleteOnTermination = Nothing+  , _eC2LaunchTemplateEbsEncrypted = Nothing+  , _eC2LaunchTemplateEbsIops = Nothing+  , _eC2LaunchTemplateEbsKmsKeyId = Nothing+  , _eC2LaunchTemplateEbsSnapshotId = Nothing+  , _eC2LaunchTemplateEbsVolumeSize = Nothing+  , _eC2LaunchTemplateEbsVolumeType = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-deleteontermination+eclteDeleteOnTermination :: Lens' EC2LaunchTemplateEbs (Maybe (Val Bool))+eclteDeleteOnTermination = lens _eC2LaunchTemplateEbsDeleteOnTermination (\s a -> s { _eC2LaunchTemplateEbsDeleteOnTermination = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-encrypted+eclteEncrypted :: Lens' EC2LaunchTemplateEbs (Maybe (Val Bool))+eclteEncrypted = lens _eC2LaunchTemplateEbsEncrypted (\s a -> s { _eC2LaunchTemplateEbsEncrypted = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-iops+eclteIops :: Lens' EC2LaunchTemplateEbs (Maybe (Val Integer))+eclteIops = lens _eC2LaunchTemplateEbsIops (\s a -> s { _eC2LaunchTemplateEbsIops = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-kmskeyid+eclteKmsKeyId :: Lens' EC2LaunchTemplateEbs (Maybe (Val Text))+eclteKmsKeyId = lens _eC2LaunchTemplateEbsKmsKeyId (\s a -> s { _eC2LaunchTemplateEbsKmsKeyId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-snapshotid+eclteSnapshotId :: Lens' EC2LaunchTemplateEbs (Maybe (Val Text))+eclteSnapshotId = lens _eC2LaunchTemplateEbsSnapshotId (\s a -> s { _eC2LaunchTemplateEbsSnapshotId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumesize+eclteVolumeSize :: Lens' EC2LaunchTemplateEbs (Maybe (Val Integer))+eclteVolumeSize = lens _eC2LaunchTemplateEbsVolumeSize (\s a -> s { _eC2LaunchTemplateEbsVolumeSize = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumetype+eclteVolumeType :: Lens' EC2LaunchTemplateEbs (Maybe (Val Text))+eclteVolumeType = lens _eC2LaunchTemplateEbsVolumeType (\s a -> s { _eC2LaunchTemplateEbsVolumeType = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateElasticGpuSpecification.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateElasticGpuSpecification where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateElasticGpuSpecification.+-- See 'ec2LaunchTemplateElasticGpuSpecification' for a more convenient+-- constructor.+data EC2LaunchTemplateElasticGpuSpecification =+  EC2LaunchTemplateElasticGpuSpecification+  { _eC2LaunchTemplateElasticGpuSpecificationType :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateElasticGpuSpecification where+  toJSON EC2LaunchTemplateElasticGpuSpecification{..} =+    object $+    catMaybes+    [ fmap (("Type",) . toJSON) _eC2LaunchTemplateElasticGpuSpecificationType+    ]++instance FromJSON EC2LaunchTemplateElasticGpuSpecification where+  parseJSON (Object obj) =+    EC2LaunchTemplateElasticGpuSpecification <$>+      (obj .:? "Type")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateElasticGpuSpecification' containing+-- required fields as arguments.+ec2LaunchTemplateElasticGpuSpecification+  :: EC2LaunchTemplateElasticGpuSpecification+ec2LaunchTemplateElasticGpuSpecification  =+  EC2LaunchTemplateElasticGpuSpecification+  { _eC2LaunchTemplateElasticGpuSpecificationType = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html#cfn-ec2-launchtemplate-elasticgpuspecification-type+ecltegsType :: Lens' EC2LaunchTemplateElasticGpuSpecification (Maybe (Val Text))+ecltegsType = lens _eC2LaunchTemplateElasticGpuSpecificationType (\s a -> s { _eC2LaunchTemplateElasticGpuSpecificationType = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateIamInstanceProfile.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateIamInstanceProfile where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateIamInstanceProfile. See+-- 'ec2LaunchTemplateIamInstanceProfile' for a more convenient constructor.+data EC2LaunchTemplateIamInstanceProfile =+  EC2LaunchTemplateIamInstanceProfile+  { _eC2LaunchTemplateIamInstanceProfileArn :: Maybe (Val Text)+  , _eC2LaunchTemplateIamInstanceProfileName :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateIamInstanceProfile where+  toJSON EC2LaunchTemplateIamInstanceProfile{..} =+    object $+    catMaybes+    [ fmap (("Arn",) . toJSON) _eC2LaunchTemplateIamInstanceProfileArn+    , fmap (("Name",) . toJSON) _eC2LaunchTemplateIamInstanceProfileName+    ]++instance FromJSON EC2LaunchTemplateIamInstanceProfile where+  parseJSON (Object obj) =+    EC2LaunchTemplateIamInstanceProfile <$>+      (obj .:? "Arn") <*>+      (obj .:? "Name")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateIamInstanceProfile' containing required+-- fields as arguments.+ec2LaunchTemplateIamInstanceProfile+  :: EC2LaunchTemplateIamInstanceProfile+ec2LaunchTemplateIamInstanceProfile  =+  EC2LaunchTemplateIamInstanceProfile+  { _eC2LaunchTemplateIamInstanceProfileArn = Nothing+  , _eC2LaunchTemplateIamInstanceProfileName = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile-arn+ecltiipArn :: Lens' EC2LaunchTemplateIamInstanceProfile (Maybe (Val Text))+ecltiipArn = lens _eC2LaunchTemplateIamInstanceProfileArn (\s a -> s { _eC2LaunchTemplateIamInstanceProfileArn = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile-name+ecltiipName :: Lens' EC2LaunchTemplateIamInstanceProfile (Maybe (Val Text))+ecltiipName = lens _eC2LaunchTemplateIamInstanceProfileName (\s a -> s { _eC2LaunchTemplateIamInstanceProfileName = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateInstanceMarketOptions.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateInstanceMarketOptions where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2LaunchTemplateSpotOptions++-- | Full data type definition for EC2LaunchTemplateInstanceMarketOptions. See+-- 'ec2LaunchTemplateInstanceMarketOptions' for a more convenient+-- constructor.+data EC2LaunchTemplateInstanceMarketOptions =+  EC2LaunchTemplateInstanceMarketOptions+  { _eC2LaunchTemplateInstanceMarketOptionsMarketType :: Maybe (Val Text)+  , _eC2LaunchTemplateInstanceMarketOptionsSpotOptions :: Maybe EC2LaunchTemplateSpotOptions+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateInstanceMarketOptions where+  toJSON EC2LaunchTemplateInstanceMarketOptions{..} =+    object $+    catMaybes+    [ fmap (("MarketType",) . toJSON) _eC2LaunchTemplateInstanceMarketOptionsMarketType+    , fmap (("SpotOptions",) . toJSON) _eC2LaunchTemplateInstanceMarketOptionsSpotOptions+    ]++instance FromJSON EC2LaunchTemplateInstanceMarketOptions where+  parseJSON (Object obj) =+    EC2LaunchTemplateInstanceMarketOptions <$>+      (obj .:? "MarketType") <*>+      (obj .:? "SpotOptions")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateInstanceMarketOptions' containing+-- required fields as arguments.+ec2LaunchTemplateInstanceMarketOptions+  :: EC2LaunchTemplateInstanceMarketOptions+ec2LaunchTemplateInstanceMarketOptions  =+  EC2LaunchTemplateInstanceMarketOptions+  { _eC2LaunchTemplateInstanceMarketOptionsMarketType = Nothing+  , _eC2LaunchTemplateInstanceMarketOptionsSpotOptions = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-markettype+ecltimoMarketType :: Lens' EC2LaunchTemplateInstanceMarketOptions (Maybe (Val Text))+ecltimoMarketType = lens _eC2LaunchTemplateInstanceMarketOptionsMarketType (\s a -> s { _eC2LaunchTemplateInstanceMarketOptionsMarketType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions+ecltimoSpotOptions :: Lens' EC2LaunchTemplateInstanceMarketOptions (Maybe EC2LaunchTemplateSpotOptions)+ecltimoSpotOptions = lens _eC2LaunchTemplateInstanceMarketOptionsSpotOptions (\s a -> s { _eC2LaunchTemplateInstanceMarketOptionsSpotOptions = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateIpv6Add.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateIpv6Add where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateIpv6Add. See+-- 'ec2LaunchTemplateIpv6Add' for a more convenient constructor.+data EC2LaunchTemplateIpv6Add =+  EC2LaunchTemplateIpv6Add+  { _eC2LaunchTemplateIpv6AddIpv6Address :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateIpv6Add where+  toJSON EC2LaunchTemplateIpv6Add{..} =+    object $+    catMaybes+    [ fmap (("Ipv6Address",) . toJSON) _eC2LaunchTemplateIpv6AddIpv6Address+    ]++instance FromJSON EC2LaunchTemplateIpv6Add where+  parseJSON (Object obj) =+    EC2LaunchTemplateIpv6Add <$>+      (obj .:? "Ipv6Address")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateIpv6Add' containing required fields as+-- arguments.+ec2LaunchTemplateIpv6Add+  :: EC2LaunchTemplateIpv6Add+ec2LaunchTemplateIpv6Add  =+  EC2LaunchTemplateIpv6Add+  { _eC2LaunchTemplateIpv6AddIpv6Address = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html#cfn-ec2-launchtemplate-ipv6add-ipv6address+ecltiaIpv6Address :: Lens' EC2LaunchTemplateIpv6Add (Maybe (Val Text))+ecltiaIpv6Address = lens _eC2LaunchTemplateIpv6AddIpv6Address (\s a -> s { _eC2LaunchTemplateIpv6AddIpv6Address = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateLaunchTemplateData.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateLaunchTemplateData where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2LaunchTemplateBlockDeviceMapping+import Stratosphere.ResourceProperties.EC2LaunchTemplateCreditSpecification+import Stratosphere.ResourceProperties.EC2LaunchTemplateElasticGpuSpecification+import Stratosphere.ResourceProperties.EC2LaunchTemplateIamInstanceProfile+import Stratosphere.ResourceProperties.EC2LaunchTemplateInstanceMarketOptions+import Stratosphere.ResourceProperties.EC2LaunchTemplateMonitoring+import Stratosphere.ResourceProperties.EC2LaunchTemplateNetworkInterface+import Stratosphere.ResourceProperties.EC2LaunchTemplatePlacement+import Stratosphere.ResourceProperties.EC2LaunchTemplateTagSpecification++-- | Full data type definition for EC2LaunchTemplateLaunchTemplateData. See+-- 'ec2LaunchTemplateLaunchTemplateData' for a more convenient constructor.+data EC2LaunchTemplateLaunchTemplateData =+  EC2LaunchTemplateLaunchTemplateData+  { _eC2LaunchTemplateLaunchTemplateDataBlockDeviceMappings :: Maybe [EC2LaunchTemplateBlockDeviceMapping]+  , _eC2LaunchTemplateLaunchTemplateDataCreditSpecification :: Maybe EC2LaunchTemplateCreditSpecification+  , _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination :: Maybe (Val Bool)+  , _eC2LaunchTemplateLaunchTemplateDataEbsOptimized :: Maybe (Val Bool)+  , _eC2LaunchTemplateLaunchTemplateDataElasticGpuSpecifications :: Maybe [EC2LaunchTemplateElasticGpuSpecification]+  , _eC2LaunchTemplateLaunchTemplateDataIamInstanceProfile :: Maybe EC2LaunchTemplateIamInstanceProfile+  , _eC2LaunchTemplateLaunchTemplateDataImageId :: Maybe (Val Text)+  , _eC2LaunchTemplateLaunchTemplateDataInstanceInitiatedShutdownBehavior :: Maybe (Val Text)+  , _eC2LaunchTemplateLaunchTemplateDataInstanceMarketOptions :: Maybe EC2LaunchTemplateInstanceMarketOptions+  , _eC2LaunchTemplateLaunchTemplateDataInstanceType :: Maybe (Val Text)+  , _eC2LaunchTemplateLaunchTemplateDataKernelId :: Maybe (Val Text)+  , _eC2LaunchTemplateLaunchTemplateDataKeyName :: Maybe (Val Text)+  , _eC2LaunchTemplateLaunchTemplateDataMonitoring :: Maybe EC2LaunchTemplateMonitoring+  , _eC2LaunchTemplateLaunchTemplateDataNetworkInterfaces :: Maybe [EC2LaunchTemplateNetworkInterface]+  , _eC2LaunchTemplateLaunchTemplateDataPlacement :: Maybe EC2LaunchTemplatePlacement+  , _eC2LaunchTemplateLaunchTemplateDataRamDiskId :: Maybe (Val Text)+  , _eC2LaunchTemplateLaunchTemplateDataSecurityGroupIds :: Maybe (ValList Text)+  , _eC2LaunchTemplateLaunchTemplateDataSecurityGroups :: Maybe (ValList Text)+  , _eC2LaunchTemplateLaunchTemplateDataTagSpecifications :: Maybe [EC2LaunchTemplateTagSpecification]+  , _eC2LaunchTemplateLaunchTemplateDataUserData :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateLaunchTemplateData where+  toJSON EC2LaunchTemplateLaunchTemplateData{..} =+    object $+    catMaybes+    [ fmap (("BlockDeviceMappings",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataBlockDeviceMappings+    , fmap (("CreditSpecification",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataCreditSpecification+    , fmap (("DisableApiTermination",) . toJSON . fmap Bool') _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination+    , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eC2LaunchTemplateLaunchTemplateDataEbsOptimized+    , fmap (("ElasticGpuSpecifications",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataElasticGpuSpecifications+    , fmap (("IamInstanceProfile",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataIamInstanceProfile+    , fmap (("ImageId",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataImageId+    , fmap (("InstanceInitiatedShutdownBehavior",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataInstanceInitiatedShutdownBehavior+    , fmap (("InstanceMarketOptions",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataInstanceMarketOptions+    , fmap (("InstanceType",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataInstanceType+    , fmap (("KernelId",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataKernelId+    , fmap (("KeyName",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataKeyName+    , fmap (("Monitoring",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataMonitoring+    , fmap (("NetworkInterfaces",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataNetworkInterfaces+    , fmap (("Placement",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataPlacement+    , fmap (("RamDiskId",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataRamDiskId+    , fmap (("SecurityGroupIds",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataSecurityGroupIds+    , fmap (("SecurityGroups",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataSecurityGroups+    , fmap (("TagSpecifications",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataTagSpecifications+    , fmap (("UserData",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataUserData+    ]++instance FromJSON EC2LaunchTemplateLaunchTemplateData where+  parseJSON (Object obj) =+    EC2LaunchTemplateLaunchTemplateData <$>+      (obj .:? "BlockDeviceMappings") <*>+      (obj .:? "CreditSpecification") <*>+      fmap (fmap (fmap unBool')) (obj .:? "DisableApiTermination") <*>+      fmap (fmap (fmap unBool')) (obj .:? "EbsOptimized") <*>+      (obj .:? "ElasticGpuSpecifications") <*>+      (obj .:? "IamInstanceProfile") <*>+      (obj .:? "ImageId") <*>+      (obj .:? "InstanceInitiatedShutdownBehavior") <*>+      (obj .:? "InstanceMarketOptions") <*>+      (obj .:? "InstanceType") <*>+      (obj .:? "KernelId") <*>+      (obj .:? "KeyName") <*>+      (obj .:? "Monitoring") <*>+      (obj .:? "NetworkInterfaces") <*>+      (obj .:? "Placement") <*>+      (obj .:? "RamDiskId") <*>+      (obj .:? "SecurityGroupIds") <*>+      (obj .:? "SecurityGroups") <*>+      (obj .:? "TagSpecifications") <*>+      (obj .:? "UserData")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateLaunchTemplateData' containing required+-- fields as arguments.+ec2LaunchTemplateLaunchTemplateData+  :: EC2LaunchTemplateLaunchTemplateData+ec2LaunchTemplateLaunchTemplateData  =+  EC2LaunchTemplateLaunchTemplateData+  { _eC2LaunchTemplateLaunchTemplateDataBlockDeviceMappings = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataCreditSpecification = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataEbsOptimized = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataElasticGpuSpecifications = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataIamInstanceProfile = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataImageId = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataInstanceInitiatedShutdownBehavior = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataInstanceMarketOptions = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataInstanceType = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataKernelId = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataKeyName = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataMonitoring = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataNetworkInterfaces = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataPlacement = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataRamDiskId = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataSecurityGroupIds = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataSecurityGroups = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataTagSpecifications = Nothing+  , _eC2LaunchTemplateLaunchTemplateDataUserData = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-blockdevicemappings+ecltltdBlockDeviceMappings :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe [EC2LaunchTemplateBlockDeviceMapping])+ecltltdBlockDeviceMappings = lens _eC2LaunchTemplateLaunchTemplateDataBlockDeviceMappings (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataBlockDeviceMappings = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification+ecltltdCreditSpecification :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe EC2LaunchTemplateCreditSpecification)+ecltltdCreditSpecification = lens _eC2LaunchTemplateLaunchTemplateDataCreditSpecification (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataCreditSpecification = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-disableapitermination+ecltltdDisableApiTermination :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Bool))+ecltltdDisableApiTermination = lens _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ebsoptimized+ecltltdEbsOptimized :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Bool))+ecltltdEbsOptimized = lens _eC2LaunchTemplateLaunchTemplateDataEbsOptimized (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataEbsOptimized = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticgpuspecifications+ecltltdElasticGpuSpecifications :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe [EC2LaunchTemplateElasticGpuSpecification])+ecltltdElasticGpuSpecifications = lens _eC2LaunchTemplateLaunchTemplateDataElasticGpuSpecifications (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataElasticGpuSpecifications = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile+ecltltdIamInstanceProfile :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe EC2LaunchTemplateIamInstanceProfile)+ecltltdIamInstanceProfile = lens _eC2LaunchTemplateLaunchTemplateDataIamInstanceProfile (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataIamInstanceProfile = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-imageid+ecltltdImageId :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdImageId = lens _eC2LaunchTemplateLaunchTemplateDataImageId (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataImageId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instanceinitiatedshutdownbehavior+ecltltdInstanceInitiatedShutdownBehavior :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdInstanceInitiatedShutdownBehavior = lens _eC2LaunchTemplateLaunchTemplateDataInstanceInitiatedShutdownBehavior (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataInstanceInitiatedShutdownBehavior = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions+ecltltdInstanceMarketOptions :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe EC2LaunchTemplateInstanceMarketOptions)+ecltltdInstanceMarketOptions = lens _eC2LaunchTemplateLaunchTemplateDataInstanceMarketOptions (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataInstanceMarketOptions = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancetype+ecltltdInstanceType :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdInstanceType = lens _eC2LaunchTemplateLaunchTemplateDataInstanceType (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataInstanceType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-kernelid+ecltltdKernelId :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdKernelId = lens _eC2LaunchTemplateLaunchTemplateDataKernelId (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataKernelId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-keyname+ecltltdKeyName :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdKeyName = lens _eC2LaunchTemplateLaunchTemplateDataKeyName (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataKeyName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring+ecltltdMonitoring :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe EC2LaunchTemplateMonitoring)+ecltltdMonitoring = lens _eC2LaunchTemplateLaunchTemplateDataMonitoring (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataMonitoring = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-networkinterfaces+ecltltdNetworkInterfaces :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe [EC2LaunchTemplateNetworkInterface])+ecltltdNetworkInterfaces = lens _eC2LaunchTemplateLaunchTemplateDataNetworkInterfaces (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataNetworkInterfaces = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-placement+ecltltdPlacement :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe EC2LaunchTemplatePlacement)+ecltltdPlacement = lens _eC2LaunchTemplateLaunchTemplateDataPlacement (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataPlacement = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ramdiskid+ecltltdRamDiskId :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdRamDiskId = lens _eC2LaunchTemplateLaunchTemplateDataRamDiskId (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataRamDiskId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroupids+ecltltdSecurityGroupIds :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (ValList Text))+ecltltdSecurityGroupIds = lens _eC2LaunchTemplateLaunchTemplateDataSecurityGroupIds (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataSecurityGroupIds = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroups+ecltltdSecurityGroups :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (ValList Text))+ecltltdSecurityGroups = lens _eC2LaunchTemplateLaunchTemplateDataSecurityGroups (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataSecurityGroups = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications+ecltltdTagSpecifications :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe [EC2LaunchTemplateTagSpecification])+ecltltdTagSpecifications = lens _eC2LaunchTemplateLaunchTemplateDataTagSpecifications (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataTagSpecifications = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-userdata+ecltltdUserData :: Lens' EC2LaunchTemplateLaunchTemplateData (Maybe (Val Text))+ecltltdUserData = lens _eC2LaunchTemplateLaunchTemplateDataUserData (\s a -> s { _eC2LaunchTemplateLaunchTemplateDataUserData = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateMonitoring.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateMonitoring where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateMonitoring. See+-- 'ec2LaunchTemplateMonitoring' for a more convenient constructor.+data EC2LaunchTemplateMonitoring =+  EC2LaunchTemplateMonitoring+  { _eC2LaunchTemplateMonitoringEnabled :: Maybe (Val Bool)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateMonitoring where+  toJSON EC2LaunchTemplateMonitoring{..} =+    object $+    catMaybes+    [ fmap (("Enabled",) . toJSON . fmap Bool') _eC2LaunchTemplateMonitoringEnabled+    ]++instance FromJSON EC2LaunchTemplateMonitoring where+  parseJSON (Object obj) =+    EC2LaunchTemplateMonitoring <$>+      fmap (fmap (fmap unBool')) (obj .:? "Enabled")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateMonitoring' containing required fields+-- as arguments.+ec2LaunchTemplateMonitoring+  :: EC2LaunchTemplateMonitoring+ec2LaunchTemplateMonitoring  =+  EC2LaunchTemplateMonitoring+  { _eC2LaunchTemplateMonitoringEnabled = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring-enabled+ecltmEnabled :: Lens' EC2LaunchTemplateMonitoring (Maybe (Val Bool))+ecltmEnabled = lens _eC2LaunchTemplateMonitoringEnabled (\s a -> s { _eC2LaunchTemplateMonitoringEnabled = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateNetworkInterface.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateNetworkInterface where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2LaunchTemplateIpv6Add+import Stratosphere.ResourceProperties.EC2LaunchTemplatePrivateIpAdd++-- | Full data type definition for EC2LaunchTemplateNetworkInterface. See+-- 'ec2LaunchTemplateNetworkInterface' for a more convenient constructor.+data EC2LaunchTemplateNetworkInterface =+  EC2LaunchTemplateNetworkInterface+  { _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress :: Maybe (Val Bool)+  , _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination :: Maybe (Val Bool)+  , _eC2LaunchTemplateNetworkInterfaceDescription :: Maybe (Val Text)+  , _eC2LaunchTemplateNetworkInterfaceDeviceIndex :: Maybe (Val Integer)+  , _eC2LaunchTemplateNetworkInterfaceGroups :: Maybe (ValList Text)+  , _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount :: Maybe (Val Integer)+  , _eC2LaunchTemplateNetworkInterfaceIpv6Addresses :: Maybe [EC2LaunchTemplateIpv6Add]+  , _eC2LaunchTemplateNetworkInterfaceNetworkInterfaceId :: Maybe (Val Text)+  , _eC2LaunchTemplateNetworkInterfacePrivateIpAddress :: Maybe (Val Text)+  , _eC2LaunchTemplateNetworkInterfacePrivateIpAddresses :: Maybe [EC2LaunchTemplatePrivateIpAdd]+  , _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount :: Maybe (Val Integer)+  , _eC2LaunchTemplateNetworkInterfaceSubnetId :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateNetworkInterface where+  toJSON EC2LaunchTemplateNetworkInterface{..} =+    object $+    catMaybes+    [ fmap (("AssociatePublicIpAddress",) . toJSON . fmap Bool') _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress+    , fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination+    , fmap (("Description",) . toJSON) _eC2LaunchTemplateNetworkInterfaceDescription+    , fmap (("DeviceIndex",) . toJSON . fmap Integer') _eC2LaunchTemplateNetworkInterfaceDeviceIndex+    , fmap (("Groups",) . toJSON) _eC2LaunchTemplateNetworkInterfaceGroups+    , fmap (("Ipv6AddressCount",) . toJSON . fmap Integer') _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount+    , fmap (("Ipv6Addresses",) . toJSON) _eC2LaunchTemplateNetworkInterfaceIpv6Addresses+    , fmap (("NetworkInterfaceId",) . toJSON) _eC2LaunchTemplateNetworkInterfaceNetworkInterfaceId+    , fmap (("PrivateIpAddress",) . toJSON) _eC2LaunchTemplateNetworkInterfacePrivateIpAddress+    , fmap (("PrivateIpAddresses",) . toJSON) _eC2LaunchTemplateNetworkInterfacePrivateIpAddresses+    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON . fmap Integer') _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount+    , fmap (("SubnetId",) . toJSON) _eC2LaunchTemplateNetworkInterfaceSubnetId+    ]++instance FromJSON EC2LaunchTemplateNetworkInterface where+  parseJSON (Object obj) =+    EC2LaunchTemplateNetworkInterface <$>+      fmap (fmap (fmap unBool')) (obj .:? "AssociatePublicIpAddress") <*>+      fmap (fmap (fmap unBool')) (obj .:? "DeleteOnTermination") <*>+      (obj .:? "Description") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "DeviceIndex") <*>+      (obj .:? "Groups") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "Ipv6AddressCount") <*>+      (obj .:? "Ipv6Addresses") <*>+      (obj .:? "NetworkInterfaceId") <*>+      (obj .:? "PrivateIpAddress") <*>+      (obj .:? "PrivateIpAddresses") <*>+      fmap (fmap (fmap unInteger')) (obj .:? "SecondaryPrivateIpAddressCount") <*>+      (obj .:? "SubnetId")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateNetworkInterface' containing required+-- fields as arguments.+ec2LaunchTemplateNetworkInterface+  :: EC2LaunchTemplateNetworkInterface+ec2LaunchTemplateNetworkInterface  =+  EC2LaunchTemplateNetworkInterface+  { _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress = Nothing+  , _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination = Nothing+  , _eC2LaunchTemplateNetworkInterfaceDescription = Nothing+  , _eC2LaunchTemplateNetworkInterfaceDeviceIndex = Nothing+  , _eC2LaunchTemplateNetworkInterfaceGroups = Nothing+  , _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount = Nothing+  , _eC2LaunchTemplateNetworkInterfaceIpv6Addresses = Nothing+  , _eC2LaunchTemplateNetworkInterfaceNetworkInterfaceId = Nothing+  , _eC2LaunchTemplateNetworkInterfacePrivateIpAddress = Nothing+  , _eC2LaunchTemplateNetworkInterfacePrivateIpAddresses = Nothing+  , _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount = Nothing+  , _eC2LaunchTemplateNetworkInterfaceSubnetId = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress+ecltniAssociatePublicIpAddress :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Bool))+ecltniAssociatePublicIpAddress = lens _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress (\s a -> s { _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination+ecltniDeleteOnTermination :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Bool))+ecltniDeleteOnTermination = lens _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination (\s a -> s { _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description+ecltniDescription :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Text))+ecltniDescription = lens _eC2LaunchTemplateNetworkInterfaceDescription (\s a -> s { _eC2LaunchTemplateNetworkInterfaceDescription = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex+ecltniDeviceIndex :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Integer))+ecltniDeviceIndex = lens _eC2LaunchTemplateNetworkInterfaceDeviceIndex (\s a -> s { _eC2LaunchTemplateNetworkInterfaceDeviceIndex = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups+ecltniGroups :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (ValList Text))+ecltniGroups = lens _eC2LaunchTemplateNetworkInterfaceGroups (\s a -> s { _eC2LaunchTemplateNetworkInterfaceGroups = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount+ecltniIpv6AddressCount :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Integer))+ecltniIpv6AddressCount = lens _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount (\s a -> s { _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses+ecltniIpv6Addresses :: Lens' EC2LaunchTemplateNetworkInterface (Maybe [EC2LaunchTemplateIpv6Add])+ecltniIpv6Addresses = lens _eC2LaunchTemplateNetworkInterfaceIpv6Addresses (\s a -> s { _eC2LaunchTemplateNetworkInterfaceIpv6Addresses = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid+ecltniNetworkInterfaceId :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Text))+ecltniNetworkInterfaceId = lens _eC2LaunchTemplateNetworkInterfaceNetworkInterfaceId (\s a -> s { _eC2LaunchTemplateNetworkInterfaceNetworkInterfaceId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress+ecltniPrivateIpAddress :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Text))+ecltniPrivateIpAddress = lens _eC2LaunchTemplateNetworkInterfacePrivateIpAddress (\s a -> s { _eC2LaunchTemplateNetworkInterfacePrivateIpAddress = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses+ecltniPrivateIpAddresses :: Lens' EC2LaunchTemplateNetworkInterface (Maybe [EC2LaunchTemplatePrivateIpAdd])+ecltniPrivateIpAddresses = lens _eC2LaunchTemplateNetworkInterfacePrivateIpAddresses (\s a -> s { _eC2LaunchTemplateNetworkInterfacePrivateIpAddresses = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount+ecltniSecondaryPrivateIpAddressCount :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Integer))+ecltniSecondaryPrivateIpAddressCount = lens _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount (\s a -> s { _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid+ecltniSubnetId :: Lens' EC2LaunchTemplateNetworkInterface (Maybe (Val Text))+ecltniSubnetId = lens _eC2LaunchTemplateNetworkInterfaceSubnetId (\s a -> s { _eC2LaunchTemplateNetworkInterfaceSubnetId = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePlacement.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html++module Stratosphere.ResourceProperties.EC2LaunchTemplatePlacement where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplatePlacement. See+-- 'ec2LaunchTemplatePlacement' for a more convenient constructor.+data EC2LaunchTemplatePlacement =+  EC2LaunchTemplatePlacement+  { _eC2LaunchTemplatePlacementAffinity :: Maybe (Val Text)+  , _eC2LaunchTemplatePlacementAvailabilityZone :: Maybe (Val Text)+  , _eC2LaunchTemplatePlacementGroupName :: Maybe (Val Text)+  , _eC2LaunchTemplatePlacementHostId :: Maybe (Val Text)+  , _eC2LaunchTemplatePlacementTenancy :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplatePlacement where+  toJSON EC2LaunchTemplatePlacement{..} =+    object $+    catMaybes+    [ fmap (("Affinity",) . toJSON) _eC2LaunchTemplatePlacementAffinity+    , fmap (("AvailabilityZone",) . toJSON) _eC2LaunchTemplatePlacementAvailabilityZone+    , fmap (("GroupName",) . toJSON) _eC2LaunchTemplatePlacementGroupName+    , fmap (("HostId",) . toJSON) _eC2LaunchTemplatePlacementHostId+    , fmap (("Tenancy",) . toJSON) _eC2LaunchTemplatePlacementTenancy+    ]++instance FromJSON EC2LaunchTemplatePlacement where+  parseJSON (Object obj) =+    EC2LaunchTemplatePlacement <$>+      (obj .:? "Affinity") <*>+      (obj .:? "AvailabilityZone") <*>+      (obj .:? "GroupName") <*>+      (obj .:? "HostId") <*>+      (obj .:? "Tenancy")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplatePlacement' containing required fields+-- as arguments.+ec2LaunchTemplatePlacement+  :: EC2LaunchTemplatePlacement+ec2LaunchTemplatePlacement  =+  EC2LaunchTemplatePlacement+  { _eC2LaunchTemplatePlacementAffinity = Nothing+  , _eC2LaunchTemplatePlacementAvailabilityZone = Nothing+  , _eC2LaunchTemplatePlacementGroupName = Nothing+  , _eC2LaunchTemplatePlacementHostId = Nothing+  , _eC2LaunchTemplatePlacementTenancy = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-affinity+ecltpAffinity :: Lens' EC2LaunchTemplatePlacement (Maybe (Val Text))+ecltpAffinity = lens _eC2LaunchTemplatePlacementAffinity (\s a -> s { _eC2LaunchTemplatePlacementAffinity = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-availabilityzone+ecltpAvailabilityZone :: Lens' EC2LaunchTemplatePlacement (Maybe (Val Text))+ecltpAvailabilityZone = lens _eC2LaunchTemplatePlacementAvailabilityZone (\s a -> s { _eC2LaunchTemplatePlacementAvailabilityZone = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-groupname+ecltpGroupName :: Lens' EC2LaunchTemplatePlacement (Maybe (Val Text))+ecltpGroupName = lens _eC2LaunchTemplatePlacementGroupName (\s a -> s { _eC2LaunchTemplatePlacementGroupName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-hostid+ecltpHostId :: Lens' EC2LaunchTemplatePlacement (Maybe (Val Text))+ecltpHostId = lens _eC2LaunchTemplatePlacementHostId (\s a -> s { _eC2LaunchTemplatePlacementHostId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-tenancy+ecltpTenancy :: Lens' EC2LaunchTemplatePlacement (Maybe (Val Text))+ecltpTenancy = lens _eC2LaunchTemplatePlacementTenancy (\s a -> s { _eC2LaunchTemplatePlacementTenancy = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePrivateIpAdd.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html++module Stratosphere.ResourceProperties.EC2LaunchTemplatePrivateIpAdd where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplatePrivateIpAdd. See+-- 'ec2LaunchTemplatePrivateIpAdd' for a more convenient constructor.+data EC2LaunchTemplatePrivateIpAdd =+  EC2LaunchTemplatePrivateIpAdd+  { _eC2LaunchTemplatePrivateIpAddPrimary :: Maybe (Val Bool)+  , _eC2LaunchTemplatePrivateIpAddPrivateIpAddress :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplatePrivateIpAdd where+  toJSON EC2LaunchTemplatePrivateIpAdd{..} =+    object $+    catMaybes+    [ fmap (("Primary",) . toJSON . fmap Bool') _eC2LaunchTemplatePrivateIpAddPrimary+    , fmap (("PrivateIpAddress",) . toJSON) _eC2LaunchTemplatePrivateIpAddPrivateIpAddress+    ]++instance FromJSON EC2LaunchTemplatePrivateIpAdd where+  parseJSON (Object obj) =+    EC2LaunchTemplatePrivateIpAdd <$>+      fmap (fmap (fmap unBool')) (obj .:? "Primary") <*>+      (obj .:? "PrivateIpAddress")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplatePrivateIpAdd' containing required+-- fields as arguments.+ec2LaunchTemplatePrivateIpAdd+  :: EC2LaunchTemplatePrivateIpAdd+ec2LaunchTemplatePrivateIpAdd  =+  EC2LaunchTemplatePrivateIpAdd+  { _eC2LaunchTemplatePrivateIpAddPrimary = Nothing+  , _eC2LaunchTemplatePrivateIpAddPrivateIpAddress = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-primary+ecltpiaPrimary :: Lens' EC2LaunchTemplatePrivateIpAdd (Maybe (Val Bool))+ecltpiaPrimary = lens _eC2LaunchTemplatePrivateIpAddPrimary (\s a -> s { _eC2LaunchTemplatePrivateIpAddPrimary = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-privateipaddress+ecltpiaPrivateIpAddress :: Lens' EC2LaunchTemplatePrivateIpAdd (Maybe (Val Text))+ecltpiaPrivateIpAddress = lens _eC2LaunchTemplatePrivateIpAddPrivateIpAddress (\s a -> s { _eC2LaunchTemplatePrivateIpAddPrivateIpAddress = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateSpotOptions.hs view
@@ -0,0 +1,59 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateSpotOptions where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2LaunchTemplateSpotOptions. See+-- 'ec2LaunchTemplateSpotOptions' for a more convenient constructor.+data EC2LaunchTemplateSpotOptions =+  EC2LaunchTemplateSpotOptions+  { _eC2LaunchTemplateSpotOptionsInstanceInterruptionBehavior :: Maybe (Val Text)+  , _eC2LaunchTemplateSpotOptionsMaxPrice :: Maybe (Val Text)+  , _eC2LaunchTemplateSpotOptionsSpotInstanceType :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateSpotOptions where+  toJSON EC2LaunchTemplateSpotOptions{..} =+    object $+    catMaybes+    [ fmap (("InstanceInterruptionBehavior",) . toJSON) _eC2LaunchTemplateSpotOptionsInstanceInterruptionBehavior+    , fmap (("MaxPrice",) . toJSON) _eC2LaunchTemplateSpotOptionsMaxPrice+    , fmap (("SpotInstanceType",) . toJSON) _eC2LaunchTemplateSpotOptionsSpotInstanceType+    ]++instance FromJSON EC2LaunchTemplateSpotOptions where+  parseJSON (Object obj) =+    EC2LaunchTemplateSpotOptions <$>+      (obj .:? "InstanceInterruptionBehavior") <*>+      (obj .:? "MaxPrice") <*>+      (obj .:? "SpotInstanceType")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateSpotOptions' containing required fields+-- as arguments.+ec2LaunchTemplateSpotOptions+  :: EC2LaunchTemplateSpotOptions+ec2LaunchTemplateSpotOptions  =+  EC2LaunchTemplateSpotOptions+  { _eC2LaunchTemplateSpotOptionsInstanceInterruptionBehavior = Nothing+  , _eC2LaunchTemplateSpotOptionsMaxPrice = Nothing+  , _eC2LaunchTemplateSpotOptionsSpotInstanceType = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-instanceinterruptionbehavior+ecltsoInstanceInterruptionBehavior :: Lens' EC2LaunchTemplateSpotOptions (Maybe (Val Text))+ecltsoInstanceInterruptionBehavior = lens _eC2LaunchTemplateSpotOptionsInstanceInterruptionBehavior (\s a -> s { _eC2LaunchTemplateSpotOptionsInstanceInterruptionBehavior = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-maxprice+ecltsoMaxPrice :: Lens' EC2LaunchTemplateSpotOptions (Maybe (Val Text))+ecltsoMaxPrice = lens _eC2LaunchTemplateSpotOptionsMaxPrice (\s a -> s { _eC2LaunchTemplateSpotOptionsMaxPrice = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-spotinstancetype+ecltsoSpotInstanceType :: Lens' EC2LaunchTemplateSpotOptions (Maybe (Val Text))+ecltsoSpotInstanceType = lens _eC2LaunchTemplateSpotOptionsSpotInstanceType (\s a -> s { _eC2LaunchTemplateSpotOptionsSpotInstanceType = a })
+ library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateTagSpecification.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html++module Stratosphere.ResourceProperties.EC2LaunchTemplateTagSpecification where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.Tag++-- | Full data type definition for EC2LaunchTemplateTagSpecification. See+-- 'ec2LaunchTemplateTagSpecification' for a more convenient constructor.+data EC2LaunchTemplateTagSpecification =+  EC2LaunchTemplateTagSpecification+  { _eC2LaunchTemplateTagSpecificationResourceType :: Maybe (Val Text)+  , _eC2LaunchTemplateTagSpecificationTags :: Maybe [Tag]+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplateTagSpecification where+  toJSON EC2LaunchTemplateTagSpecification{..} =+    object $+    catMaybes+    [ fmap (("ResourceType",) . toJSON) _eC2LaunchTemplateTagSpecificationResourceType+    , fmap (("Tags",) . toJSON) _eC2LaunchTemplateTagSpecificationTags+    ]++instance FromJSON EC2LaunchTemplateTagSpecification where+  parseJSON (Object obj) =+    EC2LaunchTemplateTagSpecification <$>+      (obj .:? "ResourceType") <*>+      (obj .:? "Tags")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplateTagSpecification' containing required+-- fields as arguments.+ec2LaunchTemplateTagSpecification+  :: EC2LaunchTemplateTagSpecification+ec2LaunchTemplateTagSpecification  =+  EC2LaunchTemplateTagSpecification+  { _eC2LaunchTemplateTagSpecificationResourceType = Nothing+  , _eC2LaunchTemplateTagSpecificationTags = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-resourcetype+eclttsResourceType :: Lens' EC2LaunchTemplateTagSpecification (Maybe (Val Text))+eclttsResourceType = lens _eC2LaunchTemplateTagSpecificationResourceType (\s a -> s { _eC2LaunchTemplateTagSpecificationResourceType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-tags+eclttsTags :: Lens' EC2LaunchTemplateTagSpecification (Maybe [Tag])+eclttsTags = lens _eC2LaunchTemplateTagSpecificationTags (\s a -> s { _eC2LaunchTemplateTagSpecificationTags = a })
+ library-gen/Stratosphere/ResourceProperties/EC2SpotFleetFleetLaunchTemplateSpecification.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html++module Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification where++import Stratosphere.ResourceImports+++-- | Full data type definition for+-- EC2SpotFleetFleetLaunchTemplateSpecification. See+-- 'ec2SpotFleetFleetLaunchTemplateSpecification' for a more convenient+-- constructor.+data EC2SpotFleetFleetLaunchTemplateSpecification =+  EC2SpotFleetFleetLaunchTemplateSpecification+  { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId :: Maybe (Val Text)+  , _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName :: Maybe (Val Text)+  , _eC2SpotFleetFleetLaunchTemplateSpecificationVersion :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2SpotFleetFleetLaunchTemplateSpecification where+  toJSON EC2SpotFleetFleetLaunchTemplateSpecification{..} =+    object $+    catMaybes+    [ fmap (("LaunchTemplateId",) . toJSON) _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId+    , fmap (("LaunchTemplateName",) . toJSON) _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName+    , fmap (("Version",) . toJSON) _eC2SpotFleetFleetLaunchTemplateSpecificationVersion+    ]++instance FromJSON EC2SpotFleetFleetLaunchTemplateSpecification where+  parseJSON (Object obj) =+    EC2SpotFleetFleetLaunchTemplateSpecification <$>+      (obj .:? "LaunchTemplateId") <*>+      (obj .:? "LaunchTemplateName") <*>+      (obj .:? "Version")+  parseJSON _ = mempty++-- | Constructor for 'EC2SpotFleetFleetLaunchTemplateSpecification' containing+-- required fields as arguments.+ec2SpotFleetFleetLaunchTemplateSpecification+  :: EC2SpotFleetFleetLaunchTemplateSpecification+ec2SpotFleetFleetLaunchTemplateSpecification  =+  EC2SpotFleetFleetLaunchTemplateSpecification+  { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId = Nothing+  , _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName = Nothing+  , _eC2SpotFleetFleetLaunchTemplateSpecificationVersion = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplateid+ecsffltsLaunchTemplateId :: Lens' EC2SpotFleetFleetLaunchTemplateSpecification (Maybe (Val Text))+ecsffltsLaunchTemplateId = lens _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId (\s a -> s { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplatename+ecsffltsLaunchTemplateName :: Lens' EC2SpotFleetFleetLaunchTemplateSpecification (Maybe (Val Text))+ecsffltsLaunchTemplateName = lens _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName (\s a -> s { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-version+ecsffltsVersion :: Lens' EC2SpotFleetFleetLaunchTemplateSpecification (Maybe (Val Text))+ecsffltsVersion = lens _eC2SpotFleetFleetLaunchTemplateSpecificationVersion (\s a -> s { _eC2SpotFleetFleetLaunchTemplateSpecificationVersion = a })
+ library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateConfig.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html++module Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides++-- | Full data type definition for EC2SpotFleetLaunchTemplateConfig. See+-- 'ec2SpotFleetLaunchTemplateConfig' for a more convenient constructor.+data EC2SpotFleetLaunchTemplateConfig =+  EC2SpotFleetLaunchTemplateConfig+  { _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification :: Maybe EC2SpotFleetFleetLaunchTemplateSpecification+  , _eC2SpotFleetLaunchTemplateConfigOverrides :: Maybe [EC2SpotFleetLaunchTemplateOverrides]+  } deriving (Show, Eq)++instance ToJSON EC2SpotFleetLaunchTemplateConfig where+  toJSON EC2SpotFleetLaunchTemplateConfig{..} =+    object $+    catMaybes+    [ fmap (("LaunchTemplateSpecification",) . toJSON) _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification+    , fmap (("Overrides",) . toJSON) _eC2SpotFleetLaunchTemplateConfigOverrides+    ]++instance FromJSON EC2SpotFleetLaunchTemplateConfig where+  parseJSON (Object obj) =+    EC2SpotFleetLaunchTemplateConfig <$>+      (obj .:? "LaunchTemplateSpecification") <*>+      (obj .:? "Overrides")+  parseJSON _ = mempty++-- | Constructor for 'EC2SpotFleetLaunchTemplateConfig' containing required+-- fields as arguments.+ec2SpotFleetLaunchTemplateConfig+  :: EC2SpotFleetLaunchTemplateConfig+ec2SpotFleetLaunchTemplateConfig  =+  EC2SpotFleetLaunchTemplateConfig+  { _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification = Nothing+  , _eC2SpotFleetLaunchTemplateConfigOverrides = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-launchtemplatespecification+ecsfltcLaunchTemplateSpecification :: Lens' EC2SpotFleetLaunchTemplateConfig (Maybe EC2SpotFleetFleetLaunchTemplateSpecification)+ecsfltcLaunchTemplateSpecification = lens _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification (\s a -> s { _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-overrides+ecsfltcOverrides :: Lens' EC2SpotFleetLaunchTemplateConfig (Maybe [EC2SpotFleetLaunchTemplateOverrides])+ecsfltcOverrides = lens _eC2SpotFleetLaunchTemplateConfigOverrides (\s a -> s { _eC2SpotFleetLaunchTemplateConfigOverrides = a })
+ library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html++module Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides where++import Stratosphere.ResourceImports+++-- | Full data type definition for EC2SpotFleetLaunchTemplateOverrides. See+-- 'ec2SpotFleetLaunchTemplateOverrides' for a more convenient constructor.+data EC2SpotFleetLaunchTemplateOverrides =+  EC2SpotFleetLaunchTemplateOverrides+  { _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone :: Maybe (Val Text)+  , _eC2SpotFleetLaunchTemplateOverridesInstanceType :: Maybe (Val Text)+  , _eC2SpotFleetLaunchTemplateOverridesSpotPrice :: Maybe (Val Text)+  , _eC2SpotFleetLaunchTemplateOverridesSubnetId :: Maybe (Val Text)+  , _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity :: Maybe (Val Double)+  } deriving (Show, Eq)++instance ToJSON EC2SpotFleetLaunchTemplateOverrides where+  toJSON EC2SpotFleetLaunchTemplateOverrides{..} =+    object $+    catMaybes+    [ fmap (("AvailabilityZone",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone+    , fmap (("InstanceType",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesInstanceType+    , fmap (("SpotPrice",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesSpotPrice+    , fmap (("SubnetId",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesSubnetId+    , fmap (("WeightedCapacity",) . toJSON . fmap Double') _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity+    ]++instance FromJSON EC2SpotFleetLaunchTemplateOverrides where+  parseJSON (Object obj) =+    EC2SpotFleetLaunchTemplateOverrides <$>+      (obj .:? "AvailabilityZone") <*>+      (obj .:? "InstanceType") <*>+      (obj .:? "SpotPrice") <*>+      (obj .:? "SubnetId") <*>+      fmap (fmap (fmap unDouble')) (obj .:? "WeightedCapacity")+  parseJSON _ = mempty++-- | Constructor for 'EC2SpotFleetLaunchTemplateOverrides' containing required+-- fields as arguments.+ec2SpotFleetLaunchTemplateOverrides+  :: EC2SpotFleetLaunchTemplateOverrides+ec2SpotFleetLaunchTemplateOverrides  =+  EC2SpotFleetLaunchTemplateOverrides+  { _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone = Nothing+  , _eC2SpotFleetLaunchTemplateOverridesInstanceType = Nothing+  , _eC2SpotFleetLaunchTemplateOverridesSpotPrice = Nothing+  , _eC2SpotFleetLaunchTemplateOverridesSubnetId = Nothing+  , _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-availabilityzone+ecsfltoAvailabilityZone :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))+ecsfltoAvailabilityZone = lens _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancetype+ecsfltoInstanceType :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))+ecsfltoInstanceType = lens _eC2SpotFleetLaunchTemplateOverridesInstanceType (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesInstanceType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-spotprice+ecsfltoSpotPrice :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))+ecsfltoSpotPrice = lens _eC2SpotFleetLaunchTemplateOverridesSpotPrice (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesSpotPrice = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-subnetid+ecsfltoSubnetId :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))+ecsfltoSubnetId = lens _eC2SpotFleetLaunchTemplateOverridesSubnetId (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesSubnetId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity+ecsfltoWeightedCapacity :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Double))+ecsfltoWeightedCapacity = lens _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity = a })
library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs view
@@ -8,6 +8,7 @@  import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetLaunchSpecification+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig  -- | Full data type definition for EC2SpotFleetSpotFleetRequestConfigData. See -- 'ec2SpotFleetSpotFleetRequestConfigData' for a more convenient@@ -17,7 +18,8 @@   { _eC2SpotFleetSpotFleetRequestConfigDataAllocationStrategy :: Maybe (Val Text)   , _eC2SpotFleetSpotFleetRequestConfigDataExcessCapacityTerminationPolicy :: Maybe (Val Text)   , _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole :: Val Text-  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications :: [EC2SpotFleetSpotFleetLaunchSpecification]+  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications :: Maybe [EC2SpotFleetSpotFleetLaunchSpecification]+  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs :: Maybe [EC2SpotFleetLaunchTemplateConfig]   , _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances :: Maybe (Val Bool)   , _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice :: Maybe (Val Text)   , _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity :: Val Integer@@ -34,7 +36,8 @@     [ fmap (("AllocationStrategy",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataAllocationStrategy     , fmap (("ExcessCapacityTerminationPolicy",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataExcessCapacityTerminationPolicy     , (Just . ("IamFleetRole",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole-    , (Just . ("LaunchSpecifications",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications+    , fmap (("LaunchSpecifications",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications+    , fmap (("LaunchTemplateConfigs",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs     , fmap (("ReplaceUnhealthyInstances",) . toJSON . fmap Bool') _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances     , fmap (("SpotPrice",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice     , (Just . ("TargetCapacity",) . toJSON . fmap Integer') _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity@@ -50,7 +53,8 @@       (obj .:? "AllocationStrategy") <*>       (obj .:? "ExcessCapacityTerminationPolicy") <*>       (obj .: "IamFleetRole") <*>-      (obj .: "LaunchSpecifications") <*>+      (obj .:? "LaunchSpecifications") <*>+      (obj .:? "LaunchTemplateConfigs") <*>       fmap (fmap (fmap unBool')) (obj .:? "ReplaceUnhealthyInstances") <*>       (obj .:? "SpotPrice") <*>       fmap (fmap unInteger') (obj .: "TargetCapacity") <*>@@ -64,15 +68,15 @@ -- required fields as arguments. ec2SpotFleetSpotFleetRequestConfigData   :: Val Text -- ^ 'ecsfsfrcdIamFleetRole'-  -> [EC2SpotFleetSpotFleetLaunchSpecification] -- ^ 'ecsfsfrcdLaunchSpecifications'   -> Val Integer -- ^ 'ecsfsfrcdTargetCapacity'   -> EC2SpotFleetSpotFleetRequestConfigData-ec2SpotFleetSpotFleetRequestConfigData iamFleetRolearg launchSpecificationsarg targetCapacityarg =+ec2SpotFleetSpotFleetRequestConfigData iamFleetRolearg targetCapacityarg =   EC2SpotFleetSpotFleetRequestConfigData   { _eC2SpotFleetSpotFleetRequestConfigDataAllocationStrategy = Nothing   , _eC2SpotFleetSpotFleetRequestConfigDataExcessCapacityTerminationPolicy = Nothing   , _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole = iamFleetRolearg-  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications = launchSpecificationsarg+  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications = Nothing+  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs = Nothing   , _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances = Nothing   , _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice = Nothing   , _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity = targetCapacityarg@@ -95,8 +99,12 @@ ecsfsfrcdIamFleetRole = lens _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-ecsfsfrcdLaunchSpecifications :: Lens' EC2SpotFleetSpotFleetRequestConfigData [EC2SpotFleetSpotFleetLaunchSpecification]+ecsfsfrcdLaunchSpecifications :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe [EC2SpotFleetSpotFleetLaunchSpecification]) ecsfsfrcdLaunchSpecifications = lens _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchtemplateconfigs+ecsfsfrcdLaunchTemplateConfigs :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe [EC2SpotFleetLaunchTemplateConfig])+ecsfsfrcdLaunchTemplateConfigs = lens _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs = a })  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-replaceunhealthyinstances ecsfsfrcdReplaceUnhealthyInstances :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe (Val Bool))
library-gen/Stratosphere/Resources.hs view
@@ -66,6 +66,11 @@ import Stratosphere.Resources.ApiGatewayUsagePlan as X import Stratosphere.Resources.ApiGatewayUsagePlanKey as X import Stratosphere.Resources.ApiGatewayVpcLink as X+import Stratosphere.Resources.AppSyncApiKey as X+import Stratosphere.Resources.AppSyncDataSource as X+import Stratosphere.Resources.AppSyncGraphQLApi as X+import Stratosphere.Resources.AppSyncGraphQLSchema as X+import Stratosphere.Resources.AppSyncResolver as X import Stratosphere.Resources.ApplicationAutoScalingScalableTarget as X import Stratosphere.Resources.ApplicationAutoScalingScalingPolicy as X import Stratosphere.Resources.AthenaNamedQuery as X@@ -128,6 +133,7 @@ import Stratosphere.Resources.EC2Host as X import Stratosphere.Resources.EC2Instance as X import Stratosphere.Resources.EC2InternetGateway as X+import Stratosphere.Resources.EC2LaunchTemplate as X import Stratosphere.Resources.EC2NatGateway as X import Stratosphere.Resources.EC2NetworkAcl as X import Stratosphere.Resources.EC2NetworkAclEntry as X@@ -318,6 +324,11 @@ import Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage as X import Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings as X import Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings as X+import Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig as X+import Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig as X+import Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig as X+import Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig as X+import Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScalableTargetAction as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScheduledAction as X import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyCustomizedMetricSpecification as X@@ -461,6 +472,20 @@ import Stratosphere.ResourceProperties.EC2InstancePrivateIpAddressSpecification as X import Stratosphere.ResourceProperties.EC2InstanceSsmAssociation as X import Stratosphere.ResourceProperties.EC2InstanceVolume as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateBlockDeviceMapping as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateCreditSpecification as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateEbs as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateElasticGpuSpecification as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateIamInstanceProfile as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateInstanceMarketOptions as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateIpv6Add as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateLaunchTemplateData as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateMonitoring as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateNetworkInterface as X+import Stratosphere.ResourceProperties.EC2LaunchTemplatePlacement as X+import Stratosphere.ResourceProperties.EC2LaunchTemplatePrivateIpAdd as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateSpotOptions as X+import Stratosphere.ResourceProperties.EC2LaunchTemplateTagSpecification as X import Stratosphere.ResourceProperties.EC2NetworkAclEntryIcmp as X import Stratosphere.ResourceProperties.EC2NetworkAclEntryPortRange as X import Stratosphere.ResourceProperties.EC2NetworkInterfaceInstanceIpv6Address as X@@ -469,10 +494,13 @@ import Stratosphere.ResourceProperties.EC2SecurityGroupIngressProperty as X import Stratosphere.ResourceProperties.EC2SpotFleetBlockDeviceMapping as X import Stratosphere.ResourceProperties.EC2SpotFleetEbsBlockDevice as X+import Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification as X import Stratosphere.ResourceProperties.EC2SpotFleetGroupIdentifier as X import Stratosphere.ResourceProperties.EC2SpotFleetIamInstanceProfileSpecification as X import Stratosphere.ResourceProperties.EC2SpotFleetInstanceIpv6Address as X import Stratosphere.ResourceProperties.EC2SpotFleetInstanceNetworkInterfaceSpecification as X+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig as X+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides as X import Stratosphere.ResourceProperties.EC2SpotFleetPrivateIpAddressSpecification as X import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetLaunchSpecification as X import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetMonitoring as X@@ -846,6 +874,11 @@   | ApiGatewayUsagePlanProperties ApiGatewayUsagePlan   | ApiGatewayUsagePlanKeyProperties ApiGatewayUsagePlanKey   | ApiGatewayVpcLinkProperties ApiGatewayVpcLink+  | AppSyncApiKeyProperties AppSyncApiKey+  | AppSyncDataSourceProperties AppSyncDataSource+  | AppSyncGraphQLApiProperties AppSyncGraphQLApi+  | AppSyncGraphQLSchemaProperties AppSyncGraphQLSchema+  | AppSyncResolverProperties AppSyncResolver   | ApplicationAutoScalingScalableTargetProperties ApplicationAutoScalingScalableTarget   | ApplicationAutoScalingScalingPolicyProperties ApplicationAutoScalingScalingPolicy   | AthenaNamedQueryProperties AthenaNamedQuery@@ -908,6 +941,7 @@   | EC2HostProperties EC2Host   | EC2InstanceProperties EC2Instance   | EC2InternetGatewayProperties EC2InternetGateway+  | EC2LaunchTemplateProperties EC2LaunchTemplate   | EC2NatGatewayProperties EC2NatGateway   | EC2NetworkAclProperties EC2NetworkAcl   | EC2NetworkAclEntryProperties EC2NetworkAclEntry@@ -1177,6 +1211,16 @@   [ "Type" .= ("AWS::ApiGateway::UsagePlanKey" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (ApiGatewayVpcLinkProperties x) =   [ "Type" .= ("AWS::ApiGateway::VpcLink" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (AppSyncApiKeyProperties x) =+  [ "Type" .= ("AWS::AppSync::ApiKey" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (AppSyncDataSourceProperties x) =+  [ "Type" .= ("AWS::AppSync::DataSource" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (AppSyncGraphQLApiProperties x) =+  [ "Type" .= ("AWS::AppSync::GraphQLApi" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (AppSyncGraphQLSchemaProperties x) =+  [ "Type" .= ("AWS::AppSync::GraphQLSchema" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (AppSyncResolverProperties x) =+  [ "Type" .= ("AWS::AppSync::Resolver" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (ApplicationAutoScalingScalableTargetProperties x) =   [ "Type" .= ("AWS::ApplicationAutoScaling::ScalableTarget" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (ApplicationAutoScalingScalingPolicyProperties x) =@@ -1301,6 +1345,8 @@   [ "Type" .= ("AWS::EC2::Instance" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (EC2InternetGatewayProperties x) =   [ "Type" .= ("AWS::EC2::InternetGateway" :: String), "Properties" .= toJSON x]+resourcePropertiesJSON (EC2LaunchTemplateProperties x) =+  [ "Type" .= ("AWS::EC2::LaunchTemplate" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (EC2NatGatewayProperties x) =   [ "Type" .= ("AWS::EC2::NatGateway" :: String), "Properties" .= toJSON x] resourcePropertiesJSON (EC2NetworkAclProperties x) =@@ -1678,6 +1724,11 @@          "AWS::ApiGateway::UsagePlan" -> ApiGatewayUsagePlanProperties <$> (o .: "Properties")          "AWS::ApiGateway::UsagePlanKey" -> ApiGatewayUsagePlanKeyProperties <$> (o .: "Properties")          "AWS::ApiGateway::VpcLink" -> ApiGatewayVpcLinkProperties <$> (o .: "Properties")+         "AWS::AppSync::ApiKey" -> AppSyncApiKeyProperties <$> (o .: "Properties")+         "AWS::AppSync::DataSource" -> AppSyncDataSourceProperties <$> (o .: "Properties")+         "AWS::AppSync::GraphQLApi" -> AppSyncGraphQLApiProperties <$> (o .: "Properties")+         "AWS::AppSync::GraphQLSchema" -> AppSyncGraphQLSchemaProperties <$> (o .: "Properties")+         "AWS::AppSync::Resolver" -> AppSyncResolverProperties <$> (o .: "Properties")          "AWS::ApplicationAutoScaling::ScalableTarget" -> ApplicationAutoScalingScalableTargetProperties <$> (o .: "Properties")          "AWS::ApplicationAutoScaling::ScalingPolicy" -> ApplicationAutoScalingScalingPolicyProperties <$> (o .: "Properties")          "AWS::Athena::NamedQuery" -> AthenaNamedQueryProperties <$> (o .: "Properties")@@ -1740,6 +1791,7 @@          "AWS::EC2::Host" -> EC2HostProperties <$> (o .: "Properties")          "AWS::EC2::Instance" -> EC2InstanceProperties <$> (o .: "Properties")          "AWS::EC2::InternetGateway" -> EC2InternetGatewayProperties <$> (o .: "Properties")+         "AWS::EC2::LaunchTemplate" -> EC2LaunchTemplateProperties <$> (o .: "Properties")          "AWS::EC2::NatGateway" -> EC2NatGatewayProperties <$> (o .: "Properties")          "AWS::EC2::NetworkAcl" -> EC2NetworkAclProperties <$> (o .: "Properties")          "AWS::EC2::NetworkAclEntry" -> EC2NetworkAclEntryProperties <$> (o .: "Properties")
+ library-gen/Stratosphere/Resources/AppSyncApiKey.hs view
@@ -0,0 +1,59 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html++module Stratosphere.Resources.AppSyncApiKey where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncApiKey. See 'appSyncApiKey' for a+-- more convenient constructor.+data AppSyncApiKey =+  AppSyncApiKey+  { _appSyncApiKeyApiId :: Val Text+  , _appSyncApiKeyDescription :: Maybe (Val Text)+  , _appSyncApiKeyExpires :: Maybe (Val Double)+  } deriving (Show, Eq)++instance ToJSON AppSyncApiKey where+  toJSON AppSyncApiKey{..} =+    object $+    catMaybes+    [ (Just . ("ApiId",) . toJSON) _appSyncApiKeyApiId+    , fmap (("Description",) . toJSON) _appSyncApiKeyDescription+    , fmap (("Expires",) . toJSON . fmap Double') _appSyncApiKeyExpires+    ]++instance FromJSON AppSyncApiKey where+  parseJSON (Object obj) =+    AppSyncApiKey <$>+      (obj .: "ApiId") <*>+      (obj .:? "Description") <*>+      fmap (fmap (fmap unDouble')) (obj .:? "Expires")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncApiKey' containing required fields as arguments.+appSyncApiKey+  :: Val Text -- ^ 'asakApiId'+  -> AppSyncApiKey+appSyncApiKey apiIdarg =+  AppSyncApiKey+  { _appSyncApiKeyApiId = apiIdarg+  , _appSyncApiKeyDescription = Nothing+  , _appSyncApiKeyExpires = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid+asakApiId :: Lens' AppSyncApiKey (Val Text)+asakApiId = lens _appSyncApiKeyApiId (\s a -> s { _appSyncApiKeyApiId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description+asakDescription :: Lens' AppSyncApiKey (Maybe (Val Text))+asakDescription = lens _appSyncApiKeyDescription (\s a -> s { _appSyncApiKeyDescription = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires+asakExpires :: Lens' AppSyncApiKey (Maybe (Val Double))+asakExpires = lens _appSyncApiKeyExpires (\s a -> s { _appSyncApiKeyExpires = a })
+ library-gen/Stratosphere/Resources/AppSyncDataSource.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html++module Stratosphere.Resources.AppSyncDataSource where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig+import Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig+import Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig++-- | Full data type definition for AppSyncDataSource. See 'appSyncDataSource'+-- for a more convenient constructor.+data AppSyncDataSource =+  AppSyncDataSource+  { _appSyncDataSourceApiId :: Val Text+  , _appSyncDataSourceDescription :: Maybe (Val Text)+  , _appSyncDataSourceDynamoDBConfig :: Maybe AppSyncDataSourceDynamoDBConfig+  , _appSyncDataSourceElasticsearchConfig :: Maybe AppSyncDataSourceElasticsearchConfig+  , _appSyncDataSourceLambdaConfig :: Maybe AppSyncDataSourceLambdaConfig+  , _appSyncDataSourceName :: Val Text+  , _appSyncDataSourceServiceRoleArn :: Maybe (Val Text)+  , _appSyncDataSourceType :: Val Text+  } deriving (Show, Eq)++instance ToJSON AppSyncDataSource where+  toJSON AppSyncDataSource{..} =+    object $+    catMaybes+    [ (Just . ("ApiId",) . toJSON) _appSyncDataSourceApiId+    , fmap (("Description",) . toJSON) _appSyncDataSourceDescription+    , fmap (("DynamoDBConfig",) . toJSON) _appSyncDataSourceDynamoDBConfig+    , fmap (("ElasticsearchConfig",) . toJSON) _appSyncDataSourceElasticsearchConfig+    , fmap (("LambdaConfig",) . toJSON) _appSyncDataSourceLambdaConfig+    , (Just . ("Name",) . toJSON) _appSyncDataSourceName+    , fmap (("ServiceRoleArn",) . toJSON) _appSyncDataSourceServiceRoleArn+    , (Just . ("Type",) . toJSON) _appSyncDataSourceType+    ]++instance FromJSON AppSyncDataSource where+  parseJSON (Object obj) =+    AppSyncDataSource <$>+      (obj .: "ApiId") <*>+      (obj .:? "Description") <*>+      (obj .:? "DynamoDBConfig") <*>+      (obj .:? "ElasticsearchConfig") <*>+      (obj .:? "LambdaConfig") <*>+      (obj .: "Name") <*>+      (obj .:? "ServiceRoleArn") <*>+      (obj .: "Type")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncDataSource' containing required fields as+-- arguments.+appSyncDataSource+  :: Val Text -- ^ 'asdsApiId'+  -> Val Text -- ^ 'asdsName'+  -> Val Text -- ^ 'asdsType'+  -> AppSyncDataSource+appSyncDataSource apiIdarg namearg typearg =+  AppSyncDataSource+  { _appSyncDataSourceApiId = apiIdarg+  , _appSyncDataSourceDescription = Nothing+  , _appSyncDataSourceDynamoDBConfig = Nothing+  , _appSyncDataSourceElasticsearchConfig = Nothing+  , _appSyncDataSourceLambdaConfig = Nothing+  , _appSyncDataSourceName = namearg+  , _appSyncDataSourceServiceRoleArn = Nothing+  , _appSyncDataSourceType = typearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-apiid+asdsApiId :: Lens' AppSyncDataSource (Val Text)+asdsApiId = lens _appSyncDataSourceApiId (\s a -> s { _appSyncDataSourceApiId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description+asdsDescription :: Lens' AppSyncDataSource (Maybe (Val Text))+asdsDescription = lens _appSyncDataSourceDescription (\s a -> s { _appSyncDataSourceDescription = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-dynamodbconfig+asdsDynamoDBConfig :: Lens' AppSyncDataSource (Maybe AppSyncDataSourceDynamoDBConfig)+asdsDynamoDBConfig = lens _appSyncDataSourceDynamoDBConfig (\s a -> s { _appSyncDataSourceDynamoDBConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-elasticsearchconfig+asdsElasticsearchConfig :: Lens' AppSyncDataSource (Maybe AppSyncDataSourceElasticsearchConfig)+asdsElasticsearchConfig = lens _appSyncDataSourceElasticsearchConfig (\s a -> s { _appSyncDataSourceElasticsearchConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-lambdaconfig+asdsLambdaConfig :: Lens' AppSyncDataSource (Maybe AppSyncDataSourceLambdaConfig)+asdsLambdaConfig = lens _appSyncDataSourceLambdaConfig (\s a -> s { _appSyncDataSourceLambdaConfig = a })++-- | 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-servicerolearn+asdsServiceRoleArn :: Lens' AppSyncDataSource (Maybe (Val Text))+asdsServiceRoleArn = lens _appSyncDataSourceServiceRoleArn (\s a -> s { _appSyncDataSourceServiceRoleArn = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type+asdsType :: Lens' AppSyncDataSource (Val Text)+asdsType = lens _appSyncDataSourceType (\s a -> s { _appSyncDataSourceType = a })
+ library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html++module Stratosphere.Resources.AppSyncGraphQLApi where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig+import Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig++-- | Full data type definition for AppSyncGraphQLApi. See 'appSyncGraphQLApi'+-- for a more convenient constructor.+data AppSyncGraphQLApi =+  AppSyncGraphQLApi+  { _appSyncGraphQLApiAuthenticationType :: Val Text+  , _appSyncGraphQLApiLogConfig :: Maybe AppSyncGraphQLApiLogConfig+  , _appSyncGraphQLApiName :: Val Text+  , _appSyncGraphQLApiUserPoolConfig :: Maybe AppSyncGraphQLApiUserPoolConfig+  } deriving (Show, Eq)++instance ToJSON AppSyncGraphQLApi where+  toJSON AppSyncGraphQLApi{..} =+    object $+    catMaybes+    [ (Just . ("AuthenticationType",) . toJSON) _appSyncGraphQLApiAuthenticationType+    , fmap (("LogConfig",) . toJSON) _appSyncGraphQLApiLogConfig+    , (Just . ("Name",) . toJSON) _appSyncGraphQLApiName+    , fmap (("UserPoolConfig",) . toJSON) _appSyncGraphQLApiUserPoolConfig+    ]++instance FromJSON AppSyncGraphQLApi where+  parseJSON (Object obj) =+    AppSyncGraphQLApi <$>+      (obj .: "AuthenticationType") <*>+      (obj .:? "LogConfig") <*>+      (obj .: "Name") <*>+      (obj .:? "UserPoolConfig")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncGraphQLApi' containing required fields as+-- arguments.+appSyncGraphQLApi+  :: Val Text -- ^ 'asgqlaAuthenticationType'+  -> Val Text -- ^ 'asgqlaName'+  -> AppSyncGraphQLApi+appSyncGraphQLApi authenticationTypearg namearg =+  AppSyncGraphQLApi+  { _appSyncGraphQLApiAuthenticationType = authenticationTypearg+  , _appSyncGraphQLApiLogConfig = Nothing+  , _appSyncGraphQLApiName = namearg+  , _appSyncGraphQLApiUserPoolConfig = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype+asgqlaAuthenticationType :: Lens' AppSyncGraphQLApi (Val Text)+asgqlaAuthenticationType = lens _appSyncGraphQLApiAuthenticationType (\s a -> s { _appSyncGraphQLApiAuthenticationType = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig+asgqlaLogConfig :: Lens' AppSyncGraphQLApi (Maybe AppSyncGraphQLApiLogConfig)+asgqlaLogConfig = lens _appSyncGraphQLApiLogConfig (\s a -> s { _appSyncGraphQLApiLogConfig = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name+asgqlaName :: Lens' AppSyncGraphQLApi (Val Text)+asgqlaName = lens _appSyncGraphQLApiName (\s a -> s { _appSyncGraphQLApiName = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig+asgqlaUserPoolConfig :: Lens' AppSyncGraphQLApi (Maybe AppSyncGraphQLApiUserPoolConfig)+asgqlaUserPoolConfig = lens _appSyncGraphQLApiUserPoolConfig (\s a -> s { _appSyncGraphQLApiUserPoolConfig = a })
+ library-gen/Stratosphere/Resources/AppSyncGraphQLSchema.hs view
@@ -0,0 +1,60 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html++module Stratosphere.Resources.AppSyncGraphQLSchema where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncGraphQLSchema. See+-- 'appSyncGraphQLSchema' for a more convenient constructor.+data AppSyncGraphQLSchema =+  AppSyncGraphQLSchema+  { _appSyncGraphQLSchemaApiId :: Val Text+  , _appSyncGraphQLSchemaDefinition :: Maybe (Val Text)+  , _appSyncGraphQLSchemaDefinitionS3Location :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON AppSyncGraphQLSchema where+  toJSON AppSyncGraphQLSchema{..} =+    object $+    catMaybes+    [ (Just . ("ApiId",) . toJSON) _appSyncGraphQLSchemaApiId+    , fmap (("Definition",) . toJSON) _appSyncGraphQLSchemaDefinition+    , fmap (("DefinitionS3Location",) . toJSON) _appSyncGraphQLSchemaDefinitionS3Location+    ]++instance FromJSON AppSyncGraphQLSchema where+  parseJSON (Object obj) =+    AppSyncGraphQLSchema <$>+      (obj .: "ApiId") <*>+      (obj .:? "Definition") <*>+      (obj .:? "DefinitionS3Location")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncGraphQLSchema' containing required fields as+-- arguments.+appSyncGraphQLSchema+  :: Val Text -- ^ 'asgqlsApiId'+  -> AppSyncGraphQLSchema+appSyncGraphQLSchema apiIdarg =+  AppSyncGraphQLSchema+  { _appSyncGraphQLSchemaApiId = apiIdarg+  , _appSyncGraphQLSchemaDefinition = Nothing+  , _appSyncGraphQLSchemaDefinitionS3Location = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-apiid+asgqlsApiId :: Lens' AppSyncGraphQLSchema (Val Text)+asgqlsApiId = lens _appSyncGraphQLSchemaApiId (\s a -> s { _appSyncGraphQLSchemaApiId = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definition+asgqlsDefinition :: Lens' AppSyncGraphQLSchema (Maybe (Val Text))+asgqlsDefinition = lens _appSyncGraphQLSchemaDefinition (\s a -> s { _appSyncGraphQLSchemaDefinition = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definitions3location+asgqlsDefinitionS3Location :: Lens' AppSyncGraphQLSchema (Maybe (Val Text))+asgqlsDefinitionS3Location = lens _appSyncGraphQLSchemaDefinitionS3Location (\s a -> s { _appSyncGraphQLSchemaDefinitionS3Location = a })
+ library-gen/Stratosphere/Resources/AppSyncResolver.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html++module Stratosphere.Resources.AppSyncResolver where++import Stratosphere.ResourceImports+++-- | Full data type definition for AppSyncResolver. See 'appSyncResolver' for+-- a more convenient constructor.+data AppSyncResolver =+  AppSyncResolver+  { _appSyncResolverApiId :: Val Text+  , _appSyncResolverDataSourceName :: Val Text+  , _appSyncResolverFieldName :: Val Text+  , _appSyncResolverRequestMappingTemplate :: Maybe (Val Text)+  , _appSyncResolverRequestMappingTemplateS3Location :: Maybe (Val Text)+  , _appSyncResolverResponseMappingTemplate :: Maybe (Val Text)+  , _appSyncResolverResponseMappingTemplateS3Location :: Maybe (Val Text)+  , _appSyncResolverTypeName :: Val Text+  } deriving (Show, Eq)++instance ToJSON AppSyncResolver where+  toJSON AppSyncResolver{..} =+    object $+    catMaybes+    [ (Just . ("ApiId",) . toJSON) _appSyncResolverApiId+    , (Just . ("DataSourceName",) . toJSON) _appSyncResolverDataSourceName+    , (Just . ("FieldName",) . toJSON) _appSyncResolverFieldName+    , fmap (("RequestMappingTemplate",) . toJSON) _appSyncResolverRequestMappingTemplate+    , fmap (("RequestMappingTemplateS3Location",) . toJSON) _appSyncResolverRequestMappingTemplateS3Location+    , fmap (("ResponseMappingTemplate",) . toJSON) _appSyncResolverResponseMappingTemplate+    , fmap (("ResponseMappingTemplateS3Location",) . toJSON) _appSyncResolverResponseMappingTemplateS3Location+    , (Just . ("TypeName",) . toJSON) _appSyncResolverTypeName+    ]++instance FromJSON AppSyncResolver where+  parseJSON (Object obj) =+    AppSyncResolver <$>+      (obj .: "ApiId") <*>+      (obj .: "DataSourceName") <*>+      (obj .: "FieldName") <*>+      (obj .:? "RequestMappingTemplate") <*>+      (obj .:? "RequestMappingTemplateS3Location") <*>+      (obj .:? "ResponseMappingTemplate") <*>+      (obj .:? "ResponseMappingTemplateS3Location") <*>+      (obj .: "TypeName")+  parseJSON _ = mempty++-- | Constructor for 'AppSyncResolver' containing required fields as+-- arguments.+appSyncResolver+  :: Val Text -- ^ 'asrApiId'+  -> Val Text -- ^ 'asrDataSourceName'+  -> Val Text -- ^ 'asrFieldName'+  -> Val Text -- ^ 'asrTypeName'+  -> AppSyncResolver+appSyncResolver apiIdarg dataSourceNamearg fieldNamearg typeNamearg =+  AppSyncResolver+  { _appSyncResolverApiId = apiIdarg+  , _appSyncResolverDataSourceName = dataSourceNamearg+  , _appSyncResolverFieldName = fieldNamearg+  , _appSyncResolverRequestMappingTemplate = Nothing+  , _appSyncResolverRequestMappingTemplateS3Location = Nothing+  , _appSyncResolverResponseMappingTemplate = Nothing+  , _appSyncResolverResponseMappingTemplateS3Location = Nothing+  , _appSyncResolverTypeName = typeNamearg+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-apiid+asrApiId :: Lens' AppSyncResolver (Val Text)+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 _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-requestmappingtemplate+asrRequestMappingTemplate :: Lens' AppSyncResolver (Maybe (Val Text))+asrRequestMappingTemplate = lens _appSyncResolverRequestMappingTemplate (\s a -> s { _appSyncResolverRequestMappingTemplate = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-requestmappingtemplates3location+asrRequestMappingTemplateS3Location :: Lens' AppSyncResolver (Maybe (Val Text))+asrRequestMappingTemplateS3Location = lens _appSyncResolverRequestMappingTemplateS3Location (\s a -> s { _appSyncResolverRequestMappingTemplateS3Location = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-responsemappingtemplate+asrResponseMappingTemplate :: Lens' AppSyncResolver (Maybe (Val Text))+asrResponseMappingTemplate = lens _appSyncResolverResponseMappingTemplate (\s a -> s { _appSyncResolverResponseMappingTemplate = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-responsemappingtemplates3location+asrResponseMappingTemplateS3Location :: Lens' AppSyncResolver (Maybe (Val Text))+asrResponseMappingTemplateS3Location = lens _appSyncResolverResponseMappingTemplateS3Location (\s a -> s { _appSyncResolverResponseMappingTemplateS3Location = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename+asrTypeName :: Lens' AppSyncResolver (Val Text)+asrTypeName = lens _appSyncResolverTypeName (\s a -> s { _appSyncResolverTypeName = a })
library-gen/Stratosphere/Resources/CognitoUserPool.hs view
@@ -35,6 +35,7 @@   , _cognitoUserPoolSmsVerificationMessage :: Maybe (Val Text)   , _cognitoUserPoolUserPoolName :: Maybe (Val Text)   , _cognitoUserPoolUserPoolTags :: Maybe Object+  , _cognitoUserPoolUsernameAttributes :: Maybe (ValList Text)   } deriving (Show, Eq)  instance ToJSON CognitoUserPool where@@ -57,6 +58,7 @@     , fmap (("SmsVerificationMessage",) . toJSON) _cognitoUserPoolSmsVerificationMessage     , fmap (("UserPoolName",) . toJSON) _cognitoUserPoolUserPoolName     , fmap (("UserPoolTags",) . toJSON) _cognitoUserPoolUserPoolTags+    , fmap (("UsernameAttributes",) . toJSON) _cognitoUserPoolUsernameAttributes     ]  instance FromJSON CognitoUserPool where@@ -77,7 +79,8 @@       (obj .:? "SmsConfiguration") <*>       (obj .:? "SmsVerificationMessage") <*>       (obj .:? "UserPoolName") <*>-      (obj .:? "UserPoolTags")+      (obj .:? "UserPoolTags") <*>+      (obj .:? "UsernameAttributes")   parseJSON _ = mempty  -- | Constructor for 'CognitoUserPool' containing required fields as@@ -102,6 +105,7 @@   , _cognitoUserPoolSmsVerificationMessage = Nothing   , _cognitoUserPoolUserPoolName = Nothing   , _cognitoUserPoolUserPoolTags = Nothing+  , _cognitoUserPoolUsernameAttributes = Nothing   }  -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig@@ -167,3 +171,7 @@ -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltags cupUserPoolTags :: Lens' CognitoUserPool (Maybe Object) cupUserPoolTags = lens _cognitoUserPoolUserPoolTags (\s a -> s { _cognitoUserPoolUserPoolTags = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes+cupUsernameAttributes :: Lens' CognitoUserPool (Maybe (ValList Text))+cupUsernameAttributes = lens _cognitoUserPoolUsernameAttributes (\s a -> s { _cognitoUserPoolUsernameAttributes = a })
+ library-gen/Stratosphere/Resources/EC2LaunchTemplate.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html++module Stratosphere.Resources.EC2LaunchTemplate where++import Stratosphere.ResourceImports+import Stratosphere.ResourceProperties.EC2LaunchTemplateLaunchTemplateData++-- | Full data type definition for EC2LaunchTemplate. See 'ec2LaunchTemplate'+-- for a more convenient constructor.+data EC2LaunchTemplate =+  EC2LaunchTemplate+  { _eC2LaunchTemplateLaunchTemplateData :: Maybe EC2LaunchTemplateLaunchTemplateData+  , _eC2LaunchTemplateLaunchTemplateName :: Maybe (Val Text)+  } deriving (Show, Eq)++instance ToJSON EC2LaunchTemplate where+  toJSON EC2LaunchTemplate{..} =+    object $+    catMaybes+    [ fmap (("LaunchTemplateData",) . toJSON) _eC2LaunchTemplateLaunchTemplateData+    , fmap (("LaunchTemplateName",) . toJSON) _eC2LaunchTemplateLaunchTemplateName+    ]++instance FromJSON EC2LaunchTemplate where+  parseJSON (Object obj) =+    EC2LaunchTemplate <$>+      (obj .:? "LaunchTemplateData") <*>+      (obj .:? "LaunchTemplateName")+  parseJSON _ = mempty++-- | Constructor for 'EC2LaunchTemplate' containing required fields as+-- arguments.+ec2LaunchTemplate+  :: EC2LaunchTemplate+ec2LaunchTemplate  =+  EC2LaunchTemplate+  { _eC2LaunchTemplateLaunchTemplateData = Nothing+  , _eC2LaunchTemplateLaunchTemplateName = Nothing+  }++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatedata+ecltLaunchTemplateData :: Lens' EC2LaunchTemplate (Maybe EC2LaunchTemplateLaunchTemplateData)+ecltLaunchTemplateData = lens _eC2LaunchTemplateLaunchTemplateData (\s a -> s { _eC2LaunchTemplateLaunchTemplateData = a })++-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatename+ecltLaunchTemplateName :: Lens' EC2LaunchTemplate (Maybe (Val Text))+ecltLaunchTemplateName = lens _eC2LaunchTemplateLaunchTemplateName (\s a -> s { _eC2LaunchTemplateLaunchTemplateName = a })
library/Stratosphere/Types.hs view
@@ -174,6 +174,7 @@   | NodeJS43   | NodeJS43Edge   | NodeJS610+  | NodeJS810   | Java8   | Python27   | Python36@@ -190,6 +191,7 @@       parse "nodejs4.3" = pure NodeJS43       parse "nodejs4.3-edge" = pure NodeJS43Edge       parse "nodejs6.10" = pure NodeJS610+      parse "nodejs8.10" = pure NodeJS810       parse "java8" = pure Java8       parse "python2.7" = pure Python27       parse "python3.6" = pure Python36@@ -203,6 +205,7 @@   toJSON NodeJS43 = String "nodejs4.3"   toJSON NodeJS43Edge = String "nodejs4.3-edge"   toJSON NodeJS610 = String "nodejs6.10"+  toJSON NodeJS810 = String "nodejs8.10"   toJSON Java8 = String "java8"   toJSON Python27 = String "python2.7"   toJSON Python36 = String "python3.6"
stratosphere.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 93a50095a8cd5df309de96dfda03a59ead7c055c1d2b062b951190f09ec7c2b3+-- hash: 8aebbd10d21f3b866d891fb4a07cbd63cdef2fa3ab045a59255fdfd6fc01fd15  name:           stratosphere-version:        0.20.0+version:        0.21.0 synopsis:       EDSL for AWS CloudFormation description:    EDSL for AWS CloudFormation category:       AWS, Cloud@@ -85,6 +85,11 @@       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepAdjustment       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration+      Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig+      Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig+      Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig+      Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig+      Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration@@ -220,6 +225,20 @@       Stratosphere.ResourceProperties.EC2InstancePrivateIpAddressSpecification       Stratosphere.ResourceProperties.EC2InstanceSsmAssociation       Stratosphere.ResourceProperties.EC2InstanceVolume+      Stratosphere.ResourceProperties.EC2LaunchTemplateBlockDeviceMapping+      Stratosphere.ResourceProperties.EC2LaunchTemplateCreditSpecification+      Stratosphere.ResourceProperties.EC2LaunchTemplateEbs+      Stratosphere.ResourceProperties.EC2LaunchTemplateElasticGpuSpecification+      Stratosphere.ResourceProperties.EC2LaunchTemplateIamInstanceProfile+      Stratosphere.ResourceProperties.EC2LaunchTemplateInstanceMarketOptions+      Stratosphere.ResourceProperties.EC2LaunchTemplateIpv6Add+      Stratosphere.ResourceProperties.EC2LaunchTemplateLaunchTemplateData+      Stratosphere.ResourceProperties.EC2LaunchTemplateMonitoring+      Stratosphere.ResourceProperties.EC2LaunchTemplateNetworkInterface+      Stratosphere.ResourceProperties.EC2LaunchTemplatePlacement+      Stratosphere.ResourceProperties.EC2LaunchTemplatePrivateIpAdd+      Stratosphere.ResourceProperties.EC2LaunchTemplateSpotOptions+      Stratosphere.ResourceProperties.EC2LaunchTemplateTagSpecification       Stratosphere.ResourceProperties.EC2NetworkAclEntryIcmp       Stratosphere.ResourceProperties.EC2NetworkAclEntryPortRange       Stratosphere.ResourceProperties.EC2NetworkInterfaceInstanceIpv6Address@@ -228,10 +247,13 @@       Stratosphere.ResourceProperties.EC2SecurityGroupIngressProperty       Stratosphere.ResourceProperties.EC2SpotFleetBlockDeviceMapping       Stratosphere.ResourceProperties.EC2SpotFleetEbsBlockDevice+      Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification       Stratosphere.ResourceProperties.EC2SpotFleetGroupIdentifier       Stratosphere.ResourceProperties.EC2SpotFleetIamInstanceProfileSpecification       Stratosphere.ResourceProperties.EC2SpotFleetInstanceIpv6Address       Stratosphere.ResourceProperties.EC2SpotFleetInstanceNetworkInterfaceSpecification+      Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig+      Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides       Stratosphere.ResourceProperties.EC2SpotFleetPrivateIpAddressSpecification       Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetLaunchSpecification       Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetMonitoring@@ -597,6 +619,11 @@       Stratosphere.Resources.ApiGatewayVpcLink       Stratosphere.Resources.ApplicationAutoScalingScalableTarget       Stratosphere.Resources.ApplicationAutoScalingScalingPolicy+      Stratosphere.Resources.AppSyncApiKey+      Stratosphere.Resources.AppSyncDataSource+      Stratosphere.Resources.AppSyncGraphQLApi+      Stratosphere.Resources.AppSyncGraphQLSchema+      Stratosphere.Resources.AppSyncResolver       Stratosphere.Resources.AthenaNamedQuery       Stratosphere.Resources.AutoScalingAutoScalingGroup       Stratosphere.Resources.AutoScalingLaunchConfiguration@@ -657,6 +684,7 @@       Stratosphere.Resources.EC2Host       Stratosphere.Resources.EC2Instance       Stratosphere.Resources.EC2InternetGateway+      Stratosphere.Resources.EC2LaunchTemplate       Stratosphere.Resources.EC2NatGateway       Stratosphere.Resources.EC2NetworkAcl       Stratosphere.Resources.EC2NetworkAclEntry