diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.47.0
+
+* Update resource specification document to version 10.2.0
+
 ## 0.46.0
 
 * Update resource specification document to version 8.1.0
diff --git a/library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerArchiveRule.hs b/library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerArchiveRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerArchiveRule.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html
+
+module Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerArchiveRule where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerFilter
+
+-- | Full data type definition for AccessAnalyzerAnalyzerArchiveRule. See
+-- 'accessAnalyzerAnalyzerArchiveRule' for a more convenient constructor.
+data AccessAnalyzerAnalyzerArchiveRule =
+  AccessAnalyzerAnalyzerArchiveRule
+  { _accessAnalyzerAnalyzerArchiveRuleFilter :: [AccessAnalyzerAnalyzerFilter]
+  , _accessAnalyzerAnalyzerArchiveRuleRuleName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AccessAnalyzerAnalyzerArchiveRule where
+  toJSON AccessAnalyzerAnalyzerArchiveRule{..} =
+    object $
+    catMaybes
+    [ (Just . ("Filter",) . toJSON) _accessAnalyzerAnalyzerArchiveRuleFilter
+    , (Just . ("RuleName",) . toJSON) _accessAnalyzerAnalyzerArchiveRuleRuleName
+    ]
+
+-- | Constructor for 'AccessAnalyzerAnalyzerArchiveRule' containing required
+-- fields as arguments.
+accessAnalyzerAnalyzerArchiveRule
+  :: [AccessAnalyzerAnalyzerFilter] -- ^ 'aaaarFilter'
+  -> Val Text -- ^ 'aaaarRuleName'
+  -> AccessAnalyzerAnalyzerArchiveRule
+accessAnalyzerAnalyzerArchiveRule filterarg ruleNamearg =
+  AccessAnalyzerAnalyzerArchiveRule
+  { _accessAnalyzerAnalyzerArchiveRuleFilter = filterarg
+  , _accessAnalyzerAnalyzerArchiveRuleRuleName = ruleNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-filter
+aaaarFilter :: Lens' AccessAnalyzerAnalyzerArchiveRule [AccessAnalyzerAnalyzerFilter]
+aaaarFilter = lens _accessAnalyzerAnalyzerArchiveRuleFilter (\s a -> s { _accessAnalyzerAnalyzerArchiveRuleFilter = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-rulename
+aaaarRuleName :: Lens' AccessAnalyzerAnalyzerArchiveRule (Val Text)
+aaaarRuleName = lens _accessAnalyzerAnalyzerArchiveRuleRuleName (\s a -> s { _accessAnalyzerAnalyzerArchiveRuleRuleName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerFilter.hs b/library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerFilter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerFilter.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html
+
+module Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerFilter where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AccessAnalyzerAnalyzerFilter. See
+-- 'accessAnalyzerAnalyzerFilter' for a more convenient constructor.
+data AccessAnalyzerAnalyzerFilter =
+  AccessAnalyzerAnalyzerFilter
+  { _accessAnalyzerAnalyzerFilterContains :: Maybe (ValList Text)
+  , _accessAnalyzerAnalyzerFilterEq :: Maybe (ValList Text)
+  , _accessAnalyzerAnalyzerFilterExists :: Maybe (Val Bool)
+  , _accessAnalyzerAnalyzerFilterNeq :: Maybe (ValList Text)
+  , _accessAnalyzerAnalyzerFilterProperty :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AccessAnalyzerAnalyzerFilter where
+  toJSON AccessAnalyzerAnalyzerFilter{..} =
+    object $
+    catMaybes
+    [ fmap (("Contains",) . toJSON) _accessAnalyzerAnalyzerFilterContains
+    , fmap (("Eq",) . toJSON) _accessAnalyzerAnalyzerFilterEq
+    , fmap (("Exists",) . toJSON) _accessAnalyzerAnalyzerFilterExists
+    , fmap (("Neq",) . toJSON) _accessAnalyzerAnalyzerFilterNeq
+    , (Just . ("Property",) . toJSON) _accessAnalyzerAnalyzerFilterProperty
+    ]
+
+-- | Constructor for 'AccessAnalyzerAnalyzerFilter' containing required fields
+-- as arguments.
+accessAnalyzerAnalyzerFilter
+  :: Val Text -- ^ 'aaafProperty'
+  -> AccessAnalyzerAnalyzerFilter
+accessAnalyzerAnalyzerFilter propertyarg =
+  AccessAnalyzerAnalyzerFilter
+  { _accessAnalyzerAnalyzerFilterContains = Nothing
+  , _accessAnalyzerAnalyzerFilterEq = Nothing
+  , _accessAnalyzerAnalyzerFilterExists = Nothing
+  , _accessAnalyzerAnalyzerFilterNeq = Nothing
+  , _accessAnalyzerAnalyzerFilterProperty = propertyarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-contains
+aaafContains :: Lens' AccessAnalyzerAnalyzerFilter (Maybe (ValList Text))
+aaafContains = lens _accessAnalyzerAnalyzerFilterContains (\s a -> s { _accessAnalyzerAnalyzerFilterContains = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-eq
+aaafEq :: Lens' AccessAnalyzerAnalyzerFilter (Maybe (ValList Text))
+aaafEq = lens _accessAnalyzerAnalyzerFilterEq (\s a -> s { _accessAnalyzerAnalyzerFilterEq = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-exists
+aaafExists :: Lens' AccessAnalyzerAnalyzerFilter (Maybe (Val Bool))
+aaafExists = lens _accessAnalyzerAnalyzerFilterExists (\s a -> s { _accessAnalyzerAnalyzerFilterExists = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-neq
+aaafNeq :: Lens' AccessAnalyzerAnalyzerFilter (Maybe (ValList Text))
+aaafNeq = lens _accessAnalyzerAnalyzerFilterNeq (\s a -> s { _accessAnalyzerAnalyzerFilterNeq = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-property
+aaafProperty :: Lens' AccessAnalyzerAnalyzerFilter (Val Text)
+aaafProperty = lens _accessAnalyzerAnalyzerFilterProperty (\s a -> s { _accessAnalyzerAnalyzerFilterProperty = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiEndpointConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiEndpointConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiEndpointConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiEndpointConfiguration.hs
@@ -16,6 +16,7 @@
 data ApiGatewayRestApiEndpointConfiguration =
   ApiGatewayRestApiEndpointConfiguration
   { _apiGatewayRestApiEndpointConfigurationTypes :: Maybe (ValList Text)
+  , _apiGatewayRestApiEndpointConfigurationVpcEndpointIds :: Maybe (ValList Text)
   } deriving (Show, Eq)
 
 instance ToJSON ApiGatewayRestApiEndpointConfiguration where
@@ -23,6 +24,7 @@
     object $
     catMaybes
     [ fmap (("Types",) . toJSON) _apiGatewayRestApiEndpointConfigurationTypes
+    , fmap (("VpcEndpointIds",) . toJSON) _apiGatewayRestApiEndpointConfigurationVpcEndpointIds
     ]
 
 -- | Constructor for 'ApiGatewayRestApiEndpointConfiguration' containing
@@ -32,8 +34,13 @@
 apiGatewayRestApiEndpointConfiguration  =
   ApiGatewayRestApiEndpointConfiguration
   { _apiGatewayRestApiEndpointConfigurationTypes = Nothing
+  , _apiGatewayRestApiEndpointConfigurationVpcEndpointIds = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types
 agraecTypes :: Lens' ApiGatewayRestApiEndpointConfiguration (Maybe (ValList Text))
 agraecTypes = lens _apiGatewayRestApiEndpointConfigurationTypes (\s a -> s { _apiGatewayRestApiEndpointConfigurationTypes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids
+agraecVpcEndpointIds :: Lens' ApiGatewayRestApiEndpointConfiguration (Maybe (ValList Text))
+agraecVpcEndpointIds = lens _apiGatewayRestApiEndpointConfigurationVpcEndpointIds (\s a -> s { _apiGatewayRestApiEndpointConfigurationVpcEndpointIds = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2ApiBodyS3Location.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2ApiBodyS3Location.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2ApiBodyS3Location.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html
+
+module Stratosphere.ResourceProperties.ApiGatewayV2ApiBodyS3Location where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayV2ApiBodyS3Location. See
+-- 'apiGatewayV2ApiBodyS3Location' for a more convenient constructor.
+data ApiGatewayV2ApiBodyS3Location =
+  ApiGatewayV2ApiBodyS3Location
+  { _apiGatewayV2ApiBodyS3LocationBucket :: Maybe (Val Text)
+  , _apiGatewayV2ApiBodyS3LocationEtag :: Maybe (Val Text)
+  , _apiGatewayV2ApiBodyS3LocationKey :: Maybe (Val Text)
+  , _apiGatewayV2ApiBodyS3LocationVersion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayV2ApiBodyS3Location where
+  toJSON ApiGatewayV2ApiBodyS3Location{..} =
+    object $
+    catMaybes
+    [ fmap (("Bucket",) . toJSON) _apiGatewayV2ApiBodyS3LocationBucket
+    , fmap (("Etag",) . toJSON) _apiGatewayV2ApiBodyS3LocationEtag
+    , fmap (("Key",) . toJSON) _apiGatewayV2ApiBodyS3LocationKey
+    , fmap (("Version",) . toJSON) _apiGatewayV2ApiBodyS3LocationVersion
+    ]
+
+-- | Constructor for 'ApiGatewayV2ApiBodyS3Location' containing required
+-- fields as arguments.
+apiGatewayV2ApiBodyS3Location
+  :: ApiGatewayV2ApiBodyS3Location
+apiGatewayV2ApiBodyS3Location  =
+  ApiGatewayV2ApiBodyS3Location
+  { _apiGatewayV2ApiBodyS3LocationBucket = Nothing
+  , _apiGatewayV2ApiBodyS3LocationEtag = Nothing
+  , _apiGatewayV2ApiBodyS3LocationKey = Nothing
+  , _apiGatewayV2ApiBodyS3LocationVersion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket
+agvabslBucket :: Lens' ApiGatewayV2ApiBodyS3Location (Maybe (Val Text))
+agvabslBucket = lens _apiGatewayV2ApiBodyS3LocationBucket (\s a -> s { _apiGatewayV2ApiBodyS3LocationBucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-etag
+agvabslEtag :: Lens' ApiGatewayV2ApiBodyS3Location (Maybe (Val Text))
+agvabslEtag = lens _apiGatewayV2ApiBodyS3LocationEtag (\s a -> s { _apiGatewayV2ApiBodyS3LocationEtag = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key
+agvabslKey :: Lens' ApiGatewayV2ApiBodyS3Location (Maybe (Val Text))
+agvabslKey = lens _apiGatewayV2ApiBodyS3LocationKey (\s a -> s { _apiGatewayV2ApiBodyS3LocationKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version
+agvabslVersion :: Lens' ApiGatewayV2ApiBodyS3Location (Maybe (Val Text))
+agvabslVersion = lens _apiGatewayV2ApiBodyS3LocationVersion (\s a -> s { _apiGatewayV2ApiBodyS3LocationVersion = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2ApiCors.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2ApiCors.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2ApiCors.hs
@@ -0,0 +1,73 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html
+
+module Stratosphere.ResourceProperties.ApiGatewayV2ApiCors where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayV2ApiCors. See
+-- 'apiGatewayV2ApiCors' for a more convenient constructor.
+data ApiGatewayV2ApiCors =
+  ApiGatewayV2ApiCors
+  { _apiGatewayV2ApiCorsAllowCredentials :: Maybe (Val Bool)
+  , _apiGatewayV2ApiCorsAllowHeaders :: Maybe (ValList Text)
+  , _apiGatewayV2ApiCorsAllowMethods :: Maybe (ValList Text)
+  , _apiGatewayV2ApiCorsAllowOrigins :: Maybe (ValList Text)
+  , _apiGatewayV2ApiCorsExposeHeaders :: Maybe (ValList Text)
+  , _apiGatewayV2ApiCorsMaxAge :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayV2ApiCors where
+  toJSON ApiGatewayV2ApiCors{..} =
+    object $
+    catMaybes
+    [ fmap (("AllowCredentials",) . toJSON) _apiGatewayV2ApiCorsAllowCredentials
+    , fmap (("AllowHeaders",) . toJSON) _apiGatewayV2ApiCorsAllowHeaders
+    , fmap (("AllowMethods",) . toJSON) _apiGatewayV2ApiCorsAllowMethods
+    , fmap (("AllowOrigins",) . toJSON) _apiGatewayV2ApiCorsAllowOrigins
+    , fmap (("ExposeHeaders",) . toJSON) _apiGatewayV2ApiCorsExposeHeaders
+    , fmap (("MaxAge",) . toJSON) _apiGatewayV2ApiCorsMaxAge
+    ]
+
+-- | Constructor for 'ApiGatewayV2ApiCors' containing required fields as
+-- arguments.
+apiGatewayV2ApiCors
+  :: ApiGatewayV2ApiCors
+apiGatewayV2ApiCors  =
+  ApiGatewayV2ApiCors
+  { _apiGatewayV2ApiCorsAllowCredentials = Nothing
+  , _apiGatewayV2ApiCorsAllowHeaders = Nothing
+  , _apiGatewayV2ApiCorsAllowMethods = Nothing
+  , _apiGatewayV2ApiCorsAllowOrigins = Nothing
+  , _apiGatewayV2ApiCorsExposeHeaders = Nothing
+  , _apiGatewayV2ApiCorsMaxAge = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowcredentials
+agvacAllowCredentials :: Lens' ApiGatewayV2ApiCors (Maybe (Val Bool))
+agvacAllowCredentials = lens _apiGatewayV2ApiCorsAllowCredentials (\s a -> s { _apiGatewayV2ApiCorsAllowCredentials = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowheaders
+agvacAllowHeaders :: Lens' ApiGatewayV2ApiCors (Maybe (ValList Text))
+agvacAllowHeaders = lens _apiGatewayV2ApiCorsAllowHeaders (\s a -> s { _apiGatewayV2ApiCorsAllowHeaders = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowmethods
+agvacAllowMethods :: Lens' ApiGatewayV2ApiCors (Maybe (ValList Text))
+agvacAllowMethods = lens _apiGatewayV2ApiCorsAllowMethods (\s a -> s { _apiGatewayV2ApiCorsAllowMethods = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-alloworigins
+agvacAllowOrigins :: Lens' ApiGatewayV2ApiCors (Maybe (ValList Text))
+agvacAllowOrigins = lens _apiGatewayV2ApiCorsAllowOrigins (\s a -> s { _apiGatewayV2ApiCorsAllowOrigins = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-exposeheaders
+agvacExposeHeaders :: Lens' ApiGatewayV2ApiCors (Maybe (ValList Text))
+agvacExposeHeaders = lens _apiGatewayV2ApiCorsExposeHeaders (\s a -> s { _apiGatewayV2ApiCorsExposeHeaders = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-maxage
+agvacMaxAge :: Lens' ApiGatewayV2ApiCors (Maybe (Val Integer))
+agvacMaxAge = lens _apiGatewayV2ApiCorsMaxAge (\s a -> s { _apiGatewayV2ApiCorsMaxAge = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2AuthorizerJWTConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2AuthorizerJWTConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2AuthorizerJWTConfiguration.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html
+
+module Stratosphere.ResourceProperties.ApiGatewayV2AuthorizerJWTConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayV2AuthorizerJWTConfiguration. See
+-- 'apiGatewayV2AuthorizerJWTConfiguration' for a more convenient
+-- constructor.
+data ApiGatewayV2AuthorizerJWTConfiguration =
+  ApiGatewayV2AuthorizerJWTConfiguration
+  { _apiGatewayV2AuthorizerJWTConfigurationAudience :: Maybe (ValList Text)
+  , _apiGatewayV2AuthorizerJWTConfigurationIssuer :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayV2AuthorizerJWTConfiguration where
+  toJSON ApiGatewayV2AuthorizerJWTConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Audience",) . toJSON) _apiGatewayV2AuthorizerJWTConfigurationAudience
+    , fmap (("Issuer",) . toJSON) _apiGatewayV2AuthorizerJWTConfigurationIssuer
+    ]
+
+-- | Constructor for 'ApiGatewayV2AuthorizerJWTConfiguration' containing
+-- required fields as arguments.
+apiGatewayV2AuthorizerJWTConfiguration
+  :: ApiGatewayV2AuthorizerJWTConfiguration
+apiGatewayV2AuthorizerJWTConfiguration  =
+  ApiGatewayV2AuthorizerJWTConfiguration
+  { _apiGatewayV2AuthorizerJWTConfigurationAudience = Nothing
+  , _apiGatewayV2AuthorizerJWTConfigurationIssuer = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-audience
+agvajwtcAudience :: Lens' ApiGatewayV2AuthorizerJWTConfiguration (Maybe (ValList Text))
+agvajwtcAudience = lens _apiGatewayV2AuthorizerJWTConfigurationAudience (\s a -> s { _apiGatewayV2AuthorizerJWTConfigurationAudience = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-issuer
+agvajwtcIssuer :: Lens' ApiGatewayV2AuthorizerJWTConfiguration (Maybe (Val Text))
+agvajwtcIssuer = lens _apiGatewayV2AuthorizerJWTConfigurationIssuer (\s a -> s { _apiGatewayV2AuthorizerJWTConfigurationIssuer = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDeltaSyncConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDeltaSyncConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDeltaSyncConfig.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html
+
+module Stratosphere.ResourceProperties.AppSyncDataSourceDeltaSyncConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppSyncDataSourceDeltaSyncConfig. See
+-- 'appSyncDataSourceDeltaSyncConfig' for a more convenient constructor.
+data AppSyncDataSourceDeltaSyncConfig =
+  AppSyncDataSourceDeltaSyncConfig
+  { _appSyncDataSourceDeltaSyncConfigBaseTableTTL :: Val Text
+  , _appSyncDataSourceDeltaSyncConfigDeltaSyncTableName :: Val Text
+  , _appSyncDataSourceDeltaSyncConfigDeltaSyncTableTTL :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppSyncDataSourceDeltaSyncConfig where
+  toJSON AppSyncDataSourceDeltaSyncConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("BaseTableTTL",) . toJSON) _appSyncDataSourceDeltaSyncConfigBaseTableTTL
+    , (Just . ("DeltaSyncTableName",) . toJSON) _appSyncDataSourceDeltaSyncConfigDeltaSyncTableName
+    , (Just . ("DeltaSyncTableTTL",) . toJSON) _appSyncDataSourceDeltaSyncConfigDeltaSyncTableTTL
+    ]
+
+-- | Constructor for 'AppSyncDataSourceDeltaSyncConfig' containing required
+-- fields as arguments.
+appSyncDataSourceDeltaSyncConfig
+  :: Val Text -- ^ 'asdsdscBaseTableTTL'
+  -> Val Text -- ^ 'asdsdscDeltaSyncTableName'
+  -> Val Text -- ^ 'asdsdscDeltaSyncTableTTL'
+  -> AppSyncDataSourceDeltaSyncConfig
+appSyncDataSourceDeltaSyncConfig baseTableTTLarg deltaSyncTableNamearg deltaSyncTableTTLarg =
+  AppSyncDataSourceDeltaSyncConfig
+  { _appSyncDataSourceDeltaSyncConfigBaseTableTTL = baseTableTTLarg
+  , _appSyncDataSourceDeltaSyncConfigDeltaSyncTableName = deltaSyncTableNamearg
+  , _appSyncDataSourceDeltaSyncConfigDeltaSyncTableTTL = deltaSyncTableTTLarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-basetablettl
+asdsdscBaseTableTTL :: Lens' AppSyncDataSourceDeltaSyncConfig (Val Text)
+asdsdscBaseTableTTL = lens _appSyncDataSourceDeltaSyncConfigBaseTableTTL (\s a -> s { _appSyncDataSourceDeltaSyncConfigBaseTableTTL = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-deltasynctablename
+asdsdscDeltaSyncTableName :: Lens' AppSyncDataSourceDeltaSyncConfig (Val Text)
+asdsdscDeltaSyncTableName = lens _appSyncDataSourceDeltaSyncConfigDeltaSyncTableName (\s a -> s { _appSyncDataSourceDeltaSyncConfigDeltaSyncTableName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-deltasynctablettl
+asdsdscDeltaSyncTableTTL :: Lens' AppSyncDataSourceDeltaSyncConfig (Val Text)
+asdsdscDeltaSyncTableTTL = lens _appSyncDataSourceDeltaSyncConfigDeltaSyncTableTTL (\s a -> s { _appSyncDataSourceDeltaSyncConfigDeltaSyncTableTTL = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs
@@ -8,15 +8,17 @@
 module Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.AppSyncDataSourceDeltaSyncConfig
 
 -- | Full data type definition for AppSyncDataSourceDynamoDBConfig. See
 -- 'appSyncDataSourceDynamoDBConfig' for a more convenient constructor.
 data AppSyncDataSourceDynamoDBConfig =
   AppSyncDataSourceDynamoDBConfig
   { _appSyncDataSourceDynamoDBConfigAwsRegion :: Val Text
+  , _appSyncDataSourceDynamoDBConfigDeltaSyncConfig :: Maybe AppSyncDataSourceDeltaSyncConfig
   , _appSyncDataSourceDynamoDBConfigTableName :: Val Text
   , _appSyncDataSourceDynamoDBConfigUseCallerCredentials :: Maybe (Val Bool)
+  , _appSyncDataSourceDynamoDBConfigVersioned :: Maybe (Val Bool)
   } deriving (Show, Eq)
 
 instance ToJSON AppSyncDataSourceDynamoDBConfig where
@@ -24,8 +26,10 @@
     object $
     catMaybes
     [ (Just . ("AwsRegion",) . toJSON) _appSyncDataSourceDynamoDBConfigAwsRegion
+    , fmap (("DeltaSyncConfig",) . toJSON) _appSyncDataSourceDynamoDBConfigDeltaSyncConfig
     , (Just . ("TableName",) . toJSON) _appSyncDataSourceDynamoDBConfigTableName
     , fmap (("UseCallerCredentials",) . toJSON) _appSyncDataSourceDynamoDBConfigUseCallerCredentials
+    , fmap (("Versioned",) . toJSON) _appSyncDataSourceDynamoDBConfigVersioned
     ]
 
 -- | Constructor for 'AppSyncDataSourceDynamoDBConfig' containing required
@@ -37,14 +41,20 @@
 appSyncDataSourceDynamoDBConfig awsRegionarg tableNamearg =
   AppSyncDataSourceDynamoDBConfig
   { _appSyncDataSourceDynamoDBConfigAwsRegion = awsRegionarg
+  , _appSyncDataSourceDynamoDBConfigDeltaSyncConfig = Nothing
   , _appSyncDataSourceDynamoDBConfigTableName = tableNamearg
   , _appSyncDataSourceDynamoDBConfigUseCallerCredentials = Nothing
+  , _appSyncDataSourceDynamoDBConfigVersioned = 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-deltasyncconfig
+asdsddbcDeltaSyncConfig :: Lens' AppSyncDataSourceDynamoDBConfig (Maybe AppSyncDataSourceDeltaSyncConfig)
+asdsddbcDeltaSyncConfig = lens _appSyncDataSourceDynamoDBConfigDeltaSyncConfig (\s a -> s { _appSyncDataSourceDynamoDBConfigDeltaSyncConfig = 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 })
@@ -52,3 +62,7 @@
 -- | 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 })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned
+asdsddbcVersioned :: Lens' AppSyncDataSourceDynamoDBConfig (Maybe (Val Bool))
+asdsddbcVersioned = lens _appSyncDataSourceDynamoDBConfigVersioned (\s a -> s { _appSyncDataSourceDynamoDBConfigVersioned = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncResolverCachingConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncResolverCachingConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncResolverCachingConfig.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html
+
+module Stratosphere.ResourceProperties.AppSyncResolverCachingConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppSyncResolverCachingConfig. See
+-- 'appSyncResolverCachingConfig' for a more convenient constructor.
+data AppSyncResolverCachingConfig =
+  AppSyncResolverCachingConfig
+  { _appSyncResolverCachingConfigCachingKeys :: Maybe (ValList Text)
+  , _appSyncResolverCachingConfigTtl :: Maybe (Val Double)
+  } deriving (Show, Eq)
+
+instance ToJSON AppSyncResolverCachingConfig where
+  toJSON AppSyncResolverCachingConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("CachingKeys",) . toJSON) _appSyncResolverCachingConfigCachingKeys
+    , fmap (("Ttl",) . toJSON) _appSyncResolverCachingConfigTtl
+    ]
+
+-- | Constructor for 'AppSyncResolverCachingConfig' containing required fields
+-- as arguments.
+appSyncResolverCachingConfig
+  :: AppSyncResolverCachingConfig
+appSyncResolverCachingConfig  =
+  AppSyncResolverCachingConfig
+  { _appSyncResolverCachingConfigCachingKeys = Nothing
+  , _appSyncResolverCachingConfigTtl = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-cachingkeys
+asrccCachingKeys :: Lens' AppSyncResolverCachingConfig (Maybe (ValList Text))
+asrccCachingKeys = lens _appSyncResolverCachingConfigCachingKeys (\s a -> s { _appSyncResolverCachingConfigCachingKeys = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-ttl
+asrccTtl :: Lens' AppSyncResolverCachingConfig (Maybe (Val Double))
+asrccTtl = lens _appSyncResolverCachingConfigTtl (\s a -> s { _appSyncResolverCachingConfigTtl = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncResolverLambdaConflictHandlerConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncResolverLambdaConflictHandlerConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncResolverLambdaConflictHandlerConfig.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html
+
+module Stratosphere.ResourceProperties.AppSyncResolverLambdaConflictHandlerConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppSyncResolverLambdaConflictHandlerConfig.
+-- See 'appSyncResolverLambdaConflictHandlerConfig' for a more convenient
+-- constructor.
+data AppSyncResolverLambdaConflictHandlerConfig =
+  AppSyncResolverLambdaConflictHandlerConfig
+  { _appSyncResolverLambdaConflictHandlerConfigLambdaConflictHandlerArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppSyncResolverLambdaConflictHandlerConfig where
+  toJSON AppSyncResolverLambdaConflictHandlerConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("LambdaConflictHandlerArn",) . toJSON) _appSyncResolverLambdaConflictHandlerConfigLambdaConflictHandlerArn
+    ]
+
+-- | Constructor for 'AppSyncResolverLambdaConflictHandlerConfig' containing
+-- required fields as arguments.
+appSyncResolverLambdaConflictHandlerConfig
+  :: AppSyncResolverLambdaConflictHandlerConfig
+appSyncResolverLambdaConflictHandlerConfig  =
+  AppSyncResolverLambdaConflictHandlerConfig
+  { _appSyncResolverLambdaConflictHandlerConfigLambdaConflictHandlerArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html#cfn-appsync-resolver-lambdaconflicthandlerconfig-lambdaconflicthandlerarn
+asrlchcLambdaConflictHandlerArn :: Lens' AppSyncResolverLambdaConflictHandlerConfig (Maybe (Val Text))
+asrlchcLambdaConflictHandlerArn = lens _appSyncResolverLambdaConflictHandlerConfigLambdaConflictHandlerArn (\s a -> s { _appSyncResolverLambdaConflictHandlerConfigLambdaConflictHandlerArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncResolverSyncConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncResolverSyncConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncResolverSyncConfig.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html
+
+module Stratosphere.ResourceProperties.AppSyncResolverSyncConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppSyncResolverLambdaConflictHandlerConfig
+
+-- | Full data type definition for AppSyncResolverSyncConfig. See
+-- 'appSyncResolverSyncConfig' for a more convenient constructor.
+data AppSyncResolverSyncConfig =
+  AppSyncResolverSyncConfig
+  { _appSyncResolverSyncConfigConflictDetection :: Val Text
+  , _appSyncResolverSyncConfigConflictHandler :: Maybe (Val Text)
+  , _appSyncResolverSyncConfigLambdaConflictHandlerConfig :: Maybe AppSyncResolverLambdaConflictHandlerConfig
+  } deriving (Show, Eq)
+
+instance ToJSON AppSyncResolverSyncConfig where
+  toJSON AppSyncResolverSyncConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("ConflictDetection",) . toJSON) _appSyncResolverSyncConfigConflictDetection
+    , fmap (("ConflictHandler",) . toJSON) _appSyncResolverSyncConfigConflictHandler
+    , fmap (("LambdaConflictHandlerConfig",) . toJSON) _appSyncResolverSyncConfigLambdaConflictHandlerConfig
+    ]
+
+-- | Constructor for 'AppSyncResolverSyncConfig' containing required fields as
+-- arguments.
+appSyncResolverSyncConfig
+  :: Val Text -- ^ 'asrscConflictDetection'
+  -> AppSyncResolverSyncConfig
+appSyncResolverSyncConfig conflictDetectionarg =
+  AppSyncResolverSyncConfig
+  { _appSyncResolverSyncConfigConflictDetection = conflictDetectionarg
+  , _appSyncResolverSyncConfigConflictHandler = Nothing
+  , _appSyncResolverSyncConfigLambdaConflictHandlerConfig = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-conflictdetection
+asrscConflictDetection :: Lens' AppSyncResolverSyncConfig (Val Text)
+asrscConflictDetection = lens _appSyncResolverSyncConfigConflictDetection (\s a -> s { _appSyncResolverSyncConfigConflictDetection = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-conflicthandler
+asrscConflictHandler :: Lens' AppSyncResolverSyncConfig (Maybe (Val Text))
+asrscConflictHandler = lens _appSyncResolverSyncConfigConflictHandler (\s a -> s { _appSyncResolverSyncConfigConflictHandler = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-lambdaconflicthandlerconfig
+asrscLambdaConflictHandlerConfig :: Lens' AppSyncResolverSyncConfig (Maybe AppSyncResolverLambdaConflictHandlerConfig)
+asrscLambdaConflictHandlerConfig = lens _appSyncResolverSyncConfigLambdaConflictHandlerConfig (\s a -> s { _appSyncResolverSyncConfigLambdaConflictHandlerConfig = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildReportGroupReportExportConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildReportGroupReportExportConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildReportGroupReportExportConfig.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildReportGroupReportExportConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeBuildReportGroupS3ReportExportConfig
+
+-- | Full data type definition for CodeBuildReportGroupReportExportConfig. See
+-- 'codeBuildReportGroupReportExportConfig' for a more convenient
+-- constructor.
+data CodeBuildReportGroupReportExportConfig =
+  CodeBuildReportGroupReportExportConfig
+  { _codeBuildReportGroupReportExportConfigExportConfigType :: Val Text
+  , _codeBuildReportGroupReportExportConfigS3Destination :: Maybe CodeBuildReportGroupS3ReportExportConfig
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildReportGroupReportExportConfig where
+  toJSON CodeBuildReportGroupReportExportConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("ExportConfigType",) . toJSON) _codeBuildReportGroupReportExportConfigExportConfigType
+    , fmap (("S3Destination",) . toJSON) _codeBuildReportGroupReportExportConfigS3Destination
+    ]
+
+-- | Constructor for 'CodeBuildReportGroupReportExportConfig' containing
+-- required fields as arguments.
+codeBuildReportGroupReportExportConfig
+  :: Val Text -- ^ 'cbrgrecExportConfigType'
+  -> CodeBuildReportGroupReportExportConfig
+codeBuildReportGroupReportExportConfig exportConfigTypearg =
+  CodeBuildReportGroupReportExportConfig
+  { _codeBuildReportGroupReportExportConfigExportConfigType = exportConfigTypearg
+  , _codeBuildReportGroupReportExportConfigS3Destination = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html#cfn-codebuild-reportgroup-reportexportconfig-exportconfigtype
+cbrgrecExportConfigType :: Lens' CodeBuildReportGroupReportExportConfig (Val Text)
+cbrgrecExportConfigType = lens _codeBuildReportGroupReportExportConfigExportConfigType (\s a -> s { _codeBuildReportGroupReportExportConfigExportConfigType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html#cfn-codebuild-reportgroup-reportexportconfig-s3destination
+cbrgrecS3Destination :: Lens' CodeBuildReportGroupReportExportConfig (Maybe CodeBuildReportGroupS3ReportExportConfig)
+cbrgrecS3Destination = lens _codeBuildReportGroupReportExportConfigS3Destination (\s a -> s { _codeBuildReportGroupReportExportConfigS3Destination = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildReportGroupS3ReportExportConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildReportGroupS3ReportExportConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildReportGroupS3ReportExportConfig.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildReportGroupS3ReportExportConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeBuildReportGroupS3ReportExportConfig.
+-- See 'codeBuildReportGroupS3ReportExportConfig' for a more convenient
+-- constructor.
+data CodeBuildReportGroupS3ReportExportConfig =
+  CodeBuildReportGroupS3ReportExportConfig
+  { _codeBuildReportGroupS3ReportExportConfigBucket :: Val Text
+  , _codeBuildReportGroupS3ReportExportConfigEncryptionDisabled :: Maybe (Val Bool)
+  , _codeBuildReportGroupS3ReportExportConfigEncryptionKey :: Maybe (Val Text)
+  , _codeBuildReportGroupS3ReportExportConfigPackaging :: Maybe (Val Text)
+  , _codeBuildReportGroupS3ReportExportConfigPath :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildReportGroupS3ReportExportConfig where
+  toJSON CodeBuildReportGroupS3ReportExportConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("Bucket",) . toJSON) _codeBuildReportGroupS3ReportExportConfigBucket
+    , fmap (("EncryptionDisabled",) . toJSON) _codeBuildReportGroupS3ReportExportConfigEncryptionDisabled
+    , fmap (("EncryptionKey",) . toJSON) _codeBuildReportGroupS3ReportExportConfigEncryptionKey
+    , fmap (("Packaging",) . toJSON) _codeBuildReportGroupS3ReportExportConfigPackaging
+    , fmap (("Path",) . toJSON) _codeBuildReportGroupS3ReportExportConfigPath
+    ]
+
+-- | Constructor for 'CodeBuildReportGroupS3ReportExportConfig' containing
+-- required fields as arguments.
+codeBuildReportGroupS3ReportExportConfig
+  :: Val Text -- ^ 'cbrgsrecBucket'
+  -> CodeBuildReportGroupS3ReportExportConfig
+codeBuildReportGroupS3ReportExportConfig bucketarg =
+  CodeBuildReportGroupS3ReportExportConfig
+  { _codeBuildReportGroupS3ReportExportConfigBucket = bucketarg
+  , _codeBuildReportGroupS3ReportExportConfigEncryptionDisabled = Nothing
+  , _codeBuildReportGroupS3ReportExportConfigEncryptionKey = Nothing
+  , _codeBuildReportGroupS3ReportExportConfigPackaging = Nothing
+  , _codeBuildReportGroupS3ReportExportConfigPath = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-bucket
+cbrgsrecBucket :: Lens' CodeBuildReportGroupS3ReportExportConfig (Val Text)
+cbrgsrecBucket = lens _codeBuildReportGroupS3ReportExportConfigBucket (\s a -> s { _codeBuildReportGroupS3ReportExportConfigBucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptiondisabled
+cbrgsrecEncryptionDisabled :: Lens' CodeBuildReportGroupS3ReportExportConfig (Maybe (Val Bool))
+cbrgsrecEncryptionDisabled = lens _codeBuildReportGroupS3ReportExportConfigEncryptionDisabled (\s a -> s { _codeBuildReportGroupS3ReportExportConfigEncryptionDisabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptionkey
+cbrgsrecEncryptionKey :: Lens' CodeBuildReportGroupS3ReportExportConfig (Maybe (Val Text))
+cbrgsrecEncryptionKey = lens _codeBuildReportGroupS3ReportExportConfigEncryptionKey (\s a -> s { _codeBuildReportGroupS3ReportExportConfigEncryptionKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-packaging
+cbrgsrecPackaging :: Lens' CodeBuildReportGroupS3ReportExportConfig (Maybe (Val Text))
+cbrgsrecPackaging = lens _codeBuildReportGroupS3ReportExportConfigPackaging (\s a -> s { _codeBuildReportGroupS3ReportExportConfigPackaging = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-path
+cbrgsrecPath :: Lens' CodeBuildReportGroupS3ReportExportConfig (Maybe (Val Text))
+cbrgsrecPath = lens _codeBuildReportGroupS3ReportExportConfigPath (\s a -> s { _codeBuildReportGroupS3ReportExportConfigPath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs
@@ -21,6 +21,7 @@
   , _codePipelinePipelineActionDeclarationConfiguration :: Maybe Object
   , _codePipelinePipelineActionDeclarationInputArtifacts :: Maybe [CodePipelinePipelineInputArtifact]
   , _codePipelinePipelineActionDeclarationName :: Val Text
+  , _codePipelinePipelineActionDeclarationNamespace :: Maybe (Val Text)
   , _codePipelinePipelineActionDeclarationOutputArtifacts :: Maybe [CodePipelinePipelineOutputArtifact]
   , _codePipelinePipelineActionDeclarationRegion :: Maybe (Val Text)
   , _codePipelinePipelineActionDeclarationRoleArn :: Maybe (Val Text)
@@ -35,6 +36,7 @@
     , fmap (("Configuration",) . toJSON) _codePipelinePipelineActionDeclarationConfiguration
     , fmap (("InputArtifacts",) . toJSON) _codePipelinePipelineActionDeclarationInputArtifacts
     , (Just . ("Name",) . toJSON) _codePipelinePipelineActionDeclarationName
+    , fmap (("Namespace",) . toJSON) _codePipelinePipelineActionDeclarationNamespace
     , fmap (("OutputArtifacts",) . toJSON) _codePipelinePipelineActionDeclarationOutputArtifacts
     , fmap (("Region",) . toJSON) _codePipelinePipelineActionDeclarationRegion
     , fmap (("RoleArn",) . toJSON) _codePipelinePipelineActionDeclarationRoleArn
@@ -53,6 +55,7 @@
   , _codePipelinePipelineActionDeclarationConfiguration = Nothing
   , _codePipelinePipelineActionDeclarationInputArtifacts = Nothing
   , _codePipelinePipelineActionDeclarationName = namearg
+  , _codePipelinePipelineActionDeclarationNamespace = Nothing
   , _codePipelinePipelineActionDeclarationOutputArtifacts = Nothing
   , _codePipelinePipelineActionDeclarationRegion = Nothing
   , _codePipelinePipelineActionDeclarationRoleArn = Nothing
@@ -74,6 +77,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-name
 cppadName :: Lens' CodePipelinePipelineActionDeclaration (Val Text)
 cppadName = lens _codePipelinePipelineActionDeclarationName (\s a -> s { _codePipelinePipelineActionDeclarationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-actiondeclaration-namespace
+cppadNamespace :: Lens' CodePipelinePipelineActionDeclaration (Maybe (Val Text))
+cppadNamespace = lens _codePipelinePipelineActionDeclarationNamespace (\s a -> s { _codePipelinePipelineActionDeclarationNamespace = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-outputartifacts
 cppadOutputArtifacts :: Lens' CodePipelinePipelineActionDeclaration (Maybe [CodePipelinePipelineOutputArtifact])
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs
@@ -14,7 +14,9 @@
 -- 'cognitoUserPoolEmailConfiguration' for a more convenient constructor.
 data CognitoUserPoolEmailConfiguration =
   CognitoUserPoolEmailConfiguration
-  { _cognitoUserPoolEmailConfigurationEmailSendingAccount :: Maybe (Val Text)
+  { _cognitoUserPoolEmailConfigurationConfigurationSet :: Maybe (Val Text)
+  , _cognitoUserPoolEmailConfigurationEmailSendingAccount :: Maybe (Val Text)
+  , _cognitoUserPoolEmailConfigurationFrom :: Maybe (Val Text)
   , _cognitoUserPoolEmailConfigurationReplyToEmailAddress :: Maybe (Val Text)
   , _cognitoUserPoolEmailConfigurationSourceArn :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -23,7 +25,9 @@
   toJSON CognitoUserPoolEmailConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("EmailSendingAccount",) . toJSON) _cognitoUserPoolEmailConfigurationEmailSendingAccount
+    [ fmap (("ConfigurationSet",) . toJSON) _cognitoUserPoolEmailConfigurationConfigurationSet
+    , fmap (("EmailSendingAccount",) . toJSON) _cognitoUserPoolEmailConfigurationEmailSendingAccount
+    , fmap (("From",) . toJSON) _cognitoUserPoolEmailConfigurationFrom
     , fmap (("ReplyToEmailAddress",) . toJSON) _cognitoUserPoolEmailConfigurationReplyToEmailAddress
     , fmap (("SourceArn",) . toJSON) _cognitoUserPoolEmailConfigurationSourceArn
     ]
@@ -34,14 +38,24 @@
   :: CognitoUserPoolEmailConfiguration
 cognitoUserPoolEmailConfiguration  =
   CognitoUserPoolEmailConfiguration
-  { _cognitoUserPoolEmailConfigurationEmailSendingAccount = Nothing
+  { _cognitoUserPoolEmailConfigurationConfigurationSet = Nothing
+  , _cognitoUserPoolEmailConfigurationEmailSendingAccount = Nothing
+  , _cognitoUserPoolEmailConfigurationFrom = Nothing
   , _cognitoUserPoolEmailConfigurationReplyToEmailAddress = Nothing
   , _cognitoUserPoolEmailConfigurationSourceArn = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-configurationset
+cupecConfigurationSet :: Lens' CognitoUserPoolEmailConfiguration (Maybe (Val Text))
+cupecConfigurationSet = lens _cognitoUserPoolEmailConfigurationConfigurationSet (\s a -> s { _cognitoUserPoolEmailConfigurationConfigurationSet = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-emailsendingaccount
 cupecEmailSendingAccount :: Lens' CognitoUserPoolEmailConfiguration (Maybe (Val Text))
 cupecEmailSendingAccount = lens _cognitoUserPoolEmailConfigurationEmailSendingAccount (\s a -> s { _cognitoUserPoolEmailConfigurationEmailSendingAccount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-from
+cupecFrom :: Lens' CognitoUserPoolEmailConfiguration (Maybe (Val Text))
+cupecFrom = lens _cognitoUserPoolEmailConfigurationFrom (\s a -> s { _cognitoUserPoolEmailConfigurationFrom = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress
 cupecReplyToEmailAddress :: Lens' CognitoUserPoolEmailConfiguration (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCrossRegionCopyRetainRule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCrossRegionCopyRetainRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCrossRegionCopyRetainRule.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html
+
+module Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRetainRule where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- DLMLifecyclePolicyCrossRegionCopyRetainRule. See
+-- 'dlmLifecyclePolicyCrossRegionCopyRetainRule' for a more convenient
+-- constructor.
+data DLMLifecyclePolicyCrossRegionCopyRetainRule =
+  DLMLifecyclePolicyCrossRegionCopyRetainRule
+  { _dLMLifecyclePolicyCrossRegionCopyRetainRuleInterval :: Maybe (Val Integer)
+  , _dLMLifecyclePolicyCrossRegionCopyRetainRuleIntervalUnit :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON DLMLifecyclePolicyCrossRegionCopyRetainRule where
+  toJSON DLMLifecyclePolicyCrossRegionCopyRetainRule{..} =
+    object $
+    catMaybes
+    [ fmap (("Interval",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRetainRuleInterval
+    , fmap (("IntervalUnit",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRetainRuleIntervalUnit
+    ]
+
+-- | Constructor for 'DLMLifecyclePolicyCrossRegionCopyRetainRule' containing
+-- required fields as arguments.
+dlmLifecyclePolicyCrossRegionCopyRetainRule
+  :: DLMLifecyclePolicyCrossRegionCopyRetainRule
+dlmLifecyclePolicyCrossRegionCopyRetainRule  =
+  DLMLifecyclePolicyCrossRegionCopyRetainRule
+  { _dLMLifecyclePolicyCrossRegionCopyRetainRuleInterval = Nothing
+  , _dLMLifecyclePolicyCrossRegionCopyRetainRuleIntervalUnit = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-interval
+dlmlpcrcrrInterval :: Lens' DLMLifecyclePolicyCrossRegionCopyRetainRule (Maybe (Val Integer))
+dlmlpcrcrrInterval = lens _dLMLifecyclePolicyCrossRegionCopyRetainRuleInterval (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRetainRuleInterval = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-intervalunit
+dlmlpcrcrrIntervalUnit :: Lens' DLMLifecyclePolicyCrossRegionCopyRetainRule (Maybe (Val Text))
+dlmlpcrcrrIntervalUnit = lens _dLMLifecyclePolicyCrossRegionCopyRetainRuleIntervalUnit (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRetainRuleIntervalUnit = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCrossRegionCopyRule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCrossRegionCopyRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCrossRegionCopyRule.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html
+
+module Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRule where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRetainRule
+
+-- | Full data type definition for DLMLifecyclePolicyCrossRegionCopyRule. See
+-- 'dlmLifecyclePolicyCrossRegionCopyRule' for a more convenient
+-- constructor.
+data DLMLifecyclePolicyCrossRegionCopyRule =
+  DLMLifecyclePolicyCrossRegionCopyRule
+  { _dLMLifecyclePolicyCrossRegionCopyRuleCmkArn :: Maybe (Val Text)
+  , _dLMLifecyclePolicyCrossRegionCopyRuleCopyTags :: Maybe (Val Bool)
+  , _dLMLifecyclePolicyCrossRegionCopyRuleEncrypted :: Maybe (Val Bool)
+  , _dLMLifecyclePolicyCrossRegionCopyRuleRetainRule :: Maybe DLMLifecyclePolicyCrossRegionCopyRetainRule
+  , _dLMLifecyclePolicyCrossRegionCopyRuleTargetRegion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON DLMLifecyclePolicyCrossRegionCopyRule where
+  toJSON DLMLifecyclePolicyCrossRegionCopyRule{..} =
+    object $
+    catMaybes
+    [ fmap (("CmkArn",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRuleCmkArn
+    , fmap (("CopyTags",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRuleCopyTags
+    , fmap (("Encrypted",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRuleEncrypted
+    , fmap (("RetainRule",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRuleRetainRule
+    , fmap (("TargetRegion",) . toJSON) _dLMLifecyclePolicyCrossRegionCopyRuleTargetRegion
+    ]
+
+-- | Constructor for 'DLMLifecyclePolicyCrossRegionCopyRule' containing
+-- required fields as arguments.
+dlmLifecyclePolicyCrossRegionCopyRule
+  :: DLMLifecyclePolicyCrossRegionCopyRule
+dlmLifecyclePolicyCrossRegionCopyRule  =
+  DLMLifecyclePolicyCrossRegionCopyRule
+  { _dLMLifecyclePolicyCrossRegionCopyRuleCmkArn = Nothing
+  , _dLMLifecyclePolicyCrossRegionCopyRuleCopyTags = Nothing
+  , _dLMLifecyclePolicyCrossRegionCopyRuleEncrypted = Nothing
+  , _dLMLifecyclePolicyCrossRegionCopyRuleRetainRule = Nothing
+  , _dLMLifecyclePolicyCrossRegionCopyRuleTargetRegion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-cmkarn
+dlmlpcrcrCmkArn :: Lens' DLMLifecyclePolicyCrossRegionCopyRule (Maybe (Val Text))
+dlmlpcrcrCmkArn = lens _dLMLifecyclePolicyCrossRegionCopyRuleCmkArn (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRuleCmkArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-copytags
+dlmlpcrcrCopyTags :: Lens' DLMLifecyclePolicyCrossRegionCopyRule (Maybe (Val Bool))
+dlmlpcrcrCopyTags = lens _dLMLifecyclePolicyCrossRegionCopyRuleCopyTags (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRuleCopyTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted
+dlmlpcrcrEncrypted :: Lens' DLMLifecyclePolicyCrossRegionCopyRule (Maybe (Val Bool))
+dlmlpcrcrEncrypted = lens _dLMLifecyclePolicyCrossRegionCopyRuleEncrypted (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRuleEncrypted = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-retainrule
+dlmlpcrcrRetainRule :: Lens' DLMLifecyclePolicyCrossRegionCopyRule (Maybe DLMLifecyclePolicyCrossRegionCopyRetainRule)
+dlmlpcrcrRetainRule = lens _dLMLifecyclePolicyCrossRegionCopyRuleRetainRule (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRuleRetainRule = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-targetregion
+dlmlpcrcrTargetRegion :: Lens' DLMLifecyclePolicyCrossRegionCopyRule (Maybe (Val Text))
+dlmlpcrcrTargetRegion = lens _dLMLifecyclePolicyCrossRegionCopyRuleTargetRegion (\s a -> s { _dLMLifecyclePolicyCrossRegionCopyRuleTargetRegion = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyFastRestoreRule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyFastRestoreRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyFastRestoreRule.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html
+
+module Stratosphere.ResourceProperties.DLMLifecyclePolicyFastRestoreRule where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for DLMLifecyclePolicyFastRestoreRule. See
+-- 'dlmLifecyclePolicyFastRestoreRule' for a more convenient constructor.
+data DLMLifecyclePolicyFastRestoreRule =
+  DLMLifecyclePolicyFastRestoreRule
+  { _dLMLifecyclePolicyFastRestoreRuleAvailabilityZones :: Maybe (ValList Text)
+  , _dLMLifecyclePolicyFastRestoreRuleCount :: Maybe (Val Integer)
+  , _dLMLifecyclePolicyFastRestoreRuleInterval :: Maybe (Val Integer)
+  , _dLMLifecyclePolicyFastRestoreRuleIntervalUnit :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON DLMLifecyclePolicyFastRestoreRule where
+  toJSON DLMLifecyclePolicyFastRestoreRule{..} =
+    object $
+    catMaybes
+    [ fmap (("AvailabilityZones",) . toJSON) _dLMLifecyclePolicyFastRestoreRuleAvailabilityZones
+    , fmap (("Count",) . toJSON) _dLMLifecyclePolicyFastRestoreRuleCount
+    , fmap (("Interval",) . toJSON) _dLMLifecyclePolicyFastRestoreRuleInterval
+    , fmap (("IntervalUnit",) . toJSON) _dLMLifecyclePolicyFastRestoreRuleIntervalUnit
+    ]
+
+-- | Constructor for 'DLMLifecyclePolicyFastRestoreRule' containing required
+-- fields as arguments.
+dlmLifecyclePolicyFastRestoreRule
+  :: DLMLifecyclePolicyFastRestoreRule
+dlmLifecyclePolicyFastRestoreRule  =
+  DLMLifecyclePolicyFastRestoreRule
+  { _dLMLifecyclePolicyFastRestoreRuleAvailabilityZones = Nothing
+  , _dLMLifecyclePolicyFastRestoreRuleCount = Nothing
+  , _dLMLifecyclePolicyFastRestoreRuleInterval = Nothing
+  , _dLMLifecyclePolicyFastRestoreRuleIntervalUnit = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-availabilityzones
+dlmlpfrrAvailabilityZones :: Lens' DLMLifecyclePolicyFastRestoreRule (Maybe (ValList Text))
+dlmlpfrrAvailabilityZones = lens _dLMLifecyclePolicyFastRestoreRuleAvailabilityZones (\s a -> s { _dLMLifecyclePolicyFastRestoreRuleAvailabilityZones = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-count
+dlmlpfrrCount :: Lens' DLMLifecyclePolicyFastRestoreRule (Maybe (Val Integer))
+dlmlpfrrCount = lens _dLMLifecyclePolicyFastRestoreRuleCount (\s a -> s { _dLMLifecyclePolicyFastRestoreRuleCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-interval
+dlmlpfrrInterval :: Lens' DLMLifecyclePolicyFastRestoreRule (Maybe (Val Integer))
+dlmlpfrrInterval = lens _dLMLifecyclePolicyFastRestoreRuleInterval (\s a -> s { _dLMLifecyclePolicyFastRestoreRuleInterval = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-intervalunit
+dlmlpfrrIntervalUnit :: Lens' DLMLifecyclePolicyFastRestoreRule (Maybe (Val Text))
+dlmlpfrrIntervalUnit = lens _dLMLifecyclePolicyFastRestoreRuleIntervalUnit (\s a -> s { _dLMLifecyclePolicyFastRestoreRuleIntervalUnit = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyPolicyDetails.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyPolicyDetails.hs
--- a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyPolicyDetails.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyPolicyDetails.hs
@@ -18,9 +18,9 @@
   DLMLifecyclePolicyPolicyDetails
   { _dLMLifecyclePolicyPolicyDetailsParameters :: Maybe DLMLifecyclePolicyParameters
   , _dLMLifecyclePolicyPolicyDetailsPolicyType :: Maybe (Val Text)
-  , _dLMLifecyclePolicyPolicyDetailsResourceTypes :: Maybe (ValList Text)
-  , _dLMLifecyclePolicyPolicyDetailsSchedules :: Maybe [DLMLifecyclePolicySchedule]
-  , _dLMLifecyclePolicyPolicyDetailsTargetTags :: Maybe [Tag]
+  , _dLMLifecyclePolicyPolicyDetailsResourceTypes :: ValList Text
+  , _dLMLifecyclePolicyPolicyDetailsSchedules :: [DLMLifecyclePolicySchedule]
+  , _dLMLifecyclePolicyPolicyDetailsTargetTags :: [Tag]
   } deriving (Show, Eq)
 
 instance ToJSON DLMLifecyclePolicyPolicyDetails where
@@ -29,22 +29,25 @@
     catMaybes
     [ fmap (("Parameters",) . toJSON) _dLMLifecyclePolicyPolicyDetailsParameters
     , fmap (("PolicyType",) . toJSON) _dLMLifecyclePolicyPolicyDetailsPolicyType
-    , fmap (("ResourceTypes",) . toJSON) _dLMLifecyclePolicyPolicyDetailsResourceTypes
-    , fmap (("Schedules",) . toJSON) _dLMLifecyclePolicyPolicyDetailsSchedules
-    , fmap (("TargetTags",) . toJSON) _dLMLifecyclePolicyPolicyDetailsTargetTags
+    , (Just . ("ResourceTypes",) . toJSON) _dLMLifecyclePolicyPolicyDetailsResourceTypes
+    , (Just . ("Schedules",) . toJSON) _dLMLifecyclePolicyPolicyDetailsSchedules
+    , (Just . ("TargetTags",) . toJSON) _dLMLifecyclePolicyPolicyDetailsTargetTags
     ]
 
 -- | Constructor for 'DLMLifecyclePolicyPolicyDetails' containing required
 -- fields as arguments.
 dlmLifecyclePolicyPolicyDetails
-  :: DLMLifecyclePolicyPolicyDetails
-dlmLifecyclePolicyPolicyDetails  =
+  :: ValList Text -- ^ 'dlmlppdResourceTypes'
+  -> [DLMLifecyclePolicySchedule] -- ^ 'dlmlppdSchedules'
+  -> [Tag] -- ^ 'dlmlppdTargetTags'
+  -> DLMLifecyclePolicyPolicyDetails
+dlmLifecyclePolicyPolicyDetails resourceTypesarg schedulesarg targetTagsarg =
   DLMLifecyclePolicyPolicyDetails
   { _dLMLifecyclePolicyPolicyDetailsParameters = Nothing
   , _dLMLifecyclePolicyPolicyDetailsPolicyType = Nothing
-  , _dLMLifecyclePolicyPolicyDetailsResourceTypes = Nothing
-  , _dLMLifecyclePolicyPolicyDetailsSchedules = Nothing
-  , _dLMLifecyclePolicyPolicyDetailsTargetTags = Nothing
+  , _dLMLifecyclePolicyPolicyDetailsResourceTypes = resourceTypesarg
+  , _dLMLifecyclePolicyPolicyDetailsSchedules = schedulesarg
+  , _dLMLifecyclePolicyPolicyDetailsTargetTags = targetTagsarg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters
@@ -56,13 +59,13 @@
 dlmlppdPolicyType = lens _dLMLifecyclePolicyPolicyDetailsPolicyType (\s a -> s { _dLMLifecyclePolicyPolicyDetailsPolicyType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetypes
-dlmlppdResourceTypes :: Lens' DLMLifecyclePolicyPolicyDetails (Maybe (ValList Text))
+dlmlppdResourceTypes :: Lens' DLMLifecyclePolicyPolicyDetails (ValList Text)
 dlmlppdResourceTypes = lens _dLMLifecyclePolicyPolicyDetailsResourceTypes (\s a -> s { _dLMLifecyclePolicyPolicyDetailsResourceTypes = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-schedules
-dlmlppdSchedules :: Lens' DLMLifecyclePolicyPolicyDetails (Maybe [DLMLifecyclePolicySchedule])
+dlmlppdSchedules :: Lens' DLMLifecyclePolicyPolicyDetails [DLMLifecyclePolicySchedule]
 dlmlppdSchedules = lens _dLMLifecyclePolicyPolicyDetailsSchedules (\s a -> s { _dLMLifecyclePolicyPolicyDetailsSchedules = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-targettags
-dlmlppdTargetTags :: Lens' DLMLifecyclePolicyPolicyDetails (Maybe [Tag])
+dlmlppdTargetTags :: Lens' DLMLifecyclePolicyPolicyDetails [Tag]
 dlmlppdTargetTags = lens _dLMLifecyclePolicyPolicyDetailsTargetTags (\s a -> s { _dLMLifecyclePolicyPolicyDetailsTargetTags = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs
@@ -14,26 +14,39 @@
 -- 'dlmLifecyclePolicyRetainRule' for a more convenient constructor.
 data DLMLifecyclePolicyRetainRule =
   DLMLifecyclePolicyRetainRule
-  { _dLMLifecyclePolicyRetainRuleCount :: Val Integer
+  { _dLMLifecyclePolicyRetainRuleCount :: Maybe (Val Integer)
+  , _dLMLifecyclePolicyRetainRuleInterval :: Maybe (Val Integer)
+  , _dLMLifecyclePolicyRetainRuleIntervalUnit :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON DLMLifecyclePolicyRetainRule where
   toJSON DLMLifecyclePolicyRetainRule{..} =
     object $
     catMaybes
-    [ (Just . ("Count",) . toJSON) _dLMLifecyclePolicyRetainRuleCount
+    [ fmap (("Count",) . toJSON) _dLMLifecyclePolicyRetainRuleCount
+    , fmap (("Interval",) . toJSON) _dLMLifecyclePolicyRetainRuleInterval
+    , fmap (("IntervalUnit",) . toJSON) _dLMLifecyclePolicyRetainRuleIntervalUnit
     ]
 
 -- | Constructor for 'DLMLifecyclePolicyRetainRule' containing required fields
 -- as arguments.
 dlmLifecyclePolicyRetainRule
-  :: Val Integer -- ^ 'dlmlprrCount'
-  -> DLMLifecyclePolicyRetainRule
-dlmLifecyclePolicyRetainRule countarg =
+  :: DLMLifecyclePolicyRetainRule
+dlmLifecyclePolicyRetainRule  =
   DLMLifecyclePolicyRetainRule
-  { _dLMLifecyclePolicyRetainRuleCount = countarg
+  { _dLMLifecyclePolicyRetainRuleCount = Nothing
+  , _dLMLifecyclePolicyRetainRuleInterval = Nothing
+  , _dLMLifecyclePolicyRetainRuleIntervalUnit = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-count
-dlmlprrCount :: Lens' DLMLifecyclePolicyRetainRule (Val Integer)
+dlmlprrCount :: Lens' DLMLifecyclePolicyRetainRule (Maybe (Val Integer))
 dlmlprrCount = lens _dLMLifecyclePolicyRetainRuleCount (\s a -> s { _dLMLifecyclePolicyRetainRuleCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-interval
+dlmlprrInterval :: Lens' DLMLifecyclePolicyRetainRule (Maybe (Val Integer))
+dlmlprrInterval = lens _dLMLifecyclePolicyRetainRuleInterval (\s a -> s { _dLMLifecyclePolicyRetainRuleInterval = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-intervalunit
+dlmlprrIntervalUnit :: Lens' DLMLifecyclePolicyRetainRule (Maybe (Val Text))
+dlmlprrIntervalUnit = lens _dLMLifecyclePolicyRetainRuleIntervalUnit (\s a -> s { _dLMLifecyclePolicyRetainRuleIntervalUnit = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs
--- a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs
@@ -9,6 +9,8 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyCreateRule
+import Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRule
+import Stratosphere.ResourceProperties.DLMLifecyclePolicyFastRestoreRule
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyRetainRule
 import Stratosphere.ResourceProperties.Tag
 
@@ -18,6 +20,8 @@
   DLMLifecyclePolicySchedule
   { _dLMLifecyclePolicyScheduleCopyTags :: Maybe (Val Bool)
   , _dLMLifecyclePolicyScheduleCreateRule :: Maybe DLMLifecyclePolicyCreateRule
+  , _dLMLifecyclePolicyScheduleCrossRegionCopyRules :: Maybe [DLMLifecyclePolicyCrossRegionCopyRule]
+  , _dLMLifecyclePolicyScheduleFastRestoreRule :: Maybe DLMLifecyclePolicyFastRestoreRule
   , _dLMLifecyclePolicyScheduleName :: Maybe (Val Text)
   , _dLMLifecyclePolicyScheduleRetainRule :: Maybe DLMLifecyclePolicyRetainRule
   , _dLMLifecyclePolicyScheduleTagsToAdd :: Maybe [Tag]
@@ -30,6 +34,8 @@
     catMaybes
     [ fmap (("CopyTags",) . toJSON) _dLMLifecyclePolicyScheduleCopyTags
     , fmap (("CreateRule",) . toJSON) _dLMLifecyclePolicyScheduleCreateRule
+    , fmap (("CrossRegionCopyRules",) . toJSON) _dLMLifecyclePolicyScheduleCrossRegionCopyRules
+    , fmap (("FastRestoreRule",) . toJSON) _dLMLifecyclePolicyScheduleFastRestoreRule
     , fmap (("Name",) . toJSON) _dLMLifecyclePolicyScheduleName
     , fmap (("RetainRule",) . toJSON) _dLMLifecyclePolicyScheduleRetainRule
     , fmap (("TagsToAdd",) . toJSON) _dLMLifecyclePolicyScheduleTagsToAdd
@@ -44,6 +50,8 @@
   DLMLifecyclePolicySchedule
   { _dLMLifecyclePolicyScheduleCopyTags = Nothing
   , _dLMLifecyclePolicyScheduleCreateRule = Nothing
+  , _dLMLifecyclePolicyScheduleCrossRegionCopyRules = Nothing
+  , _dLMLifecyclePolicyScheduleFastRestoreRule = Nothing
   , _dLMLifecyclePolicyScheduleName = Nothing
   , _dLMLifecyclePolicyScheduleRetainRule = Nothing
   , _dLMLifecyclePolicyScheduleTagsToAdd = Nothing
@@ -57,6 +65,14 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-createrule
 dlmlpsCreateRule :: Lens' DLMLifecyclePolicySchedule (Maybe DLMLifecyclePolicyCreateRule)
 dlmlpsCreateRule = lens _dLMLifecyclePolicyScheduleCreateRule (\s a -> s { _dLMLifecyclePolicyScheduleCreateRule = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-crossregioncopyrules
+dlmlpsCrossRegionCopyRules :: Lens' DLMLifecyclePolicySchedule (Maybe [DLMLifecyclePolicyCrossRegionCopyRule])
+dlmlpsCrossRegionCopyRules = lens _dLMLifecyclePolicyScheduleCrossRegionCopyRules (\s a -> s { _dLMLifecyclePolicyScheduleCrossRegionCopyRules = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-fastrestorerule
+dlmlpsFastRestoreRule :: Lens' DLMLifecyclePolicySchedule (Maybe DLMLifecyclePolicyFastRestoreRule)
+dlmlpsFastRestoreRule = lens _dLMLifecyclePolicyScheduleFastRestoreRule (\s a -> s { _dLMLifecyclePolicyScheduleFastRestoreRule = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-name
 dlmlpsName :: Lens' DLMLifecyclePolicySchedule (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceElasticInferenceAccelerator.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceElasticInferenceAccelerator.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceElasticInferenceAccelerator.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceElasticInferenceAccelerator.hs
@@ -15,14 +15,16 @@
 -- constructor.
 data EC2InstanceElasticInferenceAccelerator =
   EC2InstanceElasticInferenceAccelerator
-  { _eC2InstanceElasticInferenceAcceleratorType :: Val Text
+  { _eC2InstanceElasticInferenceAcceleratorCount :: Maybe (Val Integer)
+  , _eC2InstanceElasticInferenceAcceleratorType :: Val Text
   } deriving (Show, Eq)
 
 instance ToJSON EC2InstanceElasticInferenceAccelerator where
   toJSON EC2InstanceElasticInferenceAccelerator{..} =
     object $
     catMaybes
-    [ (Just . ("Type",) . toJSON) _eC2InstanceElasticInferenceAcceleratorType
+    [ fmap (("Count",) . toJSON) _eC2InstanceElasticInferenceAcceleratorCount
+    , (Just . ("Type",) . toJSON) _eC2InstanceElasticInferenceAcceleratorType
     ]
 
 -- | Constructor for 'EC2InstanceElasticInferenceAccelerator' containing
@@ -32,8 +34,13 @@
   -> EC2InstanceElasticInferenceAccelerator
 ec2InstanceElasticInferenceAccelerator typearg =
   EC2InstanceElasticInferenceAccelerator
-  { _eC2InstanceElasticInferenceAcceleratorType = typearg
+  { _eC2InstanceElasticInferenceAcceleratorCount = Nothing
+  , _eC2InstanceElasticInferenceAcceleratorType = typearg
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-count
+ecieiaCount :: Lens' EC2InstanceElasticInferenceAccelerator (Maybe (Val Integer))
+ecieiaCount = lens _eC2InstanceElasticInferenceAcceleratorCount (\s a -> s { _eC2InstanceElasticInferenceAcceleratorCount = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-type
 ecieiaType :: Lens' EC2InstanceElasticInferenceAccelerator (Val Text)
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSetting.hs b/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSetting.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html
+
+module Stratosphere.ResourceProperties.ECSClusterClusterSetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSClusterClusterSetting. See
+-- 'ecsClusterClusterSetting' for a more convenient constructor.
+data ECSClusterClusterSetting =
+  ECSClusterClusterSetting
+  { _eCSClusterClusterSettingName :: Val Text
+  , _eCSClusterClusterSettingValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ECSClusterClusterSetting where
+  toJSON ECSClusterClusterSetting{..} =
+    object $
+    catMaybes
+    [ (Just . ("Name",) . toJSON) _eCSClusterClusterSettingName
+    , (Just . ("Value",) . toJSON) _eCSClusterClusterSettingValue
+    ]
+
+-- | Constructor for 'ECSClusterClusterSetting' containing required fields as
+-- arguments.
+ecsClusterClusterSetting
+  :: Val Text -- ^ 'ecsccsName'
+  -> Val Text -- ^ 'ecsccsValue'
+  -> ECSClusterClusterSetting
+ecsClusterClusterSetting namearg valuearg =
+  ECSClusterClusterSetting
+  { _eCSClusterClusterSettingName = namearg
+  , _eCSClusterClusterSettingValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html#cfn-ecs-cluster-clustersetting-name
+ecsccsName :: Lens' ECSClusterClusterSetting (Val Text)
+ecsccsName = lens _eCSClusterClusterSettingName (\s a -> s { _eCSClusterClusterSettingName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html#cfn-ecs-cluster-clustersetting-value
+ecsccsValue :: Lens' ECSClusterClusterSetting (Val Text)
+ecsccsValue = lens _eCSClusterClusterSettingValue (\s a -> s { _eCSClusterClusterSettingValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentController.hs b/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentController.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentController.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html
+
+module Stratosphere.ResourceProperties.ECSServiceDeploymentController where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSServiceDeploymentController. See
+-- 'ecsServiceDeploymentController' for a more convenient constructor.
+data ECSServiceDeploymentController =
+  ECSServiceDeploymentController
+  { _eCSServiceDeploymentControllerType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSServiceDeploymentController where
+  toJSON ECSServiceDeploymentController{..} =
+    object $
+    catMaybes
+    [ fmap (("Type",) . toJSON) _eCSServiceDeploymentControllerType
+    ]
+
+-- | Constructor for 'ECSServiceDeploymentController' containing required
+-- fields as arguments.
+ecsServiceDeploymentController
+  :: ECSServiceDeploymentController
+ecsServiceDeploymentController  =
+  ECSServiceDeploymentController
+  { _eCSServiceDeploymentControllerType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html#cfn-ecs-service-deploymentcontroller-type
+ecssdcType :: Lens' ECSServiceDeploymentController (Maybe (Val Text))
+ecssdcType = lens _eCSServiceDeploymentControllerType (\s a -> s { _eCSServiceDeploymentControllerType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
@@ -11,6 +11,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionContainerDependency
 import Stratosphere.ResourceProperties.ECSTaskDefinitionKeyValuePair
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry
+import Stratosphere.ResourceProperties.ECSTaskDefinitionFirelensConfiguration
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck
 import Stratosphere.ResourceProperties.ECSTaskDefinitionLinuxParameters
 import Stratosphere.ResourceProperties.ECSTaskDefinitionLogConfiguration
@@ -39,6 +40,7 @@
   , _eCSTaskDefinitionContainerDefinitionEnvironment :: Maybe [ECSTaskDefinitionKeyValuePair]
   , _eCSTaskDefinitionContainerDefinitionEssential :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionExtraHosts :: Maybe [ECSTaskDefinitionHostEntry]
+  , _eCSTaskDefinitionContainerDefinitionFirelensConfiguration :: Maybe ECSTaskDefinitionFirelensConfiguration
   , _eCSTaskDefinitionContainerDefinitionHealthCheck :: Maybe ECSTaskDefinitionHealthCheck
   , _eCSTaskDefinitionContainerDefinitionHostname :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionImage :: Val Text
@@ -82,6 +84,7 @@
     , fmap (("Environment",) . toJSON) _eCSTaskDefinitionContainerDefinitionEnvironment
     , fmap (("Essential",) . toJSON) _eCSTaskDefinitionContainerDefinitionEssential
     , fmap (("ExtraHosts",) . toJSON) _eCSTaskDefinitionContainerDefinitionExtraHosts
+    , fmap (("FirelensConfiguration",) . toJSON) _eCSTaskDefinitionContainerDefinitionFirelensConfiguration
     , fmap (("HealthCheck",) . toJSON) _eCSTaskDefinitionContainerDefinitionHealthCheck
     , fmap (("Hostname",) . toJSON) _eCSTaskDefinitionContainerDefinitionHostname
     , (Just . ("Image",) . toJSON) _eCSTaskDefinitionContainerDefinitionImage
@@ -129,6 +132,7 @@
   , _eCSTaskDefinitionContainerDefinitionEnvironment = Nothing
   , _eCSTaskDefinitionContainerDefinitionEssential = Nothing
   , _eCSTaskDefinitionContainerDefinitionExtraHosts = Nothing
+  , _eCSTaskDefinitionContainerDefinitionFirelensConfiguration = Nothing
   , _eCSTaskDefinitionContainerDefinitionHealthCheck = Nothing
   , _eCSTaskDefinitionContainerDefinitionHostname = Nothing
   , _eCSTaskDefinitionContainerDefinitionImage = imagearg
@@ -203,6 +207,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-extrahosts
 ecstdcdExtraHosts :: Lens' ECSTaskDefinitionContainerDefinition (Maybe [ECSTaskDefinitionHostEntry])
 ecstdcdExtraHosts = lens _eCSTaskDefinitionContainerDefinitionExtraHosts (\s a -> s { _eCSTaskDefinitionContainerDefinitionExtraHosts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-firelensconfiguration
+ecstdcdFirelensConfiguration :: Lens' ECSTaskDefinitionContainerDefinition (Maybe ECSTaskDefinitionFirelensConfiguration)
+ecstdcdFirelensConfiguration = lens _eCSTaskDefinitionContainerDefinitionFirelensConfiguration (\s a -> s { _eCSTaskDefinitionContainerDefinitionFirelensConfiguration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-healthcheck
 ecstdcdHealthCheck :: Lens' ECSTaskDefinitionContainerDefinition (Maybe ECSTaskDefinitionHealthCheck)
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionFirelensConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionFirelensConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionFirelensConfiguration.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html
+
+module Stratosphere.ResourceProperties.ECSTaskDefinitionFirelensConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskDefinitionFirelensConfiguration. See
+-- 'ecsTaskDefinitionFirelensConfiguration' for a more convenient
+-- constructor.
+data ECSTaskDefinitionFirelensConfiguration =
+  ECSTaskDefinitionFirelensConfiguration
+  { _eCSTaskDefinitionFirelensConfigurationOptions :: Maybe Object
+  , _eCSTaskDefinitionFirelensConfigurationType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskDefinitionFirelensConfiguration where
+  toJSON ECSTaskDefinitionFirelensConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Options",) . toJSON) _eCSTaskDefinitionFirelensConfigurationOptions
+    , (Just . ("Type",) . toJSON) _eCSTaskDefinitionFirelensConfigurationType
+    ]
+
+-- | Constructor for 'ECSTaskDefinitionFirelensConfiguration' containing
+-- required fields as arguments.
+ecsTaskDefinitionFirelensConfiguration
+  :: Val Text -- ^ 'ecstdfcType'
+  -> ECSTaskDefinitionFirelensConfiguration
+ecsTaskDefinitionFirelensConfiguration typearg =
+  ECSTaskDefinitionFirelensConfiguration
+  { _eCSTaskDefinitionFirelensConfigurationOptions = Nothing
+  , _eCSTaskDefinitionFirelensConfigurationType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-options
+ecstdfcOptions :: Lens' ECSTaskDefinitionFirelensConfiguration (Maybe Object)
+ecstdfcOptions = lens _eCSTaskDefinitionFirelensConfigurationOptions (\s a -> s { _eCSTaskDefinitionFirelensConfigurationOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-type
+ecstdfcType :: Lens' ECSTaskDefinitionFirelensConfiguration (Val Text)
+ecstdfcType = lens _eCSTaskDefinitionFirelensConfigurationType (\s a -> s { _eCSTaskDefinitionFirelensConfigurationType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs
@@ -16,6 +16,7 @@
 data ECSTaskDefinitionInferenceAccelerator =
   ECSTaskDefinitionInferenceAccelerator
   { _eCSTaskDefinitionInferenceAcceleratorDeviceName :: Maybe (Val Text)
+  , _eCSTaskDefinitionInferenceAcceleratorDevicePolicy :: Maybe (Val Text)
   , _eCSTaskDefinitionInferenceAcceleratorDeviceType :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -24,6 +25,7 @@
     object $
     catMaybes
     [ fmap (("DeviceName",) . toJSON) _eCSTaskDefinitionInferenceAcceleratorDeviceName
+    , fmap (("DevicePolicy",) . toJSON) _eCSTaskDefinitionInferenceAcceleratorDevicePolicy
     , fmap (("DeviceType",) . toJSON) _eCSTaskDefinitionInferenceAcceleratorDeviceType
     ]
 
@@ -34,12 +36,17 @@
 ecsTaskDefinitionInferenceAccelerator  =
   ECSTaskDefinitionInferenceAccelerator
   { _eCSTaskDefinitionInferenceAcceleratorDeviceName = Nothing
+  , _eCSTaskDefinitionInferenceAcceleratorDevicePolicy = Nothing
   , _eCSTaskDefinitionInferenceAcceleratorDeviceType = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicename
 ecstdiaDeviceName :: Lens' ECSTaskDefinitionInferenceAccelerator (Maybe (Val Text))
 ecstdiaDeviceName = lens _eCSTaskDefinitionInferenceAcceleratorDeviceName (\s a -> s { _eCSTaskDefinitionInferenceAcceleratorDeviceName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicepolicy
+ecstdiaDevicePolicy :: Lens' ECSTaskDefinitionInferenceAccelerator (Maybe (Val Text))
+ecstdiaDevicePolicy = lens _eCSTaskDefinitionInferenceAcceleratorDevicePolicy (\s a -> s { _eCSTaskDefinitionInferenceAcceleratorDevicePolicy = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicetype
 ecstdiaDeviceType :: Lens' ECSTaskDefinitionInferenceAccelerator (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs
@@ -19,7 +19,9 @@
   { _eCSTaskDefinitionLinuxParametersCapabilities :: Maybe ECSTaskDefinitionKernelCapabilities
   , _eCSTaskDefinitionLinuxParametersDevices :: Maybe [ECSTaskDefinitionDevice]
   , _eCSTaskDefinitionLinuxParametersInitProcessEnabled :: Maybe (Val Bool)
+  , _eCSTaskDefinitionLinuxParametersMaxSwap :: Maybe (Val Integer)
   , _eCSTaskDefinitionLinuxParametersSharedMemorySize :: Maybe (Val Integer)
+  , _eCSTaskDefinitionLinuxParametersSwappiness :: Maybe (Val Integer)
   , _eCSTaskDefinitionLinuxParametersTmpfs :: Maybe [ECSTaskDefinitionTmpfs]
   } deriving (Show, Eq)
 
@@ -30,7 +32,9 @@
     [ fmap (("Capabilities",) . toJSON) _eCSTaskDefinitionLinuxParametersCapabilities
     , fmap (("Devices",) . toJSON) _eCSTaskDefinitionLinuxParametersDevices
     , fmap (("InitProcessEnabled",) . toJSON) _eCSTaskDefinitionLinuxParametersInitProcessEnabled
+    , fmap (("MaxSwap",) . toJSON) _eCSTaskDefinitionLinuxParametersMaxSwap
     , fmap (("SharedMemorySize",) . toJSON) _eCSTaskDefinitionLinuxParametersSharedMemorySize
+    , fmap (("Swappiness",) . toJSON) _eCSTaskDefinitionLinuxParametersSwappiness
     , fmap (("Tmpfs",) . toJSON) _eCSTaskDefinitionLinuxParametersTmpfs
     ]
 
@@ -43,7 +47,9 @@
   { _eCSTaskDefinitionLinuxParametersCapabilities = Nothing
   , _eCSTaskDefinitionLinuxParametersDevices = Nothing
   , _eCSTaskDefinitionLinuxParametersInitProcessEnabled = Nothing
+  , _eCSTaskDefinitionLinuxParametersMaxSwap = Nothing
   , _eCSTaskDefinitionLinuxParametersSharedMemorySize = Nothing
+  , _eCSTaskDefinitionLinuxParametersSwappiness = Nothing
   , _eCSTaskDefinitionLinuxParametersTmpfs = Nothing
   }
 
@@ -59,9 +65,17 @@
 ecstdlpInitProcessEnabled :: Lens' ECSTaskDefinitionLinuxParameters (Maybe (Val Bool))
 ecstdlpInitProcessEnabled = lens _eCSTaskDefinitionLinuxParametersInitProcessEnabled (\s a -> s { _eCSTaskDefinitionLinuxParametersInitProcessEnabled = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-maxswap
+ecstdlpMaxSwap :: Lens' ECSTaskDefinitionLinuxParameters (Maybe (Val Integer))
+ecstdlpMaxSwap = lens _eCSTaskDefinitionLinuxParametersMaxSwap (\s a -> s { _eCSTaskDefinitionLinuxParametersMaxSwap = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-sharedmemorysize
 ecstdlpSharedMemorySize :: Lens' ECSTaskDefinitionLinuxParameters (Maybe (Val Integer))
 ecstdlpSharedMemorySize = lens _eCSTaskDefinitionLinuxParametersSharedMemorySize (\s a -> s { _eCSTaskDefinitionLinuxParametersSharedMemorySize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-swappiness
+ecstdlpSwappiness :: Lens' ECSTaskDefinitionLinuxParameters (Maybe (Val Integer))
+ecstdlpSwappiness = lens _eCSTaskDefinitionLinuxParametersSwappiness (\s a -> s { _eCSTaskDefinitionLinuxParametersSwappiness = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-tmpfs
 ecstdlpTmpfs :: Lens' ECSTaskDefinitionLinuxParameters (Maybe [ECSTaskDefinitionTmpfs])
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskSetAwsVpcConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetAwsVpcConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetAwsVpcConfiguration.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html
+
+module Stratosphere.ResourceProperties.ECSTaskSetAwsVpcConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskSetAwsVpcConfiguration. See
+-- 'ecsTaskSetAwsVpcConfiguration' for a more convenient constructor.
+data ECSTaskSetAwsVpcConfiguration =
+  ECSTaskSetAwsVpcConfiguration
+  { _eCSTaskSetAwsVpcConfigurationAssignPublicIp :: Maybe (Val Text)
+  , _eCSTaskSetAwsVpcConfigurationSecurityGroups :: Maybe (ValList Text)
+  , _eCSTaskSetAwsVpcConfigurationSubnets :: ValList Text
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskSetAwsVpcConfiguration where
+  toJSON ECSTaskSetAwsVpcConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("AssignPublicIp",) . toJSON) _eCSTaskSetAwsVpcConfigurationAssignPublicIp
+    , fmap (("SecurityGroups",) . toJSON) _eCSTaskSetAwsVpcConfigurationSecurityGroups
+    , (Just . ("Subnets",) . toJSON) _eCSTaskSetAwsVpcConfigurationSubnets
+    ]
+
+-- | Constructor for 'ECSTaskSetAwsVpcConfiguration' containing required
+-- fields as arguments.
+ecsTaskSetAwsVpcConfiguration
+  :: ValList Text -- ^ 'ecstsavcSubnets'
+  -> ECSTaskSetAwsVpcConfiguration
+ecsTaskSetAwsVpcConfiguration subnetsarg =
+  ECSTaskSetAwsVpcConfiguration
+  { _eCSTaskSetAwsVpcConfigurationAssignPublicIp = Nothing
+  , _eCSTaskSetAwsVpcConfigurationSecurityGroups = Nothing
+  , _eCSTaskSetAwsVpcConfigurationSubnets = subnetsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-assignpublicip
+ecstsavcAssignPublicIp :: Lens' ECSTaskSetAwsVpcConfiguration (Maybe (Val Text))
+ecstsavcAssignPublicIp = lens _eCSTaskSetAwsVpcConfigurationAssignPublicIp (\s a -> s { _eCSTaskSetAwsVpcConfigurationAssignPublicIp = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-securitygroups
+ecstsavcSecurityGroups :: Lens' ECSTaskSetAwsVpcConfiguration (Maybe (ValList Text))
+ecstsavcSecurityGroups = lens _eCSTaskSetAwsVpcConfigurationSecurityGroups (\s a -> s { _eCSTaskSetAwsVpcConfigurationSecurityGroups = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-subnets
+ecstsavcSubnets :: Lens' ECSTaskSetAwsVpcConfiguration (ValList Text)
+ecstsavcSubnets = lens _eCSTaskSetAwsVpcConfigurationSubnets (\s a -> s { _eCSTaskSetAwsVpcConfigurationSubnets = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskSetLoadBalancer.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetLoadBalancer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetLoadBalancer.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html
+
+module Stratosphere.ResourceProperties.ECSTaskSetLoadBalancer where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskSetLoadBalancer. See
+-- 'ecsTaskSetLoadBalancer' for a more convenient constructor.
+data ECSTaskSetLoadBalancer =
+  ECSTaskSetLoadBalancer
+  { _eCSTaskSetLoadBalancerContainerName :: Maybe (Val Text)
+  , _eCSTaskSetLoadBalancerContainerPort :: Maybe (Val Integer)
+  , _eCSTaskSetLoadBalancerLoadBalancerName :: Maybe (Val Text)
+  , _eCSTaskSetLoadBalancerTargetGroupArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskSetLoadBalancer where
+  toJSON ECSTaskSetLoadBalancer{..} =
+    object $
+    catMaybes
+    [ fmap (("ContainerName",) . toJSON) _eCSTaskSetLoadBalancerContainerName
+    , fmap (("ContainerPort",) . toJSON) _eCSTaskSetLoadBalancerContainerPort
+    , fmap (("LoadBalancerName",) . toJSON) _eCSTaskSetLoadBalancerLoadBalancerName
+    , fmap (("TargetGroupArn",) . toJSON) _eCSTaskSetLoadBalancerTargetGroupArn
+    ]
+
+-- | Constructor for 'ECSTaskSetLoadBalancer' containing required fields as
+-- arguments.
+ecsTaskSetLoadBalancer
+  :: ECSTaskSetLoadBalancer
+ecsTaskSetLoadBalancer  =
+  ECSTaskSetLoadBalancer
+  { _eCSTaskSetLoadBalancerContainerName = Nothing
+  , _eCSTaskSetLoadBalancerContainerPort = Nothing
+  , _eCSTaskSetLoadBalancerLoadBalancerName = Nothing
+  , _eCSTaskSetLoadBalancerTargetGroupArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-containername
+ecstslbContainerName :: Lens' ECSTaskSetLoadBalancer (Maybe (Val Text))
+ecstslbContainerName = lens _eCSTaskSetLoadBalancerContainerName (\s a -> s { _eCSTaskSetLoadBalancerContainerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-containerport
+ecstslbContainerPort :: Lens' ECSTaskSetLoadBalancer (Maybe (Val Integer))
+ecstslbContainerPort = lens _eCSTaskSetLoadBalancerContainerPort (\s a -> s { _eCSTaskSetLoadBalancerContainerPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-loadbalancername
+ecstslbLoadBalancerName :: Lens' ECSTaskSetLoadBalancer (Maybe (Val Text))
+ecstslbLoadBalancerName = lens _eCSTaskSetLoadBalancerLoadBalancerName (\s a -> s { _eCSTaskSetLoadBalancerLoadBalancerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-targetgrouparn
+ecstslbTargetGroupArn :: Lens' ECSTaskSetLoadBalancer (Maybe (Val Text))
+ecstslbTargetGroupArn = lens _eCSTaskSetLoadBalancerTargetGroupArn (\s a -> s { _eCSTaskSetLoadBalancerTargetGroupArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskSetNetworkConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetNetworkConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetNetworkConfiguration.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-networkconfiguration.html
+
+module Stratosphere.ResourceProperties.ECSTaskSetNetworkConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ECSTaskSetAwsVpcConfiguration
+
+-- | Full data type definition for ECSTaskSetNetworkConfiguration. See
+-- 'ecsTaskSetNetworkConfiguration' for a more convenient constructor.
+data ECSTaskSetNetworkConfiguration =
+  ECSTaskSetNetworkConfiguration
+  { _eCSTaskSetNetworkConfigurationAwsVpcConfiguration :: Maybe ECSTaskSetAwsVpcConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskSetNetworkConfiguration where
+  toJSON ECSTaskSetNetworkConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("AwsVpcConfiguration",) . toJSON) _eCSTaskSetNetworkConfigurationAwsVpcConfiguration
+    ]
+
+-- | Constructor for 'ECSTaskSetNetworkConfiguration' containing required
+-- fields as arguments.
+ecsTaskSetNetworkConfiguration
+  :: ECSTaskSetNetworkConfiguration
+ecsTaskSetNetworkConfiguration  =
+  ECSTaskSetNetworkConfiguration
+  { _eCSTaskSetNetworkConfigurationAwsVpcConfiguration = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-networkconfiguration.html#cfn-ecs-taskset-networkconfiguration-awsvpcconfiguration
+ecstsncAwsVpcConfiguration :: Lens' ECSTaskSetNetworkConfiguration (Maybe ECSTaskSetAwsVpcConfiguration)
+ecstsncAwsVpcConfiguration = lens _eCSTaskSetNetworkConfigurationAwsVpcConfiguration (\s a -> s { _eCSTaskSetNetworkConfigurationAwsVpcConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskSetScale.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetScale.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetScale.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html
+
+module Stratosphere.ResourceProperties.ECSTaskSetScale where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskSetScale. See 'ecsTaskSetScale' for
+-- a more convenient constructor.
+data ECSTaskSetScale =
+  ECSTaskSetScale
+  { _eCSTaskSetScaleUnit :: Maybe (Val Text)
+  , _eCSTaskSetScaleValue :: Maybe (Val Double)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskSetScale where
+  toJSON ECSTaskSetScale{..} =
+    object $
+    catMaybes
+    [ fmap (("Unit",) . toJSON) _eCSTaskSetScaleUnit
+    , fmap (("Value",) . toJSON) _eCSTaskSetScaleValue
+    ]
+
+-- | Constructor for 'ECSTaskSetScale' containing required fields as
+-- arguments.
+ecsTaskSetScale
+  :: ECSTaskSetScale
+ecsTaskSetScale  =
+  ECSTaskSetScale
+  { _eCSTaskSetScaleUnit = Nothing
+  , _eCSTaskSetScaleValue = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html#cfn-ecs-taskset-scale-unit
+ecstssUnit :: Lens' ECSTaskSetScale (Maybe (Val Text))
+ecstssUnit = lens _eCSTaskSetScaleUnit (\s a -> s { _eCSTaskSetScaleUnit = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html#cfn-ecs-taskset-scale-value
+ecstssValue :: Lens' ECSTaskSetScale (Maybe (Val Double))
+ecstssValue = lens _eCSTaskSetScaleValue (\s a -> s { _eCSTaskSetScaleValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskSetServiceRegistry.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetServiceRegistry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskSetServiceRegistry.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html
+
+module Stratosphere.ResourceProperties.ECSTaskSetServiceRegistry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskSetServiceRegistry. See
+-- 'ecsTaskSetServiceRegistry' for a more convenient constructor.
+data ECSTaskSetServiceRegistry =
+  ECSTaskSetServiceRegistry
+  { _eCSTaskSetServiceRegistryContainerName :: Maybe (Val Text)
+  , _eCSTaskSetServiceRegistryContainerPort :: Maybe (Val Integer)
+  , _eCSTaskSetServiceRegistryPort :: Maybe (Val Integer)
+  , _eCSTaskSetServiceRegistryRegistryArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskSetServiceRegistry where
+  toJSON ECSTaskSetServiceRegistry{..} =
+    object $
+    catMaybes
+    [ fmap (("ContainerName",) . toJSON) _eCSTaskSetServiceRegistryContainerName
+    , fmap (("ContainerPort",) . toJSON) _eCSTaskSetServiceRegistryContainerPort
+    , fmap (("Port",) . toJSON) _eCSTaskSetServiceRegistryPort
+    , fmap (("RegistryArn",) . toJSON) _eCSTaskSetServiceRegistryRegistryArn
+    ]
+
+-- | Constructor for 'ECSTaskSetServiceRegistry' containing required fields as
+-- arguments.
+ecsTaskSetServiceRegistry
+  :: ECSTaskSetServiceRegistry
+ecsTaskSetServiceRegistry  =
+  ECSTaskSetServiceRegistry
+  { _eCSTaskSetServiceRegistryContainerName = Nothing
+  , _eCSTaskSetServiceRegistryContainerPort = Nothing
+  , _eCSTaskSetServiceRegistryPort = Nothing
+  , _eCSTaskSetServiceRegistryRegistryArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-containername
+ecstssrContainerName :: Lens' ECSTaskSetServiceRegistry (Maybe (Val Text))
+ecstssrContainerName = lens _eCSTaskSetServiceRegistryContainerName (\s a -> s { _eCSTaskSetServiceRegistryContainerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-containerport
+ecstssrContainerPort :: Lens' ECSTaskSetServiceRegistry (Maybe (Val Integer))
+ecstssrContainerPort = lens _eCSTaskSetServiceRegistryContainerPort (\s a -> s { _eCSTaskSetServiceRegistryContainerPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-port
+ecstssrPort :: Lens' ECSTaskSetServiceRegistry (Maybe (Val Integer))
+ecstssrPort = lens _eCSTaskSetServiceRegistryPort (\s a -> s { _eCSTaskSetServiceRegistryPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-registryarn
+ecstssrRegistryArn :: Lens' ECSTaskSetServiceRegistry (Maybe (Val Text))
+ecstssrRegistryArn = lens _eCSTaskSetServiceRegistryRegistryArn (\s a -> s { _eCSTaskSetServiceRegistryRegistryArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EKSNodegroupRemoteAccess.hs b/library-gen/Stratosphere/ResourceProperties/EKSNodegroupRemoteAccess.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EKSNodegroupRemoteAccess.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html
+
+module Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EKSNodegroupRemoteAccess. See
+-- 'eksNodegroupRemoteAccess' for a more convenient constructor.
+data EKSNodegroupRemoteAccess =
+  EKSNodegroupRemoteAccess
+  { _eKSNodegroupRemoteAccessEc2SshKey :: Val Text
+  , _eKSNodegroupRemoteAccessSourceSecurityGroups :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON EKSNodegroupRemoteAccess where
+  toJSON EKSNodegroupRemoteAccess{..} =
+    object $
+    catMaybes
+    [ (Just . ("Ec2SshKey",) . toJSON) _eKSNodegroupRemoteAccessEc2SshKey
+    , fmap (("SourceSecurityGroups",) . toJSON) _eKSNodegroupRemoteAccessSourceSecurityGroups
+    ]
+
+-- | Constructor for 'EKSNodegroupRemoteAccess' containing required fields as
+-- arguments.
+eksNodegroupRemoteAccess
+  :: Val Text -- ^ 'eksnraEc2SshKey'
+  -> EKSNodegroupRemoteAccess
+eksNodegroupRemoteAccess ec2SshKeyarg =
+  EKSNodegroupRemoteAccess
+  { _eKSNodegroupRemoteAccessEc2SshKey = ec2SshKeyarg
+  , _eKSNodegroupRemoteAccessSourceSecurityGroups = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-ec2sshkey
+eksnraEc2SshKey :: Lens' EKSNodegroupRemoteAccess (Val Text)
+eksnraEc2SshKey = lens _eKSNodegroupRemoteAccessEc2SshKey (\s a -> s { _eKSNodegroupRemoteAccessEc2SshKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-sourcesecuritygroups
+eksnraSourceSecurityGroups :: Lens' EKSNodegroupRemoteAccess (Maybe (ValList Text))
+eksnraSourceSecurityGroups = lens _eKSNodegroupRemoteAccessSourceSecurityGroups (\s a -> s { _eKSNodegroupRemoteAccessSourceSecurityGroups = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EKSNodegroupScalingConfig.hs b/library-gen/Stratosphere/ResourceProperties/EKSNodegroupScalingConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EKSNodegroupScalingConfig.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html
+
+module Stratosphere.ResourceProperties.EKSNodegroupScalingConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EKSNodegroupScalingConfig. See
+-- 'eksNodegroupScalingConfig' for a more convenient constructor.
+data EKSNodegroupScalingConfig =
+  EKSNodegroupScalingConfig
+  { _eKSNodegroupScalingConfigDesiredSize :: Maybe (Val Double)
+  , _eKSNodegroupScalingConfigMaxSize :: Maybe (Val Double)
+  , _eKSNodegroupScalingConfigMinSize :: Maybe (Val Double)
+  } deriving (Show, Eq)
+
+instance ToJSON EKSNodegroupScalingConfig where
+  toJSON EKSNodegroupScalingConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("DesiredSize",) . toJSON) _eKSNodegroupScalingConfigDesiredSize
+    , fmap (("MaxSize",) . toJSON) _eKSNodegroupScalingConfigMaxSize
+    , fmap (("MinSize",) . toJSON) _eKSNodegroupScalingConfigMinSize
+    ]
+
+-- | Constructor for 'EKSNodegroupScalingConfig' containing required fields as
+-- arguments.
+eksNodegroupScalingConfig
+  :: EKSNodegroupScalingConfig
+eksNodegroupScalingConfig  =
+  EKSNodegroupScalingConfig
+  { _eKSNodegroupScalingConfigDesiredSize = Nothing
+  , _eKSNodegroupScalingConfigMaxSize = Nothing
+  , _eKSNodegroupScalingConfigMinSize = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-desiredsize
+eksnscDesiredSize :: Lens' EKSNodegroupScalingConfig (Maybe (Val Double))
+eksnscDesiredSize = lens _eKSNodegroupScalingConfigDesiredSize (\s a -> s { _eKSNodegroupScalingConfigDesiredSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-maxsize
+eksnscMaxSize :: Lens' EKSNodegroupScalingConfig (Maybe (Val Double))
+eksnscMaxSize = lens _eKSNodegroupScalingConfigMaxSize (\s a -> s { _eKSNodegroupScalingConfigMaxSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-minsize
+eksnscMinSize :: Lens' EKSNodegroupScalingConfig (Maybe (Val Double))
+eksnscMinSize = lens _eKSNodegroupScalingConfigMinSize (\s a -> s { _eKSNodegroupScalingConfigMinSize = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainCognitoOptions.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainCognitoOptions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainCognitoOptions.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html
+
+module Stratosphere.ResourceProperties.ElasticsearchDomainCognitoOptions where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ElasticsearchDomainCognitoOptions. See
+-- 'elasticsearchDomainCognitoOptions' for a more convenient constructor.
+data ElasticsearchDomainCognitoOptions =
+  ElasticsearchDomainCognitoOptions
+  { _elasticsearchDomainCognitoOptionsEnabled :: Maybe (Val Bool)
+  , _elasticsearchDomainCognitoOptionsIdentityPoolId :: Maybe (Val Text)
+  , _elasticsearchDomainCognitoOptionsRoleArn :: Maybe (Val Text)
+  , _elasticsearchDomainCognitoOptionsUserPoolId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ElasticsearchDomainCognitoOptions where
+  toJSON ElasticsearchDomainCognitoOptions{..} =
+    object $
+    catMaybes
+    [ fmap (("Enabled",) . toJSON) _elasticsearchDomainCognitoOptionsEnabled
+    , fmap (("IdentityPoolId",) . toJSON) _elasticsearchDomainCognitoOptionsIdentityPoolId
+    , fmap (("RoleArn",) . toJSON) _elasticsearchDomainCognitoOptionsRoleArn
+    , fmap (("UserPoolId",) . toJSON) _elasticsearchDomainCognitoOptionsUserPoolId
+    ]
+
+-- | Constructor for 'ElasticsearchDomainCognitoOptions' containing required
+-- fields as arguments.
+elasticsearchDomainCognitoOptions
+  :: ElasticsearchDomainCognitoOptions
+elasticsearchDomainCognitoOptions  =
+  ElasticsearchDomainCognitoOptions
+  { _elasticsearchDomainCognitoOptionsEnabled = Nothing
+  , _elasticsearchDomainCognitoOptionsIdentityPoolId = Nothing
+  , _elasticsearchDomainCognitoOptionsRoleArn = Nothing
+  , _elasticsearchDomainCognitoOptionsUserPoolId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-enabled
+edcoEnabled :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Bool))
+edcoEnabled = lens _elasticsearchDomainCognitoOptionsEnabled (\s a -> s { _elasticsearchDomainCognitoOptionsEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-identitypoolid
+edcoIdentityPoolId :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Text))
+edcoIdentityPoolId = lens _elasticsearchDomainCognitoOptionsIdentityPoolId (\s a -> s { _elasticsearchDomainCognitoOptionsIdentityPoolId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-rolearn
+edcoRoleArn :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Text))
+edcoRoleArn = lens _elasticsearchDomainCognitoOptionsRoleArn (\s a -> s { _elasticsearchDomainCognitoOptionsRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-userpoolid
+edcoUserPoolId :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Text))
+edcoUserPoolId = lens _elasticsearchDomainCognitoOptionsUserPoolId (\s a -> s { _elasticsearchDomainCognitoOptionsUserPoolId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventSchemasDiscovererTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/EventSchemasDiscovererTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventSchemasDiscovererTagsEntry.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html
+
+module Stratosphere.ResourceProperties.EventSchemasDiscovererTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventSchemasDiscovererTagsEntry. See
+-- 'eventSchemasDiscovererTagsEntry' for a more convenient constructor.
+data EventSchemasDiscovererTagsEntry =
+  EventSchemasDiscovererTagsEntry
+  { _eventSchemasDiscovererTagsEntryKey :: Val Text
+  , _eventSchemasDiscovererTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EventSchemasDiscovererTagsEntry where
+  toJSON EventSchemasDiscovererTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _eventSchemasDiscovererTagsEntryKey
+    , (Just . ("Value",) . toJSON) _eventSchemasDiscovererTagsEntryValue
+    ]
+
+-- | Constructor for 'EventSchemasDiscovererTagsEntry' containing required
+-- fields as arguments.
+eventSchemasDiscovererTagsEntry
+  :: Val Text -- ^ 'esdteKey'
+  -> Val Text -- ^ 'esdteValue'
+  -> EventSchemasDiscovererTagsEntry
+eventSchemasDiscovererTagsEntry keyarg valuearg =
+  EventSchemasDiscovererTagsEntry
+  { _eventSchemasDiscovererTagsEntryKey = keyarg
+  , _eventSchemasDiscovererTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html#cfn-eventschemas-discoverer-tagsentry-key
+esdteKey :: Lens' EventSchemasDiscovererTagsEntry (Val Text)
+esdteKey = lens _eventSchemasDiscovererTagsEntryKey (\s a -> s { _eventSchemasDiscovererTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html#cfn-eventschemas-discoverer-tagsentry-value
+esdteValue :: Lens' EventSchemasDiscovererTagsEntry (Val Text)
+esdteValue = lens _eventSchemasDiscovererTagsEntryValue (\s a -> s { _eventSchemasDiscovererTagsEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventSchemasRegistryTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/EventSchemasRegistryTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventSchemasRegistryTagsEntry.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html
+
+module Stratosphere.ResourceProperties.EventSchemasRegistryTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventSchemasRegistryTagsEntry. See
+-- 'eventSchemasRegistryTagsEntry' for a more convenient constructor.
+data EventSchemasRegistryTagsEntry =
+  EventSchemasRegistryTagsEntry
+  { _eventSchemasRegistryTagsEntryKey :: Val Text
+  , _eventSchemasRegistryTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EventSchemasRegistryTagsEntry where
+  toJSON EventSchemasRegistryTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _eventSchemasRegistryTagsEntryKey
+    , (Just . ("Value",) . toJSON) _eventSchemasRegistryTagsEntryValue
+    ]
+
+-- | Constructor for 'EventSchemasRegistryTagsEntry' containing required
+-- fields as arguments.
+eventSchemasRegistryTagsEntry
+  :: Val Text -- ^ 'esrteKey'
+  -> Val Text -- ^ 'esrteValue'
+  -> EventSchemasRegistryTagsEntry
+eventSchemasRegistryTagsEntry keyarg valuearg =
+  EventSchemasRegistryTagsEntry
+  { _eventSchemasRegistryTagsEntryKey = keyarg
+  , _eventSchemasRegistryTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html#cfn-eventschemas-registry-tagsentry-key
+esrteKey :: Lens' EventSchemasRegistryTagsEntry (Val Text)
+esrteKey = lens _eventSchemasRegistryTagsEntryKey (\s a -> s { _eventSchemasRegistryTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html#cfn-eventschemas-registry-tagsentry-value
+esrteValue :: Lens' EventSchemasRegistryTagsEntry (Val Text)
+esrteValue = lens _eventSchemasRegistryTagsEntryValue (\s a -> s { _eventSchemasRegistryTagsEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventSchemasSchemaTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/EventSchemasSchemaTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventSchemasSchemaTagsEntry.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html
+
+module Stratosphere.ResourceProperties.EventSchemasSchemaTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventSchemasSchemaTagsEntry. See
+-- 'eventSchemasSchemaTagsEntry' for a more convenient constructor.
+data EventSchemasSchemaTagsEntry =
+  EventSchemasSchemaTagsEntry
+  { _eventSchemasSchemaTagsEntryKey :: Val Text
+  , _eventSchemasSchemaTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EventSchemasSchemaTagsEntry where
+  toJSON EventSchemasSchemaTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _eventSchemasSchemaTagsEntryKey
+    , (Just . ("Value",) . toJSON) _eventSchemasSchemaTagsEntryValue
+    ]
+
+-- | Constructor for 'EventSchemasSchemaTagsEntry' containing required fields
+-- as arguments.
+eventSchemasSchemaTagsEntry
+  :: Val Text -- ^ 'essteKey'
+  -> Val Text -- ^ 'essteValue'
+  -> EventSchemasSchemaTagsEntry
+eventSchemasSchemaTagsEntry keyarg valuearg =
+  EventSchemasSchemaTagsEntry
+  { _eventSchemasSchemaTagsEntryKey = keyarg
+  , _eventSchemasSchemaTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html#cfn-eventschemas-schema-tagsentry-key
+essteKey :: Lens' EventSchemasSchemaTagsEntry (Val Text)
+essteKey = lens _eventSchemasSchemaTagsEntryKey (\s a -> s { _eventSchemasSchemaTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html#cfn-eventschemas-schema-tagsentry-value
+essteValue :: Lens' EventSchemasSchemaTagsEntry (Val Text)
+essteValue = lens _eventSchemasSchemaTagsEntryValue (\s a -> s { _eventSchemasSchemaTagsEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs
@@ -18,6 +18,8 @@
   , _fSxFileSystemWindowsConfigurationAutomaticBackupRetentionDays :: Maybe (Val Integer)
   , _fSxFileSystemWindowsConfigurationCopyTagsToBackups :: Maybe (Val Bool)
   , _fSxFileSystemWindowsConfigurationDailyAutomaticBackupStartTime :: Maybe (Val Text)
+  , _fSxFileSystemWindowsConfigurationDeploymentType :: Maybe (Val Text)
+  , _fSxFileSystemWindowsConfigurationPreferredSubnetId :: Maybe (Val Text)
   , _fSxFileSystemWindowsConfigurationSelfManagedActiveDirectoryConfiguration :: Maybe FSxFileSystemSelfManagedActiveDirectoryConfiguration
   , _fSxFileSystemWindowsConfigurationThroughputCapacity :: Maybe (Val Integer)
   , _fSxFileSystemWindowsConfigurationWeeklyMaintenanceStartTime :: Maybe (Val Text)
@@ -31,6 +33,8 @@
     , fmap (("AutomaticBackupRetentionDays",) . toJSON) _fSxFileSystemWindowsConfigurationAutomaticBackupRetentionDays
     , fmap (("CopyTagsToBackups",) . toJSON) _fSxFileSystemWindowsConfigurationCopyTagsToBackups
     , fmap (("DailyAutomaticBackupStartTime",) . toJSON) _fSxFileSystemWindowsConfigurationDailyAutomaticBackupStartTime
+    , fmap (("DeploymentType",) . toJSON) _fSxFileSystemWindowsConfigurationDeploymentType
+    , fmap (("PreferredSubnetId",) . toJSON) _fSxFileSystemWindowsConfigurationPreferredSubnetId
     , fmap (("SelfManagedActiveDirectoryConfiguration",) . toJSON) _fSxFileSystemWindowsConfigurationSelfManagedActiveDirectoryConfiguration
     , fmap (("ThroughputCapacity",) . toJSON) _fSxFileSystemWindowsConfigurationThroughputCapacity
     , fmap (("WeeklyMaintenanceStartTime",) . toJSON) _fSxFileSystemWindowsConfigurationWeeklyMaintenanceStartTime
@@ -46,6 +50,8 @@
   , _fSxFileSystemWindowsConfigurationAutomaticBackupRetentionDays = Nothing
   , _fSxFileSystemWindowsConfigurationCopyTagsToBackups = Nothing
   , _fSxFileSystemWindowsConfigurationDailyAutomaticBackupStartTime = Nothing
+  , _fSxFileSystemWindowsConfigurationDeploymentType = Nothing
+  , _fSxFileSystemWindowsConfigurationPreferredSubnetId = Nothing
   , _fSxFileSystemWindowsConfigurationSelfManagedActiveDirectoryConfiguration = Nothing
   , _fSxFileSystemWindowsConfigurationThroughputCapacity = Nothing
   , _fSxFileSystemWindowsConfigurationWeeklyMaintenanceStartTime = Nothing
@@ -66,6 +72,14 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-dailyautomaticbackupstarttime
 fsfswcDailyAutomaticBackupStartTime :: Lens' FSxFileSystemWindowsConfiguration (Maybe (Val Text))
 fsfswcDailyAutomaticBackupStartTime = lens _fSxFileSystemWindowsConfigurationDailyAutomaticBackupStartTime (\s a -> s { _fSxFileSystemWindowsConfigurationDailyAutomaticBackupStartTime = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-deploymenttype
+fsfswcDeploymentType :: Lens' FSxFileSystemWindowsConfiguration (Maybe (Val Text))
+fsfswcDeploymentType = lens _fSxFileSystemWindowsConfigurationDeploymentType (\s a -> s { _fSxFileSystemWindowsConfigurationDeploymentType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-preferredsubnetid
+fsfswcPreferredSubnetId :: Lens' FSxFileSystemWindowsConfiguration (Maybe (Val Text))
+fsfswcPreferredSubnetId = lens _fSxFileSystemWindowsConfigurationPreferredSubnetId (\s a -> s { _fSxFileSystemWindowsConfigurationPreferredSubnetId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration
 fsfswcSelfManagedActiveDirectoryConfiguration :: Lens' FSxFileSystemWindowsConfiguration (Maybe FSxFileSystemSelfManagedActiveDirectoryConfiguration)
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameSessionQueueDestination.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameSessionQueueDestination.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameSessionQueueDestination.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-destination.html
+
+module Stratosphere.ResourceProperties.GameLiftGameSessionQueueDestination where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftGameSessionQueueDestination. See
+-- 'gameLiftGameSessionQueueDestination' for a more convenient constructor.
+data GameLiftGameSessionQueueDestination =
+  GameLiftGameSessionQueueDestination
+  { _gameLiftGameSessionQueueDestinationDestinationArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameSessionQueueDestination where
+  toJSON GameLiftGameSessionQueueDestination{..} =
+    object $
+    catMaybes
+    [ fmap (("DestinationArn",) . toJSON) _gameLiftGameSessionQueueDestinationDestinationArn
+    ]
+
+-- | Constructor for 'GameLiftGameSessionQueueDestination' containing required
+-- fields as arguments.
+gameLiftGameSessionQueueDestination
+  :: GameLiftGameSessionQueueDestination
+gameLiftGameSessionQueueDestination  =
+  GameLiftGameSessionQueueDestination
+  { _gameLiftGameSessionQueueDestinationDestinationArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-destination.html#cfn-gamelift-gamesessionqueue-destination-destinationarn
+glgsqdDestinationArn :: Lens' GameLiftGameSessionQueueDestination (Maybe (Val Text))
+glgsqdDestinationArn = lens _gameLiftGameSessionQueueDestinationDestinationArn (\s a -> s { _gameLiftGameSessionQueueDestinationDestinationArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameSessionQueuePlayerLatencyPolicy.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameSessionQueuePlayerLatencyPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameSessionQueuePlayerLatencyPolicy.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html
+
+module Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GameLiftGameSessionQueuePlayerLatencyPolicy. See
+-- 'gameLiftGameSessionQueuePlayerLatencyPolicy' for a more convenient
+-- constructor.
+data GameLiftGameSessionQueuePlayerLatencyPolicy =
+  GameLiftGameSessionQueuePlayerLatencyPolicy
+  { _gameLiftGameSessionQueuePlayerLatencyPolicyMaximumIndividualPlayerLatencyMilliseconds :: Maybe (Val Integer)
+  , _gameLiftGameSessionQueuePlayerLatencyPolicyPolicyDurationSeconds :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameSessionQueuePlayerLatencyPolicy where
+  toJSON GameLiftGameSessionQueuePlayerLatencyPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("MaximumIndividualPlayerLatencyMilliseconds",) . toJSON) _gameLiftGameSessionQueuePlayerLatencyPolicyMaximumIndividualPlayerLatencyMilliseconds
+    , fmap (("PolicyDurationSeconds",) . toJSON) _gameLiftGameSessionQueuePlayerLatencyPolicyPolicyDurationSeconds
+    ]
+
+-- | Constructor for 'GameLiftGameSessionQueuePlayerLatencyPolicy' containing
+-- required fields as arguments.
+gameLiftGameSessionQueuePlayerLatencyPolicy
+  :: GameLiftGameSessionQueuePlayerLatencyPolicy
+gameLiftGameSessionQueuePlayerLatencyPolicy  =
+  GameLiftGameSessionQueuePlayerLatencyPolicy
+  { _gameLiftGameSessionQueuePlayerLatencyPolicyMaximumIndividualPlayerLatencyMilliseconds = Nothing
+  , _gameLiftGameSessionQueuePlayerLatencyPolicyPolicyDurationSeconds = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html#cfn-gamelift-gamesessionqueue-playerlatencypolicy-maximumindividualplayerlatencymilliseconds
+glgsqplpMaximumIndividualPlayerLatencyMilliseconds :: Lens' GameLiftGameSessionQueuePlayerLatencyPolicy (Maybe (Val Integer))
+glgsqplpMaximumIndividualPlayerLatencyMilliseconds = lens _gameLiftGameSessionQueuePlayerLatencyPolicyMaximumIndividualPlayerLatencyMilliseconds (\s a -> s { _gameLiftGameSessionQueuePlayerLatencyPolicyMaximumIndividualPlayerLatencyMilliseconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html#cfn-gamelift-gamesessionqueue-playerlatencypolicy-policydurationseconds
+glgsqplpPolicyDurationSeconds :: Lens' GameLiftGameSessionQueuePlayerLatencyPolicy (Maybe (Val Integer))
+glgsqplpPolicyDurationSeconds = lens _gameLiftGameSessionQueuePlayerLatencyPolicyPolicyDurationSeconds (\s a -> s { _gameLiftGameSessionQueuePlayerLatencyPolicyPolicyDurationSeconds = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftMatchmakingConfigurationGameProperty.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftMatchmakingConfigurationGameProperty.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftMatchmakingConfigurationGameProperty.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html
+
+module Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GameLiftMatchmakingConfigurationGameProperty. See
+-- 'gameLiftMatchmakingConfigurationGameProperty' for a more convenient
+-- constructor.
+data GameLiftMatchmakingConfigurationGameProperty =
+  GameLiftMatchmakingConfigurationGameProperty
+  { _gameLiftMatchmakingConfigurationGamePropertyKey :: Val Text
+  , _gameLiftMatchmakingConfigurationGamePropertyValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftMatchmakingConfigurationGameProperty where
+  toJSON GameLiftMatchmakingConfigurationGameProperty{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _gameLiftMatchmakingConfigurationGamePropertyKey
+    , (Just . ("Value",) . toJSON) _gameLiftMatchmakingConfigurationGamePropertyValue
+    ]
+
+-- | Constructor for 'GameLiftMatchmakingConfigurationGameProperty' containing
+-- required fields as arguments.
+gameLiftMatchmakingConfigurationGameProperty
+  :: Val Text -- ^ 'glmcgpKey'
+  -> Val Text -- ^ 'glmcgpValue'
+  -> GameLiftMatchmakingConfigurationGameProperty
+gameLiftMatchmakingConfigurationGameProperty keyarg valuearg =
+  GameLiftMatchmakingConfigurationGameProperty
+  { _gameLiftMatchmakingConfigurationGamePropertyKey = keyarg
+  , _gameLiftMatchmakingConfigurationGamePropertyValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html#cfn-gamelift-matchmakingconfiguration-gameproperty-key
+glmcgpKey :: Lens' GameLiftMatchmakingConfigurationGameProperty (Val Text)
+glmcgpKey = lens _gameLiftMatchmakingConfigurationGamePropertyKey (\s a -> s { _gameLiftMatchmakingConfigurationGamePropertyKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html#cfn-gamelift-matchmakingconfiguration-gameproperty-value
+glmcgpValue :: Lens' GameLiftMatchmakingConfigurationGameProperty (Val Text)
+glmcgpValue = lens _gameLiftMatchmakingConfigurationGamePropertyValue (\s a -> s { _gameLiftMatchmakingConfigurationGamePropertyValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftScriptS3Location.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftScriptS3Location.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftScriptS3Location.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html
+
+module Stratosphere.ResourceProperties.GameLiftScriptS3Location where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftScriptS3Location. See
+-- 'gameLiftScriptS3Location' for a more convenient constructor.
+data GameLiftScriptS3Location =
+  GameLiftScriptS3Location
+  { _gameLiftScriptS3LocationBucket :: Val Text
+  , _gameLiftScriptS3LocationKey :: Val Text
+  , _gameLiftScriptS3LocationObjectVersion :: Maybe (Val Text)
+  , _gameLiftScriptS3LocationRoleArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftScriptS3Location where
+  toJSON GameLiftScriptS3Location{..} =
+    object $
+    catMaybes
+    [ (Just . ("Bucket",) . toJSON) _gameLiftScriptS3LocationBucket
+    , (Just . ("Key",) . toJSON) _gameLiftScriptS3LocationKey
+    , fmap (("ObjectVersion",) . toJSON) _gameLiftScriptS3LocationObjectVersion
+    , (Just . ("RoleArn",) . toJSON) _gameLiftScriptS3LocationRoleArn
+    ]
+
+-- | Constructor for 'GameLiftScriptS3Location' containing required fields as
+-- arguments.
+gameLiftScriptS3Location
+  :: Val Text -- ^ 'glsslBucket'
+  -> Val Text -- ^ 'glsslKey'
+  -> Val Text -- ^ 'glsslRoleArn'
+  -> GameLiftScriptS3Location
+gameLiftScriptS3Location bucketarg keyarg roleArnarg =
+  GameLiftScriptS3Location
+  { _gameLiftScriptS3LocationBucket = bucketarg
+  , _gameLiftScriptS3LocationKey = keyarg
+  , _gameLiftScriptS3LocationObjectVersion = Nothing
+  , _gameLiftScriptS3LocationRoleArn = roleArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-bucket
+glsslBucket :: Lens' GameLiftScriptS3Location (Val Text)
+glsslBucket = lens _gameLiftScriptS3LocationBucket (\s a -> s { _gameLiftScriptS3LocationBucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-key
+glsslKey :: Lens' GameLiftScriptS3Location (Val Text)
+glsslKey = lens _gameLiftScriptS3LocationKey (\s a -> s { _gameLiftScriptS3LocationKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-objectversion
+glsslObjectVersion :: Lens' GameLiftScriptS3Location (Maybe (Val Text))
+glsslObjectVersion = lens _gameLiftScriptS3LocationObjectVersion (\s a -> s { _gameLiftScriptS3LocationObjectVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-rolearn
+glsslRoleArn :: Lens' GameLiftScriptS3Location (Val Text)
+glsslRoleArn = lens _gameLiftScriptS3LocationRoleArn (\s a -> s { _gameLiftScriptS3LocationRoleArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaAliasProvisionedConcurrencyConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/LambdaAliasProvisionedConcurrencyConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaAliasProvisionedConcurrencyConfiguration.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-provisionedconcurrencyconfiguration.html
+
+module Stratosphere.ResourceProperties.LambdaAliasProvisionedConcurrencyConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- LambdaAliasProvisionedConcurrencyConfiguration. See
+-- 'lambdaAliasProvisionedConcurrencyConfiguration' for a more convenient
+-- constructor.
+data LambdaAliasProvisionedConcurrencyConfiguration =
+  LambdaAliasProvisionedConcurrencyConfiguration
+  { _lambdaAliasProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaAliasProvisionedConcurrencyConfiguration where
+  toJSON LambdaAliasProvisionedConcurrencyConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("ProvisionedConcurrentExecutions",) . toJSON) _lambdaAliasProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions
+    ]
+
+-- | Constructor for 'LambdaAliasProvisionedConcurrencyConfiguration'
+-- containing required fields as arguments.
+lambdaAliasProvisionedConcurrencyConfiguration
+  :: Val Integer -- ^ 'lapccProvisionedConcurrentExecutions'
+  -> LambdaAliasProvisionedConcurrencyConfiguration
+lambdaAliasProvisionedConcurrencyConfiguration provisionedConcurrentExecutionsarg =
+  LambdaAliasProvisionedConcurrencyConfiguration
+  { _lambdaAliasProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions = provisionedConcurrentExecutionsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-provisionedconcurrencyconfiguration.html#cfn-lambda-alias-provisionedconcurrencyconfiguration-provisionedconcurrentexecutions
+lapccProvisionedConcurrentExecutions :: Lens' LambdaAliasProvisionedConcurrencyConfiguration (Val Integer)
+lapccProvisionedConcurrentExecutions = lens _lambdaAliasProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions (\s a -> s { _lambdaAliasProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigDestinationConfig.hs b/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigDestinationConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigDestinationConfig.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html
+
+module Stratosphere.ResourceProperties.LambdaEventInvokeConfigDestinationConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnFailure
+import Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnSuccess
+
+-- | Full data type definition for LambdaEventInvokeConfigDestinationConfig.
+-- See 'lambdaEventInvokeConfigDestinationConfig' for a more convenient
+-- constructor.
+data LambdaEventInvokeConfigDestinationConfig =
+  LambdaEventInvokeConfigDestinationConfig
+  { _lambdaEventInvokeConfigDestinationConfigOnFailure :: Maybe LambdaEventInvokeConfigOnFailure
+  , _lambdaEventInvokeConfigDestinationConfigOnSuccess :: Maybe LambdaEventInvokeConfigOnSuccess
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaEventInvokeConfigDestinationConfig where
+  toJSON LambdaEventInvokeConfigDestinationConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("OnFailure",) . toJSON) _lambdaEventInvokeConfigDestinationConfigOnFailure
+    , fmap (("OnSuccess",) . toJSON) _lambdaEventInvokeConfigDestinationConfigOnSuccess
+    ]
+
+-- | Constructor for 'LambdaEventInvokeConfigDestinationConfig' containing
+-- required fields as arguments.
+lambdaEventInvokeConfigDestinationConfig
+  :: LambdaEventInvokeConfigDestinationConfig
+lambdaEventInvokeConfigDestinationConfig  =
+  LambdaEventInvokeConfigDestinationConfig
+  { _lambdaEventInvokeConfigDestinationConfigOnFailure = Nothing
+  , _lambdaEventInvokeConfigDestinationConfigOnSuccess = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig-onfailure
+leicdcOnFailure :: Lens' LambdaEventInvokeConfigDestinationConfig (Maybe LambdaEventInvokeConfigOnFailure)
+leicdcOnFailure = lens _lambdaEventInvokeConfigDestinationConfigOnFailure (\s a -> s { _lambdaEventInvokeConfigDestinationConfigOnFailure = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig-onsuccess
+leicdcOnSuccess :: Lens' LambdaEventInvokeConfigDestinationConfig (Maybe LambdaEventInvokeConfigOnSuccess)
+leicdcOnSuccess = lens _lambdaEventInvokeConfigDestinationConfigOnSuccess (\s a -> s { _lambdaEventInvokeConfigDestinationConfigOnSuccess = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigOnFailure.hs b/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigOnFailure.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigOnFailure.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onfailure.html
+
+module Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnFailure where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LambdaEventInvokeConfigOnFailure. See
+-- 'lambdaEventInvokeConfigOnFailure' for a more convenient constructor.
+data LambdaEventInvokeConfigOnFailure =
+  LambdaEventInvokeConfigOnFailure
+  { _lambdaEventInvokeConfigOnFailureDestination :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaEventInvokeConfigOnFailure where
+  toJSON LambdaEventInvokeConfigOnFailure{..} =
+    object $
+    catMaybes
+    [ (Just . ("Destination",) . toJSON) _lambdaEventInvokeConfigOnFailureDestination
+    ]
+
+-- | Constructor for 'LambdaEventInvokeConfigOnFailure' containing required
+-- fields as arguments.
+lambdaEventInvokeConfigOnFailure
+  :: Val Text -- ^ 'leicofDestination'
+  -> LambdaEventInvokeConfigOnFailure
+lambdaEventInvokeConfigOnFailure destinationarg =
+  LambdaEventInvokeConfigOnFailure
+  { _lambdaEventInvokeConfigOnFailureDestination = destinationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onfailure.html#cfn-lambda-eventinvokeconfig-destinationconfig-onfailure-destination
+leicofDestination :: Lens' LambdaEventInvokeConfigOnFailure (Val Text)
+leicofDestination = lens _lambdaEventInvokeConfigOnFailureDestination (\s a -> s { _lambdaEventInvokeConfigOnFailureDestination = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigOnSuccess.hs b/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigOnSuccess.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaEventInvokeConfigOnSuccess.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onsuccess.html
+
+module Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnSuccess where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LambdaEventInvokeConfigOnSuccess. See
+-- 'lambdaEventInvokeConfigOnSuccess' for a more convenient constructor.
+data LambdaEventInvokeConfigOnSuccess =
+  LambdaEventInvokeConfigOnSuccess
+  { _lambdaEventInvokeConfigOnSuccessDestination :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaEventInvokeConfigOnSuccess where
+  toJSON LambdaEventInvokeConfigOnSuccess{..} =
+    object $
+    catMaybes
+    [ (Just . ("Destination",) . toJSON) _lambdaEventInvokeConfigOnSuccessDestination
+    ]
+
+-- | Constructor for 'LambdaEventInvokeConfigOnSuccess' containing required
+-- fields as arguments.
+lambdaEventInvokeConfigOnSuccess
+  :: Val Text -- ^ 'leicosDestination'
+  -> LambdaEventInvokeConfigOnSuccess
+lambdaEventInvokeConfigOnSuccess destinationarg =
+  LambdaEventInvokeConfigOnSuccess
+  { _lambdaEventInvokeConfigOnSuccessDestination = destinationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onsuccess.html#cfn-lambda-eventinvokeconfig-destinationconfig-onsuccess-destination
+leicosDestination :: Lens' LambdaEventInvokeConfigOnSuccess (Val Text)
+leicosDestination = lens _lambdaEventInvokeConfigOnSuccessDestination (\s a -> s { _lambdaEventInvokeConfigOnSuccessDestination = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaEventSourceMappingDestinationConfig.hs b/library-gen/Stratosphere/ResourceProperties/LambdaEventSourceMappingDestinationConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaEventSourceMappingDestinationConfig.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html
+
+module Stratosphere.ResourceProperties.LambdaEventSourceMappingDestinationConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LambdaEventSourceMappingOnFailure
+
+-- | Full data type definition for LambdaEventSourceMappingDestinationConfig.
+-- See 'lambdaEventSourceMappingDestinationConfig' for a more convenient
+-- constructor.
+data LambdaEventSourceMappingDestinationConfig =
+  LambdaEventSourceMappingDestinationConfig
+  { _lambdaEventSourceMappingDestinationConfigOnFailure :: LambdaEventSourceMappingOnFailure
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaEventSourceMappingDestinationConfig where
+  toJSON LambdaEventSourceMappingDestinationConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("OnFailure",) . toJSON) _lambdaEventSourceMappingDestinationConfigOnFailure
+    ]
+
+-- | Constructor for 'LambdaEventSourceMappingDestinationConfig' containing
+-- required fields as arguments.
+lambdaEventSourceMappingDestinationConfig
+  :: LambdaEventSourceMappingOnFailure -- ^ 'lesmdcOnFailure'
+  -> LambdaEventSourceMappingDestinationConfig
+lambdaEventSourceMappingDestinationConfig onFailurearg =
+  LambdaEventSourceMappingDestinationConfig
+  { _lambdaEventSourceMappingDestinationConfigOnFailure = onFailurearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html#cfn-lambda-eventsourcemapping-destinationconfig-onfailure
+lesmdcOnFailure :: Lens' LambdaEventSourceMappingDestinationConfig LambdaEventSourceMappingOnFailure
+lesmdcOnFailure = lens _lambdaEventSourceMappingDestinationConfigOnFailure (\s a -> s { _lambdaEventSourceMappingDestinationConfigOnFailure = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaEventSourceMappingOnFailure.hs b/library-gen/Stratosphere/ResourceProperties/LambdaEventSourceMappingOnFailure.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaEventSourceMappingOnFailure.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html
+
+module Stratosphere.ResourceProperties.LambdaEventSourceMappingOnFailure where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LambdaEventSourceMappingOnFailure. See
+-- 'lambdaEventSourceMappingOnFailure' for a more convenient constructor.
+data LambdaEventSourceMappingOnFailure =
+  LambdaEventSourceMappingOnFailure
+  { _lambdaEventSourceMappingOnFailureDestination :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaEventSourceMappingOnFailure where
+  toJSON LambdaEventSourceMappingOnFailure{..} =
+    object $
+    catMaybes
+    [ (Just . ("Destination",) . toJSON) _lambdaEventSourceMappingOnFailureDestination
+    ]
+
+-- | Constructor for 'LambdaEventSourceMappingOnFailure' containing required
+-- fields as arguments.
+lambdaEventSourceMappingOnFailure
+  :: Val Text -- ^ 'lesmofDestination'
+  -> LambdaEventSourceMappingOnFailure
+lambdaEventSourceMappingOnFailure destinationarg =
+  LambdaEventSourceMappingOnFailure
+  { _lambdaEventSourceMappingOnFailureDestination = destinationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html#cfn-lambda-eventsourcemapping-onfailure-destination
+lesmofDestination :: Lens' LambdaEventSourceMappingOnFailure (Val Text)
+lesmofDestination = lens _lambdaEventSourceMappingOnFailureDestination (\s a -> s { _lambdaEventSourceMappingOnFailureDestination = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaVersionProvisionedConcurrencyConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/LambdaVersionProvisionedConcurrencyConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaVersionProvisionedConcurrencyConfiguration.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html
+
+module Stratosphere.ResourceProperties.LambdaVersionProvisionedConcurrencyConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- LambdaVersionProvisionedConcurrencyConfiguration. See
+-- 'lambdaVersionProvisionedConcurrencyConfiguration' for a more convenient
+-- constructor.
+data LambdaVersionProvisionedConcurrencyConfiguration =
+  LambdaVersionProvisionedConcurrencyConfiguration
+  { _lambdaVersionProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON LambdaVersionProvisionedConcurrencyConfiguration where
+  toJSON LambdaVersionProvisionedConcurrencyConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("ProvisionedConcurrentExecutions",) . toJSON) _lambdaVersionProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions
+    ]
+
+-- | Constructor for 'LambdaVersionProvisionedConcurrencyConfiguration'
+-- containing required fields as arguments.
+lambdaVersionProvisionedConcurrencyConfiguration
+  :: Val Integer -- ^ 'lvpccProvisionedConcurrentExecutions'
+  -> LambdaVersionProvisionedConcurrencyConfiguration
+lambdaVersionProvisionedConcurrencyConfiguration provisionedConcurrentExecutionsarg =
+  LambdaVersionProvisionedConcurrencyConfiguration
+  { _lambdaVersionProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions = provisionedConcurrentExecutionsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html#cfn-lambda-version-provisionedconcurrencyconfiguration-provisionedconcurrentexecutions
+lvpccProvisionedConcurrentExecutions :: Lens' LambdaVersionProvisionedConcurrencyConfiguration (Val Integer)
+lvpccProvisionedConcurrentExecutions = lens _lambdaVersionProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions (\s a -> s { _lambdaVersionProvisionedConcurrencyConfigurationProvisionedConcurrentExecutions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterJmxExporter.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterJmxExporter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterJmxExporter.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html
+
+module Stratosphere.ResourceProperties.MSKClusterJmxExporter where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MSKClusterJmxExporter. See
+-- 'mskClusterJmxExporter' for a more convenient constructor.
+data MSKClusterJmxExporter =
+  MSKClusterJmxExporter
+  { _mSKClusterJmxExporterEnabledInBroker :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterJmxExporter where
+  toJSON MSKClusterJmxExporter{..} =
+    object $
+    catMaybes
+    [ (Just . ("EnabledInBroker",) . toJSON) _mSKClusterJmxExporterEnabledInBroker
+    ]
+
+-- | Constructor for 'MSKClusterJmxExporter' containing required fields as
+-- arguments.
+mskClusterJmxExporter
+  :: Val Bool -- ^ 'mskcjeEnabledInBroker'
+  -> MSKClusterJmxExporter
+mskClusterJmxExporter enabledInBrokerarg =
+  MSKClusterJmxExporter
+  { _mSKClusterJmxExporterEnabledInBroker = enabledInBrokerarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html#cfn-msk-cluster-jmxexporter-enabledinbroker
+mskcjeEnabledInBroker :: Lens' MSKClusterJmxExporter (Val Bool)
+mskcjeEnabledInBroker = lens _mSKClusterJmxExporterEnabledInBroker (\s a -> s { _mSKClusterJmxExporterEnabledInBroker = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterNodeExporter.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterNodeExporter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterNodeExporter.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html
+
+module Stratosphere.ResourceProperties.MSKClusterNodeExporter where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MSKClusterNodeExporter. See
+-- 'mskClusterNodeExporter' for a more convenient constructor.
+data MSKClusterNodeExporter =
+  MSKClusterNodeExporter
+  { _mSKClusterNodeExporterEnabledInBroker :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterNodeExporter where
+  toJSON MSKClusterNodeExporter{..} =
+    object $
+    catMaybes
+    [ (Just . ("EnabledInBroker",) . toJSON) _mSKClusterNodeExporterEnabledInBroker
+    ]
+
+-- | Constructor for 'MSKClusterNodeExporter' containing required fields as
+-- arguments.
+mskClusterNodeExporter
+  :: Val Bool -- ^ 'mskcneEnabledInBroker'
+  -> MSKClusterNodeExporter
+mskClusterNodeExporter enabledInBrokerarg =
+  MSKClusterNodeExporter
+  { _mSKClusterNodeExporterEnabledInBroker = enabledInBrokerarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html#cfn-msk-cluster-nodeexporter-enabledinbroker
+mskcneEnabledInBroker :: Lens' MSKClusterNodeExporter (Val Bool)
+mskcneEnabledInBroker = lens _mSKClusterNodeExporterEnabledInBroker (\s a -> s { _mSKClusterNodeExporterEnabledInBroker = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterOpenMonitoring.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterOpenMonitoring.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterOpenMonitoring.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html
+
+module Stratosphere.ResourceProperties.MSKClusterOpenMonitoring where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.MSKClusterPrometheus
+
+-- | Full data type definition for MSKClusterOpenMonitoring. See
+-- 'mskClusterOpenMonitoring' for a more convenient constructor.
+data MSKClusterOpenMonitoring =
+  MSKClusterOpenMonitoring
+  { _mSKClusterOpenMonitoringPrometheus :: MSKClusterPrometheus
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterOpenMonitoring where
+  toJSON MSKClusterOpenMonitoring{..} =
+    object $
+    catMaybes
+    [ (Just . ("Prometheus",) . toJSON) _mSKClusterOpenMonitoringPrometheus
+    ]
+
+-- | Constructor for 'MSKClusterOpenMonitoring' containing required fields as
+-- arguments.
+mskClusterOpenMonitoring
+  :: MSKClusterPrometheus -- ^ 'mskcomPrometheus'
+  -> MSKClusterOpenMonitoring
+mskClusterOpenMonitoring prometheusarg =
+  MSKClusterOpenMonitoring
+  { _mSKClusterOpenMonitoringPrometheus = prometheusarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html#cfn-msk-cluster-openmonitoring-prometheus
+mskcomPrometheus :: Lens' MSKClusterOpenMonitoring MSKClusterPrometheus
+mskcomPrometheus = lens _mSKClusterOpenMonitoringPrometheus (\s a -> s { _mSKClusterOpenMonitoringPrometheus = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterPrometheus.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterPrometheus.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterPrometheus.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html
+
+module Stratosphere.ResourceProperties.MSKClusterPrometheus where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.MSKClusterJmxExporter
+import Stratosphere.ResourceProperties.MSKClusterNodeExporter
+
+-- | Full data type definition for MSKClusterPrometheus. See
+-- 'mskClusterPrometheus' for a more convenient constructor.
+data MSKClusterPrometheus =
+  MSKClusterPrometheus
+  { _mSKClusterPrometheusJmxExporter :: Maybe MSKClusterJmxExporter
+  , _mSKClusterPrometheusNodeExporter :: Maybe MSKClusterNodeExporter
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterPrometheus where
+  toJSON MSKClusterPrometheus{..} =
+    object $
+    catMaybes
+    [ fmap (("JmxExporter",) . toJSON) _mSKClusterPrometheusJmxExporter
+    , fmap (("NodeExporter",) . toJSON) _mSKClusterPrometheusNodeExporter
+    ]
+
+-- | Constructor for 'MSKClusterPrometheus' containing required fields as
+-- arguments.
+mskClusterPrometheus
+  :: MSKClusterPrometheus
+mskClusterPrometheus  =
+  MSKClusterPrometheus
+  { _mSKClusterPrometheusJmxExporter = Nothing
+  , _mSKClusterPrometheusNodeExporter = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-jmxexporter
+mskcpJmxExporter :: Lens' MSKClusterPrometheus (Maybe MSKClusterJmxExporter)
+mskcpJmxExporter = lens _mSKClusterPrometheusJmxExporter (\s a -> s { _mSKClusterPrometheusJmxExporter = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-nodeexporter
+mskcpNodeExporter :: Lens' MSKClusterPrometheus (Maybe MSKClusterNodeExporter)
+mskcpNodeExporter = lens _mSKClusterPrometheusNodeExporter (\s a -> s { _mSKClusterPrometheusNodeExporter = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/S3AccessPointPublicAccessBlockConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3AccessPointPublicAccessBlockConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/S3AccessPointPublicAccessBlockConfiguration.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html
+
+module Stratosphere.ResourceProperties.S3AccessPointPublicAccessBlockConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- S3AccessPointPublicAccessBlockConfiguration. See
+-- 's3AccessPointPublicAccessBlockConfiguration' for a more convenient
+-- constructor.
+data S3AccessPointPublicAccessBlockConfiguration =
+  S3AccessPointPublicAccessBlockConfiguration
+  { _s3AccessPointPublicAccessBlockConfigurationBlockPublicAcls :: Maybe (Val Bool)
+  , _s3AccessPointPublicAccessBlockConfigurationBlockPublicPolicy :: Maybe (Val Bool)
+  , _s3AccessPointPublicAccessBlockConfigurationIgnorePublicAcls :: Maybe (Val Bool)
+  , _s3AccessPointPublicAccessBlockConfigurationRestrictPublicBuckets :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON S3AccessPointPublicAccessBlockConfiguration where
+  toJSON S3AccessPointPublicAccessBlockConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("BlockPublicAcls",) . toJSON) _s3AccessPointPublicAccessBlockConfigurationBlockPublicAcls
+    , fmap (("BlockPublicPolicy",) . toJSON) _s3AccessPointPublicAccessBlockConfigurationBlockPublicPolicy
+    , fmap (("IgnorePublicAcls",) . toJSON) _s3AccessPointPublicAccessBlockConfigurationIgnorePublicAcls
+    , fmap (("RestrictPublicBuckets",) . toJSON) _s3AccessPointPublicAccessBlockConfigurationRestrictPublicBuckets
+    ]
+
+-- | Constructor for 'S3AccessPointPublicAccessBlockConfiguration' containing
+-- required fields as arguments.
+s3AccessPointPublicAccessBlockConfiguration
+  :: S3AccessPointPublicAccessBlockConfiguration
+s3AccessPointPublicAccessBlockConfiguration  =
+  S3AccessPointPublicAccessBlockConfiguration
+  { _s3AccessPointPublicAccessBlockConfigurationBlockPublicAcls = Nothing
+  , _s3AccessPointPublicAccessBlockConfigurationBlockPublicPolicy = Nothing
+  , _s3AccessPointPublicAccessBlockConfigurationIgnorePublicAcls = Nothing
+  , _s3AccessPointPublicAccessBlockConfigurationRestrictPublicBuckets = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicacls
+sappabcBlockPublicAcls :: Lens' S3AccessPointPublicAccessBlockConfiguration (Maybe (Val Bool))
+sappabcBlockPublicAcls = lens _s3AccessPointPublicAccessBlockConfigurationBlockPublicAcls (\s a -> s { _s3AccessPointPublicAccessBlockConfigurationBlockPublicAcls = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicpolicy
+sappabcBlockPublicPolicy :: Lens' S3AccessPointPublicAccessBlockConfiguration (Maybe (Val Bool))
+sappabcBlockPublicPolicy = lens _s3AccessPointPublicAccessBlockConfigurationBlockPublicPolicy (\s a -> s { _s3AccessPointPublicAccessBlockConfigurationBlockPublicPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-ignorepublicacls
+sappabcIgnorePublicAcls :: Lens' S3AccessPointPublicAccessBlockConfiguration (Maybe (Val Bool))
+sappabcIgnorePublicAcls = lens _s3AccessPointPublicAccessBlockConfigurationIgnorePublicAcls (\s a -> s { _s3AccessPointPublicAccessBlockConfigurationIgnorePublicAcls = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-restrictpublicbuckets
+sappabcRestrictPublicBuckets :: Lens' S3AccessPointPublicAccessBlockConfiguration (Maybe (Val Bool))
+sappabcRestrictPublicBuckets = lens _s3AccessPointPublicAccessBlockConfigurationRestrictPublicBuckets (\s a -> s { _s3AccessPointPublicAccessBlockConfigurationRestrictPublicBuckets = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/S3AccessPointVpcConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3AccessPointVpcConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/S3AccessPointVpcConfiguration.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html
+
+module Stratosphere.ResourceProperties.S3AccessPointVpcConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for S3AccessPointVpcConfiguration. See
+-- 's3AccessPointVpcConfiguration' for a more convenient constructor.
+data S3AccessPointVpcConfiguration =
+  S3AccessPointVpcConfiguration
+  { _s3AccessPointVpcConfigurationVpcId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON S3AccessPointVpcConfiguration where
+  toJSON S3AccessPointVpcConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("VpcId",) . toJSON) _s3AccessPointVpcConfigurationVpcId
+    ]
+
+-- | Constructor for 'S3AccessPointVpcConfiguration' containing required
+-- fields as arguments.
+s3AccessPointVpcConfiguration
+  :: S3AccessPointVpcConfiguration
+s3AccessPointVpcConfiguration  =
+  S3AccessPointVpcConfiguration
+  { _s3AccessPointVpcConfigurationVpcId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html#cfn-s3-accesspoint-vpcconfiguration-vpcid
+sapvcVpcId :: Lens' S3AccessPointVpcConfiguration (Maybe (Val Text))
+sapvcVpcId = lens _s3AccessPointVpcConfigurationVpcId (\s a -> s { _s3AccessPointVpcConfigurationVpcId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointVariantProperty.hs b/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointVariantProperty.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointVariantProperty.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html
+
+module Stratosphere.ResourceProperties.SageMakerEndpointVariantProperty where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SageMakerEndpointVariantProperty. See
+-- 'sageMakerEndpointVariantProperty' for a more convenient constructor.
+data SageMakerEndpointVariantProperty =
+  SageMakerEndpointVariantProperty
+  { _sageMakerEndpointVariantPropertyVariantPropertyType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON SageMakerEndpointVariantProperty where
+  toJSON SageMakerEndpointVariantProperty{..} =
+    object $
+    catMaybes
+    [ fmap (("VariantPropertyType",) . toJSON) _sageMakerEndpointVariantPropertyVariantPropertyType
+    ]
+
+-- | Constructor for 'SageMakerEndpointVariantProperty' containing required
+-- fields as arguments.
+sageMakerEndpointVariantProperty
+  :: SageMakerEndpointVariantProperty
+sageMakerEndpointVariantProperty  =
+  SageMakerEndpointVariantProperty
+  { _sageMakerEndpointVariantPropertyVariantPropertyType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html#cfn-sagemaker-endpoint-variantproperty-variantpropertytype
+smevpVariantPropertyType :: Lens' SageMakerEndpointVariantProperty (Maybe (Val Text))
+smevpVariantPropertyType = lens _sageMakerEndpointVariantPropertyVariantPropertyType (\s a -> s { _sageMakerEndpointVariantPropertyVariantPropertyType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html
+
+module Stratosphere.ResourceProperties.StepFunctionsStateMachineCloudWatchLogsLogGroup where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- StepFunctionsStateMachineCloudWatchLogsLogGroup. See
+-- 'stepFunctionsStateMachineCloudWatchLogsLogGroup' for a more convenient
+-- constructor.
+data StepFunctionsStateMachineCloudWatchLogsLogGroup =
+  StepFunctionsStateMachineCloudWatchLogsLogGroup
+  { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON StepFunctionsStateMachineCloudWatchLogsLogGroup where
+  toJSON StepFunctionsStateMachineCloudWatchLogsLogGroup{..} =
+    object $
+    catMaybes
+    [ (Just . ("LogGroupArn",) . toJSON) _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn
+    ]
+
+-- | Constructor for 'StepFunctionsStateMachineCloudWatchLogsLogGroup'
+-- containing required fields as arguments.
+stepFunctionsStateMachineCloudWatchLogsLogGroup
+  :: Val Text -- ^ 'sfsmcwllgLogGroupArn'
+  -> StepFunctionsStateMachineCloudWatchLogsLogGroup
+stepFunctionsStateMachineCloudWatchLogsLogGroup logGroupArnarg =
+  StepFunctionsStateMachineCloudWatchLogsLogGroup
+  { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn = logGroupArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup-loggrouparn
+sfsmcwllgLogGroupArn :: Lens' StepFunctionsStateMachineCloudWatchLogsLogGroup (Val Text)
+sfsmcwllgLogGroupArn = lens _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn (\s a -> s { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineLogDestination.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineLogDestination.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineLogDestination.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html
+
+module Stratosphere.ResourceProperties.StepFunctionsStateMachineLogDestination where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineCloudWatchLogsLogGroup
+
+-- | Full data type definition for StepFunctionsStateMachineLogDestination.
+-- See 'stepFunctionsStateMachineLogDestination' for a more convenient
+-- constructor.
+data StepFunctionsStateMachineLogDestination =
+  StepFunctionsStateMachineLogDestination
+  { _stepFunctionsStateMachineLogDestinationCloudWatchLogsLogGroup :: Maybe StepFunctionsStateMachineCloudWatchLogsLogGroup
+  } deriving (Show, Eq)
+
+instance ToJSON StepFunctionsStateMachineLogDestination where
+  toJSON StepFunctionsStateMachineLogDestination{..} =
+    object $
+    catMaybes
+    [ fmap (("CloudWatchLogsLogGroup",) . toJSON) _stepFunctionsStateMachineLogDestinationCloudWatchLogsLogGroup
+    ]
+
+-- | Constructor for 'StepFunctionsStateMachineLogDestination' containing
+-- required fields as arguments.
+stepFunctionsStateMachineLogDestination
+  :: StepFunctionsStateMachineLogDestination
+stepFunctionsStateMachineLogDestination  =
+  StepFunctionsStateMachineLogDestination
+  { _stepFunctionsStateMachineLogDestinationCloudWatchLogsLogGroup = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup
+sfsmldCloudWatchLogsLogGroup :: Lens' StepFunctionsStateMachineLogDestination (Maybe StepFunctionsStateMachineCloudWatchLogsLogGroup)
+sfsmldCloudWatchLogsLogGroup = lens _stepFunctionsStateMachineLogDestinationCloudWatchLogsLogGroup (\s a -> s { _stepFunctionsStateMachineLogDestinationCloudWatchLogsLogGroup = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineLoggingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineLoggingConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineLoggingConfiguration.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html
+
+module Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineLogDestination
+
+-- | Full data type definition for
+-- StepFunctionsStateMachineLoggingConfiguration. See
+-- 'stepFunctionsStateMachineLoggingConfiguration' for a more convenient
+-- constructor.
+data StepFunctionsStateMachineLoggingConfiguration =
+  StepFunctionsStateMachineLoggingConfiguration
+  { _stepFunctionsStateMachineLoggingConfigurationDestinations :: Maybe [StepFunctionsStateMachineLogDestination]
+  , _stepFunctionsStateMachineLoggingConfigurationIncludeExecutionData :: Maybe (Val Bool)
+  , _stepFunctionsStateMachineLoggingConfigurationLevel :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON StepFunctionsStateMachineLoggingConfiguration where
+  toJSON StepFunctionsStateMachineLoggingConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Destinations",) . toJSON) _stepFunctionsStateMachineLoggingConfigurationDestinations
+    , fmap (("IncludeExecutionData",) . toJSON) _stepFunctionsStateMachineLoggingConfigurationIncludeExecutionData
+    , fmap (("Level",) . toJSON) _stepFunctionsStateMachineLoggingConfigurationLevel
+    ]
+
+-- | Constructor for 'StepFunctionsStateMachineLoggingConfiguration'
+-- containing required fields as arguments.
+stepFunctionsStateMachineLoggingConfiguration
+  :: StepFunctionsStateMachineLoggingConfiguration
+stepFunctionsStateMachineLoggingConfiguration  =
+  StepFunctionsStateMachineLoggingConfiguration
+  { _stepFunctionsStateMachineLoggingConfigurationDestinations = Nothing
+  , _stepFunctionsStateMachineLoggingConfigurationIncludeExecutionData = Nothing
+  , _stepFunctionsStateMachineLoggingConfigurationLevel = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-destinations
+sfsmlcDestinations :: Lens' StepFunctionsStateMachineLoggingConfiguration (Maybe [StepFunctionsStateMachineLogDestination])
+sfsmlcDestinations = lens _stepFunctionsStateMachineLoggingConfigurationDestinations (\s a -> s { _stepFunctionsStateMachineLoggingConfigurationDestinations = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-includeexecutiondata
+sfsmlcIncludeExecutionData :: Lens' StepFunctionsStateMachineLoggingConfiguration (Maybe (Val Bool))
+sfsmlcIncludeExecutionData = lens _stepFunctionsStateMachineLoggingConfigurationIncludeExecutionData (\s a -> s { _stepFunctionsStateMachineLoggingConfigurationIncludeExecutionData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-level
+sfsmlcLevel :: Lens' StepFunctionsStateMachineLoggingConfiguration (Maybe (Val Text))
+sfsmlcLevel = lens _stepFunctionsStateMachineLoggingConfigurationLevel (\s a -> s { _stepFunctionsStateMachineLoggingConfigurationLevel = a })
diff --git a/library-gen/Stratosphere/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -44,6 +44,7 @@
 import GHC.Exts (IsList(..))
 import GHC.Generics (Generic)
 
+import Stratosphere.Resources.AccessAnalyzerAnalyzer as X
 import Stratosphere.Resources.AmazonMQBroker as X
 import Stratosphere.Resources.AmazonMQConfiguration as X
 import Stratosphere.Resources.AmazonMQConfigurationAssociation as X
@@ -92,6 +93,7 @@
 import Stratosphere.Resources.AppStreamStackFleetAssociation as X
 import Stratosphere.Resources.AppStreamStackUserAssociation as X
 import Stratosphere.Resources.AppStreamUser as X
+import Stratosphere.Resources.AppSyncApiCache as X
 import Stratosphere.Resources.AppSyncApiKey as X
 import Stratosphere.Resources.AppSyncDataSource as X
 import Stratosphere.Resources.AppSyncFunctionConfiguration as X
@@ -128,7 +130,9 @@
 import Stratosphere.Resources.CloudWatchAlarm as X
 import Stratosphere.Resources.CloudWatchAnomalyDetector as X
 import Stratosphere.Resources.CloudWatchDashboard as X
+import Stratosphere.Resources.CloudWatchInsightRule as X
 import Stratosphere.Resources.CodeBuildProject as X
+import Stratosphere.Resources.CodeBuildReportGroup as X
 import Stratosphere.Resources.CodeBuildSourceCredential as X
 import Stratosphere.Resources.CodeCommitRepository as X
 import Stratosphere.Resources.CodeDeployApplication as X
@@ -188,6 +192,7 @@
 import Stratosphere.Resources.EC2EIPAssociation as X
 import Stratosphere.Resources.EC2EgressOnlyInternetGateway as X
 import Stratosphere.Resources.EC2FlowLog as X
+import Stratosphere.Resources.EC2GatewayRouteTableAssociation as X
 import Stratosphere.Resources.EC2Host as X
 import Stratosphere.Resources.EC2Instance as X
 import Stratosphere.Resources.EC2InternetGateway as X
@@ -236,11 +241,14 @@
 import Stratosphere.Resources.EC2VolumeAttachment as X
 import Stratosphere.Resources.ECRRepository as X
 import Stratosphere.Resources.ECSCluster as X
+import Stratosphere.Resources.ECSPrimaryTaskSet as X
 import Stratosphere.Resources.ECSService as X
 import Stratosphere.Resources.ECSTaskDefinition as X
+import Stratosphere.Resources.ECSTaskSet as X
 import Stratosphere.Resources.EFSFileSystem as X
 import Stratosphere.Resources.EFSMountTarget as X
 import Stratosphere.Resources.EKSCluster as X
+import Stratosphere.Resources.EKSNodegroup as X
 import Stratosphere.Resources.EMRCluster as X
 import Stratosphere.Resources.EMRInstanceFleetConfig as X
 import Stratosphere.Resources.EMRInstanceGroupConfig as X
@@ -263,6 +271,9 @@
 import Stratosphere.Resources.ElasticLoadBalancingV2LoadBalancer as X
 import Stratosphere.Resources.ElasticLoadBalancingV2TargetGroup as X
 import Stratosphere.Resources.ElasticsearchDomain as X
+import Stratosphere.Resources.EventSchemasDiscoverer as X
+import Stratosphere.Resources.EventSchemasRegistry as X
+import Stratosphere.Resources.EventSchemasSchema as X
 import Stratosphere.Resources.EventsEventBus as X
 import Stratosphere.Resources.EventsEventBusPolicy as X
 import Stratosphere.Resources.EventsRule as X
@@ -270,6 +281,10 @@
 import Stratosphere.Resources.GameLiftAlias as X
 import Stratosphere.Resources.GameLiftBuild as X
 import Stratosphere.Resources.GameLiftFleet as X
+import Stratosphere.Resources.GameLiftGameSessionQueue as X
+import Stratosphere.Resources.GameLiftMatchmakingConfiguration as X
+import Stratosphere.Resources.GameLiftMatchmakingRuleSet as X
+import Stratosphere.Resources.GameLiftScript as X
 import Stratosphere.Resources.GlueClassifier as X
 import Stratosphere.Resources.GlueConnection as X
 import Stratosphere.Resources.GlueCrawler as X
@@ -349,6 +364,7 @@
 import Stratosphere.Resources.LakeFormationPermissions as X
 import Stratosphere.Resources.LakeFormationResource as X
 import Stratosphere.Resources.LambdaAlias as X
+import Stratosphere.Resources.LambdaEventInvokeConfig as X
 import Stratosphere.Resources.LambdaEventSourceMapping as X
 import Stratosphere.Resources.LambdaFunction as X
 import Stratosphere.Resources.LambdaLayerVersion as X
@@ -434,6 +450,7 @@
 import Stratosphere.Resources.Route53ResolverResolverEndpoint as X
 import Stratosphere.Resources.Route53ResolverResolverRule as X
 import Stratosphere.Resources.Route53ResolverResolverRuleAssociation as X
+import Stratosphere.Resources.S3AccessPoint as X
 import Stratosphere.Resources.S3Bucket as X
 import Stratosphere.Resources.S3BucketPolicy as X
 import Stratosphere.Resources.SDBDomain as X
@@ -511,6 +528,8 @@
 import Stratosphere.Resources.WAFRegionalXssMatchSet as X
 import Stratosphere.Resources.WorkSpacesWorkspace as X
 import Stratosphere.Resources.ASKSkill as X
+import Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerArchiveRule as X
+import Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerFilter as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerEncryptionOptions as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerLogList as X
@@ -545,6 +564,9 @@
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage as X
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings as X
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings as X
+import Stratosphere.ResourceProperties.ApiGatewayV2ApiBodyS3Location as X
+import Stratosphere.ResourceProperties.ApiGatewayV2ApiCors as X
+import Stratosphere.ResourceProperties.ApiGatewayV2AuthorizerJWTConfiguration as X
 import Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration as X
 import Stratosphere.ResourceProperties.ApiGatewayV2RouteParameterConstraints as X
 import Stratosphere.ResourceProperties.ApiGatewayV2RouteResponseParameterConstraints as X
@@ -603,6 +625,7 @@
 import Stratosphere.ResourceProperties.AppStreamStackUserSetting as X
 import Stratosphere.ResourceProperties.AppSyncDataSourceAuthorizationConfig as X
 import Stratosphere.ResourceProperties.AppSyncDataSourceAwsIamConfig as X
+import Stratosphere.ResourceProperties.AppSyncDataSourceDeltaSyncConfig as X
 import Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig as X
 import Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig as X
 import Stratosphere.ResourceProperties.AppSyncDataSourceHttpConfig as X
@@ -614,7 +637,10 @@
 import Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig as X
 import Stratosphere.ResourceProperties.AppSyncGraphQLApiOpenIDConnectConfig as X
 import Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig as X
+import Stratosphere.ResourceProperties.AppSyncResolverCachingConfig as X
+import Stratosphere.ResourceProperties.AppSyncResolverLambdaConflictHandlerConfig as X
 import Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig as X
+import Stratosphere.ResourceProperties.AppSyncResolverSyncConfig as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScalableTargetAction as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScheduledAction as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetSuspendedState as X
@@ -724,6 +750,8 @@
 import Stratosphere.ResourceProperties.CodeBuildProjectSourceAuth as X
 import Stratosphere.ResourceProperties.CodeBuildProjectVpcConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectWebhookFilter as X
+import Stratosphere.ResourceProperties.CodeBuildReportGroupReportExportConfig as X
+import Stratosphere.ResourceProperties.CodeBuildReportGroupS3ReportExportConfig as X
 import Stratosphere.ResourceProperties.CodeCommitRepositoryCode as X
 import Stratosphere.ResourceProperties.CodeCommitRepositoryRepositoryTrigger as X
 import Stratosphere.ResourceProperties.CodeCommitRepositoryS3 as X
@@ -811,6 +839,9 @@
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationStaticValue as X
 import Stratosphere.ResourceProperties.DAXClusterSSESpecification as X
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyCreateRule as X
+import Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRetainRule as X
+import Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRule as X
+import Stratosphere.ResourceProperties.DLMLifecyclePolicyFastRestoreRule as X
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyParameters as X
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyPolicyDetails as X
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyRetainRule as X
@@ -916,8 +947,10 @@
 import Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRange as X
 import Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification as X
 import Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy as X
+import Stratosphere.ResourceProperties.ECSClusterClusterSetting as X
 import Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration as X
 import Stratosphere.ResourceProperties.ECSServiceDeploymentConfiguration as X
+import Stratosphere.ResourceProperties.ECSServiceDeploymentController as X
 import Stratosphere.ResourceProperties.ECSServiceLoadBalancer as X
 import Stratosphere.ResourceProperties.ECSServiceNetworkConfiguration as X
 import Stratosphere.ResourceProperties.ECSServicePlacementConstraint as X
@@ -927,6 +960,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionContainerDependency as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionDevice as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionDockerVolumeConfiguration as X
+import Stratosphere.ResourceProperties.ECSTaskDefinitionFirelensConfiguration as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties as X
@@ -947,9 +981,16 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolume as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom as X
+import Stratosphere.ResourceProperties.ECSTaskSetAwsVpcConfiguration as X
+import Stratosphere.ResourceProperties.ECSTaskSetLoadBalancer as X
+import Stratosphere.ResourceProperties.ECSTaskSetNetworkConfiguration as X
+import Stratosphere.ResourceProperties.ECSTaskSetScale as X
+import Stratosphere.ResourceProperties.ECSTaskSetServiceRegistry as X
 import Stratosphere.ResourceProperties.EFSFileSystemElasticFileSystemTag as X
 import Stratosphere.ResourceProperties.EFSFileSystemLifecyclePolicy as X
 import Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig as X
+import Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess as X
+import Stratosphere.ResourceProperties.EKSNodegroupScalingConfig as X
 import Stratosphere.ResourceProperties.EMRClusterApplication as X
 import Stratosphere.ResourceProperties.EMRClusterAutoScalingPolicy as X
 import Stratosphere.ResourceProperties.EMRClusterBootstrapActionConfig as X
@@ -1040,6 +1081,7 @@
 import Stratosphere.ResourceProperties.ElasticLoadBalancingV2TargetGroupMatcher as X
 import Stratosphere.ResourceProperties.ElasticLoadBalancingV2TargetGroupTargetDescription as X
 import Stratosphere.ResourceProperties.ElasticLoadBalancingV2TargetGroupTargetGroupAttribute as X
+import Stratosphere.ResourceProperties.ElasticsearchDomainCognitoOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainEBSOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainEncryptionAtRestOptions as X
@@ -1048,6 +1090,9 @@
 import Stratosphere.ResourceProperties.ElasticsearchDomainSnapshotOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainVPCOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainZoneAwarenessConfig as X
+import Stratosphere.ResourceProperties.EventSchemasDiscovererTagsEntry as X
+import Stratosphere.ResourceProperties.EventSchemasRegistryTagsEntry as X
+import Stratosphere.ResourceProperties.EventSchemasSchemaTagsEntry as X
 import Stratosphere.ResourceProperties.EventsEventBusPolicyCondition as X
 import Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration as X
 import Stratosphere.ResourceProperties.EventsRuleBatchArrayProperties as X
@@ -1071,6 +1116,10 @@
 import Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy as X
 import Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration as X
 import Stratosphere.ResourceProperties.GameLiftFleetServerProcess as X
+import Stratosphere.ResourceProperties.GameLiftGameSessionQueueDestination as X
+import Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy as X
+import Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty as X
+import Stratosphere.ResourceProperties.GameLiftScriptS3Location as X
 import Stratosphere.ResourceProperties.GlueClassifierCsvClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierGrokClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierJsonClassifier as X
@@ -1346,13 +1395,20 @@
 import Stratosphere.ResourceProperties.LakeFormationPermissionsResource as X
 import Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource as X
 import Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration as X
+import Stratosphere.ResourceProperties.LambdaAliasProvisionedConcurrencyConfiguration as X
 import Stratosphere.ResourceProperties.LambdaAliasVersionWeight as X
+import Stratosphere.ResourceProperties.LambdaEventInvokeConfigDestinationConfig as X
+import Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnFailure as X
+import Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnSuccess as X
+import Stratosphere.ResourceProperties.LambdaEventSourceMappingDestinationConfig as X
+import Stratosphere.ResourceProperties.LambdaEventSourceMappingOnFailure as X
 import Stratosphere.ResourceProperties.LambdaFunctionCode as X
 import Stratosphere.ResourceProperties.LambdaFunctionDeadLetterConfig as X
 import Stratosphere.ResourceProperties.LambdaFunctionEnvironment as X
 import Stratosphere.ResourceProperties.LambdaFunctionTracingConfig as X
 import Stratosphere.ResourceProperties.LambdaFunctionVpcConfig as X
 import Stratosphere.ResourceProperties.LambdaLayerVersionContent as X
+import Stratosphere.ResourceProperties.LambdaVersionProvisionedConcurrencyConfiguration as X
 import Stratosphere.ResourceProperties.LogsMetricFilterMetricTransformation as X
 import Stratosphere.ResourceProperties.MSKClusterBrokerNodeGroupInfo as X
 import Stratosphere.ResourceProperties.MSKClusterClientAuthentication as X
@@ -1361,6 +1417,10 @@
 import Stratosphere.ResourceProperties.MSKClusterEncryptionAtRest as X
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInTransit as X
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInfo as X
+import Stratosphere.ResourceProperties.MSKClusterJmxExporter as X
+import Stratosphere.ResourceProperties.MSKClusterNodeExporter as X
+import Stratosphere.ResourceProperties.MSKClusterOpenMonitoring as X
+import Stratosphere.ResourceProperties.MSKClusterPrometheus as X
 import Stratosphere.ResourceProperties.MSKClusterStorageInfo as X
 import Stratosphere.ResourceProperties.MSKClusterTls as X
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy as X
@@ -1497,6 +1557,8 @@
 import Stratosphere.ResourceProperties.Route53RecordSetGroupRecordSet as X
 import Stratosphere.ResourceProperties.Route53ResolverResolverEndpointIpAddressRequest as X
 import Stratosphere.ResourceProperties.Route53ResolverResolverRuleTargetAddress as X
+import Stratosphere.ResourceProperties.S3AccessPointPublicAccessBlockConfiguration as X
+import Stratosphere.ResourceProperties.S3AccessPointVpcConfiguration as X
 import Stratosphere.ResourceProperties.S3BucketAbortIncompleteMultipartUpload as X
 import Stratosphere.ResourceProperties.S3BucketAccelerateConfiguration as X
 import Stratosphere.ResourceProperties.S3BucketAccessControlTranslation as X
@@ -1576,6 +1638,7 @@
 import Stratosphere.ResourceProperties.SSMPatchBaselineRule as X
 import Stratosphere.ResourceProperties.SSMPatchBaselineRuleGroup as X
 import Stratosphere.ResourceProperties.SageMakerCodeRepositoryGitConfig as X
+import Stratosphere.ResourceProperties.SageMakerEndpointVariantProperty as X
 import Stratosphere.ResourceProperties.SageMakerEndpointConfigProductionVariant as X
 import Stratosphere.ResourceProperties.SageMakerModelContainerDefinition as X
 import Stratosphere.ResourceProperties.SageMakerModelVpcConfig as X
@@ -1593,6 +1656,9 @@
 import Stratosphere.ResourceProperties.ServiceDiscoveryServiceHealthCheckConfig as X
 import Stratosphere.ResourceProperties.ServiceDiscoveryServiceHealthCheckCustomConfig as X
 import Stratosphere.ResourceProperties.StepFunctionsActivityTagsEntry as X
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineCloudWatchLogsLogGroup as X
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineLogDestination as X
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration as X
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry as X
 import Stratosphere.ResourceProperties.TransferServerEndpointDetails as X
 import Stratosphere.ResourceProperties.TransferServerIdentityProviderDetails as X
diff --git a/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs b/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html
+
+module Stratosphere.Resources.AccessAnalyzerAnalyzer where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerArchiveRule
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for AccessAnalyzerAnalyzer. See
+-- 'accessAnalyzerAnalyzer' for a more convenient constructor.
+data AccessAnalyzerAnalyzer =
+  AccessAnalyzerAnalyzer
+  { _accessAnalyzerAnalyzerAnalyzerName :: Maybe (Val Text)
+  , _accessAnalyzerAnalyzerArchiveRules :: Maybe [AccessAnalyzerAnalyzerArchiveRule]
+  , _accessAnalyzerAnalyzerTags :: Maybe [Tag]
+  , _accessAnalyzerAnalyzerType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties AccessAnalyzerAnalyzer where
+  toResourceProperties AccessAnalyzerAnalyzer{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::AccessAnalyzer::Analyzer"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AnalyzerName",) . toJSON) _accessAnalyzerAnalyzerAnalyzerName
+        , fmap (("ArchiveRules",) . toJSON) _accessAnalyzerAnalyzerArchiveRules
+        , fmap (("Tags",) . toJSON) _accessAnalyzerAnalyzerTags
+        , (Just . ("Type",) . toJSON) _accessAnalyzerAnalyzerType
+        ]
+    }
+
+-- | Constructor for 'AccessAnalyzerAnalyzer' containing required fields as
+-- arguments.
+accessAnalyzerAnalyzer
+  :: Val Text -- ^ 'aaaType'
+  -> AccessAnalyzerAnalyzer
+accessAnalyzerAnalyzer typearg =
+  AccessAnalyzerAnalyzer
+  { _accessAnalyzerAnalyzerAnalyzerName = Nothing
+  , _accessAnalyzerAnalyzerArchiveRules = Nothing
+  , _accessAnalyzerAnalyzerTags = Nothing
+  , _accessAnalyzerAnalyzerType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzername
+aaaAnalyzerName :: Lens' AccessAnalyzerAnalyzer (Maybe (Val Text))
+aaaAnalyzerName = lens _accessAnalyzerAnalyzerAnalyzerName (\s a -> s { _accessAnalyzerAnalyzerAnalyzerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-archiverules
+aaaArchiveRules :: Lens' AccessAnalyzerAnalyzer (Maybe [AccessAnalyzerAnalyzerArchiveRule])
+aaaArchiveRules = lens _accessAnalyzerAnalyzerArchiveRules (\s a -> s { _accessAnalyzerAnalyzerArchiveRules = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-tags
+aaaTags :: Lens' AccessAnalyzerAnalyzer (Maybe [Tag])
+aaaTags = lens _accessAnalyzerAnalyzerTags (\s a -> s { _accessAnalyzerAnalyzerTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-type
+aaaType :: Lens' AccessAnalyzerAnalyzer (Val Text)
+aaaType = lens _accessAnalyzerAnalyzerType (\s a -> s { _accessAnalyzerAnalyzerType = a })
diff --git a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
@@ -31,6 +31,7 @@
   , _amazonMQBrokerMaintenanceWindowStartTime :: Maybe AmazonMQBrokerMaintenanceWindow
   , _amazonMQBrokerPubliclyAccessible :: Val Bool
   , _amazonMQBrokerSecurityGroups :: Maybe (ValList Text)
+  , _amazonMQBrokerStorageType :: Maybe (Val Text)
   , _amazonMQBrokerSubnetIds :: Maybe (ValList Text)
   , _amazonMQBrokerTags :: Maybe [AmazonMQBrokerTagsEntry]
   , _amazonMQBrokerUsers :: [AmazonMQBrokerUser]
@@ -54,6 +55,7 @@
         , fmap (("MaintenanceWindowStartTime",) . toJSON) _amazonMQBrokerMaintenanceWindowStartTime
         , (Just . ("PubliclyAccessible",) . toJSON) _amazonMQBrokerPubliclyAccessible
         , fmap (("SecurityGroups",) . toJSON) _amazonMQBrokerSecurityGroups
+        , fmap (("StorageType",) . toJSON) _amazonMQBrokerStorageType
         , fmap (("SubnetIds",) . toJSON) _amazonMQBrokerSubnetIds
         , fmap (("Tags",) . toJSON) _amazonMQBrokerTags
         , (Just . ("Users",) . toJSON) _amazonMQBrokerUsers
@@ -85,6 +87,7 @@
   , _amazonMQBrokerMaintenanceWindowStartTime = Nothing
   , _amazonMQBrokerPubliclyAccessible = publiclyAccessiblearg
   , _amazonMQBrokerSecurityGroups = Nothing
+  , _amazonMQBrokerStorageType = Nothing
   , _amazonMQBrokerSubnetIds = Nothing
   , _amazonMQBrokerTags = Nothing
   , _amazonMQBrokerUsers = usersarg
@@ -137,6 +140,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-securitygroups
 amqbSecurityGroups :: Lens' AmazonMQBroker (Maybe (ValList Text))
 amqbSecurityGroups = lens _amazonMQBrokerSecurityGroups (\s a -> s { _amazonMQBrokerSecurityGroups = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-storagetype
+amqbStorageType :: Lens' AmazonMQBroker (Maybe (Val Text))
+amqbStorageType = lens _amazonMQBrokerStorageType (\s a -> s { _amazonMQBrokerStorageType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-subnetids
 amqbSubnetIds :: Lens' AmazonMQBroker (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
@@ -8,19 +8,28 @@
 module Stratosphere.Resources.ApiGatewayV2Api where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ApiGatewayV2ApiBodyS3Location
+import Stratosphere.ResourceProperties.ApiGatewayV2ApiCors
 
 -- | Full data type definition for ApiGatewayV2Api. See 'apiGatewayV2Api' for
 -- a more convenient constructor.
 data ApiGatewayV2Api =
   ApiGatewayV2Api
   { _apiGatewayV2ApiApiKeySelectionExpression :: Maybe (Val Text)
+  , _apiGatewayV2ApiBasePath :: Maybe (Val Text)
+  , _apiGatewayV2ApiBody :: Maybe Object
+  , _apiGatewayV2ApiBodyS3Location :: Maybe ApiGatewayV2ApiBodyS3Location
+  , _apiGatewayV2ApiCorsConfiguration :: Maybe ApiGatewayV2ApiCors
+  , _apiGatewayV2ApiCredentialsArn :: Maybe (Val Text)
   , _apiGatewayV2ApiDescription :: Maybe (Val Text)
   , _apiGatewayV2ApiDisableSchemaValidation :: Maybe (Val Bool)
-  , _apiGatewayV2ApiName :: Val Text
-  , _apiGatewayV2ApiProtocolType :: Val Text
-  , _apiGatewayV2ApiRouteSelectionExpression :: Val Text
+  , _apiGatewayV2ApiFailOnWarnings :: Maybe (Val Bool)
+  , _apiGatewayV2ApiName :: Maybe (Val Text)
+  , _apiGatewayV2ApiProtocolType :: Maybe (Val Text)
+  , _apiGatewayV2ApiRouteKey :: Maybe (Val Text)
+  , _apiGatewayV2ApiRouteSelectionExpression :: Maybe (Val Text)
   , _apiGatewayV2ApiTags :: Maybe Object
+  , _apiGatewayV2ApiTarget :: Maybe (Val Text)
   , _apiGatewayV2ApiVersion :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -31,12 +40,20 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("ApiKeySelectionExpression",) . toJSON) _apiGatewayV2ApiApiKeySelectionExpression
+        , fmap (("BasePath",) . toJSON) _apiGatewayV2ApiBasePath
+        , fmap (("Body",) . toJSON) _apiGatewayV2ApiBody
+        , fmap (("BodyS3Location",) . toJSON) _apiGatewayV2ApiBodyS3Location
+        , fmap (("CorsConfiguration",) . toJSON) _apiGatewayV2ApiCorsConfiguration
+        , fmap (("CredentialsArn",) . toJSON) _apiGatewayV2ApiCredentialsArn
         , fmap (("Description",) . toJSON) _apiGatewayV2ApiDescription
         , fmap (("DisableSchemaValidation",) . toJSON) _apiGatewayV2ApiDisableSchemaValidation
-        , (Just . ("Name",) . toJSON) _apiGatewayV2ApiName
-        , (Just . ("ProtocolType",) . toJSON) _apiGatewayV2ApiProtocolType
-        , (Just . ("RouteSelectionExpression",) . toJSON) _apiGatewayV2ApiRouteSelectionExpression
+        , fmap (("FailOnWarnings",) . toJSON) _apiGatewayV2ApiFailOnWarnings
+        , fmap (("Name",) . toJSON) _apiGatewayV2ApiName
+        , fmap (("ProtocolType",) . toJSON) _apiGatewayV2ApiProtocolType
+        , fmap (("RouteKey",) . toJSON) _apiGatewayV2ApiRouteKey
+        , fmap (("RouteSelectionExpression",) . toJSON) _apiGatewayV2ApiRouteSelectionExpression
         , fmap (("Tags",) . toJSON) _apiGatewayV2ApiTags
+        , fmap (("Target",) . toJSON) _apiGatewayV2ApiTarget
         , fmap (("Version",) . toJSON) _apiGatewayV2ApiVersion
         ]
     }
@@ -44,19 +61,24 @@
 -- | Constructor for 'ApiGatewayV2Api' containing required fields as
 -- arguments.
 apiGatewayV2Api
-  :: Val Text -- ^ 'agvapName'
-  -> Val Text -- ^ 'agvapProtocolType'
-  -> Val Text -- ^ 'agvapRouteSelectionExpression'
-  -> ApiGatewayV2Api
-apiGatewayV2Api namearg protocolTypearg routeSelectionExpressionarg =
+  :: ApiGatewayV2Api
+apiGatewayV2Api  =
   ApiGatewayV2Api
   { _apiGatewayV2ApiApiKeySelectionExpression = Nothing
+  , _apiGatewayV2ApiBasePath = Nothing
+  , _apiGatewayV2ApiBody = Nothing
+  , _apiGatewayV2ApiBodyS3Location = Nothing
+  , _apiGatewayV2ApiCorsConfiguration = Nothing
+  , _apiGatewayV2ApiCredentialsArn = Nothing
   , _apiGatewayV2ApiDescription = Nothing
   , _apiGatewayV2ApiDisableSchemaValidation = Nothing
-  , _apiGatewayV2ApiName = namearg
-  , _apiGatewayV2ApiProtocolType = protocolTypearg
-  , _apiGatewayV2ApiRouteSelectionExpression = routeSelectionExpressionarg
+  , _apiGatewayV2ApiFailOnWarnings = Nothing
+  , _apiGatewayV2ApiName = Nothing
+  , _apiGatewayV2ApiProtocolType = Nothing
+  , _apiGatewayV2ApiRouteKey = Nothing
+  , _apiGatewayV2ApiRouteSelectionExpression = Nothing
   , _apiGatewayV2ApiTags = Nothing
+  , _apiGatewayV2ApiTarget = Nothing
   , _apiGatewayV2ApiVersion = Nothing
   }
 
@@ -64,6 +86,26 @@
 agvapApiKeySelectionExpression :: Lens' ApiGatewayV2Api (Maybe (Val Text))
 agvapApiKeySelectionExpression = lens _apiGatewayV2ApiApiKeySelectionExpression (\s a -> s { _apiGatewayV2ApiApiKeySelectionExpression = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-basepath
+agvapBasePath :: Lens' ApiGatewayV2Api (Maybe (Val Text))
+agvapBasePath = lens _apiGatewayV2ApiBasePath (\s a -> s { _apiGatewayV2ApiBasePath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body
+agvapBody :: Lens' ApiGatewayV2Api (Maybe Object)
+agvapBody = lens _apiGatewayV2ApiBody (\s a -> s { _apiGatewayV2ApiBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location
+agvapBodyS3Location :: Lens' ApiGatewayV2Api (Maybe ApiGatewayV2ApiBodyS3Location)
+agvapBodyS3Location = lens _apiGatewayV2ApiBodyS3Location (\s a -> s { _apiGatewayV2ApiBodyS3Location = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-corsconfiguration
+agvapCorsConfiguration :: Lens' ApiGatewayV2Api (Maybe ApiGatewayV2ApiCors)
+agvapCorsConfiguration = lens _apiGatewayV2ApiCorsConfiguration (\s a -> s { _apiGatewayV2ApiCorsConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-credentialsarn
+agvapCredentialsArn :: Lens' ApiGatewayV2Api (Maybe (Val Text))
+agvapCredentialsArn = lens _apiGatewayV2ApiCredentialsArn (\s a -> s { _apiGatewayV2ApiCredentialsArn = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-description
 agvapDescription :: Lens' ApiGatewayV2Api (Maybe (Val Text))
 agvapDescription = lens _apiGatewayV2ApiDescription (\s a -> s { _apiGatewayV2ApiDescription = a })
@@ -72,21 +114,33 @@
 agvapDisableSchemaValidation :: Lens' ApiGatewayV2Api (Maybe (Val Bool))
 agvapDisableSchemaValidation = lens _apiGatewayV2ApiDisableSchemaValidation (\s a -> s { _apiGatewayV2ApiDisableSchemaValidation = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings
+agvapFailOnWarnings :: Lens' ApiGatewayV2Api (Maybe (Val Bool))
+agvapFailOnWarnings = lens _apiGatewayV2ApiFailOnWarnings (\s a -> s { _apiGatewayV2ApiFailOnWarnings = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-name
-agvapName :: Lens' ApiGatewayV2Api (Val Text)
+agvapName :: Lens' ApiGatewayV2Api (Maybe (Val Text))
 agvapName = lens _apiGatewayV2ApiName (\s a -> s { _apiGatewayV2ApiName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-protocoltype
-agvapProtocolType :: Lens' ApiGatewayV2Api (Val Text)
+agvapProtocolType :: Lens' ApiGatewayV2Api (Maybe (Val Text))
 agvapProtocolType = lens _apiGatewayV2ApiProtocolType (\s a -> s { _apiGatewayV2ApiProtocolType = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routekey
+agvapRouteKey :: Lens' ApiGatewayV2Api (Maybe (Val Text))
+agvapRouteKey = lens _apiGatewayV2ApiRouteKey (\s a -> s { _apiGatewayV2ApiRouteKey = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routeselectionexpression
-agvapRouteSelectionExpression :: Lens' ApiGatewayV2Api (Val Text)
+agvapRouteSelectionExpression :: Lens' ApiGatewayV2Api (Maybe (Val Text))
 agvapRouteSelectionExpression = lens _apiGatewayV2ApiRouteSelectionExpression (\s a -> s { _apiGatewayV2ApiRouteSelectionExpression = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-tags
 agvapTags :: Lens' ApiGatewayV2Api (Maybe Object)
 agvapTags = lens _apiGatewayV2ApiTags (\s a -> s { _apiGatewayV2ApiTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-target
+agvapTarget :: Lens' ApiGatewayV2Api (Maybe (Val Text))
+agvapTarget = lens _apiGatewayV2ApiTarget (\s a -> s { _apiGatewayV2ApiTarget = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-version
 agvapVersion :: Lens' ApiGatewayV2Api (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.ApiGatewayV2Authorizer where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ApiGatewayV2AuthorizerJWTConfiguration
 
 -- | Full data type definition for ApiGatewayV2Authorizer. See
 -- 'apiGatewayV2Authorizer' for a more convenient constructor.
@@ -18,9 +18,10 @@
   , _apiGatewayV2AuthorizerAuthorizerCredentialsArn :: Maybe (Val Text)
   , _apiGatewayV2AuthorizerAuthorizerResultTtlInSeconds :: Maybe (Val Integer)
   , _apiGatewayV2AuthorizerAuthorizerType :: Val Text
-  , _apiGatewayV2AuthorizerAuthorizerUri :: Val Text
+  , _apiGatewayV2AuthorizerAuthorizerUri :: Maybe (Val Text)
   , _apiGatewayV2AuthorizerIdentitySource :: ValList Text
   , _apiGatewayV2AuthorizerIdentityValidationExpression :: Maybe (Val Text)
+  , _apiGatewayV2AuthorizerJwtConfiguration :: Maybe ApiGatewayV2AuthorizerJWTConfiguration
   , _apiGatewayV2AuthorizerName :: Val Text
   } deriving (Show, Eq)
 
@@ -34,9 +35,10 @@
         , fmap (("AuthorizerCredentialsArn",) . toJSON) _apiGatewayV2AuthorizerAuthorizerCredentialsArn
         , fmap (("AuthorizerResultTtlInSeconds",) . toJSON) _apiGatewayV2AuthorizerAuthorizerResultTtlInSeconds
         , (Just . ("AuthorizerType",) . toJSON) _apiGatewayV2AuthorizerAuthorizerType
-        , (Just . ("AuthorizerUri",) . toJSON) _apiGatewayV2AuthorizerAuthorizerUri
+        , fmap (("AuthorizerUri",) . toJSON) _apiGatewayV2AuthorizerAuthorizerUri
         , (Just . ("IdentitySource",) . toJSON) _apiGatewayV2AuthorizerIdentitySource
         , fmap (("IdentityValidationExpression",) . toJSON) _apiGatewayV2AuthorizerIdentityValidationExpression
+        , fmap (("JwtConfiguration",) . toJSON) _apiGatewayV2AuthorizerJwtConfiguration
         , (Just . ("Name",) . toJSON) _apiGatewayV2AuthorizerName
         ]
     }
@@ -46,19 +48,19 @@
 apiGatewayV2Authorizer
   :: Val Text -- ^ 'agvauApiId'
   -> Val Text -- ^ 'agvauAuthorizerType'
-  -> Val Text -- ^ 'agvauAuthorizerUri'
   -> ValList Text -- ^ 'agvauIdentitySource'
   -> Val Text -- ^ 'agvauName'
   -> ApiGatewayV2Authorizer
-apiGatewayV2Authorizer apiIdarg authorizerTypearg authorizerUriarg identitySourcearg namearg =
+apiGatewayV2Authorizer apiIdarg authorizerTypearg identitySourcearg namearg =
   ApiGatewayV2Authorizer
   { _apiGatewayV2AuthorizerApiId = apiIdarg
   , _apiGatewayV2AuthorizerAuthorizerCredentialsArn = Nothing
   , _apiGatewayV2AuthorizerAuthorizerResultTtlInSeconds = Nothing
   , _apiGatewayV2AuthorizerAuthorizerType = authorizerTypearg
-  , _apiGatewayV2AuthorizerAuthorizerUri = authorizerUriarg
+  , _apiGatewayV2AuthorizerAuthorizerUri = Nothing
   , _apiGatewayV2AuthorizerIdentitySource = identitySourcearg
   , _apiGatewayV2AuthorizerIdentityValidationExpression = Nothing
+  , _apiGatewayV2AuthorizerJwtConfiguration = Nothing
   , _apiGatewayV2AuthorizerName = namearg
   }
 
@@ -79,7 +81,7 @@
 agvauAuthorizerType = lens _apiGatewayV2AuthorizerAuthorizerType (\s a -> s { _apiGatewayV2AuthorizerAuthorizerType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizeruri
-agvauAuthorizerUri :: Lens' ApiGatewayV2Authorizer (Val Text)
+agvauAuthorizerUri :: Lens' ApiGatewayV2Authorizer (Maybe (Val Text))
 agvauAuthorizerUri = lens _apiGatewayV2AuthorizerAuthorizerUri (\s a -> s { _apiGatewayV2AuthorizerAuthorizerUri = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identitysource
@@ -89,6 +91,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identityvalidationexpression
 agvauIdentityValidationExpression :: Lens' ApiGatewayV2Authorizer (Maybe (Val Text))
 agvauIdentityValidationExpression = lens _apiGatewayV2AuthorizerIdentityValidationExpression (\s a -> s { _apiGatewayV2AuthorizerIdentityValidationExpression = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-jwtconfiguration
+agvauJwtConfiguration :: Lens' ApiGatewayV2Authorizer (Maybe ApiGatewayV2AuthorizerJWTConfiguration)
+agvauJwtConfiguration = lens _apiGatewayV2AuthorizerJwtConfiguration (\s a -> s { _apiGatewayV2AuthorizerJwtConfiguration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-name
 agvauName :: Lens' ApiGatewayV2Authorizer (Val Text)
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
@@ -23,6 +23,7 @@
   , _apiGatewayV2IntegrationIntegrationType :: Val Text
   , _apiGatewayV2IntegrationIntegrationUri :: Maybe (Val Text)
   , _apiGatewayV2IntegrationPassthroughBehavior :: Maybe (Val Text)
+  , _apiGatewayV2IntegrationPayloadFormatVersion :: Maybe (Val Text)
   , _apiGatewayV2IntegrationRequestParameters :: Maybe Object
   , _apiGatewayV2IntegrationRequestTemplates :: Maybe Object
   , _apiGatewayV2IntegrationTemplateSelectionExpression :: Maybe (Val Text)
@@ -44,6 +45,7 @@
         , (Just . ("IntegrationType",) . toJSON) _apiGatewayV2IntegrationIntegrationType
         , fmap (("IntegrationUri",) . toJSON) _apiGatewayV2IntegrationIntegrationUri
         , fmap (("PassthroughBehavior",) . toJSON) _apiGatewayV2IntegrationPassthroughBehavior
+        , fmap (("PayloadFormatVersion",) . toJSON) _apiGatewayV2IntegrationPayloadFormatVersion
         , fmap (("RequestParameters",) . toJSON) _apiGatewayV2IntegrationRequestParameters
         , fmap (("RequestTemplates",) . toJSON) _apiGatewayV2IntegrationRequestTemplates
         , fmap (("TemplateSelectionExpression",) . toJSON) _apiGatewayV2IntegrationTemplateSelectionExpression
@@ -68,6 +70,7 @@
   , _apiGatewayV2IntegrationIntegrationType = integrationTypearg
   , _apiGatewayV2IntegrationIntegrationUri = Nothing
   , _apiGatewayV2IntegrationPassthroughBehavior = Nothing
+  , _apiGatewayV2IntegrationPayloadFormatVersion = Nothing
   , _apiGatewayV2IntegrationRequestParameters = Nothing
   , _apiGatewayV2IntegrationRequestTemplates = Nothing
   , _apiGatewayV2IntegrationTemplateSelectionExpression = Nothing
@@ -109,6 +112,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-passthroughbehavior
 agviPassthroughBehavior :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
 agviPassthroughBehavior = lens _apiGatewayV2IntegrationPassthroughBehavior (\s a -> s { _apiGatewayV2IntegrationPassthroughBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-payloadformatversion
+agviPayloadFormatVersion :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
+agviPayloadFormatVersion = lens _apiGatewayV2IntegrationPayloadFormatVersion (\s a -> s { _apiGatewayV2IntegrationPayloadFormatVersion = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requestparameters
 agviRequestParameters :: Lens' ApiGatewayV2Integration (Maybe Object)
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs
@@ -17,9 +17,10 @@
   ApiGatewayV2Stage
   { _apiGatewayV2StageAccessLogSettings :: Maybe ApiGatewayV2StageAccessLogSettings
   , _apiGatewayV2StageApiId :: Val Text
+  , _apiGatewayV2StageAutoDeploy :: Maybe (Val Bool)
   , _apiGatewayV2StageClientCertificateId :: Maybe (Val Text)
   , _apiGatewayV2StageDefaultRouteSettings :: Maybe ApiGatewayV2StageRouteSettings
-  , _apiGatewayV2StageDeploymentId :: Val Text
+  , _apiGatewayV2StageDeploymentId :: Maybe (Val Text)
   , _apiGatewayV2StageDescription :: Maybe (Val Text)
   , _apiGatewayV2StageRouteSettings :: Maybe Object
   , _apiGatewayV2StageStageName :: Val Text
@@ -35,9 +36,10 @@
         hashMapFromList $ catMaybes
         [ fmap (("AccessLogSettings",) . toJSON) _apiGatewayV2StageAccessLogSettings
         , (Just . ("ApiId",) . toJSON) _apiGatewayV2StageApiId
+        , fmap (("AutoDeploy",) . toJSON) _apiGatewayV2StageAutoDeploy
         , fmap (("ClientCertificateId",) . toJSON) _apiGatewayV2StageClientCertificateId
         , fmap (("DefaultRouteSettings",) . toJSON) _apiGatewayV2StageDefaultRouteSettings
-        , (Just . ("DeploymentId",) . toJSON) _apiGatewayV2StageDeploymentId
+        , fmap (("DeploymentId",) . toJSON) _apiGatewayV2StageDeploymentId
         , fmap (("Description",) . toJSON) _apiGatewayV2StageDescription
         , fmap (("RouteSettings",) . toJSON) _apiGatewayV2StageRouteSettings
         , (Just . ("StageName",) . toJSON) _apiGatewayV2StageStageName
@@ -50,16 +52,16 @@
 -- arguments.
 apiGatewayV2Stage
   :: Val Text -- ^ 'agvsApiId'
-  -> Val Text -- ^ 'agvsDeploymentId'
   -> Val Text -- ^ 'agvsStageName'
   -> ApiGatewayV2Stage
-apiGatewayV2Stage apiIdarg deploymentIdarg stageNamearg =
+apiGatewayV2Stage apiIdarg stageNamearg =
   ApiGatewayV2Stage
   { _apiGatewayV2StageAccessLogSettings = Nothing
   , _apiGatewayV2StageApiId = apiIdarg
+  , _apiGatewayV2StageAutoDeploy = Nothing
   , _apiGatewayV2StageClientCertificateId = Nothing
   , _apiGatewayV2StageDefaultRouteSettings = Nothing
-  , _apiGatewayV2StageDeploymentId = deploymentIdarg
+  , _apiGatewayV2StageDeploymentId = Nothing
   , _apiGatewayV2StageDescription = Nothing
   , _apiGatewayV2StageRouteSettings = Nothing
   , _apiGatewayV2StageStageName = stageNamearg
@@ -75,6 +77,10 @@
 agvsApiId :: Lens' ApiGatewayV2Stage (Val Text)
 agvsApiId = lens _apiGatewayV2StageApiId (\s a -> s { _apiGatewayV2StageApiId = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-autodeploy
+agvsAutoDeploy :: Lens' ApiGatewayV2Stage (Maybe (Val Bool))
+agvsAutoDeploy = lens _apiGatewayV2StageAutoDeploy (\s a -> s { _apiGatewayV2StageAutoDeploy = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-clientcertificateid
 agvsClientCertificateId :: Lens' ApiGatewayV2Stage (Maybe (Val Text))
 agvsClientCertificateId = lens _apiGatewayV2StageClientCertificateId (\s a -> s { _apiGatewayV2StageClientCertificateId = a })
@@ -84,7 +90,7 @@
 agvsDefaultRouteSettings = lens _apiGatewayV2StageDefaultRouteSettings (\s a -> s { _apiGatewayV2StageDefaultRouteSettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-deploymentid
-agvsDeploymentId :: Lens' ApiGatewayV2Stage (Val Text)
+agvsDeploymentId :: Lens' ApiGatewayV2Stage (Maybe (Val Text))
 agvsDeploymentId = lens _apiGatewayV2StageDeploymentId (\s a -> s { _apiGatewayV2StageDeploymentId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-description
diff --git a/library-gen/Stratosphere/Resources/AppSyncApiCache.hs b/library-gen/Stratosphere/Resources/AppSyncApiCache.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/AppSyncApiCache.hs
@@ -0,0 +1,80 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
+
+module Stratosphere.Resources.AppSyncApiCache where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppSyncApiCache. See 'appSyncApiCache' for
+-- a more convenient constructor.
+data AppSyncApiCache =
+  AppSyncApiCache
+  { _appSyncApiCacheApiCachingBehavior :: Val Text
+  , _appSyncApiCacheApiId :: Val Text
+  , _appSyncApiCacheAtRestEncryptionEnabled :: Maybe (Val Bool)
+  , _appSyncApiCacheTransitEncryptionEnabled :: Maybe (Val Bool)
+  , _appSyncApiCacheTtl :: Val Double
+  , _appSyncApiCacheType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties AppSyncApiCache where
+  toResourceProperties AppSyncApiCache{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::AppSync::ApiCache"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ApiCachingBehavior",) . toJSON) _appSyncApiCacheApiCachingBehavior
+        , (Just . ("ApiId",) . toJSON) _appSyncApiCacheApiId
+        , fmap (("AtRestEncryptionEnabled",) . toJSON) _appSyncApiCacheAtRestEncryptionEnabled
+        , fmap (("TransitEncryptionEnabled",) . toJSON) _appSyncApiCacheTransitEncryptionEnabled
+        , (Just . ("Ttl",) . toJSON) _appSyncApiCacheTtl
+        , (Just . ("Type",) . toJSON) _appSyncApiCacheType
+        ]
+    }
+
+-- | Constructor for 'AppSyncApiCache' containing required fields as
+-- arguments.
+appSyncApiCache
+  :: Val Text -- ^ 'asacApiCachingBehavior'
+  -> Val Text -- ^ 'asacApiId'
+  -> Val Double -- ^ 'asacTtl'
+  -> Val Text -- ^ 'asacType'
+  -> AppSyncApiCache
+appSyncApiCache apiCachingBehaviorarg apiIdarg ttlarg typearg =
+  AppSyncApiCache
+  { _appSyncApiCacheApiCachingBehavior = apiCachingBehaviorarg
+  , _appSyncApiCacheApiId = apiIdarg
+  , _appSyncApiCacheAtRestEncryptionEnabled = Nothing
+  , _appSyncApiCacheTransitEncryptionEnabled = Nothing
+  , _appSyncApiCacheTtl = ttlarg
+  , _appSyncApiCacheType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apicachingbehavior
+asacApiCachingBehavior :: Lens' AppSyncApiCache (Val Text)
+asacApiCachingBehavior = lens _appSyncApiCacheApiCachingBehavior (\s a -> s { _appSyncApiCacheApiCachingBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid
+asacApiId :: Lens' AppSyncApiCache (Val Text)
+asacApiId = lens _appSyncApiCacheApiId (\s a -> s { _appSyncApiCacheApiId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled
+asacAtRestEncryptionEnabled :: Lens' AppSyncApiCache (Maybe (Val Bool))
+asacAtRestEncryptionEnabled = lens _appSyncApiCacheAtRestEncryptionEnabled (\s a -> s { _appSyncApiCacheAtRestEncryptionEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled
+asacTransitEncryptionEnabled :: Lens' AppSyncApiCache (Maybe (Val Bool))
+asacTransitEncryptionEnabled = lens _appSyncApiCacheTransitEncryptionEnabled (\s a -> s { _appSyncApiCacheTransitEncryptionEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl
+asacTtl :: Lens' AppSyncApiCache (Val Double)
+asacTtl = lens _appSyncApiCacheTtl (\s a -> s { _appSyncApiCacheTtl = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-type
+asacType :: Lens' AppSyncApiCache (Val Text)
+asacType = lens _appSyncApiCacheType (\s a -> s { _appSyncApiCacheType = a })
diff --git a/library-gen/Stratosphere/Resources/AppSyncResolver.hs b/library-gen/Stratosphere/Resources/AppSyncResolver.hs
--- a/library-gen/Stratosphere/Resources/AppSyncResolver.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncResolver.hs
@@ -8,13 +8,16 @@
 module Stratosphere.Resources.AppSyncResolver where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppSyncResolverCachingConfig
 import Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig
+import Stratosphere.ResourceProperties.AppSyncResolverSyncConfig
 
 -- | Full data type definition for AppSyncResolver. See 'appSyncResolver' for
 -- a more convenient constructor.
 data AppSyncResolver =
   AppSyncResolver
   { _appSyncResolverApiId :: Val Text
+  , _appSyncResolverCachingConfig :: Maybe AppSyncResolverCachingConfig
   , _appSyncResolverDataSourceName :: Maybe (Val Text)
   , _appSyncResolverFieldName :: Val Text
   , _appSyncResolverKind :: Maybe (Val Text)
@@ -23,6 +26,7 @@
   , _appSyncResolverRequestMappingTemplateS3Location :: Maybe (Val Text)
   , _appSyncResolverResponseMappingTemplate :: Maybe (Val Text)
   , _appSyncResolverResponseMappingTemplateS3Location :: Maybe (Val Text)
+  , _appSyncResolverSyncConfig :: Maybe AppSyncResolverSyncConfig
   , _appSyncResolverTypeName :: Val Text
   } deriving (Show, Eq)
 
@@ -33,6 +37,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncResolverApiId
+        , fmap (("CachingConfig",) . toJSON) _appSyncResolverCachingConfig
         , fmap (("DataSourceName",) . toJSON) _appSyncResolverDataSourceName
         , (Just . ("FieldName",) . toJSON) _appSyncResolverFieldName
         , fmap (("Kind",) . toJSON) _appSyncResolverKind
@@ -41,6 +46,7 @@
         , fmap (("RequestMappingTemplateS3Location",) . toJSON) _appSyncResolverRequestMappingTemplateS3Location
         , fmap (("ResponseMappingTemplate",) . toJSON) _appSyncResolverResponseMappingTemplate
         , fmap (("ResponseMappingTemplateS3Location",) . toJSON) _appSyncResolverResponseMappingTemplateS3Location
+        , fmap (("SyncConfig",) . toJSON) _appSyncResolverSyncConfig
         , (Just . ("TypeName",) . toJSON) _appSyncResolverTypeName
         ]
     }
@@ -55,6 +61,7 @@
 appSyncResolver apiIdarg fieldNamearg typeNamearg =
   AppSyncResolver
   { _appSyncResolverApiId = apiIdarg
+  , _appSyncResolverCachingConfig = Nothing
   , _appSyncResolverDataSourceName = Nothing
   , _appSyncResolverFieldName = fieldNamearg
   , _appSyncResolverKind = Nothing
@@ -63,6 +70,7 @@
   , _appSyncResolverRequestMappingTemplateS3Location = Nothing
   , _appSyncResolverResponseMappingTemplate = Nothing
   , _appSyncResolverResponseMappingTemplateS3Location = Nothing
+  , _appSyncResolverSyncConfig = Nothing
   , _appSyncResolverTypeName = typeNamearg
   }
 
@@ -70,6 +78,10 @@
 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-cachingconfig
+asrCachingConfig :: Lens' AppSyncResolver (Maybe AppSyncResolverCachingConfig)
+asrCachingConfig = lens _appSyncResolverCachingConfig (\s a -> s { _appSyncResolverCachingConfig = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-datasourcename
 asrDataSourceName :: Lens' AppSyncResolver (Maybe (Val Text))
 asrDataSourceName = lens _appSyncResolverDataSourceName (\s a -> s { _appSyncResolverDataSourceName = a })
@@ -101,6 +113,10 @@
 -- | 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-syncconfig
+asrSyncConfig :: Lens' AppSyncResolver (Maybe AppSyncResolverSyncConfig)
+asrSyncConfig = lens _appSyncResolverSyncConfig (\s a -> s { _appSyncResolverSyncConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename
 asrTypeName :: Lens' AppSyncResolver (Val Text)
diff --git a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
--- a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
+++ b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.Cloud9EnvironmentEC2Repository
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for Cloud9EnvironmentEC2. See
 -- 'cloud9EnvironmentEC2' for a more convenient constructor.
@@ -21,6 +22,7 @@
   , _cloud9EnvironmentEC2OwnerArn :: Maybe (Val Text)
   , _cloud9EnvironmentEC2Repositories :: Maybe [Cloud9EnvironmentEC2Repository]
   , _cloud9EnvironmentEC2SubnetId :: Maybe (Val Text)
+  , _cloud9EnvironmentEC2Tags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties Cloud9EnvironmentEC2 where
@@ -36,6 +38,7 @@
         , fmap (("OwnerArn",) . toJSON) _cloud9EnvironmentEC2OwnerArn
         , fmap (("Repositories",) . toJSON) _cloud9EnvironmentEC2Repositories
         , fmap (("SubnetId",) . toJSON) _cloud9EnvironmentEC2SubnetId
+        , fmap (("Tags",) . toJSON) _cloud9EnvironmentEC2Tags
         ]
     }
 
@@ -53,6 +56,7 @@
   , _cloud9EnvironmentEC2OwnerArn = Nothing
   , _cloud9EnvironmentEC2Repositories = Nothing
   , _cloud9EnvironmentEC2SubnetId = Nothing
+  , _cloud9EnvironmentEC2Tags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-automaticstoptimeminutes
@@ -82,3 +86,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-subnetid
 ceecSubnetId :: Lens' Cloud9EnvironmentEC2 (Maybe (Val Text))
 ceecSubnetId = lens _cloud9EnvironmentEC2SubnetId (\s a -> s { _cloud9EnvironmentEC2SubnetId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-tags
+ceecTags :: Lens' Cloud9EnvironmentEC2 (Maybe [Tag])
+ceecTags = lens _cloud9EnvironmentEC2Tags (\s a -> s { _cloud9EnvironmentEC2Tags = a })
diff --git a/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs b/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html
+
+module Stratosphere.Resources.CloudWatchInsightRule where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudWatchInsightRule. See
+-- 'cloudWatchInsightRule' for a more convenient constructor.
+data CloudWatchInsightRule =
+  CloudWatchInsightRule
+  { _cloudWatchInsightRuleRuleBody :: Val Text
+  , _cloudWatchInsightRuleRuleName :: Val Text
+  , _cloudWatchInsightRuleRuleState :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CloudWatchInsightRule where
+  toResourceProperties CloudWatchInsightRule{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CloudWatch::InsightRule"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("RuleBody",) . toJSON) _cloudWatchInsightRuleRuleBody
+        , (Just . ("RuleName",) . toJSON) _cloudWatchInsightRuleRuleName
+        , (Just . ("RuleState",) . toJSON) _cloudWatchInsightRuleRuleState
+        ]
+    }
+
+-- | Constructor for 'CloudWatchInsightRule' containing required fields as
+-- arguments.
+cloudWatchInsightRule
+  :: Val Text -- ^ 'cwirRuleBody'
+  -> Val Text -- ^ 'cwirRuleName'
+  -> Val Text -- ^ 'cwirRuleState'
+  -> CloudWatchInsightRule
+cloudWatchInsightRule ruleBodyarg ruleNamearg ruleStatearg =
+  CloudWatchInsightRule
+  { _cloudWatchInsightRuleRuleBody = ruleBodyarg
+  , _cloudWatchInsightRuleRuleName = ruleNamearg
+  , _cloudWatchInsightRuleRuleState = ruleStatearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulebody
+cwirRuleBody :: Lens' CloudWatchInsightRule (Val Text)
+cwirRuleBody = lens _cloudWatchInsightRuleRuleBody (\s a -> s { _cloudWatchInsightRuleRuleBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulename
+cwirRuleName :: Lens' CloudWatchInsightRule (Val Text)
+cwirRuleName = lens _cloudWatchInsightRuleRuleName (\s a -> s { _cloudWatchInsightRuleRuleName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulestate
+cwirRuleState :: Lens' CloudWatchInsightRule (Val Text)
+cwirRuleState = lens _cloudWatchInsightRuleRuleState (\s a -> s { _cloudWatchInsightRuleRuleState = a })
diff --git a/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs b/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html
+
+module Stratosphere.Resources.CodeBuildReportGroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeBuildReportGroupReportExportConfig
+
+-- | Full data type definition for CodeBuildReportGroup. See
+-- 'codeBuildReportGroup' for a more convenient constructor.
+data CodeBuildReportGroup =
+  CodeBuildReportGroup
+  { _codeBuildReportGroupExportConfig :: CodeBuildReportGroupReportExportConfig
+  , _codeBuildReportGroupName :: Maybe (Val Text)
+  , _codeBuildReportGroupType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CodeBuildReportGroup where
+  toResourceProperties CodeBuildReportGroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CodeBuild::ReportGroup"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ExportConfig",) . toJSON) _codeBuildReportGroupExportConfig
+        , fmap (("Name",) . toJSON) _codeBuildReportGroupName
+        , (Just . ("Type",) . toJSON) _codeBuildReportGroupType
+        ]
+    }
+
+-- | Constructor for 'CodeBuildReportGroup' containing required fields as
+-- arguments.
+codeBuildReportGroup
+  :: CodeBuildReportGroupReportExportConfig -- ^ 'cbrgExportConfig'
+  -> Val Text -- ^ 'cbrgType'
+  -> CodeBuildReportGroup
+codeBuildReportGroup exportConfigarg typearg =
+  CodeBuildReportGroup
+  { _codeBuildReportGroupExportConfig = exportConfigarg
+  , _codeBuildReportGroupName = Nothing
+  , _codeBuildReportGroupType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-exportconfig
+cbrgExportConfig :: Lens' CodeBuildReportGroup CodeBuildReportGroupReportExportConfig
+cbrgExportConfig = lens _codeBuildReportGroupExportConfig (\s a -> s { _codeBuildReportGroupExportConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-name
+cbrgName :: Lens' CodeBuildReportGroup (Maybe (Val Text))
+cbrgName = lens _codeBuildReportGroupName (\s a -> s { _codeBuildReportGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-type
+cbrgType :: Lens' CodeBuildReportGroup (Val Text)
+cbrgType = lens _codeBuildReportGroupType (\s a -> s { _codeBuildReportGroupType = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs b/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
--- a/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
+++ b/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
@@ -16,7 +16,8 @@
 -- 'cognitoIdentityPool' for a more convenient constructor.
 data CognitoIdentityPool =
   CognitoIdentityPool
-  { _cognitoIdentityPoolAllowUnauthenticatedIdentities :: Val Bool
+  { _cognitoIdentityPoolAllowClassicFlow :: Maybe (Val Bool)
+  , _cognitoIdentityPoolAllowUnauthenticatedIdentities :: Val Bool
   , _cognitoIdentityPoolCognitoEvents :: Maybe Object
   , _cognitoIdentityPoolCognitoIdentityProviders :: Maybe [CognitoIdentityPoolCognitoIdentityProvider]
   , _cognitoIdentityPoolCognitoStreams :: Maybe CognitoIdentityPoolCognitoStreams
@@ -34,7 +35,8 @@
     { resourcePropertiesType = "AWS::Cognito::IdentityPool"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("AllowUnauthenticatedIdentities",) . toJSON) _cognitoIdentityPoolAllowUnauthenticatedIdentities
+        [ fmap (("AllowClassicFlow",) . toJSON) _cognitoIdentityPoolAllowClassicFlow
+        , (Just . ("AllowUnauthenticatedIdentities",) . toJSON) _cognitoIdentityPoolAllowUnauthenticatedIdentities
         , fmap (("CognitoEvents",) . toJSON) _cognitoIdentityPoolCognitoEvents
         , fmap (("CognitoIdentityProviders",) . toJSON) _cognitoIdentityPoolCognitoIdentityProviders
         , fmap (("CognitoStreams",) . toJSON) _cognitoIdentityPoolCognitoStreams
@@ -54,7 +56,8 @@
   -> CognitoIdentityPool
 cognitoIdentityPool allowUnauthenticatedIdentitiesarg =
   CognitoIdentityPool
-  { _cognitoIdentityPoolAllowUnauthenticatedIdentities = allowUnauthenticatedIdentitiesarg
+  { _cognitoIdentityPoolAllowClassicFlow = Nothing
+  , _cognitoIdentityPoolAllowUnauthenticatedIdentities = allowUnauthenticatedIdentitiesarg
   , _cognitoIdentityPoolCognitoEvents = Nothing
   , _cognitoIdentityPoolCognitoIdentityProviders = Nothing
   , _cognitoIdentityPoolCognitoStreams = Nothing
@@ -65,6 +68,10 @@
   , _cognitoIdentityPoolSamlProviderARNs = Nothing
   , _cognitoIdentityPoolSupportedLoginProviders = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowclassicflow
+cipAllowClassicFlow :: Lens' CognitoIdentityPool (Maybe (Val Bool))
+cipAllowClassicFlow = lens _cognitoIdentityPoolAllowClassicFlow (\s a -> s { _cognitoIdentityPoolAllowClassicFlow = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowunauthenticatedidentities
 cipAllowUnauthenticatedIdentities :: Lens' CognitoIdentityPool (Val Bool)
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
@@ -24,6 +24,7 @@
   , _cognitoUserPoolClientExplicitAuthFlows :: Maybe (ValList Text)
   , _cognitoUserPoolClientGenerateSecret :: Maybe (Val Bool)
   , _cognitoUserPoolClientLogoutURLs :: Maybe (ValList Text)
+  , _cognitoUserPoolClientPreventUserExistenceErrors :: Maybe (Val Text)
   , _cognitoUserPoolClientReadAttributes :: Maybe (ValList Text)
   , _cognitoUserPoolClientRefreshTokenValidity :: Maybe (Val Integer)
   , _cognitoUserPoolClientSupportedIdentityProviders :: Maybe (ValList Text)
@@ -47,6 +48,7 @@
         , fmap (("ExplicitAuthFlows",) . toJSON) _cognitoUserPoolClientExplicitAuthFlows
         , fmap (("GenerateSecret",) . toJSON) _cognitoUserPoolClientGenerateSecret
         , fmap (("LogoutURLs",) . toJSON) _cognitoUserPoolClientLogoutURLs
+        , fmap (("PreventUserExistenceErrors",) . toJSON) _cognitoUserPoolClientPreventUserExistenceErrors
         , fmap (("ReadAttributes",) . toJSON) _cognitoUserPoolClientReadAttributes
         , fmap (("RefreshTokenValidity",) . toJSON) _cognitoUserPoolClientRefreshTokenValidity
         , fmap (("SupportedIdentityProviders",) . toJSON) _cognitoUserPoolClientSupportedIdentityProviders
@@ -72,6 +74,7 @@
   , _cognitoUserPoolClientExplicitAuthFlows = Nothing
   , _cognitoUserPoolClientGenerateSecret = Nothing
   , _cognitoUserPoolClientLogoutURLs = Nothing
+  , _cognitoUserPoolClientPreventUserExistenceErrors = Nothing
   , _cognitoUserPoolClientReadAttributes = Nothing
   , _cognitoUserPoolClientRefreshTokenValidity = Nothing
   , _cognitoUserPoolClientSupportedIdentityProviders = Nothing
@@ -118,6 +121,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-logouturls
 cupcLogoutURLs :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
 cupcLogoutURLs = lens _cognitoUserPoolClientLogoutURLs (\s a -> s { _cognitoUserPoolClientLogoutURLs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-preventuserexistenceerrors
+cupcPreventUserExistenceErrors :: Lens' CognitoUserPoolClient (Maybe (Val Text))
+cupcPreventUserExistenceErrors = lens _cognitoUserPoolClientPreventUserExistenceErrors (\s a -> s { _cognitoUserPoolClientPreventUserExistenceErrors = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes
 cupcReadAttributes :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
@@ -14,7 +14,8 @@
 -- 'cognitoUserPoolUser' for a more convenient constructor.
 data CognitoUserPoolUser =
   CognitoUserPoolUser
-  { _cognitoUserPoolUserDesiredDeliveryMediums :: Maybe (ValList Text)
+  { _cognitoUserPoolUserClientMetadata :: Maybe Object
+  , _cognitoUserPoolUserDesiredDeliveryMediums :: Maybe (ValList Text)
   , _cognitoUserPoolUserForceAliasCreation :: Maybe (Val Bool)
   , _cognitoUserPoolUserMessageAction :: Maybe (Val Text)
   , _cognitoUserPoolUserUserAttributes :: Maybe [CognitoUserPoolUserAttributeType]
@@ -29,7 +30,8 @@
     { resourcePropertiesType = "AWS::Cognito::UserPoolUser"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("DesiredDeliveryMediums",) . toJSON) _cognitoUserPoolUserDesiredDeliveryMediums
+        [ fmap (("ClientMetadata",) . toJSON) _cognitoUserPoolUserClientMetadata
+        , fmap (("DesiredDeliveryMediums",) . toJSON) _cognitoUserPoolUserDesiredDeliveryMediums
         , fmap (("ForceAliasCreation",) . toJSON) _cognitoUserPoolUserForceAliasCreation
         , fmap (("MessageAction",) . toJSON) _cognitoUserPoolUserMessageAction
         , fmap (("UserAttributes",) . toJSON) _cognitoUserPoolUserUserAttributes
@@ -46,7 +48,8 @@
   -> CognitoUserPoolUser
 cognitoUserPoolUser userPoolIdarg =
   CognitoUserPoolUser
-  { _cognitoUserPoolUserDesiredDeliveryMediums = Nothing
+  { _cognitoUserPoolUserClientMetadata = Nothing
+  , _cognitoUserPoolUserDesiredDeliveryMediums = Nothing
   , _cognitoUserPoolUserForceAliasCreation = Nothing
   , _cognitoUserPoolUserMessageAction = Nothing
   , _cognitoUserPoolUserUserAttributes = Nothing
@@ -54,6 +57,10 @@
   , _cognitoUserPoolUserUsername = Nothing
   , _cognitoUserPoolUserValidationData = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-clientmetadata
+cupuClientMetadata :: Lens' CognitoUserPoolUser (Maybe Object)
+cupuClientMetadata = lens _cognitoUserPoolUserClientMetadata (\s a -> s { _cognitoUserPoolUserClientMetadata = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-desireddeliverymediums
 cupuDesiredDeliveryMediums :: Lens' CognitoUserPoolUser (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
@@ -22,8 +22,8 @@
   , _docDBDBClusterEnableCloudwatchLogsExports :: Maybe (ValList Text)
   , _docDBDBClusterEngineVersion :: Maybe (Val Text)
   , _docDBDBClusterKmsKeyId :: Maybe (Val Text)
-  , _docDBDBClusterMasterUserPassword :: Maybe (Val Text)
-  , _docDBDBClusterMasterUsername :: Maybe (Val Text)
+  , _docDBDBClusterMasterUserPassword :: Val Text
+  , _docDBDBClusterMasterUsername :: Val Text
   , _docDBDBClusterPort :: Maybe (Val Integer)
   , _docDBDBClusterPreferredBackupWindow :: Maybe (Val Text)
   , _docDBDBClusterPreferredMaintenanceWindow :: Maybe (Val Text)
@@ -47,8 +47,8 @@
         , fmap (("EnableCloudwatchLogsExports",) . toJSON) _docDBDBClusterEnableCloudwatchLogsExports
         , fmap (("EngineVersion",) . toJSON) _docDBDBClusterEngineVersion
         , fmap (("KmsKeyId",) . toJSON) _docDBDBClusterKmsKeyId
-        , fmap (("MasterUserPassword",) . toJSON) _docDBDBClusterMasterUserPassword
-        , fmap (("MasterUsername",) . toJSON) _docDBDBClusterMasterUsername
+        , (Just . ("MasterUserPassword",) . toJSON) _docDBDBClusterMasterUserPassword
+        , (Just . ("MasterUsername",) . toJSON) _docDBDBClusterMasterUsername
         , fmap (("Port",) . toJSON) _docDBDBClusterPort
         , fmap (("PreferredBackupWindow",) . toJSON) _docDBDBClusterPreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _docDBDBClusterPreferredMaintenanceWindow
@@ -61,8 +61,10 @@
 
 -- | Constructor for 'DocDBDBCluster' containing required fields as arguments.
 docDBDBCluster
-  :: DocDBDBCluster
-docDBDBCluster  =
+  :: Val Text -- ^ 'ddbdbcMasterUserPassword'
+  -> Val Text -- ^ 'ddbdbcMasterUsername'
+  -> DocDBDBCluster
+docDBDBCluster masterUserPasswordarg masterUsernamearg =
   DocDBDBCluster
   { _docDBDBClusterAvailabilityZones = Nothing
   , _docDBDBClusterBackupRetentionPeriod = Nothing
@@ -72,8 +74,8 @@
   , _docDBDBClusterEnableCloudwatchLogsExports = Nothing
   , _docDBDBClusterEngineVersion = Nothing
   , _docDBDBClusterKmsKeyId = Nothing
-  , _docDBDBClusterMasterUserPassword = Nothing
-  , _docDBDBClusterMasterUsername = Nothing
+  , _docDBDBClusterMasterUserPassword = masterUserPasswordarg
+  , _docDBDBClusterMasterUsername = masterUsernamearg
   , _docDBDBClusterPort = Nothing
   , _docDBDBClusterPreferredBackupWindow = Nothing
   , _docDBDBClusterPreferredMaintenanceWindow = Nothing
@@ -116,11 +118,11 @@
 ddbdbcKmsKeyId = lens _docDBDBClusterKmsKeyId (\s a -> s { _docDBDBClusterKmsKeyId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword
-ddbdbcMasterUserPassword :: Lens' DocDBDBCluster (Maybe (Val Text))
+ddbdbcMasterUserPassword :: Lens' DocDBDBCluster (Val Text)
 ddbdbcMasterUserPassword = lens _docDBDBClusterMasterUserPassword (\s a -> s { _docDBDBClusterMasterUserPassword = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername
-ddbdbcMasterUsername :: Lens' DocDBDBCluster (Maybe (Val Text))
+ddbdbcMasterUsername :: Lens' DocDBDBCluster (Val Text)
 ddbdbcMasterUsername = lens _docDBDBClusterMasterUsername (\s a -> s { _docDBDBClusterMasterUsername = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port
diff --git a/library-gen/Stratosphere/Resources/EC2EIP.hs b/library-gen/Stratosphere/Resources/EC2EIP.hs
--- a/library-gen/Stratosphere/Resources/EC2EIP.hs
+++ b/library-gen/Stratosphere/Resources/EC2EIP.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.EC2EIP where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for EC2EIP. See 'ec2EIP' for a more convenient
 -- constructor.
@@ -17,6 +17,7 @@
   { _eC2EIPDomain :: Maybe (Val Text)
   , _eC2EIPInstanceId :: Maybe (Val Text)
   , _eC2EIPPublicIpv4Pool :: Maybe (Val Text)
+  , _eC2EIPTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties EC2EIP where
@@ -28,6 +29,7 @@
         [ fmap (("Domain",) . toJSON) _eC2EIPDomain
         , fmap (("InstanceId",) . toJSON) _eC2EIPInstanceId
         , fmap (("PublicIpv4Pool",) . toJSON) _eC2EIPPublicIpv4Pool
+        , fmap (("Tags",) . toJSON) _eC2EIPTags
         ]
     }
 
@@ -39,6 +41,7 @@
   { _eC2EIPDomain = Nothing
   , _eC2EIPInstanceId = Nothing
   , _eC2EIPPublicIpv4Pool = Nothing
+  , _eC2EIPTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-domain
@@ -52,3 +55,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-publicipv4pool
 eceipPublicIpv4Pool :: Lens' EC2EIP (Maybe (Val Text))
 eceipPublicIpv4Pool = lens _eC2EIPPublicIpv4Pool (\s a -> s { _eC2EIPPublicIpv4Pool = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-tags
+eceipTags :: Lens' EC2EIP (Maybe [Tag])
+eceipTags = lens _eC2EIPTags (\s a -> s { _eC2EIPTags = a })
diff --git a/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs b/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html
+
+module Stratosphere.Resources.EC2GatewayRouteTableAssociation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EC2GatewayRouteTableAssociation. See
+-- 'ec2GatewayRouteTableAssociation' for a more convenient constructor.
+data EC2GatewayRouteTableAssociation =
+  EC2GatewayRouteTableAssociation
+  { _eC2GatewayRouteTableAssociationGatewayId :: Val Text
+  , _eC2GatewayRouteTableAssociationRouteTableId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EC2GatewayRouteTableAssociation where
+  toResourceProperties EC2GatewayRouteTableAssociation{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EC2::GatewayRouteTableAssociation"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("GatewayId",) . toJSON) _eC2GatewayRouteTableAssociationGatewayId
+        , (Just . ("RouteTableId",) . toJSON) _eC2GatewayRouteTableAssociationRouteTableId
+        ]
+    }
+
+-- | Constructor for 'EC2GatewayRouteTableAssociation' containing required
+-- fields as arguments.
+ec2GatewayRouteTableAssociation
+  :: Val Text -- ^ 'ecgrtaGatewayId'
+  -> Val Text -- ^ 'ecgrtaRouteTableId'
+  -> EC2GatewayRouteTableAssociation
+ec2GatewayRouteTableAssociation gatewayIdarg routeTableIdarg =
+  EC2GatewayRouteTableAssociation
+  { _eC2GatewayRouteTableAssociationGatewayId = gatewayIdarg
+  , _eC2GatewayRouteTableAssociationRouteTableId = routeTableIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-gatewayid
+ecgrtaGatewayId :: Lens' EC2GatewayRouteTableAssociation (Val Text)
+ecgrtaGatewayId = lens _eC2GatewayRouteTableAssociationGatewayId (\s a -> s { _eC2GatewayRouteTableAssociationGatewayId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-routetableid
+ecgrtaRouteTableId :: Lens' EC2GatewayRouteTableAssociation (Val Text)
+ecgrtaRouteTableId = lens _eC2GatewayRouteTableAssociationRouteTableId (\s a -> s { _eC2GatewayRouteTableAssociationRouteTableId = a })
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs b/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
@@ -15,7 +15,7 @@
 -- 'ec2NetworkAclEntry' for a more convenient constructor.
 data EC2NetworkAclEntry =
   EC2NetworkAclEntry
-  { _eC2NetworkAclEntryCidrBlock :: Val Text
+  { _eC2NetworkAclEntryCidrBlock :: Maybe (Val Text)
   , _eC2NetworkAclEntryEgress :: Maybe (Val Bool)
   , _eC2NetworkAclEntryIcmp :: Maybe EC2NetworkAclEntryIcmp
   , _eC2NetworkAclEntryIpv6CidrBlock :: Maybe (Val Text)
@@ -32,7 +32,7 @@
     { resourcePropertiesType = "AWS::EC2::NetworkAclEntry"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("CidrBlock",) . toJSON) _eC2NetworkAclEntryCidrBlock
+        [ fmap (("CidrBlock",) . toJSON) _eC2NetworkAclEntryCidrBlock
         , fmap (("Egress",) . toJSON) _eC2NetworkAclEntryEgress
         , fmap (("Icmp",) . toJSON) _eC2NetworkAclEntryIcmp
         , fmap (("Ipv6CidrBlock",) . toJSON) _eC2NetworkAclEntryIpv6CidrBlock
@@ -47,15 +47,14 @@
 -- | Constructor for 'EC2NetworkAclEntry' containing required fields as
 -- arguments.
 ec2NetworkAclEntry
-  :: Val Text -- ^ 'ecnaeCidrBlock'
-  -> Val Text -- ^ 'ecnaeNetworkAclId'
+  :: Val Text -- ^ 'ecnaeNetworkAclId'
   -> Val Integer -- ^ 'ecnaeProtocol'
   -> Val Text -- ^ 'ecnaeRuleAction'
   -> Val Integer -- ^ 'ecnaeRuleNumber'
   -> EC2NetworkAclEntry
-ec2NetworkAclEntry cidrBlockarg networkAclIdarg protocolarg ruleActionarg ruleNumberarg =
+ec2NetworkAclEntry networkAclIdarg protocolarg ruleActionarg ruleNumberarg =
   EC2NetworkAclEntry
-  { _eC2NetworkAclEntryCidrBlock = cidrBlockarg
+  { _eC2NetworkAclEntryCidrBlock = Nothing
   , _eC2NetworkAclEntryEgress = Nothing
   , _eC2NetworkAclEntryIcmp = Nothing
   , _eC2NetworkAclEntryIpv6CidrBlock = Nothing
@@ -67,7 +66,7 @@
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-cidrblock
-ecnaeCidrBlock :: Lens' EC2NetworkAclEntry (Val Text)
+ecnaeCidrBlock :: Lens' EC2NetworkAclEntry (Maybe (Val Text))
 ecnaeCidrBlock = lens _eC2NetworkAclEntryCidrBlock (\s a -> s { _eC2NetworkAclEntryCidrBlock = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-egress
diff --git a/library-gen/Stratosphere/Resources/ECSCluster.hs b/library-gen/Stratosphere/Resources/ECSCluster.hs
--- a/library-gen/Stratosphere/Resources/ECSCluster.hs
+++ b/library-gen/Stratosphere/Resources/ECSCluster.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.ECSCluster where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ECSClusterClusterSetting
 import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ECSCluster. See 'ecsCluster' for a more
@@ -15,6 +16,7 @@
 data ECSCluster =
   ECSCluster
   { _eCSClusterClusterName :: Maybe (Val Text)
+  , _eCSClusterClusterSettings :: Maybe [ECSClusterClusterSetting]
   , _eCSClusterTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
@@ -25,6 +27,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("ClusterName",) . toJSON) _eCSClusterClusterName
+        , fmap (("ClusterSettings",) . toJSON) _eCSClusterClusterSettings
         , fmap (("Tags",) . toJSON) _eCSClusterTags
         ]
     }
@@ -35,12 +38,17 @@
 ecsCluster  =
   ECSCluster
   { _eCSClusterClusterName = Nothing
+  , _eCSClusterClusterSettings = Nothing
   , _eCSClusterTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustername
 ecscClusterName :: Lens' ECSCluster (Maybe (Val Text))
 ecscClusterName = lens _eCSClusterClusterName (\s a -> s { _eCSClusterClusterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustersettings
+ecscClusterSettings :: Lens' ECSCluster (Maybe [ECSClusterClusterSetting])
+ecscClusterSettings = lens _eCSClusterClusterSettings (\s a -> s { _eCSClusterClusterSettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-tags
 ecscTags :: Lens' ECSCluster (Maybe [Tag])
diff --git a/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs b/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html
+
+module Stratosphere.Resources.ECSPrimaryTaskSet where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSPrimaryTaskSet. See 'ecsPrimaryTaskSet'
+-- for a more convenient constructor.
+data ECSPrimaryTaskSet =
+  ECSPrimaryTaskSet
+  { _eCSPrimaryTaskSetCluster :: Val Text
+  , _eCSPrimaryTaskSetService :: Val Text
+  , _eCSPrimaryTaskSetTaskSetId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ECSPrimaryTaskSet where
+  toResourceProperties ECSPrimaryTaskSet{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ECS::PrimaryTaskSet"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Cluster",) . toJSON) _eCSPrimaryTaskSetCluster
+        , (Just . ("Service",) . toJSON) _eCSPrimaryTaskSetService
+        , (Just . ("TaskSetId",) . toJSON) _eCSPrimaryTaskSetTaskSetId
+        ]
+    }
+
+-- | Constructor for 'ECSPrimaryTaskSet' containing required fields as
+-- arguments.
+ecsPrimaryTaskSet
+  :: Val Text -- ^ 'ecsptsCluster'
+  -> Val Text -- ^ 'ecsptsService'
+  -> Val Text -- ^ 'ecsptsTaskSetId'
+  -> ECSPrimaryTaskSet
+ecsPrimaryTaskSet clusterarg servicearg taskSetIdarg =
+  ECSPrimaryTaskSet
+  { _eCSPrimaryTaskSetCluster = clusterarg
+  , _eCSPrimaryTaskSetService = servicearg
+  , _eCSPrimaryTaskSetTaskSetId = taskSetIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html#cfn-ecs-primarytaskset-cluster
+ecsptsCluster :: Lens' ECSPrimaryTaskSet (Val Text)
+ecsptsCluster = lens _eCSPrimaryTaskSetCluster (\s a -> s { _eCSPrimaryTaskSetCluster = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html#cfn-ecs-primarytaskset-service
+ecsptsService :: Lens' ECSPrimaryTaskSet (Val Text)
+ecsptsService = lens _eCSPrimaryTaskSetService (\s a -> s { _eCSPrimaryTaskSetService = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html#cfn-ecs-primarytaskset-tasksetid
+ecsptsTaskSetId :: Lens' ECSPrimaryTaskSet (Val Text)
+ecsptsTaskSetId = lens _eCSPrimaryTaskSetTaskSetId (\s a -> s { _eCSPrimaryTaskSetTaskSetId = a })
diff --git a/library-gen/Stratosphere/Resources/ECSService.hs b/library-gen/Stratosphere/Resources/ECSService.hs
--- a/library-gen/Stratosphere/Resources/ECSService.hs
+++ b/library-gen/Stratosphere/Resources/ECSService.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ECSServiceDeploymentConfiguration
+import Stratosphere.ResourceProperties.ECSServiceDeploymentController
 import Stratosphere.ResourceProperties.ECSServiceLoadBalancer
 import Stratosphere.ResourceProperties.ECSServiceNetworkConfiguration
 import Stratosphere.ResourceProperties.ECSServicePlacementConstraint
@@ -22,6 +23,7 @@
   ECSService
   { _eCSServiceCluster :: Maybe (Val Text)
   , _eCSServiceDeploymentConfiguration :: Maybe ECSServiceDeploymentConfiguration
+  , _eCSServiceDeploymentController :: Maybe ECSServiceDeploymentController
   , _eCSServiceDesiredCount :: Maybe (Val Integer)
   , _eCSServiceEnableECSManagedTags :: Maybe (Val Bool)
   , _eCSServiceHealthCheckGracePeriodSeconds :: Maybe (Val Integer)
@@ -37,7 +39,7 @@
   , _eCSServiceServiceName :: Maybe (Val Text)
   , _eCSServiceServiceRegistries :: Maybe [ECSServiceServiceRegistry]
   , _eCSServiceTags :: Maybe [Tag]
-  , _eCSServiceTaskDefinition :: Val Text
+  , _eCSServiceTaskDefinition :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties ECSService where
@@ -48,6 +50,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("Cluster",) . toJSON) _eCSServiceCluster
         , fmap (("DeploymentConfiguration",) . toJSON) _eCSServiceDeploymentConfiguration
+        , fmap (("DeploymentController",) . toJSON) _eCSServiceDeploymentController
         , fmap (("DesiredCount",) . toJSON) _eCSServiceDesiredCount
         , fmap (("EnableECSManagedTags",) . toJSON) _eCSServiceEnableECSManagedTags
         , fmap (("HealthCheckGracePeriodSeconds",) . toJSON) _eCSServiceHealthCheckGracePeriodSeconds
@@ -63,18 +66,18 @@
         , fmap (("ServiceName",) . toJSON) _eCSServiceServiceName
         , fmap (("ServiceRegistries",) . toJSON) _eCSServiceServiceRegistries
         , fmap (("Tags",) . toJSON) _eCSServiceTags
-        , (Just . ("TaskDefinition",) . toJSON) _eCSServiceTaskDefinition
+        , fmap (("TaskDefinition",) . toJSON) _eCSServiceTaskDefinition
         ]
     }
 
 -- | Constructor for 'ECSService' containing required fields as arguments.
 ecsService
-  :: Val Text -- ^ 'ecssTaskDefinition'
-  -> ECSService
-ecsService taskDefinitionarg =
+  :: ECSService
+ecsService  =
   ECSService
   { _eCSServiceCluster = Nothing
   , _eCSServiceDeploymentConfiguration = Nothing
+  , _eCSServiceDeploymentController = Nothing
   , _eCSServiceDesiredCount = Nothing
   , _eCSServiceEnableECSManagedTags = Nothing
   , _eCSServiceHealthCheckGracePeriodSeconds = Nothing
@@ -90,7 +93,7 @@
   , _eCSServiceServiceName = Nothing
   , _eCSServiceServiceRegistries = Nothing
   , _eCSServiceTags = Nothing
-  , _eCSServiceTaskDefinition = taskDefinitionarg
+  , _eCSServiceTaskDefinition = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-cluster
@@ -101,6 +104,10 @@
 ecssDeploymentConfiguration :: Lens' ECSService (Maybe ECSServiceDeploymentConfiguration)
 ecssDeploymentConfiguration = lens _eCSServiceDeploymentConfiguration (\s a -> s { _eCSServiceDeploymentConfiguration = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-deploymentcontroller
+ecssDeploymentController :: Lens' ECSService (Maybe ECSServiceDeploymentController)
+ecssDeploymentController = lens _eCSServiceDeploymentController (\s a -> s { _eCSServiceDeploymentController = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-desiredcount
 ecssDesiredCount :: Lens' ECSService (Maybe (Val Integer))
 ecssDesiredCount = lens _eCSServiceDesiredCount (\s a -> s { _eCSServiceDesiredCount = a })
@@ -162,5 +169,5 @@
 ecssTags = lens _eCSServiceTags (\s a -> s { _eCSServiceTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-taskdefinition
-ecssTaskDefinition :: Lens' ECSService (Val Text)
+ecssTaskDefinition :: Lens' ECSService (Maybe (Val Text))
 ecssTaskDefinition = lens _eCSServiceTaskDefinition (\s a -> s { _eCSServiceTaskDefinition = a })
diff --git a/library-gen/Stratosphere/Resources/ECSTaskSet.hs b/library-gen/Stratosphere/Resources/ECSTaskSet.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ECSTaskSet.hs
@@ -0,0 +1,109 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html
+
+module Stratosphere.Resources.ECSTaskSet where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ECSTaskSetLoadBalancer
+import Stratosphere.ResourceProperties.ECSTaskSetNetworkConfiguration
+import Stratosphere.ResourceProperties.ECSTaskSetScale
+import Stratosphere.ResourceProperties.ECSTaskSetServiceRegistry
+
+-- | Full data type definition for ECSTaskSet. See 'ecsTaskSet' for a more
+-- convenient constructor.
+data ECSTaskSet =
+  ECSTaskSet
+  { _eCSTaskSetCluster :: Val Text
+  , _eCSTaskSetExternalId :: Maybe (Val Text)
+  , _eCSTaskSetLaunchType :: Maybe (Val Text)
+  , _eCSTaskSetLoadBalancers :: Maybe [ECSTaskSetLoadBalancer]
+  , _eCSTaskSetNetworkConfiguration :: Maybe ECSTaskSetNetworkConfiguration
+  , _eCSTaskSetPlatformVersion :: Maybe (Val Text)
+  , _eCSTaskSetScale :: Maybe ECSTaskSetScale
+  , _eCSTaskSetService :: Val Text
+  , _eCSTaskSetServiceRegistries :: Maybe [ECSTaskSetServiceRegistry]
+  , _eCSTaskSetTaskDefinition :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ECSTaskSet where
+  toResourceProperties ECSTaskSet{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ECS::TaskSet"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Cluster",) . toJSON) _eCSTaskSetCluster
+        , fmap (("ExternalId",) . toJSON) _eCSTaskSetExternalId
+        , fmap (("LaunchType",) . toJSON) _eCSTaskSetLaunchType
+        , fmap (("LoadBalancers",) . toJSON) _eCSTaskSetLoadBalancers
+        , fmap (("NetworkConfiguration",) . toJSON) _eCSTaskSetNetworkConfiguration
+        , fmap (("PlatformVersion",) . toJSON) _eCSTaskSetPlatformVersion
+        , fmap (("Scale",) . toJSON) _eCSTaskSetScale
+        , (Just . ("Service",) . toJSON) _eCSTaskSetService
+        , fmap (("ServiceRegistries",) . toJSON) _eCSTaskSetServiceRegistries
+        , (Just . ("TaskDefinition",) . toJSON) _eCSTaskSetTaskDefinition
+        ]
+    }
+
+-- | Constructor for 'ECSTaskSet' containing required fields as arguments.
+ecsTaskSet
+  :: Val Text -- ^ 'ecstsCluster'
+  -> Val Text -- ^ 'ecstsService'
+  -> Val Text -- ^ 'ecstsTaskDefinition'
+  -> ECSTaskSet
+ecsTaskSet clusterarg servicearg taskDefinitionarg =
+  ECSTaskSet
+  { _eCSTaskSetCluster = clusterarg
+  , _eCSTaskSetExternalId = Nothing
+  , _eCSTaskSetLaunchType = Nothing
+  , _eCSTaskSetLoadBalancers = Nothing
+  , _eCSTaskSetNetworkConfiguration = Nothing
+  , _eCSTaskSetPlatformVersion = Nothing
+  , _eCSTaskSetScale = Nothing
+  , _eCSTaskSetService = servicearg
+  , _eCSTaskSetServiceRegistries = Nothing
+  , _eCSTaskSetTaskDefinition = taskDefinitionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-cluster
+ecstsCluster :: Lens' ECSTaskSet (Val Text)
+ecstsCluster = lens _eCSTaskSetCluster (\s a -> s { _eCSTaskSetCluster = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-externalid
+ecstsExternalId :: Lens' ECSTaskSet (Maybe (Val Text))
+ecstsExternalId = lens _eCSTaskSetExternalId (\s a -> s { _eCSTaskSetExternalId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-launchtype
+ecstsLaunchType :: Lens' ECSTaskSet (Maybe (Val Text))
+ecstsLaunchType = lens _eCSTaskSetLaunchType (\s a -> s { _eCSTaskSetLaunchType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-loadbalancers
+ecstsLoadBalancers :: Lens' ECSTaskSet (Maybe [ECSTaskSetLoadBalancer])
+ecstsLoadBalancers = lens _eCSTaskSetLoadBalancers (\s a -> s { _eCSTaskSetLoadBalancers = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-networkconfiguration
+ecstsNetworkConfiguration :: Lens' ECSTaskSet (Maybe ECSTaskSetNetworkConfiguration)
+ecstsNetworkConfiguration = lens _eCSTaskSetNetworkConfiguration (\s a -> s { _eCSTaskSetNetworkConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-platformversion
+ecstsPlatformVersion :: Lens' ECSTaskSet (Maybe (Val Text))
+ecstsPlatformVersion = lens _eCSTaskSetPlatformVersion (\s a -> s { _eCSTaskSetPlatformVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-scale
+ecstsScale :: Lens' ECSTaskSet (Maybe ECSTaskSetScale)
+ecstsScale = lens _eCSTaskSetScale (\s a -> s { _eCSTaskSetScale = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-service
+ecstsService :: Lens' ECSTaskSet (Val Text)
+ecstsService = lens _eCSTaskSetService (\s a -> s { _eCSTaskSetService = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-serviceregistries
+ecstsServiceRegistries :: Lens' ECSTaskSet (Maybe [ECSTaskSetServiceRegistry])
+ecstsServiceRegistries = lens _eCSTaskSetServiceRegistries (\s a -> s { _eCSTaskSetServiceRegistries = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-taskdefinition
+ecstsTaskDefinition :: Lens' ECSTaskSet (Val Text)
+ecstsTaskDefinition = lens _eCSTaskSetTaskDefinition (\s a -> s { _eCSTaskSetTaskDefinition = a })
diff --git a/library-gen/Stratosphere/Resources/EKSNodegroup.hs b/library-gen/Stratosphere/Resources/EKSNodegroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EKSNodegroup.hs
@@ -0,0 +1,135 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
+
+module Stratosphere.Resources.EKSNodegroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess
+import Stratosphere.ResourceProperties.EKSNodegroupScalingConfig
+
+-- | Full data type definition for EKSNodegroup. See 'eksNodegroup' for a more
+-- convenient constructor.
+data EKSNodegroup =
+  EKSNodegroup
+  { _eKSNodegroupAmiType :: Maybe (Val Text)
+  , _eKSNodegroupClusterName :: Val Text
+  , _eKSNodegroupDiskSize :: Maybe (Val Double)
+  , _eKSNodegroupForceUpdateEnabled :: Maybe (Val Bool)
+  , _eKSNodegroupInstanceTypes :: Maybe (ValList Text)
+  , _eKSNodegroupLabels :: Maybe Object
+  , _eKSNodegroupNodeRole :: Val Text
+  , _eKSNodegroupNodegroupName :: Maybe (Val Text)
+  , _eKSNodegroupReleaseVersion :: Maybe (Val Text)
+  , _eKSNodegroupRemoteAccess :: Maybe EKSNodegroupRemoteAccess
+  , _eKSNodegroupScalingConfig :: Maybe EKSNodegroupScalingConfig
+  , _eKSNodegroupSubnets :: ValList Text
+  , _eKSNodegroupTags :: Maybe Object
+  , _eKSNodegroupVersion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EKSNodegroup where
+  toResourceProperties EKSNodegroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EKS::Nodegroup"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AmiType",) . toJSON) _eKSNodegroupAmiType
+        , (Just . ("ClusterName",) . toJSON) _eKSNodegroupClusterName
+        , fmap (("DiskSize",) . toJSON) _eKSNodegroupDiskSize
+        , fmap (("ForceUpdateEnabled",) . toJSON) _eKSNodegroupForceUpdateEnabled
+        , fmap (("InstanceTypes",) . toJSON) _eKSNodegroupInstanceTypes
+        , fmap (("Labels",) . toJSON) _eKSNodegroupLabels
+        , (Just . ("NodeRole",) . toJSON) _eKSNodegroupNodeRole
+        , fmap (("NodegroupName",) . toJSON) _eKSNodegroupNodegroupName
+        , fmap (("ReleaseVersion",) . toJSON) _eKSNodegroupReleaseVersion
+        , fmap (("RemoteAccess",) . toJSON) _eKSNodegroupRemoteAccess
+        , fmap (("ScalingConfig",) . toJSON) _eKSNodegroupScalingConfig
+        , (Just . ("Subnets",) . toJSON) _eKSNodegroupSubnets
+        , fmap (("Tags",) . toJSON) _eKSNodegroupTags
+        , fmap (("Version",) . toJSON) _eKSNodegroupVersion
+        ]
+    }
+
+-- | Constructor for 'EKSNodegroup' containing required fields as arguments.
+eksNodegroup
+  :: Val Text -- ^ 'eksnClusterName'
+  -> Val Text -- ^ 'eksnNodeRole'
+  -> ValList Text -- ^ 'eksnSubnets'
+  -> EKSNodegroup
+eksNodegroup clusterNamearg nodeRolearg subnetsarg =
+  EKSNodegroup
+  { _eKSNodegroupAmiType = Nothing
+  , _eKSNodegroupClusterName = clusterNamearg
+  , _eKSNodegroupDiskSize = Nothing
+  , _eKSNodegroupForceUpdateEnabled = Nothing
+  , _eKSNodegroupInstanceTypes = Nothing
+  , _eKSNodegroupLabels = Nothing
+  , _eKSNodegroupNodeRole = nodeRolearg
+  , _eKSNodegroupNodegroupName = Nothing
+  , _eKSNodegroupReleaseVersion = Nothing
+  , _eKSNodegroupRemoteAccess = Nothing
+  , _eKSNodegroupScalingConfig = Nothing
+  , _eKSNodegroupSubnets = subnetsarg
+  , _eKSNodegroupTags = Nothing
+  , _eKSNodegroupVersion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-amitype
+eksnAmiType :: Lens' EKSNodegroup (Maybe (Val Text))
+eksnAmiType = lens _eKSNodegroupAmiType (\s a -> s { _eKSNodegroupAmiType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-clustername
+eksnClusterName :: Lens' EKSNodegroup (Val Text)
+eksnClusterName = lens _eKSNodegroupClusterName (\s a -> s { _eKSNodegroupClusterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-disksize
+eksnDiskSize :: Lens' EKSNodegroup (Maybe (Val Double))
+eksnDiskSize = lens _eKSNodegroupDiskSize (\s a -> s { _eKSNodegroupDiskSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-forceupdateenabled
+eksnForceUpdateEnabled :: Lens' EKSNodegroup (Maybe (Val Bool))
+eksnForceUpdateEnabled = lens _eKSNodegroupForceUpdateEnabled (\s a -> s { _eKSNodegroupForceUpdateEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-instancetypes
+eksnInstanceTypes :: Lens' EKSNodegroup (Maybe (ValList Text))
+eksnInstanceTypes = lens _eKSNodegroupInstanceTypes (\s a -> s { _eKSNodegroupInstanceTypes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-labels
+eksnLabels :: Lens' EKSNodegroup (Maybe Object)
+eksnLabels = lens _eKSNodegroupLabels (\s a -> s { _eKSNodegroupLabels = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-noderole
+eksnNodeRole :: Lens' EKSNodegroup (Val Text)
+eksnNodeRole = lens _eKSNodegroupNodeRole (\s a -> s { _eKSNodegroupNodeRole = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-nodegroupname
+eksnNodegroupName :: Lens' EKSNodegroup (Maybe (Val Text))
+eksnNodegroupName = lens _eKSNodegroupNodegroupName (\s a -> s { _eKSNodegroupNodegroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-releaseversion
+eksnReleaseVersion :: Lens' EKSNodegroup (Maybe (Val Text))
+eksnReleaseVersion = lens _eKSNodegroupReleaseVersion (\s a -> s { _eKSNodegroupReleaseVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-remoteaccess
+eksnRemoteAccess :: Lens' EKSNodegroup (Maybe EKSNodegroupRemoteAccess)
+eksnRemoteAccess = lens _eKSNodegroupRemoteAccess (\s a -> s { _eKSNodegroupRemoteAccess = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-scalingconfig
+eksnScalingConfig :: Lens' EKSNodegroup (Maybe EKSNodegroupScalingConfig)
+eksnScalingConfig = lens _eKSNodegroupScalingConfig (\s a -> s { _eKSNodegroupScalingConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-subnets
+eksnSubnets :: Lens' EKSNodegroup (ValList Text)
+eksnSubnets = lens _eKSNodegroupSubnets (\s a -> s { _eKSNodegroupSubnets = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-tags
+eksnTags :: Lens' EKSNodegroup (Maybe Object)
+eksnTags = lens _eKSNodegroupTags (\s a -> s { _eKSNodegroupTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-version
+eksnVersion :: Lens' EKSNodegroup (Maybe (Val Text))
+eksnVersion = lens _eKSNodegroupVersion (\s a -> s { _eKSNodegroupVersion = a })
diff --git a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
--- a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
+++ b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.ElasticsearchDomain where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ElasticsearchDomainCognitoOptions
 import Stratosphere.ResourceProperties.ElasticsearchDomainEBSOptions
 import Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig
 import Stratosphere.ResourceProperties.ElasticsearchDomainEncryptionAtRestOptions
@@ -23,6 +24,7 @@
   ElasticsearchDomain
   { _elasticsearchDomainAccessPolicies :: Maybe Object
   , _elasticsearchDomainAdvancedOptions :: Maybe Object
+  , _elasticsearchDomainCognitoOptions :: Maybe ElasticsearchDomainCognitoOptions
   , _elasticsearchDomainDomainName :: Maybe (Val Text)
   , _elasticsearchDomainEBSOptions :: Maybe ElasticsearchDomainEBSOptions
   , _elasticsearchDomainElasticsearchClusterConfig :: Maybe ElasticsearchDomainElasticsearchClusterConfig
@@ -43,6 +45,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("AccessPolicies",) . toJSON) _elasticsearchDomainAccessPolicies
         , fmap (("AdvancedOptions",) . toJSON) _elasticsearchDomainAdvancedOptions
+        , fmap (("CognitoOptions",) . toJSON) _elasticsearchDomainCognitoOptions
         , fmap (("DomainName",) . toJSON) _elasticsearchDomainDomainName
         , fmap (("EBSOptions",) . toJSON) _elasticsearchDomainEBSOptions
         , fmap (("ElasticsearchClusterConfig",) . toJSON) _elasticsearchDomainElasticsearchClusterConfig
@@ -64,6 +67,7 @@
   ElasticsearchDomain
   { _elasticsearchDomainAccessPolicies = Nothing
   , _elasticsearchDomainAdvancedOptions = Nothing
+  , _elasticsearchDomainCognitoOptions = Nothing
   , _elasticsearchDomainDomainName = Nothing
   , _elasticsearchDomainEBSOptions = Nothing
   , _elasticsearchDomainElasticsearchClusterConfig = Nothing
@@ -83,6 +87,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-advancedoptions
 edAdvancedOptions :: Lens' ElasticsearchDomain (Maybe Object)
 edAdvancedOptions = lens _elasticsearchDomainAdvancedOptions (\s a -> s { _elasticsearchDomainAdvancedOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-cognitooptions
+edCognitoOptions :: Lens' ElasticsearchDomain (Maybe ElasticsearchDomainCognitoOptions)
+edCognitoOptions = lens _elasticsearchDomainCognitoOptions (\s a -> s { _elasticsearchDomainCognitoOptions = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-domainname
 edDomainName :: Lens' ElasticsearchDomain (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs b/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html
+
+module Stratosphere.Resources.EventSchemasDiscoverer where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EventSchemasDiscovererTagsEntry
+
+-- | Full data type definition for EventSchemasDiscoverer. See
+-- 'eventSchemasDiscoverer' for a more convenient constructor.
+data EventSchemasDiscoverer =
+  EventSchemasDiscoverer
+  { _eventSchemasDiscovererDescription :: Maybe (Val Text)
+  , _eventSchemasDiscovererSourceArn :: Val Text
+  , _eventSchemasDiscovererTags :: Maybe [EventSchemasDiscovererTagsEntry]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EventSchemasDiscoverer where
+  toResourceProperties EventSchemasDiscoverer{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EventSchemas::Discoverer"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _eventSchemasDiscovererDescription
+        , (Just . ("SourceArn",) . toJSON) _eventSchemasDiscovererSourceArn
+        , fmap (("Tags",) . toJSON) _eventSchemasDiscovererTags
+        ]
+    }
+
+-- | Constructor for 'EventSchemasDiscoverer' containing required fields as
+-- arguments.
+eventSchemasDiscoverer
+  :: Val Text -- ^ 'esdSourceArn'
+  -> EventSchemasDiscoverer
+eventSchemasDiscoverer sourceArnarg =
+  EventSchemasDiscoverer
+  { _eventSchemasDiscovererDescription = Nothing
+  , _eventSchemasDiscovererSourceArn = sourceArnarg
+  , _eventSchemasDiscovererTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-description
+esdDescription :: Lens' EventSchemasDiscoverer (Maybe (Val Text))
+esdDescription = lens _eventSchemasDiscovererDescription (\s a -> s { _eventSchemasDiscovererDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-sourcearn
+esdSourceArn :: Lens' EventSchemasDiscoverer (Val Text)
+esdSourceArn = lens _eventSchemasDiscovererSourceArn (\s a -> s { _eventSchemasDiscovererSourceArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-tags
+esdTags :: Lens' EventSchemasDiscoverer (Maybe [EventSchemasDiscovererTagsEntry])
+esdTags = lens _eventSchemasDiscovererTags (\s a -> s { _eventSchemasDiscovererTags = a })
diff --git a/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs b/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html
+
+module Stratosphere.Resources.EventSchemasRegistry where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EventSchemasRegistryTagsEntry
+
+-- | Full data type definition for EventSchemasRegistry. See
+-- 'eventSchemasRegistry' for a more convenient constructor.
+data EventSchemasRegistry =
+  EventSchemasRegistry
+  { _eventSchemasRegistryDescription :: Maybe (Val Text)
+  , _eventSchemasRegistryRegistryName :: Maybe (Val Text)
+  , _eventSchemasRegistryTags :: Maybe [EventSchemasRegistryTagsEntry]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EventSchemasRegistry where
+  toResourceProperties EventSchemasRegistry{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EventSchemas::Registry"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _eventSchemasRegistryDescription
+        , fmap (("RegistryName",) . toJSON) _eventSchemasRegistryRegistryName
+        , fmap (("Tags",) . toJSON) _eventSchemasRegistryTags
+        ]
+    }
+
+-- | Constructor for 'EventSchemasRegistry' containing required fields as
+-- arguments.
+eventSchemasRegistry
+  :: EventSchemasRegistry
+eventSchemasRegistry  =
+  EventSchemasRegistry
+  { _eventSchemasRegistryDescription = Nothing
+  , _eventSchemasRegistryRegistryName = Nothing
+  , _eventSchemasRegistryTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-description
+esrDescription :: Lens' EventSchemasRegistry (Maybe (Val Text))
+esrDescription = lens _eventSchemasRegistryDescription (\s a -> s { _eventSchemasRegistryDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-registryname
+esrRegistryName :: Lens' EventSchemasRegistry (Maybe (Val Text))
+esrRegistryName = lens _eventSchemasRegistryRegistryName (\s a -> s { _eventSchemasRegistryRegistryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-tags
+esrTags :: Lens' EventSchemasRegistry (Maybe [EventSchemasRegistryTagsEntry])
+esrTags = lens _eventSchemasRegistryTags (\s a -> s { _eventSchemasRegistryTags = a })
diff --git a/library-gen/Stratosphere/Resources/EventSchemasSchema.hs b/library-gen/Stratosphere/Resources/EventSchemasSchema.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EventSchemasSchema.hs
@@ -0,0 +1,79 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html
+
+module Stratosphere.Resources.EventSchemasSchema where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EventSchemasSchemaTagsEntry
+
+-- | Full data type definition for EventSchemasSchema. See
+-- 'eventSchemasSchema' for a more convenient constructor.
+data EventSchemasSchema =
+  EventSchemasSchema
+  { _eventSchemasSchemaContent :: Val Text
+  , _eventSchemasSchemaDescription :: Maybe (Val Text)
+  , _eventSchemasSchemaRegistryName :: Val Text
+  , _eventSchemasSchemaSchemaName :: Maybe (Val Text)
+  , _eventSchemasSchemaTags :: Maybe [EventSchemasSchemaTagsEntry]
+  , _eventSchemasSchemaType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EventSchemasSchema where
+  toResourceProperties EventSchemasSchema{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EventSchemas::Schema"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Content",) . toJSON) _eventSchemasSchemaContent
+        , fmap (("Description",) . toJSON) _eventSchemasSchemaDescription
+        , (Just . ("RegistryName",) . toJSON) _eventSchemasSchemaRegistryName
+        , fmap (("SchemaName",) . toJSON) _eventSchemasSchemaSchemaName
+        , fmap (("Tags",) . toJSON) _eventSchemasSchemaTags
+        , (Just . ("Type",) . toJSON) _eventSchemasSchemaType
+        ]
+    }
+
+-- | Constructor for 'EventSchemasSchema' containing required fields as
+-- arguments.
+eventSchemasSchema
+  :: Val Text -- ^ 'essContent'
+  -> Val Text -- ^ 'essRegistryName'
+  -> Val Text -- ^ 'essType'
+  -> EventSchemasSchema
+eventSchemasSchema contentarg registryNamearg typearg =
+  EventSchemasSchema
+  { _eventSchemasSchemaContent = contentarg
+  , _eventSchemasSchemaDescription = Nothing
+  , _eventSchemasSchemaRegistryName = registryNamearg
+  , _eventSchemasSchemaSchemaName = Nothing
+  , _eventSchemasSchemaTags = Nothing
+  , _eventSchemasSchemaType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-content
+essContent :: Lens' EventSchemasSchema (Val Text)
+essContent = lens _eventSchemasSchemaContent (\s a -> s { _eventSchemasSchemaContent = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-description
+essDescription :: Lens' EventSchemasSchema (Maybe (Val Text))
+essDescription = lens _eventSchemasSchemaDescription (\s a -> s { _eventSchemasSchemaDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-registryname
+essRegistryName :: Lens' EventSchemasSchema (Val Text)
+essRegistryName = lens _eventSchemasSchemaRegistryName (\s a -> s { _eventSchemasSchemaRegistryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-schemaname
+essSchemaName :: Lens' EventSchemasSchema (Maybe (Val Text))
+essSchemaName = lens _eventSchemasSchemaSchemaName (\s a -> s { _eventSchemasSchemaSchemaName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-tags
+essTags :: Lens' EventSchemasSchema (Maybe [EventSchemasSchemaTagsEntry])
+essTags = lens _eventSchemasSchemaTags (\s a -> s { _eventSchemasSchemaTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-type
+essType :: Lens' EventSchemasSchema (Val Text)
+essType = lens _eventSchemasSchemaType (\s a -> s { _eventSchemasSchemaType = a })
diff --git a/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs b/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html
+
+module Stratosphere.Resources.GameLiftGameSessionQueue where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftGameSessionQueueDestination
+import Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy
+
+-- | Full data type definition for GameLiftGameSessionQueue. See
+-- 'gameLiftGameSessionQueue' for a more convenient constructor.
+data GameLiftGameSessionQueue =
+  GameLiftGameSessionQueue
+  { _gameLiftGameSessionQueueDestinations :: Maybe [GameLiftGameSessionQueueDestination]
+  , _gameLiftGameSessionQueueName :: Val Text
+  , _gameLiftGameSessionQueuePlayerLatencyPolicies :: Maybe [GameLiftGameSessionQueuePlayerLatencyPolicy]
+  , _gameLiftGameSessionQueueTimeoutInSeconds :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GameLiftGameSessionQueue where
+  toResourceProperties GameLiftGameSessionQueue{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GameLift::GameSessionQueue"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Destinations",) . toJSON) _gameLiftGameSessionQueueDestinations
+        , (Just . ("Name",) . toJSON) _gameLiftGameSessionQueueName
+        , fmap (("PlayerLatencyPolicies",) . toJSON) _gameLiftGameSessionQueuePlayerLatencyPolicies
+        , fmap (("TimeoutInSeconds",) . toJSON) _gameLiftGameSessionQueueTimeoutInSeconds
+        ]
+    }
+
+-- | Constructor for 'GameLiftGameSessionQueue' containing required fields as
+-- arguments.
+gameLiftGameSessionQueue
+  :: Val Text -- ^ 'glgsqName'
+  -> GameLiftGameSessionQueue
+gameLiftGameSessionQueue namearg =
+  GameLiftGameSessionQueue
+  { _gameLiftGameSessionQueueDestinations = Nothing
+  , _gameLiftGameSessionQueueName = namearg
+  , _gameLiftGameSessionQueuePlayerLatencyPolicies = Nothing
+  , _gameLiftGameSessionQueueTimeoutInSeconds = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-destinations
+glgsqDestinations :: Lens' GameLiftGameSessionQueue (Maybe [GameLiftGameSessionQueueDestination])
+glgsqDestinations = lens _gameLiftGameSessionQueueDestinations (\s a -> s { _gameLiftGameSessionQueueDestinations = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-name
+glgsqName :: Lens' GameLiftGameSessionQueue (Val Text)
+glgsqName = lens _gameLiftGameSessionQueueName (\s a -> s { _gameLiftGameSessionQueueName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-playerlatencypolicies
+glgsqPlayerLatencyPolicies :: Lens' GameLiftGameSessionQueue (Maybe [GameLiftGameSessionQueuePlayerLatencyPolicy])
+glgsqPlayerLatencyPolicies = lens _gameLiftGameSessionQueuePlayerLatencyPolicies (\s a -> s { _gameLiftGameSessionQueuePlayerLatencyPolicies = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-timeoutinseconds
+glgsqTimeoutInSeconds :: Lens' GameLiftGameSessionQueue (Maybe (Val Integer))
+glgsqTimeoutInSeconds = lens _gameLiftGameSessionQueueTimeoutInSeconds (\s a -> s { _gameLiftGameSessionQueueTimeoutInSeconds = a })
diff --git a/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs b/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs
@@ -0,0 +1,130 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html
+
+module Stratosphere.Resources.GameLiftMatchmakingConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty
+
+-- | Full data type definition for GameLiftMatchmakingConfiguration. See
+-- 'gameLiftMatchmakingConfiguration' for a more convenient constructor.
+data GameLiftMatchmakingConfiguration =
+  GameLiftMatchmakingConfiguration
+  { _gameLiftMatchmakingConfigurationAcceptanceRequired :: Val Bool
+  , _gameLiftMatchmakingConfigurationAcceptanceTimeoutSeconds :: Maybe (Val Integer)
+  , _gameLiftMatchmakingConfigurationAdditionalPlayerCount :: Maybe (Val Integer)
+  , _gameLiftMatchmakingConfigurationBackfillMode :: Maybe (Val Text)
+  , _gameLiftMatchmakingConfigurationCustomEventData :: Maybe (Val Text)
+  , _gameLiftMatchmakingConfigurationDescription :: Maybe (Val Text)
+  , _gameLiftMatchmakingConfigurationGameProperties :: Maybe [GameLiftMatchmakingConfigurationGameProperty]
+  , _gameLiftMatchmakingConfigurationGameSessionData :: Maybe (Val Text)
+  , _gameLiftMatchmakingConfigurationGameSessionQueueArns :: ValList Text
+  , _gameLiftMatchmakingConfigurationName :: Val Text
+  , _gameLiftMatchmakingConfigurationNotificationTarget :: Maybe (Val Text)
+  , _gameLiftMatchmakingConfigurationRequestTimeoutSeconds :: Val Integer
+  , _gameLiftMatchmakingConfigurationRuleSetName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GameLiftMatchmakingConfiguration where
+  toResourceProperties GameLiftMatchmakingConfiguration{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GameLift::MatchmakingConfiguration"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("AcceptanceRequired",) . toJSON) _gameLiftMatchmakingConfigurationAcceptanceRequired
+        , fmap (("AcceptanceTimeoutSeconds",) . toJSON) _gameLiftMatchmakingConfigurationAcceptanceTimeoutSeconds
+        , fmap (("AdditionalPlayerCount",) . toJSON) _gameLiftMatchmakingConfigurationAdditionalPlayerCount
+        , fmap (("BackfillMode",) . toJSON) _gameLiftMatchmakingConfigurationBackfillMode
+        , fmap (("CustomEventData",) . toJSON) _gameLiftMatchmakingConfigurationCustomEventData
+        , fmap (("Description",) . toJSON) _gameLiftMatchmakingConfigurationDescription
+        , fmap (("GameProperties",) . toJSON) _gameLiftMatchmakingConfigurationGameProperties
+        , fmap (("GameSessionData",) . toJSON) _gameLiftMatchmakingConfigurationGameSessionData
+        , (Just . ("GameSessionQueueArns",) . toJSON) _gameLiftMatchmakingConfigurationGameSessionQueueArns
+        , (Just . ("Name",) . toJSON) _gameLiftMatchmakingConfigurationName
+        , fmap (("NotificationTarget",) . toJSON) _gameLiftMatchmakingConfigurationNotificationTarget
+        , (Just . ("RequestTimeoutSeconds",) . toJSON) _gameLiftMatchmakingConfigurationRequestTimeoutSeconds
+        , (Just . ("RuleSetName",) . toJSON) _gameLiftMatchmakingConfigurationRuleSetName
+        ]
+    }
+
+-- | Constructor for 'GameLiftMatchmakingConfiguration' containing required
+-- fields as arguments.
+gameLiftMatchmakingConfiguration
+  :: Val Bool -- ^ 'glmcAcceptanceRequired'
+  -> ValList Text -- ^ 'glmcGameSessionQueueArns'
+  -> Val Text -- ^ 'glmcName'
+  -> Val Integer -- ^ 'glmcRequestTimeoutSeconds'
+  -> Val Text -- ^ 'glmcRuleSetName'
+  -> GameLiftMatchmakingConfiguration
+gameLiftMatchmakingConfiguration acceptanceRequiredarg gameSessionQueueArnsarg namearg requestTimeoutSecondsarg ruleSetNamearg =
+  GameLiftMatchmakingConfiguration
+  { _gameLiftMatchmakingConfigurationAcceptanceRequired = acceptanceRequiredarg
+  , _gameLiftMatchmakingConfigurationAcceptanceTimeoutSeconds = Nothing
+  , _gameLiftMatchmakingConfigurationAdditionalPlayerCount = Nothing
+  , _gameLiftMatchmakingConfigurationBackfillMode = Nothing
+  , _gameLiftMatchmakingConfigurationCustomEventData = Nothing
+  , _gameLiftMatchmakingConfigurationDescription = Nothing
+  , _gameLiftMatchmakingConfigurationGameProperties = Nothing
+  , _gameLiftMatchmakingConfigurationGameSessionData = Nothing
+  , _gameLiftMatchmakingConfigurationGameSessionQueueArns = gameSessionQueueArnsarg
+  , _gameLiftMatchmakingConfigurationName = namearg
+  , _gameLiftMatchmakingConfigurationNotificationTarget = Nothing
+  , _gameLiftMatchmakingConfigurationRequestTimeoutSeconds = requestTimeoutSecondsarg
+  , _gameLiftMatchmakingConfigurationRuleSetName = ruleSetNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-acceptancerequired
+glmcAcceptanceRequired :: Lens' GameLiftMatchmakingConfiguration (Val Bool)
+glmcAcceptanceRequired = lens _gameLiftMatchmakingConfigurationAcceptanceRequired (\s a -> s { _gameLiftMatchmakingConfigurationAcceptanceRequired = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-acceptancetimeoutseconds
+glmcAcceptanceTimeoutSeconds :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Integer))
+glmcAcceptanceTimeoutSeconds = lens _gameLiftMatchmakingConfigurationAcceptanceTimeoutSeconds (\s a -> s { _gameLiftMatchmakingConfigurationAcceptanceTimeoutSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-additionalplayercount
+glmcAdditionalPlayerCount :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Integer))
+glmcAdditionalPlayerCount = lens _gameLiftMatchmakingConfigurationAdditionalPlayerCount (\s a -> s { _gameLiftMatchmakingConfigurationAdditionalPlayerCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-backfillmode
+glmcBackfillMode :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Text))
+glmcBackfillMode = lens _gameLiftMatchmakingConfigurationBackfillMode (\s a -> s { _gameLiftMatchmakingConfigurationBackfillMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-customeventdata
+glmcCustomEventData :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Text))
+glmcCustomEventData = lens _gameLiftMatchmakingConfigurationCustomEventData (\s a -> s { _gameLiftMatchmakingConfigurationCustomEventData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-description
+glmcDescription :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Text))
+glmcDescription = lens _gameLiftMatchmakingConfigurationDescription (\s a -> s { _gameLiftMatchmakingConfigurationDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gameproperties
+glmcGameProperties :: Lens' GameLiftMatchmakingConfiguration (Maybe [GameLiftMatchmakingConfigurationGameProperty])
+glmcGameProperties = lens _gameLiftMatchmakingConfigurationGameProperties (\s a -> s { _gameLiftMatchmakingConfigurationGameProperties = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessiondata
+glmcGameSessionData :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Text))
+glmcGameSessionData = lens _gameLiftMatchmakingConfigurationGameSessionData (\s a -> s { _gameLiftMatchmakingConfigurationGameSessionData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessionqueuearns
+glmcGameSessionQueueArns :: Lens' GameLiftMatchmakingConfiguration (ValList Text)
+glmcGameSessionQueueArns = lens _gameLiftMatchmakingConfigurationGameSessionQueueArns (\s a -> s { _gameLiftMatchmakingConfigurationGameSessionQueueArns = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-name
+glmcName :: Lens' GameLiftMatchmakingConfiguration (Val Text)
+glmcName = lens _gameLiftMatchmakingConfigurationName (\s a -> s { _gameLiftMatchmakingConfigurationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-notificationtarget
+glmcNotificationTarget :: Lens' GameLiftMatchmakingConfiguration (Maybe (Val Text))
+glmcNotificationTarget = lens _gameLiftMatchmakingConfigurationNotificationTarget (\s a -> s { _gameLiftMatchmakingConfigurationNotificationTarget = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-requesttimeoutseconds
+glmcRequestTimeoutSeconds :: Lens' GameLiftMatchmakingConfiguration (Val Integer)
+glmcRequestTimeoutSeconds = lens _gameLiftMatchmakingConfigurationRequestTimeoutSeconds (\s a -> s { _gameLiftMatchmakingConfigurationRequestTimeoutSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-rulesetname
+glmcRuleSetName :: Lens' GameLiftMatchmakingConfiguration (Val Text)
+glmcRuleSetName = lens _gameLiftMatchmakingConfigurationRuleSetName (\s a -> s { _gameLiftMatchmakingConfigurationRuleSetName = a })
diff --git a/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs b/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html
+
+module Stratosphere.Resources.GameLiftMatchmakingRuleSet where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftMatchmakingRuleSet. See
+-- 'gameLiftMatchmakingRuleSet' for a more convenient constructor.
+data GameLiftMatchmakingRuleSet =
+  GameLiftMatchmakingRuleSet
+  { _gameLiftMatchmakingRuleSetName :: Val Text
+  , _gameLiftMatchmakingRuleSetRuleSetBody :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GameLiftMatchmakingRuleSet where
+  toResourceProperties GameLiftMatchmakingRuleSet{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GameLift::MatchmakingRuleSet"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Name",) . toJSON) _gameLiftMatchmakingRuleSetName
+        , (Just . ("RuleSetBody",) . toJSON) _gameLiftMatchmakingRuleSetRuleSetBody
+        ]
+    }
+
+-- | Constructor for 'GameLiftMatchmakingRuleSet' containing required fields
+-- as arguments.
+gameLiftMatchmakingRuleSet
+  :: Val Text -- ^ 'glmrsName'
+  -> Val Text -- ^ 'glmrsRuleSetBody'
+  -> GameLiftMatchmakingRuleSet
+gameLiftMatchmakingRuleSet namearg ruleSetBodyarg =
+  GameLiftMatchmakingRuleSet
+  { _gameLiftMatchmakingRuleSetName = namearg
+  , _gameLiftMatchmakingRuleSetRuleSetBody = ruleSetBodyarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html#cfn-gamelift-matchmakingruleset-name
+glmrsName :: Lens' GameLiftMatchmakingRuleSet (Val Text)
+glmrsName = lens _gameLiftMatchmakingRuleSetName (\s a -> s { _gameLiftMatchmakingRuleSetName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html#cfn-gamelift-matchmakingruleset-rulesetbody
+glmrsRuleSetBody :: Lens' GameLiftMatchmakingRuleSet (Val Text)
+glmrsRuleSetBody = lens _gameLiftMatchmakingRuleSetRuleSetBody (\s a -> s { _gameLiftMatchmakingRuleSetRuleSetBody = a })
diff --git a/library-gen/Stratosphere/Resources/GameLiftScript.hs b/library-gen/Stratosphere/Resources/GameLiftScript.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GameLiftScript.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html
+
+module Stratosphere.Resources.GameLiftScript where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftScriptS3Location
+
+-- | Full data type definition for GameLiftScript. See 'gameLiftScript' for a
+-- more convenient constructor.
+data GameLiftScript =
+  GameLiftScript
+  { _gameLiftScriptName :: Maybe (Val Text)
+  , _gameLiftScriptStorageLocation :: GameLiftScriptS3Location
+  , _gameLiftScriptVersion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GameLiftScript where
+  toResourceProperties GameLiftScript{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GameLift::Script"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Name",) . toJSON) _gameLiftScriptName
+        , (Just . ("StorageLocation",) . toJSON) _gameLiftScriptStorageLocation
+        , fmap (("Version",) . toJSON) _gameLiftScriptVersion
+        ]
+    }
+
+-- | Constructor for 'GameLiftScript' containing required fields as arguments.
+gameLiftScript
+  :: GameLiftScriptS3Location -- ^ 'glsStorageLocation'
+  -> GameLiftScript
+gameLiftScript storageLocationarg =
+  GameLiftScript
+  { _gameLiftScriptName = Nothing
+  , _gameLiftScriptStorageLocation = storageLocationarg
+  , _gameLiftScriptVersion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-name
+glsName :: Lens' GameLiftScript (Maybe (Val Text))
+glsName = lens _gameLiftScriptName (\s a -> s { _gameLiftScriptName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-storagelocation
+glsStorageLocation :: Lens' GameLiftScript GameLiftScriptS3Location
+glsStorageLocation = lens _gameLiftScriptStorageLocation (\s a -> s { _gameLiftScriptStorageLocation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-version
+glsVersion :: Lens' GameLiftScript (Maybe (Val Text))
+glsVersion = lens _gameLiftScriptVersion (\s a -> s { _gameLiftScriptVersion = a })
diff --git a/library-gen/Stratosphere/Resources/GlueMLTransform.hs b/library-gen/Stratosphere/Resources/GlueMLTransform.hs
--- a/library-gen/Stratosphere/Resources/GlueMLTransform.hs
+++ b/library-gen/Stratosphere/Resources/GlueMLTransform.hs
@@ -16,6 +16,7 @@
 data GlueMLTransform =
   GlueMLTransform
   { _glueMLTransformDescription :: Maybe (Val Text)
+  , _glueMLTransformGlueVersion :: Maybe (Val Text)
   , _glueMLTransformInputRecordTables :: GlueMLTransformInputRecordTables
   , _glueMLTransformMaxCapacity :: Maybe (Val Double)
   , _glueMLTransformMaxRetries :: Maybe (Val Integer)
@@ -34,6 +35,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _glueMLTransformDescription
+        , fmap (("GlueVersion",) . toJSON) _glueMLTransformGlueVersion
         , (Just . ("InputRecordTables",) . toJSON) _glueMLTransformInputRecordTables
         , fmap (("MaxCapacity",) . toJSON) _glueMLTransformMaxCapacity
         , fmap (("MaxRetries",) . toJSON) _glueMLTransformMaxRetries
@@ -56,6 +58,7 @@
 glueMLTransform inputRecordTablesarg rolearg transformParametersarg =
   GlueMLTransform
   { _glueMLTransformDescription = Nothing
+  , _glueMLTransformGlueVersion = Nothing
   , _glueMLTransformInputRecordTables = inputRecordTablesarg
   , _glueMLTransformMaxCapacity = Nothing
   , _glueMLTransformMaxRetries = Nothing
@@ -70,6 +73,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-description
 gmltDescription :: Lens' GlueMLTransform (Maybe (Val Text))
 gmltDescription = lens _glueMLTransformDescription (\s a -> s { _glueMLTransformDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-glueversion
+gmltGlueVersion :: Lens' GlueMLTransform (Maybe (Val Text))
+gmltGlueVersion = lens _glueMLTransformGlueVersion (\s a -> s { _glueMLTransformGlueVersion = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-inputrecordtables
 gmltInputRecordTables :: Lens' GlueMLTransform GlueMLTransformInputRecordTables
diff --git a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
@@ -18,7 +18,7 @@
   , _guardDutyFilterDescription :: Val Text
   , _guardDutyFilterDetectorId :: Val Text
   , _guardDutyFilterFindingCriteria :: GuardDutyFilterFindingCriteria
-  , _guardDutyFilterName :: Maybe (Val Text)
+  , _guardDutyFilterName :: Val Text
   , _guardDutyFilterRank :: Val Integer
   } deriving (Show, Eq)
 
@@ -32,7 +32,7 @@
         , (Just . ("Description",) . toJSON) _guardDutyFilterDescription
         , (Just . ("DetectorId",) . toJSON) _guardDutyFilterDetectorId
         , (Just . ("FindingCriteria",) . toJSON) _guardDutyFilterFindingCriteria
-        , fmap (("Name",) . toJSON) _guardDutyFilterName
+        , (Just . ("Name",) . toJSON) _guardDutyFilterName
         , (Just . ("Rank",) . toJSON) _guardDutyFilterRank
         ]
     }
@@ -44,15 +44,16 @@
   -> Val Text -- ^ 'gdfDescription'
   -> Val Text -- ^ 'gdfDetectorId'
   -> GuardDutyFilterFindingCriteria -- ^ 'gdfFindingCriteria'
+  -> Val Text -- ^ 'gdfName'
   -> Val Integer -- ^ 'gdfRank'
   -> GuardDutyFilter
-guardDutyFilter actionarg descriptionarg detectorIdarg findingCriteriaarg rankarg =
+guardDutyFilter actionarg descriptionarg detectorIdarg findingCriteriaarg namearg rankarg =
   GuardDutyFilter
   { _guardDutyFilterAction = actionarg
   , _guardDutyFilterDescription = descriptionarg
   , _guardDutyFilterDetectorId = detectorIdarg
   , _guardDutyFilterFindingCriteria = findingCriteriaarg
-  , _guardDutyFilterName = Nothing
+  , _guardDutyFilterName = namearg
   , _guardDutyFilterRank = rankarg
   }
 
@@ -73,7 +74,7 @@
 gdfFindingCriteria = lens _guardDutyFilterFindingCriteria (\s a -> s { _guardDutyFilterFindingCriteria = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-name
-gdfName :: Lens' GuardDutyFilter (Maybe (Val Text))
+gdfName :: Lens' GuardDutyFilter (Val Text)
 gdfName = lens _guardDutyFilterName (\s a -> s { _guardDutyFilterName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-rank
diff --git a/library-gen/Stratosphere/Resources/IAMUser.hs b/library-gen/Stratosphere/Resources/IAMUser.hs
--- a/library-gen/Stratosphere/Resources/IAMUser.hs
+++ b/library-gen/Stratosphere/Resources/IAMUser.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.IAMUserLoginProfile
 import Stratosphere.ResourceProperties.IAMUserPolicy
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for IAMUser. See 'iamUser' for a more
 -- convenient constructor.
@@ -21,6 +22,7 @@
   , _iAMUserPath :: Maybe (Val Text)
   , _iAMUserPermissionsBoundary :: Maybe (Val Text)
   , _iAMUserPolicies :: Maybe [IAMUserPolicy]
+  , _iAMUserTags :: Maybe [Tag]
   , _iAMUserUserName :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -36,6 +38,7 @@
         , fmap (("Path",) . toJSON) _iAMUserPath
         , fmap (("PermissionsBoundary",) . toJSON) _iAMUserPermissionsBoundary
         , fmap (("Policies",) . toJSON) _iAMUserPolicies
+        , fmap (("Tags",) . toJSON) _iAMUserTags
         , fmap (("UserName",) . toJSON) _iAMUserUserName
         ]
     }
@@ -51,6 +54,7 @@
   , _iAMUserPath = Nothing
   , _iAMUserPermissionsBoundary = Nothing
   , _iAMUserPolicies = Nothing
+  , _iAMUserTags = Nothing
   , _iAMUserUserName = Nothing
   }
 
@@ -77,6 +81,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-policies
 iamuPolicies :: Lens' IAMUser (Maybe [IAMUserPolicy])
 iamuPolicies = lens _iAMUserPolicies (\s a -> s { _iAMUserPolicies = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-tags
+iamuTags :: Lens' IAMUser (Maybe [Tag])
+iamuTags = lens _iAMUserTags (\s a -> s { _iAMUserTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-username
 iamuUserName :: Lens' IAMUser (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/LambdaAlias.hs b/library-gen/Stratosphere/Resources/LambdaAlias.hs
--- a/library-gen/Stratosphere/Resources/LambdaAlias.hs
+++ b/library-gen/Stratosphere/Resources/LambdaAlias.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.LambdaAlias where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LambdaAliasProvisionedConcurrencyConfiguration
 import Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration
 
 -- | Full data type definition for LambdaAlias. See 'lambdaAlias' for a more
@@ -18,6 +19,7 @@
   , _lambdaAliasFunctionName :: Val Text
   , _lambdaAliasFunctionVersion :: Val Text
   , _lambdaAliasName :: Val Text
+  , _lambdaAliasProvisionedConcurrencyConfig :: Maybe LambdaAliasProvisionedConcurrencyConfiguration
   , _lambdaAliasRoutingConfig :: Maybe LambdaAliasAliasRoutingConfiguration
   } deriving (Show, Eq)
 
@@ -31,6 +33,7 @@
         , (Just . ("FunctionName",) . toJSON) _lambdaAliasFunctionName
         , (Just . ("FunctionVersion",) . toJSON) _lambdaAliasFunctionVersion
         , (Just . ("Name",) . toJSON) _lambdaAliasName
+        , fmap (("ProvisionedConcurrencyConfig",) . toJSON) _lambdaAliasProvisionedConcurrencyConfig
         , fmap (("RoutingConfig",) . toJSON) _lambdaAliasRoutingConfig
         ]
     }
@@ -47,6 +50,7 @@
   , _lambdaAliasFunctionName = functionNamearg
   , _lambdaAliasFunctionVersion = functionVersionarg
   , _lambdaAliasName = namearg
+  , _lambdaAliasProvisionedConcurrencyConfig = Nothing
   , _lambdaAliasRoutingConfig = Nothing
   }
 
@@ -65,6 +69,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-name
 laName :: Lens' LambdaAlias (Val Text)
 laName = lens _lambdaAliasName (\s a -> s { _lambdaAliasName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig
+laProvisionedConcurrencyConfig :: Lens' LambdaAlias (Maybe LambdaAliasProvisionedConcurrencyConfiguration)
+laProvisionedConcurrencyConfig = lens _lambdaAliasProvisionedConcurrencyConfig (\s a -> s { _lambdaAliasProvisionedConcurrencyConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-routingconfig
 laRoutingConfig :: Lens' LambdaAlias (Maybe LambdaAliasAliasRoutingConfiguration)
diff --git a/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs b/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html
+
+module Stratosphere.Resources.LambdaEventInvokeConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LambdaEventInvokeConfigDestinationConfig
+
+-- | Full data type definition for LambdaEventInvokeConfig. See
+-- 'lambdaEventInvokeConfig' for a more convenient constructor.
+data LambdaEventInvokeConfig =
+  LambdaEventInvokeConfig
+  { _lambdaEventInvokeConfigDestinationConfig :: Maybe LambdaEventInvokeConfigDestinationConfig
+  , _lambdaEventInvokeConfigFunctionName :: Val Text
+  , _lambdaEventInvokeConfigMaximumEventAgeInSeconds :: Maybe (Val Integer)
+  , _lambdaEventInvokeConfigMaximumRetryAttempts :: Maybe (Val Integer)
+  , _lambdaEventInvokeConfigQualifier :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties LambdaEventInvokeConfig where
+  toResourceProperties LambdaEventInvokeConfig{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Lambda::EventInvokeConfig"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DestinationConfig",) . toJSON) _lambdaEventInvokeConfigDestinationConfig
+        , (Just . ("FunctionName",) . toJSON) _lambdaEventInvokeConfigFunctionName
+        , fmap (("MaximumEventAgeInSeconds",) . toJSON) _lambdaEventInvokeConfigMaximumEventAgeInSeconds
+        , fmap (("MaximumRetryAttempts",) . toJSON) _lambdaEventInvokeConfigMaximumRetryAttempts
+        , (Just . ("Qualifier",) . toJSON) _lambdaEventInvokeConfigQualifier
+        ]
+    }
+
+-- | Constructor for 'LambdaEventInvokeConfig' containing required fields as
+-- arguments.
+lambdaEventInvokeConfig
+  :: Val Text -- ^ 'leicFunctionName'
+  -> Val Text -- ^ 'leicQualifier'
+  -> LambdaEventInvokeConfig
+lambdaEventInvokeConfig functionNamearg qualifierarg =
+  LambdaEventInvokeConfig
+  { _lambdaEventInvokeConfigDestinationConfig = Nothing
+  , _lambdaEventInvokeConfigFunctionName = functionNamearg
+  , _lambdaEventInvokeConfigMaximumEventAgeInSeconds = Nothing
+  , _lambdaEventInvokeConfigMaximumRetryAttempts = Nothing
+  , _lambdaEventInvokeConfigQualifier = qualifierarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig
+leicDestinationConfig :: Lens' LambdaEventInvokeConfig (Maybe LambdaEventInvokeConfigDestinationConfig)
+leicDestinationConfig = lens _lambdaEventInvokeConfigDestinationConfig (\s a -> s { _lambdaEventInvokeConfigDestinationConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-functionname
+leicFunctionName :: Lens' LambdaEventInvokeConfig (Val Text)
+leicFunctionName = lens _lambdaEventInvokeConfigFunctionName (\s a -> s { _lambdaEventInvokeConfigFunctionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumeventageinseconds
+leicMaximumEventAgeInSeconds :: Lens' LambdaEventInvokeConfig (Maybe (Val Integer))
+leicMaximumEventAgeInSeconds = lens _lambdaEventInvokeConfigMaximumEventAgeInSeconds (\s a -> s { _lambdaEventInvokeConfigMaximumEventAgeInSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumretryattempts
+leicMaximumRetryAttempts :: Lens' LambdaEventInvokeConfig (Maybe (Val Integer))
+leicMaximumRetryAttempts = lens _lambdaEventInvokeConfigMaximumRetryAttempts (\s a -> s { _lambdaEventInvokeConfigMaximumRetryAttempts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-qualifier
+leicQualifier :: Lens' LambdaEventInvokeConfig (Val Text)
+leicQualifier = lens _lambdaEventInvokeConfigQualifier (\s a -> s { _lambdaEventInvokeConfigQualifier = a })
diff --git a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
--- a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
+++ b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
@@ -8,17 +8,22 @@
 module Stratosphere.Resources.LambdaEventSourceMapping where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.LambdaEventSourceMappingDestinationConfig
 
 -- | Full data type definition for LambdaEventSourceMapping. See
 -- 'lambdaEventSourceMapping' for a more convenient constructor.
 data LambdaEventSourceMapping =
   LambdaEventSourceMapping
   { _lambdaEventSourceMappingBatchSize :: Maybe (Val Integer)
+  , _lambdaEventSourceMappingBisectBatchOnFunctionError :: Maybe (Val Bool)
+  , _lambdaEventSourceMappingDestinationConfig :: Maybe LambdaEventSourceMappingDestinationConfig
   , _lambdaEventSourceMappingEnabled :: Maybe (Val Bool)
   , _lambdaEventSourceMappingEventSourceArn :: Val Text
   , _lambdaEventSourceMappingFunctionName :: Val Text
   , _lambdaEventSourceMappingMaximumBatchingWindowInSeconds :: Maybe (Val Integer)
+  , _lambdaEventSourceMappingMaximumRecordAgeInSeconds :: Maybe (Val Integer)
+  , _lambdaEventSourceMappingMaximumRetryAttempts :: Maybe (Val Integer)
+  , _lambdaEventSourceMappingParallelizationFactor :: Maybe (Val Integer)
   , _lambdaEventSourceMappingStartingPosition :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -29,10 +34,15 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("BatchSize",) . toJSON) _lambdaEventSourceMappingBatchSize
+        , fmap (("BisectBatchOnFunctionError",) . toJSON) _lambdaEventSourceMappingBisectBatchOnFunctionError
+        , fmap (("DestinationConfig",) . toJSON) _lambdaEventSourceMappingDestinationConfig
         , fmap (("Enabled",) . toJSON) _lambdaEventSourceMappingEnabled
         , (Just . ("EventSourceArn",) . toJSON) _lambdaEventSourceMappingEventSourceArn
         , (Just . ("FunctionName",) . toJSON) _lambdaEventSourceMappingFunctionName
         , fmap (("MaximumBatchingWindowInSeconds",) . toJSON) _lambdaEventSourceMappingMaximumBatchingWindowInSeconds
+        , fmap (("MaximumRecordAgeInSeconds",) . toJSON) _lambdaEventSourceMappingMaximumRecordAgeInSeconds
+        , fmap (("MaximumRetryAttempts",) . toJSON) _lambdaEventSourceMappingMaximumRetryAttempts
+        , fmap (("ParallelizationFactor",) . toJSON) _lambdaEventSourceMappingParallelizationFactor
         , fmap (("StartingPosition",) . toJSON) _lambdaEventSourceMappingStartingPosition
         ]
     }
@@ -46,10 +56,15 @@
 lambdaEventSourceMapping eventSourceArnarg functionNamearg =
   LambdaEventSourceMapping
   { _lambdaEventSourceMappingBatchSize = Nothing
+  , _lambdaEventSourceMappingBisectBatchOnFunctionError = Nothing
+  , _lambdaEventSourceMappingDestinationConfig = Nothing
   , _lambdaEventSourceMappingEnabled = Nothing
   , _lambdaEventSourceMappingEventSourceArn = eventSourceArnarg
   , _lambdaEventSourceMappingFunctionName = functionNamearg
   , _lambdaEventSourceMappingMaximumBatchingWindowInSeconds = Nothing
+  , _lambdaEventSourceMappingMaximumRecordAgeInSeconds = Nothing
+  , _lambdaEventSourceMappingMaximumRetryAttempts = Nothing
+  , _lambdaEventSourceMappingParallelizationFactor = Nothing
   , _lambdaEventSourceMappingStartingPosition = Nothing
   }
 
@@ -57,6 +72,14 @@
 lesmBatchSize :: Lens' LambdaEventSourceMapping (Maybe (Val Integer))
 lesmBatchSize = lens _lambdaEventSourceMappingBatchSize (\s a -> s { _lambdaEventSourceMappingBatchSize = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror
+lesmBisectBatchOnFunctionError :: Lens' LambdaEventSourceMapping (Maybe (Val Bool))
+lesmBisectBatchOnFunctionError = lens _lambdaEventSourceMappingBisectBatchOnFunctionError (\s a -> s { _lambdaEventSourceMappingBisectBatchOnFunctionError = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig
+lesmDestinationConfig :: Lens' LambdaEventSourceMapping (Maybe LambdaEventSourceMappingDestinationConfig)
+lesmDestinationConfig = lens _lambdaEventSourceMappingDestinationConfig (\s a -> s { _lambdaEventSourceMappingDestinationConfig = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled
 lesmEnabled :: Lens' LambdaEventSourceMapping (Maybe (Val Bool))
 lesmEnabled = lens _lambdaEventSourceMappingEnabled (\s a -> s { _lambdaEventSourceMappingEnabled = a })
@@ -72,6 +95,18 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds
 lesmMaximumBatchingWindowInSeconds :: Lens' LambdaEventSourceMapping (Maybe (Val Integer))
 lesmMaximumBatchingWindowInSeconds = lens _lambdaEventSourceMappingMaximumBatchingWindowInSeconds (\s a -> s { _lambdaEventSourceMappingMaximumBatchingWindowInSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds
+lesmMaximumRecordAgeInSeconds :: Lens' LambdaEventSourceMapping (Maybe (Val Integer))
+lesmMaximumRecordAgeInSeconds = lens _lambdaEventSourceMappingMaximumRecordAgeInSeconds (\s a -> s { _lambdaEventSourceMappingMaximumRecordAgeInSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts
+lesmMaximumRetryAttempts :: Lens' LambdaEventSourceMapping (Maybe (Val Integer))
+lesmMaximumRetryAttempts = lens _lambdaEventSourceMappingMaximumRetryAttempts (\s a -> s { _lambdaEventSourceMappingMaximumRetryAttempts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor
+lesmParallelizationFactor :: Lens' LambdaEventSourceMapping (Maybe (Val Integer))
+lesmParallelizationFactor = lens _lambdaEventSourceMappingParallelizationFactor (\s a -> s { _lambdaEventSourceMappingParallelizationFactor = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition
 lesmStartingPosition :: Lens' LambdaEventSourceMapping (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/LambdaVersion.hs b/library-gen/Stratosphere/Resources/LambdaVersion.hs
--- a/library-gen/Stratosphere/Resources/LambdaVersion.hs
+++ b/library-gen/Stratosphere/Resources/LambdaVersion.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.LambdaVersion where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.LambdaVersionProvisionedConcurrencyConfiguration
 
 -- | Full data type definition for LambdaVersion. See 'lambdaVersion' for a
 -- more convenient constructor.
@@ -17,6 +17,7 @@
   { _lambdaVersionCodeSha256 :: Maybe (Val Text)
   , _lambdaVersionDescription :: Maybe (Val Text)
   , _lambdaVersionFunctionName :: Val Text
+  , _lambdaVersionProvisionedConcurrencyConfig :: Maybe LambdaVersionProvisionedConcurrencyConfiguration
   } deriving (Show, Eq)
 
 instance ToResourceProperties LambdaVersion where
@@ -28,6 +29,7 @@
         [ fmap (("CodeSha256",) . toJSON) _lambdaVersionCodeSha256
         , fmap (("Description",) . toJSON) _lambdaVersionDescription
         , (Just . ("FunctionName",) . toJSON) _lambdaVersionFunctionName
+        , fmap (("ProvisionedConcurrencyConfig",) . toJSON) _lambdaVersionProvisionedConcurrencyConfig
         ]
     }
 
@@ -40,6 +42,7 @@
   { _lambdaVersionCodeSha256 = Nothing
   , _lambdaVersionDescription = Nothing
   , _lambdaVersionFunctionName = functionNamearg
+  , _lambdaVersionProvisionedConcurrencyConfig = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-codesha256
@@ -53,3 +56,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-functionname
 lvFunctionName :: Lens' LambdaVersion (Val Text)
 lvFunctionName = lens _lambdaVersionFunctionName (\s a -> s { _lambdaVersionFunctionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-provisionedconcurrencyconfig
+lvProvisionedConcurrencyConfig :: Lens' LambdaVersion (Maybe LambdaVersionProvisionedConcurrencyConfiguration)
+lvProvisionedConcurrencyConfig = lens _lambdaVersionProvisionedConcurrencyConfig (\s a -> s { _lambdaVersionProvisionedConcurrencyConfig = a })
diff --git a/library-gen/Stratosphere/Resources/MSKCluster.hs b/library-gen/Stratosphere/Resources/MSKCluster.hs
--- a/library-gen/Stratosphere/Resources/MSKCluster.hs
+++ b/library-gen/Stratosphere/Resources/MSKCluster.hs
@@ -12,6 +12,7 @@
 import Stratosphere.ResourceProperties.MSKClusterClientAuthentication
 import Stratosphere.ResourceProperties.MSKClusterConfigurationInfo
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInfo
+import Stratosphere.ResourceProperties.MSKClusterOpenMonitoring
 
 -- | Full data type definition for MSKCluster. See 'mskCluster' for a more
 -- convenient constructor.
@@ -25,6 +26,7 @@
   , _mSKClusterEnhancedMonitoring :: Maybe (Val Text)
   , _mSKClusterKafkaVersion :: Val Text
   , _mSKClusterNumberOfBrokerNodes :: Val Integer
+  , _mSKClusterOpenMonitoring :: Maybe MSKClusterOpenMonitoring
   , _mSKClusterTags :: Maybe Object
   } deriving (Show, Eq)
 
@@ -42,6 +44,7 @@
         , fmap (("EnhancedMonitoring",) . toJSON) _mSKClusterEnhancedMonitoring
         , (Just . ("KafkaVersion",) . toJSON) _mSKClusterKafkaVersion
         , (Just . ("NumberOfBrokerNodes",) . toJSON) _mSKClusterNumberOfBrokerNodes
+        , fmap (("OpenMonitoring",) . toJSON) _mSKClusterOpenMonitoring
         , fmap (("Tags",) . toJSON) _mSKClusterTags
         ]
     }
@@ -63,6 +66,7 @@
   , _mSKClusterEnhancedMonitoring = Nothing
   , _mSKClusterKafkaVersion = kafkaVersionarg
   , _mSKClusterNumberOfBrokerNodes = numberOfBrokerNodesarg
+  , _mSKClusterOpenMonitoring = Nothing
   , _mSKClusterTags = Nothing
   }
 
@@ -97,6 +101,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes
 mskcNumberOfBrokerNodes :: Lens' MSKCluster (Val Integer)
 mskcNumberOfBrokerNodes = lens _mSKClusterNumberOfBrokerNodes (\s a -> s { _mSKClusterNumberOfBrokerNodes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-openmonitoring
+mskcOpenMonitoring :: Lens' MSKCluster (Maybe MSKClusterOpenMonitoring)
+mskcOpenMonitoring = lens _mSKClusterOpenMonitoring (\s a -> s { _mSKClusterOpenMonitoring = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-tags
 mskcTags :: Lens' MSKCluster (Maybe Object)
diff --git a/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs b/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
@@ -17,6 +17,9 @@
   { _opsWorksCMServerAssociatePublicIpAddress :: Maybe (Val Bool)
   , _opsWorksCMServerBackupId :: Maybe (Val Text)
   , _opsWorksCMServerBackupRetentionCount :: Maybe (Val Integer)
+  , _opsWorksCMServerCustomCertificate :: Maybe (Val Text)
+  , _opsWorksCMServerCustomDomain :: Maybe (Val Text)
+  , _opsWorksCMServerCustomPrivateKey :: Maybe (Val Text)
   , _opsWorksCMServerDisableAutomatedBackup :: Maybe (Val Bool)
   , _opsWorksCMServerEngine :: Maybe (Val Text)
   , _opsWorksCMServerEngineAttributes :: Maybe [OpsWorksCMServerEngineAttribute]
@@ -42,6 +45,9 @@
         [ fmap (("AssociatePublicIpAddress",) . toJSON) _opsWorksCMServerAssociatePublicIpAddress
         , fmap (("BackupId",) . toJSON) _opsWorksCMServerBackupId
         , fmap (("BackupRetentionCount",) . toJSON) _opsWorksCMServerBackupRetentionCount
+        , fmap (("CustomCertificate",) . toJSON) _opsWorksCMServerCustomCertificate
+        , fmap (("CustomDomain",) . toJSON) _opsWorksCMServerCustomDomain
+        , fmap (("CustomPrivateKey",) . toJSON) _opsWorksCMServerCustomPrivateKey
         , fmap (("DisableAutomatedBackup",) . toJSON) _opsWorksCMServerDisableAutomatedBackup
         , fmap (("Engine",) . toJSON) _opsWorksCMServerEngine
         , fmap (("EngineAttributes",) . toJSON) _opsWorksCMServerEngineAttributes
@@ -71,6 +77,9 @@
   { _opsWorksCMServerAssociatePublicIpAddress = Nothing
   , _opsWorksCMServerBackupId = Nothing
   , _opsWorksCMServerBackupRetentionCount = Nothing
+  , _opsWorksCMServerCustomCertificate = Nothing
+  , _opsWorksCMServerCustomDomain = Nothing
+  , _opsWorksCMServerCustomPrivateKey = Nothing
   , _opsWorksCMServerDisableAutomatedBackup = Nothing
   , _opsWorksCMServerEngine = Nothing
   , _opsWorksCMServerEngineAttributes = Nothing
@@ -98,6 +107,18 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-backupretentioncount
 owcmsBackupRetentionCount :: Lens' OpsWorksCMServer (Maybe (Val Integer))
 owcmsBackupRetentionCount = lens _opsWorksCMServerBackupRetentionCount (\s a -> s { _opsWorksCMServerBackupRetentionCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customcertificate
+owcmsCustomCertificate :: Lens' OpsWorksCMServer (Maybe (Val Text))
+owcmsCustomCertificate = lens _opsWorksCMServerCustomCertificate (\s a -> s { _opsWorksCMServerCustomCertificate = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customdomain
+owcmsCustomDomain :: Lens' OpsWorksCMServer (Maybe (Val Text))
+owcmsCustomDomain = lens _opsWorksCMServerCustomDomain (\s a -> s { _opsWorksCMServerCustomDomain = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customprivatekey
+owcmsCustomPrivateKey :: Lens' OpsWorksCMServer (Maybe (Val Text))
+owcmsCustomPrivateKey = lens _opsWorksCMServerCustomPrivateKey (\s a -> s { _opsWorksCMServerCustomPrivateKey = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-disableautomatedbackup
 owcmsDisableAutomatedBackup :: Lens' OpsWorksCMServer (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs b/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
@@ -14,9 +14,11 @@
 -- 'pinpointEmailTemplate' for a more convenient constructor.
 data PinpointEmailTemplate =
   PinpointEmailTemplate
-  { _pinpointEmailTemplateHtmlPart :: Maybe (Val Text)
+  { _pinpointEmailTemplateDefaultSubstitutions :: Maybe (Val Text)
+  , _pinpointEmailTemplateHtmlPart :: Maybe (Val Text)
   , _pinpointEmailTemplateSubject :: Val Text
   , _pinpointEmailTemplateTags :: Maybe Object
+  , _pinpointEmailTemplateTemplateDescription :: Maybe (Val Text)
   , _pinpointEmailTemplateTemplateName :: Val Text
   , _pinpointEmailTemplateTextPart :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -27,9 +29,11 @@
     { resourcePropertiesType = "AWS::Pinpoint::EmailTemplate"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("HtmlPart",) . toJSON) _pinpointEmailTemplateHtmlPart
+        [ fmap (("DefaultSubstitutions",) . toJSON) _pinpointEmailTemplateDefaultSubstitutions
+        , fmap (("HtmlPart",) . toJSON) _pinpointEmailTemplateHtmlPart
         , (Just . ("Subject",) . toJSON) _pinpointEmailTemplateSubject
         , fmap (("Tags",) . toJSON) _pinpointEmailTemplateTags
+        , fmap (("TemplateDescription",) . toJSON) _pinpointEmailTemplateTemplateDescription
         , (Just . ("TemplateName",) . toJSON) _pinpointEmailTemplateTemplateName
         , fmap (("TextPart",) . toJSON) _pinpointEmailTemplateTextPart
         ]
@@ -43,13 +47,19 @@
   -> PinpointEmailTemplate
 pinpointEmailTemplate subjectarg templateNamearg =
   PinpointEmailTemplate
-  { _pinpointEmailTemplateHtmlPart = Nothing
+  { _pinpointEmailTemplateDefaultSubstitutions = Nothing
+  , _pinpointEmailTemplateHtmlPart = Nothing
   , _pinpointEmailTemplateSubject = subjectarg
   , _pinpointEmailTemplateTags = Nothing
+  , _pinpointEmailTemplateTemplateDescription = Nothing
   , _pinpointEmailTemplateTemplateName = templateNamearg
   , _pinpointEmailTemplateTextPart = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-defaultsubstitutions
+petDefaultSubstitutions :: Lens' PinpointEmailTemplate (Maybe (Val Text))
+petDefaultSubstitutions = lens _pinpointEmailTemplateDefaultSubstitutions (\s a -> s { _pinpointEmailTemplateDefaultSubstitutions = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-htmlpart
 petHtmlPart :: Lens' PinpointEmailTemplate (Maybe (Val Text))
 petHtmlPart = lens _pinpointEmailTemplateHtmlPart (\s a -> s { _pinpointEmailTemplateHtmlPart = a })
@@ -61,6 +71,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-tags
 petTags :: Lens' PinpointEmailTemplate (Maybe Object)
 petTags = lens _pinpointEmailTemplateTags (\s a -> s { _pinpointEmailTemplateTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatedescription
+petTemplateDescription :: Lens' PinpointEmailTemplate (Maybe (Val Text))
+petTemplateDescription = lens _pinpointEmailTemplateTemplateDescription (\s a -> s { _pinpointEmailTemplateTemplateDescription = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatename
 petTemplateName :: Lens' PinpointEmailTemplate (Val Text)
diff --git a/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs b/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
--- a/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
+++ b/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
@@ -20,8 +20,10 @@
   , _pinpointPushTemplateAPNS :: Maybe PinpointPushTemplateAPNSPushNotificationTemplate
   , _pinpointPushTemplateBaidu :: Maybe PinpointPushTemplateAndroidPushNotificationTemplate
   , _pinpointPushTemplateDefault :: Maybe PinpointPushTemplateDefaultPushNotificationTemplate
+  , _pinpointPushTemplateDefaultSubstitutions :: Maybe (Val Text)
   , _pinpointPushTemplateGCM :: Maybe PinpointPushTemplateAndroidPushNotificationTemplate
   , _pinpointPushTemplateTags :: Maybe Object
+  , _pinpointPushTemplateTemplateDescription :: Maybe (Val Text)
   , _pinpointPushTemplateTemplateName :: Val Text
   } deriving (Show, Eq)
 
@@ -35,8 +37,10 @@
         , fmap (("APNS",) . toJSON) _pinpointPushTemplateAPNS
         , fmap (("Baidu",) . toJSON) _pinpointPushTemplateBaidu
         , fmap (("Default",) . toJSON) _pinpointPushTemplateDefault
+        , fmap (("DefaultSubstitutions",) . toJSON) _pinpointPushTemplateDefaultSubstitutions
         , fmap (("GCM",) . toJSON) _pinpointPushTemplateGCM
         , fmap (("Tags",) . toJSON) _pinpointPushTemplateTags
+        , fmap (("TemplateDescription",) . toJSON) _pinpointPushTemplateTemplateDescription
         , (Just . ("TemplateName",) . toJSON) _pinpointPushTemplateTemplateName
         ]
     }
@@ -52,8 +56,10 @@
   , _pinpointPushTemplateAPNS = Nothing
   , _pinpointPushTemplateBaidu = Nothing
   , _pinpointPushTemplateDefault = Nothing
+  , _pinpointPushTemplateDefaultSubstitutions = Nothing
   , _pinpointPushTemplateGCM = Nothing
   , _pinpointPushTemplateTags = Nothing
+  , _pinpointPushTemplateTemplateDescription = Nothing
   , _pinpointPushTemplateTemplateName = templateNamearg
   }
 
@@ -73,6 +79,10 @@
 pptDefault :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateDefaultPushNotificationTemplate)
 pptDefault = lens _pinpointPushTemplateDefault (\s a -> s { _pinpointPushTemplateDefault = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-defaultsubstitutions
+pptDefaultSubstitutions :: Lens' PinpointPushTemplate (Maybe (Val Text))
+pptDefaultSubstitutions = lens _pinpointPushTemplateDefaultSubstitutions (\s a -> s { _pinpointPushTemplateDefaultSubstitutions = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-gcm
 pptGCM :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateAndroidPushNotificationTemplate)
 pptGCM = lens _pinpointPushTemplateGCM (\s a -> s { _pinpointPushTemplateGCM = a })
@@ -80,6 +90,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-tags
 pptTags :: Lens' PinpointPushTemplate (Maybe Object)
 pptTags = lens _pinpointPushTemplateTags (\s a -> s { _pinpointPushTemplateTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatedescription
+pptTemplateDescription :: Lens' PinpointPushTemplate (Maybe (Val Text))
+pptTemplateDescription = lens _pinpointPushTemplateTemplateDescription (\s a -> s { _pinpointPushTemplateTemplateDescription = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatename
 pptTemplateName :: Lens' PinpointPushTemplate (Val Text)
diff --git a/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs b/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
--- a/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
+++ b/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
@@ -15,7 +15,9 @@
 data PinpointSmsTemplate =
   PinpointSmsTemplate
   { _pinpointSmsTemplateBody :: Val Text
+  , _pinpointSmsTemplateDefaultSubstitutions :: Maybe (Val Text)
   , _pinpointSmsTemplateTags :: Maybe Object
+  , _pinpointSmsTemplateTemplateDescription :: Maybe (Val Text)
   , _pinpointSmsTemplateTemplateName :: Val Text
   } deriving (Show, Eq)
 
@@ -26,7 +28,9 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("Body",) . toJSON) _pinpointSmsTemplateBody
+        , fmap (("DefaultSubstitutions",) . toJSON) _pinpointSmsTemplateDefaultSubstitutions
         , fmap (("Tags",) . toJSON) _pinpointSmsTemplateTags
+        , fmap (("TemplateDescription",) . toJSON) _pinpointSmsTemplateTemplateDescription
         , (Just . ("TemplateName",) . toJSON) _pinpointSmsTemplateTemplateName
         ]
     }
@@ -40,7 +44,9 @@
 pinpointSmsTemplate bodyarg templateNamearg =
   PinpointSmsTemplate
   { _pinpointSmsTemplateBody = bodyarg
+  , _pinpointSmsTemplateDefaultSubstitutions = Nothing
   , _pinpointSmsTemplateTags = Nothing
+  , _pinpointSmsTemplateTemplateDescription = Nothing
   , _pinpointSmsTemplateTemplateName = templateNamearg
   }
 
@@ -48,9 +54,17 @@
 pstBody :: Lens' PinpointSmsTemplate (Val Text)
 pstBody = lens _pinpointSmsTemplateBody (\s a -> s { _pinpointSmsTemplateBody = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-defaultsubstitutions
+pstDefaultSubstitutions :: Lens' PinpointSmsTemplate (Maybe (Val Text))
+pstDefaultSubstitutions = lens _pinpointSmsTemplateDefaultSubstitutions (\s a -> s { _pinpointSmsTemplateDefaultSubstitutions = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-tags
 pstTags :: Lens' PinpointSmsTemplate (Maybe Object)
 pstTags = lens _pinpointSmsTemplateTags (\s a -> s { _pinpointSmsTemplateTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-templatedescription
+pstTemplateDescription :: Lens' PinpointSmsTemplate (Maybe (Val Text))
+pstTemplateDescription = lens _pinpointSmsTemplateTemplateDescription (\s a -> s { _pinpointSmsTemplateTemplateDescription = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-templatename
 pstTemplateName :: Lens' PinpointSmsTemplate (Val Text)
diff --git a/library-gen/Stratosphere/Resources/RDSDBCluster.hs b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
--- a/library-gen/Stratosphere/Resources/RDSDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
@@ -26,6 +26,7 @@
   , _rDSDBClusterDatabaseName :: Maybe (Val Text)
   , _rDSDBClusterDeletionProtection :: Maybe (Val Bool)
   , _rDSDBClusterEnableCloudwatchLogsExports :: Maybe (ValList Text)
+  , _rDSDBClusterEnableHttpEndpoint :: Maybe (Val Bool)
   , _rDSDBClusterEnableIAMDatabaseAuthentication :: Maybe (Val Bool)
   , _rDSDBClusterEngine :: Val Text
   , _rDSDBClusterEngineMode :: Maybe (Val Text)
@@ -64,6 +65,7 @@
         , fmap (("DatabaseName",) . toJSON) _rDSDBClusterDatabaseName
         , fmap (("DeletionProtection",) . toJSON) _rDSDBClusterDeletionProtection
         , fmap (("EnableCloudwatchLogsExports",) . toJSON) _rDSDBClusterEnableCloudwatchLogsExports
+        , fmap (("EnableHttpEndpoint",) . toJSON) _rDSDBClusterEnableHttpEndpoint
         , fmap (("EnableIAMDatabaseAuthentication",) . toJSON) _rDSDBClusterEnableIAMDatabaseAuthentication
         , (Just . ("Engine",) . toJSON) _rDSDBClusterEngine
         , fmap (("EngineMode",) . toJSON) _rDSDBClusterEngineMode
@@ -103,6 +105,7 @@
   , _rDSDBClusterDatabaseName = Nothing
   , _rDSDBClusterDeletionProtection = Nothing
   , _rDSDBClusterEnableCloudwatchLogsExports = Nothing
+  , _rDSDBClusterEnableHttpEndpoint = Nothing
   , _rDSDBClusterEnableIAMDatabaseAuthentication = Nothing
   , _rDSDBClusterEngine = enginearg
   , _rDSDBClusterEngineMode = Nothing
@@ -164,6 +167,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablecloudwatchlogsexports
 rdsdbcEnableCloudwatchLogsExports :: Lens' RDSDBCluster (Maybe (ValList Text))
 rdsdbcEnableCloudwatchLogsExports = lens _rDSDBClusterEnableCloudwatchLogsExports (\s a -> s { _rDSDBClusterEnableCloudwatchLogsExports = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablehttpendpoint
+rdsdbcEnableHttpEndpoint :: Lens' RDSDBCluster (Maybe (Val Bool))
+rdsdbcEnableHttpEndpoint = lens _rDSDBClusterEnableHttpEndpoint (\s a -> s { _rDSDBClusterEnableHttpEndpoint = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enableiamdatabaseauthentication
 rdsdbcEnableIAMDatabaseAuthentication :: Lens' RDSDBCluster (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/Resources/RDSDBInstance.hs b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
--- a/library-gen/Stratosphere/Resources/RDSDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
@@ -46,6 +46,7 @@
   , _rDSDBInstanceLicenseModel :: Maybe (Val Text)
   , _rDSDBInstanceMasterUserPassword :: Maybe (Val Text)
   , _rDSDBInstanceMasterUsername :: Maybe (Val Text)
+  , _rDSDBInstanceMaxAllocatedStorage :: Maybe (Val Integer)
   , _rDSDBInstanceMonitoringInterval :: Maybe (Val Integer)
   , _rDSDBInstanceMonitoringRoleArn :: Maybe (Val Text)
   , _rDSDBInstanceMultiAZ :: Maybe (Val Bool)
@@ -104,6 +105,7 @@
         , fmap (("LicenseModel",) . toJSON) _rDSDBInstanceLicenseModel
         , fmap (("MasterUserPassword",) . toJSON) _rDSDBInstanceMasterUserPassword
         , fmap (("MasterUsername",) . toJSON) _rDSDBInstanceMasterUsername
+        , fmap (("MaxAllocatedStorage",) . toJSON) _rDSDBInstanceMaxAllocatedStorage
         , fmap (("MonitoringInterval",) . toJSON) _rDSDBInstanceMonitoringInterval
         , fmap (("MonitoringRoleArn",) . toJSON) _rDSDBInstanceMonitoringRoleArn
         , fmap (("MultiAZ",) . toJSON) _rDSDBInstanceMultiAZ
@@ -163,6 +165,7 @@
   , _rDSDBInstanceLicenseModel = Nothing
   , _rDSDBInstanceMasterUserPassword = Nothing
   , _rDSDBInstanceMasterUsername = Nothing
+  , _rDSDBInstanceMaxAllocatedStorage = Nothing
   , _rDSDBInstanceMonitoringInterval = Nothing
   , _rDSDBInstanceMonitoringRoleArn = Nothing
   , _rDSDBInstanceMultiAZ = Nothing
@@ -304,6 +307,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-masterusername
 rdsdbiMasterUsername :: Lens' RDSDBInstance (Maybe (Val Text))
 rdsdbiMasterUsername = lens _rDSDBInstanceMasterUsername (\s a -> s { _rDSDBInstanceMasterUsername = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-maxallocatedstorage
+rdsdbiMaxAllocatedStorage :: Lens' RDSDBInstance (Maybe (Val Integer))
+rdsdbiMaxAllocatedStorage = lens _rDSDBInstanceMaxAllocatedStorage (\s a -> s { _rDSDBInstanceMaxAllocatedStorage = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-monitoringinterval
 rdsdbiMonitoringInterval :: Lens' RDSDBInstance (Maybe (Val Integer))
diff --git a/library-gen/Stratosphere/Resources/S3AccessPoint.hs b/library-gen/Stratosphere/Resources/S3AccessPoint.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/S3AccessPoint.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html
+
+module Stratosphere.Resources.S3AccessPoint where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.S3AccessPointPublicAccessBlockConfiguration
+import Stratosphere.ResourceProperties.S3AccessPointVpcConfiguration
+
+-- | Full data type definition for S3AccessPoint. See 's3AccessPoint' for a
+-- more convenient constructor.
+data S3AccessPoint =
+  S3AccessPoint
+  { _s3AccessPointBucket :: Val Text
+  , _s3AccessPointCreationDate :: Maybe (Val Text)
+  , _s3AccessPointName :: Maybe (Val Text)
+  , _s3AccessPointNetworkOrigin :: Maybe (Val Text)
+  , _s3AccessPointPolicy :: Maybe Object
+  , _s3AccessPointPolicyStatus :: Maybe Object
+  , _s3AccessPointPublicAccessBlockConfiguration :: Maybe S3AccessPointPublicAccessBlockConfiguration
+  , _s3AccessPointVpcConfiguration :: Maybe S3AccessPointVpcConfiguration
+  } deriving (Show, Eq)
+
+instance ToResourceProperties S3AccessPoint where
+  toResourceProperties S3AccessPoint{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::S3::AccessPoint"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Bucket",) . toJSON) _s3AccessPointBucket
+        , fmap (("CreationDate",) . toJSON) _s3AccessPointCreationDate
+        , fmap (("Name",) . toJSON) _s3AccessPointName
+        , fmap (("NetworkOrigin",) . toJSON) _s3AccessPointNetworkOrigin
+        , fmap (("Policy",) . toJSON) _s3AccessPointPolicy
+        , fmap (("PolicyStatus",) . toJSON) _s3AccessPointPolicyStatus
+        , fmap (("PublicAccessBlockConfiguration",) . toJSON) _s3AccessPointPublicAccessBlockConfiguration
+        , fmap (("VpcConfiguration",) . toJSON) _s3AccessPointVpcConfiguration
+        ]
+    }
+
+-- | Constructor for 'S3AccessPoint' containing required fields as arguments.
+s3AccessPoint
+  :: Val Text -- ^ 'sapBucket'
+  -> S3AccessPoint
+s3AccessPoint bucketarg =
+  S3AccessPoint
+  { _s3AccessPointBucket = bucketarg
+  , _s3AccessPointCreationDate = Nothing
+  , _s3AccessPointName = Nothing
+  , _s3AccessPointNetworkOrigin = Nothing
+  , _s3AccessPointPolicy = Nothing
+  , _s3AccessPointPolicyStatus = Nothing
+  , _s3AccessPointPublicAccessBlockConfiguration = Nothing
+  , _s3AccessPointVpcConfiguration = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket
+sapBucket :: Lens' S3AccessPoint (Val Text)
+sapBucket = lens _s3AccessPointBucket (\s a -> s { _s3AccessPointBucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-creationdate
+sapCreationDate :: Lens' S3AccessPoint (Maybe (Val Text))
+sapCreationDate = lens _s3AccessPointCreationDate (\s a -> s { _s3AccessPointCreationDate = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name
+sapName :: Lens' S3AccessPoint (Maybe (Val Text))
+sapName = lens _s3AccessPointName (\s a -> s { _s3AccessPointName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-networkorigin
+sapNetworkOrigin :: Lens' S3AccessPoint (Maybe (Val Text))
+sapNetworkOrigin = lens _s3AccessPointNetworkOrigin (\s a -> s { _s3AccessPointNetworkOrigin = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy
+sapPolicy :: Lens' S3AccessPoint (Maybe Object)
+sapPolicy = lens _s3AccessPointPolicy (\s a -> s { _s3AccessPointPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus
+sapPolicyStatus :: Lens' S3AccessPoint (Maybe Object)
+sapPolicyStatus = lens _s3AccessPointPolicyStatus (\s a -> s { _s3AccessPointPolicyStatus = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration
+sapPublicAccessBlockConfiguration :: Lens' S3AccessPoint (Maybe S3AccessPointPublicAccessBlockConfiguration)
+sapPublicAccessBlockConfiguration = lens _s3AccessPointPublicAccessBlockConfiguration (\s a -> s { _s3AccessPointPublicAccessBlockConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration
+sapVpcConfiguration :: Lens' S3AccessPoint (Maybe S3AccessPointVpcConfiguration)
+sapVpcConfiguration = lens _s3AccessPointVpcConfiguration (\s a -> s { _s3AccessPointVpcConfiguration = a })
diff --git a/library-gen/Stratosphere/Resources/SNSSubscription.hs b/library-gen/Stratosphere/Resources/SNSSubscription.hs
--- a/library-gen/Stratosphere/Resources/SNSSubscription.hs
+++ b/library-gen/Stratosphere/Resources/SNSSubscription.hs
@@ -19,6 +19,7 @@
   , _sNSSubscriptionFilterPolicy :: Maybe Object
   , _sNSSubscriptionProtocol :: Val SNSProtocol
   , _sNSSubscriptionRawMessageDelivery :: Maybe (Val Bool)
+  , _sNSSubscriptionRedrivePolicy :: Maybe Object
   , _sNSSubscriptionRegion :: Maybe (Val Text)
   , _sNSSubscriptionTopicArn :: Val Text
   } deriving (Show, Eq)
@@ -34,6 +35,7 @@
         , fmap (("FilterPolicy",) . toJSON) _sNSSubscriptionFilterPolicy
         , (Just . ("Protocol",) . toJSON) _sNSSubscriptionProtocol
         , fmap (("RawMessageDelivery",) . toJSON) _sNSSubscriptionRawMessageDelivery
+        , fmap (("RedrivePolicy",) . toJSON) _sNSSubscriptionRedrivePolicy
         , fmap (("Region",) . toJSON) _sNSSubscriptionRegion
         , (Just . ("TopicArn",) . toJSON) _sNSSubscriptionTopicArn
         ]
@@ -52,6 +54,7 @@
   , _sNSSubscriptionFilterPolicy = Nothing
   , _sNSSubscriptionProtocol = protocolarg
   , _sNSSubscriptionRawMessageDelivery = Nothing
+  , _sNSSubscriptionRedrivePolicy = Nothing
   , _sNSSubscriptionRegion = Nothing
   , _sNSSubscriptionTopicArn = topicArnarg
   }
@@ -75,6 +78,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-rawmessagedelivery
 snssRawMessageDelivery :: Lens' SNSSubscription (Maybe (Val Bool))
 snssRawMessageDelivery = lens _sNSSubscriptionRawMessageDelivery (\s a -> s { _sNSSubscriptionRawMessageDelivery = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy
+snssRedrivePolicy :: Lens' SNSSubscription (Maybe Object)
+snssRedrivePolicy = lens _sNSSubscriptionRedrivePolicy (\s a -> s { _sNSSubscriptionRedrivePolicy = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region
 snssRegion :: Lens' SNSSubscription (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/SSMDocument.hs b/library-gen/Stratosphere/Resources/SSMDocument.hs
--- a/library-gen/Stratosphere/Resources/SSMDocument.hs
+++ b/library-gen/Stratosphere/Resources/SSMDocument.hs
@@ -16,6 +16,7 @@
   SSMDocument
   { _sSMDocumentContent :: Object
   , _sSMDocumentDocumentType :: Maybe (Val Text)
+  , _sSMDocumentName :: Maybe (Val Text)
   , _sSMDocumentTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
@@ -27,6 +28,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("Content",) . toJSON) _sSMDocumentContent
         , fmap (("DocumentType",) . toJSON) _sSMDocumentDocumentType
+        , fmap (("Name",) . toJSON) _sSMDocumentName
         , fmap (("Tags",) . toJSON) _sSMDocumentTags
         ]
     }
@@ -39,6 +41,7 @@
   SSMDocument
   { _sSMDocumentContent = contentarg
   , _sSMDocumentDocumentType = Nothing
+  , _sSMDocumentName = Nothing
   , _sSMDocumentTags = Nothing
   }
 
@@ -49,6 +52,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-documenttype
 ssmdDocumentType :: Lens' SSMDocument (Maybe (Val Text))
 ssmdDocumentType = lens _sSMDocumentDocumentType (\s a -> s { _sSMDocumentDocumentType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-name
+ssmdName :: Lens' SSMDocument (Maybe (Val Text))
+ssmdName = lens _sSMDocumentName (\s a -> s { _sSMDocumentName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags
 ssmdTags :: Lens' SSMDocument (Maybe [Tag])
diff --git a/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs b/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs
--- a/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.SageMakerEndpoint where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.SageMakerEndpointVariantProperty
 import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for SageMakerEndpoint. See 'sageMakerEndpoint'
@@ -16,6 +17,8 @@
   SageMakerEndpoint
   { _sageMakerEndpointEndpointConfigName :: Val Text
   , _sageMakerEndpointEndpointName :: Maybe (Val Text)
+  , _sageMakerEndpointExcludeRetainedVariantProperties :: Maybe [SageMakerEndpointVariantProperty]
+  , _sageMakerEndpointRetainAllVariantProperties :: Maybe (Val Bool)
   , _sageMakerEndpointTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
@@ -27,6 +30,8 @@
         hashMapFromList $ catMaybes
         [ (Just . ("EndpointConfigName",) . toJSON) _sageMakerEndpointEndpointConfigName
         , fmap (("EndpointName",) . toJSON) _sageMakerEndpointEndpointName
+        , fmap (("ExcludeRetainedVariantProperties",) . toJSON) _sageMakerEndpointExcludeRetainedVariantProperties
+        , fmap (("RetainAllVariantProperties",) . toJSON) _sageMakerEndpointRetainAllVariantProperties
         , fmap (("Tags",) . toJSON) _sageMakerEndpointTags
         ]
     }
@@ -40,6 +45,8 @@
   SageMakerEndpoint
   { _sageMakerEndpointEndpointConfigName = endpointConfigNamearg
   , _sageMakerEndpointEndpointName = Nothing
+  , _sageMakerEndpointExcludeRetainedVariantProperties = Nothing
+  , _sageMakerEndpointRetainAllVariantProperties = Nothing
   , _sageMakerEndpointTags = Nothing
   }
 
@@ -50,6 +57,14 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-endpointname
 smeEndpointName :: Lens' SageMakerEndpoint (Maybe (Val Text))
 smeEndpointName = lens _sageMakerEndpointEndpointName (\s a -> s { _sageMakerEndpointEndpointName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-excluderetainedvariantproperties
+smeExcludeRetainedVariantProperties :: Lens' SageMakerEndpoint (Maybe [SageMakerEndpointVariantProperty])
+smeExcludeRetainedVariantProperties = lens _sageMakerEndpointExcludeRetainedVariantProperties (\s a -> s { _sageMakerEndpointExcludeRetainedVariantProperties = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-retainallvariantproperties
+smeRetainAllVariantProperties :: Lens' SageMakerEndpoint (Maybe (Val Bool))
+smeRetainAllVariantProperties = lens _sageMakerEndpointRetainAllVariantProperties (\s a -> s { _sageMakerEndpointRetainAllVariantProperties = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-tags
 smeTags :: Lens' SageMakerEndpoint (Maybe [Tag])
diff --git a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
--- a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
+++ b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.StepFunctionsStateMachine where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry
 
 -- | Full data type definition for StepFunctionsStateMachine. See
@@ -15,8 +16,10 @@
 data StepFunctionsStateMachine =
   StepFunctionsStateMachine
   { _stepFunctionsStateMachineDefinitionString :: Val Text
+  , _stepFunctionsStateMachineLoggingConfiguration :: Maybe StepFunctionsStateMachineLoggingConfiguration
   , _stepFunctionsStateMachineRoleArn :: Val Text
   , _stepFunctionsStateMachineStateMachineName :: Maybe (Val Text)
+  , _stepFunctionsStateMachineStateMachineType :: Maybe (Val Text)
   , _stepFunctionsStateMachineTags :: Maybe [StepFunctionsStateMachineTagsEntry]
   } deriving (Show, Eq)
 
@@ -27,8 +30,10 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("DefinitionString",) . toJSON) _stepFunctionsStateMachineDefinitionString
+        , fmap (("LoggingConfiguration",) . toJSON) _stepFunctionsStateMachineLoggingConfiguration
         , (Just . ("RoleArn",) . toJSON) _stepFunctionsStateMachineRoleArn
         , fmap (("StateMachineName",) . toJSON) _stepFunctionsStateMachineStateMachineName
+        , fmap (("StateMachineType",) . toJSON) _stepFunctionsStateMachineStateMachineType
         , fmap (("Tags",) . toJSON) _stepFunctionsStateMachineTags
         ]
     }
@@ -42,8 +47,10 @@
 stepFunctionsStateMachine definitionStringarg roleArnarg =
   StepFunctionsStateMachine
   { _stepFunctionsStateMachineDefinitionString = definitionStringarg
+  , _stepFunctionsStateMachineLoggingConfiguration = Nothing
   , _stepFunctionsStateMachineRoleArn = roleArnarg
   , _stepFunctionsStateMachineStateMachineName = Nothing
+  , _stepFunctionsStateMachineStateMachineType = Nothing
   , _stepFunctionsStateMachineTags = Nothing
   }
 
@@ -51,6 +58,10 @@
 sfsmDefinitionString :: Lens' StepFunctionsStateMachine (Val Text)
 sfsmDefinitionString = lens _stepFunctionsStateMachineDefinitionString (\s a -> s { _stepFunctionsStateMachineDefinitionString = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration
+sfsmLoggingConfiguration :: Lens' StepFunctionsStateMachine (Maybe StepFunctionsStateMachineLoggingConfiguration)
+sfsmLoggingConfiguration = lens _stepFunctionsStateMachineLoggingConfiguration (\s a -> s { _stepFunctionsStateMachineLoggingConfiguration = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-rolearn
 sfsmRoleArn :: Lens' StepFunctionsStateMachine (Val Text)
 sfsmRoleArn = lens _stepFunctionsStateMachineRoleArn (\s a -> s { _stepFunctionsStateMachineRoleArn = a })
@@ -58,6 +69,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename
 sfsmStateMachineName :: Lens' StepFunctionsStateMachine (Maybe (Val Text))
 sfsmStateMachineName = lens _stepFunctionsStateMachineStateMachineName (\s a -> s { _stepFunctionsStateMachineStateMachineName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinetype
+sfsmStateMachineType :: Lens' StepFunctionsStateMachine (Maybe (Val Text))
+sfsmStateMachineType = lens _stepFunctionsStateMachineStateMachineType (\s a -> s { _stepFunctionsStateMachineStateMachineType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags
 sfsmTags :: Lens' StepFunctionsStateMachine (Maybe [StepFunctionsStateMachineTagsEntry])
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 56dcf6cf3bda0fc247c362600cace943e22ccdf94b84d6780368e981a5dee328
+-- hash: 0afe4e048b9a46a2b34abb5a5781bf91636595f8cf226537b342aab35680afcc
 
 name:           stratosphere
-version:        0.46.0
+version:        0.47.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -49,6 +49,8 @@
       Stratosphere.Template
       Stratosphere.Types
       Stratosphere.Values
+      Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerArchiveRule
+      Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerFilter
       Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId
       Stratosphere.ResourceProperties.AmazonMQBrokerEncryptionOptions
       Stratosphere.ResourceProperties.AmazonMQBrokerLogList
@@ -83,6 +85,9 @@
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings
+      Stratosphere.ResourceProperties.ApiGatewayV2ApiBodyS3Location
+      Stratosphere.ResourceProperties.ApiGatewayV2ApiCors
+      Stratosphere.ResourceProperties.ApiGatewayV2AuthorizerJWTConfiguration
       Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration
       Stratosphere.ResourceProperties.ApiGatewayV2RouteParameterConstraints
       Stratosphere.ResourceProperties.ApiGatewayV2RouteResponseParameterConstraints
@@ -150,6 +155,7 @@
       Stratosphere.ResourceProperties.AppStreamStackUserSetting
       Stratosphere.ResourceProperties.AppSyncDataSourceAuthorizationConfig
       Stratosphere.ResourceProperties.AppSyncDataSourceAwsIamConfig
+      Stratosphere.ResourceProperties.AppSyncDataSourceDeltaSyncConfig
       Stratosphere.ResourceProperties.AppSyncDataSourceDynamoDBConfig
       Stratosphere.ResourceProperties.AppSyncDataSourceElasticsearchConfig
       Stratosphere.ResourceProperties.AppSyncDataSourceHttpConfig
@@ -161,7 +167,10 @@
       Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig
       Stratosphere.ResourceProperties.AppSyncGraphQLApiOpenIDConnectConfig
       Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig
+      Stratosphere.ResourceProperties.AppSyncResolverCachingConfig
+      Stratosphere.ResourceProperties.AppSyncResolverLambdaConflictHandlerConfig
       Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig
+      Stratosphere.ResourceProperties.AppSyncResolverSyncConfig
       Stratosphere.ResourceProperties.ASKSkillAuthenticationConfiguration
       Stratosphere.ResourceProperties.ASKSkillOverrides
       Stratosphere.ResourceProperties.ASKSkillSkillPackage
@@ -265,6 +274,8 @@
       Stratosphere.ResourceProperties.CodeBuildProjectSourceAuth
       Stratosphere.ResourceProperties.CodeBuildProjectVpcConfig
       Stratosphere.ResourceProperties.CodeBuildProjectWebhookFilter
+      Stratosphere.ResourceProperties.CodeBuildReportGroupReportExportConfig
+      Stratosphere.ResourceProperties.CodeBuildReportGroupS3ReportExportConfig
       Stratosphere.ResourceProperties.CodeCommitRepositoryCode
       Stratosphere.ResourceProperties.CodeCommitRepositoryRepositoryTrigger
       Stratosphere.ResourceProperties.CodeCommitRepositoryS3
@@ -360,6 +371,9 @@
       Stratosphere.ResourceProperties.DirectoryServiceMicrosoftADVpcSettings
       Stratosphere.ResourceProperties.DirectoryServiceSimpleADVpcSettings
       Stratosphere.ResourceProperties.DLMLifecyclePolicyCreateRule
+      Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRetainRule
+      Stratosphere.ResourceProperties.DLMLifecyclePolicyCrossRegionCopyRule
+      Stratosphere.ResourceProperties.DLMLifecyclePolicyFastRestoreRule
       Stratosphere.ResourceProperties.DLMLifecyclePolicyParameters
       Stratosphere.ResourceProperties.DLMLifecyclePolicyPolicyDetails
       Stratosphere.ResourceProperties.DLMLifecyclePolicyRetainRule
@@ -457,8 +471,10 @@
       Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRange
       Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification
       Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy
+      Stratosphere.ResourceProperties.ECSClusterClusterSetting
       Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration
       Stratosphere.ResourceProperties.ECSServiceDeploymentConfiguration
+      Stratosphere.ResourceProperties.ECSServiceDeploymentController
       Stratosphere.ResourceProperties.ECSServiceLoadBalancer
       Stratosphere.ResourceProperties.ECSServiceNetworkConfiguration
       Stratosphere.ResourceProperties.ECSServicePlacementConstraint
@@ -468,6 +484,7 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionContainerDependency
       Stratosphere.ResourceProperties.ECSTaskDefinitionDevice
       Stratosphere.ResourceProperties.ECSTaskDefinitionDockerVolumeConfiguration
+      Stratosphere.ResourceProperties.ECSTaskDefinitionFirelensConfiguration
       Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck
       Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry
       Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties
@@ -488,9 +505,16 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
       Stratosphere.ResourceProperties.ECSTaskDefinitionVolume
       Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom
+      Stratosphere.ResourceProperties.ECSTaskSetAwsVpcConfiguration
+      Stratosphere.ResourceProperties.ECSTaskSetLoadBalancer
+      Stratosphere.ResourceProperties.ECSTaskSetNetworkConfiguration
+      Stratosphere.ResourceProperties.ECSTaskSetScale
+      Stratosphere.ResourceProperties.ECSTaskSetServiceRegistry
       Stratosphere.ResourceProperties.EFSFileSystemElasticFileSystemTag
       Stratosphere.ResourceProperties.EFSFileSystemLifecyclePolicy
       Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig
+      Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess
+      Stratosphere.ResourceProperties.EKSNodegroupScalingConfig
       Stratosphere.ResourceProperties.ElastiCacheReplicationGroupNodeGroupConfiguration
       Stratosphere.ResourceProperties.ElasticBeanstalkApplicationApplicationResourceLifecycleConfig
       Stratosphere.ResourceProperties.ElasticBeanstalkApplicationApplicationVersionLifecycleConfig
@@ -534,6 +558,7 @@
       Stratosphere.ResourceProperties.ElasticLoadBalancingV2TargetGroupMatcher
       Stratosphere.ResourceProperties.ElasticLoadBalancingV2TargetGroupTargetDescription
       Stratosphere.ResourceProperties.ElasticLoadBalancingV2TargetGroupTargetGroupAttribute
+      Stratosphere.ResourceProperties.ElasticsearchDomainCognitoOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainEBSOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig
       Stratosphere.ResourceProperties.ElasticsearchDomainEncryptionAtRestOptions
@@ -589,6 +614,9 @@
       Stratosphere.ResourceProperties.EMRInstanceGroupConfigVolumeSpecification
       Stratosphere.ResourceProperties.EMRStepHadoopJarStepConfig
       Stratosphere.ResourceProperties.EMRStepKeyValue
+      Stratosphere.ResourceProperties.EventSchemasDiscovererTagsEntry
+      Stratosphere.ResourceProperties.EventSchemasRegistryTagsEntry
+      Stratosphere.ResourceProperties.EventSchemasSchemaTagsEntry
       Stratosphere.ResourceProperties.EventsEventBusPolicyCondition
       Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration
       Stratosphere.ResourceProperties.EventsRuleBatchArrayProperties
@@ -612,6 +640,10 @@
       Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy
       Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration
       Stratosphere.ResourceProperties.GameLiftFleetServerProcess
+      Stratosphere.ResourceProperties.GameLiftGameSessionQueueDestination
+      Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy
+      Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty
+      Stratosphere.ResourceProperties.GameLiftScriptS3Location
       Stratosphere.ResourceProperties.GlueClassifierCsvClassifier
       Stratosphere.ResourceProperties.GlueClassifierGrokClassifier
       Stratosphere.ResourceProperties.GlueClassifierJsonClassifier
@@ -887,13 +919,20 @@
       Stratosphere.ResourceProperties.LakeFormationPermissionsResource
       Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource
       Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration
+      Stratosphere.ResourceProperties.LambdaAliasProvisionedConcurrencyConfiguration
       Stratosphere.ResourceProperties.LambdaAliasVersionWeight
+      Stratosphere.ResourceProperties.LambdaEventInvokeConfigDestinationConfig
+      Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnFailure
+      Stratosphere.ResourceProperties.LambdaEventInvokeConfigOnSuccess
+      Stratosphere.ResourceProperties.LambdaEventSourceMappingDestinationConfig
+      Stratosphere.ResourceProperties.LambdaEventSourceMappingOnFailure
       Stratosphere.ResourceProperties.LambdaFunctionCode
       Stratosphere.ResourceProperties.LambdaFunctionDeadLetterConfig
       Stratosphere.ResourceProperties.LambdaFunctionEnvironment
       Stratosphere.ResourceProperties.LambdaFunctionTracingConfig
       Stratosphere.ResourceProperties.LambdaFunctionVpcConfig
       Stratosphere.ResourceProperties.LambdaLayerVersionContent
+      Stratosphere.ResourceProperties.LambdaVersionProvisionedConcurrencyConfiguration
       Stratosphere.ResourceProperties.LogsMetricFilterMetricTransformation
       Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy
       Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration
@@ -942,6 +981,10 @@
       Stratosphere.ResourceProperties.MSKClusterEncryptionAtRest
       Stratosphere.ResourceProperties.MSKClusterEncryptionInfo
       Stratosphere.ResourceProperties.MSKClusterEncryptionInTransit
+      Stratosphere.ResourceProperties.MSKClusterJmxExporter
+      Stratosphere.ResourceProperties.MSKClusterNodeExporter
+      Stratosphere.ResourceProperties.MSKClusterOpenMonitoring
+      Stratosphere.ResourceProperties.MSKClusterPrometheus
       Stratosphere.ResourceProperties.MSKClusterStorageInfo
       Stratosphere.ResourceProperties.MSKClusterTls
       Stratosphere.ResourceProperties.OpsWorksAppDataSource
@@ -1038,6 +1081,8 @@
       Stratosphere.ResourceProperties.Route53RecordSetGroupRecordSet
       Stratosphere.ResourceProperties.Route53ResolverResolverEndpointIpAddressRequest
       Stratosphere.ResourceProperties.Route53ResolverResolverRuleTargetAddress
+      Stratosphere.ResourceProperties.S3AccessPointPublicAccessBlockConfiguration
+      Stratosphere.ResourceProperties.S3AccessPointVpcConfiguration
       Stratosphere.ResourceProperties.S3BucketAbortIncompleteMultipartUpload
       Stratosphere.ResourceProperties.S3BucketAccelerateConfiguration
       Stratosphere.ResourceProperties.S3BucketAccessControlTranslation
@@ -1083,6 +1128,7 @@
       Stratosphere.ResourceProperties.S3BucketWebsiteConfiguration
       Stratosphere.ResourceProperties.SageMakerCodeRepositoryGitConfig
       Stratosphere.ResourceProperties.SageMakerEndpointConfigProductionVariant
+      Stratosphere.ResourceProperties.SageMakerEndpointVariantProperty
       Stratosphere.ResourceProperties.SageMakerModelContainerDefinition
       Stratosphere.ResourceProperties.SageMakerModelVpcConfig
       Stratosphere.ResourceProperties.SageMakerNotebookInstanceLifecycleConfigNotebookInstanceLifecycleHook
@@ -1134,6 +1180,9 @@
       Stratosphere.ResourceProperties.SSMPatchBaselineRule
       Stratosphere.ResourceProperties.SSMPatchBaselineRuleGroup
       Stratosphere.ResourceProperties.StepFunctionsActivityTagsEntry
+      Stratosphere.ResourceProperties.StepFunctionsStateMachineCloudWatchLogsLogGroup
+      Stratosphere.ResourceProperties.StepFunctionsStateMachineLogDestination
+      Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration
       Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry
       Stratosphere.ResourceProperties.Tag
       Stratosphere.ResourceProperties.TransferServerEndpointDetails
@@ -1166,6 +1215,7 @@
       Stratosphere.ResourceProperties.WAFXssMatchSetXssMatchTuple
       Stratosphere.ResourceProperties.WorkSpacesWorkspaceWorkspaceProperties
       Stratosphere.Resources
+      Stratosphere.Resources.AccessAnalyzerAnalyzer
       Stratosphere.Resources.AmazonMQBroker
       Stratosphere.Resources.AmazonMQConfiguration
       Stratosphere.Resources.AmazonMQConfigurationAssociation
@@ -1216,6 +1266,7 @@
       Stratosphere.Resources.AppStreamStackFleetAssociation
       Stratosphere.Resources.AppStreamStackUserAssociation
       Stratosphere.Resources.AppStreamUser
+      Stratosphere.Resources.AppSyncApiCache
       Stratosphere.Resources.AppSyncApiKey
       Stratosphere.Resources.AppSyncDataSource
       Stratosphere.Resources.AppSyncFunctionConfiguration
@@ -1251,7 +1302,9 @@
       Stratosphere.Resources.CloudWatchAlarm
       Stratosphere.Resources.CloudWatchAnomalyDetector
       Stratosphere.Resources.CloudWatchDashboard
+      Stratosphere.Resources.CloudWatchInsightRule
       Stratosphere.Resources.CodeBuildProject
+      Stratosphere.Resources.CodeBuildReportGroup
       Stratosphere.Resources.CodeBuildSourceCredential
       Stratosphere.Resources.CodeCommitRepository
       Stratosphere.Resources.CodeDeployApplication
@@ -1311,6 +1364,7 @@
       Stratosphere.Resources.EC2EIP
       Stratosphere.Resources.EC2EIPAssociation
       Stratosphere.Resources.EC2FlowLog
+      Stratosphere.Resources.EC2GatewayRouteTableAssociation
       Stratosphere.Resources.EC2Host
       Stratosphere.Resources.EC2Instance
       Stratosphere.Resources.EC2InternetGateway
@@ -1359,11 +1413,14 @@
       Stratosphere.Resources.EC2VPNGatewayRoutePropagation
       Stratosphere.Resources.ECRRepository
       Stratosphere.Resources.ECSCluster
+      Stratosphere.Resources.ECSPrimaryTaskSet
       Stratosphere.Resources.ECSService
       Stratosphere.Resources.ECSTaskDefinition
+      Stratosphere.Resources.ECSTaskSet
       Stratosphere.Resources.EFSFileSystem
       Stratosphere.Resources.EFSMountTarget
       Stratosphere.Resources.EKSCluster
+      Stratosphere.Resources.EKSNodegroup
       Stratosphere.Resources.ElastiCacheCacheCluster
       Stratosphere.Resources.ElastiCacheParameterGroup
       Stratosphere.Resources.ElastiCacheReplicationGroup
@@ -1386,6 +1443,9 @@
       Stratosphere.Resources.EMRInstanceGroupConfig
       Stratosphere.Resources.EMRSecurityConfiguration
       Stratosphere.Resources.EMRStep
+      Stratosphere.Resources.EventSchemasDiscoverer
+      Stratosphere.Resources.EventSchemasRegistry
+      Stratosphere.Resources.EventSchemasSchema
       Stratosphere.Resources.EventsEventBus
       Stratosphere.Resources.EventsEventBusPolicy
       Stratosphere.Resources.EventsRule
@@ -1393,6 +1453,10 @@
       Stratosphere.Resources.GameLiftAlias
       Stratosphere.Resources.GameLiftBuild
       Stratosphere.Resources.GameLiftFleet
+      Stratosphere.Resources.GameLiftGameSessionQueue
+      Stratosphere.Resources.GameLiftMatchmakingConfiguration
+      Stratosphere.Resources.GameLiftMatchmakingRuleSet
+      Stratosphere.Resources.GameLiftScript
       Stratosphere.Resources.GlueClassifier
       Stratosphere.Resources.GlueConnection
       Stratosphere.Resources.GlueCrawler
@@ -1472,6 +1536,7 @@
       Stratosphere.Resources.LakeFormationPermissions
       Stratosphere.Resources.LakeFormationResource
       Stratosphere.Resources.LambdaAlias
+      Stratosphere.Resources.LambdaEventInvokeConfig
       Stratosphere.Resources.LambdaEventSourceMapping
       Stratosphere.Resources.LambdaFunction
       Stratosphere.Resources.LambdaLayerVersion
@@ -1557,6 +1622,7 @@
       Stratosphere.Resources.Route53ResolverResolverEndpoint
       Stratosphere.Resources.Route53ResolverResolverRule
       Stratosphere.Resources.Route53ResolverResolverRuleAssociation
+      Stratosphere.Resources.S3AccessPoint
       Stratosphere.Resources.S3Bucket
       Stratosphere.Resources.S3BucketPolicy
       Stratosphere.Resources.SageMakerCodeRepository
