diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.26.0
+
+* Update resource specification document to version 2.8.0
+
 ## 0.25.0
 
 * Update resource specification document to version 2.6.0
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentAccessLogSetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentAccessLogSetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentAccessLogSetting.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html
+
+module Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayDeploymentAccessLogSetting. See
+-- 'apiGatewayDeploymentAccessLogSetting' for a more convenient constructor.
+data ApiGatewayDeploymentAccessLogSetting =
+  ApiGatewayDeploymentAccessLogSetting
+  { _apiGatewayDeploymentAccessLogSettingDestinationArn :: Maybe (Val Text)
+  , _apiGatewayDeploymentAccessLogSettingFormat :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayDeploymentAccessLogSetting where
+  toJSON ApiGatewayDeploymentAccessLogSetting{..} =
+    object $
+    catMaybes
+    [ fmap (("DestinationArn",) . toJSON) _apiGatewayDeploymentAccessLogSettingDestinationArn
+    , fmap (("Format",) . toJSON) _apiGatewayDeploymentAccessLogSettingFormat
+    ]
+
+instance FromJSON ApiGatewayDeploymentAccessLogSetting where
+  parseJSON (Object obj) =
+    ApiGatewayDeploymentAccessLogSetting <$>
+      (obj .:? "DestinationArn") <*>
+      (obj .:? "Format")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ApiGatewayDeploymentAccessLogSetting' containing
+-- required fields as arguments.
+apiGatewayDeploymentAccessLogSetting
+  :: ApiGatewayDeploymentAccessLogSetting
+apiGatewayDeploymentAccessLogSetting  =
+  ApiGatewayDeploymentAccessLogSetting
+  { _apiGatewayDeploymentAccessLogSettingDestinationArn = Nothing
+  , _apiGatewayDeploymentAccessLogSettingFormat = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-destinationarn
+agdalsDestinationArn :: Lens' ApiGatewayDeploymentAccessLogSetting (Maybe (Val Text))
+agdalsDestinationArn = lens _apiGatewayDeploymentAccessLogSettingDestinationArn (\s a -> s { _apiGatewayDeploymentAccessLogSettingDestinationArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-format
+agdalsFormat :: Lens' ApiGatewayDeploymentAccessLogSetting (Maybe (Val Text))
+agdalsFormat = lens _apiGatewayDeploymentAccessLogSettingFormat (\s a -> s { _apiGatewayDeploymentAccessLogSettingFormat = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html
+
+module Stratosphere.ResourceProperties.ApiGatewayDeploymentCanarySetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayDeploymentCanarySetting. See
+-- 'apiGatewayDeploymentCanarySetting' for a more convenient constructor.
+data ApiGatewayDeploymentCanarySetting =
+  ApiGatewayDeploymentCanarySetting
+  { _apiGatewayDeploymentCanarySettingPercentTraffic :: Maybe (Val Double)
+  , _apiGatewayDeploymentCanarySettingStageVariableOverrides :: Maybe Object
+  , _apiGatewayDeploymentCanarySettingUseStageCache :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayDeploymentCanarySetting where
+  toJSON ApiGatewayDeploymentCanarySetting{..} =
+    object $
+    catMaybes
+    [ fmap (("PercentTraffic",) . toJSON . fmap Double') _apiGatewayDeploymentCanarySettingPercentTraffic
+    , fmap (("StageVariableOverrides",) . toJSON) _apiGatewayDeploymentCanarySettingStageVariableOverrides
+    , fmap (("UseStageCache",) . toJSON . fmap Bool') _apiGatewayDeploymentCanarySettingUseStageCache
+    ]
+
+instance FromJSON ApiGatewayDeploymentCanarySetting where
+  parseJSON (Object obj) =
+    ApiGatewayDeploymentCanarySetting <$>
+      fmap (fmap (fmap unDouble')) (obj .:? "PercentTraffic") <*>
+      (obj .:? "StageVariableOverrides") <*>
+      fmap (fmap (fmap unBool')) (obj .:? "UseStageCache")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ApiGatewayDeploymentCanarySetting' containing required
+-- fields as arguments.
+apiGatewayDeploymentCanarySetting
+  :: ApiGatewayDeploymentCanarySetting
+apiGatewayDeploymentCanarySetting  =
+  ApiGatewayDeploymentCanarySetting
+  { _apiGatewayDeploymentCanarySettingPercentTraffic = Nothing
+  , _apiGatewayDeploymentCanarySettingStageVariableOverrides = Nothing
+  , _apiGatewayDeploymentCanarySettingUseStageCache = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-percenttraffic
+agdcsPercentTraffic :: Lens' ApiGatewayDeploymentCanarySetting (Maybe (Val Double))
+agdcsPercentTraffic = lens _apiGatewayDeploymentCanarySettingPercentTraffic (\s a -> s { _apiGatewayDeploymentCanarySettingPercentTraffic = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-stagevariableoverrides
+agdcsStageVariableOverrides :: Lens' ApiGatewayDeploymentCanarySetting (Maybe Object)
+agdcsStageVariableOverrides = lens _apiGatewayDeploymentCanarySettingStageVariableOverrides (\s a -> s { _apiGatewayDeploymentCanarySettingStageVariableOverrides = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-usestagecache
+agdcsUseStageCache :: Lens' ApiGatewayDeploymentCanarySetting (Maybe (Val Bool))
+agdcsUseStageCache = lens _apiGatewayDeploymentCanarySettingUseStageCache (\s a -> s { _apiGatewayDeploymentCanarySettingUseStageCache = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html
+
+module Stratosphere.ResourceProperties.ApiGatewayDeploymentDeploymentCanarySettings where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ApiGatewayDeploymentDeploymentCanarySettings. See
+-- 'apiGatewayDeploymentDeploymentCanarySettings' for a more convenient
+-- constructor.
+data ApiGatewayDeploymentDeploymentCanarySettings =
+  ApiGatewayDeploymentDeploymentCanarySettings
+  { _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic :: Maybe (Val Double)
+  , _apiGatewayDeploymentDeploymentCanarySettingsStageVariableOverrides :: Maybe Object
+  , _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayDeploymentDeploymentCanarySettings where
+  toJSON ApiGatewayDeploymentDeploymentCanarySettings{..} =
+    object $
+    catMaybes
+    [ fmap (("PercentTraffic",) . toJSON . fmap Double') _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic
+    , fmap (("StageVariableOverrides",) . toJSON) _apiGatewayDeploymentDeploymentCanarySettingsStageVariableOverrides
+    , fmap (("UseStageCache",) . toJSON . fmap Bool') _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache
+    ]
+
+instance FromJSON ApiGatewayDeploymentDeploymentCanarySettings where
+  parseJSON (Object obj) =
+    ApiGatewayDeploymentDeploymentCanarySettings <$>
+      fmap (fmap (fmap unDouble')) (obj .:? "PercentTraffic") <*>
+      (obj .:? "StageVariableOverrides") <*>
+      fmap (fmap (fmap unBool')) (obj .:? "UseStageCache")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ApiGatewayDeploymentDeploymentCanarySettings' containing
+-- required fields as arguments.
+apiGatewayDeploymentDeploymentCanarySettings
+  :: ApiGatewayDeploymentDeploymentCanarySettings
+apiGatewayDeploymentDeploymentCanarySettings  =
+  ApiGatewayDeploymentDeploymentCanarySettings
+  { _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic = Nothing
+  , _apiGatewayDeploymentDeploymentCanarySettingsStageVariableOverrides = Nothing
+  , _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-percenttraffic
+agddcsPercentTraffic :: Lens' ApiGatewayDeploymentDeploymentCanarySettings (Maybe (Val Double))
+agddcsPercentTraffic = lens _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic (\s a -> s { _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-stagevariableoverrides
+agddcsStageVariableOverrides :: Lens' ApiGatewayDeploymentDeploymentCanarySettings (Maybe Object)
+agddcsStageVariableOverrides = lens _apiGatewayDeploymentDeploymentCanarySettingsStageVariableOverrides (\s a -> s { _apiGatewayDeploymentDeploymentCanarySettingsStageVariableOverrides = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-usestagecache
+agddcsUseStageCache :: Lens' ApiGatewayDeploymentDeploymentCanarySettings (Maybe (Val Bool))
+agddcsUseStageCache = lens _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache (\s a -> s { _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs
@@ -8,17 +8,21 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.Types
+import Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting
+import Stratosphere.ResourceProperties.ApiGatewayDeploymentCanarySetting
 import Stratosphere.ResourceProperties.ApiGatewayDeploymentMethodSetting
 
 -- | Full data type definition for ApiGatewayDeploymentStageDescription. See
 -- 'apiGatewayDeploymentStageDescription' for a more convenient constructor.
 data ApiGatewayDeploymentStageDescription =
   ApiGatewayDeploymentStageDescription
-  { _apiGatewayDeploymentStageDescriptionCacheClusterEnabled :: Maybe (Val Bool)
+  { _apiGatewayDeploymentStageDescriptionAccessLogSetting :: Maybe ApiGatewayDeploymentAccessLogSetting
+  , _apiGatewayDeploymentStageDescriptionCacheClusterEnabled :: Maybe (Val Bool)
   , _apiGatewayDeploymentStageDescriptionCacheClusterSize :: Maybe (Val Text)
   , _apiGatewayDeploymentStageDescriptionCacheDataEncrypted :: Maybe (Val Bool)
   , _apiGatewayDeploymentStageDescriptionCacheTtlInSeconds :: Maybe (Val Integer)
   , _apiGatewayDeploymentStageDescriptionCachingEnabled :: Maybe (Val Bool)
+  , _apiGatewayDeploymentStageDescriptionCanarySetting :: Maybe ApiGatewayDeploymentCanarySetting
   , _apiGatewayDeploymentStageDescriptionClientCertificateId :: Maybe (Val Text)
   , _apiGatewayDeploymentStageDescriptionDataTraceEnabled :: Maybe (Val Bool)
   , _apiGatewayDeploymentStageDescriptionDescription :: Maybe (Val Text)
@@ -35,11 +39,13 @@
   toJSON ApiGatewayDeploymentStageDescription{..} =
     object $
     catMaybes
-    [ fmap (("CacheClusterEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCacheClusterEnabled
+    [ fmap (("AccessLogSetting",) . toJSON) _apiGatewayDeploymentStageDescriptionAccessLogSetting
+    , fmap (("CacheClusterEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCacheClusterEnabled
     , fmap (("CacheClusterSize",) . toJSON) _apiGatewayDeploymentStageDescriptionCacheClusterSize
     , fmap (("CacheDataEncrypted",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCacheDataEncrypted
     , fmap (("CacheTtlInSeconds",) . toJSON . fmap Integer') _apiGatewayDeploymentStageDescriptionCacheTtlInSeconds
     , fmap (("CachingEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCachingEnabled
+    , fmap (("CanarySetting",) . toJSON) _apiGatewayDeploymentStageDescriptionCanarySetting
     , fmap (("ClientCertificateId",) . toJSON) _apiGatewayDeploymentStageDescriptionClientCertificateId
     , fmap (("DataTraceEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionDataTraceEnabled
     , fmap (("Description",) . toJSON) _apiGatewayDeploymentStageDescriptionDescription
@@ -55,11 +61,13 @@
 instance FromJSON ApiGatewayDeploymentStageDescription where
   parseJSON (Object obj) =
     ApiGatewayDeploymentStageDescription <$>
+      (obj .:? "AccessLogSetting") <*>
       fmap (fmap (fmap unBool')) (obj .:? "CacheClusterEnabled") <*>
       (obj .:? "CacheClusterSize") <*>
       fmap (fmap (fmap unBool')) (obj .:? "CacheDataEncrypted") <*>
       fmap (fmap (fmap unInteger')) (obj .:? "CacheTtlInSeconds") <*>
       fmap (fmap (fmap unBool')) (obj .:? "CachingEnabled") <*>
+      (obj .:? "CanarySetting") <*>
       (obj .:? "ClientCertificateId") <*>
       fmap (fmap (fmap unBool')) (obj .:? "DataTraceEnabled") <*>
       (obj .:? "Description") <*>
@@ -78,11 +86,13 @@
   :: ApiGatewayDeploymentStageDescription
 apiGatewayDeploymentStageDescription  =
   ApiGatewayDeploymentStageDescription
-  { _apiGatewayDeploymentStageDescriptionCacheClusterEnabled = Nothing
+  { _apiGatewayDeploymentStageDescriptionAccessLogSetting = Nothing
+  , _apiGatewayDeploymentStageDescriptionCacheClusterEnabled = Nothing
   , _apiGatewayDeploymentStageDescriptionCacheClusterSize = Nothing
   , _apiGatewayDeploymentStageDescriptionCacheDataEncrypted = Nothing
   , _apiGatewayDeploymentStageDescriptionCacheTtlInSeconds = Nothing
   , _apiGatewayDeploymentStageDescriptionCachingEnabled = Nothing
+  , _apiGatewayDeploymentStageDescriptionCanarySetting = Nothing
   , _apiGatewayDeploymentStageDescriptionClientCertificateId = Nothing
   , _apiGatewayDeploymentStageDescriptionDataTraceEnabled = Nothing
   , _apiGatewayDeploymentStageDescriptionDescription = Nothing
@@ -95,6 +105,10 @@
   , _apiGatewayDeploymentStageDescriptionVariables = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-accesslogsetting
+agdsdAccessLogSetting :: Lens' ApiGatewayDeploymentStageDescription (Maybe ApiGatewayDeploymentAccessLogSetting)
+agdsdAccessLogSetting = lens _apiGatewayDeploymentStageDescriptionAccessLogSetting (\s a -> s { _apiGatewayDeploymentStageDescriptionAccessLogSetting = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled
 agdsdCacheClusterEnabled :: Lens' ApiGatewayDeploymentStageDescription (Maybe (Val Bool))
 agdsdCacheClusterEnabled = lens _apiGatewayDeploymentStageDescriptionCacheClusterEnabled (\s a -> s { _apiGatewayDeploymentStageDescriptionCacheClusterEnabled = a })
@@ -114,6 +128,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled
 agdsdCachingEnabled :: Lens' ApiGatewayDeploymentStageDescription (Maybe (Val Bool))
 agdsdCachingEnabled = lens _apiGatewayDeploymentStageDescriptionCachingEnabled (\s a -> s { _apiGatewayDeploymentStageDescriptionCachingEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-canarysetting
+agdsdCanarySetting :: Lens' ApiGatewayDeploymentStageDescription (Maybe ApiGatewayDeploymentCanarySetting)
+agdsdCanarySetting = lens _apiGatewayDeploymentStageDescriptionCanarySetting (\s a -> s { _apiGatewayDeploymentStageDescriptionCanarySetting = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-clientcertificateid
 agdsdClientCertificateId :: Lens' ApiGatewayDeploymentStageDescription (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs
@@ -16,6 +16,8 @@
   ApiGatewayMethodIntegration
   { _apiGatewayMethodIntegrationCacheKeyParameters :: Maybe (ValList Text)
   , _apiGatewayMethodIntegrationCacheNamespace :: Maybe (Val Text)
+  , _apiGatewayMethodIntegrationConnectionId :: Maybe (Val Text)
+  , _apiGatewayMethodIntegrationConnectionType :: Maybe (Val Text)
   , _apiGatewayMethodIntegrationContentHandling :: Maybe (Val Text)
   , _apiGatewayMethodIntegrationCredentials :: Maybe (Val Text)
   , _apiGatewayMethodIntegrationIntegrationHttpMethod :: Maybe (Val HttpMethod)
@@ -23,6 +25,7 @@
   , _apiGatewayMethodIntegrationPassthroughBehavior :: Maybe (Val PassthroughBehavior)
   , _apiGatewayMethodIntegrationRequestParameters :: Maybe Object
   , _apiGatewayMethodIntegrationRequestTemplates :: Maybe Object
+  , _apiGatewayMethodIntegrationTimeoutInMillis :: Maybe (Val Integer)
   , _apiGatewayMethodIntegrationType :: Maybe (Val ApiBackendType)
   , _apiGatewayMethodIntegrationUri :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -33,6 +36,8 @@
     catMaybes
     [ fmap (("CacheKeyParameters",) . toJSON) _apiGatewayMethodIntegrationCacheKeyParameters
     , fmap (("CacheNamespace",) . toJSON) _apiGatewayMethodIntegrationCacheNamespace
+    , fmap (("ConnectionId",) . toJSON) _apiGatewayMethodIntegrationConnectionId
+    , fmap (("ConnectionType",) . toJSON) _apiGatewayMethodIntegrationConnectionType
     , fmap (("ContentHandling",) . toJSON) _apiGatewayMethodIntegrationContentHandling
     , fmap (("Credentials",) . toJSON) _apiGatewayMethodIntegrationCredentials
     , fmap (("IntegrationHttpMethod",) . toJSON) _apiGatewayMethodIntegrationIntegrationHttpMethod
@@ -40,6 +45,7 @@
     , fmap (("PassthroughBehavior",) . toJSON) _apiGatewayMethodIntegrationPassthroughBehavior
     , fmap (("RequestParameters",) . toJSON) _apiGatewayMethodIntegrationRequestParameters
     , fmap (("RequestTemplates",) . toJSON) _apiGatewayMethodIntegrationRequestTemplates
+    , fmap (("TimeoutInMillis",) . toJSON . fmap Integer') _apiGatewayMethodIntegrationTimeoutInMillis
     , fmap (("Type",) . toJSON) _apiGatewayMethodIntegrationType
     , fmap (("Uri",) . toJSON) _apiGatewayMethodIntegrationUri
     ]
@@ -49,6 +55,8 @@
     ApiGatewayMethodIntegration <$>
       (obj .:? "CacheKeyParameters") <*>
       (obj .:? "CacheNamespace") <*>
+      (obj .:? "ConnectionId") <*>
+      (obj .:? "ConnectionType") <*>
       (obj .:? "ContentHandling") <*>
       (obj .:? "Credentials") <*>
       (obj .:? "IntegrationHttpMethod") <*>
@@ -56,6 +64,7 @@
       (obj .:? "PassthroughBehavior") <*>
       (obj .:? "RequestParameters") <*>
       (obj .:? "RequestTemplates") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "TimeoutInMillis") <*>
       (obj .:? "Type") <*>
       (obj .:? "Uri")
   parseJSON _ = mempty
@@ -68,6 +77,8 @@
   ApiGatewayMethodIntegration
   { _apiGatewayMethodIntegrationCacheKeyParameters = Nothing
   , _apiGatewayMethodIntegrationCacheNamespace = Nothing
+  , _apiGatewayMethodIntegrationConnectionId = Nothing
+  , _apiGatewayMethodIntegrationConnectionType = Nothing
   , _apiGatewayMethodIntegrationContentHandling = Nothing
   , _apiGatewayMethodIntegrationCredentials = Nothing
   , _apiGatewayMethodIntegrationIntegrationHttpMethod = Nothing
@@ -75,6 +86,7 @@
   , _apiGatewayMethodIntegrationPassthroughBehavior = Nothing
   , _apiGatewayMethodIntegrationRequestParameters = Nothing
   , _apiGatewayMethodIntegrationRequestTemplates = Nothing
+  , _apiGatewayMethodIntegrationTimeoutInMillis = Nothing
   , _apiGatewayMethodIntegrationType = Nothing
   , _apiGatewayMethodIntegrationUri = Nothing
   }
@@ -87,6 +99,14 @@
 agmiCacheNamespace :: Lens' ApiGatewayMethodIntegration (Maybe (Val Text))
 agmiCacheNamespace = lens _apiGatewayMethodIntegrationCacheNamespace (\s a -> s { _apiGatewayMethodIntegrationCacheNamespace = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectionid
+agmiConnectionId :: Lens' ApiGatewayMethodIntegration (Maybe (Val Text))
+agmiConnectionId = lens _apiGatewayMethodIntegrationConnectionId (\s a -> s { _apiGatewayMethodIntegrationConnectionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectiontype
+agmiConnectionType :: Lens' ApiGatewayMethodIntegration (Maybe (Val Text))
+agmiConnectionType = lens _apiGatewayMethodIntegrationConnectionType (\s a -> s { _apiGatewayMethodIntegrationConnectionType = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-contenthandling
 agmiContentHandling :: Lens' ApiGatewayMethodIntegration (Maybe (Val Text))
 agmiContentHandling = lens _apiGatewayMethodIntegrationContentHandling (\s a -> s { _apiGatewayMethodIntegrationContentHandling = a })
@@ -114,6 +134,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requesttemplates
 agmiRequestTemplates :: Lens' ApiGatewayMethodIntegration (Maybe Object)
 agmiRequestTemplates = lens _apiGatewayMethodIntegrationRequestTemplates (\s a -> s { _apiGatewayMethodIntegrationRequestTemplates = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-timeoutinmillis
+agmiTimeoutInMillis :: Lens' ApiGatewayMethodIntegration (Maybe (Val Integer))
+agmiTimeoutInMillis = lens _apiGatewayMethodIntegrationTimeoutInMillis (\s a -> s { _apiGatewayMethodIntegrationTimeoutInMillis = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-type
 agmiType :: Lens' ApiGatewayMethodIntegration (Maybe (Val ApiBackendType))
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageAccessLogSetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageAccessLogSetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageAccessLogSetting.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html
+
+module Stratosphere.ResourceProperties.ApiGatewayStageAccessLogSetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayStageAccessLogSetting. See
+-- 'apiGatewayStageAccessLogSetting' for a more convenient constructor.
+data ApiGatewayStageAccessLogSetting =
+  ApiGatewayStageAccessLogSetting
+  { _apiGatewayStageAccessLogSettingDestinationArn :: Maybe (Val Text)
+  , _apiGatewayStageAccessLogSettingFormat :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayStageAccessLogSetting where
+  toJSON ApiGatewayStageAccessLogSetting{..} =
+    object $
+    catMaybes
+    [ fmap (("DestinationArn",) . toJSON) _apiGatewayStageAccessLogSettingDestinationArn
+    , fmap (("Format",) . toJSON) _apiGatewayStageAccessLogSettingFormat
+    ]
+
+instance FromJSON ApiGatewayStageAccessLogSetting where
+  parseJSON (Object obj) =
+    ApiGatewayStageAccessLogSetting <$>
+      (obj .:? "DestinationArn") <*>
+      (obj .:? "Format")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ApiGatewayStageAccessLogSetting' containing required
+-- fields as arguments.
+apiGatewayStageAccessLogSetting
+  :: ApiGatewayStageAccessLogSetting
+apiGatewayStageAccessLogSetting  =
+  ApiGatewayStageAccessLogSetting
+  { _apiGatewayStageAccessLogSettingDestinationArn = Nothing
+  , _apiGatewayStageAccessLogSettingFormat = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-destinationarn
+agsalsDestinationArn :: Lens' ApiGatewayStageAccessLogSetting (Maybe (Val Text))
+agsalsDestinationArn = lens _apiGatewayStageAccessLogSettingDestinationArn (\s a -> s { _apiGatewayStageAccessLogSettingDestinationArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-format
+agsalsFormat :: Lens' ApiGatewayStageAccessLogSetting (Maybe (Val Text))
+agsalsFormat = lens _apiGatewayStageAccessLogSettingFormat (\s a -> s { _apiGatewayStageAccessLogSettingFormat = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html
+
+module Stratosphere.ResourceProperties.ApiGatewayStageCanarySetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayStageCanarySetting. See
+-- 'apiGatewayStageCanarySetting' for a more convenient constructor.
+data ApiGatewayStageCanarySetting =
+  ApiGatewayStageCanarySetting
+  { _apiGatewayStageCanarySettingDeploymentId :: Maybe (Val Text)
+  , _apiGatewayStageCanarySettingPercentTraffic :: Maybe (Val Double)
+  , _apiGatewayStageCanarySettingStageVariableOverrides :: Maybe Object
+  , _apiGatewayStageCanarySettingUseStageCache :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayStageCanarySetting where
+  toJSON ApiGatewayStageCanarySetting{..} =
+    object $
+    catMaybes
+    [ fmap (("DeploymentId",) . toJSON) _apiGatewayStageCanarySettingDeploymentId
+    , fmap (("PercentTraffic",) . toJSON . fmap Double') _apiGatewayStageCanarySettingPercentTraffic
+    , fmap (("StageVariableOverrides",) . toJSON) _apiGatewayStageCanarySettingStageVariableOverrides
+    , fmap (("UseStageCache",) . toJSON . fmap Bool') _apiGatewayStageCanarySettingUseStageCache
+    ]
+
+instance FromJSON ApiGatewayStageCanarySetting where
+  parseJSON (Object obj) =
+    ApiGatewayStageCanarySetting <$>
+      (obj .:? "DeploymentId") <*>
+      fmap (fmap (fmap unDouble')) (obj .:? "PercentTraffic") <*>
+      (obj .:? "StageVariableOverrides") <*>
+      fmap (fmap (fmap unBool')) (obj .:? "UseStageCache")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ApiGatewayStageCanarySetting' containing required fields
+-- as arguments.
+apiGatewayStageCanarySetting
+  :: ApiGatewayStageCanarySetting
+apiGatewayStageCanarySetting  =
+  ApiGatewayStageCanarySetting
+  { _apiGatewayStageCanarySettingDeploymentId = Nothing
+  , _apiGatewayStageCanarySettingPercentTraffic = Nothing
+  , _apiGatewayStageCanarySettingStageVariableOverrides = Nothing
+  , _apiGatewayStageCanarySettingUseStageCache = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-deploymentid
+agscsDeploymentId :: Lens' ApiGatewayStageCanarySetting (Maybe (Val Text))
+agscsDeploymentId = lens _apiGatewayStageCanarySettingDeploymentId (\s a -> s { _apiGatewayStageCanarySettingDeploymentId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-percenttraffic
+agscsPercentTraffic :: Lens' ApiGatewayStageCanarySetting (Maybe (Val Double))
+agscsPercentTraffic = lens _apiGatewayStageCanarySettingPercentTraffic (\s a -> s { _apiGatewayStageCanarySettingPercentTraffic = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-stagevariableoverrides
+agscsStageVariableOverrides :: Lens' ApiGatewayStageCanarySetting (Maybe Object)
+agscsStageVariableOverrides = lens _apiGatewayStageCanarySettingStageVariableOverrides (\s a -> s { _apiGatewayStageCanarySettingStageVariableOverrides = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-usestagecache
+agscsUseStageCache :: Lens' ApiGatewayStageCanarySetting (Maybe (Val Bool))
+agscsUseStageCache = lens _apiGatewayStageCanarySettingUseStageCache (\s a -> s { _apiGatewayStageCanarySettingUseStageCache = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs
@@ -7,7 +7,7 @@
 module Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings
 
 -- | Full data type definition for ApiGatewayUsagePlanApiStage. See
 -- 'apiGatewayUsagePlanApiStage' for a more convenient constructor.
@@ -15,6 +15,7 @@
   ApiGatewayUsagePlanApiStage
   { _apiGatewayUsagePlanApiStageApiId :: Maybe (Val Text)
   , _apiGatewayUsagePlanApiStageStage :: Maybe (Val Text)
+  , _apiGatewayUsagePlanApiStageThrottle :: Maybe (Map Text ApiGatewayUsagePlanThrottleSettings)
   } deriving (Show, Eq)
 
 instance ToJSON ApiGatewayUsagePlanApiStage where
@@ -23,13 +24,15 @@
     catMaybes
     [ fmap (("ApiId",) . toJSON) _apiGatewayUsagePlanApiStageApiId
     , fmap (("Stage",) . toJSON) _apiGatewayUsagePlanApiStageStage
+    , fmap (("Throttle",) . toJSON) _apiGatewayUsagePlanApiStageThrottle
     ]
 
 instance FromJSON ApiGatewayUsagePlanApiStage where
   parseJSON (Object obj) =
     ApiGatewayUsagePlanApiStage <$>
       (obj .:? "ApiId") <*>
-      (obj .:? "Stage")
+      (obj .:? "Stage") <*>
+      (obj .:? "Throttle")
   parseJSON _ = mempty
 
 -- | Constructor for 'ApiGatewayUsagePlanApiStage' containing required fields
@@ -40,6 +43,7 @@
   ApiGatewayUsagePlanApiStage
   { _apiGatewayUsagePlanApiStageApiId = Nothing
   , _apiGatewayUsagePlanApiStageStage = Nothing
+  , _apiGatewayUsagePlanApiStageThrottle = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-apiid
@@ -49,3 +53,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-stage
 agupasStage :: Lens' ApiGatewayUsagePlanApiStage (Maybe (Val Text))
 agupasStage = lens _apiGatewayUsagePlanApiStageStage (\s a -> s { _apiGatewayUsagePlanApiStageStage = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-throttle
+agupasThrottle :: Lens' ApiGatewayUsagePlanApiStage (Maybe (Map Text ApiGatewayUsagePlanThrottleSettings))
+agupasThrottle = lens _apiGatewayUsagePlanApiStageThrottle (\s a -> s { _apiGatewayUsagePlanApiStageThrottle = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLaunchTemplateSpecification.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLaunchTemplateSpecification.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLaunchTemplateSpecification.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html
+
+module Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- AutoScalingAutoScalingGroupLaunchTemplateSpecification. See
+-- 'autoScalingAutoScalingGroupLaunchTemplateSpecification' for a more
+-- convenient constructor.
+data AutoScalingAutoScalingGroupLaunchTemplateSpecification =
+  AutoScalingAutoScalingGroupLaunchTemplateSpecification
+  { _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateId :: Maybe (Val Text)
+  , _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateName :: Maybe (Val Text)
+  , _autoScalingAutoScalingGroupLaunchTemplateSpecificationVersion :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AutoScalingAutoScalingGroupLaunchTemplateSpecification where
+  toJSON AutoScalingAutoScalingGroupLaunchTemplateSpecification{..} =
+    object $
+    catMaybes
+    [ fmap (("LaunchTemplateId",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateId
+    , fmap (("LaunchTemplateName",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateName
+    , (Just . ("Version",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplateSpecificationVersion
+    ]
+
+instance FromJSON AutoScalingAutoScalingGroupLaunchTemplateSpecification where
+  parseJSON (Object obj) =
+    AutoScalingAutoScalingGroupLaunchTemplateSpecification <$>
+      (obj .:? "LaunchTemplateId") <*>
+      (obj .:? "LaunchTemplateName") <*>
+      (obj .: "Version")
+  parseJSON _ = mempty
+
+-- | Constructor for 'AutoScalingAutoScalingGroupLaunchTemplateSpecification'
+-- containing required fields as arguments.
+autoScalingAutoScalingGroupLaunchTemplateSpecification
+  :: Val Text -- ^ 'asasgltsVersion'
+  -> AutoScalingAutoScalingGroupLaunchTemplateSpecification
+autoScalingAutoScalingGroupLaunchTemplateSpecification versionarg =
+  AutoScalingAutoScalingGroupLaunchTemplateSpecification
+  { _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateId = Nothing
+  , _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateName = Nothing
+  , _autoScalingAutoScalingGroupLaunchTemplateSpecificationVersion = versionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplateid
+asasgltsLaunchTemplateId :: Lens' AutoScalingAutoScalingGroupLaunchTemplateSpecification (Maybe (Val Text))
+asasgltsLaunchTemplateId = lens _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateId (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplatename
+asasgltsLaunchTemplateName :: Lens' AutoScalingAutoScalingGroupLaunchTemplateSpecification (Maybe (Val Text))
+asasgltsLaunchTemplateName = lens _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateName (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplateSpecificationLaunchTemplateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-version
+asasgltsVersion :: Lens' AutoScalingAutoScalingGroupLaunchTemplateSpecification (Val Text)
+asasgltsVersion = lens _autoScalingAutoScalingGroupLaunchTemplateSpecificationVersion (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplateSpecificationVersion = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs
@@ -13,7 +13,8 @@
 -- 'codeBuildProjectArtifacts' for a more convenient constructor.
 data CodeBuildProjectArtifacts =
   CodeBuildProjectArtifacts
-  { _codeBuildProjectArtifactsEncryptionDisabled :: Maybe (Val Bool)
+  { _codeBuildProjectArtifactsArtifactIdentifier :: Maybe (Val Text)
+  , _codeBuildProjectArtifactsEncryptionDisabled :: Maybe (Val Bool)
   , _codeBuildProjectArtifactsLocation :: Maybe (Val Text)
   , _codeBuildProjectArtifactsName :: Maybe (Val Text)
   , _codeBuildProjectArtifactsNamespaceType :: Maybe (Val Text)
@@ -27,7 +28,8 @@
   toJSON CodeBuildProjectArtifacts{..} =
     object $
     catMaybes
-    [ fmap (("EncryptionDisabled",) . toJSON . fmap Bool') _codeBuildProjectArtifactsEncryptionDisabled
+    [ fmap (("ArtifactIdentifier",) . toJSON) _codeBuildProjectArtifactsArtifactIdentifier
+    , fmap (("EncryptionDisabled",) . toJSON . fmap Bool') _codeBuildProjectArtifactsEncryptionDisabled
     , fmap (("Location",) . toJSON) _codeBuildProjectArtifactsLocation
     , fmap (("Name",) . toJSON) _codeBuildProjectArtifactsName
     , fmap (("NamespaceType",) . toJSON) _codeBuildProjectArtifactsNamespaceType
@@ -40,6 +42,7 @@
 instance FromJSON CodeBuildProjectArtifacts where
   parseJSON (Object obj) =
     CodeBuildProjectArtifacts <$>
+      (obj .:? "ArtifactIdentifier") <*>
       fmap (fmap (fmap unBool')) (obj .:? "EncryptionDisabled") <*>
       (obj .:? "Location") <*>
       (obj .:? "Name") <*>
@@ -57,7 +60,8 @@
   -> CodeBuildProjectArtifacts
 codeBuildProjectArtifacts typearg =
   CodeBuildProjectArtifacts
-  { _codeBuildProjectArtifactsEncryptionDisabled = Nothing
+  { _codeBuildProjectArtifactsArtifactIdentifier = Nothing
+  , _codeBuildProjectArtifactsEncryptionDisabled = Nothing
   , _codeBuildProjectArtifactsLocation = Nothing
   , _codeBuildProjectArtifactsName = Nothing
   , _codeBuildProjectArtifactsNamespaceType = Nothing
@@ -66,6 +70,10 @@
   , _codeBuildProjectArtifactsPath = Nothing
   , _codeBuildProjectArtifactsType = typearg
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-artifactidentifier
+cbpaArtifactIdentifier :: Lens' CodeBuildProjectArtifacts (Maybe (Val Text))
+cbpaArtifactIdentifier = lens _codeBuildProjectArtifactsArtifactIdentifier (\s a -> s { _codeBuildProjectArtifactsArtifactIdentifier = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-encryptiondisabled
 cbpaEncryptionDisabled :: Lens' CodeBuildProjectArtifacts (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectCloudWatchLogsConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectCloudWatchLogsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectCloudWatchLogsConfig.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeBuildProjectCloudWatchLogsConfig. See
+-- 'codeBuildProjectCloudWatchLogsConfig' for a more convenient constructor.
+data CodeBuildProjectCloudWatchLogsConfig =
+  CodeBuildProjectCloudWatchLogsConfig
+  { _codeBuildProjectCloudWatchLogsConfigGroupName :: Maybe (Val Text)
+  , _codeBuildProjectCloudWatchLogsConfigStatus :: Val Text
+  , _codeBuildProjectCloudWatchLogsConfigStreamName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildProjectCloudWatchLogsConfig where
+  toJSON CodeBuildProjectCloudWatchLogsConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("GroupName",) . toJSON) _codeBuildProjectCloudWatchLogsConfigGroupName
+    , (Just . ("Status",) . toJSON) _codeBuildProjectCloudWatchLogsConfigStatus
+    , fmap (("StreamName",) . toJSON) _codeBuildProjectCloudWatchLogsConfigStreamName
+    ]
+
+instance FromJSON CodeBuildProjectCloudWatchLogsConfig where
+  parseJSON (Object obj) =
+    CodeBuildProjectCloudWatchLogsConfig <$>
+      (obj .:? "GroupName") <*>
+      (obj .: "Status") <*>
+      (obj .:? "StreamName")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeBuildProjectCloudWatchLogsConfig' containing
+-- required fields as arguments.
+codeBuildProjectCloudWatchLogsConfig
+  :: Val Text -- ^ 'cbpcwlcStatus'
+  -> CodeBuildProjectCloudWatchLogsConfig
+codeBuildProjectCloudWatchLogsConfig statusarg =
+  CodeBuildProjectCloudWatchLogsConfig
+  { _codeBuildProjectCloudWatchLogsConfigGroupName = Nothing
+  , _codeBuildProjectCloudWatchLogsConfigStatus = statusarg
+  , _codeBuildProjectCloudWatchLogsConfigStreamName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-groupname
+cbpcwlcGroupName :: Lens' CodeBuildProjectCloudWatchLogsConfig (Maybe (Val Text))
+cbpcwlcGroupName = lens _codeBuildProjectCloudWatchLogsConfigGroupName (\s a -> s { _codeBuildProjectCloudWatchLogsConfigGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-status
+cbpcwlcStatus :: Lens' CodeBuildProjectCloudWatchLogsConfig (Val Text)
+cbpcwlcStatus = lens _codeBuildProjectCloudWatchLogsConfigStatus (\s a -> s { _codeBuildProjectCloudWatchLogsConfigStatus = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-streamname
+cbpcwlcStreamName :: Lens' CodeBuildProjectCloudWatchLogsConfig (Maybe (Val Text))
+cbpcwlcStreamName = lens _codeBuildProjectCloudWatchLogsConfigStreamName (\s a -> s { _codeBuildProjectCloudWatchLogsConfigStreamName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectLogsConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectLogsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectLogsConfig.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig
+import Stratosphere.ResourceProperties.CodeBuildProjectS3LogsConfig
+
+-- | Full data type definition for CodeBuildProjectLogsConfig. See
+-- 'codeBuildProjectLogsConfig' for a more convenient constructor.
+data CodeBuildProjectLogsConfig =
+  CodeBuildProjectLogsConfig
+  { _codeBuildProjectLogsConfigCloudWatchLogs :: Maybe CodeBuildProjectCloudWatchLogsConfig
+  , _codeBuildProjectLogsConfigS3Logs :: Maybe CodeBuildProjectS3LogsConfig
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildProjectLogsConfig where
+  toJSON CodeBuildProjectLogsConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("CloudWatchLogs",) . toJSON) _codeBuildProjectLogsConfigCloudWatchLogs
+    , fmap (("S3Logs",) . toJSON) _codeBuildProjectLogsConfigS3Logs
+    ]
+
+instance FromJSON CodeBuildProjectLogsConfig where
+  parseJSON (Object obj) =
+    CodeBuildProjectLogsConfig <$>
+      (obj .:? "CloudWatchLogs") <*>
+      (obj .:? "S3Logs")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeBuildProjectLogsConfig' containing required fields
+-- as arguments.
+codeBuildProjectLogsConfig
+  :: CodeBuildProjectLogsConfig
+codeBuildProjectLogsConfig  =
+  CodeBuildProjectLogsConfig
+  { _codeBuildProjectLogsConfigCloudWatchLogs = Nothing
+  , _codeBuildProjectLogsConfigS3Logs = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html#cfn-codebuild-project-logsconfig-cloudwatchlogs
+cbplcCloudWatchLogs :: Lens' CodeBuildProjectLogsConfig (Maybe CodeBuildProjectCloudWatchLogsConfig)
+cbplcCloudWatchLogs = lens _codeBuildProjectLogsConfigCloudWatchLogs (\s a -> s { _codeBuildProjectLogsConfigCloudWatchLogs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html#cfn-codebuild-project-logsconfig-s3logs
+cbplcS3Logs :: Lens' CodeBuildProjectLogsConfig (Maybe CodeBuildProjectS3LogsConfig)
+cbplcS3Logs = lens _codeBuildProjectLogsConfigS3Logs (\s a -> s { _codeBuildProjectLogsConfigS3Logs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildProjectS3LogsConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeBuildProjectS3LogsConfig. See
+-- 'codeBuildProjectS3LogsConfig' for a more convenient constructor.
+data CodeBuildProjectS3LogsConfig =
+  CodeBuildProjectS3LogsConfig
+  { _codeBuildProjectS3LogsConfigLocation :: Maybe (Val Text)
+  , _codeBuildProjectS3LogsConfigStatus :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildProjectS3LogsConfig where
+  toJSON CodeBuildProjectS3LogsConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("Location",) . toJSON) _codeBuildProjectS3LogsConfigLocation
+    , (Just . ("Status",) . toJSON) _codeBuildProjectS3LogsConfigStatus
+    ]
+
+instance FromJSON CodeBuildProjectS3LogsConfig where
+  parseJSON (Object obj) =
+    CodeBuildProjectS3LogsConfig <$>
+      (obj .:? "Location") <*>
+      (obj .: "Status")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeBuildProjectS3LogsConfig' containing required fields
+-- as arguments.
+codeBuildProjectS3LogsConfig
+  :: Val Text -- ^ 'cbpslcStatus'
+  -> CodeBuildProjectS3LogsConfig
+codeBuildProjectS3LogsConfig statusarg =
+  CodeBuildProjectS3LogsConfig
+  { _codeBuildProjectS3LogsConfigLocation = Nothing
+  , _codeBuildProjectS3LogsConfigStatus = statusarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-location
+cbpslcLocation :: Lens' CodeBuildProjectS3LogsConfig (Maybe (Val Text))
+cbpslcLocation = lens _codeBuildProjectS3LogsConfigLocation (\s a -> s { _codeBuildProjectS3LogsConfigLocation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-status
+cbpslcStatus :: Lens' CodeBuildProjectS3LogsConfig (Val Text)
+cbpslcStatus = lens _codeBuildProjectS3LogsConfigStatus (\s a -> s { _codeBuildProjectS3LogsConfigStatus = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs
@@ -19,6 +19,7 @@
   , _codeBuildProjectSourceInsecureSsl :: Maybe (Val Bool)
   , _codeBuildProjectSourceLocation :: Maybe (Val Text)
   , _codeBuildProjectSourceReportBuildStatus :: Maybe (Val Bool)
+  , _codeBuildProjectSourceSourceIdentifier :: Maybe (Val Text)
   , _codeBuildProjectSourceType :: Val Text
   } deriving (Show, Eq)
 
@@ -32,6 +33,7 @@
     , fmap (("InsecureSsl",) . toJSON . fmap Bool') _codeBuildProjectSourceInsecureSsl
     , fmap (("Location",) . toJSON) _codeBuildProjectSourceLocation
     , fmap (("ReportBuildStatus",) . toJSON . fmap Bool') _codeBuildProjectSourceReportBuildStatus
+    , fmap (("SourceIdentifier",) . toJSON) _codeBuildProjectSourceSourceIdentifier
     , (Just . ("Type",) . toJSON) _codeBuildProjectSourceType
     ]
 
@@ -44,6 +46,7 @@
       fmap (fmap (fmap unBool')) (obj .:? "InsecureSsl") <*>
       (obj .:? "Location") <*>
       fmap (fmap (fmap unBool')) (obj .:? "ReportBuildStatus") <*>
+      (obj .:? "SourceIdentifier") <*>
       (obj .: "Type")
   parseJSON _ = mempty
 
@@ -60,6 +63,7 @@
   , _codeBuildProjectSourceInsecureSsl = Nothing
   , _codeBuildProjectSourceLocation = Nothing
   , _codeBuildProjectSourceReportBuildStatus = Nothing
+  , _codeBuildProjectSourceSourceIdentifier = Nothing
   , _codeBuildProjectSourceType = typearg
   }
 
@@ -86,6 +90,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-reportbuildstatus
 cbpsReportBuildStatus :: Lens' CodeBuildProjectSource (Maybe (Val Bool))
 cbpsReportBuildStatus = lens _codeBuildProjectSourceReportBuildStatus (\s a -> s { _codeBuildProjectSourceReportBuildStatus = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-sourceidentifier
+cbpsSourceIdentifier :: Lens' CodeBuildProjectSource (Maybe (Val Text))
+cbpsSourceIdentifier = lens _codeBuildProjectSourceSourceIdentifier (\s a -> s { _codeBuildProjectSourceSourceIdentifier = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-type
 cbpsType :: Lens' CodeBuildProjectSource (Val Text)
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectVpcConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectVpcConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectVpcConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectVpcConfig.hs
@@ -13,50 +13,47 @@
 -- 'codeBuildProjectVpcConfig' for a more convenient constructor.
 data CodeBuildProjectVpcConfig =
   CodeBuildProjectVpcConfig
-  { _codeBuildProjectVpcConfigSecurityGroupIds :: ValList Text
-  , _codeBuildProjectVpcConfigSubnets :: ValList Text
-  , _codeBuildProjectVpcConfigVpcId :: Val Text
+  { _codeBuildProjectVpcConfigSecurityGroupIds :: Maybe (ValList Text)
+  , _codeBuildProjectVpcConfigSubnets :: Maybe (ValList Text)
+  , _codeBuildProjectVpcConfigVpcId :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON CodeBuildProjectVpcConfig where
   toJSON CodeBuildProjectVpcConfig{..} =
     object $
     catMaybes
-    [ (Just . ("SecurityGroupIds",) . toJSON) _codeBuildProjectVpcConfigSecurityGroupIds
-    , (Just . ("Subnets",) . toJSON) _codeBuildProjectVpcConfigSubnets
-    , (Just . ("VpcId",) . toJSON) _codeBuildProjectVpcConfigVpcId
+    [ fmap (("SecurityGroupIds",) . toJSON) _codeBuildProjectVpcConfigSecurityGroupIds
+    , fmap (("Subnets",) . toJSON) _codeBuildProjectVpcConfigSubnets
+    , fmap (("VpcId",) . toJSON) _codeBuildProjectVpcConfigVpcId
     ]
 
 instance FromJSON CodeBuildProjectVpcConfig where
   parseJSON (Object obj) =
     CodeBuildProjectVpcConfig <$>
-      (obj .: "SecurityGroupIds") <*>
-      (obj .: "Subnets") <*>
-      (obj .: "VpcId")
+      (obj .:? "SecurityGroupIds") <*>
+      (obj .:? "Subnets") <*>
+      (obj .:? "VpcId")
   parseJSON _ = mempty
 
 -- | Constructor for 'CodeBuildProjectVpcConfig' containing required fields as
 -- arguments.
 codeBuildProjectVpcConfig
-  :: ValList Text -- ^ 'cbpvcSecurityGroupIds'
-  -> ValList Text -- ^ 'cbpvcSubnets'
-  -> Val Text -- ^ 'cbpvcVpcId'
-  -> CodeBuildProjectVpcConfig
-codeBuildProjectVpcConfig securityGroupIdsarg subnetsarg vpcIdarg =
+  :: CodeBuildProjectVpcConfig
+codeBuildProjectVpcConfig  =
   CodeBuildProjectVpcConfig
-  { _codeBuildProjectVpcConfigSecurityGroupIds = securityGroupIdsarg
-  , _codeBuildProjectVpcConfigSubnets = subnetsarg
-  , _codeBuildProjectVpcConfigVpcId = vpcIdarg
+  { _codeBuildProjectVpcConfigSecurityGroupIds = Nothing
+  , _codeBuildProjectVpcConfigSubnets = Nothing
+  , _codeBuildProjectVpcConfigVpcId = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-securitygroupids
-cbpvcSecurityGroupIds :: Lens' CodeBuildProjectVpcConfig (ValList Text)
+cbpvcSecurityGroupIds :: Lens' CodeBuildProjectVpcConfig (Maybe (ValList Text))
 cbpvcSecurityGroupIds = lens _codeBuildProjectVpcConfigSecurityGroupIds (\s a -> s { _codeBuildProjectVpcConfigSecurityGroupIds = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-subnets
-cbpvcSubnets :: Lens' CodeBuildProjectVpcConfig (ValList Text)
+cbpvcSubnets :: Lens' CodeBuildProjectVpcConfig (Maybe (ValList Text))
 cbpvcSubnets = lens _codeBuildProjectVpcConfigSubnets (\s a -> s { _codeBuildProjectVpcConfigSubnets = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-vpcid
-cbpvcVpcId :: Lens' CodeBuildProjectVpcConfig (Val Text)
+cbpvcVpcId :: Lens' CodeBuildProjectVpcConfig (Maybe (Val Text))
 cbpvcVpcId = lens _codeBuildProjectVpcConfigVpcId (\s a -> s { _codeBuildProjectVpcConfigVpcId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagFilter.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagFilter.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE TupleSections #-}
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html
 
 module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagFilter where
 
@@ -47,14 +47,14 @@
   , _codeDeployDeploymentGroupEC2TagFilterValue = Nothing
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html#cfn-properties-codedeploy-deploymentgroup-ec2tagfilters-key
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-key
 cddgectfKey :: Lens' CodeDeployDeploymentGroupEC2TagFilter (Maybe (Val Text))
 cddgectfKey = lens _codeDeployDeploymentGroupEC2TagFilterKey (\s a -> s { _codeDeployDeploymentGroupEC2TagFilterKey = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html#cfn-properties-codedeploy-deploymentgroup-ec2tagfilters-type
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-type
 cddgectfType :: Lens' CodeDeployDeploymentGroupEC2TagFilter (Maybe (Val Text))
 cddgectfType = lens _codeDeployDeploymentGroupEC2TagFilterType (\s a -> s { _codeDeployDeploymentGroupEC2TagFilterType = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html#cfn-properties-codedeploy-deploymentgroup-ec2tagfilters-value
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-value
 cddgectfValue :: Lens' CodeDeployDeploymentGroupEC2TagFilter (Maybe (Val Text))
 cddgectfValue = lens _codeDeployDeploymentGroupEC2TagFilterValue (\s a -> s { _codeDeployDeploymentGroupEC2TagFilterValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagSet.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagSet.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagSet.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html
+
+module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSet where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSetListObject
+
+-- | Full data type definition for CodeDeployDeploymentGroupEC2TagSet. See
+-- 'codeDeployDeploymentGroupEC2TagSet' for a more convenient constructor.
+data CodeDeployDeploymentGroupEC2TagSet =
+  CodeDeployDeploymentGroupEC2TagSet
+  { _codeDeployDeploymentGroupEC2TagSetEc2TagSetList :: Maybe [CodeDeployDeploymentGroupEC2TagSetListObject]
+  } deriving (Show, Eq)
+
+instance ToJSON CodeDeployDeploymentGroupEC2TagSet where
+  toJSON CodeDeployDeploymentGroupEC2TagSet{..} =
+    object $
+    catMaybes
+    [ fmap (("Ec2TagSetList",) . toJSON) _codeDeployDeploymentGroupEC2TagSetEc2TagSetList
+    ]
+
+instance FromJSON CodeDeployDeploymentGroupEC2TagSet where
+  parseJSON (Object obj) =
+    CodeDeployDeploymentGroupEC2TagSet <$>
+      (obj .:? "Ec2TagSetList")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeDeployDeploymentGroupEC2TagSet' containing required
+-- fields as arguments.
+codeDeployDeploymentGroupEC2TagSet
+  :: CodeDeployDeploymentGroupEC2TagSet
+codeDeployDeploymentGroupEC2TagSet  =
+  CodeDeployDeploymentGroupEC2TagSet
+  { _codeDeployDeploymentGroupEC2TagSetEc2TagSetList = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html#cfn-codedeploy-deploymentgroup-ec2tagset-ec2tagsetlist
+cddgectsEc2TagSetList :: Lens' CodeDeployDeploymentGroupEC2TagSet (Maybe [CodeDeployDeploymentGroupEC2TagSetListObject])
+cddgectsEc2TagSetList = lens _codeDeployDeploymentGroupEC2TagSetEc2TagSetList (\s a -> s { _codeDeployDeploymentGroupEC2TagSetEc2TagSetList = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagSetListObject.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagSetListObject.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEC2TagSetListObject.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html
+
+module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSetListObject where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagFilter
+
+-- | Full data type definition for
+-- CodeDeployDeploymentGroupEC2TagSetListObject. See
+-- 'codeDeployDeploymentGroupEC2TagSetListObject' for a more convenient
+-- constructor.
+data CodeDeployDeploymentGroupEC2TagSetListObject =
+  CodeDeployDeploymentGroupEC2TagSetListObject
+  { _codeDeployDeploymentGroupEC2TagSetListObjectEc2TagGroup :: Maybe [CodeDeployDeploymentGroupEC2TagFilter]
+  } deriving (Show, Eq)
+
+instance ToJSON CodeDeployDeploymentGroupEC2TagSetListObject where
+  toJSON CodeDeployDeploymentGroupEC2TagSetListObject{..} =
+    object $
+    catMaybes
+    [ fmap (("Ec2TagGroup",) . toJSON) _codeDeployDeploymentGroupEC2TagSetListObjectEc2TagGroup
+    ]
+
+instance FromJSON CodeDeployDeploymentGroupEC2TagSetListObject where
+  parseJSON (Object obj) =
+    CodeDeployDeploymentGroupEC2TagSetListObject <$>
+      (obj .:? "Ec2TagGroup")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeDeployDeploymentGroupEC2TagSetListObject' containing
+-- required fields as arguments.
+codeDeployDeploymentGroupEC2TagSetListObject
+  :: CodeDeployDeploymentGroupEC2TagSetListObject
+codeDeployDeploymentGroupEC2TagSetListObject  =
+  CodeDeployDeploymentGroupEC2TagSetListObject
+  { _codeDeployDeploymentGroupEC2TagSetListObjectEc2TagGroup = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html#cfn-codedeploy-deploymentgroup-ec2tagsetlistobject-ec2taggroup
+cddgectsloEc2TagGroup :: Lens' CodeDeployDeploymentGroupEC2TagSetListObject (Maybe [CodeDeployDeploymentGroupEC2TagFilter])
+cddgectsloEc2TagGroup = lens _codeDeployDeploymentGroupEC2TagSetListObjectEc2TagGroup (\s a -> s { _codeDeployDeploymentGroupEC2TagSetListObjectEc2TagGroup = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesTagSet.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesTagSet.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesTagSet.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html
+
+module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSet where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSetListObject
+
+-- | Full data type definition for CodeDeployDeploymentGroupOnPremisesTagSet.
+-- See 'codeDeployDeploymentGroupOnPremisesTagSet' for a more convenient
+-- constructor.
+data CodeDeployDeploymentGroupOnPremisesTagSet =
+  CodeDeployDeploymentGroupOnPremisesTagSet
+  { _codeDeployDeploymentGroupOnPremisesTagSetOnPremisesTagSetList :: Maybe [CodeDeployDeploymentGroupOnPremisesTagSetListObject]
+  } deriving (Show, Eq)
+
+instance ToJSON CodeDeployDeploymentGroupOnPremisesTagSet where
+  toJSON CodeDeployDeploymentGroupOnPremisesTagSet{..} =
+    object $
+    catMaybes
+    [ fmap (("OnPremisesTagSetList",) . toJSON) _codeDeployDeploymentGroupOnPremisesTagSetOnPremisesTagSetList
+    ]
+
+instance FromJSON CodeDeployDeploymentGroupOnPremisesTagSet where
+  parseJSON (Object obj) =
+    CodeDeployDeploymentGroupOnPremisesTagSet <$>
+      (obj .:? "OnPremisesTagSetList")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeDeployDeploymentGroupOnPremisesTagSet' containing
+-- required fields as arguments.
+codeDeployDeploymentGroupOnPremisesTagSet
+  :: CodeDeployDeploymentGroupOnPremisesTagSet
+codeDeployDeploymentGroupOnPremisesTagSet  =
+  CodeDeployDeploymentGroupOnPremisesTagSet
+  { _codeDeployDeploymentGroupOnPremisesTagSetOnPremisesTagSetList = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html#cfn-codedeploy-deploymentgroup-onpremisestagset-onpremisestagsetlist
+cddgoptsOnPremisesTagSetList :: Lens' CodeDeployDeploymentGroupOnPremisesTagSet (Maybe [CodeDeployDeploymentGroupOnPremisesTagSetListObject])
+cddgoptsOnPremisesTagSetList = lens _codeDeployDeploymentGroupOnPremisesTagSetOnPremisesTagSetList (\s a -> s { _codeDeployDeploymentGroupOnPremisesTagSetOnPremisesTagSetList = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesTagSetListObject.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesTagSetListObject.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesTagSetListObject.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html
+
+module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSetListObject where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter
+
+-- | Full data type definition for
+-- CodeDeployDeploymentGroupOnPremisesTagSetListObject. See
+-- 'codeDeployDeploymentGroupOnPremisesTagSetListObject' for a more
+-- convenient constructor.
+data CodeDeployDeploymentGroupOnPremisesTagSetListObject =
+  CodeDeployDeploymentGroupOnPremisesTagSetListObject
+  { _codeDeployDeploymentGroupOnPremisesTagSetListObjectOnPremisesTagGroup :: Maybe [CodeDeployDeploymentGroupTagFilter]
+  } deriving (Show, Eq)
+
+instance ToJSON CodeDeployDeploymentGroupOnPremisesTagSetListObject where
+  toJSON CodeDeployDeploymentGroupOnPremisesTagSetListObject{..} =
+    object $
+    catMaybes
+    [ fmap (("OnPremisesTagGroup",) . toJSON) _codeDeployDeploymentGroupOnPremisesTagSetListObjectOnPremisesTagGroup
+    ]
+
+instance FromJSON CodeDeployDeploymentGroupOnPremisesTagSetListObject where
+  parseJSON (Object obj) =
+    CodeDeployDeploymentGroupOnPremisesTagSetListObject <$>
+      (obj .:? "OnPremisesTagGroup")
+  parseJSON _ = mempty
+
+-- | Constructor for 'CodeDeployDeploymentGroupOnPremisesTagSetListObject'
+-- containing required fields as arguments.
+codeDeployDeploymentGroupOnPremisesTagSetListObject
+  :: CodeDeployDeploymentGroupOnPremisesTagSetListObject
+codeDeployDeploymentGroupOnPremisesTagSetListObject  =
+  CodeDeployDeploymentGroupOnPremisesTagSetListObject
+  { _codeDeployDeploymentGroupOnPremisesTagSetListObjectOnPremisesTagGroup = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html#cfn-codedeploy-deploymentgroup-onpremisestagsetlistobject-onpremisestaggroup
+cddgoptsloOnPremisesTagGroup :: Lens' CodeDeployDeploymentGroupOnPremisesTagSetListObject (Maybe [CodeDeployDeploymentGroupTagFilter])
+cddgoptsloOnPremisesTagGroup = lens _codeDeployDeploymentGroupOnPremisesTagSetListObjectOnPremisesTagGroup (\s a -> s { _codeDeployDeploymentGroupOnPremisesTagSetListObjectOnPremisesTagGroup = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupTagFilter.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupTagFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupTagFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupTagFilter.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE TupleSections #-}
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html
 
 module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter where
 
@@ -46,14 +46,14 @@
   , _codeDeployDeploymentGroupTagFilterValue = Nothing
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html#cfn-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters-key
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-key
 cddgtfKey :: Lens' CodeDeployDeploymentGroupTagFilter (Maybe (Val Text))
 cddgtfKey = lens _codeDeployDeploymentGroupTagFilterKey (\s a -> s { _codeDeployDeploymentGroupTagFilterKey = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html#cfn-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters-type
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-type
 cddgtfType :: Lens' CodeDeployDeploymentGroupTagFilter (Maybe (Val Text))
 cddgtfType = lens _codeDeployDeploymentGroupTagFilterType (\s a -> s { _codeDeployDeploymentGroupTagFilterType = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html#cfn-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters-value
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-value
 cddgtfValue :: Lens' CodeDeployDeploymentGroupTagFilter (Maybe (Val Text))
 cddgtfValue = lens _codeDeployDeploymentGroupTagFilterValue (\s a -> s { _codeDeployDeploymentGroupTagFilterValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetClassicLoadBalancer.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetClassicLoadBalancer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetClassicLoadBalancer.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancer where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EC2SpotFleetClassicLoadBalancer. See
+-- 'ec2SpotFleetClassicLoadBalancer' for a more convenient constructor.
+data EC2SpotFleetClassicLoadBalancer =
+  EC2SpotFleetClassicLoadBalancer
+  { _eC2SpotFleetClassicLoadBalancerName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetClassicLoadBalancer where
+  toJSON EC2SpotFleetClassicLoadBalancer{..} =
+    object $
+    catMaybes
+    [ (Just . ("Name",) . toJSON) _eC2SpotFleetClassicLoadBalancerName
+    ]
+
+instance FromJSON EC2SpotFleetClassicLoadBalancer where
+  parseJSON (Object obj) =
+    EC2SpotFleetClassicLoadBalancer <$>
+      (obj .: "Name")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetClassicLoadBalancer' containing required
+-- fields as arguments.
+ec2SpotFleetClassicLoadBalancer
+  :: Val Text -- ^ 'ecsfclbName'
+  -> EC2SpotFleetClassicLoadBalancer
+ec2SpotFleetClassicLoadBalancer namearg =
+  EC2SpotFleetClassicLoadBalancer
+  { _eC2SpotFleetClassicLoadBalancerName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html#cfn-ec2-spotfleet-classicloadbalancer-name
+ecsfclbName :: Lens' EC2SpotFleetClassicLoadBalancer (Val Text)
+ecsfclbName = lens _eC2SpotFleetClassicLoadBalancerName (\s a -> s { _eC2SpotFleetClassicLoadBalancerName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetClassicLoadBalancersConfig.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetClassicLoadBalancersConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetClassicLoadBalancersConfig.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancersConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancer
+
+-- | Full data type definition for EC2SpotFleetClassicLoadBalancersConfig. See
+-- 'ec2SpotFleetClassicLoadBalancersConfig' for a more convenient
+-- constructor.
+data EC2SpotFleetClassicLoadBalancersConfig =
+  EC2SpotFleetClassicLoadBalancersConfig
+  { _eC2SpotFleetClassicLoadBalancersConfigClassicLoadBalancers :: [EC2SpotFleetClassicLoadBalancer]
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetClassicLoadBalancersConfig where
+  toJSON EC2SpotFleetClassicLoadBalancersConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("ClassicLoadBalancers",) . toJSON) _eC2SpotFleetClassicLoadBalancersConfigClassicLoadBalancers
+    ]
+
+instance FromJSON EC2SpotFleetClassicLoadBalancersConfig where
+  parseJSON (Object obj) =
+    EC2SpotFleetClassicLoadBalancersConfig <$>
+      (obj .: "ClassicLoadBalancers")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetClassicLoadBalancersConfig' containing
+-- required fields as arguments.
+ec2SpotFleetClassicLoadBalancersConfig
+  :: [EC2SpotFleetClassicLoadBalancer] -- ^ 'ecsfclbcClassicLoadBalancers'
+  -> EC2SpotFleetClassicLoadBalancersConfig
+ec2SpotFleetClassicLoadBalancersConfig classicLoadBalancersarg =
+  EC2SpotFleetClassicLoadBalancersConfig
+  { _eC2SpotFleetClassicLoadBalancersConfigClassicLoadBalancers = classicLoadBalancersarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html#cfn-ec2-spotfleet-classicloadbalancersconfig-classicloadbalancers
+ecsfclbcClassicLoadBalancers :: Lens' EC2SpotFleetClassicLoadBalancersConfig [EC2SpotFleetClassicLoadBalancer]
+ecsfclbcClassicLoadBalancers = lens _eC2SpotFleetClassicLoadBalancersConfigClassicLoadBalancers (\s a -> s { _eC2SpotFleetClassicLoadBalancersConfigClassicLoadBalancers = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetFleetLaunchTemplateSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetFleetLaunchTemplateSpecification.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetFleetLaunchTemplateSpecification.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- EC2SpotFleetFleetLaunchTemplateSpecification. See
+-- 'ec2SpotFleetFleetLaunchTemplateSpecification' for a more convenient
+-- constructor.
+data EC2SpotFleetFleetLaunchTemplateSpecification =
+  EC2SpotFleetFleetLaunchTemplateSpecification
+  { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId :: Maybe (Val Text)
+  , _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName :: Maybe (Val Text)
+  , _eC2SpotFleetFleetLaunchTemplateSpecificationVersion :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetFleetLaunchTemplateSpecification where
+  toJSON EC2SpotFleetFleetLaunchTemplateSpecification{..} =
+    object $
+    catMaybes
+    [ fmap (("LaunchTemplateId",) . toJSON) _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId
+    , fmap (("LaunchTemplateName",) . toJSON) _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName
+    , (Just . ("Version",) . toJSON) _eC2SpotFleetFleetLaunchTemplateSpecificationVersion
+    ]
+
+instance FromJSON EC2SpotFleetFleetLaunchTemplateSpecification where
+  parseJSON (Object obj) =
+    EC2SpotFleetFleetLaunchTemplateSpecification <$>
+      (obj .:? "LaunchTemplateId") <*>
+      (obj .:? "LaunchTemplateName") <*>
+      (obj .: "Version")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetFleetLaunchTemplateSpecification' containing
+-- required fields as arguments.
+ec2SpotFleetFleetLaunchTemplateSpecification
+  :: Val Text -- ^ 'ecsffltsVersion'
+  -> EC2SpotFleetFleetLaunchTemplateSpecification
+ec2SpotFleetFleetLaunchTemplateSpecification versionarg =
+  EC2SpotFleetFleetLaunchTemplateSpecification
+  { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId = Nothing
+  , _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName = Nothing
+  , _eC2SpotFleetFleetLaunchTemplateSpecificationVersion = versionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplateid
+ecsffltsLaunchTemplateId :: Lens' EC2SpotFleetFleetLaunchTemplateSpecification (Maybe (Val Text))
+ecsffltsLaunchTemplateId = lens _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId (\s a -> s { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplatename
+ecsffltsLaunchTemplateName :: Lens' EC2SpotFleetFleetLaunchTemplateSpecification (Maybe (Val Text))
+ecsffltsLaunchTemplateName = lens _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName (\s a -> s { _eC2SpotFleetFleetLaunchTemplateSpecificationLaunchTemplateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-version
+ecsffltsVersion :: Lens' EC2SpotFleetFleetLaunchTemplateSpecification (Val Text)
+ecsffltsVersion = lens _eC2SpotFleetFleetLaunchTemplateSpecificationVersion (\s a -> s { _eC2SpotFleetFleetLaunchTemplateSpecificationVersion = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateConfig.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateConfig.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification
+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides
+
+-- | Full data type definition for EC2SpotFleetLaunchTemplateConfig. See
+-- 'ec2SpotFleetLaunchTemplateConfig' for a more convenient constructor.
+data EC2SpotFleetLaunchTemplateConfig =
+  EC2SpotFleetLaunchTemplateConfig
+  { _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification :: Maybe EC2SpotFleetFleetLaunchTemplateSpecification
+  , _eC2SpotFleetLaunchTemplateConfigOverrides :: Maybe [EC2SpotFleetLaunchTemplateOverrides]
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetLaunchTemplateConfig where
+  toJSON EC2SpotFleetLaunchTemplateConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("LaunchTemplateSpecification",) . toJSON) _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification
+    , fmap (("Overrides",) . toJSON) _eC2SpotFleetLaunchTemplateConfigOverrides
+    ]
+
+instance FromJSON EC2SpotFleetLaunchTemplateConfig where
+  parseJSON (Object obj) =
+    EC2SpotFleetLaunchTemplateConfig <$>
+      (obj .:? "LaunchTemplateSpecification") <*>
+      (obj .:? "Overrides")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetLaunchTemplateConfig' containing required
+-- fields as arguments.
+ec2SpotFleetLaunchTemplateConfig
+  :: EC2SpotFleetLaunchTemplateConfig
+ec2SpotFleetLaunchTemplateConfig  =
+  EC2SpotFleetLaunchTemplateConfig
+  { _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification = Nothing
+  , _eC2SpotFleetLaunchTemplateConfigOverrides = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-launchtemplatespecification
+ecsfltcLaunchTemplateSpecification :: Lens' EC2SpotFleetLaunchTemplateConfig (Maybe EC2SpotFleetFleetLaunchTemplateSpecification)
+ecsfltcLaunchTemplateSpecification = lens _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification (\s a -> s { _eC2SpotFleetLaunchTemplateConfigLaunchTemplateSpecification = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-overrides
+ecsfltcOverrides :: Lens' EC2SpotFleetLaunchTemplateConfig (Maybe [EC2SpotFleetLaunchTemplateOverrides])
+ecsfltcOverrides = lens _eC2SpotFleetLaunchTemplateConfigOverrides (\s a -> s { _eC2SpotFleetLaunchTemplateConfigOverrides = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs
@@ -0,0 +1,75 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EC2SpotFleetLaunchTemplateOverrides. See
+-- 'ec2SpotFleetLaunchTemplateOverrides' for a more convenient constructor.
+data EC2SpotFleetLaunchTemplateOverrides =
+  EC2SpotFleetLaunchTemplateOverrides
+  { _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone :: Maybe (Val Text)
+  , _eC2SpotFleetLaunchTemplateOverridesInstanceType :: Maybe (Val Text)
+  , _eC2SpotFleetLaunchTemplateOverridesSpotPrice :: Maybe (Val Text)
+  , _eC2SpotFleetLaunchTemplateOverridesSubnetId :: Maybe (Val Text)
+  , _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity :: Maybe (Val Double)
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetLaunchTemplateOverrides where
+  toJSON EC2SpotFleetLaunchTemplateOverrides{..} =
+    object $
+    catMaybes
+    [ fmap (("AvailabilityZone",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone
+    , fmap (("InstanceType",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesInstanceType
+    , fmap (("SpotPrice",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesSpotPrice
+    , fmap (("SubnetId",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesSubnetId
+    , fmap (("WeightedCapacity",) . toJSON . fmap Double') _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity
+    ]
+
+instance FromJSON EC2SpotFleetLaunchTemplateOverrides where
+  parseJSON (Object obj) =
+    EC2SpotFleetLaunchTemplateOverrides <$>
+      (obj .:? "AvailabilityZone") <*>
+      (obj .:? "InstanceType") <*>
+      (obj .:? "SpotPrice") <*>
+      (obj .:? "SubnetId") <*>
+      fmap (fmap (fmap unDouble')) (obj .:? "WeightedCapacity")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetLaunchTemplateOverrides' containing required
+-- fields as arguments.
+ec2SpotFleetLaunchTemplateOverrides
+  :: EC2SpotFleetLaunchTemplateOverrides
+ec2SpotFleetLaunchTemplateOverrides  =
+  EC2SpotFleetLaunchTemplateOverrides
+  { _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone = Nothing
+  , _eC2SpotFleetLaunchTemplateOverridesInstanceType = Nothing
+  , _eC2SpotFleetLaunchTemplateOverridesSpotPrice = Nothing
+  , _eC2SpotFleetLaunchTemplateOverridesSubnetId = Nothing
+  , _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-availabilityzone
+ecsfltoAvailabilityZone :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))
+ecsfltoAvailabilityZone = lens _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesAvailabilityZone = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancetype
+ecsfltoInstanceType :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))
+ecsfltoInstanceType = lens _eC2SpotFleetLaunchTemplateOverridesInstanceType (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesInstanceType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-spotprice
+ecsfltoSpotPrice :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))
+ecsfltoSpotPrice = lens _eC2SpotFleetLaunchTemplateOverridesSpotPrice (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesSpotPrice = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-subnetid
+ecsfltoSubnetId :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Text))
+ecsfltoSubnetId = lens _eC2SpotFleetLaunchTemplateOverridesSubnetId (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesSubnetId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity
+ecsfltoWeightedCapacity :: Lens' EC2SpotFleetLaunchTemplateOverrides (Maybe (Val Double))
+ecsfltoWeightedCapacity = lens _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity (\s a -> s { _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLoadBalancersConfig.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLoadBalancersConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLoadBalancersConfig.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetLoadBalancersConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancersConfig
+import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig
+
+-- | Full data type definition for EC2SpotFleetLoadBalancersConfig. See
+-- 'ec2SpotFleetLoadBalancersConfig' for a more convenient constructor.
+data EC2SpotFleetLoadBalancersConfig =
+  EC2SpotFleetLoadBalancersConfig
+  { _eC2SpotFleetLoadBalancersConfigClassicLoadBalancersConfig :: Maybe EC2SpotFleetClassicLoadBalancersConfig
+  , _eC2SpotFleetLoadBalancersConfigTargetGroupsConfig :: Maybe EC2SpotFleetTargetGroupsConfig
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetLoadBalancersConfig where
+  toJSON EC2SpotFleetLoadBalancersConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("ClassicLoadBalancersConfig",) . toJSON) _eC2SpotFleetLoadBalancersConfigClassicLoadBalancersConfig
+    , fmap (("TargetGroupsConfig",) . toJSON) _eC2SpotFleetLoadBalancersConfigTargetGroupsConfig
+    ]
+
+instance FromJSON EC2SpotFleetLoadBalancersConfig where
+  parseJSON (Object obj) =
+    EC2SpotFleetLoadBalancersConfig <$>
+      (obj .:? "ClassicLoadBalancersConfig") <*>
+      (obj .:? "TargetGroupsConfig")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetLoadBalancersConfig' containing required
+-- fields as arguments.
+ec2SpotFleetLoadBalancersConfig
+  :: EC2SpotFleetLoadBalancersConfig
+ec2SpotFleetLoadBalancersConfig  =
+  EC2SpotFleetLoadBalancersConfig
+  { _eC2SpotFleetLoadBalancersConfigClassicLoadBalancersConfig = Nothing
+  , _eC2SpotFleetLoadBalancersConfigTargetGroupsConfig = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-classicloadbalancersconfig
+ecsflbcClassicLoadBalancersConfig :: Lens' EC2SpotFleetLoadBalancersConfig (Maybe EC2SpotFleetClassicLoadBalancersConfig)
+ecsflbcClassicLoadBalancersConfig = lens _eC2SpotFleetLoadBalancersConfigClassicLoadBalancersConfig (\s a -> s { _eC2SpotFleetLoadBalancersConfigClassicLoadBalancersConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-targetgroupsconfig
+ecsflbcTargetGroupsConfig :: Lens' EC2SpotFleetLoadBalancersConfig (Maybe EC2SpotFleetTargetGroupsConfig)
+ecsflbcTargetGroupsConfig = lens _eC2SpotFleetLoadBalancersConfigTargetGroupsConfig (\s a -> s { _eC2SpotFleetLoadBalancersConfigTargetGroupsConfig = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs
@@ -8,6 +8,8 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetLaunchSpecification
+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig
+import Stratosphere.ResourceProperties.EC2SpotFleetLoadBalancersConfig
 
 -- | Full data type definition for EC2SpotFleetSpotFleetRequestConfigData. See
 -- 'ec2SpotFleetSpotFleetRequestConfigData' for a more convenient
@@ -17,7 +19,10 @@
   { _eC2SpotFleetSpotFleetRequestConfigDataAllocationStrategy :: Maybe (Val Text)
   , _eC2SpotFleetSpotFleetRequestConfigDataExcessCapacityTerminationPolicy :: Maybe (Val Text)
   , _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole :: Val Text
+  , _eC2SpotFleetSpotFleetRequestConfigDataInstanceInterruptionBehavior :: Maybe (Val Text)
   , _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications :: Maybe [EC2SpotFleetSpotFleetLaunchSpecification]
+  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs :: Maybe [EC2SpotFleetLaunchTemplateConfig]
+  , _eC2SpotFleetSpotFleetRequestConfigDataLoadBalancersConfig :: Maybe EC2SpotFleetLoadBalancersConfig
   , _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances :: Maybe (Val Bool)
   , _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice :: Maybe (Val Text)
   , _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity :: Val Integer
@@ -34,7 +39,10 @@
     [ fmap (("AllocationStrategy",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataAllocationStrategy
     , fmap (("ExcessCapacityTerminationPolicy",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataExcessCapacityTerminationPolicy
     , (Just . ("IamFleetRole",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole
+    , fmap (("InstanceInterruptionBehavior",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataInstanceInterruptionBehavior
     , fmap (("LaunchSpecifications",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications
+    , fmap (("LaunchTemplateConfigs",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs
+    , fmap (("LoadBalancersConfig",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLoadBalancersConfig
     , fmap (("ReplaceUnhealthyInstances",) . toJSON . fmap Bool') _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances
     , fmap (("SpotPrice",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice
     , (Just . ("TargetCapacity",) . toJSON . fmap Integer') _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity
@@ -50,7 +58,10 @@
       (obj .:? "AllocationStrategy") <*>
       (obj .:? "ExcessCapacityTerminationPolicy") <*>
       (obj .: "IamFleetRole") <*>
+      (obj .:? "InstanceInterruptionBehavior") <*>
       (obj .:? "LaunchSpecifications") <*>
+      (obj .:? "LaunchTemplateConfigs") <*>
+      (obj .:? "LoadBalancersConfig") <*>
       fmap (fmap (fmap unBool')) (obj .:? "ReplaceUnhealthyInstances") <*>
       (obj .:? "SpotPrice") <*>
       fmap (fmap unInteger') (obj .: "TargetCapacity") <*>
@@ -71,7 +82,10 @@
   { _eC2SpotFleetSpotFleetRequestConfigDataAllocationStrategy = Nothing
   , _eC2SpotFleetSpotFleetRequestConfigDataExcessCapacityTerminationPolicy = Nothing
   , _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole = iamFleetRolearg
+  , _eC2SpotFleetSpotFleetRequestConfigDataInstanceInterruptionBehavior = Nothing
   , _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications = Nothing
+  , _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs = Nothing
+  , _eC2SpotFleetSpotFleetRequestConfigDataLoadBalancersConfig = Nothing
   , _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances = Nothing
   , _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice = Nothing
   , _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity = targetCapacityarg
@@ -93,9 +107,21 @@
 ecsfsfrcdIamFleetRole :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Val Text)
 ecsfsfrcdIamFleetRole = lens _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataIamFleetRole = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instanceinterruptionbehavior
+ecsfsfrcdInstanceInterruptionBehavior :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe (Val Text))
+ecsfsfrcdInstanceInterruptionBehavior = lens _eC2SpotFleetSpotFleetRequestConfigDataInstanceInterruptionBehavior (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataInstanceInterruptionBehavior = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications
 ecsfsfrcdLaunchSpecifications :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe [EC2SpotFleetSpotFleetLaunchSpecification])
 ecsfsfrcdLaunchSpecifications = lens _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchtemplateconfigs
+ecsfsfrcdLaunchTemplateConfigs :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe [EC2SpotFleetLaunchTemplateConfig])
+ecsfsfrcdLaunchTemplateConfigs = lens _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-loadbalancersconfig
+ecsfsfrcdLoadBalancersConfig :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe EC2SpotFleetLoadBalancersConfig)
+ecsfsfrcdLoadBalancersConfig = lens _eC2SpotFleetSpotFleetRequestConfigDataLoadBalancersConfig (\s a -> s { _eC2SpotFleetSpotFleetRequestConfigDataLoadBalancersConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-replaceunhealthyinstances
 ecsfsfrcdReplaceUnhealthyInstances :: Lens' EC2SpotFleetSpotFleetRequestConfigData (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotPlacement.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotPlacement.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotPlacement.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotPlacement.hs
@@ -15,6 +15,7 @@
   EC2SpotFleetSpotPlacement
   { _eC2SpotFleetSpotPlacementAvailabilityZone :: Maybe (Val Text)
   , _eC2SpotFleetSpotPlacementGroupName :: Maybe (Val Text)
+  , _eC2SpotFleetSpotPlacementTenancy :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON EC2SpotFleetSpotPlacement where
@@ -23,13 +24,15 @@
     catMaybes
     [ fmap (("AvailabilityZone",) . toJSON) _eC2SpotFleetSpotPlacementAvailabilityZone
     , fmap (("GroupName",) . toJSON) _eC2SpotFleetSpotPlacementGroupName
+    , fmap (("Tenancy",) . toJSON) _eC2SpotFleetSpotPlacementTenancy
     ]
 
 instance FromJSON EC2SpotFleetSpotPlacement where
   parseJSON (Object obj) =
     EC2SpotFleetSpotPlacement <$>
       (obj .:? "AvailabilityZone") <*>
-      (obj .:? "GroupName")
+      (obj .:? "GroupName") <*>
+      (obj .:? "Tenancy")
   parseJSON _ = mempty
 
 -- | Constructor for 'EC2SpotFleetSpotPlacement' containing required fields as
@@ -40,6 +43,7 @@
   EC2SpotFleetSpotPlacement
   { _eC2SpotFleetSpotPlacementAvailabilityZone = Nothing
   , _eC2SpotFleetSpotPlacementGroupName = Nothing
+  , _eC2SpotFleetSpotPlacementTenancy = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-availabilityzone
@@ -49,3 +53,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-groupname
 ecsfspGroupName :: Lens' EC2SpotFleetSpotPlacement (Maybe (Val Text))
 ecsfspGroupName = lens _eC2SpotFleetSpotPlacementGroupName (\s a -> s { _eC2SpotFleetSpotPlacementGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-tenancy
+ecsfspTenancy :: Lens' EC2SpotFleetSpotPlacement (Maybe (Val Text))
+ecsfspTenancy = lens _eC2SpotFleetSpotPlacementTenancy (\s a -> s { _eC2SpotFleetSpotPlacementTenancy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroup.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroup.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EC2SpotFleetTargetGroup. See
+-- 'ec2SpotFleetTargetGroup' for a more convenient constructor.
+data EC2SpotFleetTargetGroup =
+  EC2SpotFleetTargetGroup
+  { _eC2SpotFleetTargetGroupArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetTargetGroup where
+  toJSON EC2SpotFleetTargetGroup{..} =
+    object $
+    catMaybes
+    [ (Just . ("Arn",) . toJSON) _eC2SpotFleetTargetGroupArn
+    ]
+
+instance FromJSON EC2SpotFleetTargetGroup where
+  parseJSON (Object obj) =
+    EC2SpotFleetTargetGroup <$>
+      (obj .: "Arn")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetTargetGroup' containing required fields as
+-- arguments.
+ec2SpotFleetTargetGroup
+  :: Val Text -- ^ 'ecsftgArn'
+  -> EC2SpotFleetTargetGroup
+ec2SpotFleetTargetGroup arnarg =
+  EC2SpotFleetTargetGroup
+  { _eC2SpotFleetTargetGroupArn = arnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html#cfn-ec2-spotfleet-targetgroup-arn
+ecsftgArn :: Lens' EC2SpotFleetTargetGroup (Val Text)
+ecsftgArn = lens _eC2SpotFleetTargetGroupArn (\s a -> s { _eC2SpotFleetTargetGroupArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroupsConfig.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroupsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroupsConfig.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html
+
+module Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup
+
+-- | Full data type definition for EC2SpotFleetTargetGroupsConfig. See
+-- 'ec2SpotFleetTargetGroupsConfig' for a more convenient constructor.
+data EC2SpotFleetTargetGroupsConfig =
+  EC2SpotFleetTargetGroupsConfig
+  { _eC2SpotFleetTargetGroupsConfigTargetGroups :: [EC2SpotFleetTargetGroup]
+  } deriving (Show, Eq)
+
+instance ToJSON EC2SpotFleetTargetGroupsConfig where
+  toJSON EC2SpotFleetTargetGroupsConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("TargetGroups",) . toJSON) _eC2SpotFleetTargetGroupsConfigTargetGroups
+    ]
+
+instance FromJSON EC2SpotFleetTargetGroupsConfig where
+  parseJSON (Object obj) =
+    EC2SpotFleetTargetGroupsConfig <$>
+      (obj .: "TargetGroups")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EC2SpotFleetTargetGroupsConfig' containing required
+-- fields as arguments.
+ec2SpotFleetTargetGroupsConfig
+  :: [EC2SpotFleetTargetGroup] -- ^ 'ecsftgcTargetGroups'
+  -> EC2SpotFleetTargetGroupsConfig
+ec2SpotFleetTargetGroupsConfig targetGroupsarg =
+  EC2SpotFleetTargetGroupsConfig
+  { _eC2SpotFleetTargetGroupsConfigTargetGroups = targetGroupsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html#cfn-ec2-spotfleet-targetgroupsconfig-targetgroups
+ecsftgcTargetGroups :: Lens' EC2SpotFleetTargetGroupsConfig [EC2SpotFleetTargetGroup]
+ecsftgcTargetGroups = lens _eC2SpotFleetTargetGroupsConfigTargetGroups (\s a -> s { _eC2SpotFleetTargetGroupsConfigTargetGroups = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs b/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs
@@ -13,7 +13,9 @@
 -- 'ecsServiceServiceRegistry' for a more convenient constructor.
 data ECSServiceServiceRegistry =
   ECSServiceServiceRegistry
-  { _eCSServiceServiceRegistryPort :: Maybe (Val Integer)
+  { _eCSServiceServiceRegistryContainerName :: Maybe (Val Text)
+  , _eCSServiceServiceRegistryContainerPort :: Maybe (Val Integer)
+  , _eCSServiceServiceRegistryPort :: Maybe (Val Integer)
   , _eCSServiceServiceRegistryRegistryArn :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -21,13 +23,17 @@
   toJSON ECSServiceServiceRegistry{..} =
     object $
     catMaybes
-    [ fmap (("Port",) . toJSON . fmap Integer') _eCSServiceServiceRegistryPort
+    [ fmap (("ContainerName",) . toJSON) _eCSServiceServiceRegistryContainerName
+    , fmap (("ContainerPort",) . toJSON . fmap Integer') _eCSServiceServiceRegistryContainerPort
+    , fmap (("Port",) . toJSON . fmap Integer') _eCSServiceServiceRegistryPort
     , fmap (("RegistryArn",) . toJSON) _eCSServiceServiceRegistryRegistryArn
     ]
 
 instance FromJSON ECSServiceServiceRegistry where
   parseJSON (Object obj) =
     ECSServiceServiceRegistry <$>
+      (obj .:? "ContainerName") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "ContainerPort") <*>
       fmap (fmap (fmap unInteger')) (obj .:? "Port") <*>
       (obj .:? "RegistryArn")
   parseJSON _ = mempty
@@ -38,9 +44,19 @@
   :: ECSServiceServiceRegistry
 ecsServiceServiceRegistry  =
   ECSServiceServiceRegistry
-  { _eCSServiceServiceRegistryPort = Nothing
+  { _eCSServiceServiceRegistryContainerName = Nothing
+  , _eCSServiceServiceRegistryContainerPort = Nothing
+  , _eCSServiceServiceRegistryPort = Nothing
   , _eCSServiceServiceRegistryRegistryArn = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-containername
+ecsssrContainerName :: Lens' ECSServiceServiceRegistry (Maybe (Val Text))
+ecsssrContainerName = lens _eCSServiceServiceRegistryContainerName (\s a -> s { _eCSServiceServiceRegistryContainerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-containerport
+ecsssrContainerPort :: Lens' ECSServiceServiceRegistry (Maybe (Val Integer))
+ecsssrContainerPort = lens _eCSServiceServiceRegistryContainerPort (\s a -> s { _eCSServiceServiceRegistryContainerPort = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-port
 ecsssrPort :: Lens' ECSServiceServiceRegistry (Maybe (Val Integer))
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
@@ -14,6 +14,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionLogConfiguration
 import Stratosphere.ResourceProperties.ECSTaskDefinitionMountPoint
 import Stratosphere.ResourceProperties.ECSTaskDefinitionPortMapping
+import Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom
 
@@ -45,6 +46,7 @@
   , _eCSTaskDefinitionContainerDefinitionPortMappings :: Maybe [ECSTaskDefinitionPortMapping]
   , _eCSTaskDefinitionContainerDefinitionPrivileged :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem :: Maybe (Val Bool)
+  , _eCSTaskDefinitionContainerDefinitionRepositoryCredentials :: Maybe ECSTaskDefinitionRepositoryCredentials
   , _eCSTaskDefinitionContainerDefinitionUlimits :: Maybe [ECSTaskDefinitionUlimit]
   , _eCSTaskDefinitionContainerDefinitionUser :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom :: Maybe [ECSTaskDefinitionVolumeFrom]
@@ -79,6 +81,7 @@
     , fmap (("PortMappings",) . toJSON) _eCSTaskDefinitionContainerDefinitionPortMappings
     , fmap (("Privileged",) . toJSON . fmap Bool') _eCSTaskDefinitionContainerDefinitionPrivileged
     , fmap (("ReadonlyRootFilesystem",) . toJSON . fmap Bool') _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem
+    , fmap (("RepositoryCredentials",) . toJSON) _eCSTaskDefinitionContainerDefinitionRepositoryCredentials
     , fmap (("Ulimits",) . toJSON) _eCSTaskDefinitionContainerDefinitionUlimits
     , fmap (("User",) . toJSON) _eCSTaskDefinitionContainerDefinitionUser
     , fmap (("VolumesFrom",) . toJSON) _eCSTaskDefinitionContainerDefinitionVolumesFrom
@@ -112,6 +115,7 @@
       (obj .:? "PortMappings") <*>
       fmap (fmap (fmap unBool')) (obj .:? "Privileged") <*>
       fmap (fmap (fmap unBool')) (obj .:? "ReadonlyRootFilesystem") <*>
+      (obj .:? "RepositoryCredentials") <*>
       (obj .:? "Ulimits") <*>
       (obj .:? "User") <*>
       (obj .:? "VolumesFrom") <*>
@@ -150,6 +154,7 @@
   , _eCSTaskDefinitionContainerDefinitionPortMappings = Nothing
   , _eCSTaskDefinitionContainerDefinitionPrivileged = Nothing
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem = Nothing
+  , _eCSTaskDefinitionContainerDefinitionRepositoryCredentials = Nothing
   , _eCSTaskDefinitionContainerDefinitionUlimits = Nothing
   , _eCSTaskDefinitionContainerDefinitionUser = Nothing
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom = Nothing
@@ -251,6 +256,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-readonlyrootfilesystem
 ecstdcdReadonlyRootFilesystem :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
 ecstdcdReadonlyRootFilesystem = lens _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem (\s a -> s { _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-repositorycredentials
+ecstdcdRepositoryCredentials :: Lens' ECSTaskDefinitionContainerDefinition (Maybe ECSTaskDefinitionRepositoryCredentials)
+ecstdcdRepositoryCredentials = lens _eCSTaskDefinitionContainerDefinitionRepositoryCredentials (\s a -> s { _eCSTaskDefinitionContainerDefinitionRepositoryCredentials = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-ulimits
 ecstdcdUlimits :: Lens' ECSTaskDefinitionContainerDefinition (Maybe [ECSTaskDefinitionUlimit])
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html
+
+module Stratosphere.ResourceProperties.ECSTaskDefinitionDockerVolumeConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskDefinitionDockerVolumeConfiguration.
+-- See 'ecsTaskDefinitionDockerVolumeConfiguration' for a more convenient
+-- constructor.
+data ECSTaskDefinitionDockerVolumeConfiguration =
+  ECSTaskDefinitionDockerVolumeConfiguration
+  { _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision :: Maybe (Val Bool)
+  , _eCSTaskDefinitionDockerVolumeConfigurationDriver :: Maybe (Val Text)
+  , _eCSTaskDefinitionDockerVolumeConfigurationDriverOpts :: Maybe Object
+  , _eCSTaskDefinitionDockerVolumeConfigurationLabels :: Maybe Object
+  , _eCSTaskDefinitionDockerVolumeConfigurationScope :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskDefinitionDockerVolumeConfiguration where
+  toJSON ECSTaskDefinitionDockerVolumeConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Autoprovision",) . toJSON . fmap Bool') _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision
+    , fmap (("Driver",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationDriver
+    , fmap (("DriverOpts",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationDriverOpts
+    , fmap (("Labels",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationLabels
+    , fmap (("Scope",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationScope
+    ]
+
+instance FromJSON ECSTaskDefinitionDockerVolumeConfiguration where
+  parseJSON (Object obj) =
+    ECSTaskDefinitionDockerVolumeConfiguration <$>
+      fmap (fmap (fmap unBool')) (obj .:? "Autoprovision") <*>
+      (obj .:? "Driver") <*>
+      (obj .:? "DriverOpts") <*>
+      (obj .:? "Labels") <*>
+      (obj .:? "Scope")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ECSTaskDefinitionDockerVolumeConfiguration' containing
+-- required fields as arguments.
+ecsTaskDefinitionDockerVolumeConfiguration
+  :: ECSTaskDefinitionDockerVolumeConfiguration
+ecsTaskDefinitionDockerVolumeConfiguration  =
+  ECSTaskDefinitionDockerVolumeConfiguration
+  { _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision = Nothing
+  , _eCSTaskDefinitionDockerVolumeConfigurationDriver = Nothing
+  , _eCSTaskDefinitionDockerVolumeConfigurationDriverOpts = Nothing
+  , _eCSTaskDefinitionDockerVolumeConfigurationLabels = Nothing
+  , _eCSTaskDefinitionDockerVolumeConfigurationScope = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-autoprovision
+ecstddvcAutoprovision :: Lens' ECSTaskDefinitionDockerVolumeConfiguration (Maybe (Val Bool))
+ecstddvcAutoprovision = lens _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision (\s a -> s { _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driver
+ecstddvcDriver :: Lens' ECSTaskDefinitionDockerVolumeConfiguration (Maybe (Val Text))
+ecstddvcDriver = lens _eCSTaskDefinitionDockerVolumeConfigurationDriver (\s a -> s { _eCSTaskDefinitionDockerVolumeConfigurationDriver = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driveropts
+ecstddvcDriverOpts :: Lens' ECSTaskDefinitionDockerVolumeConfiguration (Maybe Object)
+ecstddvcDriverOpts = lens _eCSTaskDefinitionDockerVolumeConfigurationDriverOpts (\s a -> s { _eCSTaskDefinitionDockerVolumeConfigurationDriverOpts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-labels
+ecstddvcLabels :: Lens' ECSTaskDefinitionDockerVolumeConfiguration (Maybe Object)
+ecstddvcLabels = lens _eCSTaskDefinitionDockerVolumeConfigurationLabels (\s a -> s { _eCSTaskDefinitionDockerVolumeConfigurationLabels = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-scope
+ecstddvcScope :: Lens' ECSTaskDefinitionDockerVolumeConfiguration (Maybe (Val Text))
+ecstddvcScope = lens _eCSTaskDefinitionDockerVolumeConfigurationScope (\s a -> s { _eCSTaskDefinitionDockerVolumeConfigurationScope = a })
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
@@ -9,6 +9,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ECSTaskDefinitionKernelCapabilities
 import Stratosphere.ResourceProperties.ECSTaskDefinitionDevice
+import Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs
 
 -- | Full data type definition for ECSTaskDefinitionLinuxParameters. See
 -- 'ecsTaskDefinitionLinuxParameters' for a more convenient constructor.
@@ -17,6 +18,8 @@
   { _eCSTaskDefinitionLinuxParametersCapabilities :: Maybe ECSTaskDefinitionKernelCapabilities
   , _eCSTaskDefinitionLinuxParametersDevices :: Maybe [ECSTaskDefinitionDevice]
   , _eCSTaskDefinitionLinuxParametersInitProcessEnabled :: Maybe (Val Bool)
+  , _eCSTaskDefinitionLinuxParametersSharedMemorySize :: Maybe (Val Integer)
+  , _eCSTaskDefinitionLinuxParametersTmpfs :: Maybe [ECSTaskDefinitionTmpfs]
   } deriving (Show, Eq)
 
 instance ToJSON ECSTaskDefinitionLinuxParameters where
@@ -26,6 +29,8 @@
     [ fmap (("Capabilities",) . toJSON) _eCSTaskDefinitionLinuxParametersCapabilities
     , fmap (("Devices",) . toJSON) _eCSTaskDefinitionLinuxParametersDevices
     , fmap (("InitProcessEnabled",) . toJSON . fmap Bool') _eCSTaskDefinitionLinuxParametersInitProcessEnabled
+    , fmap (("SharedMemorySize",) . toJSON . fmap Integer') _eCSTaskDefinitionLinuxParametersSharedMemorySize
+    , fmap (("Tmpfs",) . toJSON) _eCSTaskDefinitionLinuxParametersTmpfs
     ]
 
 instance FromJSON ECSTaskDefinitionLinuxParameters where
@@ -33,7 +38,9 @@
     ECSTaskDefinitionLinuxParameters <$>
       (obj .:? "Capabilities") <*>
       (obj .:? "Devices") <*>
-      fmap (fmap (fmap unBool')) (obj .:? "InitProcessEnabled")
+      fmap (fmap (fmap unBool')) (obj .:? "InitProcessEnabled") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "SharedMemorySize") <*>
+      (obj .:? "Tmpfs")
   parseJSON _ = mempty
 
 -- | Constructor for 'ECSTaskDefinitionLinuxParameters' containing required
@@ -45,6 +52,8 @@
   { _eCSTaskDefinitionLinuxParametersCapabilities = Nothing
   , _eCSTaskDefinitionLinuxParametersDevices = Nothing
   , _eCSTaskDefinitionLinuxParametersInitProcessEnabled = Nothing
+  , _eCSTaskDefinitionLinuxParametersSharedMemorySize = Nothing
+  , _eCSTaskDefinitionLinuxParametersTmpfs = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-capabilities
@@ -58,3 +67,11 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-initprocessenabled
 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-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-tmpfs
+ecstdlpTmpfs :: Lens' ECSTaskDefinitionLinuxParameters (Maybe [ECSTaskDefinitionTmpfs])
+ecstdlpTmpfs = lens _eCSTaskDefinitionLinuxParametersTmpfs (\s a -> s { _eCSTaskDefinitionLinuxParametersTmpfs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionRepositoryCredentials.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionRepositoryCredentials.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionRepositoryCredentials.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html
+
+module Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskDefinitionRepositoryCredentials. See
+-- 'ecsTaskDefinitionRepositoryCredentials' for a more convenient
+-- constructor.
+data ECSTaskDefinitionRepositoryCredentials =
+  ECSTaskDefinitionRepositoryCredentials
+  { _eCSTaskDefinitionRepositoryCredentialsCredentialsParameter :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskDefinitionRepositoryCredentials where
+  toJSON ECSTaskDefinitionRepositoryCredentials{..} =
+    object $
+    catMaybes
+    [ fmap (("CredentialsParameter",) . toJSON) _eCSTaskDefinitionRepositoryCredentialsCredentialsParameter
+    ]
+
+instance FromJSON ECSTaskDefinitionRepositoryCredentials where
+  parseJSON (Object obj) =
+    ECSTaskDefinitionRepositoryCredentials <$>
+      (obj .:? "CredentialsParameter")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ECSTaskDefinitionRepositoryCredentials' containing
+-- required fields as arguments.
+ecsTaskDefinitionRepositoryCredentials
+  :: ECSTaskDefinitionRepositoryCredentials
+ecsTaskDefinitionRepositoryCredentials  =
+  ECSTaskDefinitionRepositoryCredentials
+  { _eCSTaskDefinitionRepositoryCredentialsCredentialsParameter = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html#cfn-ecs-taskdefinition-repositorycredentials-credentialsparameter
+ecstdrcCredentialsParameter :: Lens' ECSTaskDefinitionRepositoryCredentials (Maybe (Val Text))
+ecstdrcCredentialsParameter = lens _eCSTaskDefinitionRepositoryCredentialsCredentialsParameter (\s a -> s { _eCSTaskDefinitionRepositoryCredentialsCredentialsParameter = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
@@ -0,0 +1,59 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html
+
+module Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskDefinitionTmpfs. See
+-- 'ecsTaskDefinitionTmpfs' for a more convenient constructor.
+data ECSTaskDefinitionTmpfs =
+  ECSTaskDefinitionTmpfs
+  { _eCSTaskDefinitionTmpfsContainerPath :: Maybe (Val Text)
+  , _eCSTaskDefinitionTmpfsMountOptions :: Maybe (ValList Text)
+  , _eCSTaskDefinitionTmpfsSize :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskDefinitionTmpfs where
+  toJSON ECSTaskDefinitionTmpfs{..} =
+    object $
+    catMaybes
+    [ fmap (("ContainerPath",) . toJSON) _eCSTaskDefinitionTmpfsContainerPath
+    , fmap (("MountOptions",) . toJSON) _eCSTaskDefinitionTmpfsMountOptions
+    , fmap (("Size",) . toJSON . fmap Integer') _eCSTaskDefinitionTmpfsSize
+    ]
+
+instance FromJSON ECSTaskDefinitionTmpfs where
+  parseJSON (Object obj) =
+    ECSTaskDefinitionTmpfs <$>
+      (obj .:? "ContainerPath") <*>
+      (obj .:? "MountOptions") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "Size")
+  parseJSON _ = mempty
+
+-- | Constructor for 'ECSTaskDefinitionTmpfs' containing required fields as
+-- arguments.
+ecsTaskDefinitionTmpfs
+  :: ECSTaskDefinitionTmpfs
+ecsTaskDefinitionTmpfs  =
+  ECSTaskDefinitionTmpfs
+  { _eCSTaskDefinitionTmpfsContainerPath = Nothing
+  , _eCSTaskDefinitionTmpfsMountOptions = Nothing
+  , _eCSTaskDefinitionTmpfsSize = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-containerpath
+ecstdtContainerPath :: Lens' ECSTaskDefinitionTmpfs (Maybe (Val Text))
+ecstdtContainerPath = lens _eCSTaskDefinitionTmpfsContainerPath (\s a -> s { _eCSTaskDefinitionTmpfsContainerPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-mountoptions
+ecstdtMountOptions :: Lens' ECSTaskDefinitionTmpfs (Maybe (ValList Text))
+ecstdtMountOptions = lens _eCSTaskDefinitionTmpfsMountOptions (\s a -> s { _eCSTaskDefinitionTmpfsMountOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-size
+ecstdtSize :: Lens' ECSTaskDefinitionTmpfs (Maybe (Val Integer))
+ecstdtSize = lens _eCSTaskDefinitionTmpfsSize (\s a -> s { _eCSTaskDefinitionTmpfsSize = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs
@@ -7,13 +7,15 @@
 module Stratosphere.ResourceProperties.ECSTaskDefinitionVolume where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ECSTaskDefinitionDockerVolumeConfiguration
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties
 
 -- | Full data type definition for ECSTaskDefinitionVolume. See
 -- 'ecsTaskDefinitionVolume' for a more convenient constructor.
 data ECSTaskDefinitionVolume =
   ECSTaskDefinitionVolume
-  { _eCSTaskDefinitionVolumeHost :: Maybe ECSTaskDefinitionHostVolumeProperties
+  { _eCSTaskDefinitionVolumeDockerVolumeConfiguration :: Maybe ECSTaskDefinitionDockerVolumeConfiguration
+  , _eCSTaskDefinitionVolumeHost :: Maybe ECSTaskDefinitionHostVolumeProperties
   , _eCSTaskDefinitionVolumeName :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -21,13 +23,15 @@
   toJSON ECSTaskDefinitionVolume{..} =
     object $
     catMaybes
-    [ fmap (("Host",) . toJSON) _eCSTaskDefinitionVolumeHost
+    [ fmap (("DockerVolumeConfiguration",) . toJSON) _eCSTaskDefinitionVolumeDockerVolumeConfiguration
+    , fmap (("Host",) . toJSON) _eCSTaskDefinitionVolumeHost
     , fmap (("Name",) . toJSON) _eCSTaskDefinitionVolumeName
     ]
 
 instance FromJSON ECSTaskDefinitionVolume where
   parseJSON (Object obj) =
     ECSTaskDefinitionVolume <$>
+      (obj .:? "DockerVolumeConfiguration") <*>
       (obj .:? "Host") <*>
       (obj .:? "Name")
   parseJSON _ = mempty
@@ -38,9 +42,14 @@
   :: ECSTaskDefinitionVolume
 ecsTaskDefinitionVolume  =
   ECSTaskDefinitionVolume
-  { _eCSTaskDefinitionVolumeHost = Nothing
+  { _eCSTaskDefinitionVolumeDockerVolumeConfiguration = Nothing
+  , _eCSTaskDefinitionVolumeHost = Nothing
   , _eCSTaskDefinitionVolumeName = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volume-dockervolumeconfiguration
+ecstdvDockerVolumeConfiguration :: Lens' ECSTaskDefinitionVolume (Maybe ECSTaskDefinitionDockerVolumeConfiguration)
+ecstdvDockerVolumeConfiguration = lens _eCSTaskDefinitionVolumeDockerVolumeConfiguration (\s a -> s { _eCSTaskDefinitionVolumeDockerVolumeConfiguration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volumes-host
 ecstdvHost :: Lens' ECSTaskDefinitionVolume (Maybe ECSTaskDefinitionHostVolumeProperties)
diff --git a/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs
@@ -15,7 +15,8 @@
 -- constructor.
 data ElastiCacheReplicationGroupNodeGroupConfiguration =
   ElastiCacheReplicationGroupNodeGroupConfiguration
-  { _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone :: Maybe (Val Text)
+  { _elastiCacheReplicationGroupNodeGroupConfigurationNodeGroupId :: Maybe (Val Text)
+  , _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone :: Maybe (Val Text)
   , _elastiCacheReplicationGroupNodeGroupConfigurationReplicaAvailabilityZones :: Maybe (ValList Text)
   , _elastiCacheReplicationGroupNodeGroupConfigurationReplicaCount :: Maybe (Val Integer)
   , _elastiCacheReplicationGroupNodeGroupConfigurationSlots :: Maybe (Val Text)
@@ -25,7 +26,8 @@
   toJSON ElastiCacheReplicationGroupNodeGroupConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("PrimaryAvailabilityZone",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone
+    [ fmap (("NodeGroupId",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationNodeGroupId
+    , fmap (("PrimaryAvailabilityZone",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone
     , fmap (("ReplicaAvailabilityZones",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationReplicaAvailabilityZones
     , fmap (("ReplicaCount",) . toJSON . fmap Integer') _elastiCacheReplicationGroupNodeGroupConfigurationReplicaCount
     , fmap (("Slots",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationSlots
@@ -34,6 +36,7 @@
 instance FromJSON ElastiCacheReplicationGroupNodeGroupConfiguration where
   parseJSON (Object obj) =
     ElastiCacheReplicationGroupNodeGroupConfiguration <$>
+      (obj .:? "NodeGroupId") <*>
       (obj .:? "PrimaryAvailabilityZone") <*>
       (obj .:? "ReplicaAvailabilityZones") <*>
       fmap (fmap (fmap unInteger')) (obj .:? "ReplicaCount") <*>
@@ -46,11 +49,16 @@
   :: ElastiCacheReplicationGroupNodeGroupConfiguration
 elastiCacheReplicationGroupNodeGroupConfiguration  =
   ElastiCacheReplicationGroupNodeGroupConfiguration
-  { _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone = Nothing
+  { _elastiCacheReplicationGroupNodeGroupConfigurationNodeGroupId = Nothing
+  , _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone = Nothing
   , _elastiCacheReplicationGroupNodeGroupConfigurationReplicaAvailabilityZones = Nothing
   , _elastiCacheReplicationGroupNodeGroupConfigurationReplicaCount = Nothing
   , _elastiCacheReplicationGroupNodeGroupConfigurationSlots = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-nodegroupid
+ecrgngcNodeGroupId :: Lens' ElastiCacheReplicationGroupNodeGroupConfiguration (Maybe (Val Text))
+ecrgngcNodeGroupId = lens _elastiCacheReplicationGroupNodeGroupConfigurationNodeGroupId (\s a -> s { _elastiCacheReplicationGroupNodeGroupConfigurationNodeGroupId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-primaryavailabilityzone
 ecrgngcPrimaryAvailabilityZone :: Lens' ElastiCacheReplicationGroupNodeGroupConfiguration (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleSqsParameters.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleSqsParameters.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleSqsParameters.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html
+
+module Stratosphere.ResourceProperties.EventsRuleSqsParameters where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventsRuleSqsParameters. See
+-- 'eventsRuleSqsParameters' for a more convenient constructor.
+data EventsRuleSqsParameters =
+  EventsRuleSqsParameters
+  { _eventsRuleSqsParametersMessageGroupId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EventsRuleSqsParameters where
+  toJSON EventsRuleSqsParameters{..} =
+    object $
+    catMaybes
+    [ (Just . ("MessageGroupId",) . toJSON) _eventsRuleSqsParametersMessageGroupId
+    ]
+
+instance FromJSON EventsRuleSqsParameters where
+  parseJSON (Object obj) =
+    EventsRuleSqsParameters <$>
+      (obj .: "MessageGroupId")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EventsRuleSqsParameters' containing required fields as
+-- arguments.
+eventsRuleSqsParameters
+  :: Val Text -- ^ 'erspMessageGroupId'
+  -> EventsRuleSqsParameters
+eventsRuleSqsParameters messageGroupIdarg =
+  EventsRuleSqsParameters
+  { _eventsRuleSqsParametersMessageGroupId = messageGroupIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html#cfn-events-rule-sqsparameters-messagegroupid
+erspMessageGroupId :: Lens' EventsRuleSqsParameters (Val Text)
+erspMessageGroupId = lens _eventsRuleSqsParametersMessageGroupId (\s a -> s { _eventsRuleSqsParametersMessageGroupId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
@@ -11,6 +11,7 @@
 import Stratosphere.ResourceProperties.EventsRuleInputTransformer
 import Stratosphere.ResourceProperties.EventsRuleKinesisParameters
 import Stratosphere.ResourceProperties.EventsRuleRunCommandParameters
+import Stratosphere.ResourceProperties.EventsRuleSqsParameters
 
 -- | Full data type definition for EventsRuleTarget. See 'eventsRuleTarget'
 -- for a more convenient constructor.
@@ -25,6 +26,7 @@
   , _eventsRuleTargetKinesisParameters :: Maybe EventsRuleKinesisParameters
   , _eventsRuleTargetRoleArn :: Maybe (Val Text)
   , _eventsRuleTargetRunCommandParameters :: Maybe EventsRuleRunCommandParameters
+  , _eventsRuleTargetSqsParameters :: Maybe EventsRuleSqsParameters
   } deriving (Show, Eq)
 
 instance ToJSON EventsRuleTarget where
@@ -40,6 +42,7 @@
     , fmap (("KinesisParameters",) . toJSON) _eventsRuleTargetKinesisParameters
     , fmap (("RoleArn",) . toJSON) _eventsRuleTargetRoleArn
     , fmap (("RunCommandParameters",) . toJSON) _eventsRuleTargetRunCommandParameters
+    , fmap (("SqsParameters",) . toJSON) _eventsRuleTargetSqsParameters
     ]
 
 instance FromJSON EventsRuleTarget where
@@ -53,7 +56,8 @@
       (obj .:? "InputTransformer") <*>
       (obj .:? "KinesisParameters") <*>
       (obj .:? "RoleArn") <*>
-      (obj .:? "RunCommandParameters")
+      (obj .:? "RunCommandParameters") <*>
+      (obj .:? "SqsParameters")
   parseJSON _ = mempty
 
 -- | Constructor for 'EventsRuleTarget' containing required fields as
@@ -73,6 +77,7 @@
   , _eventsRuleTargetKinesisParameters = Nothing
   , _eventsRuleTargetRoleArn = Nothing
   , _eventsRuleTargetRunCommandParameters = Nothing
+  , _eventsRuleTargetSqsParameters = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-arn
@@ -110,3 +115,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-runcommandparameters
 ertRunCommandParameters :: Lens' EventsRuleTarget (Maybe EventsRuleRunCommandParameters)
 ertRunCommandParameters = lens _eventsRuleTargetRunCommandParameters (\s a -> s { _eventsRuleTargetRunCommandParameters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters
+ertSqsParameters :: Lens' EventsRuleTarget (Maybe EventsRuleSqsParameters)
+ertSqsParameters = lens _eventsRuleTargetSqsParameters (\s a -> s { _eventsRuleTargetSqsParameters = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoT1ClickProjectDeviceTemplate.hs b/library-gen/Stratosphere/ResourceProperties/IoT1ClickProjectDeviceTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoT1ClickProjectDeviceTemplate.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html
+
+module Stratosphere.ResourceProperties.IoT1ClickProjectDeviceTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoT1ClickProjectDeviceTemplate. See
+-- 'ioT1ClickProjectDeviceTemplate' for a more convenient constructor.
+data IoT1ClickProjectDeviceTemplate =
+  IoT1ClickProjectDeviceTemplate
+  { _ioT1ClickProjectDeviceTemplateCallbackOverrides :: Maybe Object
+  , _ioT1ClickProjectDeviceTemplateDeviceType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoT1ClickProjectDeviceTemplate where
+  toJSON IoT1ClickProjectDeviceTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("CallbackOverrides",) . toJSON) _ioT1ClickProjectDeviceTemplateCallbackOverrides
+    , fmap (("DeviceType",) . toJSON) _ioT1ClickProjectDeviceTemplateDeviceType
+    ]
+
+instance FromJSON IoT1ClickProjectDeviceTemplate where
+  parseJSON (Object obj) =
+    IoT1ClickProjectDeviceTemplate <$>
+      (obj .:? "CallbackOverrides") <*>
+      (obj .:? "DeviceType")
+  parseJSON _ = mempty
+
+-- | Constructor for 'IoT1ClickProjectDeviceTemplate' containing required
+-- fields as arguments.
+ioT1ClickProjectDeviceTemplate
+  :: IoT1ClickProjectDeviceTemplate
+ioT1ClickProjectDeviceTemplate  =
+  IoT1ClickProjectDeviceTemplate
+  { _ioT1ClickProjectDeviceTemplateCallbackOverrides = Nothing
+  , _ioT1ClickProjectDeviceTemplateDeviceType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html#cfn-iot1click-project-devicetemplate-callbackoverrides
+itcpdtCallbackOverrides :: Lens' IoT1ClickProjectDeviceTemplate (Maybe Object)
+itcpdtCallbackOverrides = lens _ioT1ClickProjectDeviceTemplateCallbackOverrides (\s a -> s { _ioT1ClickProjectDeviceTemplateCallbackOverrides = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html#cfn-iot1click-project-devicetemplate-devicetype
+itcpdtDeviceType :: Lens' IoT1ClickProjectDeviceTemplate (Maybe (Val Text))
+itcpdtDeviceType = lens _ioT1ClickProjectDeviceTemplateDeviceType (\s a -> s { _ioT1ClickProjectDeviceTemplateDeviceType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoT1ClickProjectPlacementTemplate.hs b/library-gen/Stratosphere/ResourceProperties/IoT1ClickProjectPlacementTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoT1ClickProjectPlacementTemplate.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html
+
+module Stratosphere.ResourceProperties.IoT1ClickProjectPlacementTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoT1ClickProjectPlacementTemplate. See
+-- 'ioT1ClickProjectPlacementTemplate' for a more convenient constructor.
+data IoT1ClickProjectPlacementTemplate =
+  IoT1ClickProjectPlacementTemplate
+  { _ioT1ClickProjectPlacementTemplateDefaultAttributes :: Maybe Object
+  , _ioT1ClickProjectPlacementTemplateDeviceTemplates :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToJSON IoT1ClickProjectPlacementTemplate where
+  toJSON IoT1ClickProjectPlacementTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("DefaultAttributes",) . toJSON) _ioT1ClickProjectPlacementTemplateDefaultAttributes
+    , fmap (("DeviceTemplates",) . toJSON) _ioT1ClickProjectPlacementTemplateDeviceTemplates
+    ]
+
+instance FromJSON IoT1ClickProjectPlacementTemplate where
+  parseJSON (Object obj) =
+    IoT1ClickProjectPlacementTemplate <$>
+      (obj .:? "DefaultAttributes") <*>
+      (obj .:? "DeviceTemplates")
+  parseJSON _ = mempty
+
+-- | Constructor for 'IoT1ClickProjectPlacementTemplate' containing required
+-- fields as arguments.
+ioT1ClickProjectPlacementTemplate
+  :: IoT1ClickProjectPlacementTemplate
+ioT1ClickProjectPlacementTemplate  =
+  IoT1ClickProjectPlacementTemplate
+  { _ioT1ClickProjectPlacementTemplateDefaultAttributes = Nothing
+  , _ioT1ClickProjectPlacementTemplateDeviceTemplates = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html#cfn-iot1click-project-placementtemplate-defaultattributes
+itcpptDefaultAttributes :: Lens' IoT1ClickProjectPlacementTemplate (Maybe Object)
+itcpptDefaultAttributes = lens _ioT1ClickProjectPlacementTemplateDefaultAttributes (\s a -> s { _ioT1ClickProjectPlacementTemplateDefaultAttributes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html#cfn-iot1click-project-placementtemplate-devicetemplates
+itcpptDeviceTemplates :: Lens' IoT1ClickProjectPlacementTemplate (Maybe Object)
+itcpptDeviceTemplates = lens _ioT1ClickProjectPlacementTemplateDeviceTemplates (\s a -> s { _ioT1ClickProjectPlacementTemplateDeviceTemplates = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html
+
+module Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for RDSDBClusterScalingConfiguration. See
+-- 'rdsdbClusterScalingConfiguration' for a more convenient constructor.
+data RDSDBClusterScalingConfiguration =
+  RDSDBClusterScalingConfiguration
+  { _rDSDBClusterScalingConfigurationAutoPause :: Maybe (Val Bool)
+  , _rDSDBClusterScalingConfigurationMaxCapacity :: Maybe (Val Integer)
+  , _rDSDBClusterScalingConfigurationMinCapacity :: Maybe (Val Integer)
+  , _rDSDBClusterScalingConfigurationSecondsBeforeAutoPause :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON RDSDBClusterScalingConfiguration where
+  toJSON RDSDBClusterScalingConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("AutoPause",) . toJSON . fmap Bool') _rDSDBClusterScalingConfigurationAutoPause
+    , fmap (("MaxCapacity",) . toJSON . fmap Integer') _rDSDBClusterScalingConfigurationMaxCapacity
+    , fmap (("MinCapacity",) . toJSON . fmap Integer') _rDSDBClusterScalingConfigurationMinCapacity
+    , fmap (("SecondsBeforeAutoPause",) . toJSON . fmap Integer') _rDSDBClusterScalingConfigurationSecondsBeforeAutoPause
+    ]
+
+instance FromJSON RDSDBClusterScalingConfiguration where
+  parseJSON (Object obj) =
+    RDSDBClusterScalingConfiguration <$>
+      fmap (fmap (fmap unBool')) (obj .:? "AutoPause") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "MaxCapacity") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "MinCapacity") <*>
+      fmap (fmap (fmap unInteger')) (obj .:? "SecondsBeforeAutoPause")
+  parseJSON _ = mempty
+
+-- | Constructor for 'RDSDBClusterScalingConfiguration' containing required
+-- fields as arguments.
+rdsdbClusterScalingConfiguration
+  :: RDSDBClusterScalingConfiguration
+rdsdbClusterScalingConfiguration  =
+  RDSDBClusterScalingConfiguration
+  { _rDSDBClusterScalingConfigurationAutoPause = Nothing
+  , _rDSDBClusterScalingConfigurationMaxCapacity = Nothing
+  , _rDSDBClusterScalingConfigurationMinCapacity = Nothing
+  , _rDSDBClusterScalingConfigurationSecondsBeforeAutoPause = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-autopause
+rdsdbcscAutoPause :: Lens' RDSDBClusterScalingConfiguration (Maybe (Val Bool))
+rdsdbcscAutoPause = lens _rDSDBClusterScalingConfigurationAutoPause (\s a -> s { _rDSDBClusterScalingConfigurationAutoPause = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-maxcapacity
+rdsdbcscMaxCapacity :: Lens' RDSDBClusterScalingConfiguration (Maybe (Val Integer))
+rdsdbcscMaxCapacity = lens _rDSDBClusterScalingConfigurationMaxCapacity (\s a -> s { _rDSDBClusterScalingConfigurationMaxCapacity = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-mincapacity
+rdsdbcscMinCapacity :: Lens' RDSDBClusterScalingConfiguration (Maybe (Val Integer))
+rdsdbcscMinCapacity = lens _rDSDBClusterScalingConfigurationMinCapacity (\s a -> s { _rDSDBClusterScalingConfigurationMinCapacity = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsbeforeautopause
+rdsdbcscSecondsBeforeAutoPause :: Lens' RDSDBClusterScalingConfiguration (Maybe (Val Integer))
+rdsdbcscSecondsBeforeAutoPause = lens _rDSDBClusterScalingConfigurationSecondsBeforeAutoPause (\s a -> s { _rDSDBClusterScalingConfigurationSecondsBeforeAutoPause = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs
@@ -15,7 +15,7 @@
   RDSOptionGroupOptionConfiguration
   { _rDSOptionGroupOptionConfigurationDBSecurityGroupMemberships :: Maybe (ValList Text)
   , _rDSOptionGroupOptionConfigurationOptionName :: Val Text
-  , _rDSOptionGroupOptionConfigurationOptionSettings :: Maybe RDSOptionGroupOptionSetting
+  , _rDSOptionGroupOptionConfigurationOptionSettings :: Maybe [RDSOptionGroupOptionSetting]
   , _rDSOptionGroupOptionConfigurationOptionVersion :: Maybe (Val Text)
   , _rDSOptionGroupOptionConfigurationPort :: Maybe (Val Integer)
   , _rDSOptionGroupOptionConfigurationVpcSecurityGroupMemberships :: Maybe (ValList Text)
@@ -68,7 +68,7 @@
 rdsogocOptionName = lens _rDSOptionGroupOptionConfigurationOptionName (\s a -> s { _rDSOptionGroupOptionConfigurationOptionName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionsettings
-rdsogocOptionSettings :: Lens' RDSOptionGroupOptionConfiguration (Maybe RDSOptionGroupOptionSetting)
+rdsogocOptionSettings :: Lens' RDSOptionGroupOptionConfiguration (Maybe [RDSOptionGroupOptionSetting])
 rdsogocOptionSettings = lens _rDSOptionGroupOptionConfigurationOptionSettings (\s a -> s { _rDSOptionGroupOptionConfigurationOptionSettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfiguration-optionversion
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
@@ -233,6 +233,9 @@
 import Stratosphere.Resources.InspectorAssessmentTarget as X
 import Stratosphere.Resources.InspectorAssessmentTemplate as X
 import Stratosphere.Resources.InspectorResourceGroup as X
+import Stratosphere.Resources.IoT1ClickDevice as X
+import Stratosphere.Resources.IoT1ClickPlacement as X
+import Stratosphere.Resources.IoT1ClickProject as X
 import Stratosphere.Resources.IoTCertificate as X
 import Stratosphere.Resources.IoTPolicy as X
 import Stratosphere.Resources.IoTPolicyPrincipalAttachment as X
@@ -350,6 +353,9 @@
 import Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerUser as X
 import Stratosphere.ResourceProperties.ApiGatewayApiKeyStageKey as X
+import Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting as X
+import Stratosphere.ResourceProperties.ApiGatewayDeploymentCanarySetting as X
+import Stratosphere.ResourceProperties.ApiGatewayDeploymentDeploymentCanarySettings as X
 import Stratosphere.ResourceProperties.ApiGatewayDeploymentMethodSetting as X
 import Stratosphere.ResourceProperties.ApiGatewayDeploymentStageDescription as X
 import Stratosphere.ResourceProperties.ApiGatewayDocumentationPartLocation as X
@@ -359,6 +365,8 @@
 import Stratosphere.ResourceProperties.ApiGatewayMethodMethodResponse as X
 import Stratosphere.ResourceProperties.ApiGatewayRestApiEndpointConfiguration as X
 import Stratosphere.ResourceProperties.ApiGatewayRestApiS3Location as X
+import Stratosphere.ResourceProperties.ApiGatewayStageAccessLogSetting as X
+import Stratosphere.ResourceProperties.ApiGatewayStageCanarySetting as X
 import Stratosphere.ResourceProperties.ApiGatewayStageMethodSetting as X
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage as X
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings as X
@@ -378,6 +386,7 @@
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepAdjustment as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration as X
+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification as X
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification as X
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection as X
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration as X
@@ -439,10 +448,13 @@
 import Stratosphere.ResourceProperties.CloudTrailTrailEventSelector as X
 import Stratosphere.ResourceProperties.CloudWatchAlarmDimension as X
 import Stratosphere.ResourceProperties.CodeBuildProjectArtifacts as X
+import Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironment as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironmentVariable as X
+import Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectCache as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers as X
+import Stratosphere.ResourceProperties.CodeBuildProjectS3LogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectSource as X
 import Stratosphere.ResourceProperties.CodeBuildProjectSourceAuth as X
 import Stratosphere.ResourceProperties.CodeBuildProjectVpcConfig as X
@@ -454,9 +466,13 @@
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupDeployment as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupDeploymentStyle as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagFilter as X
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSet as X
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSetListObject as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupELBInfo as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupGitHubLocation as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupLoadBalancerInfo as X
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSet as X
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSetListObject as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupRevisionLocation as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupS3Location as X
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter as X
@@ -556,17 +572,25 @@
 import Stratosphere.ResourceProperties.EC2SecurityGroupEgressProperty as X
 import Stratosphere.ResourceProperties.EC2SecurityGroupIngressProperty as X
 import Stratosphere.ResourceProperties.EC2SpotFleetBlockDeviceMapping as X
+import Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancer as X
+import Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancersConfig as X
 import Stratosphere.ResourceProperties.EC2SpotFleetEbsBlockDevice as X
+import Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification as X
 import Stratosphere.ResourceProperties.EC2SpotFleetGroupIdentifier as X
 import Stratosphere.ResourceProperties.EC2SpotFleetIamInstanceProfileSpecification as X
 import Stratosphere.ResourceProperties.EC2SpotFleetInstanceIpv6Address as X
 import Stratosphere.ResourceProperties.EC2SpotFleetInstanceNetworkInterfaceSpecification as X
+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig as X
+import Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides as X
+import Stratosphere.ResourceProperties.EC2SpotFleetLoadBalancersConfig as X
 import Stratosphere.ResourceProperties.EC2SpotFleetPrivateIpAddressSpecification as X
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetLaunchSpecification as X
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetMonitoring as X
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetRequestConfigData as X
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetTagSpecification as X
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotPlacement as X
+import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup as X
+import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig as X
 import Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification as X
 import Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy as X
 import Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration as X
@@ -578,6 +602,7 @@
 import Stratosphere.ResourceProperties.ECSServiceServiceRegistry as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionContainerDefinition as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionDevice as X
+import Stratosphere.ResourceProperties.ECSTaskDefinitionDockerVolumeConfiguration as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties as X
@@ -587,7 +612,9 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionLogConfiguration as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionMountPoint as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionPortMapping as X
+import Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint as X
+import Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolume as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom as X
@@ -675,6 +702,7 @@
 import Stratosphere.ResourceProperties.EventsRuleKinesisParameters as X
 import Stratosphere.ResourceProperties.EventsRuleRunCommandParameters as X
 import Stratosphere.ResourceProperties.EventsRuleRunCommandTarget as X
+import Stratosphere.ResourceProperties.EventsRuleSqsParameters as X
 import Stratosphere.ResourceProperties.EventsRuleTarget as X
 import Stratosphere.ResourceProperties.GameLiftAliasRoutingStrategy as X
 import Stratosphere.ResourceProperties.GameLiftBuildS3Location as X
@@ -714,6 +742,8 @@
 import Stratosphere.ResourceProperties.IAMRolePolicy as X
 import Stratosphere.ResourceProperties.IAMUserLoginProfile as X
 import Stratosphere.ResourceProperties.IAMUserPolicy as X
+import Stratosphere.ResourceProperties.IoT1ClickProjectDeviceTemplate as X
+import Stratosphere.ResourceProperties.IoT1ClickProjectPlacementTemplate as X
 import Stratosphere.ResourceProperties.IoTThingAttributePayload as X
 import Stratosphere.ResourceProperties.IoTTopicRuleAction as X
 import Stratosphere.ResourceProperties.IoTTopicRuleCloudwatchAlarmAction as X
@@ -799,6 +829,7 @@
 import Stratosphere.ResourceProperties.OpsWorksStackRdsDbInstance as X
 import Stratosphere.ResourceProperties.OpsWorksStackSource as X
 import Stratosphere.ResourceProperties.OpsWorksStackStackConfigurationManager as X
+import Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration as X
 import Stratosphere.ResourceProperties.RDSDBSecurityGroupIngressProperty as X
 import Stratosphere.ResourceProperties.RDSOptionGroupOptionConfiguration as X
 import Stratosphere.ResourceProperties.RDSOptionGroupOptionSetting as X
@@ -1121,6 +1152,9 @@
   | InspectorAssessmentTargetProperties InspectorAssessmentTarget
   | InspectorAssessmentTemplateProperties InspectorAssessmentTemplate
   | InspectorResourceGroupProperties InspectorResourceGroup
+  | IoT1ClickDeviceProperties IoT1ClickDevice
+  | IoT1ClickPlacementProperties IoT1ClickPlacement
+  | IoT1ClickProjectProperties IoT1ClickProject
   | IoTCertificateProperties IoTCertificate
   | IoTPolicyProperties IoTPolicy
   | IoTPolicyPrincipalAttachmentProperties IoTPolicyPrincipalAttachment
@@ -1660,6 +1694,12 @@
   [ "Type" .= ("AWS::Inspector::AssessmentTemplate" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (InspectorResourceGroupProperties x) =
   [ "Type" .= ("AWS::Inspector::ResourceGroup" :: String), "Properties" .= toJSON x]
+resourcePropertiesJSON (IoT1ClickDeviceProperties x) =
+  [ "Type" .= ("AWS::IoT1Click::Device" :: String), "Properties" .= toJSON x]
+resourcePropertiesJSON (IoT1ClickPlacementProperties x) =
+  [ "Type" .= ("AWS::IoT1Click::Placement" :: String), "Properties" .= toJSON x]
+resourcePropertiesJSON (IoT1ClickProjectProperties x) =
+  [ "Type" .= ("AWS::IoT1Click::Project" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (IoTCertificateProperties x) =
   [ "Type" .= ("AWS::IoT::Certificate" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (IoTPolicyProperties x) =
@@ -2076,6 +2116,9 @@
          "AWS::Inspector::AssessmentTarget" -> InspectorAssessmentTargetProperties <$> (o .: "Properties")
          "AWS::Inspector::AssessmentTemplate" -> InspectorAssessmentTemplateProperties <$> (o .: "Properties")
          "AWS::Inspector::ResourceGroup" -> InspectorResourceGroupProperties <$> (o .: "Properties")
+         "AWS::IoT1Click::Device" -> IoT1ClickDeviceProperties <$> (o .: "Properties")
+         "AWS::IoT1Click::Placement" -> IoT1ClickPlacementProperties <$> (o .: "Properties")
+         "AWS::IoT1Click::Project" -> IoT1ClickProjectProperties <$> (o .: "Properties")
          "AWS::IoT::Certificate" -> IoTCertificateProperties <$> (o .: "Properties")
          "AWS::IoT::Policy" -> IoTPolicyProperties <$> (o .: "Properties")
          "AWS::IoT::PolicyPrincipalAttachment" -> IoTPolicyPrincipalAttachmentProperties <$> (o .: "Properties")
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs b/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
@@ -7,13 +7,15 @@
 module Stratosphere.Resources.ApiGatewayDeployment where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ApiGatewayDeploymentDeploymentCanarySettings
 import Stratosphere.ResourceProperties.ApiGatewayDeploymentStageDescription
 
 -- | Full data type definition for ApiGatewayDeployment. See
 -- 'apiGatewayDeployment' for a more convenient constructor.
 data ApiGatewayDeployment =
   ApiGatewayDeployment
-  { _apiGatewayDeploymentDescription :: Maybe (Val Text)
+  { _apiGatewayDeploymentDeploymentCanarySettings :: Maybe ApiGatewayDeploymentDeploymentCanarySettings
+  , _apiGatewayDeploymentDescription :: Maybe (Val Text)
   , _apiGatewayDeploymentRestApiId :: Val Text
   , _apiGatewayDeploymentStageDescription :: Maybe ApiGatewayDeploymentStageDescription
   , _apiGatewayDeploymentStageName :: Maybe (Val Text)
@@ -23,7 +25,8 @@
   toJSON ApiGatewayDeployment{..} =
     object $
     catMaybes
-    [ fmap (("Description",) . toJSON) _apiGatewayDeploymentDescription
+    [ fmap (("DeploymentCanarySettings",) . toJSON) _apiGatewayDeploymentDeploymentCanarySettings
+    , fmap (("Description",) . toJSON) _apiGatewayDeploymentDescription
     , (Just . ("RestApiId",) . toJSON) _apiGatewayDeploymentRestApiId
     , fmap (("StageDescription",) . toJSON) _apiGatewayDeploymentStageDescription
     , fmap (("StageName",) . toJSON) _apiGatewayDeploymentStageName
@@ -32,6 +35,7 @@
 instance FromJSON ApiGatewayDeployment where
   parseJSON (Object obj) =
     ApiGatewayDeployment <$>
+      (obj .:? "DeploymentCanarySettings") <*>
       (obj .:? "Description") <*>
       (obj .: "RestApiId") <*>
       (obj .:? "StageDescription") <*>
@@ -45,11 +49,16 @@
   -> ApiGatewayDeployment
 apiGatewayDeployment restApiIdarg =
   ApiGatewayDeployment
-  { _apiGatewayDeploymentDescription = Nothing
+  { _apiGatewayDeploymentDeploymentCanarySettings = Nothing
+  , _apiGatewayDeploymentDescription = Nothing
   , _apiGatewayDeploymentRestApiId = restApiIdarg
   , _apiGatewayDeploymentStageDescription = Nothing
   , _apiGatewayDeploymentStageName = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings
+agdDeploymentCanarySettings :: Lens' ApiGatewayDeployment (Maybe ApiGatewayDeploymentDeploymentCanarySettings)
+agdDeploymentCanarySettings = lens _apiGatewayDeploymentDeploymentCanarySettings (\s a -> s { _apiGatewayDeploymentDeploymentCanarySettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description
 agdDescription :: Lens' ApiGatewayDeployment (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs b/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
@@ -16,6 +16,7 @@
 data ApiGatewayMethod =
   ApiGatewayMethod
   { _apiGatewayMethodApiKeyRequired :: Maybe (Val Bool)
+  , _apiGatewayMethodAuthorizationScopes :: Maybe (ValList Text)
   , _apiGatewayMethodAuthorizationType :: Maybe (Val AuthorizationType)
   , _apiGatewayMethodAuthorizerId :: Maybe (Val Text)
   , _apiGatewayMethodHttpMethod :: Val HttpMethod
@@ -34,6 +35,7 @@
     object $
     catMaybes
     [ fmap (("ApiKeyRequired",) . toJSON . fmap Bool') _apiGatewayMethodApiKeyRequired
+    , fmap (("AuthorizationScopes",) . toJSON) _apiGatewayMethodAuthorizationScopes
     , fmap (("AuthorizationType",) . toJSON) _apiGatewayMethodAuthorizationType
     , fmap (("AuthorizerId",) . toJSON) _apiGatewayMethodAuthorizerId
     , (Just . ("HttpMethod",) . toJSON) _apiGatewayMethodHttpMethod
@@ -51,6 +53,7 @@
   parseJSON (Object obj) =
     ApiGatewayMethod <$>
       fmap (fmap (fmap unBool')) (obj .:? "ApiKeyRequired") <*>
+      (obj .:? "AuthorizationScopes") <*>
       (obj .:? "AuthorizationType") <*>
       (obj .:? "AuthorizerId") <*>
       (obj .: "HttpMethod") <*>
@@ -74,6 +77,7 @@
 apiGatewayMethod httpMethodarg resourceIdarg restApiIdarg =
   ApiGatewayMethod
   { _apiGatewayMethodApiKeyRequired = Nothing
+  , _apiGatewayMethodAuthorizationScopes = Nothing
   , _apiGatewayMethodAuthorizationType = Nothing
   , _apiGatewayMethodAuthorizerId = Nothing
   , _apiGatewayMethodHttpMethod = httpMethodarg
@@ -90,6 +94,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired
 agmeApiKeyRequired :: Lens' ApiGatewayMethod (Maybe (Val Bool))
 agmeApiKeyRequired = lens _apiGatewayMethodApiKeyRequired (\s a -> s { _apiGatewayMethodApiKeyRequired = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes
+agmeAuthorizationScopes :: Lens' ApiGatewayMethod (Maybe (ValList Text))
+agmeAuthorizationScopes = lens _apiGatewayMethodAuthorizationScopes (\s a -> s { _apiGatewayMethodAuthorizationScopes = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationtype
 agmeAuthorizationType :: Lens' ApiGatewayMethod (Maybe (Val AuthorizationType))
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayStage.hs b/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
@@ -7,14 +7,18 @@
 module Stratosphere.Resources.ApiGatewayStage where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ApiGatewayStageAccessLogSetting
+import Stratosphere.ResourceProperties.ApiGatewayStageCanarySetting
 import Stratosphere.ResourceProperties.ApiGatewayStageMethodSetting
 
 -- | Full data type definition for ApiGatewayStage. See 'apiGatewayStage' for
 -- a more convenient constructor.
 data ApiGatewayStage =
   ApiGatewayStage
-  { _apiGatewayStageCacheClusterEnabled :: Maybe (Val Bool)
+  { _apiGatewayStageAccessLogSetting :: Maybe ApiGatewayStageAccessLogSetting
+  , _apiGatewayStageCacheClusterEnabled :: Maybe (Val Bool)
   , _apiGatewayStageCacheClusterSize :: Maybe (Val Text)
+  , _apiGatewayStageCanarySetting :: Maybe ApiGatewayStageCanarySetting
   , _apiGatewayStageClientCertificateId :: Maybe (Val Text)
   , _apiGatewayStageDeploymentId :: Maybe (Val Text)
   , _apiGatewayStageDescription :: Maybe (Val Text)
@@ -29,8 +33,10 @@
   toJSON ApiGatewayStage{..} =
     object $
     catMaybes
-    [ fmap (("CacheClusterEnabled",) . toJSON . fmap Bool') _apiGatewayStageCacheClusterEnabled
+    [ fmap (("AccessLogSetting",) . toJSON) _apiGatewayStageAccessLogSetting
+    , fmap (("CacheClusterEnabled",) . toJSON . fmap Bool') _apiGatewayStageCacheClusterEnabled
     , fmap (("CacheClusterSize",) . toJSON) _apiGatewayStageCacheClusterSize
+    , fmap (("CanarySetting",) . toJSON) _apiGatewayStageCanarySetting
     , fmap (("ClientCertificateId",) . toJSON) _apiGatewayStageClientCertificateId
     , fmap (("DeploymentId",) . toJSON) _apiGatewayStageDeploymentId
     , fmap (("Description",) . toJSON) _apiGatewayStageDescription
@@ -44,8 +50,10 @@
 instance FromJSON ApiGatewayStage where
   parseJSON (Object obj) =
     ApiGatewayStage <$>
+      (obj .:? "AccessLogSetting") <*>
       fmap (fmap (fmap unBool')) (obj .:? "CacheClusterEnabled") <*>
       (obj .:? "CacheClusterSize") <*>
+      (obj .:? "CanarySetting") <*>
       (obj .:? "ClientCertificateId") <*>
       (obj .:? "DeploymentId") <*>
       (obj .:? "Description") <*>
@@ -63,8 +71,10 @@
   -> ApiGatewayStage
 apiGatewayStage restApiIdarg =
   ApiGatewayStage
-  { _apiGatewayStageCacheClusterEnabled = Nothing
+  { _apiGatewayStageAccessLogSetting = Nothing
+  , _apiGatewayStageCacheClusterEnabled = Nothing
   , _apiGatewayStageCacheClusterSize = Nothing
+  , _apiGatewayStageCanarySetting = Nothing
   , _apiGatewayStageClientCertificateId = Nothing
   , _apiGatewayStageDeploymentId = Nothing
   , _apiGatewayStageDescription = Nothing
@@ -75,6 +85,10 @@
   , _apiGatewayStageVariables = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting
+agsAccessLogSetting :: Lens' ApiGatewayStage (Maybe ApiGatewayStageAccessLogSetting)
+agsAccessLogSetting = lens _apiGatewayStageAccessLogSetting (\s a -> s { _apiGatewayStageAccessLogSetting = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled
 agsCacheClusterEnabled :: Lens' ApiGatewayStage (Maybe (Val Bool))
 agsCacheClusterEnabled = lens _apiGatewayStageCacheClusterEnabled (\s a -> s { _apiGatewayStageCacheClusterEnabled = a })
@@ -82,6 +96,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize
 agsCacheClusterSize :: Lens' ApiGatewayStage (Maybe (Val Text))
 agsCacheClusterSize = lens _apiGatewayStageCacheClusterSize (\s a -> s { _apiGatewayStageCacheClusterSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting
+agsCanarySetting :: Lens' ApiGatewayStage (Maybe ApiGatewayStageCanarySetting)
+agsCanarySetting = lens _apiGatewayStageCanarySetting (\s a -> s { _apiGatewayStageCanarySetting = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-clientcertificateid
 agsClientCertificateId :: Lens' ApiGatewayStage (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs b/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
@@ -7,6 +7,7 @@
 module Stratosphere.Resources.AutoScalingAutoScalingGroup where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration
@@ -24,6 +25,7 @@
   , _autoScalingAutoScalingGroupHealthCheckType :: Maybe (Val Text)
   , _autoScalingAutoScalingGroupInstanceId :: Maybe (Val Text)
   , _autoScalingAutoScalingGroupLaunchConfigurationName :: Maybe (Val Text)
+  , _autoScalingAutoScalingGroupLaunchTemplate :: Maybe AutoScalingAutoScalingGroupLaunchTemplateSpecification
   , _autoScalingAutoScalingGroupLifecycleHookSpecificationList :: Maybe [AutoScalingAutoScalingGroupLifecycleHookSpecification]
   , _autoScalingAutoScalingGroupLoadBalancerNames :: Maybe (ValList Text)
   , _autoScalingAutoScalingGroupMaxSize :: Val Text
@@ -50,6 +52,7 @@
     , fmap (("HealthCheckType",) . toJSON) _autoScalingAutoScalingGroupHealthCheckType
     , fmap (("InstanceId",) . toJSON) _autoScalingAutoScalingGroupInstanceId
     , fmap (("LaunchConfigurationName",) . toJSON) _autoScalingAutoScalingGroupLaunchConfigurationName
+    , fmap (("LaunchTemplate",) . toJSON) _autoScalingAutoScalingGroupLaunchTemplate
     , fmap (("LifecycleHookSpecificationList",) . toJSON) _autoScalingAutoScalingGroupLifecycleHookSpecificationList
     , fmap (("LoadBalancerNames",) . toJSON) _autoScalingAutoScalingGroupLoadBalancerNames
     , (Just . ("MaxSize",) . toJSON) _autoScalingAutoScalingGroupMaxSize
@@ -75,6 +78,7 @@
       (obj .:? "HealthCheckType") <*>
       (obj .:? "InstanceId") <*>
       (obj .:? "LaunchConfigurationName") <*>
+      (obj .:? "LaunchTemplate") <*>
       (obj .:? "LifecycleHookSpecificationList") <*>
       (obj .:? "LoadBalancerNames") <*>
       (obj .: "MaxSize") <*>
@@ -105,6 +109,7 @@
   , _autoScalingAutoScalingGroupHealthCheckType = Nothing
   , _autoScalingAutoScalingGroupInstanceId = Nothing
   , _autoScalingAutoScalingGroupLaunchConfigurationName = Nothing
+  , _autoScalingAutoScalingGroupLaunchTemplate = Nothing
   , _autoScalingAutoScalingGroupLifecycleHookSpecificationList = Nothing
   , _autoScalingAutoScalingGroupLoadBalancerNames = Nothing
   , _autoScalingAutoScalingGroupMaxSize = maxSizearg
@@ -150,6 +155,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname
 asasgLaunchConfigurationName :: Lens' AutoScalingAutoScalingGroup (Maybe (Val Text))
 asasgLaunchConfigurationName = lens _autoScalingAutoScalingGroupLaunchConfigurationName (\s a -> s { _autoScalingAutoScalingGroupLaunchConfigurationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchtemplate
+asasgLaunchTemplate :: Lens' AutoScalingAutoScalingGroup (Maybe AutoScalingAutoScalingGroupLaunchTemplateSpecification)
+asasgLaunchTemplate = lens _autoScalingAutoScalingGroupLaunchTemplate (\s a -> s { _autoScalingAutoScalingGroupLaunchTemplate = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist
 asasgLifecycleHookSpecificationList :: Lens' AutoScalingAutoScalingGroup (Maybe [AutoScalingAutoScalingGroupLifecycleHookSpecification])
diff --git a/library-gen/Stratosphere/Resources/CodeBuildProject.hs b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
--- a/library-gen/Stratosphere/Resources/CodeBuildProject.hs
+++ b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceProperties.CodeBuildProjectArtifacts
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectCache
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironment
+import Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig
 import Stratosphere.ResourceProperties.CodeBuildProjectSource
 import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers
@@ -25,7 +26,10 @@
   , _codeBuildProjectDescription :: Maybe (Val Text)
   , _codeBuildProjectEncryptionKey :: Maybe (Val Text)
   , _codeBuildProjectEnvironment :: CodeBuildProjectEnvironment
+  , _codeBuildProjectLogsConfig :: Maybe CodeBuildProjectLogsConfig
   , _codeBuildProjectName :: Maybe (Val Text)
+  , _codeBuildProjectSecondaryArtifacts :: Maybe [CodeBuildProjectArtifacts]
+  , _codeBuildProjectSecondarySources :: Maybe [CodeBuildProjectSource]
   , _codeBuildProjectServiceRole :: Val Text
   , _codeBuildProjectSource :: CodeBuildProjectSource
   , _codeBuildProjectTags :: Maybe [Tag]
@@ -44,7 +48,10 @@
     , fmap (("Description",) . toJSON) _codeBuildProjectDescription
     , fmap (("EncryptionKey",) . toJSON) _codeBuildProjectEncryptionKey
     , (Just . ("Environment",) . toJSON) _codeBuildProjectEnvironment
+    , fmap (("LogsConfig",) . toJSON) _codeBuildProjectLogsConfig
     , fmap (("Name",) . toJSON) _codeBuildProjectName
+    , fmap (("SecondaryArtifacts",) . toJSON) _codeBuildProjectSecondaryArtifacts
+    , fmap (("SecondarySources",) . toJSON) _codeBuildProjectSecondarySources
     , (Just . ("ServiceRole",) . toJSON) _codeBuildProjectServiceRole
     , (Just . ("Source",) . toJSON) _codeBuildProjectSource
     , fmap (("Tags",) . toJSON) _codeBuildProjectTags
@@ -62,7 +69,10 @@
       (obj .:? "Description") <*>
       (obj .:? "EncryptionKey") <*>
       (obj .: "Environment") <*>
+      (obj .:? "LogsConfig") <*>
       (obj .:? "Name") <*>
+      (obj .:? "SecondaryArtifacts") <*>
+      (obj .:? "SecondarySources") <*>
       (obj .: "ServiceRole") <*>
       (obj .: "Source") <*>
       (obj .:? "Tags") <*>
@@ -87,7 +97,10 @@
   , _codeBuildProjectDescription = Nothing
   , _codeBuildProjectEncryptionKey = Nothing
   , _codeBuildProjectEnvironment = environmentarg
+  , _codeBuildProjectLogsConfig = Nothing
   , _codeBuildProjectName = Nothing
+  , _codeBuildProjectSecondaryArtifacts = Nothing
+  , _codeBuildProjectSecondarySources = Nothing
   , _codeBuildProjectServiceRole = serviceRolearg
   , _codeBuildProjectSource = sourcearg
   , _codeBuildProjectTags = Nothing
@@ -120,9 +133,21 @@
 cbpEnvironment :: Lens' CodeBuildProject CodeBuildProjectEnvironment
 cbpEnvironment = lens _codeBuildProjectEnvironment (\s a -> s { _codeBuildProjectEnvironment = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-logsconfig
+cbpLogsConfig :: Lens' CodeBuildProject (Maybe CodeBuildProjectLogsConfig)
+cbpLogsConfig = lens _codeBuildProjectLogsConfig (\s a -> s { _codeBuildProjectLogsConfig = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-name
 cbpName :: Lens' CodeBuildProject (Maybe (Val Text))
 cbpName = lens _codeBuildProjectName (\s a -> s { _codeBuildProjectName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondaryartifacts
+cbpSecondaryArtifacts :: Lens' CodeBuildProject (Maybe [CodeBuildProjectArtifacts])
+cbpSecondaryArtifacts = lens _codeBuildProjectSecondaryArtifacts (\s a -> s { _codeBuildProjectSecondaryArtifacts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondarysources
+cbpSecondarySources :: Lens' CodeBuildProject (Maybe [CodeBuildProjectSource])
+cbpSecondarySources = lens _codeBuildProjectSecondarySources (\s a -> s { _codeBuildProjectSecondarySources = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-servicerole
 cbpServiceRole :: Lens' CodeBuildProject (Val Text)
diff --git a/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs b/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
@@ -12,8 +12,10 @@
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupDeployment
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupDeploymentStyle
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagFilter
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSet
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupLoadBalancerInfo
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter
+import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSet
 import Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTriggerConfig
 
 -- | Full data type definition for CodeDeployDeploymentGroup. See
@@ -29,8 +31,10 @@
   , _codeDeployDeploymentGroupDeploymentGroupName :: Maybe (Val Text)
   , _codeDeployDeploymentGroupDeploymentStyle :: Maybe CodeDeployDeploymentGroupDeploymentStyle
   , _codeDeployDeploymentGroupEc2TagFilters :: Maybe [CodeDeployDeploymentGroupEC2TagFilter]
+  , _codeDeployDeploymentGroupEc2TagSet :: Maybe CodeDeployDeploymentGroupEC2TagSet
   , _codeDeployDeploymentGroupLoadBalancerInfo :: Maybe CodeDeployDeploymentGroupLoadBalancerInfo
   , _codeDeployDeploymentGroupOnPremisesInstanceTagFilters :: Maybe [CodeDeployDeploymentGroupTagFilter]
+  , _codeDeployDeploymentGroupOnPremisesTagSet :: Maybe CodeDeployDeploymentGroupOnPremisesTagSet
   , _codeDeployDeploymentGroupServiceRoleArn :: Val Text
   , _codeDeployDeploymentGroupTriggerConfigurations :: Maybe [CodeDeployDeploymentGroupTriggerConfig]
   } deriving (Show, Eq)
@@ -48,8 +52,10 @@
     , fmap (("DeploymentGroupName",) . toJSON) _codeDeployDeploymentGroupDeploymentGroupName
     , fmap (("DeploymentStyle",) . toJSON) _codeDeployDeploymentGroupDeploymentStyle
     , fmap (("Ec2TagFilters",) . toJSON) _codeDeployDeploymentGroupEc2TagFilters
+    , fmap (("Ec2TagSet",) . toJSON) _codeDeployDeploymentGroupEc2TagSet
     , fmap (("LoadBalancerInfo",) . toJSON) _codeDeployDeploymentGroupLoadBalancerInfo
     , fmap (("OnPremisesInstanceTagFilters",) . toJSON) _codeDeployDeploymentGroupOnPremisesInstanceTagFilters
+    , fmap (("OnPremisesTagSet",) . toJSON) _codeDeployDeploymentGroupOnPremisesTagSet
     , (Just . ("ServiceRoleArn",) . toJSON) _codeDeployDeploymentGroupServiceRoleArn
     , fmap (("TriggerConfigurations",) . toJSON) _codeDeployDeploymentGroupTriggerConfigurations
     ]
@@ -66,8 +72,10 @@
       (obj .:? "DeploymentGroupName") <*>
       (obj .:? "DeploymentStyle") <*>
       (obj .:? "Ec2TagFilters") <*>
+      (obj .:? "Ec2TagSet") <*>
       (obj .:? "LoadBalancerInfo") <*>
       (obj .:? "OnPremisesInstanceTagFilters") <*>
+      (obj .:? "OnPremisesTagSet") <*>
       (obj .: "ServiceRoleArn") <*>
       (obj .:? "TriggerConfigurations")
   parseJSON _ = mempty
@@ -89,8 +97,10 @@
   , _codeDeployDeploymentGroupDeploymentGroupName = Nothing
   , _codeDeployDeploymentGroupDeploymentStyle = Nothing
   , _codeDeployDeploymentGroupEc2TagFilters = Nothing
+  , _codeDeployDeploymentGroupEc2TagSet = Nothing
   , _codeDeployDeploymentGroupLoadBalancerInfo = Nothing
   , _codeDeployDeploymentGroupOnPremisesInstanceTagFilters = Nothing
+  , _codeDeployDeploymentGroupOnPremisesTagSet = Nothing
   , _codeDeployDeploymentGroupServiceRoleArn = serviceRoleArnarg
   , _codeDeployDeploymentGroupTriggerConfigurations = Nothing
   }
@@ -131,6 +141,10 @@
 cddgEc2TagFilters :: Lens' CodeDeployDeploymentGroup (Maybe [CodeDeployDeploymentGroupEC2TagFilter])
 cddgEc2TagFilters = lens _codeDeployDeploymentGroupEc2TagFilters (\s a -> s { _codeDeployDeploymentGroupEc2TagFilters = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-ec2tagset
+cddgEc2TagSet :: Lens' CodeDeployDeploymentGroup (Maybe CodeDeployDeploymentGroupEC2TagSet)
+cddgEc2TagSet = lens _codeDeployDeploymentGroupEc2TagSet (\s a -> s { _codeDeployDeploymentGroupEc2TagSet = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo
 cddgLoadBalancerInfo :: Lens' CodeDeployDeploymentGroup (Maybe CodeDeployDeploymentGroupLoadBalancerInfo)
 cddgLoadBalancerInfo = lens _codeDeployDeploymentGroupLoadBalancerInfo (\s a -> s { _codeDeployDeploymentGroupLoadBalancerInfo = a })
@@ -138,6 +152,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisesinstancetagfilters
 cddgOnPremisesInstanceTagFilters :: Lens' CodeDeployDeploymentGroup (Maybe [CodeDeployDeploymentGroupTagFilter])
 cddgOnPremisesInstanceTagFilters = lens _codeDeployDeploymentGroupOnPremisesInstanceTagFilters (\s a -> s { _codeDeployDeploymentGroupOnPremisesInstanceTagFilters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisestagset
+cddgOnPremisesTagSet :: Lens' CodeDeployDeploymentGroup (Maybe CodeDeployDeploymentGroupOnPremisesTagSet)
+cddgOnPremisesTagSet = lens _codeDeployDeploymentGroupOnPremisesTagSet (\s a -> s { _codeDeployDeploymentGroupOnPremisesTagSet = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-servicerolearn
 cddgServiceRoleArn :: Lens' CodeDeployDeploymentGroup (Val Text)
diff --git a/library-gen/Stratosphere/Resources/EC2FlowLog.hs b/library-gen/Stratosphere/Resources/EC2FlowLog.hs
--- a/library-gen/Stratosphere/Resources/EC2FlowLog.hs
+++ b/library-gen/Stratosphere/Resources/EC2FlowLog.hs
@@ -13,8 +13,10 @@
 -- convenient constructor.
 data EC2FlowLog =
   EC2FlowLog
-  { _eC2FlowLogDeliverLogsPermissionArn :: Val Text
-  , _eC2FlowLogLogGroupName :: Val Text
+  { _eC2FlowLogDeliverLogsPermissionArn :: Maybe (Val Text)
+  , _eC2FlowLogLogDestination :: Maybe (Val Text)
+  , _eC2FlowLogLogDestinationType :: Maybe (Val Text)
+  , _eC2FlowLogLogGroupName :: Maybe (Val Text)
   , _eC2FlowLogResourceId :: Val Text
   , _eC2FlowLogResourceType :: Val Text
   , _eC2FlowLogTrafficType :: Val Text
@@ -24,8 +26,10 @@
   toJSON EC2FlowLog{..} =
     object $
     catMaybes
-    [ (Just . ("DeliverLogsPermissionArn",) . toJSON) _eC2FlowLogDeliverLogsPermissionArn
-    , (Just . ("LogGroupName",) . toJSON) _eC2FlowLogLogGroupName
+    [ fmap (("DeliverLogsPermissionArn",) . toJSON) _eC2FlowLogDeliverLogsPermissionArn
+    , fmap (("LogDestination",) . toJSON) _eC2FlowLogLogDestination
+    , fmap (("LogDestinationType",) . toJSON) _eC2FlowLogLogDestinationType
+    , fmap (("LogGroupName",) . toJSON) _eC2FlowLogLogGroupName
     , (Just . ("ResourceId",) . toJSON) _eC2FlowLogResourceId
     , (Just . ("ResourceType",) . toJSON) _eC2FlowLogResourceType
     , (Just . ("TrafficType",) . toJSON) _eC2FlowLogTrafficType
@@ -34,8 +38,10 @@
 instance FromJSON EC2FlowLog where
   parseJSON (Object obj) =
     EC2FlowLog <$>
-      (obj .: "DeliverLogsPermissionArn") <*>
-      (obj .: "LogGroupName") <*>
+      (obj .:? "DeliverLogsPermissionArn") <*>
+      (obj .:? "LogDestination") <*>
+      (obj .:? "LogDestinationType") <*>
+      (obj .:? "LogGroupName") <*>
       (obj .: "ResourceId") <*>
       (obj .: "ResourceType") <*>
       (obj .: "TrafficType")
@@ -43,27 +49,35 @@
 
 -- | Constructor for 'EC2FlowLog' containing required fields as arguments.
 ec2FlowLog
-  :: Val Text -- ^ 'ecflDeliverLogsPermissionArn'
-  -> Val Text -- ^ 'ecflLogGroupName'
-  -> Val Text -- ^ 'ecflResourceId'
+  :: Val Text -- ^ 'ecflResourceId'
   -> Val Text -- ^ 'ecflResourceType'
   -> Val Text -- ^ 'ecflTrafficType'
   -> EC2FlowLog
-ec2FlowLog deliverLogsPermissionArnarg logGroupNamearg resourceIdarg resourceTypearg trafficTypearg =
+ec2FlowLog resourceIdarg resourceTypearg trafficTypearg =
   EC2FlowLog
-  { _eC2FlowLogDeliverLogsPermissionArn = deliverLogsPermissionArnarg
-  , _eC2FlowLogLogGroupName = logGroupNamearg
+  { _eC2FlowLogDeliverLogsPermissionArn = Nothing
+  , _eC2FlowLogLogDestination = Nothing
+  , _eC2FlowLogLogDestinationType = Nothing
+  , _eC2FlowLogLogGroupName = Nothing
   , _eC2FlowLogResourceId = resourceIdarg
   , _eC2FlowLogResourceType = resourceTypearg
   , _eC2FlowLogTrafficType = trafficTypearg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-deliverlogspermissionarn
-ecflDeliverLogsPermissionArn :: Lens' EC2FlowLog (Val Text)
+ecflDeliverLogsPermissionArn :: Lens' EC2FlowLog (Maybe (Val Text))
 ecflDeliverLogsPermissionArn = lens _eC2FlowLogDeliverLogsPermissionArn (\s a -> s { _eC2FlowLogDeliverLogsPermissionArn = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestination
+ecflLogDestination :: Lens' EC2FlowLog (Maybe (Val Text))
+ecflLogDestination = lens _eC2FlowLogLogDestination (\s a -> s { _eC2FlowLogLogDestination = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestinationtype
+ecflLogDestinationType :: Lens' EC2FlowLog (Maybe (Val Text))
+ecflLogDestinationType = lens _eC2FlowLogLogDestinationType (\s a -> s { _eC2FlowLogLogDestinationType = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-loggroupname
-ecflLogGroupName :: Lens' EC2FlowLog (Val Text)
+ecflLogGroupName :: Lens' EC2FlowLog (Maybe (Val Text))
 ecflLogGroupName = lens _eC2FlowLogLogGroupName (\s a -> s { _eC2FlowLogLogGroupName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourceid
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
@@ -13,8 +13,8 @@
 -- more convenient constructor.
 data EC2VPCEndpoint =
   EC2VPCEndpoint
-  { _eC2VPCEndpointIsPrivateDnsEnabled :: Maybe (Val Bool)
-  , _eC2VPCEndpointPolicyDocument :: Maybe Object
+  { _eC2VPCEndpointPolicyDocument :: Maybe Object
+  , _eC2VPCEndpointPrivateDnsEnabled :: Maybe (Val Bool)
   , _eC2VPCEndpointRouteTableIds :: Maybe (ValList Text)
   , _eC2VPCEndpointSecurityGroupIds :: Maybe (ValList Text)
   , _eC2VPCEndpointServiceName :: Val Text
@@ -27,8 +27,8 @@
   toJSON EC2VPCEndpoint{..} =
     object $
     catMaybes
-    [ fmap (("IsPrivateDnsEnabled",) . toJSON . fmap Bool') _eC2VPCEndpointIsPrivateDnsEnabled
-    , fmap (("PolicyDocument",) . toJSON) _eC2VPCEndpointPolicyDocument
+    [ fmap (("PolicyDocument",) . toJSON) _eC2VPCEndpointPolicyDocument
+    , fmap (("PrivateDnsEnabled",) . toJSON . fmap Bool') _eC2VPCEndpointPrivateDnsEnabled
     , fmap (("RouteTableIds",) . toJSON) _eC2VPCEndpointRouteTableIds
     , fmap (("SecurityGroupIds",) . toJSON) _eC2VPCEndpointSecurityGroupIds
     , (Just . ("ServiceName",) . toJSON) _eC2VPCEndpointServiceName
@@ -40,8 +40,8 @@
 instance FromJSON EC2VPCEndpoint where
   parseJSON (Object obj) =
     EC2VPCEndpoint <$>
-      fmap (fmap (fmap unBool')) (obj .:? "IsPrivateDnsEnabled") <*>
       (obj .:? "PolicyDocument") <*>
+      fmap (fmap (fmap unBool')) (obj .:? "PrivateDnsEnabled") <*>
       (obj .:? "RouteTableIds") <*>
       (obj .:? "SecurityGroupIds") <*>
       (obj .: "ServiceName") <*>
@@ -57,8 +57,8 @@
   -> EC2VPCEndpoint
 ec2VPCEndpoint serviceNamearg vpcIdarg =
   EC2VPCEndpoint
-  { _eC2VPCEndpointIsPrivateDnsEnabled = Nothing
-  , _eC2VPCEndpointPolicyDocument = Nothing
+  { _eC2VPCEndpointPolicyDocument = Nothing
+  , _eC2VPCEndpointPrivateDnsEnabled = Nothing
   , _eC2VPCEndpointRouteTableIds = Nothing
   , _eC2VPCEndpointSecurityGroupIds = Nothing
   , _eC2VPCEndpointServiceName = serviceNamearg
@@ -67,13 +67,13 @@
   , _eC2VPCEndpointVpcId = vpcIdarg
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-isprivatednsenabled
-ecvpceIsPrivateDnsEnabled :: Lens' EC2VPCEndpoint (Maybe (Val Bool))
-ecvpceIsPrivateDnsEnabled = lens _eC2VPCEndpointIsPrivateDnsEnabled (\s a -> s { _eC2VPCEndpointIsPrivateDnsEnabled = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-policydocument
 ecvpcePolicyDocument :: Lens' EC2VPCEndpoint (Maybe Object)
 ecvpcePolicyDocument = lens _eC2VPCEndpointPolicyDocument (\s a -> s { _eC2VPCEndpointPolicyDocument = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-privatednsenabled
+ecvpcePrivateDnsEnabled :: Lens' EC2VPCEndpoint (Maybe (Val Bool))
+ecvpcePrivateDnsEnabled = lens _eC2VPCEndpointPrivateDnsEnabled (\s a -> s { _eC2VPCEndpointPrivateDnsEnabled = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-routetableids
 ecvpceRouteTableIds :: Lens' EC2VPCEndpoint (Maybe (ValList Text))
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
@@ -29,6 +29,7 @@
   , _eCSServicePlacementStrategies :: Maybe [ECSServicePlacementStrategy]
   , _eCSServicePlatformVersion :: Maybe (Val Text)
   , _eCSServiceRole :: Maybe (Val Text)
+  , _eCSServiceSchedulingStrategy :: Maybe (Val Text)
   , _eCSServiceServiceName :: Maybe (Val Text)
   , _eCSServiceServiceRegistries :: Maybe [ECSServiceServiceRegistry]
   , _eCSServiceTaskDefinition :: Val Text
@@ -49,6 +50,7 @@
     , fmap (("PlacementStrategies",) . toJSON) _eCSServicePlacementStrategies
     , fmap (("PlatformVersion",) . toJSON) _eCSServicePlatformVersion
     , fmap (("Role",) . toJSON) _eCSServiceRole
+    , fmap (("SchedulingStrategy",) . toJSON) _eCSServiceSchedulingStrategy
     , fmap (("ServiceName",) . toJSON) _eCSServiceServiceName
     , fmap (("ServiceRegistries",) . toJSON) _eCSServiceServiceRegistries
     , (Just . ("TaskDefinition",) . toJSON) _eCSServiceTaskDefinition
@@ -68,6 +70,7 @@
       (obj .:? "PlacementStrategies") <*>
       (obj .:? "PlatformVersion") <*>
       (obj .:? "Role") <*>
+      (obj .:? "SchedulingStrategy") <*>
       (obj .:? "ServiceName") <*>
       (obj .:? "ServiceRegistries") <*>
       (obj .: "TaskDefinition")
@@ -90,6 +93,7 @@
   , _eCSServicePlacementStrategies = Nothing
   , _eCSServicePlatformVersion = Nothing
   , _eCSServiceRole = Nothing
+  , _eCSServiceSchedulingStrategy = Nothing
   , _eCSServiceServiceName = Nothing
   , _eCSServiceServiceRegistries = Nothing
   , _eCSServiceTaskDefinition = taskDefinitionarg
@@ -138,6 +142,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-role
 ecssRole :: Lens' ECSService (Maybe (Val Text))
 ecssRole = lens _eCSServiceRole (\s a -> s { _eCSServiceRole = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-schedulingstrategy
+ecssSchedulingStrategy :: Lens' ECSService (Maybe (Val Text))
+ecssSchedulingStrategy = lens _eCSServiceSchedulingStrategy (\s a -> s { _eCSServiceSchedulingStrategy = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-servicename
 ecssServiceName :: Lens' ECSService (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs b/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html
+
+module Stratosphere.Resources.IoT1ClickDevice where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoT1ClickDevice. See 'ioT1ClickDevice' for
+-- a more convenient constructor.
+data IoT1ClickDevice =
+  IoT1ClickDevice
+  { _ioT1ClickDeviceDeviceId :: Val Text
+  , _ioT1ClickDeviceEnabled :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON IoT1ClickDevice where
+  toJSON IoT1ClickDevice{..} =
+    object $
+    catMaybes
+    [ (Just . ("DeviceId",) . toJSON) _ioT1ClickDeviceDeviceId
+    , (Just . ("Enabled",) . toJSON . fmap Bool') _ioT1ClickDeviceEnabled
+    ]
+
+instance FromJSON IoT1ClickDevice where
+  parseJSON (Object obj) =
+    IoT1ClickDevice <$>
+      (obj .: "DeviceId") <*>
+      fmap (fmap unBool') (obj .: "Enabled")
+  parseJSON _ = mempty
+
+-- | Constructor for 'IoT1ClickDevice' containing required fields as
+-- arguments.
+ioT1ClickDevice
+  :: Val Text -- ^ 'itcdDeviceId'
+  -> Val Bool -- ^ 'itcdEnabled'
+  -> IoT1ClickDevice
+ioT1ClickDevice deviceIdarg enabledarg =
+  IoT1ClickDevice
+  { _ioT1ClickDeviceDeviceId = deviceIdarg
+  , _ioT1ClickDeviceEnabled = enabledarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html#cfn-iot1click-device-deviceid
+itcdDeviceId :: Lens' IoT1ClickDevice (Val Text)
+itcdDeviceId = lens _ioT1ClickDeviceDeviceId (\s a -> s { _ioT1ClickDeviceDeviceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html#cfn-iot1click-device-enabled
+itcdEnabled :: Lens' IoT1ClickDevice (Val Bool)
+itcdEnabled = lens _ioT1ClickDeviceEnabled (\s a -> s { _ioT1ClickDeviceEnabled = a })
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs b/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs
@@ -0,0 +1,69 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html
+
+module Stratosphere.Resources.IoT1ClickPlacement where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoT1ClickPlacement. See
+-- 'ioT1ClickPlacement' for a more convenient constructor.
+data IoT1ClickPlacement =
+  IoT1ClickPlacement
+  { _ioT1ClickPlacementAssociatedDevices :: Maybe Object
+  , _ioT1ClickPlacementAttributes :: Maybe Object
+  , _ioT1ClickPlacementPlacementName :: Val Text
+  , _ioT1ClickPlacementProjectName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON IoT1ClickPlacement where
+  toJSON IoT1ClickPlacement{..} =
+    object $
+    catMaybes
+    [ fmap (("AssociatedDevices",) . toJSON) _ioT1ClickPlacementAssociatedDevices
+    , fmap (("Attributes",) . toJSON) _ioT1ClickPlacementAttributes
+    , (Just . ("PlacementName",) . toJSON) _ioT1ClickPlacementPlacementName
+    , (Just . ("ProjectName",) . toJSON) _ioT1ClickPlacementProjectName
+    ]
+
+instance FromJSON IoT1ClickPlacement where
+  parseJSON (Object obj) =
+    IoT1ClickPlacement <$>
+      (obj .:? "AssociatedDevices") <*>
+      (obj .:? "Attributes") <*>
+      (obj .: "PlacementName") <*>
+      (obj .: "ProjectName")
+  parseJSON _ = mempty
+
+-- | Constructor for 'IoT1ClickPlacement' containing required fields as
+-- arguments.
+ioT1ClickPlacement
+  :: Val Text -- ^ 'itcplPlacementName'
+  -> Val Text -- ^ 'itcplProjectName'
+  -> IoT1ClickPlacement
+ioT1ClickPlacement placementNamearg projectNamearg =
+  IoT1ClickPlacement
+  { _ioT1ClickPlacementAssociatedDevices = Nothing
+  , _ioT1ClickPlacementAttributes = Nothing
+  , _ioT1ClickPlacementPlacementName = placementNamearg
+  , _ioT1ClickPlacementProjectName = projectNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-associateddevices
+itcplAssociatedDevices :: Lens' IoT1ClickPlacement (Maybe Object)
+itcplAssociatedDevices = lens _ioT1ClickPlacementAssociatedDevices (\s a -> s { _ioT1ClickPlacementAssociatedDevices = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-attributes
+itcplAttributes :: Lens' IoT1ClickPlacement (Maybe Object)
+itcplAttributes = lens _ioT1ClickPlacementAttributes (\s a -> s { _ioT1ClickPlacementAttributes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-placementname
+itcplPlacementName :: Lens' IoT1ClickPlacement (Val Text)
+itcplPlacementName = lens _ioT1ClickPlacementPlacementName (\s a -> s { _ioT1ClickPlacementPlacementName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-projectname
+itcplProjectName :: Lens' IoT1ClickPlacement (Val Text)
+itcplProjectName = lens _ioT1ClickPlacementProjectName (\s a -> s { _ioT1ClickPlacementProjectName = a })
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickProject.hs b/library-gen/Stratosphere/Resources/IoT1ClickProject.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/IoT1ClickProject.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html
+
+module Stratosphere.Resources.IoT1ClickProject where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoT1ClickProjectPlacementTemplate
+
+-- | Full data type definition for IoT1ClickProject. See 'ioT1ClickProject'
+-- for a more convenient constructor.
+data IoT1ClickProject =
+  IoT1ClickProject
+  { _ioT1ClickProjectDescription :: Maybe (Val Text)
+  , _ioT1ClickProjectPlacementTemplate :: IoT1ClickProjectPlacementTemplate
+  , _ioT1ClickProjectProjectName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON IoT1ClickProject where
+  toJSON IoT1ClickProject{..} =
+    object $
+    catMaybes
+    [ fmap (("Description",) . toJSON) _ioT1ClickProjectDescription
+    , (Just . ("PlacementTemplate",) . toJSON) _ioT1ClickProjectPlacementTemplate
+    , (Just . ("ProjectName",) . toJSON) _ioT1ClickProjectProjectName
+    ]
+
+instance FromJSON IoT1ClickProject where
+  parseJSON (Object obj) =
+    IoT1ClickProject <$>
+      (obj .:? "Description") <*>
+      (obj .: "PlacementTemplate") <*>
+      (obj .: "ProjectName")
+  parseJSON _ = mempty
+
+-- | Constructor for 'IoT1ClickProject' containing required fields as
+-- arguments.
+ioT1ClickProject
+  :: IoT1ClickProjectPlacementTemplate -- ^ 'itcprPlacementTemplate'
+  -> Val Text -- ^ 'itcprProjectName'
+  -> IoT1ClickProject
+ioT1ClickProject placementTemplatearg projectNamearg =
+  IoT1ClickProject
+  { _ioT1ClickProjectDescription = Nothing
+  , _ioT1ClickProjectPlacementTemplate = placementTemplatearg
+  , _ioT1ClickProjectProjectName = projectNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-description
+itcprDescription :: Lens' IoT1ClickProject (Maybe (Val Text))
+itcprDescription = lens _ioT1ClickProjectDescription (\s a -> s { _ioT1ClickProjectDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-placementtemplate
+itcprPlacementTemplate :: Lens' IoT1ClickProject IoT1ClickProjectPlacementTemplate
+itcprPlacementTemplate = lens _ioT1ClickProjectPlacementTemplate (\s a -> s { _ioT1ClickProjectPlacementTemplate = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-projectname
+itcprProjectName :: Lens' IoT1ClickProject (Val Text)
+itcprProjectName = lens _ioT1ClickProjectProjectName (\s a -> s { _ioT1ClickProjectProjectName = a })
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
@@ -7,6 +7,7 @@
 module Stratosphere.Resources.RDSDBCluster where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration
 import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for RDSDBCluster. See 'rdsdbCluster' for a more
@@ -20,6 +21,7 @@
   , _rDSDBClusterDBSubnetGroupName :: Maybe (Val Text)
   , _rDSDBClusterDatabaseName :: Maybe (Val Text)
   , _rDSDBClusterEngine :: Val Text
+  , _rDSDBClusterEngineMode :: Maybe (Val Text)
   , _rDSDBClusterEngineVersion :: Maybe (Val Text)
   , _rDSDBClusterKmsKeyId :: Maybe (Val Text)
   , _rDSDBClusterMasterUserPassword :: Maybe (Val Text)
@@ -28,6 +30,7 @@
   , _rDSDBClusterPreferredBackupWindow :: Maybe (Val Text)
   , _rDSDBClusterPreferredMaintenanceWindow :: Maybe (Val Text)
   , _rDSDBClusterReplicationSourceIdentifier :: Maybe (Val Text)
+  , _rDSDBClusterScalingConfiguration :: Maybe RDSDBClusterScalingConfiguration
   , _rDSDBClusterSnapshotIdentifier :: Maybe (Val Text)
   , _rDSDBClusterStorageEncrypted :: Maybe (Val Bool)
   , _rDSDBClusterTags :: Maybe [Tag]
@@ -45,6 +48,7 @@
     , fmap (("DBSubnetGroupName",) . toJSON) _rDSDBClusterDBSubnetGroupName
     , fmap (("DatabaseName",) . toJSON) _rDSDBClusterDatabaseName
     , (Just . ("Engine",) . toJSON) _rDSDBClusterEngine
+    , fmap (("EngineMode",) . toJSON) _rDSDBClusterEngineMode
     , fmap (("EngineVersion",) . toJSON) _rDSDBClusterEngineVersion
     , fmap (("KmsKeyId",) . toJSON) _rDSDBClusterKmsKeyId
     , fmap (("MasterUserPassword",) . toJSON) _rDSDBClusterMasterUserPassword
@@ -53,6 +57,7 @@
     , fmap (("PreferredBackupWindow",) . toJSON) _rDSDBClusterPreferredBackupWindow
     , fmap (("PreferredMaintenanceWindow",) . toJSON) _rDSDBClusterPreferredMaintenanceWindow
     , fmap (("ReplicationSourceIdentifier",) . toJSON) _rDSDBClusterReplicationSourceIdentifier
+    , fmap (("ScalingConfiguration",) . toJSON) _rDSDBClusterScalingConfiguration
     , fmap (("SnapshotIdentifier",) . toJSON) _rDSDBClusterSnapshotIdentifier
     , fmap (("StorageEncrypted",) . toJSON . fmap Bool') _rDSDBClusterStorageEncrypted
     , fmap (("Tags",) . toJSON) _rDSDBClusterTags
@@ -69,6 +74,7 @@
       (obj .:? "DBSubnetGroupName") <*>
       (obj .:? "DatabaseName") <*>
       (obj .: "Engine") <*>
+      (obj .:? "EngineMode") <*>
       (obj .:? "EngineVersion") <*>
       (obj .:? "KmsKeyId") <*>
       (obj .:? "MasterUserPassword") <*>
@@ -77,6 +83,7 @@
       (obj .:? "PreferredBackupWindow") <*>
       (obj .:? "PreferredMaintenanceWindow") <*>
       (obj .:? "ReplicationSourceIdentifier") <*>
+      (obj .:? "ScalingConfiguration") <*>
       (obj .:? "SnapshotIdentifier") <*>
       fmap (fmap (fmap unBool')) (obj .:? "StorageEncrypted") <*>
       (obj .:? "Tags") <*>
@@ -96,6 +103,7 @@
   , _rDSDBClusterDBSubnetGroupName = Nothing
   , _rDSDBClusterDatabaseName = Nothing
   , _rDSDBClusterEngine = enginearg
+  , _rDSDBClusterEngineMode = Nothing
   , _rDSDBClusterEngineVersion = Nothing
   , _rDSDBClusterKmsKeyId = Nothing
   , _rDSDBClusterMasterUserPassword = Nothing
@@ -104,6 +112,7 @@
   , _rDSDBClusterPreferredBackupWindow = Nothing
   , _rDSDBClusterPreferredMaintenanceWindow = Nothing
   , _rDSDBClusterReplicationSourceIdentifier = Nothing
+  , _rDSDBClusterScalingConfiguration = Nothing
   , _rDSDBClusterSnapshotIdentifier = Nothing
   , _rDSDBClusterStorageEncrypted = Nothing
   , _rDSDBClusterTags = Nothing
@@ -138,6 +147,10 @@
 rdsdbcEngine :: Lens' RDSDBCluster (Val Text)
 rdsdbcEngine = lens _rDSDBClusterEngine (\s a -> s { _rDSDBClusterEngine = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode
+rdsdbcEngineMode :: Lens' RDSDBCluster (Maybe (Val Text))
+rdsdbcEngineMode = lens _rDSDBClusterEngineMode (\s a -> s { _rDSDBClusterEngineMode = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion
 rdsdbcEngineVersion :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcEngineVersion = lens _rDSDBClusterEngineVersion (\s a -> s { _rDSDBClusterEngineVersion = a })
@@ -169,6 +182,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-replicationsourceidentifier
 rdsdbcReplicationSourceIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcReplicationSourceIdentifier = lens _rDSDBClusterReplicationSourceIdentifier (\s a -> s { _rDSDBClusterReplicationSourceIdentifier = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-scalingconfiguration
+rdsdbcScalingConfiguration :: Lens' RDSDBCluster (Maybe RDSDBClusterScalingConfiguration)
+rdsdbcScalingConfiguration = lens _rDSDBClusterScalingConfiguration (\s a -> s { _rDSDBClusterScalingConfiguration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-snapshotidentifier
 rdsdbcSnapshotIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 1240380557351af82d5b4cca1213969ef6ce1f9d22796c0163e2d1d25d77eb0f
+-- hash: 962710ab05cb0bbc5c857558fef6b2e9340ce4cafc1e4884af35aa5596dbe3fd
 
 name:           stratosphere
-version:        0.25.0
+version:        0.26.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -52,6 +52,9 @@
       Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow
       Stratosphere.ResourceProperties.AmazonMQBrokerUser
       Stratosphere.ResourceProperties.ApiGatewayApiKeyStageKey
+      Stratosphere.ResourceProperties.ApiGatewayDeploymentAccessLogSetting
+      Stratosphere.ResourceProperties.ApiGatewayDeploymentCanarySetting
+      Stratosphere.ResourceProperties.ApiGatewayDeploymentDeploymentCanarySettings
       Stratosphere.ResourceProperties.ApiGatewayDeploymentMethodSetting
       Stratosphere.ResourceProperties.ApiGatewayDeploymentStageDescription
       Stratosphere.ResourceProperties.ApiGatewayDocumentationPartLocation
@@ -61,6 +64,8 @@
       Stratosphere.ResourceProperties.ApiGatewayMethodMethodResponse
       Stratosphere.ResourceProperties.ApiGatewayRestApiEndpointConfiguration
       Stratosphere.ResourceProperties.ApiGatewayRestApiS3Location
+      Stratosphere.ResourceProperties.ApiGatewayStageAccessLogSetting
+      Stratosphere.ResourceProperties.ApiGatewayStageCanarySetting
       Stratosphere.ResourceProperties.ApiGatewayStageMethodSetting
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings
@@ -80,6 +85,7 @@
       Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig
       Stratosphere.ResourceProperties.AppSyncGraphQLApiOpenIDConnectConfig
       Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig
+      Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLaunchTemplateSpecification
       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupLifecycleHookSpecification
       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection
       Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfiguration
@@ -141,10 +147,13 @@
       Stratosphere.ResourceProperties.CloudTrailTrailEventSelector
       Stratosphere.ResourceProperties.CloudWatchAlarmDimension
       Stratosphere.ResourceProperties.CodeBuildProjectArtifacts
+      Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironment
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironmentVariable
+      Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectProjectCache
       Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers
+      Stratosphere.ResourceProperties.CodeBuildProjectS3LogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectSource
       Stratosphere.ResourceProperties.CodeBuildProjectSourceAuth
       Stratosphere.ResourceProperties.CodeBuildProjectVpcConfig
@@ -156,9 +165,13 @@
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupDeployment
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupDeploymentStyle
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagFilter
+      Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSet
+      Stratosphere.ResourceProperties.CodeDeployDeploymentGroupEC2TagSetListObject
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupELBInfo
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupGitHubLocation
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupLoadBalancerInfo
+      Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSet
+      Stratosphere.ResourceProperties.CodeDeployDeploymentGroupOnPremisesTagSetListObject
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupRevisionLocation
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupS3Location
       Stratosphere.ResourceProperties.CodeDeployDeploymentGroupTagFilter
@@ -258,17 +271,25 @@
       Stratosphere.ResourceProperties.EC2SecurityGroupEgressProperty
       Stratosphere.ResourceProperties.EC2SecurityGroupIngressProperty
       Stratosphere.ResourceProperties.EC2SpotFleetBlockDeviceMapping
+      Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancer
+      Stratosphere.ResourceProperties.EC2SpotFleetClassicLoadBalancersConfig
       Stratosphere.ResourceProperties.EC2SpotFleetEbsBlockDevice
+      Stratosphere.ResourceProperties.EC2SpotFleetFleetLaunchTemplateSpecification
       Stratosphere.ResourceProperties.EC2SpotFleetGroupIdentifier
       Stratosphere.ResourceProperties.EC2SpotFleetIamInstanceProfileSpecification
       Stratosphere.ResourceProperties.EC2SpotFleetInstanceIpv6Address
       Stratosphere.ResourceProperties.EC2SpotFleetInstanceNetworkInterfaceSpecification
+      Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateConfig
+      Stratosphere.ResourceProperties.EC2SpotFleetLaunchTemplateOverrides
+      Stratosphere.ResourceProperties.EC2SpotFleetLoadBalancersConfig
       Stratosphere.ResourceProperties.EC2SpotFleetPrivateIpAddressSpecification
       Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetLaunchSpecification
       Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetMonitoring
       Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetRequestConfigData
       Stratosphere.ResourceProperties.EC2SpotFleetSpotFleetTagSpecification
       Stratosphere.ResourceProperties.EC2SpotFleetSpotPlacement
+      Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup
+      Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig
       Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification
       Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy
       Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration
@@ -280,6 +301,7 @@
       Stratosphere.ResourceProperties.ECSServiceServiceRegistry
       Stratosphere.ResourceProperties.ECSTaskDefinitionContainerDefinition
       Stratosphere.ResourceProperties.ECSTaskDefinitionDevice
+      Stratosphere.ResourceProperties.ECSTaskDefinitionDockerVolumeConfiguration
       Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck
       Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry
       Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties
@@ -289,7 +311,9 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionLogConfiguration
       Stratosphere.ResourceProperties.ECSTaskDefinitionMountPoint
       Stratosphere.ResourceProperties.ECSTaskDefinitionPortMapping
+      Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials
       Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint
+      Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs
       Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
       Stratosphere.ResourceProperties.ECSTaskDefinitionVolume
       Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom
@@ -377,6 +401,7 @@
       Stratosphere.ResourceProperties.EventsRuleKinesisParameters
       Stratosphere.ResourceProperties.EventsRuleRunCommandParameters
       Stratosphere.ResourceProperties.EventsRuleRunCommandTarget
+      Stratosphere.ResourceProperties.EventsRuleSqsParameters
       Stratosphere.ResourceProperties.EventsRuleTarget
       Stratosphere.ResourceProperties.GameLiftAliasRoutingStrategy
       Stratosphere.ResourceProperties.GameLiftBuildS3Location
@@ -416,6 +441,8 @@
       Stratosphere.ResourceProperties.IAMRolePolicy
       Stratosphere.ResourceProperties.IAMUserLoginProfile
       Stratosphere.ResourceProperties.IAMUserPolicy
+      Stratosphere.ResourceProperties.IoT1ClickProjectDeviceTemplate
+      Stratosphere.ResourceProperties.IoT1ClickProjectPlacementTemplate
       Stratosphere.ResourceProperties.IoTThingAttributePayload
       Stratosphere.ResourceProperties.IoTTopicRuleAction
       Stratosphere.ResourceProperties.IoTTopicRuleCloudwatchAlarmAction
@@ -501,6 +528,7 @@
       Stratosphere.ResourceProperties.OpsWorksStackRdsDbInstance
       Stratosphere.ResourceProperties.OpsWorksStackSource
       Stratosphere.ResourceProperties.OpsWorksStackStackConfigurationManager
+      Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration
       Stratosphere.ResourceProperties.RDSDBSecurityGroupIngressProperty
       Stratosphere.ResourceProperties.RDSOptionGroupOptionConfiguration
       Stratosphere.ResourceProperties.RDSOptionGroupOptionSetting
@@ -813,6 +841,9 @@
       Stratosphere.Resources.InspectorAssessmentTarget
       Stratosphere.Resources.InspectorAssessmentTemplate
       Stratosphere.Resources.InspectorResourceGroup
+      Stratosphere.Resources.IoT1ClickDevice
+      Stratosphere.Resources.IoT1ClickPlacement
+      Stratosphere.Resources.IoT1ClickProject
       Stratosphere.Resources.IoTCertificate
       Stratosphere.Resources.IoTPolicy
       Stratosphere.Resources.IoTPolicyPrincipalAttachment
