stratosphere 0.20.0 → 0.21.0
raw patch · 34 files changed
+2030/−10 lines, 34 files
Files
- CHANGELOG.md +5/−0
- library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs +61/−0
- library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceElasticsearchConfig.hs +53/−0
- library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceLambdaConfig.hs +44/−0
- library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiLogConfig.hs +51/−0
- library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiUserPoolConfig.hs +67/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateBlockDeviceMapping.hs +67/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCreditSpecification.hs +43/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateEbs.hs +91/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateElasticGpuSpecification.hs +44/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateIamInstanceProfile.hs +51/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateInstanceMarketOptions.hs +52/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateIpv6Add.hs +43/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateLaunchTemplateData.hs +203/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateMonitoring.hs +43/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateNetworkInterface.hs +132/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePlacement.hs +75/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePrivateIpAdd.hs +51/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateSpotOptions.hs +59/−0
- library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateTagSpecification.hs +51/−0
- library-gen/Stratosphere/ResourceProperties/EC2SpotFleetFleetLaunchTemplateSpecification.hs +61/−0
- library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateConfig.hs +52/−0
- library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs +75/−0
- library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs +15/−7
- library-gen/Stratosphere/Resources.hs +52/−0
- library-gen/Stratosphere/Resources/AppSyncApiKey.hs +59/−0
- library-gen/Stratosphere/Resources/AppSyncDataSource.hs +104/−0
- library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs +70/−0
- library-gen/Stratosphere/Resources/AppSyncGraphQLSchema.hs +60/−0
- library-gen/Stratosphere/Resources/AppSyncResolver.hs +103/−0
- library-gen/Stratosphere/Resources/CognitoUserPool.hs +9/−1
- library-gen/Stratosphere/Resources/EC2LaunchTemplate.hs +51/−0
- library/Stratosphere/Types.hs +3/−0
- stratosphere.cabal +30/−2
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