diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.42.0
+
+* Update resource specification document to version 6.0.0
+
 ## 0.41.0
 
 * Update resource specification document to version 5.0.0
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHeaderMatchMethod.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHeaderMatchMethod.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHeaderMatchMethod.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteMatchRange
+
+-- | Full data type definition for AppMeshRouteHeaderMatchMethod. See
+-- 'appMeshRouteHeaderMatchMethod' for a more convenient constructor.
+data AppMeshRouteHeaderMatchMethod =
+  AppMeshRouteHeaderMatchMethod
+  { _appMeshRouteHeaderMatchMethodExact :: Maybe (Val Text)
+  , _appMeshRouteHeaderMatchMethodPrefix :: Maybe (Val Text)
+  , _appMeshRouteHeaderMatchMethodRange :: Maybe AppMeshRouteMatchRange
+  , _appMeshRouteHeaderMatchMethodRegex :: Maybe (Val Text)
+  , _appMeshRouteHeaderMatchMethodSuffix :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteHeaderMatchMethod where
+  toJSON AppMeshRouteHeaderMatchMethod{..} =
+    object $
+    catMaybes
+    [ fmap (("Exact",) . toJSON) _appMeshRouteHeaderMatchMethodExact
+    , fmap (("Prefix",) . toJSON) _appMeshRouteHeaderMatchMethodPrefix
+    , fmap (("Range",) . toJSON) _appMeshRouteHeaderMatchMethodRange
+    , fmap (("Regex",) . toJSON) _appMeshRouteHeaderMatchMethodRegex
+    , fmap (("Suffix",) . toJSON) _appMeshRouteHeaderMatchMethodSuffix
+    ]
+
+-- | Constructor for 'AppMeshRouteHeaderMatchMethod' containing required
+-- fields as arguments.
+appMeshRouteHeaderMatchMethod
+  :: AppMeshRouteHeaderMatchMethod
+appMeshRouteHeaderMatchMethod  =
+  AppMeshRouteHeaderMatchMethod
+  { _appMeshRouteHeaderMatchMethodExact = Nothing
+  , _appMeshRouteHeaderMatchMethodPrefix = Nothing
+  , _appMeshRouteHeaderMatchMethodRange = Nothing
+  , _appMeshRouteHeaderMatchMethodRegex = Nothing
+  , _appMeshRouteHeaderMatchMethodSuffix = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-exact
+amrhmmExact :: Lens' AppMeshRouteHeaderMatchMethod (Maybe (Val Text))
+amrhmmExact = lens _appMeshRouteHeaderMatchMethodExact (\s a -> s { _appMeshRouteHeaderMatchMethodExact = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-prefix
+amrhmmPrefix :: Lens' AppMeshRouteHeaderMatchMethod (Maybe (Val Text))
+amrhmmPrefix = lens _appMeshRouteHeaderMatchMethodPrefix (\s a -> s { _appMeshRouteHeaderMatchMethodPrefix = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-range
+amrhmmRange :: Lens' AppMeshRouteHeaderMatchMethod (Maybe AppMeshRouteMatchRange)
+amrhmmRange = lens _appMeshRouteHeaderMatchMethodRange (\s a -> s { _appMeshRouteHeaderMatchMethodRange = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-regex
+amrhmmRegex :: Lens' AppMeshRouteHeaderMatchMethod (Maybe (Val Text))
+amrhmmRegex = lens _appMeshRouteHeaderMatchMethodRegex (\s a -> s { _appMeshRouteHeaderMatchMethodRegex = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-suffix
+amrhmmSuffix :: Lens' AppMeshRouteHeaderMatchMethod (Maybe (Val Text))
+amrhmmSuffix = lens _appMeshRouteHeaderMatchMethodSuffix (\s a -> s { _appMeshRouteHeaderMatchMethodSuffix = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteHeader.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteHeader.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteHeader.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteHttpRouteHeader where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod
+
+-- | Full data type definition for AppMeshRouteHttpRouteHeader. See
+-- 'appMeshRouteHttpRouteHeader' for a more convenient constructor.
+data AppMeshRouteHttpRouteHeader =
+  AppMeshRouteHttpRouteHeader
+  { _appMeshRouteHttpRouteHeaderInvert :: Maybe (Val Bool)
+  , _appMeshRouteHttpRouteHeaderMatch :: Maybe AppMeshRouteHeaderMatchMethod
+  , _appMeshRouteHttpRouteHeaderName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteHttpRouteHeader where
+  toJSON AppMeshRouteHttpRouteHeader{..} =
+    object $
+    catMaybes
+    [ fmap (("Invert",) . toJSON) _appMeshRouteHttpRouteHeaderInvert
+    , fmap (("Match",) . toJSON) _appMeshRouteHttpRouteHeaderMatch
+    , (Just . ("Name",) . toJSON) _appMeshRouteHttpRouteHeaderName
+    ]
+
+-- | Constructor for 'AppMeshRouteHttpRouteHeader' containing required fields
+-- as arguments.
+appMeshRouteHttpRouteHeader
+  :: Val Text -- ^ 'amrhrhName'
+  -> AppMeshRouteHttpRouteHeader
+appMeshRouteHttpRouteHeader namearg =
+  AppMeshRouteHttpRouteHeader
+  { _appMeshRouteHttpRouteHeaderInvert = Nothing
+  , _appMeshRouteHttpRouteHeaderMatch = Nothing
+  , _appMeshRouteHttpRouteHeaderName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-invert
+amrhrhInvert :: Lens' AppMeshRouteHttpRouteHeader (Maybe (Val Bool))
+amrhrhInvert = lens _appMeshRouteHttpRouteHeaderInvert (\s a -> s { _appMeshRouteHttpRouteHeaderInvert = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-match
+amrhrhMatch :: Lens' AppMeshRouteHttpRouteHeader (Maybe AppMeshRouteHeaderMatchMethod)
+amrhrhMatch = lens _appMeshRouteHttpRouteHeaderMatch (\s a -> s { _appMeshRouteHttpRouteHeaderMatch = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-name
+amrhrhName :: Lens' AppMeshRouteHttpRouteHeader (Val Text)
+amrhrhName = lens _appMeshRouteHttpRouteHeaderName (\s a -> s { _appMeshRouteHttpRouteHeaderName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteMatch.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteMatch.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteMatch.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRouteMatch.hs
@@ -8,20 +8,26 @@
 module Stratosphere.ResourceProperties.AppMeshRouteHttpRouteMatch where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteHeader
 
 -- | Full data type definition for AppMeshRouteHttpRouteMatch. See
 -- 'appMeshRouteHttpRouteMatch' for a more convenient constructor.
 data AppMeshRouteHttpRouteMatch =
   AppMeshRouteHttpRouteMatch
-  { _appMeshRouteHttpRouteMatchPrefix :: Val Text
+  { _appMeshRouteHttpRouteMatchHeaders :: Maybe [AppMeshRouteHttpRouteHeader]
+  , _appMeshRouteHttpRouteMatchMethod :: Maybe (Val Text)
+  , _appMeshRouteHttpRouteMatchPrefix :: Val Text
+  , _appMeshRouteHttpRouteMatchScheme :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON AppMeshRouteHttpRouteMatch where
   toJSON AppMeshRouteHttpRouteMatch{..} =
     object $
     catMaybes
-    [ (Just . ("Prefix",) . toJSON) _appMeshRouteHttpRouteMatchPrefix
+    [ fmap (("Headers",) . toJSON) _appMeshRouteHttpRouteMatchHeaders
+    , fmap (("Method",) . toJSON) _appMeshRouteHttpRouteMatchMethod
+    , (Just . ("Prefix",) . toJSON) _appMeshRouteHttpRouteMatchPrefix
+    , fmap (("Scheme",) . toJSON) _appMeshRouteHttpRouteMatchScheme
     ]
 
 -- | Constructor for 'AppMeshRouteHttpRouteMatch' containing required fields
@@ -31,9 +37,24 @@
   -> AppMeshRouteHttpRouteMatch
 appMeshRouteHttpRouteMatch prefixarg =
   AppMeshRouteHttpRouteMatch
-  { _appMeshRouteHttpRouteMatchPrefix = prefixarg
+  { _appMeshRouteHttpRouteMatchHeaders = Nothing
+  , _appMeshRouteHttpRouteMatchMethod = Nothing
+  , _appMeshRouteHttpRouteMatchPrefix = prefixarg
+  , _appMeshRouteHttpRouteMatchScheme = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-headers
+amrhrmHeaders :: Lens' AppMeshRouteHttpRouteMatch (Maybe [AppMeshRouteHttpRouteHeader])
+amrhrmHeaders = lens _appMeshRouteHttpRouteMatchHeaders (\s a -> s { _appMeshRouteHttpRouteMatchHeaders = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-method
+amrhrmMethod :: Lens' AppMeshRouteHttpRouteMatch (Maybe (Val Text))
+amrhrmMethod = lens _appMeshRouteHttpRouteMatchMethod (\s a -> s { _appMeshRouteHttpRouteMatchMethod = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-prefix
 amrhrmPrefix :: Lens' AppMeshRouteHttpRouteMatch (Val Text)
 amrhrmPrefix = lens _appMeshRouteHttpRouteMatchPrefix (\s a -> s { _appMeshRouteHttpRouteMatchPrefix = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-scheme
+amrhrmScheme :: Lens' AppMeshRouteHttpRouteMatch (Maybe (Val Text))
+amrhrmScheme = lens _appMeshRouteHttpRouteMatchScheme (\s a -> s { _appMeshRouteHttpRouteMatchScheme = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteMatchRange.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteMatchRange.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteMatchRange.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteMatchRange where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppMeshRouteMatchRange. See
+-- 'appMeshRouteMatchRange' for a more convenient constructor.
+data AppMeshRouteMatchRange =
+  AppMeshRouteMatchRange
+  { _appMeshRouteMatchRangeEnd :: Val Integer
+  , _appMeshRouteMatchRangeStart :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteMatchRange where
+  toJSON AppMeshRouteMatchRange{..} =
+    object $
+    catMaybes
+    [ (Just . ("End",) . toJSON) _appMeshRouteMatchRangeEnd
+    , (Just . ("Start",) . toJSON) _appMeshRouteMatchRangeStart
+    ]
+
+-- | Constructor for 'AppMeshRouteMatchRange' containing required fields as
+-- arguments.
+appMeshRouteMatchRange
+  :: Val Integer -- ^ 'amrmrEnd'
+  -> Val Integer -- ^ 'amrmrStart'
+  -> AppMeshRouteMatchRange
+appMeshRouteMatchRange endarg startarg =
+  AppMeshRouteMatchRange
+  { _appMeshRouteMatchRangeEnd = endarg
+  , _appMeshRouteMatchRangeStart = startarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html#cfn-appmesh-route-matchrange-end
+amrmrEnd :: Lens' AppMeshRouteMatchRange (Val Integer)
+amrmrEnd = lens _appMeshRouteMatchRangeEnd (\s a -> s { _appMeshRouteMatchRangeEnd = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html#cfn-appmesh-route-matchrange-start
+amrmrStart :: Lens' AppMeshRouteMatchRange (Val Integer)
+amrmrStart = lens _appMeshRouteMatchRangeStart (\s a -> s { _appMeshRouteMatchRangeStart = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteRouteSpec.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteRouteSpec.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteRouteSpec.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteRouteSpec.hs
@@ -16,6 +16,7 @@
 data AppMeshRouteRouteSpec =
   AppMeshRouteRouteSpec
   { _appMeshRouteRouteSpecHttpRoute :: Maybe AppMeshRouteHttpRoute
+  , _appMeshRouteRouteSpecPriority :: Maybe (Val Integer)
   , _appMeshRouteRouteSpecTcpRoute :: Maybe AppMeshRouteTcpRoute
   } deriving (Show, Eq)
 
@@ -24,6 +25,7 @@
     object $
     catMaybes
     [ fmap (("HttpRoute",) . toJSON) _appMeshRouteRouteSpecHttpRoute
+    , fmap (("Priority",) . toJSON) _appMeshRouteRouteSpecPriority
     , fmap (("TcpRoute",) . toJSON) _appMeshRouteRouteSpecTcpRoute
     ]
 
@@ -34,12 +36,17 @@
 appMeshRouteRouteSpec  =
   AppMeshRouteRouteSpec
   { _appMeshRouteRouteSpecHttpRoute = Nothing
+  , _appMeshRouteRouteSpecPriority = Nothing
   , _appMeshRouteRouteSpecTcpRoute = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-httproute
 amrrsHttpRoute :: Lens' AppMeshRouteRouteSpec (Maybe AppMeshRouteHttpRoute)
 amrrsHttpRoute = lens _appMeshRouteRouteSpecHttpRoute (\s a -> s { _appMeshRouteRouteSpecHttpRoute = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-priority
+amrrsPriority :: Lens' AppMeshRouteRouteSpec (Maybe (Val Integer))
+amrrsPriority = lens _appMeshRouteRouteSpecPriority (\s a -> s { _appMeshRouteRouteSpecPriority = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-tcproute
 amrrsTcpRoute :: Lens' AppMeshRouteRouteSpec (Maybe AppMeshRouteTcpRoute)
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiLogConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiLogConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiLogConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiLogConfig.hs
@@ -15,6 +15,7 @@
 data AppSyncGraphQLApiLogConfig =
   AppSyncGraphQLApiLogConfig
   { _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn :: Maybe (Val Text)
+  , _appSyncGraphQLApiLogConfigExcludeVerboseContent :: Maybe (Val Bool)
   , _appSyncGraphQLApiLogConfigFieldLogLevel :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -23,6 +24,7 @@
     object $
     catMaybes
     [ fmap (("CloudWatchLogsRoleArn",) . toJSON) _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn
+    , fmap (("ExcludeVerboseContent",) . toJSON) _appSyncGraphQLApiLogConfigExcludeVerboseContent
     , fmap (("FieldLogLevel",) . toJSON) _appSyncGraphQLApiLogConfigFieldLogLevel
     ]
 
@@ -33,12 +35,17 @@
 appSyncGraphQLApiLogConfig  =
   AppSyncGraphQLApiLogConfig
   { _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn = Nothing
+  , _appSyncGraphQLApiLogConfigExcludeVerboseContent = Nothing
   , _appSyncGraphQLApiLogConfigFieldLogLevel = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-cloudwatchlogsrolearn
 asgqlalcCloudWatchLogsRoleArn :: Lens' AppSyncGraphQLApiLogConfig (Maybe (Val Text))
 asgqlalcCloudWatchLogsRoleArn = lens _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn (\s a -> s { _appSyncGraphQLApiLogConfigCloudWatchLogsRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-excludeverbosecontent
+asgqlalcExcludeVerboseContent :: Lens' AppSyncGraphQLApiLogConfig (Maybe (Val Bool))
+asgqlalcExcludeVerboseContent = lens _appSyncGraphQLApiLogConfigExcludeVerboseContent (\s a -> s { _appSyncGraphQLApiLogConfigExcludeVerboseContent = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-fieldloglevel
 asgqlalcFieldLogLevel :: Lens' AppSyncGraphQLApiLogConfig (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetSuspendedState.hs b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetSuspendedState.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetSuspendedState.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html
+
+module Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetSuspendedState where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ApplicationAutoScalingScalableTargetSuspendedState. See
+-- 'applicationAutoScalingScalableTargetSuspendedState' for a more
+-- convenient constructor.
+data ApplicationAutoScalingScalableTargetSuspendedState =
+  ApplicationAutoScalingScalableTargetSuspendedState
+  { _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingInSuspended :: Maybe (Val Bool)
+  , _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingOutSuspended :: Maybe (Val Bool)
+  , _applicationAutoScalingScalableTargetSuspendedStateScheduledScalingSuspended :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON ApplicationAutoScalingScalableTargetSuspendedState where
+  toJSON ApplicationAutoScalingScalableTargetSuspendedState{..} =
+    object $
+    catMaybes
+    [ fmap (("DynamicScalingInSuspended",) . toJSON) _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingInSuspended
+    , fmap (("DynamicScalingOutSuspended",) . toJSON) _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingOutSuspended
+    , fmap (("ScheduledScalingSuspended",) . toJSON) _applicationAutoScalingScalableTargetSuspendedStateScheduledScalingSuspended
+    ]
+
+-- | Constructor for 'ApplicationAutoScalingScalableTargetSuspendedState'
+-- containing required fields as arguments.
+applicationAutoScalingScalableTargetSuspendedState
+  :: ApplicationAutoScalingScalableTargetSuspendedState
+applicationAutoScalingScalableTargetSuspendedState  =
+  ApplicationAutoScalingScalableTargetSuspendedState
+  { _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingInSuspended = Nothing
+  , _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingOutSuspended = Nothing
+  , _applicationAutoScalingScalableTargetSuspendedStateScheduledScalingSuspended = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalinginsuspended
+aasstssDynamicScalingInSuspended :: Lens' ApplicationAutoScalingScalableTargetSuspendedState (Maybe (Val Bool))
+aasstssDynamicScalingInSuspended = lens _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingInSuspended (\s a -> s { _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingInSuspended = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalingoutsuspended
+aasstssDynamicScalingOutSuspended :: Lens' ApplicationAutoScalingScalableTargetSuspendedState (Maybe (Val Bool))
+aasstssDynamicScalingOutSuspended = lens _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingOutSuspended (\s a -> s { _applicationAutoScalingScalableTargetSuspendedStateDynamicScalingOutSuspended = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-scheduledscalingsuspended
+aasstssScheduledScalingSuspended :: Lens' ApplicationAutoScalingScalableTargetSuspendedState (Maybe (Val Bool))
+aasstssScheduledScalingSuspended = lens _applicationAutoScalingScalableTargetSuspendedStateScheduledScalingSuspended (\s a -> s { _applicationAutoScalingScalableTargetSuspendedStateScheduledScalingSuspended = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs
@@ -16,7 +16,7 @@
   CognitoUserPoolAdminCreateUserConfig
   { _cognitoUserPoolAdminCreateUserConfigAllowAdminCreateUserOnly :: Maybe (Val Bool)
   , _cognitoUserPoolAdminCreateUserConfigInviteMessageTemplate :: Maybe CognitoUserPoolInviteMessageTemplate
-  , _cognitoUserPoolAdminCreateUserConfigUnusedAccountValidityDays :: Maybe (Val Double)
+  , _cognitoUserPoolAdminCreateUserConfigUnusedAccountValidityDays :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToJSON CognitoUserPoolAdminCreateUserConfig where
@@ -48,5 +48,5 @@
 cupacucInviteMessageTemplate = lens _cognitoUserPoolAdminCreateUserConfigInviteMessageTemplate (\s a -> s { _cognitoUserPoolAdminCreateUserConfigInviteMessageTemplate = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-unusedaccountvaliditydays
-cupacucUnusedAccountValidityDays :: Lens' CognitoUserPoolAdminCreateUserConfig (Maybe (Val Double))
+cupacucUnusedAccountValidityDays :: Lens' CognitoUserPoolAdminCreateUserConfig (Maybe (Val Integer))
 cupacucUnusedAccountValidityDays = lens _cognitoUserPoolAdminCreateUserConfigUnusedAccountValidityDays (\s a -> s { _cognitoUserPoolAdminCreateUserConfigUnusedAccountValidityDays = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs
@@ -19,7 +19,7 @@
   , _cognitoUserPoolPasswordPolicyRequireNumbers :: Maybe (Val Bool)
   , _cognitoUserPoolPasswordPolicyRequireSymbols :: Maybe (Val Bool)
   , _cognitoUserPoolPasswordPolicyRequireUppercase :: Maybe (Val Bool)
-  , _cognitoUserPoolPasswordPolicyTemporaryPasswordValidityDays :: Maybe (Val Double)
+  , _cognitoUserPoolPasswordPolicyTemporaryPasswordValidityDays :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToJSON CognitoUserPoolPasswordPolicy where
@@ -69,5 +69,5 @@
 cupppRequireUppercase = lens _cognitoUserPoolPasswordPolicyRequireUppercase (\s a -> s { _cognitoUserPoolPasswordPolicyRequireUppercase = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-temporarypasswordvaliditydays
-cupppTemporaryPasswordValidityDays :: Lens' CognitoUserPoolPasswordPolicy (Maybe (Val Double))
+cupppTemporaryPasswordValidityDays :: Lens' CognitoUserPoolPasswordPolicy (Maybe (Val Integer))
 cupppTemporaryPasswordValidityDays = lens _cognitoUserPoolPasswordPolicyTemporaryPasswordValidityDays (\s a -> s { _cognitoUserPoolPasswordPolicyTemporaryPasswordValidityDays = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata.hs b/library-gen/Stratosphere/ResourceProperties/ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata.hs
@@ -0,0 +1,99 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html
+
+module Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata. See
+-- 'configOrganizationConfigRuleOrganizationCustomRuleMetadata' for a more
+-- convenient constructor.
+data ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata =
+  ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
+  { _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn :: Val Text
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes :: ValList Text
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope :: Maybe (ValList Text)
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata where
+  toJSON ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata{..} =
+    object $
+    catMaybes
+    [ fmap (("Description",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription
+    , fmap (("InputParameters",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters
+    , (Just . ("LambdaFunctionArn",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn
+    , fmap (("MaximumExecutionFrequency",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency
+    , (Just . ("OrganizationConfigRuleTriggerTypes",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes
+    , fmap (("ResourceIdScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope
+    , fmap (("ResourceTypesScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope
+    , fmap (("TagKeyScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope
+    , fmap (("TagValueScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope
+    ]
+
+-- | Constructor for
+-- 'ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata' containing
+-- required fields as arguments.
+configOrganizationConfigRuleOrganizationCustomRuleMetadata
+  :: Val Text -- ^ 'cocrocrmLambdaFunctionArn'
+  -> ValList Text -- ^ 'cocrocrmOrganizationConfigRuleTriggerTypes'
+  -> ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
+configOrganizationConfigRuleOrganizationCustomRuleMetadata lambdaFunctionArnarg organizationConfigRuleTriggerTypesarg =
+  ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
+  { _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription = Nothing
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters = Nothing
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn = lambdaFunctionArnarg
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency = Nothing
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes = organizationConfigRuleTriggerTypesarg
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope = Nothing
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope = Nothing
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope = Nothing
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-description
+cocrocrmDescription :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text))
+cocrocrmDescription = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-inputparameters
+cocrocrmInputParameters :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text))
+cocrocrmInputParameters = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-lambdafunctionarn
+cocrocrmLambdaFunctionArn :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Val Text)
+cocrocrmLambdaFunctionArn = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-maximumexecutionfrequency
+cocrocrmMaximumExecutionFrequency :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text))
+cocrocrmMaximumExecutionFrequency = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-organizationconfigruletriggertypes
+cocrocrmOrganizationConfigRuleTriggerTypes :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (ValList Text)
+cocrocrmOrganizationConfigRuleTriggerTypes = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourceidscope
+cocrocrmResourceIdScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text))
+cocrocrmResourceIdScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourcetypesscope
+cocrocrmResourceTypesScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (ValList Text))
+cocrocrmResourceTypesScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagkeyscope
+cocrocrmTagKeyScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text))
+cocrocrmTagKeyScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagvaluescope
+cocrocrmTagValueScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text))
+cocrocrmTagValueScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata.hs b/library-gen/Stratosphere/ResourceProperties/ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html
+
+module Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata. See
+-- 'configOrganizationConfigRuleOrganizationManagedRuleMetadata' for a more
+-- convenient constructor.
+data ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata =
+  ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
+  { _configOrganizationConfigRuleOrganizationManagedRuleMetadataDescription :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataInputParameters :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataMaximumExecutionFrequency :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceIdScope :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceTypesScope :: Maybe (ValList Text)
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataRuleIdentifier :: Val Text
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagKeyScope :: Maybe (Val Text)
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagValueScope :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata where
+  toJSON ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata{..} =
+    object $
+    catMaybes
+    [ fmap (("Description",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataDescription
+    , fmap (("InputParameters",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataInputParameters
+    , fmap (("MaximumExecutionFrequency",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataMaximumExecutionFrequency
+    , fmap (("ResourceIdScope",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceIdScope
+    , fmap (("ResourceTypesScope",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceTypesScope
+    , (Just . ("RuleIdentifier",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataRuleIdentifier
+    , fmap (("TagKeyScope",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagKeyScope
+    , fmap (("TagValueScope",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagValueScope
+    ]
+
+-- | Constructor for
+-- 'ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata' containing
+-- required fields as arguments.
+configOrganizationConfigRuleOrganizationManagedRuleMetadata
+  :: Val Text -- ^ 'cocromrmRuleIdentifier'
+  -> ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
+configOrganizationConfigRuleOrganizationManagedRuleMetadata ruleIdentifierarg =
+  ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
+  { _configOrganizationConfigRuleOrganizationManagedRuleMetadataDescription = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataInputParameters = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataMaximumExecutionFrequency = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceIdScope = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceTypesScope = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataRuleIdentifier = ruleIdentifierarg
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagKeyScope = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagValueScope = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-description
+cocromrmDescription :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (Val Text))
+cocromrmDescription = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataDescription (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-inputparameters
+cocromrmInputParameters :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (Val Text))
+cocromrmInputParameters = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataInputParameters (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataInputParameters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-maximumexecutionfrequency
+cocromrmMaximumExecutionFrequency :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (Val Text))
+cocromrmMaximumExecutionFrequency = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataMaximumExecutionFrequency (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataMaximumExecutionFrequency = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-resourceidscope
+cocromrmResourceIdScope :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (Val Text))
+cocromrmResourceIdScope = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceIdScope (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceIdScope = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-resourcetypesscope
+cocromrmResourceTypesScope :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (ValList Text))
+cocromrmResourceTypesScope = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceTypesScope (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataResourceTypesScope = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-ruleidentifier
+cocromrmRuleIdentifier :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Val Text)
+cocromrmRuleIdentifier = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataRuleIdentifier (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataRuleIdentifier = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-tagkeyscope
+cocromrmTagKeyScope :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (Val Text))
+cocromrmTagKeyScope = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagKeyScope (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagKeyScope = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-tagvaluescope
+cocromrmTagValueScope :: Lens' ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata (Maybe (Val Text))
+cocromrmTagValueScope = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagValueScope (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadataTagValueScope = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
@@ -14,14 +14,18 @@
 -- 'dynamoDBTableSSESpecification' for a more convenient constructor.
 data DynamoDBTableSSESpecification =
   DynamoDBTableSSESpecification
-  { _dynamoDBTableSSESpecificationSSEEnabled :: Val Bool
+  { _dynamoDBTableSSESpecificationKMSMasterKeyId :: Maybe (Val Text)
+  , _dynamoDBTableSSESpecificationSSEEnabled :: Val Bool
+  , _dynamoDBTableSSESpecificationSSEType :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON DynamoDBTableSSESpecification where
   toJSON DynamoDBTableSSESpecification{..} =
     object $
     catMaybes
-    [ (Just . ("SSEEnabled",) . toJSON) _dynamoDBTableSSESpecificationSSEEnabled
+    [ fmap (("KMSMasterKeyId",) . toJSON) _dynamoDBTableSSESpecificationKMSMasterKeyId
+    , (Just . ("SSEEnabled",) . toJSON) _dynamoDBTableSSESpecificationSSEEnabled
+    , fmap (("SSEType",) . toJSON) _dynamoDBTableSSESpecificationSSEType
     ]
 
 -- | Constructor for 'DynamoDBTableSSESpecification' containing required
@@ -31,9 +35,19 @@
   -> DynamoDBTableSSESpecification
 dynamoDBTableSSESpecification sSEEnabledarg =
   DynamoDBTableSSESpecification
-  { _dynamoDBTableSSESpecificationSSEEnabled = sSEEnabledarg
+  { _dynamoDBTableSSESpecificationKMSMasterKeyId = Nothing
+  , _dynamoDBTableSSESpecificationSSEEnabled = sSEEnabledarg
+  , _dynamoDBTableSSESpecificationSSEType = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-kmsmasterkeyid
+ddbtssesKMSMasterKeyId :: Lens' DynamoDBTableSSESpecification (Maybe (Val Text))
+ddbtssesKMSMasterKeyId = lens _dynamoDBTableSSESpecificationKMSMasterKeyId (\s a -> s { _dynamoDBTableSSESpecificationKMSMasterKeyId = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-sseenabled
 ddbtssesSSEEnabled :: Lens' DynamoDBTableSSESpecification (Val Bool)
 ddbtssesSSEEnabled = lens _dynamoDBTableSSESpecificationSSEEnabled (\s a -> s { _dynamoDBTableSSESpecificationSSEEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-ssetype
+ddbtssesSSEType :: Lens' DynamoDBTableSSESpecification (Maybe (Val Text))
+ddbtssesSSEType = lens _dynamoDBTableSSESpecificationSSEType (\s a -> s { _dynamoDBTableSSESpecificationSSEType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2ClientVpnEndpointTagSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2ClientVpnEndpointTagSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2ClientVpnEndpointTagSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2ClientVpnEndpointTagSpecification.hs
@@ -14,32 +14,34 @@
 -- 'ec2ClientVpnEndpointTagSpecification' for a more convenient constructor.
 data EC2ClientVpnEndpointTagSpecification =
   EC2ClientVpnEndpointTagSpecification
-  { _eC2ClientVpnEndpointTagSpecificationResourceType :: Maybe (Val Text)
-  , _eC2ClientVpnEndpointTagSpecificationTags :: Maybe [Tag]
+  { _eC2ClientVpnEndpointTagSpecificationResourceType :: Val Text
+  , _eC2ClientVpnEndpointTagSpecificationTags :: [Tag]
   } deriving (Show, Eq)
 
 instance ToJSON EC2ClientVpnEndpointTagSpecification where
   toJSON EC2ClientVpnEndpointTagSpecification{..} =
     object $
     catMaybes
-    [ fmap (("ResourceType",) . toJSON) _eC2ClientVpnEndpointTagSpecificationResourceType
-    , fmap (("Tags",) . toJSON) _eC2ClientVpnEndpointTagSpecificationTags
+    [ (Just . ("ResourceType",) . toJSON) _eC2ClientVpnEndpointTagSpecificationResourceType
+    , (Just . ("Tags",) . toJSON) _eC2ClientVpnEndpointTagSpecificationTags
     ]
 
 -- | Constructor for 'EC2ClientVpnEndpointTagSpecification' containing
 -- required fields as arguments.
 ec2ClientVpnEndpointTagSpecification
-  :: EC2ClientVpnEndpointTagSpecification
-ec2ClientVpnEndpointTagSpecification  =
+  :: Val Text -- ^ 'eccvetsResourceType'
+  -> [Tag] -- ^ 'eccvetsTags'
+  -> EC2ClientVpnEndpointTagSpecification
+ec2ClientVpnEndpointTagSpecification resourceTypearg tagsarg =
   EC2ClientVpnEndpointTagSpecification
-  { _eC2ClientVpnEndpointTagSpecificationResourceType = Nothing
-  , _eC2ClientVpnEndpointTagSpecificationTags = Nothing
+  { _eC2ClientVpnEndpointTagSpecificationResourceType = resourceTypearg
+  , _eC2ClientVpnEndpointTagSpecificationTags = tagsarg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-resourcetype
-eccvetsResourceType :: Lens' EC2ClientVpnEndpointTagSpecification (Maybe (Val Text))
+eccvetsResourceType :: Lens' EC2ClientVpnEndpointTagSpecification (Val Text)
 eccvetsResourceType = lens _eC2ClientVpnEndpointTagSpecificationResourceType (\s a -> s { _eC2ClientVpnEndpointTagSpecificationResourceType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-tags
-eccvetsTags :: Lens' EC2ClientVpnEndpointTagSpecification (Maybe [Tag])
+eccvetsTags :: Lens' EC2ClientVpnEndpointTagSpecification [Tag]
 eccvetsTags = lens _eC2ClientVpnEndpointTagSpecificationTags (\s a -> s { _eC2ClientVpnEndpointTagSpecificationTags = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceCpuOptions.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceCpuOptions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceCpuOptions.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html
+
+module Stratosphere.ResourceProperties.EC2InstanceCpuOptions where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EC2InstanceCpuOptions. See
+-- 'ec2InstanceCpuOptions' for a more convenient constructor.
+data EC2InstanceCpuOptions =
+  EC2InstanceCpuOptions
+  { _eC2InstanceCpuOptionsCoreCount :: Maybe (Val Integer)
+  , _eC2InstanceCpuOptionsThreadsPerCore :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON EC2InstanceCpuOptions where
+  toJSON EC2InstanceCpuOptions{..} =
+    object $
+    catMaybes
+    [ fmap (("CoreCount",) . toJSON) _eC2InstanceCpuOptionsCoreCount
+    , fmap (("ThreadsPerCore",) . toJSON) _eC2InstanceCpuOptionsThreadsPerCore
+    ]
+
+-- | Constructor for 'EC2InstanceCpuOptions' containing required fields as
+-- arguments.
+ec2InstanceCpuOptions
+  :: EC2InstanceCpuOptions
+ec2InstanceCpuOptions  =
+  EC2InstanceCpuOptions
+  { _eC2InstanceCpuOptionsCoreCount = Nothing
+  , _eC2InstanceCpuOptionsThreadsPerCore = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-corecount
+ecicoCoreCount :: Lens' EC2InstanceCpuOptions (Maybe (Val Integer))
+ecicoCoreCount = lens _eC2InstanceCpuOptionsCoreCount (\s a -> s { _eC2InstanceCpuOptionsCoreCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-threadspercore
+ecicoThreadsPerCore :: Lens' EC2InstanceCpuOptions (Maybe (Val Integer))
+ecicoThreadsPerCore = lens _eC2InstanceCpuOptionsThreadsPerCore (\s a -> s { _eC2InstanceCpuOptionsThreadsPerCore = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs
@@ -17,6 +17,7 @@
   { _eC2InstanceEbsDeleteOnTermination :: Maybe (Val Bool)
   , _eC2InstanceEbsEncrypted :: Maybe (Val Bool)
   , _eC2InstanceEbsIops :: Maybe (Val Integer)
+  , _eC2InstanceEbsKmsKeyId :: Maybe (Val Text)
   , _eC2InstanceEbsSnapshotId :: Maybe (Val Text)
   , _eC2InstanceEbsVolumeSize :: Maybe (Val Integer)
   , _eC2InstanceEbsVolumeType :: Maybe (Val Text)
@@ -29,6 +30,7 @@
     [ fmap (("DeleteOnTermination",) . toJSON) _eC2InstanceEbsDeleteOnTermination
     , fmap (("Encrypted",) . toJSON) _eC2InstanceEbsEncrypted
     , fmap (("Iops",) . toJSON) _eC2InstanceEbsIops
+    , fmap (("KmsKeyId",) . toJSON) _eC2InstanceEbsKmsKeyId
     , fmap (("SnapshotId",) . toJSON) _eC2InstanceEbsSnapshotId
     , fmap (("VolumeSize",) . toJSON) _eC2InstanceEbsVolumeSize
     , fmap (("VolumeType",) . toJSON) _eC2InstanceEbsVolumeType
@@ -42,6 +44,7 @@
   { _eC2InstanceEbsDeleteOnTermination = Nothing
   , _eC2InstanceEbsEncrypted = Nothing
   , _eC2InstanceEbsIops = Nothing
+  , _eC2InstanceEbsKmsKeyId = Nothing
   , _eC2InstanceEbsSnapshotId = Nothing
   , _eC2InstanceEbsVolumeSize = Nothing
   , _eC2InstanceEbsVolumeType = Nothing
@@ -58,6 +61,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-iops
 ecieIops :: Lens' EC2InstanceEbs (Maybe (Val Integer))
 ecieIops = lens _eC2InstanceEbsIops (\s a -> s { _eC2InstanceEbsIops = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-instance-ebs-kmskeyid
+ecieKmsKeyId :: Lens' EC2InstanceEbs (Maybe (Val Text))
+ecieKmsKeyId = lens _eC2InstanceEbsKmsKeyId (\s a -> s { _eC2InstanceEbsKmsKeyId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-snapshotid
 ecieSnapshotId :: Lens' EC2InstanceEbs (Maybe (Val Text))
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
@@ -19,6 +19,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials
 import Stratosphere.ResourceProperties.ECSTaskDefinitionResourceRequirement
 import Stratosphere.ResourceProperties.ECSTaskDefinitionSecret
+import Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom
 
@@ -41,6 +42,7 @@
   , _eCSTaskDefinitionContainerDefinitionHealthCheck :: Maybe ECSTaskDefinitionHealthCheck
   , _eCSTaskDefinitionContainerDefinitionHostname :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionImage :: Val Text
+  , _eCSTaskDefinitionContainerDefinitionInteractive :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionLinks :: Maybe (ValList Text)
   , _eCSTaskDefinitionContainerDefinitionLinuxParameters :: Maybe ECSTaskDefinitionLinuxParameters
   , _eCSTaskDefinitionContainerDefinitionLogConfiguration :: Maybe ECSTaskDefinitionLogConfiguration
@@ -50,12 +52,14 @@
   , _eCSTaskDefinitionContainerDefinitionName :: Val Text
   , _eCSTaskDefinitionContainerDefinitionPortMappings :: Maybe [ECSTaskDefinitionPortMapping]
   , _eCSTaskDefinitionContainerDefinitionPrivileged :: Maybe (Val Bool)
+  , _eCSTaskDefinitionContainerDefinitionPseudoTerminal :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionRepositoryCredentials :: Maybe ECSTaskDefinitionRepositoryCredentials
   , _eCSTaskDefinitionContainerDefinitionResourceRequirements :: Maybe [ECSTaskDefinitionResourceRequirement]
   , _eCSTaskDefinitionContainerDefinitionSecrets :: Maybe [ECSTaskDefinitionSecret]
   , _eCSTaskDefinitionContainerDefinitionStartTimeout :: Maybe (Val Integer)
   , _eCSTaskDefinitionContainerDefinitionStopTimeout :: Maybe (Val Integer)
+  , _eCSTaskDefinitionContainerDefinitionSystemControls :: Maybe [ECSTaskDefinitionSystemControl]
   , _eCSTaskDefinitionContainerDefinitionUlimits :: Maybe [ECSTaskDefinitionUlimit]
   , _eCSTaskDefinitionContainerDefinitionUser :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom :: Maybe [ECSTaskDefinitionVolumeFrom]
@@ -81,6 +85,7 @@
     , fmap (("HealthCheck",) . toJSON) _eCSTaskDefinitionContainerDefinitionHealthCheck
     , fmap (("Hostname",) . toJSON) _eCSTaskDefinitionContainerDefinitionHostname
     , (Just . ("Image",) . toJSON) _eCSTaskDefinitionContainerDefinitionImage
+    , fmap (("Interactive",) . toJSON) _eCSTaskDefinitionContainerDefinitionInteractive
     , fmap (("Links",) . toJSON) _eCSTaskDefinitionContainerDefinitionLinks
     , fmap (("LinuxParameters",) . toJSON) _eCSTaskDefinitionContainerDefinitionLinuxParameters
     , fmap (("LogConfiguration",) . toJSON) _eCSTaskDefinitionContainerDefinitionLogConfiguration
@@ -90,12 +95,14 @@
     , (Just . ("Name",) . toJSON) _eCSTaskDefinitionContainerDefinitionName
     , fmap (("PortMappings",) . toJSON) _eCSTaskDefinitionContainerDefinitionPortMappings
     , fmap (("Privileged",) . toJSON) _eCSTaskDefinitionContainerDefinitionPrivileged
+    , fmap (("PseudoTerminal",) . toJSON) _eCSTaskDefinitionContainerDefinitionPseudoTerminal
     , fmap (("ReadonlyRootFilesystem",) . toJSON) _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem
     , fmap (("RepositoryCredentials",) . toJSON) _eCSTaskDefinitionContainerDefinitionRepositoryCredentials
     , fmap (("ResourceRequirements",) . toJSON) _eCSTaskDefinitionContainerDefinitionResourceRequirements
     , fmap (("Secrets",) . toJSON) _eCSTaskDefinitionContainerDefinitionSecrets
     , fmap (("StartTimeout",) . toJSON) _eCSTaskDefinitionContainerDefinitionStartTimeout
     , fmap (("StopTimeout",) . toJSON) _eCSTaskDefinitionContainerDefinitionStopTimeout
+    , fmap (("SystemControls",) . toJSON) _eCSTaskDefinitionContainerDefinitionSystemControls
     , fmap (("Ulimits",) . toJSON) _eCSTaskDefinitionContainerDefinitionUlimits
     , fmap (("User",) . toJSON) _eCSTaskDefinitionContainerDefinitionUser
     , fmap (("VolumesFrom",) . toJSON) _eCSTaskDefinitionContainerDefinitionVolumesFrom
@@ -125,6 +132,7 @@
   , _eCSTaskDefinitionContainerDefinitionHealthCheck = Nothing
   , _eCSTaskDefinitionContainerDefinitionHostname = Nothing
   , _eCSTaskDefinitionContainerDefinitionImage = imagearg
+  , _eCSTaskDefinitionContainerDefinitionInteractive = Nothing
   , _eCSTaskDefinitionContainerDefinitionLinks = Nothing
   , _eCSTaskDefinitionContainerDefinitionLinuxParameters = Nothing
   , _eCSTaskDefinitionContainerDefinitionLogConfiguration = Nothing
@@ -134,12 +142,14 @@
   , _eCSTaskDefinitionContainerDefinitionName = namearg
   , _eCSTaskDefinitionContainerDefinitionPortMappings = Nothing
   , _eCSTaskDefinitionContainerDefinitionPrivileged = Nothing
+  , _eCSTaskDefinitionContainerDefinitionPseudoTerminal = Nothing
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem = Nothing
   , _eCSTaskDefinitionContainerDefinitionRepositoryCredentials = Nothing
   , _eCSTaskDefinitionContainerDefinitionResourceRequirements = Nothing
   , _eCSTaskDefinitionContainerDefinitionSecrets = Nothing
   , _eCSTaskDefinitionContainerDefinitionStartTimeout = Nothing
   , _eCSTaskDefinitionContainerDefinitionStopTimeout = Nothing
+  , _eCSTaskDefinitionContainerDefinitionSystemControls = Nothing
   , _eCSTaskDefinitionContainerDefinitionUlimits = Nothing
   , _eCSTaskDefinitionContainerDefinitionUser = Nothing
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom = Nothing
@@ -206,6 +216,10 @@
 ecstdcdImage :: Lens' ECSTaskDefinitionContainerDefinition (Val Text)
 ecstdcdImage = lens _eCSTaskDefinitionContainerDefinitionImage (\s a -> s { _eCSTaskDefinitionContainerDefinitionImage = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-interactive
+ecstdcdInteractive :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
+ecstdcdInteractive = lens _eCSTaskDefinitionContainerDefinitionInteractive (\s a -> s { _eCSTaskDefinitionContainerDefinitionInteractive = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-links
 ecstdcdLinks :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (ValList Text))
 ecstdcdLinks = lens _eCSTaskDefinitionContainerDefinitionLinks (\s a -> s { _eCSTaskDefinitionContainerDefinitionLinks = a })
@@ -242,6 +256,10 @@
 ecstdcdPrivileged :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
 ecstdcdPrivileged = lens _eCSTaskDefinitionContainerDefinitionPrivileged (\s a -> s { _eCSTaskDefinitionContainerDefinitionPrivileged = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-pseudoterminal
+ecstdcdPseudoTerminal :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
+ecstdcdPseudoTerminal = lens _eCSTaskDefinitionContainerDefinitionPseudoTerminal (\s a -> s { _eCSTaskDefinitionContainerDefinitionPseudoTerminal = a })
+
 -- | 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 })
@@ -265,6 +283,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-stoptimeout
 ecstdcdStopTimeout :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Integer))
 ecstdcdStopTimeout = lens _eCSTaskDefinitionContainerDefinitionStopTimeout (\s a -> s { _eCSTaskDefinitionContainerDefinitionStopTimeout = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-systemcontrols
+ecstdcdSystemControls :: Lens' ECSTaskDefinitionContainerDefinition (Maybe [ECSTaskDefinitionSystemControl])
+ecstdcdSystemControls = lens _eCSTaskDefinitionContainerDefinitionSystemControls (\s a -> s { _eCSTaskDefinitionContainerDefinitionSystemControls = 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/ECSTaskDefinitionLogConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
@@ -8,7 +8,7 @@
 module Stratosphere.ResourceProperties.ECSTaskDefinitionLogConfiguration where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ECSTaskDefinitionSecret
 
 -- | Full data type definition for ECSTaskDefinitionLogConfiguration. See
 -- 'ecsTaskDefinitionLogConfiguration' for a more convenient constructor.
@@ -16,6 +16,7 @@
   ECSTaskDefinitionLogConfiguration
   { _eCSTaskDefinitionLogConfigurationLogDriver :: Val Text
   , _eCSTaskDefinitionLogConfigurationOptions :: Maybe Object
+  , _eCSTaskDefinitionLogConfigurationSecretOptions :: Maybe [ECSTaskDefinitionSecret]
   } deriving (Show, Eq)
 
 instance ToJSON ECSTaskDefinitionLogConfiguration where
@@ -24,6 +25,7 @@
     catMaybes
     [ (Just . ("LogDriver",) . toJSON) _eCSTaskDefinitionLogConfigurationLogDriver
     , fmap (("Options",) . toJSON) _eCSTaskDefinitionLogConfigurationOptions
+    , fmap (("SecretOptions",) . toJSON) _eCSTaskDefinitionLogConfigurationSecretOptions
     ]
 
 -- | Constructor for 'ECSTaskDefinitionLogConfiguration' containing required
@@ -35,6 +37,7 @@
   ECSTaskDefinitionLogConfiguration
   { _eCSTaskDefinitionLogConfigurationLogDriver = logDriverarg
   , _eCSTaskDefinitionLogConfigurationOptions = Nothing
+  , _eCSTaskDefinitionLogConfigurationSecretOptions = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-logdriver
@@ -44,3 +47,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-options
 ecstdlcOptions :: Lens' ECSTaskDefinitionLogConfiguration (Maybe Object)
 ecstdlcOptions = lens _eCSTaskDefinitionLogConfigurationOptions (\s a -> s { _eCSTaskDefinitionLogConfigurationOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-logconfiguration-secretoptions
+ecstdlcSecretOptions :: Lens' ECSTaskDefinitionLogConfiguration (Maybe [ECSTaskDefinitionSecret])
+ecstdlcSecretOptions = lens _eCSTaskDefinitionLogConfigurationSecretOptions (\s a -> s { _eCSTaskDefinitionLogConfigurationSecretOptions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionSystemControl.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionSystemControl.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionSystemControl.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html
+
+module Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskDefinitionSystemControl. See
+-- 'ecsTaskDefinitionSystemControl' for a more convenient constructor.
+data ECSTaskDefinitionSystemControl =
+  ECSTaskDefinitionSystemControl
+  { _eCSTaskDefinitionSystemControlNamespace :: Val Text
+  , _eCSTaskDefinitionSystemControlValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskDefinitionSystemControl where
+  toJSON ECSTaskDefinitionSystemControl{..} =
+    object $
+    catMaybes
+    [ (Just . ("Namespace",) . toJSON) _eCSTaskDefinitionSystemControlNamespace
+    , (Just . ("Value",) . toJSON) _eCSTaskDefinitionSystemControlValue
+    ]
+
+-- | Constructor for 'ECSTaskDefinitionSystemControl' containing required
+-- fields as arguments.
+ecsTaskDefinitionSystemControl
+  :: Val Text -- ^ 'ecstdscNamespace'
+  -> Val Text -- ^ 'ecstdscValue'
+  -> ECSTaskDefinitionSystemControl
+ecsTaskDefinitionSystemControl namespacearg valuearg =
+  ECSTaskDefinitionSystemControl
+  { _eCSTaskDefinitionSystemControlNamespace = namespacearg
+  , _eCSTaskDefinitionSystemControlValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-namespace
+ecstdscNamespace :: Lens' ECSTaskDefinitionSystemControl (Val Text)
+ecstdscNamespace = lens _eCSTaskDefinitionSystemControlNamespace (\s a -> s { _eCSTaskDefinitionSystemControlNamespace = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-value
+ecstdscValue :: Lens' ECSTaskDefinitionSystemControl (Val Text)
+ecstdscValue = lens _eCSTaskDefinitionSystemControlValue (\s a -> s { _eCSTaskDefinitionSystemControlValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
@@ -16,7 +16,7 @@
   ECSTaskDefinitionTmpfs
   { _eCSTaskDefinitionTmpfsContainerPath :: Maybe (Val Text)
   , _eCSTaskDefinitionTmpfsMountOptions :: Maybe (ValList Text)
-  , _eCSTaskDefinitionTmpfsSize :: Maybe (Val Integer)
+  , _eCSTaskDefinitionTmpfsSize :: Val Integer
   } deriving (Show, Eq)
 
 instance ToJSON ECSTaskDefinitionTmpfs where
@@ -25,18 +25,19 @@
     catMaybes
     [ fmap (("ContainerPath",) . toJSON) _eCSTaskDefinitionTmpfsContainerPath
     , fmap (("MountOptions",) . toJSON) _eCSTaskDefinitionTmpfsMountOptions
-    , fmap (("Size",) . toJSON) _eCSTaskDefinitionTmpfsSize
+    , (Just . ("Size",) . toJSON) _eCSTaskDefinitionTmpfsSize
     ]
 
 -- | Constructor for 'ECSTaskDefinitionTmpfs' containing required fields as
 -- arguments.
 ecsTaskDefinitionTmpfs
-  :: ECSTaskDefinitionTmpfs
-ecsTaskDefinitionTmpfs  =
+  :: Val Integer -- ^ 'ecstdtSize'
+  -> ECSTaskDefinitionTmpfs
+ecsTaskDefinitionTmpfs sizearg =
   ECSTaskDefinitionTmpfs
   { _eCSTaskDefinitionTmpfsContainerPath = Nothing
   , _eCSTaskDefinitionTmpfsMountOptions = Nothing
-  , _eCSTaskDefinitionTmpfsSize = Nothing
+  , _eCSTaskDefinitionTmpfsSize = sizearg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-containerpath
@@ -48,5 +49,5 @@
 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' ECSTaskDefinitionTmpfs (Val Integer)
 ecstdtSize = lens _eCSTaskDefinitionTmpfsSize (\s a -> s { _eCSTaskDefinitionTmpfsSize = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs
@@ -8,7 +8,7 @@
 module Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ElasticsearchDomainZoneAwarenessConfig
 
 -- | Full data type definition for
 -- ElasticsearchDomainElasticsearchClusterConfig. See
@@ -21,6 +21,7 @@
   , _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterType :: Maybe (Val Text)
   , _elasticsearchDomainElasticsearchClusterConfigInstanceCount :: Maybe (Val Integer)
   , _elasticsearchDomainElasticsearchClusterConfigInstanceType :: Maybe (Val Text)
+  , _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfig :: Maybe ElasticsearchDomainZoneAwarenessConfig
   , _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessEnabled :: Maybe (Val Bool)
   } deriving (Show, Eq)
 
@@ -33,6 +34,7 @@
     , fmap (("DedicatedMasterType",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterType
     , fmap (("InstanceCount",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigInstanceCount
     , fmap (("InstanceType",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigInstanceType
+    , fmap (("ZoneAwarenessConfig",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfig
     , fmap (("ZoneAwarenessEnabled",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessEnabled
     ]
 
@@ -47,6 +49,7 @@
   , _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterType = Nothing
   , _elasticsearchDomainElasticsearchClusterConfigInstanceCount = Nothing
   , _elasticsearchDomainElasticsearchClusterConfigInstanceType = Nothing
+  , _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfig = Nothing
   , _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessEnabled = Nothing
   }
 
@@ -69,6 +72,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instnacetype
 edeccInstanceType :: Lens' ElasticsearchDomainElasticsearchClusterConfig (Maybe (Val Text))
 edeccInstanceType = lens _elasticsearchDomainElasticsearchClusterConfigInstanceType (\s a -> s { _elasticsearchDomainElasticsearchClusterConfigInstanceType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-zoneawarenessconfig
+edeccZoneAwarenessConfig :: Lens' ElasticsearchDomainElasticsearchClusterConfig (Maybe ElasticsearchDomainZoneAwarenessConfig)
+edeccZoneAwarenessConfig = lens _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfig (\s a -> s { _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-zoneawarenessenabled
 edeccZoneAwarenessEnabled :: Lens' ElasticsearchDomainElasticsearchClusterConfig (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainZoneAwarenessConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainZoneAwarenessConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainZoneAwarenessConfig.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-zoneawarenessconfig.html
+
+module Stratosphere.ResourceProperties.ElasticsearchDomainZoneAwarenessConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ElasticsearchDomainZoneAwarenessConfig. See
+-- 'elasticsearchDomainZoneAwarenessConfig' for a more convenient
+-- constructor.
+data ElasticsearchDomainZoneAwarenessConfig =
+  ElasticsearchDomainZoneAwarenessConfig
+  { _elasticsearchDomainZoneAwarenessConfigAvailabilityZoneCount :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON ElasticsearchDomainZoneAwarenessConfig where
+  toJSON ElasticsearchDomainZoneAwarenessConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("AvailabilityZoneCount",) . toJSON) _elasticsearchDomainZoneAwarenessConfigAvailabilityZoneCount
+    ]
+
+-- | Constructor for 'ElasticsearchDomainZoneAwarenessConfig' containing
+-- required fields as arguments.
+elasticsearchDomainZoneAwarenessConfig
+  :: ElasticsearchDomainZoneAwarenessConfig
+elasticsearchDomainZoneAwarenessConfig  =
+  ElasticsearchDomainZoneAwarenessConfig
+  { _elasticsearchDomainZoneAwarenessConfigAvailabilityZoneCount = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-zoneawarenessconfig.html#cfn-elasticsearch-domain-zoneawarenessconfig-availabilityzonecount
+edzacAvailabilityZoneCount :: Lens' ElasticsearchDomainZoneAwarenessConfig (Maybe (Val Integer))
+edzacAvailabilityZoneCount = lens _elasticsearchDomainZoneAwarenessConfigAvailabilityZoneCount (\s a -> s { _elasticsearchDomainZoneAwarenessConfigAvailabilityZoneCount = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleAwsVpcConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleAwsVpcConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleAwsVpcConfiguration.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html
+
+module Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventsRuleAwsVpcConfiguration. See
+-- 'eventsRuleAwsVpcConfiguration' for a more convenient constructor.
+data EventsRuleAwsVpcConfiguration =
+  EventsRuleAwsVpcConfiguration
+  { _eventsRuleAwsVpcConfigurationAssignPublicIp :: Maybe (Val Text)
+  , _eventsRuleAwsVpcConfigurationSecurityGroups :: Maybe (ValList Text)
+  , _eventsRuleAwsVpcConfigurationSubnets :: ValList Text
+  } deriving (Show, Eq)
+
+instance ToJSON EventsRuleAwsVpcConfiguration where
+  toJSON EventsRuleAwsVpcConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("AssignPublicIp",) . toJSON) _eventsRuleAwsVpcConfigurationAssignPublicIp
+    , fmap (("SecurityGroups",) . toJSON) _eventsRuleAwsVpcConfigurationSecurityGroups
+    , (Just . ("Subnets",) . toJSON) _eventsRuleAwsVpcConfigurationSubnets
+    ]
+
+-- | Constructor for 'EventsRuleAwsVpcConfiguration' containing required
+-- fields as arguments.
+eventsRuleAwsVpcConfiguration
+  :: ValList Text -- ^ 'eravcSubnets'
+  -> EventsRuleAwsVpcConfiguration
+eventsRuleAwsVpcConfiguration subnetsarg =
+  EventsRuleAwsVpcConfiguration
+  { _eventsRuleAwsVpcConfigurationAssignPublicIp = Nothing
+  , _eventsRuleAwsVpcConfigurationSecurityGroups = Nothing
+  , _eventsRuleAwsVpcConfigurationSubnets = subnetsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-assignpublicip
+eravcAssignPublicIp :: Lens' EventsRuleAwsVpcConfiguration (Maybe (Val Text))
+eravcAssignPublicIp = lens _eventsRuleAwsVpcConfigurationAssignPublicIp (\s a -> s { _eventsRuleAwsVpcConfigurationAssignPublicIp = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-securitygroups
+eravcSecurityGroups :: Lens' EventsRuleAwsVpcConfiguration (Maybe (ValList Text))
+eravcSecurityGroups = lens _eventsRuleAwsVpcConfigurationSecurityGroups (\s a -> s { _eventsRuleAwsVpcConfigurationSecurityGroups = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-subnets
+eravcSubnets :: Lens' EventsRuleAwsVpcConfiguration (ValList Text)
+eravcSubnets = lens _eventsRuleAwsVpcConfigurationSubnets (\s a -> s { _eventsRuleAwsVpcConfigurationSubnets = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
@@ -8,13 +8,17 @@
 module Stratosphere.ResourceProperties.EventsRuleEcsParameters where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration
 
 -- | Full data type definition for EventsRuleEcsParameters. See
 -- 'eventsRuleEcsParameters' for a more convenient constructor.
 data EventsRuleEcsParameters =
   EventsRuleEcsParameters
-  { _eventsRuleEcsParametersTaskCount :: Maybe (Val Integer)
+  { _eventsRuleEcsParametersGroup :: Maybe (Val Text)
+  , _eventsRuleEcsParametersLaunchType :: Maybe (Val Text)
+  , _eventsRuleEcsParametersNetworkConfiguration :: Maybe EventsRuleNetworkConfiguration
+  , _eventsRuleEcsParametersPlatformVersion :: Maybe (Val Text)
+  , _eventsRuleEcsParametersTaskCount :: Maybe (Val Integer)
   , _eventsRuleEcsParametersTaskDefinitionArn :: Val Text
   } deriving (Show, Eq)
 
@@ -22,7 +26,11 @@
   toJSON EventsRuleEcsParameters{..} =
     object $
     catMaybes
-    [ fmap (("TaskCount",) . toJSON) _eventsRuleEcsParametersTaskCount
+    [ fmap (("Group",) . toJSON) _eventsRuleEcsParametersGroup
+    , fmap (("LaunchType",) . toJSON) _eventsRuleEcsParametersLaunchType
+    , fmap (("NetworkConfiguration",) . toJSON) _eventsRuleEcsParametersNetworkConfiguration
+    , fmap (("PlatformVersion",) . toJSON) _eventsRuleEcsParametersPlatformVersion
+    , fmap (("TaskCount",) . toJSON) _eventsRuleEcsParametersTaskCount
     , (Just . ("TaskDefinitionArn",) . toJSON) _eventsRuleEcsParametersTaskDefinitionArn
     ]
 
@@ -33,9 +41,29 @@
   -> EventsRuleEcsParameters
 eventsRuleEcsParameters taskDefinitionArnarg =
   EventsRuleEcsParameters
-  { _eventsRuleEcsParametersTaskCount = Nothing
+  { _eventsRuleEcsParametersGroup = Nothing
+  , _eventsRuleEcsParametersLaunchType = Nothing
+  , _eventsRuleEcsParametersNetworkConfiguration = Nothing
+  , _eventsRuleEcsParametersPlatformVersion = Nothing
+  , _eventsRuleEcsParametersTaskCount = Nothing
   , _eventsRuleEcsParametersTaskDefinitionArn = taskDefinitionArnarg
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-group
+erepGroup :: Lens' EventsRuleEcsParameters (Maybe (Val Text))
+erepGroup = lens _eventsRuleEcsParametersGroup (\s a -> s { _eventsRuleEcsParametersGroup = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-launchtype
+erepLaunchType :: Lens' EventsRuleEcsParameters (Maybe (Val Text))
+erepLaunchType = lens _eventsRuleEcsParametersLaunchType (\s a -> s { _eventsRuleEcsParametersLaunchType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-networkconfiguration
+erepNetworkConfiguration :: Lens' EventsRuleEcsParameters (Maybe EventsRuleNetworkConfiguration)
+erepNetworkConfiguration = lens _eventsRuleEcsParametersNetworkConfiguration (\s a -> s { _eventsRuleEcsParametersNetworkConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-platformversion
+erepPlatformVersion :: Lens' EventsRuleEcsParameters (Maybe (Val Text))
+erepPlatformVersion = lens _eventsRuleEcsParametersPlatformVersion (\s a -> s { _eventsRuleEcsParametersPlatformVersion = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount
 erepTaskCount :: Lens' EventsRuleEcsParameters (Maybe (Val Integer))
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleNetworkConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleNetworkConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleNetworkConfiguration.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html
+
+module Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration
+
+-- | Full data type definition for EventsRuleNetworkConfiguration. See
+-- 'eventsRuleNetworkConfiguration' for a more convenient constructor.
+data EventsRuleNetworkConfiguration =
+  EventsRuleNetworkConfiguration
+  { _eventsRuleNetworkConfigurationAwsVpcConfiguration :: Maybe EventsRuleAwsVpcConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON EventsRuleNetworkConfiguration where
+  toJSON EventsRuleNetworkConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("AwsVpcConfiguration",) . toJSON) _eventsRuleNetworkConfigurationAwsVpcConfiguration
+    ]
+
+-- | Constructor for 'EventsRuleNetworkConfiguration' containing required
+-- fields as arguments.
+eventsRuleNetworkConfiguration
+  :: EventsRuleNetworkConfiguration
+eventsRuleNetworkConfiguration  =
+  EventsRuleNetworkConfiguration
+  { _eventsRuleNetworkConfigurationAwsVpcConfiguration = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html#cfn-events-rule-networkconfiguration-awsvpcconfiguration
+erncAwsVpcConfiguration :: Lens' EventsRuleNetworkConfiguration (Maybe EventsRuleAwsVpcConfiguration)
+erncAwsVpcConfiguration = lens _eventsRuleNetworkConfigurationAwsVpcConfiguration (\s a -> s { _eventsRuleNetworkConfigurationAwsVpcConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueMLTransformFindMatchesParameters.hs b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformFindMatchesParameters.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformFindMatchesParameters.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html
+
+module Stratosphere.ResourceProperties.GlueMLTransformFindMatchesParameters where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueMLTransformFindMatchesParameters. See
+-- 'glueMLTransformFindMatchesParameters' for a more convenient constructor.
+data GlueMLTransformFindMatchesParameters =
+  GlueMLTransformFindMatchesParameters
+  { _glueMLTransformFindMatchesParametersAccuracyCostTradeoff :: Maybe (Val Double)
+  , _glueMLTransformFindMatchesParametersEnforceProvidedLabels :: Maybe (Val Bool)
+  , _glueMLTransformFindMatchesParametersPrecisionRecallTradeoff :: Maybe (Val Double)
+  , _glueMLTransformFindMatchesParametersPrimaryKeyColumnName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GlueMLTransformFindMatchesParameters where
+  toJSON GlueMLTransformFindMatchesParameters{..} =
+    object $
+    catMaybes
+    [ fmap (("AccuracyCostTradeoff",) . toJSON) _glueMLTransformFindMatchesParametersAccuracyCostTradeoff
+    , fmap (("EnforceProvidedLabels",) . toJSON) _glueMLTransformFindMatchesParametersEnforceProvidedLabels
+    , fmap (("PrecisionRecallTradeoff",) . toJSON) _glueMLTransformFindMatchesParametersPrecisionRecallTradeoff
+    , (Just . ("PrimaryKeyColumnName",) . toJSON) _glueMLTransformFindMatchesParametersPrimaryKeyColumnName
+    ]
+
+-- | Constructor for 'GlueMLTransformFindMatchesParameters' containing
+-- required fields as arguments.
+glueMLTransformFindMatchesParameters
+  :: Val Text -- ^ 'gmltfmpPrimaryKeyColumnName'
+  -> GlueMLTransformFindMatchesParameters
+glueMLTransformFindMatchesParameters primaryKeyColumnNamearg =
+  GlueMLTransformFindMatchesParameters
+  { _glueMLTransformFindMatchesParametersAccuracyCostTradeoff = Nothing
+  , _glueMLTransformFindMatchesParametersEnforceProvidedLabels = Nothing
+  , _glueMLTransformFindMatchesParametersPrecisionRecallTradeoff = Nothing
+  , _glueMLTransformFindMatchesParametersPrimaryKeyColumnName = primaryKeyColumnNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-accuracycosttradeoff
+gmltfmpAccuracyCostTradeoff :: Lens' GlueMLTransformFindMatchesParameters (Maybe (Val Double))
+gmltfmpAccuracyCostTradeoff = lens _glueMLTransformFindMatchesParametersAccuracyCostTradeoff (\s a -> s { _glueMLTransformFindMatchesParametersAccuracyCostTradeoff = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-enforceprovidedlabels
+gmltfmpEnforceProvidedLabels :: Lens' GlueMLTransformFindMatchesParameters (Maybe (Val Bool))
+gmltfmpEnforceProvidedLabels = lens _glueMLTransformFindMatchesParametersEnforceProvidedLabels (\s a -> s { _glueMLTransformFindMatchesParametersEnforceProvidedLabels = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-precisionrecalltradeoff
+gmltfmpPrecisionRecallTradeoff :: Lens' GlueMLTransformFindMatchesParameters (Maybe (Val Double))
+gmltfmpPrecisionRecallTradeoff = lens _glueMLTransformFindMatchesParametersPrecisionRecallTradeoff (\s a -> s { _glueMLTransformFindMatchesParametersPrecisionRecallTradeoff = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-primarykeycolumnname
+gmltfmpPrimaryKeyColumnName :: Lens' GlueMLTransformFindMatchesParameters (Val Text)
+gmltfmpPrimaryKeyColumnName = lens _glueMLTransformFindMatchesParametersPrimaryKeyColumnName (\s a -> s { _glueMLTransformFindMatchesParametersPrimaryKeyColumnName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueMLTransformGlueTables.hs b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformGlueTables.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformGlueTables.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html
+
+module Stratosphere.ResourceProperties.GlueMLTransformGlueTables where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueMLTransformGlueTables. See
+-- 'glueMLTransformGlueTables' for a more convenient constructor.
+data GlueMLTransformGlueTables =
+  GlueMLTransformGlueTables
+  { _glueMLTransformGlueTablesCatalogId :: Maybe (Val Text)
+  , _glueMLTransformGlueTablesConnectionName :: Maybe (Val Text)
+  , _glueMLTransformGlueTablesDatabaseName :: Val Text
+  , _glueMLTransformGlueTablesTableName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GlueMLTransformGlueTables where
+  toJSON GlueMLTransformGlueTables{..} =
+    object $
+    catMaybes
+    [ fmap (("CatalogId",) . toJSON) _glueMLTransformGlueTablesCatalogId
+    , fmap (("ConnectionName",) . toJSON) _glueMLTransformGlueTablesConnectionName
+    , (Just . ("DatabaseName",) . toJSON) _glueMLTransformGlueTablesDatabaseName
+    , (Just . ("TableName",) . toJSON) _glueMLTransformGlueTablesTableName
+    ]
+
+-- | Constructor for 'GlueMLTransformGlueTables' containing required fields as
+-- arguments.
+glueMLTransformGlueTables
+  :: Val Text -- ^ 'gmltgtDatabaseName'
+  -> Val Text -- ^ 'gmltgtTableName'
+  -> GlueMLTransformGlueTables
+glueMLTransformGlueTables databaseNamearg tableNamearg =
+  GlueMLTransformGlueTables
+  { _glueMLTransformGlueTablesCatalogId = Nothing
+  , _glueMLTransformGlueTablesConnectionName = Nothing
+  , _glueMLTransformGlueTablesDatabaseName = databaseNamearg
+  , _glueMLTransformGlueTablesTableName = tableNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-catalogid
+gmltgtCatalogId :: Lens' GlueMLTransformGlueTables (Maybe (Val Text))
+gmltgtCatalogId = lens _glueMLTransformGlueTablesCatalogId (\s a -> s { _glueMLTransformGlueTablesCatalogId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-connectionname
+gmltgtConnectionName :: Lens' GlueMLTransformGlueTables (Maybe (Val Text))
+gmltgtConnectionName = lens _glueMLTransformGlueTablesConnectionName (\s a -> s { _glueMLTransformGlueTablesConnectionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-databasename
+gmltgtDatabaseName :: Lens' GlueMLTransformGlueTables (Val Text)
+gmltgtDatabaseName = lens _glueMLTransformGlueTablesDatabaseName (\s a -> s { _glueMLTransformGlueTablesDatabaseName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-tablename
+gmltgtTableName :: Lens' GlueMLTransformGlueTables (Val Text)
+gmltgtTableName = lens _glueMLTransformGlueTablesTableName (\s a -> s { _glueMLTransformGlueTablesTableName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueMLTransformInputRecordTables.hs b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformInputRecordTables.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformInputRecordTables.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html
+
+module Stratosphere.ResourceProperties.GlueMLTransformInputRecordTables where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GlueMLTransformGlueTables
+
+-- | Full data type definition for GlueMLTransformInputRecordTables. See
+-- 'glueMLTransformInputRecordTables' for a more convenient constructor.
+data GlueMLTransformInputRecordTables =
+  GlueMLTransformInputRecordTables
+  { _glueMLTransformInputRecordTablesGlueTables :: Maybe [GlueMLTransformGlueTables]
+  } deriving (Show, Eq)
+
+instance ToJSON GlueMLTransformInputRecordTables where
+  toJSON GlueMLTransformInputRecordTables{..} =
+    object $
+    catMaybes
+    [ fmap (("GlueTables",) . toJSON) _glueMLTransformInputRecordTablesGlueTables
+    ]
+
+-- | Constructor for 'GlueMLTransformInputRecordTables' containing required
+-- fields as arguments.
+glueMLTransformInputRecordTables
+  :: GlueMLTransformInputRecordTables
+glueMLTransformInputRecordTables  =
+  GlueMLTransformInputRecordTables
+  { _glueMLTransformInputRecordTablesGlueTables = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html#cfn-glue-mltransform-inputrecordtables-gluetables
+gmltirtGlueTables :: Lens' GlueMLTransformInputRecordTables (Maybe [GlueMLTransformGlueTables])
+gmltirtGlueTables = lens _glueMLTransformInputRecordTablesGlueTables (\s a -> s { _glueMLTransformInputRecordTablesGlueTables = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueMLTransformTransformParameters.hs b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformTransformParameters.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueMLTransformTransformParameters.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html
+
+module Stratosphere.ResourceProperties.GlueMLTransformTransformParameters where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GlueMLTransformFindMatchesParameters
+
+-- | Full data type definition for GlueMLTransformTransformParameters. See
+-- 'glueMLTransformTransformParameters' for a more convenient constructor.
+data GlueMLTransformTransformParameters =
+  GlueMLTransformTransformParameters
+  { _glueMLTransformTransformParametersFindMatchesParameters :: Maybe GlueMLTransformFindMatchesParameters
+  , _glueMLTransformTransformParametersTransformType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GlueMLTransformTransformParameters where
+  toJSON GlueMLTransformTransformParameters{..} =
+    object $
+    catMaybes
+    [ fmap (("FindMatchesParameters",) . toJSON) _glueMLTransformTransformParametersFindMatchesParameters
+    , (Just . ("TransformType",) . toJSON) _glueMLTransformTransformParametersTransformType
+    ]
+
+-- | Constructor for 'GlueMLTransformTransformParameters' containing required
+-- fields as arguments.
+glueMLTransformTransformParameters
+  :: Val Text -- ^ 'gmlttpTransformType'
+  -> GlueMLTransformTransformParameters
+glueMLTransformTransformParameters transformTypearg =
+  GlueMLTransformTransformParameters
+  { _glueMLTransformTransformParametersFindMatchesParameters = Nothing
+  , _glueMLTransformTransformParametersTransformType = transformTypearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters
+gmlttpFindMatchesParameters :: Lens' GlueMLTransformTransformParameters (Maybe GlueMLTransformFindMatchesParameters)
+gmlttpFindMatchesParameters = lens _glueMLTransformTransformParametersFindMatchesParameters (\s a -> s { _glueMLTransformTransformParametersFindMatchesParameters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-transformtype
+gmlttpTransformType :: Lens' GlueMLTransformTransformParameters (Val Text)
+gmlttpTransformType = lens _glueMLTransformTransformParametersTransformType (\s a -> s { _glueMLTransformTransformParametersTransformType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationDataLakeSettingsDataLakePrincipal.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationDataLakeSettingsDataLakePrincipal.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationDataLakeSettingsDataLakePrincipal.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html
+
+module Stratosphere.ResourceProperties.LakeFormationDataLakeSettingsDataLakePrincipal where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- LakeFormationDataLakeSettingsDataLakePrincipal. See
+-- 'lakeFormationDataLakeSettingsDataLakePrincipal' for a more convenient
+-- constructor.
+data LakeFormationDataLakeSettingsDataLakePrincipal =
+  LakeFormationDataLakeSettingsDataLakePrincipal
+  { _lakeFormationDataLakeSettingsDataLakePrincipalDataLakePrincipalIdentifier :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationDataLakeSettingsDataLakePrincipal where
+  toJSON LakeFormationDataLakeSettingsDataLakePrincipal{..} =
+    object $
+    catMaybes
+    [ fmap (("DataLakePrincipalIdentifier",) . toJSON) _lakeFormationDataLakeSettingsDataLakePrincipalDataLakePrincipalIdentifier
+    ]
+
+-- | Constructor for 'LakeFormationDataLakeSettingsDataLakePrincipal'
+-- containing required fields as arguments.
+lakeFormationDataLakeSettingsDataLakePrincipal
+  :: LakeFormationDataLakeSettingsDataLakePrincipal
+lakeFormationDataLakeSettingsDataLakePrincipal  =
+  LakeFormationDataLakeSettingsDataLakePrincipal
+  { _lakeFormationDataLakeSettingsDataLakePrincipalDataLakePrincipalIdentifier = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html#cfn-lakeformation-datalakesettings-datalakeprincipal-datalakeprincipalidentifier
+lfdlsdlpDataLakePrincipalIdentifier :: Lens' LakeFormationDataLakeSettingsDataLakePrincipal (Maybe (Val Text))
+lfdlsdlpDataLakePrincipalIdentifier = lens _lakeFormationDataLakeSettingsDataLakePrincipalDataLakePrincipalIdentifier (\s a -> s { _lakeFormationDataLakeSettingsDataLakePrincipalDataLakePrincipalIdentifier = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDataLakePrincipal.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDataLakePrincipal.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDataLakePrincipal.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsDataLakePrincipal where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LakeFormationPermissionsDataLakePrincipal.
+-- See 'lakeFormationPermissionsDataLakePrincipal' for a more convenient
+-- constructor.
+data LakeFormationPermissionsDataLakePrincipal =
+  LakeFormationPermissionsDataLakePrincipal
+  { _lakeFormationPermissionsDataLakePrincipalDataLakePrincipalIdentifier :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsDataLakePrincipal where
+  toJSON LakeFormationPermissionsDataLakePrincipal{..} =
+    object $
+    catMaybes
+    [ fmap (("DataLakePrincipalIdentifier",) . toJSON) _lakeFormationPermissionsDataLakePrincipalDataLakePrincipalIdentifier
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsDataLakePrincipal' containing
+-- required fields as arguments.
+lakeFormationPermissionsDataLakePrincipal
+  :: LakeFormationPermissionsDataLakePrincipal
+lakeFormationPermissionsDataLakePrincipal  =
+  LakeFormationPermissionsDataLakePrincipal
+  { _lakeFormationPermissionsDataLakePrincipalDataLakePrincipalIdentifier = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html#cfn-lakeformation-permissions-datalakeprincipal-datalakeprincipalidentifier
+lfpdlpDataLakePrincipalIdentifier :: Lens' LakeFormationPermissionsDataLakePrincipal (Maybe (Val Text))
+lfpdlpDataLakePrincipalIdentifier = lens _lakeFormationPermissionsDataLakePrincipalDataLakePrincipalIdentifier (\s a -> s { _lakeFormationPermissionsDataLakePrincipalDataLakePrincipalIdentifier = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDatabaseResource.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDatabaseResource.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDatabaseResource.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LakeFormationPermissionsDatabaseResource.
+-- See 'lakeFormationPermissionsDatabaseResource' for a more convenient
+-- constructor.
+data LakeFormationPermissionsDatabaseResource =
+  LakeFormationPermissionsDatabaseResource
+  { _lakeFormationPermissionsDatabaseResourceName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsDatabaseResource where
+  toJSON LakeFormationPermissionsDatabaseResource{..} =
+    object $
+    catMaybes
+    [ fmap (("Name",) . toJSON) _lakeFormationPermissionsDatabaseResourceName
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsDatabaseResource' containing
+-- required fields as arguments.
+lakeFormationPermissionsDatabaseResource
+  :: LakeFormationPermissionsDatabaseResource
+lakeFormationPermissionsDatabaseResource  =
+  LakeFormationPermissionsDatabaseResource
+  { _lakeFormationPermissionsDatabaseResourceName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html#cfn-lakeformation-permissions-databaseresource-name
+lfpdrName :: Lens' LakeFormationPermissionsDatabaseResource (Maybe (Val Text))
+lfpdrName = lens _lakeFormationPermissionsDatabaseResourceName (\s a -> s { _lakeFormationPermissionsDatabaseResourceName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsResource where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource
+import Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource
+
+-- | Full data type definition for LakeFormationPermissionsResource. See
+-- 'lakeFormationPermissionsResource' for a more convenient constructor.
+data LakeFormationPermissionsResource =
+  LakeFormationPermissionsResource
+  { _lakeFormationPermissionsResourceDatabaseResource :: Maybe LakeFormationPermissionsDatabaseResource
+  , _lakeFormationPermissionsResourceTableResource :: Maybe LakeFormationPermissionsTableResource
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsResource where
+  toJSON LakeFormationPermissionsResource{..} =
+    object $
+    catMaybes
+    [ fmap (("DatabaseResource",) . toJSON) _lakeFormationPermissionsResourceDatabaseResource
+    , fmap (("TableResource",) . toJSON) _lakeFormationPermissionsResourceTableResource
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsResource' containing required
+-- fields as arguments.
+lakeFormationPermissionsResource
+  :: LakeFormationPermissionsResource
+lakeFormationPermissionsResource  =
+  LakeFormationPermissionsResource
+  { _lakeFormationPermissionsResourceDatabaseResource = Nothing
+  , _lakeFormationPermissionsResourceTableResource = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-databaseresource
+lfprDatabaseResource :: Lens' LakeFormationPermissionsResource (Maybe LakeFormationPermissionsDatabaseResource)
+lfprDatabaseResource = lens _lakeFormationPermissionsResourceDatabaseResource (\s a -> s { _lakeFormationPermissionsResourceDatabaseResource = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tableresource
+lfprTableResource :: Lens' LakeFormationPermissionsResource (Maybe LakeFormationPermissionsTableResource)
+lfprTableResource = lens _lakeFormationPermissionsResourceTableResource (\s a -> s { _lakeFormationPermissionsResourceTableResource = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableResource.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableResource.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableResource.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LakeFormationPermissionsTableResource. See
+-- 'lakeFormationPermissionsTableResource' for a more convenient
+-- constructor.
+data LakeFormationPermissionsTableResource =
+  LakeFormationPermissionsTableResource
+  { _lakeFormationPermissionsTableResourceDatabaseName :: Maybe (Val Text)
+  , _lakeFormationPermissionsTableResourceName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsTableResource where
+  toJSON LakeFormationPermissionsTableResource{..} =
+    object $
+    catMaybes
+    [ fmap (("DatabaseName",) . toJSON) _lakeFormationPermissionsTableResourceDatabaseName
+    , fmap (("Name",) . toJSON) _lakeFormationPermissionsTableResourceName
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsTableResource' containing
+-- required fields as arguments.
+lakeFormationPermissionsTableResource
+  :: LakeFormationPermissionsTableResource
+lakeFormationPermissionsTableResource  =
+  LakeFormationPermissionsTableResource
+  { _lakeFormationPermissionsTableResourceDatabaseName = Nothing
+  , _lakeFormationPermissionsTableResourceName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-databasename
+lfptrDatabaseName :: Lens' LakeFormationPermissionsTableResource (Maybe (Val Text))
+lfptrDatabaseName = lens _lakeFormationPermissionsTableResourceDatabaseName (\s a -> s { _lakeFormationPermissionsTableResourceDatabaseName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-name
+lfptrName :: Lens' LakeFormationPermissionsTableResource (Maybe (Val Text))
+lfptrName = lens _lakeFormationPermissionsTableResourceName (\s a -> s { _lakeFormationPermissionsTableResourceName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberApprovalThresholdPolicy.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberApprovalThresholdPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberApprovalThresholdPolicy.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ManagedBlockchainMemberApprovalThresholdPolicy. See
+-- 'managedBlockchainMemberApprovalThresholdPolicy' for a more convenient
+-- constructor.
+data ManagedBlockchainMemberApprovalThresholdPolicy =
+  ManagedBlockchainMemberApprovalThresholdPolicy
+  { _managedBlockchainMemberApprovalThresholdPolicyProposalDurationInHours :: Maybe (Val Integer)
+  , _managedBlockchainMemberApprovalThresholdPolicyThresholdComparator :: Maybe (Val Text)
+  , _managedBlockchainMemberApprovalThresholdPolicyThresholdPercentage :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberApprovalThresholdPolicy where
+  toJSON ManagedBlockchainMemberApprovalThresholdPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("ProposalDurationInHours",) . toJSON) _managedBlockchainMemberApprovalThresholdPolicyProposalDurationInHours
+    , fmap (("ThresholdComparator",) . toJSON) _managedBlockchainMemberApprovalThresholdPolicyThresholdComparator
+    , fmap (("ThresholdPercentage",) . toJSON) _managedBlockchainMemberApprovalThresholdPolicyThresholdPercentage
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberApprovalThresholdPolicy'
+-- containing required fields as arguments.
+managedBlockchainMemberApprovalThresholdPolicy
+  :: ManagedBlockchainMemberApprovalThresholdPolicy
+managedBlockchainMemberApprovalThresholdPolicy  =
+  ManagedBlockchainMemberApprovalThresholdPolicy
+  { _managedBlockchainMemberApprovalThresholdPolicyProposalDurationInHours = Nothing
+  , _managedBlockchainMemberApprovalThresholdPolicyThresholdComparator = Nothing
+  , _managedBlockchainMemberApprovalThresholdPolicyThresholdPercentage = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-proposaldurationinhours
+mbmatpProposalDurationInHours :: Lens' ManagedBlockchainMemberApprovalThresholdPolicy (Maybe (Val Integer))
+mbmatpProposalDurationInHours = lens _managedBlockchainMemberApprovalThresholdPolicyProposalDurationInHours (\s a -> s { _managedBlockchainMemberApprovalThresholdPolicyProposalDurationInHours = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-thresholdcomparator
+mbmatpThresholdComparator :: Lens' ManagedBlockchainMemberApprovalThresholdPolicy (Maybe (Val Text))
+mbmatpThresholdComparator = lens _managedBlockchainMemberApprovalThresholdPolicyThresholdComparator (\s a -> s { _managedBlockchainMemberApprovalThresholdPolicyThresholdComparator = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-thresholdpercentage
+mbmatpThresholdPercentage :: Lens' ManagedBlockchainMemberApprovalThresholdPolicy (Maybe (Val Integer))
+mbmatpThresholdPercentage = lens _managedBlockchainMemberApprovalThresholdPolicyThresholdPercentage (\s a -> s { _managedBlockchainMemberApprovalThresholdPolicyThresholdPercentage = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberConfiguration.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFrameworkConfiguration
+
+-- | Full data type definition for ManagedBlockchainMemberMemberConfiguration.
+-- See 'managedBlockchainMemberMemberConfiguration' for a more convenient
+-- constructor.
+data ManagedBlockchainMemberMemberConfiguration =
+  ManagedBlockchainMemberMemberConfiguration
+  { _managedBlockchainMemberMemberConfigurationDescription :: Maybe (Val Text)
+  , _managedBlockchainMemberMemberConfigurationMemberFrameworkConfiguration :: Maybe ManagedBlockchainMemberMemberFrameworkConfiguration
+  , _managedBlockchainMemberMemberConfigurationName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberMemberConfiguration where
+  toJSON ManagedBlockchainMemberMemberConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Description",) . toJSON) _managedBlockchainMemberMemberConfigurationDescription
+    , fmap (("MemberFrameworkConfiguration",) . toJSON) _managedBlockchainMemberMemberConfigurationMemberFrameworkConfiguration
+    , (Just . ("Name",) . toJSON) _managedBlockchainMemberMemberConfigurationName
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberMemberConfiguration' containing
+-- required fields as arguments.
+managedBlockchainMemberMemberConfiguration
+  :: Val Text -- ^ 'mbmmcName'
+  -> ManagedBlockchainMemberMemberConfiguration
+managedBlockchainMemberMemberConfiguration namearg =
+  ManagedBlockchainMemberMemberConfiguration
+  { _managedBlockchainMemberMemberConfigurationDescription = Nothing
+  , _managedBlockchainMemberMemberConfigurationMemberFrameworkConfiguration = Nothing
+  , _managedBlockchainMemberMemberConfigurationName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-description
+mbmmcDescription :: Lens' ManagedBlockchainMemberMemberConfiguration (Maybe (Val Text))
+mbmmcDescription = lens _managedBlockchainMemberMemberConfigurationDescription (\s a -> s { _managedBlockchainMemberMemberConfigurationDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-memberframeworkconfiguration
+mbmmcMemberFrameworkConfiguration :: Lens' ManagedBlockchainMemberMemberConfiguration (Maybe ManagedBlockchainMemberMemberFrameworkConfiguration)
+mbmmcMemberFrameworkConfiguration = lens _managedBlockchainMemberMemberConfigurationMemberFrameworkConfiguration (\s a -> s { _managedBlockchainMemberMemberConfigurationMemberFrameworkConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-name
+mbmmcName :: Lens' ManagedBlockchainMemberMemberConfiguration (Val Text)
+mbmmcName = lens _managedBlockchainMemberMemberConfigurationName (\s a -> s { _managedBlockchainMemberMemberConfigurationName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberFabricConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberFabricConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberFabricConfiguration.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFabricConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ManagedBlockchainMemberMemberFabricConfiguration. See
+-- 'managedBlockchainMemberMemberFabricConfiguration' for a more convenient
+-- constructor.
+data ManagedBlockchainMemberMemberFabricConfiguration =
+  ManagedBlockchainMemberMemberFabricConfiguration
+  { _managedBlockchainMemberMemberFabricConfigurationAdminPassword :: Val Text
+  , _managedBlockchainMemberMemberFabricConfigurationAdminUsername :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberMemberFabricConfiguration where
+  toJSON ManagedBlockchainMemberMemberFabricConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("AdminPassword",) . toJSON) _managedBlockchainMemberMemberFabricConfigurationAdminPassword
+    , (Just . ("AdminUsername",) . toJSON) _managedBlockchainMemberMemberFabricConfigurationAdminUsername
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberMemberFabricConfiguration'
+-- containing required fields as arguments.
+managedBlockchainMemberMemberFabricConfiguration
+  :: Val Text -- ^ 'mbmmfcAdminPassword'
+  -> Val Text -- ^ 'mbmmfcAdminUsername'
+  -> ManagedBlockchainMemberMemberFabricConfiguration
+managedBlockchainMemberMemberFabricConfiguration adminPasswordarg adminUsernamearg =
+  ManagedBlockchainMemberMemberFabricConfiguration
+  { _managedBlockchainMemberMemberFabricConfigurationAdminPassword = adminPasswordarg
+  , _managedBlockchainMemberMemberFabricConfigurationAdminUsername = adminUsernamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html#cfn-managedblockchain-member-memberfabricconfiguration-adminpassword
+mbmmfcAdminPassword :: Lens' ManagedBlockchainMemberMemberFabricConfiguration (Val Text)
+mbmmfcAdminPassword = lens _managedBlockchainMemberMemberFabricConfigurationAdminPassword (\s a -> s { _managedBlockchainMemberMemberFabricConfigurationAdminPassword = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html#cfn-managedblockchain-member-memberfabricconfiguration-adminusername
+mbmmfcAdminUsername :: Lens' ManagedBlockchainMemberMemberFabricConfiguration (Val Text)
+mbmmfcAdminUsername = lens _managedBlockchainMemberMemberFabricConfigurationAdminUsername (\s a -> s { _managedBlockchainMemberMemberFabricConfigurationAdminUsername = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberFrameworkConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberFrameworkConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberMemberFrameworkConfiguration.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFrameworkConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFabricConfiguration
+
+-- | Full data type definition for
+-- ManagedBlockchainMemberMemberFrameworkConfiguration. See
+-- 'managedBlockchainMemberMemberFrameworkConfiguration' for a more
+-- convenient constructor.
+data ManagedBlockchainMemberMemberFrameworkConfiguration =
+  ManagedBlockchainMemberMemberFrameworkConfiguration
+  { _managedBlockchainMemberMemberFrameworkConfigurationMemberFabricConfiguration :: Maybe ManagedBlockchainMemberMemberFabricConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberMemberFrameworkConfiguration where
+  toJSON ManagedBlockchainMemberMemberFrameworkConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("MemberFabricConfiguration",) . toJSON) _managedBlockchainMemberMemberFrameworkConfigurationMemberFabricConfiguration
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberMemberFrameworkConfiguration'
+-- containing required fields as arguments.
+managedBlockchainMemberMemberFrameworkConfiguration
+  :: ManagedBlockchainMemberMemberFrameworkConfiguration
+managedBlockchainMemberMemberFrameworkConfiguration  =
+  ManagedBlockchainMemberMemberFrameworkConfiguration
+  { _managedBlockchainMemberMemberFrameworkConfigurationMemberFabricConfiguration = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html#cfn-managedblockchain-member-memberframeworkconfiguration-memberfabricconfiguration
+mbmmfcMemberFabricConfiguration :: Lens' ManagedBlockchainMemberMemberFrameworkConfiguration (Maybe ManagedBlockchainMemberMemberFabricConfiguration)
+mbmmfcMemberFabricConfiguration = lens _managedBlockchainMemberMemberFrameworkConfigurationMemberFabricConfiguration (\s a -> s { _managedBlockchainMemberMemberFrameworkConfigurationMemberFabricConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkConfiguration.hs
@@ -0,0 +1,80 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFrameworkConfiguration
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy
+
+-- | Full data type definition for
+-- ManagedBlockchainMemberNetworkConfiguration. See
+-- 'managedBlockchainMemberNetworkConfiguration' for a more convenient
+-- constructor.
+data ManagedBlockchainMemberNetworkConfiguration =
+  ManagedBlockchainMemberNetworkConfiguration
+  { _managedBlockchainMemberNetworkConfigurationDescription :: Maybe (Val Text)
+  , _managedBlockchainMemberNetworkConfigurationFramework :: Val Text
+  , _managedBlockchainMemberNetworkConfigurationFrameworkVersion :: Val Text
+  , _managedBlockchainMemberNetworkConfigurationName :: Val Text
+  , _managedBlockchainMemberNetworkConfigurationNetworkFrameworkConfiguration :: Maybe ManagedBlockchainMemberNetworkFrameworkConfiguration
+  , _managedBlockchainMemberNetworkConfigurationVotingPolicy :: ManagedBlockchainMemberVotingPolicy
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberNetworkConfiguration where
+  toJSON ManagedBlockchainMemberNetworkConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Description",) . toJSON) _managedBlockchainMemberNetworkConfigurationDescription
+    , (Just . ("Framework",) . toJSON) _managedBlockchainMemberNetworkConfigurationFramework
+    , (Just . ("FrameworkVersion",) . toJSON) _managedBlockchainMemberNetworkConfigurationFrameworkVersion
+    , (Just . ("Name",) . toJSON) _managedBlockchainMemberNetworkConfigurationName
+    , fmap (("NetworkFrameworkConfiguration",) . toJSON) _managedBlockchainMemberNetworkConfigurationNetworkFrameworkConfiguration
+    , (Just . ("VotingPolicy",) . toJSON) _managedBlockchainMemberNetworkConfigurationVotingPolicy
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberNetworkConfiguration' containing
+-- required fields as arguments.
+managedBlockchainMemberNetworkConfiguration
+  :: Val Text -- ^ 'mbmncFramework'
+  -> Val Text -- ^ 'mbmncFrameworkVersion'
+  -> Val Text -- ^ 'mbmncName'
+  -> ManagedBlockchainMemberVotingPolicy -- ^ 'mbmncVotingPolicy'
+  -> ManagedBlockchainMemberNetworkConfiguration
+managedBlockchainMemberNetworkConfiguration frameworkarg frameworkVersionarg namearg votingPolicyarg =
+  ManagedBlockchainMemberNetworkConfiguration
+  { _managedBlockchainMemberNetworkConfigurationDescription = Nothing
+  , _managedBlockchainMemberNetworkConfigurationFramework = frameworkarg
+  , _managedBlockchainMemberNetworkConfigurationFrameworkVersion = frameworkVersionarg
+  , _managedBlockchainMemberNetworkConfigurationName = namearg
+  , _managedBlockchainMemberNetworkConfigurationNetworkFrameworkConfiguration = Nothing
+  , _managedBlockchainMemberNetworkConfigurationVotingPolicy = votingPolicyarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-description
+mbmncDescription :: Lens' ManagedBlockchainMemberNetworkConfiguration (Maybe (Val Text))
+mbmncDescription = lens _managedBlockchainMemberNetworkConfigurationDescription (\s a -> s { _managedBlockchainMemberNetworkConfigurationDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-framework
+mbmncFramework :: Lens' ManagedBlockchainMemberNetworkConfiguration (Val Text)
+mbmncFramework = lens _managedBlockchainMemberNetworkConfigurationFramework (\s a -> s { _managedBlockchainMemberNetworkConfigurationFramework = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-frameworkversion
+mbmncFrameworkVersion :: Lens' ManagedBlockchainMemberNetworkConfiguration (Val Text)
+mbmncFrameworkVersion = lens _managedBlockchainMemberNetworkConfigurationFrameworkVersion (\s a -> s { _managedBlockchainMemberNetworkConfigurationFrameworkVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-name
+mbmncName :: Lens' ManagedBlockchainMemberNetworkConfiguration (Val Text)
+mbmncName = lens _managedBlockchainMemberNetworkConfigurationName (\s a -> s { _managedBlockchainMemberNetworkConfigurationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-networkframeworkconfiguration
+mbmncNetworkFrameworkConfiguration :: Lens' ManagedBlockchainMemberNetworkConfiguration (Maybe ManagedBlockchainMemberNetworkFrameworkConfiguration)
+mbmncNetworkFrameworkConfiguration = lens _managedBlockchainMemberNetworkConfigurationNetworkFrameworkConfiguration (\s a -> s { _managedBlockchainMemberNetworkConfigurationNetworkFrameworkConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-votingpolicy
+mbmncVotingPolicy :: Lens' ManagedBlockchainMemberNetworkConfiguration ManagedBlockchainMemberVotingPolicy
+mbmncVotingPolicy = lens _managedBlockchainMemberNetworkConfigurationVotingPolicy (\s a -> s { _managedBlockchainMemberNetworkConfigurationVotingPolicy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkFabricConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkFabricConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkFabricConfiguration.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkfabricconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFabricConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ManagedBlockchainMemberNetworkFabricConfiguration. See
+-- 'managedBlockchainMemberNetworkFabricConfiguration' for a more convenient
+-- constructor.
+data ManagedBlockchainMemberNetworkFabricConfiguration =
+  ManagedBlockchainMemberNetworkFabricConfiguration
+  { _managedBlockchainMemberNetworkFabricConfigurationEdition :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberNetworkFabricConfiguration where
+  toJSON ManagedBlockchainMemberNetworkFabricConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("Edition",) . toJSON) _managedBlockchainMemberNetworkFabricConfigurationEdition
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberNetworkFabricConfiguration'
+-- containing required fields as arguments.
+managedBlockchainMemberNetworkFabricConfiguration
+  :: Val Text -- ^ 'mbmnfcEdition'
+  -> ManagedBlockchainMemberNetworkFabricConfiguration
+managedBlockchainMemberNetworkFabricConfiguration editionarg =
+  ManagedBlockchainMemberNetworkFabricConfiguration
+  { _managedBlockchainMemberNetworkFabricConfigurationEdition = editionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkfabricconfiguration.html#cfn-managedblockchain-member-networkfabricconfiguration-edition
+mbmnfcEdition :: Lens' ManagedBlockchainMemberNetworkFabricConfiguration (Val Text)
+mbmnfcEdition = lens _managedBlockchainMemberNetworkFabricConfigurationEdition (\s a -> s { _managedBlockchainMemberNetworkFabricConfigurationEdition = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkFrameworkConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkFrameworkConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberNetworkFrameworkConfiguration.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFrameworkConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFabricConfiguration
+
+-- | Full data type definition for
+-- ManagedBlockchainMemberNetworkFrameworkConfiguration. See
+-- 'managedBlockchainMemberNetworkFrameworkConfiguration' for a more
+-- convenient constructor.
+data ManagedBlockchainMemberNetworkFrameworkConfiguration =
+  ManagedBlockchainMemberNetworkFrameworkConfiguration
+  { _managedBlockchainMemberNetworkFrameworkConfigurationNetworkFabricConfiguration :: Maybe ManagedBlockchainMemberNetworkFabricConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberNetworkFrameworkConfiguration where
+  toJSON ManagedBlockchainMemberNetworkFrameworkConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("NetworkFabricConfiguration",) . toJSON) _managedBlockchainMemberNetworkFrameworkConfigurationNetworkFabricConfiguration
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberNetworkFrameworkConfiguration'
+-- containing required fields as arguments.
+managedBlockchainMemberNetworkFrameworkConfiguration
+  :: ManagedBlockchainMemberNetworkFrameworkConfiguration
+managedBlockchainMemberNetworkFrameworkConfiguration  =
+  ManagedBlockchainMemberNetworkFrameworkConfiguration
+  { _managedBlockchainMemberNetworkFrameworkConfigurationNetworkFabricConfiguration = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html#cfn-managedblockchain-member-networkframeworkconfiguration-networkfabricconfiguration
+mbmnfcNetworkFabricConfiguration :: Lens' ManagedBlockchainMemberNetworkFrameworkConfiguration (Maybe ManagedBlockchainMemberNetworkFabricConfiguration)
+mbmnfcNetworkFabricConfiguration = lens _managedBlockchainMemberNetworkFrameworkConfigurationNetworkFabricConfiguration (\s a -> s { _managedBlockchainMemberNetworkFrameworkConfigurationNetworkFabricConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberVotingPolicy.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberVotingPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainMemberVotingPolicy.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy
+
+-- | Full data type definition for ManagedBlockchainMemberVotingPolicy. See
+-- 'managedBlockchainMemberVotingPolicy' for a more convenient constructor.
+data ManagedBlockchainMemberVotingPolicy =
+  ManagedBlockchainMemberVotingPolicy
+  { _managedBlockchainMemberVotingPolicyApprovalThresholdPolicy :: Maybe ManagedBlockchainMemberApprovalThresholdPolicy
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainMemberVotingPolicy where
+  toJSON ManagedBlockchainMemberVotingPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("ApprovalThresholdPolicy",) . toJSON) _managedBlockchainMemberVotingPolicyApprovalThresholdPolicy
+    ]
+
+-- | Constructor for 'ManagedBlockchainMemberVotingPolicy' containing required
+-- fields as arguments.
+managedBlockchainMemberVotingPolicy
+  :: ManagedBlockchainMemberVotingPolicy
+managedBlockchainMemberVotingPolicy  =
+  ManagedBlockchainMemberVotingPolicy
+  { _managedBlockchainMemberVotingPolicyApprovalThresholdPolicy = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html#cfn-managedblockchain-member-votingpolicy-approvalthresholdpolicy
+mbmvpApprovalThresholdPolicy :: Lens' ManagedBlockchainMemberVotingPolicy (Maybe ManagedBlockchainMemberApprovalThresholdPolicy)
+mbmvpApprovalThresholdPolicy = lens _managedBlockchainMemberVotingPolicyApprovalThresholdPolicy (\s a -> s { _managedBlockchainMemberVotingPolicyApprovalThresholdPolicy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainNodeNodeConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainNodeNodeConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ManagedBlockchainNodeNodeConfiguration.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html
+
+module Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ManagedBlockchainNodeNodeConfiguration. See
+-- 'managedBlockchainNodeNodeConfiguration' for a more convenient
+-- constructor.
+data ManagedBlockchainNodeNodeConfiguration =
+  ManagedBlockchainNodeNodeConfiguration
+  { _managedBlockchainNodeNodeConfigurationAvailabilityZone :: Val Text
+  , _managedBlockchainNodeNodeConfigurationInstanceType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON ManagedBlockchainNodeNodeConfiguration where
+  toJSON ManagedBlockchainNodeNodeConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("AvailabilityZone",) . toJSON) _managedBlockchainNodeNodeConfigurationAvailabilityZone
+    , (Just . ("InstanceType",) . toJSON) _managedBlockchainNodeNodeConfigurationInstanceType
+    ]
+
+-- | Constructor for 'ManagedBlockchainNodeNodeConfiguration' containing
+-- required fields as arguments.
+managedBlockchainNodeNodeConfiguration
+  :: Val Text -- ^ 'mbnncAvailabilityZone'
+  -> Val Text -- ^ 'mbnncInstanceType'
+  -> ManagedBlockchainNodeNodeConfiguration
+managedBlockchainNodeNodeConfiguration availabilityZonearg instanceTypearg =
+  ManagedBlockchainNodeNodeConfiguration
+  { _managedBlockchainNodeNodeConfigurationAvailabilityZone = availabilityZonearg
+  , _managedBlockchainNodeNodeConfigurationInstanceType = instanceTypearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html#cfn-managedblockchain-node-nodeconfiguration-availabilityzone
+mbnncAvailabilityZone :: Lens' ManagedBlockchainNodeNodeConfiguration (Val Text)
+mbnncAvailabilityZone = lens _managedBlockchainNodeNodeConfigurationAvailabilityZone (\s a -> s { _managedBlockchainNodeNodeConfigurationAvailabilityZone = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html#cfn-managedblockchain-node-nodeconfiguration-instancetype
+mbnncInstanceType :: Lens' ManagedBlockchainNodeNodeConfiguration (Val Text)
+mbnncInstanceType = lens _managedBlockchainNodeNodeConfigurationInstanceType (\s a -> s { _managedBlockchainNodeNodeConfigurationInstanceType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html
+
+module Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for RDSDBClusterDBClusterRole. See
+-- 'rdsdbClusterDBClusterRole' for a more convenient constructor.
+data RDSDBClusterDBClusterRole =
+  RDSDBClusterDBClusterRole
+  { _rDSDBClusterDBClusterRoleFeatureName :: Maybe (Val Text)
+  , _rDSDBClusterDBClusterRoleRoleArn :: Val Text
+  , _rDSDBClusterDBClusterRoleStatus :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON RDSDBClusterDBClusterRole where
+  toJSON RDSDBClusterDBClusterRole{..} =
+    object $
+    catMaybes
+    [ fmap (("FeatureName",) . toJSON) _rDSDBClusterDBClusterRoleFeatureName
+    , (Just . ("RoleArn",) . toJSON) _rDSDBClusterDBClusterRoleRoleArn
+    , fmap (("Status",) . toJSON) _rDSDBClusterDBClusterRoleStatus
+    ]
+
+-- | Constructor for 'RDSDBClusterDBClusterRole' containing required fields as
+-- arguments.
+rdsdbClusterDBClusterRole
+  :: Val Text -- ^ 'rdsdbcdbcrRoleArn'
+  -> RDSDBClusterDBClusterRole
+rdsdbClusterDBClusterRole roleArnarg =
+  RDSDBClusterDBClusterRole
+  { _rDSDBClusterDBClusterRoleFeatureName = Nothing
+  , _rDSDBClusterDBClusterRoleRoleArn = roleArnarg
+  , _rDSDBClusterDBClusterRoleStatus = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-featurename
+rdsdbcdbcrFeatureName :: Lens' RDSDBClusterDBClusterRole (Maybe (Val Text))
+rdsdbcdbcrFeatureName = lens _rDSDBClusterDBClusterRoleFeatureName (\s a -> s { _rDSDBClusterDBClusterRoleFeatureName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-rolearn
+rdsdbcdbcrRoleArn :: Lens' RDSDBClusterDBClusterRole (Val Text)
+rdsdbcdbcrRoleArn = lens _rDSDBClusterDBClusterRoleRoleArn (\s a -> s { _rDSDBClusterDBClusterRoleRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-status
+rdsdbcdbcrStatus :: Lens' RDSDBClusterDBClusterRole (Maybe (Val Text))
+rdsdbcdbcrStatus = lens _rDSDBClusterDBClusterRoleStatus (\s a -> s { _rDSDBClusterDBClusterRoleStatus = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html
+
+module Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for RDSDBInstanceDBInstanceRole. See
+-- 'rdsdbInstanceDBInstanceRole' for a more convenient constructor.
+data RDSDBInstanceDBInstanceRole =
+  RDSDBInstanceDBInstanceRole
+  { _rDSDBInstanceDBInstanceRoleFeatureName :: Val Text
+  , _rDSDBInstanceDBInstanceRoleRoleArn :: Val Text
+  , _rDSDBInstanceDBInstanceRoleStatus :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON RDSDBInstanceDBInstanceRole where
+  toJSON RDSDBInstanceDBInstanceRole{..} =
+    object $
+    catMaybes
+    [ (Just . ("FeatureName",) . toJSON) _rDSDBInstanceDBInstanceRoleFeatureName
+    , (Just . ("RoleArn",) . toJSON) _rDSDBInstanceDBInstanceRoleRoleArn
+    , fmap (("Status",) . toJSON) _rDSDBInstanceDBInstanceRoleStatus
+    ]
+
+-- | Constructor for 'RDSDBInstanceDBInstanceRole' containing required fields
+-- as arguments.
+rdsdbInstanceDBInstanceRole
+  :: Val Text -- ^ 'rdsdbidbirFeatureName'
+  -> Val Text -- ^ 'rdsdbidbirRoleArn'
+  -> RDSDBInstanceDBInstanceRole
+rdsdbInstanceDBInstanceRole featureNamearg roleArnarg =
+  RDSDBInstanceDBInstanceRole
+  { _rDSDBInstanceDBInstanceRoleFeatureName = featureNamearg
+  , _rDSDBInstanceDBInstanceRoleRoleArn = roleArnarg
+  , _rDSDBInstanceDBInstanceRoleStatus = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-featurename
+rdsdbidbirFeatureName :: Lens' RDSDBInstanceDBInstanceRole (Val Text)
+rdsdbidbirFeatureName = lens _rDSDBInstanceDBInstanceRoleFeatureName (\s a -> s { _rDSDBInstanceDBInstanceRoleFeatureName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-rolearn
+rdsdbidbirRoleArn :: Lens' RDSDBInstanceDBInstanceRole (Val Text)
+rdsdbidbirRoleArn = lens _rDSDBInstanceDBInstanceRoleRoleArn (\s a -> s { _rDSDBInstanceDBInstanceRoleRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-status
+rdsdbidbirStatus :: Lens' RDSDBInstanceDBInstanceRole (Maybe (Val Text))
+rdsdbidbirStatus = lens _rDSDBInstanceDBInstanceRoleStatus (\s a -> s { _rDSDBInstanceDBInstanceRoleStatus = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTargetTargets.hs b/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTargetTargets.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTargetTargets.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html
+
+module Stratosphere.ResourceProperties.SSMMaintenanceWindowTargetTargets where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SSMMaintenanceWindowTargetTargets. See
+-- 'ssmMaintenanceWindowTargetTargets' for a more convenient constructor.
+data SSMMaintenanceWindowTargetTargets =
+  SSMMaintenanceWindowTargetTargets
+  { _sSMMaintenanceWindowTargetTargetsKey :: Val Text
+  , _sSMMaintenanceWindowTargetTargetsValues :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON SSMMaintenanceWindowTargetTargets where
+  toJSON SSMMaintenanceWindowTargetTargets{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _sSMMaintenanceWindowTargetTargetsKey
+    , fmap (("Values",) . toJSON) _sSMMaintenanceWindowTargetTargetsValues
+    ]
+
+-- | Constructor for 'SSMMaintenanceWindowTargetTargets' containing required
+-- fields as arguments.
+ssmMaintenanceWindowTargetTargets
+  :: Val Text -- ^ 'ssmmwtartKey'
+  -> SSMMaintenanceWindowTargetTargets
+ssmMaintenanceWindowTargetTargets keyarg =
+  SSMMaintenanceWindowTargetTargets
+  { _sSMMaintenanceWindowTargetTargetsKey = keyarg
+  , _sSMMaintenanceWindowTargetTargetsValues = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-key
+ssmmwtartKey :: Lens' SSMMaintenanceWindowTargetTargets (Val Text)
+ssmmwtartKey = lens _sSMMaintenanceWindowTargetTargetsKey (\s a -> s { _sSMMaintenanceWindowTargetTargetsKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-values
+ssmmwtartValues :: Lens' SSMMaintenanceWindowTargetTargets (Maybe (ValList Text))
+ssmmwtartValues = lens _sSMMaintenanceWindowTargetTargetsValues (\s a -> s { _sSMMaintenanceWindowTargetTargetsValues = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskTarget.hs b/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskTarget.hs
@@ -29,7 +29,7 @@
 -- | Constructor for 'SSMMaintenanceWindowTaskTarget' containing required
 -- fields as arguments.
 ssmMaintenanceWindowTaskTarget
-  :: Val Text -- ^ 'ssmmwttKey'
+  :: Val Text -- ^ 'ssmmwtastKey'
   -> SSMMaintenanceWindowTaskTarget
 ssmMaintenanceWindowTaskTarget keyarg =
   SSMMaintenanceWindowTaskTarget
@@ -38,9 +38,9 @@
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-key
-ssmmwttKey :: Lens' SSMMaintenanceWindowTaskTarget (Val Text)
-ssmmwttKey = lens _sSMMaintenanceWindowTaskTargetKey (\s a -> s { _sSMMaintenanceWindowTaskTargetKey = a })
+ssmmwtastKey :: Lens' SSMMaintenanceWindowTaskTarget (Val Text)
+ssmmwtastKey = lens _sSMMaintenanceWindowTaskTargetKey (\s a -> s { _sSMMaintenanceWindowTaskTargetKey = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-values
-ssmmwttValues :: Lens' SSMMaintenanceWindowTaskTarget (Maybe (ValList Text))
-ssmmwttValues = lens _sSMMaintenanceWindowTaskTargetValues (\s a -> s { _sSMMaintenanceWindowTaskTargetValues = a })
+ssmmwtastValues :: Lens' SSMMaintenanceWindowTaskTarget (Maybe (ValList Text))
+ssmmwtastValues = lens _sSMMaintenanceWindowTaskTargetValues (\s a -> s { _sSMMaintenanceWindowTaskTargetValues = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamCognitoMemberDefinition.hs b/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamCognitoMemberDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamCognitoMemberDefinition.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html
+
+module Stratosphere.ResourceProperties.SageMakerWorkteamCognitoMemberDefinition where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SageMakerWorkteamCognitoMemberDefinition.
+-- See 'sageMakerWorkteamCognitoMemberDefinition' for a more convenient
+-- constructor.
+data SageMakerWorkteamCognitoMemberDefinition =
+  SageMakerWorkteamCognitoMemberDefinition
+  { _sageMakerWorkteamCognitoMemberDefinitionCognitoClientId :: Val Text
+  , _sageMakerWorkteamCognitoMemberDefinitionCognitoUserGroup :: Val Text
+  , _sageMakerWorkteamCognitoMemberDefinitionCognitoUserPool :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON SageMakerWorkteamCognitoMemberDefinition where
+  toJSON SageMakerWorkteamCognitoMemberDefinition{..} =
+    object $
+    catMaybes
+    [ (Just . ("CognitoClientId",) . toJSON) _sageMakerWorkteamCognitoMemberDefinitionCognitoClientId
+    , (Just . ("CognitoUserGroup",) . toJSON) _sageMakerWorkteamCognitoMemberDefinitionCognitoUserGroup
+    , (Just . ("CognitoUserPool",) . toJSON) _sageMakerWorkteamCognitoMemberDefinitionCognitoUserPool
+    ]
+
+-- | Constructor for 'SageMakerWorkteamCognitoMemberDefinition' containing
+-- required fields as arguments.
+sageMakerWorkteamCognitoMemberDefinition
+  :: Val Text -- ^ 'smwcmdCognitoClientId'
+  -> Val Text -- ^ 'smwcmdCognitoUserGroup'
+  -> Val Text -- ^ 'smwcmdCognitoUserPool'
+  -> SageMakerWorkteamCognitoMemberDefinition
+sageMakerWorkteamCognitoMemberDefinition cognitoClientIdarg cognitoUserGrouparg cognitoUserPoolarg =
+  SageMakerWorkteamCognitoMemberDefinition
+  { _sageMakerWorkteamCognitoMemberDefinitionCognitoClientId = cognitoClientIdarg
+  , _sageMakerWorkteamCognitoMemberDefinitionCognitoUserGroup = cognitoUserGrouparg
+  , _sageMakerWorkteamCognitoMemberDefinitionCognitoUserPool = cognitoUserPoolarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html#cfn-sagemaker-workteam-cognitomemberdefinition-cognitoclientid
+smwcmdCognitoClientId :: Lens' SageMakerWorkteamCognitoMemberDefinition (Val Text)
+smwcmdCognitoClientId = lens _sageMakerWorkteamCognitoMemberDefinitionCognitoClientId (\s a -> s { _sageMakerWorkteamCognitoMemberDefinitionCognitoClientId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html#cfn-sagemaker-workteam-cognitomemberdefinition-cognitousergroup
+smwcmdCognitoUserGroup :: Lens' SageMakerWorkteamCognitoMemberDefinition (Val Text)
+smwcmdCognitoUserGroup = lens _sageMakerWorkteamCognitoMemberDefinitionCognitoUserGroup (\s a -> s { _sageMakerWorkteamCognitoMemberDefinitionCognitoUserGroup = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html#cfn-sagemaker-workteam-cognitomemberdefinition-cognitouserpool
+smwcmdCognitoUserPool :: Lens' SageMakerWorkteamCognitoMemberDefinition (Val Text)
+smwcmdCognitoUserPool = lens _sageMakerWorkteamCognitoMemberDefinitionCognitoUserPool (\s a -> s { _sageMakerWorkteamCognitoMemberDefinitionCognitoUserPool = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamMemberDefinition.hs b/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamMemberDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamMemberDefinition.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html
+
+module Stratosphere.ResourceProperties.SageMakerWorkteamMemberDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.SageMakerWorkteamCognitoMemberDefinition
+
+-- | Full data type definition for SageMakerWorkteamMemberDefinition. See
+-- 'sageMakerWorkteamMemberDefinition' for a more convenient constructor.
+data SageMakerWorkteamMemberDefinition =
+  SageMakerWorkteamMemberDefinition
+  { _sageMakerWorkteamMemberDefinitionCognitoMemberDefinition :: SageMakerWorkteamCognitoMemberDefinition
+  } deriving (Show, Eq)
+
+instance ToJSON SageMakerWorkteamMemberDefinition where
+  toJSON SageMakerWorkteamMemberDefinition{..} =
+    object $
+    catMaybes
+    [ (Just . ("CognitoMemberDefinition",) . toJSON) _sageMakerWorkteamMemberDefinitionCognitoMemberDefinition
+    ]
+
+-- | Constructor for 'SageMakerWorkteamMemberDefinition' containing required
+-- fields as arguments.
+sageMakerWorkteamMemberDefinition
+  :: SageMakerWorkteamCognitoMemberDefinition -- ^ 'smwmdCognitoMemberDefinition'
+  -> SageMakerWorkteamMemberDefinition
+sageMakerWorkteamMemberDefinition cognitoMemberDefinitionarg =
+  SageMakerWorkteamMemberDefinition
+  { _sageMakerWorkteamMemberDefinitionCognitoMemberDefinition = cognitoMemberDefinitionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html#cfn-sagemaker-workteam-memberdefinition-cognitomemberdefinition
+smwmdCognitoMemberDefinition :: Lens' SageMakerWorkteamMemberDefinition SageMakerWorkteamCognitoMemberDefinition
+smwmdCognitoMemberDefinition = lens _sageMakerWorkteamMemberDefinitionCognitoMemberDefinition (\s a -> s { _sageMakerWorkteamMemberDefinitionCognitoMemberDefinition = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamNotificationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamNotificationConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SageMakerWorkteamNotificationConfiguration.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-notificationconfiguration.html
+
+module Stratosphere.ResourceProperties.SageMakerWorkteamNotificationConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SageMakerWorkteamNotificationConfiguration.
+-- See 'sageMakerWorkteamNotificationConfiguration' for a more convenient
+-- constructor.
+data SageMakerWorkteamNotificationConfiguration =
+  SageMakerWorkteamNotificationConfiguration
+  { _sageMakerWorkteamNotificationConfigurationNotificationTopicArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON SageMakerWorkteamNotificationConfiguration where
+  toJSON SageMakerWorkteamNotificationConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("NotificationTopicArn",) . toJSON) _sageMakerWorkteamNotificationConfigurationNotificationTopicArn
+    ]
+
+-- | Constructor for 'SageMakerWorkteamNotificationConfiguration' containing
+-- required fields as arguments.
+sageMakerWorkteamNotificationConfiguration
+  :: Val Text -- ^ 'smwncNotificationTopicArn'
+  -> SageMakerWorkteamNotificationConfiguration
+sageMakerWorkteamNotificationConfiguration notificationTopicArnarg =
+  SageMakerWorkteamNotificationConfiguration
+  { _sageMakerWorkteamNotificationConfigurationNotificationTopicArn = notificationTopicArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-notificationconfiguration.html#cfn-sagemaker-workteam-notificationconfiguration-notificationtopicarn
+smwncNotificationTopicArn :: Lens' SageMakerWorkteamNotificationConfiguration (Val Text)
+smwncNotificationTopicArn = lens _sageMakerWorkteamNotificationConfigurationNotificationTopicArn (\s a -> s { _sageMakerWorkteamNotificationConfigurationNotificationTopicArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/Tag.hs b/library-gen/Stratosphere/ResourceProperties/Tag.hs
--- a/library-gen/Stratosphere/ResourceProperties/Tag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Tag.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE StrictData #-}
 {-# LANGUAGE TupleSections #-}
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-tag.html
 
 module Stratosphere.ResourceProperties.Tag where
 
@@ -37,10 +37,10 @@
   , _tagValue = valuearg
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-key
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-tag.html#cfn-iotevents-input-tag-key
 tagKey :: Lens' Tag (Val Text)
 tagKey = lens _tagKey (\s a -> s { _tagKey = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-value
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-tag.html#cfn-iotevents-input-tag-value
 tagValue :: Lens' Tag (Val Text)
 tagValue = lens _tagValue (\s a -> s { _tagValue = a })
diff --git a/library-gen/Stratosphere/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -129,6 +129,7 @@
 import Stratosphere.Resources.CloudWatchAnomalyDetector as X
 import Stratosphere.Resources.CloudWatchDashboard as X
 import Stratosphere.Resources.CodeBuildProject as X
+import Stratosphere.Resources.CodeBuildSourceCredential as X
 import Stratosphere.Resources.CodeCommitRepository as X
 import Stratosphere.Resources.CodeDeployApplication as X
 import Stratosphere.Resources.CodeDeployDeploymentConfig as X
@@ -149,6 +150,7 @@
 import Stratosphere.Resources.ConfigConfigurationAggregator as X
 import Stratosphere.Resources.ConfigConfigurationRecorder as X
 import Stratosphere.Resources.ConfigDeliveryChannel as X
+import Stratosphere.Resources.ConfigOrganizationConfigRule as X
 import Stratosphere.Resources.ConfigRemediationConfiguration as X
 import Stratosphere.Resources.DAXCluster as X
 import Stratosphere.Resources.DAXParameterGroup as X
@@ -263,6 +265,7 @@
 import Stratosphere.Resources.GlueDatabase as X
 import Stratosphere.Resources.GlueDevEndpoint as X
 import Stratosphere.Resources.GlueJob as X
+import Stratosphere.Resources.GlueMLTransform as X
 import Stratosphere.Resources.GluePartition as X
 import Stratosphere.Resources.GlueSecurityConfiguration as X
 import Stratosphere.Resources.GlueTable as X
@@ -329,6 +332,9 @@
 import Stratosphere.Resources.KinesisAnalyticsV2ApplicationOutput as X
 import Stratosphere.Resources.KinesisAnalyticsV2ApplicationReferenceDataSource as X
 import Stratosphere.Resources.KinesisFirehoseDeliveryStream as X
+import Stratosphere.Resources.LakeFormationDataLakeSettings as X
+import Stratosphere.Resources.LakeFormationPermissions as X
+import Stratosphere.Resources.LakeFormationResource as X
 import Stratosphere.Resources.LambdaAlias as X
 import Stratosphere.Resources.LambdaEventSourceMapping as X
 import Stratosphere.Resources.LambdaFunction as X
@@ -342,6 +348,8 @@
 import Stratosphere.Resources.LogsMetricFilter as X
 import Stratosphere.Resources.LogsSubscriptionFilter as X
 import Stratosphere.Resources.MSKCluster as X
+import Stratosphere.Resources.ManagedBlockchainMember as X
+import Stratosphere.Resources.ManagedBlockchainNode as X
 import Stratosphere.Resources.MediaLiveChannel as X
 import Stratosphere.Resources.MediaLiveInput as X
 import Stratosphere.Resources.MediaLiveInputSecurityGroup as X
@@ -423,6 +431,7 @@
 import Stratosphere.Resources.SSMAssociation as X
 import Stratosphere.Resources.SSMDocument as X
 import Stratosphere.Resources.SSMMaintenanceWindow as X
+import Stratosphere.Resources.SSMMaintenanceWindowTarget as X
 import Stratosphere.Resources.SSMMaintenanceWindowTask as X
 import Stratosphere.Resources.SSMParameter as X
 import Stratosphere.Resources.SSMPatchBaseline as X
@@ -432,6 +441,7 @@
 import Stratosphere.Resources.SageMakerModel as X
 import Stratosphere.Resources.SageMakerNotebookInstance as X
 import Stratosphere.Resources.SageMakerNotebookInstanceLifecycleConfig as X
+import Stratosphere.Resources.SageMakerWorkteam as X
 import Stratosphere.Resources.SecretsManagerResourcePolicy as X
 import Stratosphere.Resources.SecretsManagerRotationSchedule as X
 import Stratosphere.Resources.SecretsManagerSecret as X
@@ -521,9 +531,12 @@
 import Stratosphere.ResourceProperties.ApiGatewayV2StageRouteSettings as X
 import Stratosphere.ResourceProperties.AppMeshMeshEgressFilter as X
 import Stratosphere.ResourceProperties.AppMeshMeshMeshSpec as X
+import Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRoute as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteAction as X
+import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteHeader as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteMatch as X
+import Stratosphere.ResourceProperties.AppMeshRouteMatchRange as X
 import Stratosphere.ResourceProperties.AppMeshRouteRouteSpec as X
 import Stratosphere.ResourceProperties.AppMeshRouteTcpRoute as X
 import Stratosphere.ResourceProperties.AppMeshRouteTcpRouteAction as X
@@ -573,6 +586,7 @@
 import Stratosphere.ResourceProperties.AppSyncResolverPipelineConfig as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScalableTargetAction as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScheduledAction as X
+import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetSuspendedState as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyCustomizedMetricSpecification as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyMetricDimension as X
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyPredefinedMetricSpecification as X
@@ -746,6 +760,8 @@
 import Stratosphere.ResourceProperties.ConfigConfigurationAggregatorOrganizationAggregationSource as X
 import Stratosphere.ResourceProperties.ConfigConfigurationRecorderRecordingGroup as X
 import Stratosphere.ResourceProperties.ConfigDeliveryChannelConfigSnapshotDeliveryProperties as X
+import Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata as X
+import Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata as X
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationRemediationParameterValue as X
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationResourceValue as X
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationStaticValue as X
@@ -794,6 +810,7 @@
 import Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest as X
 import Stratosphere.ResourceProperties.EC2InstanceAssociationParameter as X
 import Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping as X
+import Stratosphere.ResourceProperties.EC2InstanceCpuOptions as X
 import Stratosphere.ResourceProperties.EC2InstanceCreditSpecification as X
 import Stratosphere.ResourceProperties.EC2InstanceEbs as X
 import Stratosphere.ResourceProperties.EC2InstanceElasticGpuSpecification as X
@@ -878,6 +895,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionResourceRequirement as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionSecret as X
+import Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit as X
@@ -982,10 +1000,13 @@
 import Stratosphere.ResourceProperties.ElasticsearchDomainNodeToNodeEncryptionOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainSnapshotOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainVPCOptions as X
+import Stratosphere.ResourceProperties.ElasticsearchDomainZoneAwarenessConfig as X
 import Stratosphere.ResourceProperties.EventsEventBusPolicyCondition as X
+import Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration as X
 import Stratosphere.ResourceProperties.EventsRuleEcsParameters as X
 import Stratosphere.ResourceProperties.EventsRuleInputTransformer as X
 import Stratosphere.ResourceProperties.EventsRuleKinesisParameters as X
+import Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration as X
 import Stratosphere.ResourceProperties.EventsRuleRunCommandParameters as X
 import Stratosphere.ResourceProperties.EventsRuleRunCommandTarget as X
 import Stratosphere.ResourceProperties.EventsRuleSqsParameters as X
@@ -1013,6 +1034,10 @@
 import Stratosphere.ResourceProperties.GlueJobConnectionsList as X
 import Stratosphere.ResourceProperties.GlueJobExecutionProperty as X
 import Stratosphere.ResourceProperties.GlueJobJobCommand as X
+import Stratosphere.ResourceProperties.GlueMLTransformFindMatchesParameters as X
+import Stratosphere.ResourceProperties.GlueMLTransformGlueTables as X
+import Stratosphere.ResourceProperties.GlueMLTransformInputRecordTables as X
+import Stratosphere.ResourceProperties.GlueMLTransformTransformParameters as X
 import Stratosphere.ResourceProperties.GluePartitionColumn as X
 import Stratosphere.ResourceProperties.GluePartitionOrder as X
 import Stratosphere.ResourceProperties.GluePartitionPartitionInput as X
@@ -1256,6 +1281,11 @@
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSerializer as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkRetryOptions as X
+import Stratosphere.ResourceProperties.LakeFormationDataLakeSettingsDataLakePrincipal as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsDataLakePrincipal as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsResource as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource as X
 import Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration as X
 import Stratosphere.ResourceProperties.LambdaAliasVersionWeight as X
 import Stratosphere.ResourceProperties.LambdaFunctionCode as X
@@ -1274,6 +1304,15 @@
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInfo as X
 import Stratosphere.ResourceProperties.MSKClusterStorageInfo as X
 import Stratosphere.ResourceProperties.MSKClusterTls as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFabricConfiguration as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFrameworkConfiguration as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkConfiguration as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFabricConfiguration as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFrameworkConfiguration as X
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy as X
+import Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAribSourceSettings as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAudioLanguageSelection as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAudioPidSelection as X
@@ -1366,7 +1405,9 @@
 import Stratosphere.ResourceProperties.PinpointEmailDedicatedIpPoolTags as X
 import Stratosphere.ResourceProperties.PinpointEmailIdentityMailFromAttributes as X
 import Stratosphere.ResourceProperties.PinpointEmailIdentityTags as X
+import Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole as X
 import Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration as X
+import Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole as X
 import Stratosphere.ResourceProperties.RDSDBInstanceProcessorFeature as X
 import Stratosphere.ResourceProperties.RDSDBSecurityGroupIngressProperty as X
 import Stratosphere.ResourceProperties.RDSOptionGroupOptionConfiguration as X
@@ -1457,6 +1498,7 @@
 import Stratosphere.ResourceProperties.SSMAssociationParameterValues as X
 import Stratosphere.ResourceProperties.SSMAssociationS3OutputLocation as X
 import Stratosphere.ResourceProperties.SSMAssociationTarget as X
+import Stratosphere.ResourceProperties.SSMMaintenanceWindowTargetTargets as X
 import Stratosphere.ResourceProperties.SSMMaintenanceWindowTaskLoggingInfo as X
 import Stratosphere.ResourceProperties.SSMMaintenanceWindowTaskMaintenanceWindowAutomationParameters as X
 import Stratosphere.ResourceProperties.SSMMaintenanceWindowTaskMaintenanceWindowLambdaParameters as X
@@ -1474,6 +1516,9 @@
 import Stratosphere.ResourceProperties.SageMakerModelContainerDefinition as X
 import Stratosphere.ResourceProperties.SageMakerModelVpcConfig as X
 import Stratosphere.ResourceProperties.SageMakerNotebookInstanceLifecycleConfigNotebookInstanceLifecycleHook as X
+import Stratosphere.ResourceProperties.SageMakerWorkteamCognitoMemberDefinition as X
+import Stratosphere.ResourceProperties.SageMakerWorkteamMemberDefinition as X
+import Stratosphere.ResourceProperties.SageMakerWorkteamNotificationConfiguration as X
 import Stratosphere.ResourceProperties.SecretsManagerRotationScheduleRotationRules as X
 import Stratosphere.ResourceProperties.SecretsManagerSecretGenerateSecretString as X
 import Stratosphere.ResourceProperties.ServiceCatalogCloudFormationProductProvisioningArtifactProperties as X
diff --git a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
--- a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
+++ b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScheduledAction
+import Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetSuspendedState
 
 -- | Full data type definition for ApplicationAutoScalingScalableTarget. See
 -- 'applicationAutoScalingScalableTarget' for a more convenient constructor.
@@ -21,6 +22,7 @@
   , _applicationAutoScalingScalableTargetScalableDimension :: Val Text
   , _applicationAutoScalingScalableTargetScheduledActions :: Maybe [ApplicationAutoScalingScalableTargetScheduledAction]
   , _applicationAutoScalingScalableTargetServiceNamespace :: Val Text
+  , _applicationAutoScalingScalableTargetSuspendedState :: Maybe ApplicationAutoScalingScalableTargetSuspendedState
   } deriving (Show, Eq)
 
 instance ToResourceProperties ApplicationAutoScalingScalableTarget where
@@ -36,6 +38,7 @@
         , (Just . ("ScalableDimension",) . toJSON) _applicationAutoScalingScalableTargetScalableDimension
         , fmap (("ScheduledActions",) . toJSON) _applicationAutoScalingScalableTargetScheduledActions
         , (Just . ("ServiceNamespace",) . toJSON) _applicationAutoScalingScalableTargetServiceNamespace
+        , fmap (("SuspendedState",) . toJSON) _applicationAutoScalingScalableTargetSuspendedState
         ]
     }
 
@@ -58,6 +61,7 @@
   , _applicationAutoScalingScalableTargetScalableDimension = scalableDimensionarg
   , _applicationAutoScalingScalableTargetScheduledActions = Nothing
   , _applicationAutoScalingScalableTargetServiceNamespace = serviceNamespacearg
+  , _applicationAutoScalingScalableTargetSuspendedState = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-maxcapacity
@@ -87,3 +91,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-servicenamespace
 aasstServiceNamespace :: Lens' ApplicationAutoScalingScalableTarget (Val Text)
 aasstServiceNamespace = lens _applicationAutoScalingScalableTargetServiceNamespace (\s a -> s { _applicationAutoScalingScalableTargetServiceNamespace = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-suspendedstate
+aasstSuspendedState :: Lens' ApplicationAutoScalingScalableTarget (Maybe ApplicationAutoScalingScalableTargetSuspendedState)
+aasstSuspendedState = lens _applicationAutoScalingScalableTargetSuspendedState (\s a -> s { _applicationAutoScalingScalableTargetSuspendedState = a })
diff --git a/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs b/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
@@ -32,7 +32,8 @@
   , _cloudWatchAlarmOKActions :: Maybe (ValList Text)
   , _cloudWatchAlarmPeriod :: Maybe (Val Integer)
   , _cloudWatchAlarmStatistic :: Maybe (Val Text)
-  , _cloudWatchAlarmThreshold :: Val Double
+  , _cloudWatchAlarmThreshold :: Maybe (Val Double)
+  , _cloudWatchAlarmThresholdMetricId :: Maybe (Val Text)
   , _cloudWatchAlarmTreatMissingData :: Maybe (Val Text)
   , _cloudWatchAlarmUnit :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -60,7 +61,8 @@
         , fmap (("OKActions",) . toJSON) _cloudWatchAlarmOKActions
         , fmap (("Period",) . toJSON) _cloudWatchAlarmPeriod
         , fmap (("Statistic",) . toJSON) _cloudWatchAlarmStatistic
-        , (Just . ("Threshold",) . toJSON) _cloudWatchAlarmThreshold
+        , fmap (("Threshold",) . toJSON) _cloudWatchAlarmThreshold
+        , fmap (("ThresholdMetricId",) . toJSON) _cloudWatchAlarmThresholdMetricId
         , fmap (("TreatMissingData",) . toJSON) _cloudWatchAlarmTreatMissingData
         , fmap (("Unit",) . toJSON) _cloudWatchAlarmUnit
         ]
@@ -71,9 +73,8 @@
 cloudWatchAlarm
   :: Val Text -- ^ 'cwaComparisonOperator'
   -> Val Integer -- ^ 'cwaEvaluationPeriods'
-  -> Val Double -- ^ 'cwaThreshold'
   -> CloudWatchAlarm
-cloudWatchAlarm comparisonOperatorarg evaluationPeriodsarg thresholdarg =
+cloudWatchAlarm comparisonOperatorarg evaluationPeriodsarg =
   CloudWatchAlarm
   { _cloudWatchAlarmActionsEnabled = Nothing
   , _cloudWatchAlarmAlarmActions = Nothing
@@ -92,7 +93,8 @@
   , _cloudWatchAlarmOKActions = Nothing
   , _cloudWatchAlarmPeriod = Nothing
   , _cloudWatchAlarmStatistic = Nothing
-  , _cloudWatchAlarmThreshold = thresholdarg
+  , _cloudWatchAlarmThreshold = Nothing
+  , _cloudWatchAlarmThresholdMetricId = Nothing
   , _cloudWatchAlarmTreatMissingData = Nothing
   , _cloudWatchAlarmUnit = Nothing
   }
@@ -166,8 +168,12 @@
 cwaStatistic = lens _cloudWatchAlarmStatistic (\s a -> s { _cloudWatchAlarmStatistic = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-threshold
-cwaThreshold :: Lens' CloudWatchAlarm (Val Double)
+cwaThreshold :: Lens' CloudWatchAlarm (Maybe (Val Double))
 cwaThreshold = lens _cloudWatchAlarmThreshold (\s a -> s { _cloudWatchAlarmThreshold = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dynamic-threshold
+cwaThresholdMetricId :: Lens' CloudWatchAlarm (Maybe (Val Text))
+cwaThresholdMetricId = lens _cloudWatchAlarmThresholdMetricId (\s a -> s { _cloudWatchAlarmThresholdMetricId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-treatmissingdata
 cwaTreatMissingData :: Lens' CloudWatchAlarm (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs b/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html
+
+module Stratosphere.Resources.CodeBuildSourceCredential where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeBuildSourceCredential. See
+-- 'codeBuildSourceCredential' for a more convenient constructor.
+data CodeBuildSourceCredential =
+  CodeBuildSourceCredential
+  { _codeBuildSourceCredentialAuthType :: Val Text
+  , _codeBuildSourceCredentialServerType :: Val Text
+  , _codeBuildSourceCredentialToken :: Val Text
+  , _codeBuildSourceCredentialUsername :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CodeBuildSourceCredential where
+  toResourceProperties CodeBuildSourceCredential{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CodeBuild::SourceCredential"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("AuthType",) . toJSON) _codeBuildSourceCredentialAuthType
+        , (Just . ("ServerType",) . toJSON) _codeBuildSourceCredentialServerType
+        , (Just . ("Token",) . toJSON) _codeBuildSourceCredentialToken
+        , fmap (("Username",) . toJSON) _codeBuildSourceCredentialUsername
+        ]
+    }
+
+-- | Constructor for 'CodeBuildSourceCredential' containing required fields as
+-- arguments.
+codeBuildSourceCredential
+  :: Val Text -- ^ 'cbscAuthType'
+  -> Val Text -- ^ 'cbscServerType'
+  -> Val Text -- ^ 'cbscToken'
+  -> CodeBuildSourceCredential
+codeBuildSourceCredential authTypearg serverTypearg tokenarg =
+  CodeBuildSourceCredential
+  { _codeBuildSourceCredentialAuthType = authTypearg
+  , _codeBuildSourceCredentialServerType = serverTypearg
+  , _codeBuildSourceCredentialToken = tokenarg
+  , _codeBuildSourceCredentialUsername = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-authtype
+cbscAuthType :: Lens' CodeBuildSourceCredential (Val Text)
+cbscAuthType = lens _codeBuildSourceCredentialAuthType (\s a -> s { _codeBuildSourceCredentialAuthType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-servertype
+cbscServerType :: Lens' CodeBuildSourceCredential (Val Text)
+cbscServerType = lens _codeBuildSourceCredentialServerType (\s a -> s { _codeBuildSourceCredentialServerType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-token
+cbscToken :: Lens' CodeBuildSourceCredential (Val Text)
+cbscToken = lens _codeBuildSourceCredentialToken (\s a -> s { _codeBuildSourceCredentialToken = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-username
+cbscUsername :: Lens' CodeBuildSourceCredential (Maybe (Val Text))
+cbscUsername = lens _codeBuildSourceCredentialUsername (\s a -> s { _codeBuildSourceCredentialUsername = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
@@ -25,7 +25,7 @@
   , _cognitoUserPoolClientGenerateSecret :: Maybe (Val Bool)
   , _cognitoUserPoolClientLogoutURLs :: Maybe (ValList Text)
   , _cognitoUserPoolClientReadAttributes :: Maybe (ValList Text)
-  , _cognitoUserPoolClientRefreshTokenValidity :: Maybe (Val Double)
+  , _cognitoUserPoolClientRefreshTokenValidity :: Maybe (Val Integer)
   , _cognitoUserPoolClientSupportedIdentityProviders :: Maybe (ValList Text)
   , _cognitoUserPoolClientUserPoolId :: Val Text
   , _cognitoUserPoolClientWriteAttributes :: Maybe (ValList Text)
@@ -124,7 +124,7 @@
 cupcReadAttributes = lens _cognitoUserPoolClientReadAttributes (\s a -> s { _cognitoUserPoolClientReadAttributes = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity
-cupcRefreshTokenValidity :: Lens' CognitoUserPoolClient (Maybe (Val Double))
+cupcRefreshTokenValidity :: Lens' CognitoUserPoolClient (Maybe (Val Integer))
 cupcRefreshTokenValidity = lens _cognitoUserPoolClientRefreshTokenValidity (\s a -> s { _cognitoUserPoolClientRefreshTokenValidity = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-supportedidentityproviders
diff --git a/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs b/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html
+
+module Stratosphere.Resources.ConfigOrganizationConfigRule where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
+import Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
+
+-- | Full data type definition for ConfigOrganizationConfigRule. See
+-- 'configOrganizationConfigRule' for a more convenient constructor.
+data ConfigOrganizationConfigRule =
+  ConfigOrganizationConfigRule
+  { _configOrganizationConfigRuleExcludedAccounts :: Maybe (ValList Text)
+  , _configOrganizationConfigRuleOrganizationConfigRuleName :: Val Text
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadata :: Maybe ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadata :: Maybe ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ConfigOrganizationConfigRule where
+  toResourceProperties ConfigOrganizationConfigRule{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Config::OrganizationConfigRule"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("ExcludedAccounts",) . toJSON) _configOrganizationConfigRuleExcludedAccounts
+        , (Just . ("OrganizationConfigRuleName",) . toJSON) _configOrganizationConfigRuleOrganizationConfigRuleName
+        , fmap (("OrganizationCustomRuleMetadata",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadata
+        , fmap (("OrganizationManagedRuleMetadata",) . toJSON) _configOrganizationConfigRuleOrganizationManagedRuleMetadata
+        ]
+    }
+
+-- | Constructor for 'ConfigOrganizationConfigRule' containing required fields
+-- as arguments.
+configOrganizationConfigRule
+  :: Val Text -- ^ 'cocrOrganizationConfigRuleName'
+  -> ConfigOrganizationConfigRule
+configOrganizationConfigRule organizationConfigRuleNamearg =
+  ConfigOrganizationConfigRule
+  { _configOrganizationConfigRuleExcludedAccounts = Nothing
+  , _configOrganizationConfigRuleOrganizationConfigRuleName = organizationConfigRuleNamearg
+  , _configOrganizationConfigRuleOrganizationCustomRuleMetadata = Nothing
+  , _configOrganizationConfigRuleOrganizationManagedRuleMetadata = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-excludedaccounts
+cocrExcludedAccounts :: Lens' ConfigOrganizationConfigRule (Maybe (ValList Text))
+cocrExcludedAccounts = lens _configOrganizationConfigRuleExcludedAccounts (\s a -> s { _configOrganizationConfigRuleExcludedAccounts = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationconfigrulename
+cocrOrganizationConfigRuleName :: Lens' ConfigOrganizationConfigRule (Val Text)
+cocrOrganizationConfigRuleName = lens _configOrganizationConfigRuleOrganizationConfigRuleName (\s a -> s { _configOrganizationConfigRuleOrganizationConfigRuleName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata
+cocrOrganizationCustomRuleMetadata :: Lens' ConfigOrganizationConfigRule (Maybe ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata)
+cocrOrganizationCustomRuleMetadata = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadata (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadata = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata
+cocrOrganizationManagedRuleMetadata :: Lens' ConfigOrganizationConfigRule (Maybe ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata)
+cocrOrganizationManagedRuleMetadata = lens _configOrganizationConfigRuleOrganizationManagedRuleMetadata (\s a -> s { _configOrganizationConfigRuleOrganizationManagedRuleMetadata = a })
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
@@ -14,7 +14,9 @@
 -- 'dmsReplicationTask' for a more convenient constructor.
 data DMSReplicationTask =
   DMSReplicationTask
-  { _dMSReplicationTaskCdcStartTime :: Maybe (Val Double)
+  { _dMSReplicationTaskCdcStartPosition :: Maybe (Val Text)
+  , _dMSReplicationTaskCdcStartTime :: Maybe (Val Double)
+  , _dMSReplicationTaskCdcStopPosition :: Maybe (Val Text)
   , _dMSReplicationTaskMigrationType :: Val Text
   , _dMSReplicationTaskReplicationInstanceArn :: Val Text
   , _dMSReplicationTaskReplicationTaskIdentifier :: Maybe (Val Text)
@@ -31,7 +33,9 @@
     { resourcePropertiesType = "AWS::DMS::ReplicationTask"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("CdcStartTime",) . toJSON) _dMSReplicationTaskCdcStartTime
+        [ fmap (("CdcStartPosition",) . toJSON) _dMSReplicationTaskCdcStartPosition
+        , fmap (("CdcStartTime",) . toJSON) _dMSReplicationTaskCdcStartTime
+        , fmap (("CdcStopPosition",) . toJSON) _dMSReplicationTaskCdcStopPosition
         , (Just . ("MigrationType",) . toJSON) _dMSReplicationTaskMigrationType
         , (Just . ("ReplicationInstanceArn",) . toJSON) _dMSReplicationTaskReplicationInstanceArn
         , fmap (("ReplicationTaskIdentifier",) . toJSON) _dMSReplicationTaskReplicationTaskIdentifier
@@ -54,7 +58,9 @@
   -> DMSReplicationTask
 dmsReplicationTask migrationTypearg replicationInstanceArnarg sourceEndpointArnarg tableMappingsarg targetEndpointArnarg =
   DMSReplicationTask
-  { _dMSReplicationTaskCdcStartTime = Nothing
+  { _dMSReplicationTaskCdcStartPosition = Nothing
+  , _dMSReplicationTaskCdcStartTime = Nothing
+  , _dMSReplicationTaskCdcStopPosition = Nothing
   , _dMSReplicationTaskMigrationType = migrationTypearg
   , _dMSReplicationTaskReplicationInstanceArn = replicationInstanceArnarg
   , _dMSReplicationTaskReplicationTaskIdentifier = Nothing
@@ -65,9 +71,17 @@
   , _dMSReplicationTaskTargetEndpointArn = targetEndpointArnarg
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstartposition
+dmsrtCdcStartPosition :: Lens' DMSReplicationTask (Maybe (Val Text))
+dmsrtCdcStartPosition = lens _dMSReplicationTaskCdcStartPosition (\s a -> s { _dMSReplicationTaskCdcStartPosition = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstarttime
 dmsrtCdcStartTime :: Lens' DMSReplicationTask (Maybe (Val Double))
 dmsrtCdcStartTime = lens _dMSReplicationTaskCdcStartTime (\s a -> s { _dMSReplicationTaskCdcStartTime = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstopposition
+dmsrtCdcStopPosition :: Lens' DMSReplicationTask (Maybe (Val Text))
+dmsrtCdcStopPosition = lens _dMSReplicationTaskCdcStopPosition (\s a -> s { _dMSReplicationTaskCdcStopPosition = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-migrationtype
 dmsrtMigrationType :: Lens' DMSReplicationTask (Val Text)
diff --git a/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs b/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
--- a/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
@@ -22,6 +22,7 @@
   , _eC2ClientVpnEndpointDescription :: Maybe (Val Text)
   , _eC2ClientVpnEndpointDnsServers :: Maybe (ValList Text)
   , _eC2ClientVpnEndpointServerCertificateArn :: Val Text
+  , _eC2ClientVpnEndpointSplitTunnel :: Maybe (Val Bool)
   , _eC2ClientVpnEndpointTagSpecifications :: Maybe [EC2ClientVpnEndpointTagSpecification]
   , _eC2ClientVpnEndpointTransportProtocol :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -38,6 +39,7 @@
         , fmap (("Description",) . toJSON) _eC2ClientVpnEndpointDescription
         , fmap (("DnsServers",) . toJSON) _eC2ClientVpnEndpointDnsServers
         , (Just . ("ServerCertificateArn",) . toJSON) _eC2ClientVpnEndpointServerCertificateArn
+        , fmap (("SplitTunnel",) . toJSON) _eC2ClientVpnEndpointSplitTunnel
         , fmap (("TagSpecifications",) . toJSON) _eC2ClientVpnEndpointTagSpecifications
         , fmap (("TransportProtocol",) . toJSON) _eC2ClientVpnEndpointTransportProtocol
         ]
@@ -59,6 +61,7 @@
   , _eC2ClientVpnEndpointDescription = Nothing
   , _eC2ClientVpnEndpointDnsServers = Nothing
   , _eC2ClientVpnEndpointServerCertificateArn = serverCertificateArnarg
+  , _eC2ClientVpnEndpointSplitTunnel = Nothing
   , _eC2ClientVpnEndpointTagSpecifications = Nothing
   , _eC2ClientVpnEndpointTransportProtocol = Nothing
   }
@@ -86,6 +89,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn
 eccveServerCertificateArn :: Lens' EC2ClientVpnEndpoint (Val Text)
 eccveServerCertificateArn = lens _eC2ClientVpnEndpointServerCertificateArn (\s a -> s { _eC2ClientVpnEndpointServerCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel
+eccveSplitTunnel :: Lens' EC2ClientVpnEndpoint (Maybe (Val Bool))
+eccveSplitTunnel = lens _eC2ClientVpnEndpointSplitTunnel (\s a -> s { _eC2ClientVpnEndpointSplitTunnel = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications
 eccveTagSpecifications :: Lens' EC2ClientVpnEndpoint (Maybe [EC2ClientVpnEndpointTagSpecification])
diff --git a/library-gen/Stratosphere/Resources/EC2Instance.hs b/library-gen/Stratosphere/Resources/EC2Instance.hs
--- a/library-gen/Stratosphere/Resources/EC2Instance.hs
+++ b/library-gen/Stratosphere/Resources/EC2Instance.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping
+import Stratosphere.ResourceProperties.EC2InstanceCpuOptions
 import Stratosphere.ResourceProperties.EC2InstanceCreditSpecification
 import Stratosphere.ResourceProperties.EC2InstanceElasticGpuSpecification
 import Stratosphere.ResourceProperties.EC2InstanceElasticInferenceAccelerator
@@ -28,6 +29,7 @@
   , _eC2InstanceAffinity :: Maybe (Val Text)
   , _eC2InstanceAvailabilityZone :: Maybe (Val Text)
   , _eC2InstanceBlockDeviceMappings :: Maybe [EC2InstanceBlockDeviceMapping]
+  , _eC2InstanceCpuOptions :: Maybe EC2InstanceCpuOptions
   , _eC2InstanceCreditSpecification :: Maybe EC2InstanceCreditSpecification
   , _eC2InstanceDisableApiTermination :: Maybe (Val Bool)
   , _eC2InstanceEbsOptimized :: Maybe (Val Bool)
@@ -70,6 +72,7 @@
         , fmap (("Affinity",) . toJSON) _eC2InstanceAffinity
         , fmap (("AvailabilityZone",) . toJSON) _eC2InstanceAvailabilityZone
         , fmap (("BlockDeviceMappings",) . toJSON) _eC2InstanceBlockDeviceMappings
+        , fmap (("CpuOptions",) . toJSON) _eC2InstanceCpuOptions
         , fmap (("CreditSpecification",) . toJSON) _eC2InstanceCreditSpecification
         , fmap (("DisableApiTermination",) . toJSON) _eC2InstanceDisableApiTermination
         , fmap (("EbsOptimized",) . toJSON) _eC2InstanceEbsOptimized
@@ -112,6 +115,7 @@
   , _eC2InstanceAffinity = Nothing
   , _eC2InstanceAvailabilityZone = Nothing
   , _eC2InstanceBlockDeviceMappings = Nothing
+  , _eC2InstanceCpuOptions = Nothing
   , _eC2InstanceCreditSpecification = Nothing
   , _eC2InstanceDisableApiTermination = Nothing
   , _eC2InstanceEbsOptimized = Nothing
@@ -159,6 +163,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings
 eciBlockDeviceMappings :: Lens' EC2Instance (Maybe [EC2InstanceBlockDeviceMapping])
 eciBlockDeviceMappings = lens _eC2InstanceBlockDeviceMappings (\s a -> s { _eC2InstanceBlockDeviceMappings = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-cpuoptions
+eciCpuOptions :: Lens' EC2Instance (Maybe EC2InstanceCpuOptions)
+eciCpuOptions = lens _eC2InstanceCpuOptions (\s a -> s { _eC2InstanceCpuOptions = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-creditspecification
 eciCreditSpecification :: Lens' EC2Instance (Maybe EC2InstanceCreditSpecification)
diff --git a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
--- a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
+++ b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
@@ -22,8 +22,10 @@
   , _eCSTaskDefinitionCpu :: Maybe (Val Text)
   , _eCSTaskDefinitionExecutionRoleArn :: Maybe (Val Text)
   , _eCSTaskDefinitionFamily :: Maybe (Val Text)
+  , _eCSTaskDefinitionIpcMode :: Maybe (Val Text)
   , _eCSTaskDefinitionMemory :: Maybe (Val Text)
   , _eCSTaskDefinitionNetworkMode :: Maybe (Val Text)
+  , _eCSTaskDefinitionPidMode :: Maybe (Val Text)
   , _eCSTaskDefinitionPlacementConstraints :: Maybe [ECSTaskDefinitionTaskDefinitionPlacementConstraint]
   , _eCSTaskDefinitionProxyConfiguration :: Maybe ECSTaskDefinitionProxyConfiguration
   , _eCSTaskDefinitionRequiresCompatibilities :: Maybe (ValList Text)
@@ -42,8 +44,10 @@
         , fmap (("Cpu",) . toJSON) _eCSTaskDefinitionCpu
         , fmap (("ExecutionRoleArn",) . toJSON) _eCSTaskDefinitionExecutionRoleArn
         , fmap (("Family",) . toJSON) _eCSTaskDefinitionFamily
+        , fmap (("IpcMode",) . toJSON) _eCSTaskDefinitionIpcMode
         , fmap (("Memory",) . toJSON) _eCSTaskDefinitionMemory
         , fmap (("NetworkMode",) . toJSON) _eCSTaskDefinitionNetworkMode
+        , fmap (("PidMode",) . toJSON) _eCSTaskDefinitionPidMode
         , fmap (("PlacementConstraints",) . toJSON) _eCSTaskDefinitionPlacementConstraints
         , fmap (("ProxyConfiguration",) . toJSON) _eCSTaskDefinitionProxyConfiguration
         , fmap (("RequiresCompatibilities",) . toJSON) _eCSTaskDefinitionRequiresCompatibilities
@@ -63,8 +67,10 @@
   , _eCSTaskDefinitionCpu = Nothing
   , _eCSTaskDefinitionExecutionRoleArn = Nothing
   , _eCSTaskDefinitionFamily = Nothing
+  , _eCSTaskDefinitionIpcMode = Nothing
   , _eCSTaskDefinitionMemory = Nothing
   , _eCSTaskDefinitionNetworkMode = Nothing
+  , _eCSTaskDefinitionPidMode = Nothing
   , _eCSTaskDefinitionPlacementConstraints = Nothing
   , _eCSTaskDefinitionProxyConfiguration = Nothing
   , _eCSTaskDefinitionRequiresCompatibilities = Nothing
@@ -89,6 +95,10 @@
 ecstdFamily :: Lens' ECSTaskDefinition (Maybe (Val Text))
 ecstdFamily = lens _eCSTaskDefinitionFamily (\s a -> s { _eCSTaskDefinitionFamily = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-ipcmode
+ecstdIpcMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
+ecstdIpcMode = lens _eCSTaskDefinitionIpcMode (\s a -> s { _eCSTaskDefinitionIpcMode = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-memory
 ecstdMemory :: Lens' ECSTaskDefinition (Maybe (Val Text))
 ecstdMemory = lens _eCSTaskDefinitionMemory (\s a -> s { _eCSTaskDefinitionMemory = a })
@@ -96,6 +106,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-networkmode
 ecstdNetworkMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
 ecstdNetworkMode = lens _eCSTaskDefinitionNetworkMode (\s a -> s { _eCSTaskDefinitionNetworkMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-pidmode
+ecstdPidMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
+ecstdPidMode = lens _eCSTaskDefinitionPidMode (\s a -> s { _eCSTaskDefinitionPidMode = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-placementconstraints
 ecstdPlacementConstraints :: Lens' ECSTaskDefinition (Maybe [ECSTaskDefinitionTaskDefinitionPlacementConstraint])
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
@@ -25,6 +25,7 @@
   , _elastiCacheReplicationGroupCacheSubnetGroupName :: Maybe (Val Text)
   , _elastiCacheReplicationGroupEngine :: Maybe (Val Text)
   , _elastiCacheReplicationGroupEngineVersion :: Maybe (Val Text)
+  , _elastiCacheReplicationGroupKmsKeyId :: Maybe (Val Text)
   , _elastiCacheReplicationGroupNodeGroupConfiguration :: Maybe [ElastiCacheReplicationGroupNodeGroupConfiguration]
   , _elastiCacheReplicationGroupNotificationTopicArn :: Maybe (Val Text)
   , _elastiCacheReplicationGroupNumCacheClusters :: Maybe (Val Integer)
@@ -62,6 +63,7 @@
         , fmap (("CacheSubnetGroupName",) . toJSON) _elastiCacheReplicationGroupCacheSubnetGroupName
         , fmap (("Engine",) . toJSON) _elastiCacheReplicationGroupEngine
         , fmap (("EngineVersion",) . toJSON) _elastiCacheReplicationGroupEngineVersion
+        , fmap (("KmsKeyId",) . toJSON) _elastiCacheReplicationGroupKmsKeyId
         , fmap (("NodeGroupConfiguration",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfiguration
         , fmap (("NotificationTopicArn",) . toJSON) _elastiCacheReplicationGroupNotificationTopicArn
         , fmap (("NumCacheClusters",) . toJSON) _elastiCacheReplicationGroupNumCacheClusters
@@ -101,6 +103,7 @@
   , _elastiCacheReplicationGroupCacheSubnetGroupName = Nothing
   , _elastiCacheReplicationGroupEngine = Nothing
   , _elastiCacheReplicationGroupEngineVersion = Nothing
+  , _elastiCacheReplicationGroupKmsKeyId = Nothing
   , _elastiCacheReplicationGroupNodeGroupConfiguration = Nothing
   , _elastiCacheReplicationGroupNotificationTopicArn = Nothing
   , _elastiCacheReplicationGroupNumCacheClusters = Nothing
@@ -161,6 +164,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engineversion
 ecrgEngineVersion :: Lens' ElastiCacheReplicationGroup (Maybe (Val Text))
 ecrgEngineVersion = lens _elastiCacheReplicationGroupEngineVersion (\s a -> s { _elastiCacheReplicationGroupEngineVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid
+ecrgKmsKeyId :: Lens' ElastiCacheReplicationGroup (Maybe (Val Text))
+ecrgKmsKeyId = lens _elastiCacheReplicationGroupKmsKeyId (\s a -> s { _elastiCacheReplicationGroupKmsKeyId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-nodegroupconfiguration
 ecrgNodeGroupConfiguration :: Lens' ElastiCacheReplicationGroup (Maybe [ElastiCacheReplicationGroupNodeGroupConfiguration])
diff --git a/library-gen/Stratosphere/Resources/GlueMLTransform.hs b/library-gen/Stratosphere/Resources/GlueMLTransform.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GlueMLTransform.hs
@@ -0,0 +1,108 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html
+
+module Stratosphere.Resources.GlueMLTransform where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GlueMLTransformInputRecordTables
+import Stratosphere.ResourceProperties.GlueMLTransformTransformParameters
+
+-- | Full data type definition for GlueMLTransform. See 'glueMLTransform' for
+-- a more convenient constructor.
+data GlueMLTransform =
+  GlueMLTransform
+  { _glueMLTransformDescription :: Maybe (Val Text)
+  , _glueMLTransformInputRecordTables :: GlueMLTransformInputRecordTables
+  , _glueMLTransformMaxCapacity :: Maybe (Val Double)
+  , _glueMLTransformMaxRetries :: Maybe (Val Integer)
+  , _glueMLTransformName :: Maybe (Val Text)
+  , _glueMLTransformNumberOfWorkers :: Maybe (Val Integer)
+  , _glueMLTransformRole :: Val Text
+  , _glueMLTransformTimeout :: Maybe (Val Integer)
+  , _glueMLTransformTransformParameters :: GlueMLTransformTransformParameters
+  , _glueMLTransformWorkerType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GlueMLTransform where
+  toResourceProperties GlueMLTransform{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Glue::MLTransform"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _glueMLTransformDescription
+        , (Just . ("InputRecordTables",) . toJSON) _glueMLTransformInputRecordTables
+        , fmap (("MaxCapacity",) . toJSON) _glueMLTransformMaxCapacity
+        , fmap (("MaxRetries",) . toJSON) _glueMLTransformMaxRetries
+        , fmap (("Name",) . toJSON) _glueMLTransformName
+        , fmap (("NumberOfWorkers",) . toJSON) _glueMLTransformNumberOfWorkers
+        , (Just . ("Role",) . toJSON) _glueMLTransformRole
+        , fmap (("Timeout",) . toJSON) _glueMLTransformTimeout
+        , (Just . ("TransformParameters",) . toJSON) _glueMLTransformTransformParameters
+        , fmap (("WorkerType",) . toJSON) _glueMLTransformWorkerType
+        ]
+    }
+
+-- | Constructor for 'GlueMLTransform' containing required fields as
+-- arguments.
+glueMLTransform
+  :: GlueMLTransformInputRecordTables -- ^ 'gmltInputRecordTables'
+  -> Val Text -- ^ 'gmltRole'
+  -> GlueMLTransformTransformParameters -- ^ 'gmltTransformParameters'
+  -> GlueMLTransform
+glueMLTransform inputRecordTablesarg rolearg transformParametersarg =
+  GlueMLTransform
+  { _glueMLTransformDescription = Nothing
+  , _glueMLTransformInputRecordTables = inputRecordTablesarg
+  , _glueMLTransformMaxCapacity = Nothing
+  , _glueMLTransformMaxRetries = Nothing
+  , _glueMLTransformName = Nothing
+  , _glueMLTransformNumberOfWorkers = Nothing
+  , _glueMLTransformRole = rolearg
+  , _glueMLTransformTimeout = Nothing
+  , _glueMLTransformTransformParameters = transformParametersarg
+  , _glueMLTransformWorkerType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-description
+gmltDescription :: Lens' GlueMLTransform (Maybe (Val Text))
+gmltDescription = lens _glueMLTransformDescription (\s a -> s { _glueMLTransformDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-inputrecordtables
+gmltInputRecordTables :: Lens' GlueMLTransform GlueMLTransformInputRecordTables
+gmltInputRecordTables = lens _glueMLTransformInputRecordTables (\s a -> s { _glueMLTransformInputRecordTables = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxcapacity
+gmltMaxCapacity :: Lens' GlueMLTransform (Maybe (Val Double))
+gmltMaxCapacity = lens _glueMLTransformMaxCapacity (\s a -> s { _glueMLTransformMaxCapacity = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxretries
+gmltMaxRetries :: Lens' GlueMLTransform (Maybe (Val Integer))
+gmltMaxRetries = lens _glueMLTransformMaxRetries (\s a -> s { _glueMLTransformMaxRetries = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-name
+gmltName :: Lens' GlueMLTransform (Maybe (Val Text))
+gmltName = lens _glueMLTransformName (\s a -> s { _glueMLTransformName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-numberofworkers
+gmltNumberOfWorkers :: Lens' GlueMLTransform (Maybe (Val Integer))
+gmltNumberOfWorkers = lens _glueMLTransformNumberOfWorkers (\s a -> s { _glueMLTransformNumberOfWorkers = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-role
+gmltRole :: Lens' GlueMLTransform (Val Text)
+gmltRole = lens _glueMLTransformRole (\s a -> s { _glueMLTransformRole = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-timeout
+gmltTimeout :: Lens' GlueMLTransform (Maybe (Val Integer))
+gmltTimeout = lens _glueMLTransformTimeout (\s a -> s { _glueMLTransformTimeout = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformparameters
+gmltTransformParameters :: Lens' GlueMLTransform GlueMLTransformTransformParameters
+gmltTransformParameters = lens _glueMLTransformTransformParameters (\s a -> s { _glueMLTransformTransformParameters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-workertype
+gmltWorkerType :: Lens' GlueMLTransform (Maybe (Val Text))
+gmltWorkerType = lens _glueMLTransformWorkerType (\s a -> s { _glueMLTransformWorkerType = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassConnectorDefinition
   { _greengrassConnectorDefinitionInitialVersion :: Maybe GreengrassConnectorDefinitionConnectorDefinitionVersion
   , _greengrassConnectorDefinitionName :: Val Text
+  , _greengrassConnectorDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassConnectorDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassConnectorDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassConnectorDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassConnectorDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassConnectorDefinition
   { _greengrassConnectorDefinitionInitialVersion = Nothing
   , _greengrassConnectorDefinitionName = namearg
+  , _greengrassConnectorDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-name
 gcdnName :: Lens' GreengrassConnectorDefinition (Val Text)
 gcdnName = lens _greengrassConnectorDefinitionName (\s a -> s { _greengrassConnectorDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-tags
+gcdnTags :: Lens' GreengrassConnectorDefinition (Maybe Object)
+gcdnTags = lens _greengrassConnectorDefinitionTags (\s a -> s { _greengrassConnectorDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassCoreDefinition
   { _greengrassCoreDefinitionInitialVersion :: Maybe GreengrassCoreDefinitionCoreDefinitionVersion
   , _greengrassCoreDefinitionName :: Val Text
+  , _greengrassCoreDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassCoreDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassCoreDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassCoreDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassCoreDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassCoreDefinition
   { _greengrassCoreDefinitionInitialVersion = Nothing
   , _greengrassCoreDefinitionName = namearg
+  , _greengrassCoreDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-name
 gcdrName :: Lens' GreengrassCoreDefinition (Val Text)
 gcdrName = lens _greengrassCoreDefinitionName (\s a -> s { _greengrassCoreDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-tags
+gcdrTags :: Lens' GreengrassCoreDefinition (Maybe Object)
+gcdrTags = lens _greengrassCoreDefinitionTags (\s a -> s { _greengrassCoreDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassDeviceDefinition
   { _greengrassDeviceDefinitionInitialVersion :: Maybe GreengrassDeviceDefinitionDeviceDefinitionVersion
   , _greengrassDeviceDefinitionName :: Val Text
+  , _greengrassDeviceDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassDeviceDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassDeviceDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassDeviceDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassDeviceDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassDeviceDefinition
   { _greengrassDeviceDefinitionInitialVersion = Nothing
   , _greengrassDeviceDefinitionName = namearg
+  , _greengrassDeviceDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-name
 gddName :: Lens' GreengrassDeviceDefinition (Val Text)
 gddName = lens _greengrassDeviceDefinitionName (\s a -> s { _greengrassDeviceDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-tags
+gddTags :: Lens' GreengrassDeviceDefinition (Maybe Object)
+gddTags = lens _greengrassDeviceDefinitionTags (\s a -> s { _greengrassDeviceDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassFunctionDefinition
   { _greengrassFunctionDefinitionInitialVersion :: Maybe GreengrassFunctionDefinitionFunctionDefinitionVersion
   , _greengrassFunctionDefinitionName :: Val Text
+  , _greengrassFunctionDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassFunctionDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassFunctionDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassFunctionDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassFunctionDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassFunctionDefinition
   { _greengrassFunctionDefinitionInitialVersion = Nothing
   , _greengrassFunctionDefinitionName = namearg
+  , _greengrassFunctionDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-name
 gfdName :: Lens' GreengrassFunctionDefinition (Val Text)
 gfdName = lens _greengrassFunctionDefinitionName (\s a -> s { _greengrassFunctionDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-tags
+gfdTags :: Lens' GreengrassFunctionDefinition (Maybe Object)
+gfdTags = lens _greengrassFunctionDefinitionTags (\s a -> s { _greengrassFunctionDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassGroup.hs b/library-gen/Stratosphere/Resources/GreengrassGroup.hs
--- a/library-gen/Stratosphere/Resources/GreengrassGroup.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassGroup.hs
@@ -17,6 +17,7 @@
   { _greengrassGroupInitialVersion :: Maybe GreengrassGroupGroupVersion
   , _greengrassGroupName :: Val Text
   , _greengrassGroupRoleArn :: Maybe (Val Text)
+  , _greengrassGroupTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassGroup where
@@ -28,6 +29,7 @@
         [ fmap (("InitialVersion",) . toJSON) _greengrassGroupInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassGroupName
         , fmap (("RoleArn",) . toJSON) _greengrassGroupRoleArn
+        , fmap (("Tags",) . toJSON) _greengrassGroupTags
         ]
     }
 
@@ -41,6 +43,7 @@
   { _greengrassGroupInitialVersion = Nothing
   , _greengrassGroupName = namearg
   , _greengrassGroupRoleArn = Nothing
+  , _greengrassGroupTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-initialversion
@@ -54,3 +57,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-rolearn
 ggRoleArn :: Lens' GreengrassGroup (Maybe (Val Text))
 ggRoleArn = lens _greengrassGroupRoleArn (\s a -> s { _greengrassGroupRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-tags
+ggTags :: Lens' GreengrassGroup (Maybe Object)
+ggTags = lens _greengrassGroupTags (\s a -> s { _greengrassGroupTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassLoggerDefinition
   { _greengrassLoggerDefinitionInitialVersion :: Maybe GreengrassLoggerDefinitionLoggerDefinitionVersion
   , _greengrassLoggerDefinitionName :: Val Text
+  , _greengrassLoggerDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassLoggerDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassLoggerDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassLoggerDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassLoggerDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassLoggerDefinition
   { _greengrassLoggerDefinitionInitialVersion = Nothing
   , _greengrassLoggerDefinitionName = namearg
+  , _greengrassLoggerDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-name
 gldName :: Lens' GreengrassLoggerDefinition (Val Text)
 gldName = lens _greengrassLoggerDefinitionName (\s a -> s { _greengrassLoggerDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-tags
+gldTags :: Lens' GreengrassLoggerDefinition (Maybe Object)
+gldTags = lens _greengrassLoggerDefinitionTags (\s a -> s { _greengrassLoggerDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassResourceDefinition
   { _greengrassResourceDefinitionInitialVersion :: Maybe GreengrassResourceDefinitionResourceDefinitionVersion
   , _greengrassResourceDefinitionName :: Val Text
+  , _greengrassResourceDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassResourceDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassResourceDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassResourceDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassResourceDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassResourceDefinition
   { _greengrassResourceDefinitionInitialVersion = Nothing
   , _greengrassResourceDefinitionName = namearg
+  , _greengrassResourceDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-name
 grdName :: Lens' GreengrassResourceDefinition (Val Text)
 grdName = lens _greengrassResourceDefinitionName (\s a -> s { _greengrassResourceDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-tags
+grdTags :: Lens' GreengrassResourceDefinition (Maybe Object)
+grdTags = lens _greengrassResourceDefinitionTags (\s a -> s { _greengrassResourceDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
@@ -16,6 +16,7 @@
   GreengrassSubscriptionDefinition
   { _greengrassSubscriptionDefinitionInitialVersion :: Maybe GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
   , _greengrassSubscriptionDefinitionName :: Val Text
+  , _greengrassSubscriptionDefinitionTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties GreengrassSubscriptionDefinition where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassSubscriptionDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassSubscriptionDefinitionName
+        , fmap (("Tags",) . toJSON) _greengrassSubscriptionDefinitionTags
         ]
     }
 
@@ -38,6 +40,7 @@
   GreengrassSubscriptionDefinition
   { _greengrassSubscriptionDefinitionInitialVersion = Nothing
   , _greengrassSubscriptionDefinitionName = namearg
+  , _greengrassSubscriptionDefinitionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-initialversion
@@ -47,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-name
 gsdName :: Lens' GreengrassSubscriptionDefinition (Val Text)
 gsdName = lens _greengrassSubscriptionDefinitionName (\s a -> s { _greengrassSubscriptionDefinitionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-tags
+gsdTags :: Lens' GreengrassSubscriptionDefinition (Maybe Object)
+gsdTags = lens _greengrassSubscriptionDefinitionTags (\s a -> s { _greengrassSubscriptionDefinitionTags = a })
diff --git a/library-gen/Stratosphere/Resources/IAMRole.hs b/library-gen/Stratosphere/Resources/IAMRole.hs
--- a/library-gen/Stratosphere/Resources/IAMRole.hs
+++ b/library-gen/Stratosphere/Resources/IAMRole.hs
@@ -9,18 +9,21 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.IAMRolePolicy
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for IAMRole. See 'iamRole' for a more
 -- convenient constructor.
 data IAMRole =
   IAMRole
   { _iAMRoleAssumeRolePolicyDocument :: Object
+  , _iAMRoleDescription :: Maybe (Val Text)
   , _iAMRoleManagedPolicyArns :: Maybe (ValList Text)
   , _iAMRoleMaxSessionDuration :: Maybe (Val Integer)
   , _iAMRolePath :: Maybe (Val Text)
   , _iAMRolePermissionsBoundary :: Maybe (Val Text)
   , _iAMRolePolicies :: Maybe [IAMRolePolicy]
   , _iAMRoleRoleName :: Maybe (Val Text)
+  , _iAMRoleTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties IAMRole where
@@ -30,12 +33,14 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("AssumeRolePolicyDocument",) . toJSON) _iAMRoleAssumeRolePolicyDocument
+        , fmap (("Description",) . toJSON) _iAMRoleDescription
         , fmap (("ManagedPolicyArns",) . toJSON) _iAMRoleManagedPolicyArns
         , fmap (("MaxSessionDuration",) . toJSON) _iAMRoleMaxSessionDuration
         , fmap (("Path",) . toJSON) _iAMRolePath
         , fmap (("PermissionsBoundary",) . toJSON) _iAMRolePermissionsBoundary
         , fmap (("Policies",) . toJSON) _iAMRolePolicies
         , fmap (("RoleName",) . toJSON) _iAMRoleRoleName
+        , fmap (("Tags",) . toJSON) _iAMRoleTags
         ]
     }
 
@@ -46,18 +51,24 @@
 iamRole assumeRolePolicyDocumentarg =
   IAMRole
   { _iAMRoleAssumeRolePolicyDocument = assumeRolePolicyDocumentarg
+  , _iAMRoleDescription = Nothing
   , _iAMRoleManagedPolicyArns = Nothing
   , _iAMRoleMaxSessionDuration = Nothing
   , _iAMRolePath = Nothing
   , _iAMRolePermissionsBoundary = Nothing
   , _iAMRolePolicies = Nothing
   , _iAMRoleRoleName = Nothing
+  , _iAMRoleTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument
 iamrAssumeRolePolicyDocument :: Lens' IAMRole Object
 iamrAssumeRolePolicyDocument = lens _iAMRoleAssumeRolePolicyDocument (\s a -> s { _iAMRoleAssumeRolePolicyDocument = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-description
+iamrDescription :: Lens' IAMRole (Maybe (Val Text))
+iamrDescription = lens _iAMRoleDescription (\s a -> s { _iAMRoleDescription = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-managepolicyarns
 iamrManagedPolicyArns :: Lens' IAMRole (Maybe (ValList Text))
 iamrManagedPolicyArns = lens _iAMRoleManagedPolicyArns (\s a -> s { _iAMRoleManagedPolicyArns = a })
@@ -81,3 +92,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-rolename
 iamrRoleName :: Lens' IAMRole (Maybe (Val Text))
 iamrRoleName = lens _iAMRoleRoleName (\s a -> s { _iAMRoleRoleName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-tags
+iamrTags :: Lens' IAMRole (Maybe [Tag])
+iamrTags = lens _iAMRoleTags (\s a -> s { _iAMRoleTags = a })
diff --git a/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs b/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html
+
+module Stratosphere.Resources.LakeFormationDataLakeSettings where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LakeFormationDataLakeSettingsDataLakePrincipal
+
+-- | Full data type definition for LakeFormationDataLakeSettings. See
+-- 'lakeFormationDataLakeSettings' for a more convenient constructor.
+data LakeFormationDataLakeSettings =
+  LakeFormationDataLakeSettings
+  { _lakeFormationDataLakeSettingsAdmins :: Maybe [LakeFormationDataLakeSettingsDataLakePrincipal]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties LakeFormationDataLakeSettings where
+  toResourceProperties LakeFormationDataLakeSettings{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::LakeFormation::DataLakeSettings"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Admins",) . toJSON) _lakeFormationDataLakeSettingsAdmins
+        ]
+    }
+
+-- | Constructor for 'LakeFormationDataLakeSettings' containing required
+-- fields as arguments.
+lakeFormationDataLakeSettings
+  :: LakeFormationDataLakeSettings
+lakeFormationDataLakeSettings  =
+  LakeFormationDataLakeSettings
+  { _lakeFormationDataLakeSettingsAdmins = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-admins
+lfdlsAdmins :: Lens' LakeFormationDataLakeSettings (Maybe [LakeFormationDataLakeSettingsDataLakePrincipal])
+lfdlsAdmins = lens _lakeFormationDataLakeSettingsAdmins (\s a -> s { _lakeFormationDataLakeSettingsAdmins = a })
diff --git a/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs b/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html
+
+module Stratosphere.Resources.LakeFormationPermissions where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LakeFormationPermissionsDataLakePrincipal
+import Stratosphere.ResourceProperties.LakeFormationPermissionsResource
+
+-- | Full data type definition for LakeFormationPermissions. See
+-- 'lakeFormationPermissions' for a more convenient constructor.
+data LakeFormationPermissions =
+  LakeFormationPermissions
+  { _lakeFormationPermissionsDataLakePrincipal :: LakeFormationPermissionsDataLakePrincipal
+  , _lakeFormationPermissionsPermissions :: Maybe (ValList Text)
+  , _lakeFormationPermissionsPermissionsWithGrantOption :: Maybe (ValList Text)
+  , _lakeFormationPermissionsResource :: LakeFormationPermissionsResource
+  } deriving (Show, Eq)
+
+instance ToResourceProperties LakeFormationPermissions where
+  toResourceProperties LakeFormationPermissions{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::LakeFormation::Permissions"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("DataLakePrincipal",) . toJSON) _lakeFormationPermissionsDataLakePrincipal
+        , fmap (("Permissions",) . toJSON) _lakeFormationPermissionsPermissions
+        , fmap (("PermissionsWithGrantOption",) . toJSON) _lakeFormationPermissionsPermissionsWithGrantOption
+        , (Just . ("Resource",) . toJSON) _lakeFormationPermissionsResource
+        ]
+    }
+
+-- | Constructor for 'LakeFormationPermissions' containing required fields as
+-- arguments.
+lakeFormationPermissions
+  :: LakeFormationPermissionsDataLakePrincipal -- ^ 'lfpDataLakePrincipal'
+  -> LakeFormationPermissionsResource -- ^ 'lfpResource'
+  -> LakeFormationPermissions
+lakeFormationPermissions dataLakePrincipalarg resourcearg =
+  LakeFormationPermissions
+  { _lakeFormationPermissionsDataLakePrincipal = dataLakePrincipalarg
+  , _lakeFormationPermissionsPermissions = Nothing
+  , _lakeFormationPermissionsPermissionsWithGrantOption = Nothing
+  , _lakeFormationPermissionsResource = resourcearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-datalakeprincipal
+lfpDataLakePrincipal :: Lens' LakeFormationPermissions LakeFormationPermissionsDataLakePrincipal
+lfpDataLakePrincipal = lens _lakeFormationPermissionsDataLakePrincipal (\s a -> s { _lakeFormationPermissionsDataLakePrincipal = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-permissions
+lfpPermissions :: Lens' LakeFormationPermissions (Maybe (ValList Text))
+lfpPermissions = lens _lakeFormationPermissionsPermissions (\s a -> s { _lakeFormationPermissionsPermissions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-permissionswithgrantoption
+lfpPermissionsWithGrantOption :: Lens' LakeFormationPermissions (Maybe (ValList Text))
+lfpPermissionsWithGrantOption = lens _lakeFormationPermissionsPermissionsWithGrantOption (\s a -> s { _lakeFormationPermissionsPermissionsWithGrantOption = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-resource
+lfpResource :: Lens' LakeFormationPermissions LakeFormationPermissionsResource
+lfpResource = lens _lakeFormationPermissionsResource (\s a -> s { _lakeFormationPermissionsResource = a })
diff --git a/library-gen/Stratosphere/Resources/LakeFormationResource.hs b/library-gen/Stratosphere/Resources/LakeFormationResource.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/LakeFormationResource.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html
+
+module Stratosphere.Resources.LakeFormationResource where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LakeFormationResource. See
+-- 'lakeFormationResource' for a more convenient constructor.
+data LakeFormationResource =
+  LakeFormationResource
+  { _lakeFormationResourceResourceArn :: Val Text
+  , _lakeFormationResourceRoleArn :: Maybe (Val Text)
+  , _lakeFormationResourceUseServiceLinkedRole :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToResourceProperties LakeFormationResource where
+  toResourceProperties LakeFormationResource{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::LakeFormation::Resource"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ResourceArn",) . toJSON) _lakeFormationResourceResourceArn
+        , fmap (("RoleArn",) . toJSON) _lakeFormationResourceRoleArn
+        , (Just . ("UseServiceLinkedRole",) . toJSON) _lakeFormationResourceUseServiceLinkedRole
+        ]
+    }
+
+-- | Constructor for 'LakeFormationResource' containing required fields as
+-- arguments.
+lakeFormationResource
+  :: Val Text -- ^ 'lfrResourceArn'
+  -> Val Bool -- ^ 'lfrUseServiceLinkedRole'
+  -> LakeFormationResource
+lakeFormationResource resourceArnarg useServiceLinkedRolearg =
+  LakeFormationResource
+  { _lakeFormationResourceResourceArn = resourceArnarg
+  , _lakeFormationResourceRoleArn = Nothing
+  , _lakeFormationResourceUseServiceLinkedRole = useServiceLinkedRolearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-resourcearn
+lfrResourceArn :: Lens' LakeFormationResource (Val Text)
+lfrResourceArn = lens _lakeFormationResourceResourceArn (\s a -> s { _lakeFormationResourceResourceArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-rolearn
+lfrRoleArn :: Lens' LakeFormationResource (Maybe (Val Text))
+lfrRoleArn = lens _lakeFormationResourceRoleArn (\s a -> s { _lakeFormationResourceRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-useservicelinkedrole
+lfrUseServiceLinkedRole :: Lens' LakeFormationResource (Val Bool)
+lfrUseServiceLinkedRole = lens _lakeFormationResourceUseServiceLinkedRole (\s a -> s { _lakeFormationResourceUseServiceLinkedRole = a })
diff --git a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
--- a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
+++ b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
@@ -18,6 +18,7 @@
   , _lambdaEventSourceMappingEnabled :: Maybe (Val Bool)
   , _lambdaEventSourceMappingEventSourceArn :: Val Text
   , _lambdaEventSourceMappingFunctionName :: Val Text
+  , _lambdaEventSourceMappingMaximumBatchingWindowInSeconds :: Maybe (Val Integer)
   , _lambdaEventSourceMappingStartingPosition :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -31,6 +32,7 @@
         , fmap (("Enabled",) . toJSON) _lambdaEventSourceMappingEnabled
         , (Just . ("EventSourceArn",) . toJSON) _lambdaEventSourceMappingEventSourceArn
         , (Just . ("FunctionName",) . toJSON) _lambdaEventSourceMappingFunctionName
+        , fmap (("MaximumBatchingWindowInSeconds",) . toJSON) _lambdaEventSourceMappingMaximumBatchingWindowInSeconds
         , fmap (("StartingPosition",) . toJSON) _lambdaEventSourceMappingStartingPosition
         ]
     }
@@ -47,6 +49,7 @@
   , _lambdaEventSourceMappingEnabled = Nothing
   , _lambdaEventSourceMappingEventSourceArn = eventSourceArnarg
   , _lambdaEventSourceMappingFunctionName = functionNamearg
+  , _lambdaEventSourceMappingMaximumBatchingWindowInSeconds = Nothing
   , _lambdaEventSourceMappingStartingPosition = Nothing
   }
 
@@ -65,6 +68,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionname
 lesmFunctionName :: Lens' LambdaEventSourceMapping (Val Text)
 lesmFunctionName = lens _lambdaEventSourceMappingFunctionName (\s a -> s { _lambdaEventSourceMappingFunctionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds
+lesmMaximumBatchingWindowInSeconds :: Lens' LambdaEventSourceMapping (Maybe (Val Integer))
+lesmMaximumBatchingWindowInSeconds = lens _lambdaEventSourceMappingMaximumBatchingWindowInSeconds (\s a -> s { _lambdaEventSourceMappingMaximumBatchingWindowInSeconds = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition
 lesmStartingPosition :: Lens' LambdaEventSourceMapping (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs b/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html
+
+module Stratosphere.Resources.ManagedBlockchainMember where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration
+import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkConfiguration
+
+-- | Full data type definition for ManagedBlockchainMember. See
+-- 'managedBlockchainMember' for a more convenient constructor.
+data ManagedBlockchainMember =
+  ManagedBlockchainMember
+  { _managedBlockchainMemberInvitationId :: Maybe (Val Text)
+  , _managedBlockchainMemberMemberConfiguration :: ManagedBlockchainMemberMemberConfiguration
+  , _managedBlockchainMemberNetworkConfiguration :: Maybe ManagedBlockchainMemberNetworkConfiguration
+  , _managedBlockchainMemberNetworkId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ManagedBlockchainMember where
+  toResourceProperties ManagedBlockchainMember{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ManagedBlockchain::Member"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InvitationId",) . toJSON) _managedBlockchainMemberInvitationId
+        , (Just . ("MemberConfiguration",) . toJSON) _managedBlockchainMemberMemberConfiguration
+        , fmap (("NetworkConfiguration",) . toJSON) _managedBlockchainMemberNetworkConfiguration
+        , fmap (("NetworkId",) . toJSON) _managedBlockchainMemberNetworkId
+        ]
+    }
+
+-- | Constructor for 'ManagedBlockchainMember' containing required fields as
+-- arguments.
+managedBlockchainMember
+  :: ManagedBlockchainMemberMemberConfiguration -- ^ 'mbmMemberConfiguration'
+  -> ManagedBlockchainMember
+managedBlockchainMember memberConfigurationarg =
+  ManagedBlockchainMember
+  { _managedBlockchainMemberInvitationId = Nothing
+  , _managedBlockchainMemberMemberConfiguration = memberConfigurationarg
+  , _managedBlockchainMemberNetworkConfiguration = Nothing
+  , _managedBlockchainMemberNetworkId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-invitationid
+mbmInvitationId :: Lens' ManagedBlockchainMember (Maybe (Val Text))
+mbmInvitationId = lens _managedBlockchainMemberInvitationId (\s a -> s { _managedBlockchainMemberInvitationId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-memberconfiguration
+mbmMemberConfiguration :: Lens' ManagedBlockchainMember ManagedBlockchainMemberMemberConfiguration
+mbmMemberConfiguration = lens _managedBlockchainMemberMemberConfiguration (\s a -> s { _managedBlockchainMemberMemberConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-networkconfiguration
+mbmNetworkConfiguration :: Lens' ManagedBlockchainMember (Maybe ManagedBlockchainMemberNetworkConfiguration)
+mbmNetworkConfiguration = lens _managedBlockchainMemberNetworkConfiguration (\s a -> s { _managedBlockchainMemberNetworkConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-networkid
+mbmNetworkId :: Lens' ManagedBlockchainMember (Maybe (Val Text))
+mbmNetworkId = lens _managedBlockchainMemberNetworkId (\s a -> s { _managedBlockchainMemberNetworkId = a })
diff --git a/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs b/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html
+
+module Stratosphere.Resources.ManagedBlockchainNode where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration
+
+-- | Full data type definition for ManagedBlockchainNode. See
+-- 'managedBlockchainNode' for a more convenient constructor.
+data ManagedBlockchainNode =
+  ManagedBlockchainNode
+  { _managedBlockchainNodeMemberId :: Val Text
+  , _managedBlockchainNodeNetworkId :: Val Text
+  , _managedBlockchainNodeNodeConfiguration :: ManagedBlockchainNodeNodeConfiguration
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ManagedBlockchainNode where
+  toResourceProperties ManagedBlockchainNode{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ManagedBlockchain::Node"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("MemberId",) . toJSON) _managedBlockchainNodeMemberId
+        , (Just . ("NetworkId",) . toJSON) _managedBlockchainNodeNetworkId
+        , (Just . ("NodeConfiguration",) . toJSON) _managedBlockchainNodeNodeConfiguration
+        ]
+    }
+
+-- | Constructor for 'ManagedBlockchainNode' containing required fields as
+-- arguments.
+managedBlockchainNode
+  :: Val Text -- ^ 'mbnMemberId'
+  -> Val Text -- ^ 'mbnNetworkId'
+  -> ManagedBlockchainNodeNodeConfiguration -- ^ 'mbnNodeConfiguration'
+  -> ManagedBlockchainNode
+managedBlockchainNode memberIdarg networkIdarg nodeConfigurationarg =
+  ManagedBlockchainNode
+  { _managedBlockchainNodeMemberId = memberIdarg
+  , _managedBlockchainNodeNetworkId = networkIdarg
+  , _managedBlockchainNodeNodeConfiguration = nodeConfigurationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-memberid
+mbnMemberId :: Lens' ManagedBlockchainNode (Val Text)
+mbnMemberId = lens _managedBlockchainNodeMemberId (\s a -> s { _managedBlockchainNodeMemberId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-networkid
+mbnNetworkId :: Lens' ManagedBlockchainNode (Val Text)
+mbnNetworkId = lens _managedBlockchainNodeNetworkId (\s a -> s { _managedBlockchainNodeNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-nodeconfiguration
+mbnNodeConfiguration :: Lens' ManagedBlockchainNode ManagedBlockchainNodeNodeConfiguration
+mbnNodeConfiguration = lens _managedBlockchainNodeNodeConfiguration (\s a -> s { _managedBlockchainNodeNodeConfiguration = a })
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs b/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
@@ -19,6 +19,7 @@
   , _neptuneDBClusterDBClusterIdentifier :: Maybe (Val Text)
   , _neptuneDBClusterDBClusterParameterGroupName :: Maybe (Val Text)
   , _neptuneDBClusterDBSubnetGroupName :: Maybe (Val Text)
+  , _neptuneDBClusterEnableCloudwatchLogsExports :: Maybe (ValList Text)
   , _neptuneDBClusterIamAuthEnabled :: Maybe (Val Bool)
   , _neptuneDBClusterKmsKeyId :: Maybe (Val Text)
   , _neptuneDBClusterPort :: Maybe (Val Integer)
@@ -41,6 +42,7 @@
         , fmap (("DBClusterIdentifier",) . toJSON) _neptuneDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _neptuneDBClusterDBClusterParameterGroupName
         , fmap (("DBSubnetGroupName",) . toJSON) _neptuneDBClusterDBSubnetGroupName
+        , fmap (("EnableCloudwatchLogsExports",) . toJSON) _neptuneDBClusterEnableCloudwatchLogsExports
         , fmap (("IamAuthEnabled",) . toJSON) _neptuneDBClusterIamAuthEnabled
         , fmap (("KmsKeyId",) . toJSON) _neptuneDBClusterKmsKeyId
         , fmap (("Port",) . toJSON) _neptuneDBClusterPort
@@ -64,6 +66,7 @@
   , _neptuneDBClusterDBClusterIdentifier = Nothing
   , _neptuneDBClusterDBClusterParameterGroupName = Nothing
   , _neptuneDBClusterDBSubnetGroupName = Nothing
+  , _neptuneDBClusterEnableCloudwatchLogsExports = Nothing
   , _neptuneDBClusterIamAuthEnabled = Nothing
   , _neptuneDBClusterKmsKeyId = Nothing
   , _neptuneDBClusterPort = Nothing
@@ -94,6 +97,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbsubnetgroupname
 ndbcDBSubnetGroupName :: Lens' NeptuneDBCluster (Maybe (Val Text))
 ndbcDBSubnetGroupName = lens _neptuneDBClusterDBSubnetGroupName (\s a -> s { _neptuneDBClusterDBSubnetGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-enablecloudwatchlogsexports
+ndbcEnableCloudwatchLogsExports :: Lens' NeptuneDBCluster (Maybe (ValList Text))
+ndbcEnableCloudwatchLogsExports = lens _neptuneDBClusterEnableCloudwatchLogsExports (\s a -> s { _neptuneDBClusterEnableCloudwatchLogsExports = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-iamauthenabled
 ndbcIamAuthEnabled :: Lens' NeptuneDBCluster (Maybe (Val Bool))
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
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.RDSDBCluster where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole
 import Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration
 import Stratosphere.ResourceProperties.Tag
 
@@ -15,7 +16,8 @@
 -- convenient constructor.
 data RDSDBCluster =
   RDSDBCluster
-  { _rDSDBClusterAvailabilityZones :: Maybe (ValList Text)
+  { _rDSDBClusterAssociatedRoles :: Maybe [RDSDBClusterDBClusterRole]
+  , _rDSDBClusterAvailabilityZones :: Maybe (ValList Text)
   , _rDSDBClusterBacktrackWindow :: Maybe (Val Integer)
   , _rDSDBClusterBackupRetentionPeriod :: Maybe (Val Integer)
   , _rDSDBClusterDBClusterIdentifier :: Maybe (Val Text)
@@ -35,11 +37,14 @@
   , _rDSDBClusterPreferredBackupWindow :: Maybe (Val Text)
   , _rDSDBClusterPreferredMaintenanceWindow :: Maybe (Val Text)
   , _rDSDBClusterReplicationSourceIdentifier :: Maybe (Val Text)
+  , _rDSDBClusterRestoreType :: Maybe (Val Text)
   , _rDSDBClusterScalingConfiguration :: Maybe RDSDBClusterScalingConfiguration
   , _rDSDBClusterSnapshotIdentifier :: Maybe (Val Text)
+  , _rDSDBClusterSourceDBClusterIdentifier :: Maybe (Val Text)
   , _rDSDBClusterSourceRegion :: Maybe (Val Text)
   , _rDSDBClusterStorageEncrypted :: Maybe (Val Bool)
   , _rDSDBClusterTags :: Maybe [Tag]
+  , _rDSDBClusterUseLatestRestorableTime :: Maybe (Val Bool)
   , _rDSDBClusterVpcSecurityGroupIds :: Maybe (ValList Text)
   } deriving (Show, Eq)
 
@@ -49,7 +54,8 @@
     { resourcePropertiesType = "AWS::RDS::DBCluster"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AvailabilityZones",) . toJSON) _rDSDBClusterAvailabilityZones
+        [ fmap (("AssociatedRoles",) . toJSON) _rDSDBClusterAssociatedRoles
+        , fmap (("AvailabilityZones",) . toJSON) _rDSDBClusterAvailabilityZones
         , fmap (("BacktrackWindow",) . toJSON) _rDSDBClusterBacktrackWindow
         , fmap (("BackupRetentionPeriod",) . toJSON) _rDSDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _rDSDBClusterDBClusterIdentifier
@@ -69,11 +75,14 @@
         , fmap (("PreferredBackupWindow",) . toJSON) _rDSDBClusterPreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _rDSDBClusterPreferredMaintenanceWindow
         , fmap (("ReplicationSourceIdentifier",) . toJSON) _rDSDBClusterReplicationSourceIdentifier
+        , fmap (("RestoreType",) . toJSON) _rDSDBClusterRestoreType
         , fmap (("ScalingConfiguration",) . toJSON) _rDSDBClusterScalingConfiguration
         , fmap (("SnapshotIdentifier",) . toJSON) _rDSDBClusterSnapshotIdentifier
+        , fmap (("SourceDBClusterIdentifier",) . toJSON) _rDSDBClusterSourceDBClusterIdentifier
         , fmap (("SourceRegion",) . toJSON) _rDSDBClusterSourceRegion
         , fmap (("StorageEncrypted",) . toJSON) _rDSDBClusterStorageEncrypted
         , fmap (("Tags",) . toJSON) _rDSDBClusterTags
+        , fmap (("UseLatestRestorableTime",) . toJSON) _rDSDBClusterUseLatestRestorableTime
         , fmap (("VpcSecurityGroupIds",) . toJSON) _rDSDBClusterVpcSecurityGroupIds
         ]
     }
@@ -84,7 +93,8 @@
   -> RDSDBCluster
 rdsdbCluster enginearg =
   RDSDBCluster
-  { _rDSDBClusterAvailabilityZones = Nothing
+  { _rDSDBClusterAssociatedRoles = Nothing
+  , _rDSDBClusterAvailabilityZones = Nothing
   , _rDSDBClusterBacktrackWindow = Nothing
   , _rDSDBClusterBackupRetentionPeriod = Nothing
   , _rDSDBClusterDBClusterIdentifier = Nothing
@@ -104,14 +114,21 @@
   , _rDSDBClusterPreferredBackupWindow = Nothing
   , _rDSDBClusterPreferredMaintenanceWindow = Nothing
   , _rDSDBClusterReplicationSourceIdentifier = Nothing
+  , _rDSDBClusterRestoreType = Nothing
   , _rDSDBClusterScalingConfiguration = Nothing
   , _rDSDBClusterSnapshotIdentifier = Nothing
+  , _rDSDBClusterSourceDBClusterIdentifier = Nothing
   , _rDSDBClusterSourceRegion = Nothing
   , _rDSDBClusterStorageEncrypted = Nothing
   , _rDSDBClusterTags = Nothing
+  , _rDSDBClusterUseLatestRestorableTime = Nothing
   , _rDSDBClusterVpcSecurityGroupIds = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-associatedroles
+rdsdbcAssociatedRoles :: Lens' RDSDBCluster (Maybe [RDSDBClusterDBClusterRole])
+rdsdbcAssociatedRoles = lens _rDSDBClusterAssociatedRoles (\s a -> s { _rDSDBClusterAssociatedRoles = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones
 rdsdbcAvailabilityZones :: Lens' RDSDBCluster (Maybe (ValList Text))
 rdsdbcAvailabilityZones = lens _rDSDBClusterAvailabilityZones (\s a -> s { _rDSDBClusterAvailabilityZones = a })
@@ -192,6 +209,10 @@
 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-restoretype
+rdsdbcRestoreType :: Lens' RDSDBCluster (Maybe (Val Text))
+rdsdbcRestoreType = lens _rDSDBClusterRestoreType (\s a -> s { _rDSDBClusterRestoreType = 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 })
@@ -200,6 +221,10 @@
 rdsdbcSnapshotIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcSnapshotIdentifier = lens _rDSDBClusterSnapshotIdentifier (\s a -> s { _rDSDBClusterSnapshotIdentifier = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourcedbclusteridentifier
+rdsdbcSourceDBClusterIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
+rdsdbcSourceDBClusterIdentifier = lens _rDSDBClusterSourceDBClusterIdentifier (\s a -> s { _rDSDBClusterSourceDBClusterIdentifier = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourceregion
 rdsdbcSourceRegion :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcSourceRegion = lens _rDSDBClusterSourceRegion (\s a -> s { _rDSDBClusterSourceRegion = a })
@@ -211,6 +236,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-tags
 rdsdbcTags :: Lens' RDSDBCluster (Maybe [Tag])
 rdsdbcTags = lens _rDSDBClusterTags (\s a -> s { _rDSDBClusterTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-uselatestrestorabletime
+rdsdbcUseLatestRestorableTime :: Lens' RDSDBCluster (Maybe (Val Bool))
+rdsdbcUseLatestRestorableTime = lens _rDSDBClusterUseLatestRestorableTime (\s a -> s { _rDSDBClusterUseLatestRestorableTime = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-vpcsecuritygroupids
 rdsdbcVpcSecurityGroupIds :: Lens' RDSDBCluster (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/RDSDBInstance.hs b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
--- a/library-gen/Stratosphere/Resources/RDSDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.RDSDBInstance where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole
 import Stratosphere.ResourceProperties.RDSDBInstanceProcessorFeature
 import Stratosphere.ResourceProperties.Tag
 
@@ -17,6 +18,7 @@
   RDSDBInstance
   { _rDSDBInstanceAllocatedStorage :: Maybe (Val Text)
   , _rDSDBInstanceAllowMajorVersionUpgrade :: Maybe (Val Bool)
+  , _rDSDBInstanceAssociatedRoles :: Maybe [RDSDBInstanceDBInstanceRole]
   , _rDSDBInstanceAutoMinorVersionUpgrade :: Maybe (Val Bool)
   , _rDSDBInstanceAvailabilityZone :: Maybe (Val Text)
   , _rDSDBInstanceBackupRetentionPeriod :: Maybe (Val Integer)
@@ -74,6 +76,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("AllocatedStorage",) . toJSON) _rDSDBInstanceAllocatedStorage
         , fmap (("AllowMajorVersionUpgrade",) . toJSON) _rDSDBInstanceAllowMajorVersionUpgrade
+        , fmap (("AssociatedRoles",) . toJSON) _rDSDBInstanceAssociatedRoles
         , fmap (("AutoMinorVersionUpgrade",) . toJSON) _rDSDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _rDSDBInstanceAvailabilityZone
         , fmap (("BackupRetentionPeriod",) . toJSON) _rDSDBInstanceBackupRetentionPeriod
@@ -132,6 +135,7 @@
   RDSDBInstance
   { _rDSDBInstanceAllocatedStorage = Nothing
   , _rDSDBInstanceAllowMajorVersionUpgrade = Nothing
+  , _rDSDBInstanceAssociatedRoles = Nothing
   , _rDSDBInstanceAutoMinorVersionUpgrade = Nothing
   , _rDSDBInstanceAvailabilityZone = Nothing
   , _rDSDBInstanceBackupRetentionPeriod = Nothing
@@ -188,6 +192,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-allowmajorversionupgrade
 rdsdbiAllowMajorVersionUpgrade :: Lens' RDSDBInstance (Maybe (Val Bool))
 rdsdbiAllowMajorVersionUpgrade = lens _rDSDBInstanceAllowMajorVersionUpgrade (\s a -> s { _rDSDBInstanceAllowMajorVersionUpgrade = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-associatedroles
+rdsdbiAssociatedRoles :: Lens' RDSDBInstance (Maybe [RDSDBInstanceDBInstanceRole])
+rdsdbiAssociatedRoles = lens _rDSDBInstanceAssociatedRoles (\s a -> s { _rDSDBInstanceAssociatedRoles = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-autominorversionupgrade
 rdsdbiAutoMinorVersionUpgrade :: Lens' RDSDBInstance (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs
@@ -0,0 +1,79 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html
+
+module Stratosphere.Resources.SSMMaintenanceWindowTarget where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.SSMMaintenanceWindowTargetTargets
+
+-- | Full data type definition for SSMMaintenanceWindowTarget. See
+-- 'ssmMaintenanceWindowTarget' for a more convenient constructor.
+data SSMMaintenanceWindowTarget =
+  SSMMaintenanceWindowTarget
+  { _sSMMaintenanceWindowTargetDescription :: Maybe (Val Text)
+  , _sSMMaintenanceWindowTargetName :: Maybe (Val Text)
+  , _sSMMaintenanceWindowTargetOwnerInformation :: Maybe (Val Text)
+  , _sSMMaintenanceWindowTargetResourceType :: Val Text
+  , _sSMMaintenanceWindowTargetTargets :: [SSMMaintenanceWindowTargetTargets]
+  , _sSMMaintenanceWindowTargetWindowId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties SSMMaintenanceWindowTarget where
+  toResourceProperties SSMMaintenanceWindowTarget{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::SSM::MaintenanceWindowTarget"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _sSMMaintenanceWindowTargetDescription
+        , fmap (("Name",) . toJSON) _sSMMaintenanceWindowTargetName
+        , fmap (("OwnerInformation",) . toJSON) _sSMMaintenanceWindowTargetOwnerInformation
+        , (Just . ("ResourceType",) . toJSON) _sSMMaintenanceWindowTargetResourceType
+        , (Just . ("Targets",) . toJSON) _sSMMaintenanceWindowTargetTargets
+        , (Just . ("WindowId",) . toJSON) _sSMMaintenanceWindowTargetWindowId
+        ]
+    }
+
+-- | Constructor for 'SSMMaintenanceWindowTarget' containing required fields
+-- as arguments.
+ssmMaintenanceWindowTarget
+  :: Val Text -- ^ 'ssmmwtarResourceType'
+  -> [SSMMaintenanceWindowTargetTargets] -- ^ 'ssmmwtarTargets'
+  -> Val Text -- ^ 'ssmmwtarWindowId'
+  -> SSMMaintenanceWindowTarget
+ssmMaintenanceWindowTarget resourceTypearg targetsarg windowIdarg =
+  SSMMaintenanceWindowTarget
+  { _sSMMaintenanceWindowTargetDescription = Nothing
+  , _sSMMaintenanceWindowTargetName = Nothing
+  , _sSMMaintenanceWindowTargetOwnerInformation = Nothing
+  , _sSMMaintenanceWindowTargetResourceType = resourceTypearg
+  , _sSMMaintenanceWindowTargetTargets = targetsarg
+  , _sSMMaintenanceWindowTargetWindowId = windowIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-description
+ssmmwtarDescription :: Lens' SSMMaintenanceWindowTarget (Maybe (Val Text))
+ssmmwtarDescription = lens _sSMMaintenanceWindowTargetDescription (\s a -> s { _sSMMaintenanceWindowTargetDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-name
+ssmmwtarName :: Lens' SSMMaintenanceWindowTarget (Maybe (Val Text))
+ssmmwtarName = lens _sSMMaintenanceWindowTargetName (\s a -> s { _sSMMaintenanceWindowTargetName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-ownerinformation
+ssmmwtarOwnerInformation :: Lens' SSMMaintenanceWindowTarget (Maybe (Val Text))
+ssmmwtarOwnerInformation = lens _sSMMaintenanceWindowTargetOwnerInformation (\s a -> s { _sSMMaintenanceWindowTargetOwnerInformation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-resourcetype
+ssmmwtarResourceType :: Lens' SSMMaintenanceWindowTarget (Val Text)
+ssmmwtarResourceType = lens _sSMMaintenanceWindowTargetResourceType (\s a -> s { _sSMMaintenanceWindowTargetResourceType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-targets
+ssmmwtarTargets :: Lens' SSMMaintenanceWindowTarget [SSMMaintenanceWindowTargetTargets]
+ssmmwtarTargets = lens _sSMMaintenanceWindowTargetTargets (\s a -> s { _sSMMaintenanceWindowTargetTargets = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-windowid
+ssmmwtarWindowId :: Lens' SSMMaintenanceWindowTarget (Val Text)
+ssmmwtarWindowId = lens _sSMMaintenanceWindowTargetWindowId (\s a -> s { _sSMMaintenanceWindowTargetWindowId = a })
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
@@ -56,13 +56,13 @@
 -- | Constructor for 'SSMMaintenanceWindowTask' containing required fields as
 -- arguments.
 ssmMaintenanceWindowTask
-  :: Val Text -- ^ 'ssmmwtMaxConcurrency'
-  -> Val Text -- ^ 'ssmmwtMaxErrors'
-  -> Val Integer -- ^ 'ssmmwtPriority'
-  -> [SSMMaintenanceWindowTaskTarget] -- ^ 'ssmmwtTargets'
-  -> Val Text -- ^ 'ssmmwtTaskArn'
-  -> Val Text -- ^ 'ssmmwtTaskType'
-  -> Val Text -- ^ 'ssmmwtWindowId'
+  :: Val Text -- ^ 'ssmmwtasMaxConcurrency'
+  -> Val Text -- ^ 'ssmmwtasMaxErrors'
+  -> Val Integer -- ^ 'ssmmwtasPriority'
+  -> [SSMMaintenanceWindowTaskTarget] -- ^ 'ssmmwtasTargets'
+  -> Val Text -- ^ 'ssmmwtasTaskArn'
+  -> Val Text -- ^ 'ssmmwtasTaskType'
+  -> Val Text -- ^ 'ssmmwtasWindowId'
   -> SSMMaintenanceWindowTask
 ssmMaintenanceWindowTask maxConcurrencyarg maxErrorsarg priorityarg targetsarg taskArnarg taskTypearg windowIdarg =
   SSMMaintenanceWindowTask
@@ -82,53 +82,53 @@
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-description
-ssmmwtDescription :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
-ssmmwtDescription = lens _sSMMaintenanceWindowTaskDescription (\s a -> s { _sSMMaintenanceWindowTaskDescription = a })
+ssmmwtasDescription :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
+ssmmwtasDescription = lens _sSMMaintenanceWindowTaskDescription (\s a -> s { _sSMMaintenanceWindowTaskDescription = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-logginginfo
-ssmmwtLoggingInfo :: Lens' SSMMaintenanceWindowTask (Maybe SSMMaintenanceWindowTaskLoggingInfo)
-ssmmwtLoggingInfo = lens _sSMMaintenanceWindowTaskLoggingInfo (\s a -> s { _sSMMaintenanceWindowTaskLoggingInfo = a })
+ssmmwtasLoggingInfo :: Lens' SSMMaintenanceWindowTask (Maybe SSMMaintenanceWindowTaskLoggingInfo)
+ssmmwtasLoggingInfo = lens _sSMMaintenanceWindowTaskLoggingInfo (\s a -> s { _sSMMaintenanceWindowTaskLoggingInfo = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxconcurrency
-ssmmwtMaxConcurrency :: Lens' SSMMaintenanceWindowTask (Val Text)
-ssmmwtMaxConcurrency = lens _sSMMaintenanceWindowTaskMaxConcurrency (\s a -> s { _sSMMaintenanceWindowTaskMaxConcurrency = a })
+ssmmwtasMaxConcurrency :: Lens' SSMMaintenanceWindowTask (Val Text)
+ssmmwtasMaxConcurrency = lens _sSMMaintenanceWindowTaskMaxConcurrency (\s a -> s { _sSMMaintenanceWindowTaskMaxConcurrency = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxerrors
-ssmmwtMaxErrors :: Lens' SSMMaintenanceWindowTask (Val Text)
-ssmmwtMaxErrors = lens _sSMMaintenanceWindowTaskMaxErrors (\s a -> s { _sSMMaintenanceWindowTaskMaxErrors = a })
+ssmmwtasMaxErrors :: Lens' SSMMaintenanceWindowTask (Val Text)
+ssmmwtasMaxErrors = lens _sSMMaintenanceWindowTaskMaxErrors (\s a -> s { _sSMMaintenanceWindowTaskMaxErrors = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-name
-ssmmwtName :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
-ssmmwtName = lens _sSMMaintenanceWindowTaskName (\s a -> s { _sSMMaintenanceWindowTaskName = a })
+ssmmwtasName :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
+ssmmwtasName = lens _sSMMaintenanceWindowTaskName (\s a -> s { _sSMMaintenanceWindowTaskName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-priority
-ssmmwtPriority :: Lens' SSMMaintenanceWindowTask (Val Integer)
-ssmmwtPriority = lens _sSMMaintenanceWindowTaskPriority (\s a -> s { _sSMMaintenanceWindowTaskPriority = a })
+ssmmwtasPriority :: Lens' SSMMaintenanceWindowTask (Val Integer)
+ssmmwtasPriority = lens _sSMMaintenanceWindowTaskPriority (\s a -> s { _sSMMaintenanceWindowTaskPriority = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-servicerolearn
-ssmmwtServiceRoleArn :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
-ssmmwtServiceRoleArn = lens _sSMMaintenanceWindowTaskServiceRoleArn (\s a -> s { _sSMMaintenanceWindowTaskServiceRoleArn = a })
+ssmmwtasServiceRoleArn :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
+ssmmwtasServiceRoleArn = lens _sSMMaintenanceWindowTaskServiceRoleArn (\s a -> s { _sSMMaintenanceWindowTaskServiceRoleArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-targets
-ssmmwtTargets :: Lens' SSMMaintenanceWindowTask [SSMMaintenanceWindowTaskTarget]
-ssmmwtTargets = lens _sSMMaintenanceWindowTaskTargets (\s a -> s { _sSMMaintenanceWindowTaskTargets = a })
+ssmmwtasTargets :: Lens' SSMMaintenanceWindowTask [SSMMaintenanceWindowTaskTarget]
+ssmmwtasTargets = lens _sSMMaintenanceWindowTaskTargets (\s a -> s { _sSMMaintenanceWindowTaskTargets = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskarn
-ssmmwtTaskArn :: Lens' SSMMaintenanceWindowTask (Val Text)
-ssmmwtTaskArn = lens _sSMMaintenanceWindowTaskTaskArn (\s a -> s { _sSMMaintenanceWindowTaskTaskArn = a })
+ssmmwtasTaskArn :: Lens' SSMMaintenanceWindowTask (Val Text)
+ssmmwtasTaskArn = lens _sSMMaintenanceWindowTaskTaskArn (\s a -> s { _sSMMaintenanceWindowTaskTaskArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters
-ssmmwtTaskInvocationParameters :: Lens' SSMMaintenanceWindowTask (Maybe SSMMaintenanceWindowTaskTaskInvocationParameters)
-ssmmwtTaskInvocationParameters = lens _sSMMaintenanceWindowTaskTaskInvocationParameters (\s a -> s { _sSMMaintenanceWindowTaskTaskInvocationParameters = a })
+ssmmwtasTaskInvocationParameters :: Lens' SSMMaintenanceWindowTask (Maybe SSMMaintenanceWindowTaskTaskInvocationParameters)
+ssmmwtasTaskInvocationParameters = lens _sSMMaintenanceWindowTaskTaskInvocationParameters (\s a -> s { _sSMMaintenanceWindowTaskTaskInvocationParameters = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskparameters
-ssmmwtTaskParameters :: Lens' SSMMaintenanceWindowTask (Maybe Object)
-ssmmwtTaskParameters = lens _sSMMaintenanceWindowTaskTaskParameters (\s a -> s { _sSMMaintenanceWindowTaskTaskParameters = a })
+ssmmwtasTaskParameters :: Lens' SSMMaintenanceWindowTask (Maybe Object)
+ssmmwtasTaskParameters = lens _sSMMaintenanceWindowTaskTaskParameters (\s a -> s { _sSMMaintenanceWindowTaskTaskParameters = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-tasktype
-ssmmwtTaskType :: Lens' SSMMaintenanceWindowTask (Val Text)
-ssmmwtTaskType = lens _sSMMaintenanceWindowTaskTaskType (\s a -> s { _sSMMaintenanceWindowTaskTaskType = a })
+ssmmwtasTaskType :: Lens' SSMMaintenanceWindowTask (Val Text)
+ssmmwtasTaskType = lens _sSMMaintenanceWindowTaskTaskType (\s a -> s { _sSMMaintenanceWindowTaskTaskType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-windowid
-ssmmwtWindowId :: Lens' SSMMaintenanceWindowTask (Val Text)
-ssmmwtWindowId = lens _sSMMaintenanceWindowTaskWindowId (\s a -> s { _sSMMaintenanceWindowTaskWindowId = a })
+ssmmwtasWindowId :: Lens' SSMMaintenanceWindowTask (Val Text)
+ssmmwtasWindowId = lens _sSMMaintenanceWindowTaskWindowId (\s a -> s { _sSMMaintenanceWindowTaskWindowId = a })
diff --git a/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs b/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html
+
+module Stratosphere.Resources.SageMakerWorkteam where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.SageMakerWorkteamMemberDefinition
+import Stratosphere.ResourceProperties.SageMakerWorkteamNotificationConfiguration
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for SageMakerWorkteam. See 'sageMakerWorkteam'
+-- for a more convenient constructor.
+data SageMakerWorkteam =
+  SageMakerWorkteam
+  { _sageMakerWorkteamDescription :: Maybe (Val Text)
+  , _sageMakerWorkteamMemberDefinitions :: Maybe [SageMakerWorkteamMemberDefinition]
+  , _sageMakerWorkteamNotificationConfiguration :: Maybe SageMakerWorkteamNotificationConfiguration
+  , _sageMakerWorkteamTags :: Maybe [Tag]
+  , _sageMakerWorkteamWorkteamName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties SageMakerWorkteam where
+  toResourceProperties SageMakerWorkteam{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::SageMaker::Workteam"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _sageMakerWorkteamDescription
+        , fmap (("MemberDefinitions",) . toJSON) _sageMakerWorkteamMemberDefinitions
+        , fmap (("NotificationConfiguration",) . toJSON) _sageMakerWorkteamNotificationConfiguration
+        , fmap (("Tags",) . toJSON) _sageMakerWorkteamTags
+        , fmap (("WorkteamName",) . toJSON) _sageMakerWorkteamWorkteamName
+        ]
+    }
+
+-- | Constructor for 'SageMakerWorkteam' containing required fields as
+-- arguments.
+sageMakerWorkteam
+  :: SageMakerWorkteam
+sageMakerWorkteam  =
+  SageMakerWorkteam
+  { _sageMakerWorkteamDescription = Nothing
+  , _sageMakerWorkteamMemberDefinitions = Nothing
+  , _sageMakerWorkteamNotificationConfiguration = Nothing
+  , _sageMakerWorkteamTags = Nothing
+  , _sageMakerWorkteamWorkteamName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-description
+smwDescription :: Lens' SageMakerWorkteam (Maybe (Val Text))
+smwDescription = lens _sageMakerWorkteamDescription (\s a -> s { _sageMakerWorkteamDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-memberdefinitions
+smwMemberDefinitions :: Lens' SageMakerWorkteam (Maybe [SageMakerWorkteamMemberDefinition])
+smwMemberDefinitions = lens _sageMakerWorkteamMemberDefinitions (\s a -> s { _sageMakerWorkteamMemberDefinitions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-notificationconfiguration
+smwNotificationConfiguration :: Lens' SageMakerWorkteam (Maybe SageMakerWorkteamNotificationConfiguration)
+smwNotificationConfiguration = lens _sageMakerWorkteamNotificationConfiguration (\s a -> s { _sageMakerWorkteamNotificationConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-tags
+smwTags :: Lens' SageMakerWorkteam (Maybe [Tag])
+smwTags = lens _sageMakerWorkteamTags (\s a -> s { _sageMakerWorkteamTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-workteamname
+smwWorkteamName :: Lens' SageMakerWorkteam (Maybe (Val Text))
+smwWorkteamName = lens _sageMakerWorkteamWorkteamName (\s a -> s { _sageMakerWorkteamWorkteamName = a })
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 1f9d709cc2f81ad485e72f12767b16e5407f66ad229475d57e062894885807e2
+-- hash: 1606963785245719214201305a4f76ad0a306da9a90b9bbc6b6f0354957e0a34
 
 name:           stratosphere
-version:        0.41.0
+version:        0.42.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -90,6 +90,7 @@
       Stratosphere.ResourceProperties.ApiGatewayV2StageRouteSettings
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScalableTargetAction
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetScheduledAction
+      Stratosphere.ResourceProperties.ApplicationAutoScalingScalableTargetSuspendedState
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyCustomizedMetricSpecification
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyMetricDimension
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyPredefinedMetricSpecification
@@ -98,9 +99,12 @@
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration
       Stratosphere.ResourceProperties.AppMeshMeshEgressFilter
       Stratosphere.ResourceProperties.AppMeshMeshMeshSpec
+      Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod
       Stratosphere.ResourceProperties.AppMeshRouteHttpRoute
       Stratosphere.ResourceProperties.AppMeshRouteHttpRouteAction
+      Stratosphere.ResourceProperties.AppMeshRouteHttpRouteHeader
       Stratosphere.ResourceProperties.AppMeshRouteHttpRouteMatch
+      Stratosphere.ResourceProperties.AppMeshRouteMatchRange
       Stratosphere.ResourceProperties.AppMeshRouteRouteSpec
       Stratosphere.ResourceProperties.AppMeshRouteTcpRoute
       Stratosphere.ResourceProperties.AppMeshRouteTcpRouteAction
@@ -318,6 +322,8 @@
       Stratosphere.ResourceProperties.ConfigConfigurationAggregatorOrganizationAggregationSource
       Stratosphere.ResourceProperties.ConfigConfigurationRecorderRecordingGroup
       Stratosphere.ResourceProperties.ConfigDeliveryChannelConfigSnapshotDeliveryProperties
+      Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
+      Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
       Stratosphere.ResourceProperties.ConfigRemediationConfigurationRemediationParameterValue
       Stratosphere.ResourceProperties.ConfigRemediationConfigurationResourceValue
       Stratosphere.ResourceProperties.ConfigRemediationConfigurationStaticValue
@@ -366,6 +372,7 @@
       Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest
       Stratosphere.ResourceProperties.EC2InstanceAssociationParameter
       Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping
+      Stratosphere.ResourceProperties.EC2InstanceCpuOptions
       Stratosphere.ResourceProperties.EC2InstanceCreditSpecification
       Stratosphere.ResourceProperties.EC2InstanceEbs
       Stratosphere.ResourceProperties.EC2InstanceElasticGpuSpecification
@@ -450,6 +457,7 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials
       Stratosphere.ResourceProperties.ECSTaskDefinitionResourceRequirement
       Stratosphere.ResourceProperties.ECSTaskDefinitionSecret
+      Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl
       Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint
       Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs
       Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
@@ -507,6 +515,7 @@
       Stratosphere.ResourceProperties.ElasticsearchDomainNodeToNodeEncryptionOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainSnapshotOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainVPCOptions
+      Stratosphere.ResourceProperties.ElasticsearchDomainZoneAwarenessConfig
       Stratosphere.ResourceProperties.EMRClusterApplication
       Stratosphere.ResourceProperties.EMRClusterAutoScalingPolicy
       Stratosphere.ResourceProperties.EMRClusterBootstrapActionConfig
@@ -555,9 +564,11 @@
       Stratosphere.ResourceProperties.EMRStepHadoopJarStepConfig
       Stratosphere.ResourceProperties.EMRStepKeyValue
       Stratosphere.ResourceProperties.EventsEventBusPolicyCondition
+      Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration
       Stratosphere.ResourceProperties.EventsRuleEcsParameters
       Stratosphere.ResourceProperties.EventsRuleInputTransformer
       Stratosphere.ResourceProperties.EventsRuleKinesisParameters
+      Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration
       Stratosphere.ResourceProperties.EventsRuleRunCommandParameters
       Stratosphere.ResourceProperties.EventsRuleRunCommandTarget
       Stratosphere.ResourceProperties.EventsRuleSqsParameters
@@ -585,6 +596,10 @@
       Stratosphere.ResourceProperties.GlueJobConnectionsList
       Stratosphere.ResourceProperties.GlueJobExecutionProperty
       Stratosphere.ResourceProperties.GlueJobJobCommand
+      Stratosphere.ResourceProperties.GlueMLTransformFindMatchesParameters
+      Stratosphere.ResourceProperties.GlueMLTransformGlueTables
+      Stratosphere.ResourceProperties.GlueMLTransformInputRecordTables
+      Stratosphere.ResourceProperties.GlueMLTransformTransformParameters
       Stratosphere.ResourceProperties.GluePartitionColumn
       Stratosphere.ResourceProperties.GluePartitionOrder
       Stratosphere.ResourceProperties.GluePartitionPartitionInput
@@ -828,6 +843,11 @@
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkRetryOptions
       Stratosphere.ResourceProperties.KinesisStreamStreamEncryption
+      Stratosphere.ResourceProperties.LakeFormationDataLakeSettingsDataLakePrincipal
+      Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource
+      Stratosphere.ResourceProperties.LakeFormationPermissionsDataLakePrincipal
+      Stratosphere.ResourceProperties.LakeFormationPermissionsResource
+      Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource
       Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration
       Stratosphere.ResourceProperties.LambdaAliasVersionWeight
       Stratosphere.ResourceProperties.LambdaFunctionCode
@@ -837,6 +857,15 @@
       Stratosphere.ResourceProperties.LambdaFunctionVpcConfig
       Stratosphere.ResourceProperties.LambdaLayerVersionContent
       Stratosphere.ResourceProperties.LogsMetricFilterMetricTransformation
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFabricConfiguration
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFrameworkConfiguration
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkConfiguration
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFabricConfiguration
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFrameworkConfiguration
+      Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy
+      Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration
       Stratosphere.ResourceProperties.MediaLiveChannelAribSourceSettings
       Stratosphere.ResourceProperties.MediaLiveChannelAudioLanguageSelection
       Stratosphere.ResourceProperties.MediaLiveChannelAudioPidSelection
@@ -938,7 +967,9 @@
       Stratosphere.ResourceProperties.PinpointSegmentSegmentGroups
       Stratosphere.ResourceProperties.PinpointSegmentSetDimension
       Stratosphere.ResourceProperties.PinpointSegmentSourceSegments
+      Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole
       Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration
+      Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole
       Stratosphere.ResourceProperties.RDSDBInstanceProcessorFeature
       Stratosphere.ResourceProperties.RDSDBSecurityGroupIngressProperty
       Stratosphere.ResourceProperties.RDSOptionGroupOptionConfiguration
@@ -1012,6 +1043,9 @@
       Stratosphere.ResourceProperties.SageMakerModelContainerDefinition
       Stratosphere.ResourceProperties.SageMakerModelVpcConfig
       Stratosphere.ResourceProperties.SageMakerNotebookInstanceLifecycleConfigNotebookInstanceLifecycleHook
+      Stratosphere.ResourceProperties.SageMakerWorkteamCognitoMemberDefinition
+      Stratosphere.ResourceProperties.SageMakerWorkteamMemberDefinition
+      Stratosphere.ResourceProperties.SageMakerWorkteamNotificationConfiguration
       Stratosphere.ResourceProperties.SecretsManagerRotationScheduleRotationRules
       Stratosphere.ResourceProperties.SecretsManagerSecretGenerateSecretString
       Stratosphere.ResourceProperties.ServiceCatalogCloudFormationProductProvisioningArtifactProperties
@@ -1042,6 +1076,7 @@
       Stratosphere.ResourceProperties.SSMAssociationParameterValues
       Stratosphere.ResourceProperties.SSMAssociationS3OutputLocation
       Stratosphere.ResourceProperties.SSMAssociationTarget
+      Stratosphere.ResourceProperties.SSMMaintenanceWindowTargetTargets
       Stratosphere.ResourceProperties.SSMMaintenanceWindowTaskLoggingInfo
       Stratosphere.ResourceProperties.SSMMaintenanceWindowTaskMaintenanceWindowAutomationParameters
       Stratosphere.ResourceProperties.SSMMaintenanceWindowTaskMaintenanceWindowLambdaParameters
@@ -1174,6 +1209,7 @@
       Stratosphere.Resources.CloudWatchAnomalyDetector
       Stratosphere.Resources.CloudWatchDashboard
       Stratosphere.Resources.CodeBuildProject
+      Stratosphere.Resources.CodeBuildSourceCredential
       Stratosphere.Resources.CodeCommitRepository
       Stratosphere.Resources.CodeDeployApplication
       Stratosphere.Resources.CodeDeployDeploymentConfig
@@ -1194,6 +1230,7 @@
       Stratosphere.Resources.ConfigConfigurationAggregator
       Stratosphere.Resources.ConfigConfigurationRecorder
       Stratosphere.Resources.ConfigDeliveryChannel
+      Stratosphere.Resources.ConfigOrganizationConfigRule
       Stratosphere.Resources.ConfigRemediationConfiguration
       Stratosphere.Resources.DataPipelinePipeline
       Stratosphere.Resources.DAXCluster
@@ -1308,6 +1345,7 @@
       Stratosphere.Resources.GlueDataCatalogEncryptionSettings
       Stratosphere.Resources.GlueDevEndpoint
       Stratosphere.Resources.GlueJob
+      Stratosphere.Resources.GlueMLTransform
       Stratosphere.Resources.GluePartition
       Stratosphere.Resources.GlueSecurityConfiguration
       Stratosphere.Resources.GlueTable
@@ -1374,6 +1412,9 @@
       Stratosphere.Resources.KinesisStreamConsumer
       Stratosphere.Resources.KMSAlias
       Stratosphere.Resources.KMSKey
+      Stratosphere.Resources.LakeFormationDataLakeSettings
+      Stratosphere.Resources.LakeFormationPermissions
+      Stratosphere.Resources.LakeFormationResource
       Stratosphere.Resources.LambdaAlias
       Stratosphere.Resources.LambdaEventSourceMapping
       Stratosphere.Resources.LambdaFunction
@@ -1386,6 +1427,8 @@
       Stratosphere.Resources.LogsLogStream
       Stratosphere.Resources.LogsMetricFilter
       Stratosphere.Resources.LogsSubscriptionFilter
+      Stratosphere.Resources.ManagedBlockchainMember
+      Stratosphere.Resources.ManagedBlockchainNode
       Stratosphere.Resources.MediaLiveChannel
       Stratosphere.Resources.MediaLiveInput
       Stratosphere.Resources.MediaLiveInputSecurityGroup
@@ -1458,6 +1501,7 @@
       Stratosphere.Resources.SageMakerModel
       Stratosphere.Resources.SageMakerNotebookInstance
       Stratosphere.Resources.SageMakerNotebookInstanceLifecycleConfig
+      Stratosphere.Resources.SageMakerWorkteam
       Stratosphere.Resources.SDBDomain
       Stratosphere.Resources.SecretsManagerResourcePolicy
       Stratosphere.Resources.SecretsManagerRotationSchedule
@@ -1497,6 +1541,7 @@
       Stratosphere.Resources.SSMAssociation
       Stratosphere.Resources.SSMDocument
       Stratosphere.Resources.SSMMaintenanceWindow
+      Stratosphere.Resources.SSMMaintenanceWindowTarget
       Stratosphere.Resources.SSMMaintenanceWindowTask
       Stratosphere.Resources.SSMParameter
       Stratosphere.Resources.SSMPatchBaseline
