diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.46.0
+
+* Update resource specification document to version 8.1.0
+
 ## 0.45.0
 
 * Update lambda runtimes list
diff --git a/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs b/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs
@@ -20,7 +20,9 @@
   , _amplifyAppAutoBranchCreationConfigBuildSpec :: Maybe (Val Text)
   , _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation :: Maybe (Val Bool)
   , _amplifyAppAutoBranchCreationConfigEnableAutoBuild :: Maybe (Val Bool)
+  , _amplifyAppAutoBranchCreationConfigEnablePullRequestPreview :: Maybe (Val Bool)
   , _amplifyAppAutoBranchCreationConfigEnvironmentVariables :: Maybe [AmplifyAppEnvironmentVariable]
+  , _amplifyAppAutoBranchCreationConfigPullRequestEnvironmentName :: Maybe (Val Text)
   , _amplifyAppAutoBranchCreationConfigStage :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -33,7 +35,9 @@
     , fmap (("BuildSpec",) . toJSON) _amplifyAppAutoBranchCreationConfigBuildSpec
     , fmap (("EnableAutoBranchCreation",) . toJSON) _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation
     , fmap (("EnableAutoBuild",) . toJSON) _amplifyAppAutoBranchCreationConfigEnableAutoBuild
+    , fmap (("EnablePullRequestPreview",) . toJSON) _amplifyAppAutoBranchCreationConfigEnablePullRequestPreview
     , fmap (("EnvironmentVariables",) . toJSON) _amplifyAppAutoBranchCreationConfigEnvironmentVariables
+    , fmap (("PullRequestEnvironmentName",) . toJSON) _amplifyAppAutoBranchCreationConfigPullRequestEnvironmentName
     , fmap (("Stage",) . toJSON) _amplifyAppAutoBranchCreationConfigStage
     ]
 
@@ -48,7 +52,9 @@
   , _amplifyAppAutoBranchCreationConfigBuildSpec = Nothing
   , _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation = Nothing
   , _amplifyAppAutoBranchCreationConfigEnableAutoBuild = Nothing
+  , _amplifyAppAutoBranchCreationConfigEnablePullRequestPreview = Nothing
   , _amplifyAppAutoBranchCreationConfigEnvironmentVariables = Nothing
+  , _amplifyAppAutoBranchCreationConfigPullRequestEnvironmentName = Nothing
   , _amplifyAppAutoBranchCreationConfigStage = Nothing
   }
 
@@ -72,9 +78,17 @@
 aaabccEnableAutoBuild :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Bool))
 aaabccEnableAutoBuild = lens _amplifyAppAutoBranchCreationConfigEnableAutoBuild (\s a -> s { _amplifyAppAutoBranchCreationConfigEnableAutoBuild = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enablepullrequestpreview
+aaabccEnablePullRequestPreview :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Bool))
+aaabccEnablePullRequestPreview = lens _amplifyAppAutoBranchCreationConfigEnablePullRequestPreview (\s a -> s { _amplifyAppAutoBranchCreationConfigEnablePullRequestPreview = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-environmentvariables
 aaabccEnvironmentVariables :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe [AmplifyAppEnvironmentVariable])
 aaabccEnvironmentVariables = lens _amplifyAppAutoBranchCreationConfigEnvironmentVariables (\s a -> s { _amplifyAppAutoBranchCreationConfigEnvironmentVariables = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-pullrequestenvironmentname
+aaabccPullRequestEnvironmentName :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Text))
+aaabccPullRequestEnvironmentName = lens _amplifyAppAutoBranchCreationConfigPullRequestEnvironmentName (\s a -> s { _amplifyAppAutoBranchCreationConfigPullRequestEnvironmentName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-stage
 aaabccStage :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRetryPolicy.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRetryPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRetryPolicy.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteGrpcRetryPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteDuration
+
+-- | Full data type definition for AppMeshRouteGrpcRetryPolicy. See
+-- 'appMeshRouteGrpcRetryPolicy' for a more convenient constructor.
+data AppMeshRouteGrpcRetryPolicy =
+  AppMeshRouteGrpcRetryPolicy
+  { _appMeshRouteGrpcRetryPolicyGrpcRetryEvents :: Maybe (ValList Text)
+  , _appMeshRouteGrpcRetryPolicyHttpRetryEvents :: Maybe (ValList Text)
+  , _appMeshRouteGrpcRetryPolicyMaxRetries :: Val Integer
+  , _appMeshRouteGrpcRetryPolicyPerRetryTimeout :: AppMeshRouteDuration
+  , _appMeshRouteGrpcRetryPolicyTcpRetryEvents :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteGrpcRetryPolicy where
+  toJSON AppMeshRouteGrpcRetryPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("GrpcRetryEvents",) . toJSON) _appMeshRouteGrpcRetryPolicyGrpcRetryEvents
+    , fmap (("HttpRetryEvents",) . toJSON) _appMeshRouteGrpcRetryPolicyHttpRetryEvents
+    , (Just . ("MaxRetries",) . toJSON) _appMeshRouteGrpcRetryPolicyMaxRetries
+    , (Just . ("PerRetryTimeout",) . toJSON) _appMeshRouteGrpcRetryPolicyPerRetryTimeout
+    , fmap (("TcpRetryEvents",) . toJSON) _appMeshRouteGrpcRetryPolicyTcpRetryEvents
+    ]
+
+-- | Constructor for 'AppMeshRouteGrpcRetryPolicy' containing required fields
+-- as arguments.
+appMeshRouteGrpcRetryPolicy
+  :: Val Integer -- ^ 'amrgrpMaxRetries'
+  -> AppMeshRouteDuration -- ^ 'amrgrpPerRetryTimeout'
+  -> AppMeshRouteGrpcRetryPolicy
+appMeshRouteGrpcRetryPolicy maxRetriesarg perRetryTimeoutarg =
+  AppMeshRouteGrpcRetryPolicy
+  { _appMeshRouteGrpcRetryPolicyGrpcRetryEvents = Nothing
+  , _appMeshRouteGrpcRetryPolicyHttpRetryEvents = Nothing
+  , _appMeshRouteGrpcRetryPolicyMaxRetries = maxRetriesarg
+  , _appMeshRouteGrpcRetryPolicyPerRetryTimeout = perRetryTimeoutarg
+  , _appMeshRouteGrpcRetryPolicyTcpRetryEvents = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-grpcretryevents
+amrgrpGrpcRetryEvents :: Lens' AppMeshRouteGrpcRetryPolicy (Maybe (ValList Text))
+amrgrpGrpcRetryEvents = lens _appMeshRouteGrpcRetryPolicyGrpcRetryEvents (\s a -> s { _appMeshRouteGrpcRetryPolicyGrpcRetryEvents = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-httpretryevents
+amrgrpHttpRetryEvents :: Lens' AppMeshRouteGrpcRetryPolicy (Maybe (ValList Text))
+amrgrpHttpRetryEvents = lens _appMeshRouteGrpcRetryPolicyHttpRetryEvents (\s a -> s { _appMeshRouteGrpcRetryPolicyHttpRetryEvents = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-maxretries
+amrgrpMaxRetries :: Lens' AppMeshRouteGrpcRetryPolicy (Val Integer)
+amrgrpMaxRetries = lens _appMeshRouteGrpcRetryPolicyMaxRetries (\s a -> s { _appMeshRouteGrpcRetryPolicyMaxRetries = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-perretrytimeout
+amrgrpPerRetryTimeout :: Lens' AppMeshRouteGrpcRetryPolicy AppMeshRouteDuration
+amrgrpPerRetryTimeout = lens _appMeshRouteGrpcRetryPolicyPerRetryTimeout (\s a -> s { _appMeshRouteGrpcRetryPolicyPerRetryTimeout = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-tcpretryevents
+amrgrpTcpRetryEvents :: Lens' AppMeshRouteGrpcRetryPolicy (Maybe (ValList Text))
+amrgrpTcpRetryEvents = lens _appMeshRouteGrpcRetryPolicyTcpRetryEvents (\s a -> s { _appMeshRouteGrpcRetryPolicyTcpRetryEvents = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRoute.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRoute.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRoute.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteGrpcRoute where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteAction
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMatch
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRetryPolicy
+
+-- | Full data type definition for AppMeshRouteGrpcRoute. See
+-- 'appMeshRouteGrpcRoute' for a more convenient constructor.
+data AppMeshRouteGrpcRoute =
+  AppMeshRouteGrpcRoute
+  { _appMeshRouteGrpcRouteAction :: AppMeshRouteGrpcRouteAction
+  , _appMeshRouteGrpcRouteMatch :: AppMeshRouteGrpcRouteMatch
+  , _appMeshRouteGrpcRouteRetryPolicy :: Maybe AppMeshRouteGrpcRetryPolicy
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteGrpcRoute where
+  toJSON AppMeshRouteGrpcRoute{..} =
+    object $
+    catMaybes
+    [ (Just . ("Action",) . toJSON) _appMeshRouteGrpcRouteAction
+    , (Just . ("Match",) . toJSON) _appMeshRouteGrpcRouteMatch
+    , fmap (("RetryPolicy",) . toJSON) _appMeshRouteGrpcRouteRetryPolicy
+    ]
+
+-- | Constructor for 'AppMeshRouteGrpcRoute' containing required fields as
+-- arguments.
+appMeshRouteGrpcRoute
+  :: AppMeshRouteGrpcRouteAction -- ^ 'amrgrAction'
+  -> AppMeshRouteGrpcRouteMatch -- ^ 'amrgrMatch'
+  -> AppMeshRouteGrpcRoute
+appMeshRouteGrpcRoute actionarg matcharg =
+  AppMeshRouteGrpcRoute
+  { _appMeshRouteGrpcRouteAction = actionarg
+  , _appMeshRouteGrpcRouteMatch = matcharg
+  , _appMeshRouteGrpcRouteRetryPolicy = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-action
+amrgrAction :: Lens' AppMeshRouteGrpcRoute AppMeshRouteGrpcRouteAction
+amrgrAction = lens _appMeshRouteGrpcRouteAction (\s a -> s { _appMeshRouteGrpcRouteAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-match
+amrgrMatch :: Lens' AppMeshRouteGrpcRoute AppMeshRouteGrpcRouteMatch
+amrgrMatch = lens _appMeshRouteGrpcRouteMatch (\s a -> s { _appMeshRouteGrpcRouteMatch = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-retrypolicy
+amrgrRetryPolicy :: Lens' AppMeshRouteGrpcRoute (Maybe AppMeshRouteGrpcRetryPolicy)
+amrgrRetryPolicy = lens _appMeshRouteGrpcRouteRetryPolicy (\s a -> s { _appMeshRouteGrpcRouteRetryPolicy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteAction.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteAction.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteAction.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteAction where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteWeightedTarget
+
+-- | Full data type definition for AppMeshRouteGrpcRouteAction. See
+-- 'appMeshRouteGrpcRouteAction' for a more convenient constructor.
+data AppMeshRouteGrpcRouteAction =
+  AppMeshRouteGrpcRouteAction
+  { _appMeshRouteGrpcRouteActionWeightedTargets :: [AppMeshRouteWeightedTarget]
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteGrpcRouteAction where
+  toJSON AppMeshRouteGrpcRouteAction{..} =
+    object $
+    catMaybes
+    [ (Just . ("WeightedTargets",) . toJSON) _appMeshRouteGrpcRouteActionWeightedTargets
+    ]
+
+-- | Constructor for 'AppMeshRouteGrpcRouteAction' containing required fields
+-- as arguments.
+appMeshRouteGrpcRouteAction
+  :: [AppMeshRouteWeightedTarget] -- ^ 'amrgraWeightedTargets'
+  -> AppMeshRouteGrpcRouteAction
+appMeshRouteGrpcRouteAction weightedTargetsarg =
+  AppMeshRouteGrpcRouteAction
+  { _appMeshRouteGrpcRouteActionWeightedTargets = weightedTargetsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html#cfn-appmesh-route-grpcrouteaction-weightedtargets
+amrgraWeightedTargets :: Lens' AppMeshRouteGrpcRouteAction [AppMeshRouteWeightedTarget]
+amrgraWeightedTargets = lens _appMeshRouteGrpcRouteActionWeightedTargets (\s a -> s { _appMeshRouteGrpcRouteActionWeightedTargets = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMatch.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMatch.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMatch.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMatch where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadata
+
+-- | Full data type definition for AppMeshRouteGrpcRouteMatch. See
+-- 'appMeshRouteGrpcRouteMatch' for a more convenient constructor.
+data AppMeshRouteGrpcRouteMatch =
+  AppMeshRouteGrpcRouteMatch
+  { _appMeshRouteGrpcRouteMatchMetadata :: Maybe [AppMeshRouteGrpcRouteMetadata]
+  , _appMeshRouteGrpcRouteMatchMethodName :: Maybe (Val Text)
+  , _appMeshRouteGrpcRouteMatchServiceName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteGrpcRouteMatch where
+  toJSON AppMeshRouteGrpcRouteMatch{..} =
+    object $
+    catMaybes
+    [ fmap (("Metadata",) . toJSON) _appMeshRouteGrpcRouteMatchMetadata
+    , fmap (("MethodName",) . toJSON) _appMeshRouteGrpcRouteMatchMethodName
+    , fmap (("ServiceName",) . toJSON) _appMeshRouteGrpcRouteMatchServiceName
+    ]
+
+-- | Constructor for 'AppMeshRouteGrpcRouteMatch' containing required fields
+-- as arguments.
+appMeshRouteGrpcRouteMatch
+  :: AppMeshRouteGrpcRouteMatch
+appMeshRouteGrpcRouteMatch  =
+  AppMeshRouteGrpcRouteMatch
+  { _appMeshRouteGrpcRouteMatchMetadata = Nothing
+  , _appMeshRouteGrpcRouteMatchMethodName = Nothing
+  , _appMeshRouteGrpcRouteMatchServiceName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-metadata
+amrgrmMetadata :: Lens' AppMeshRouteGrpcRouteMatch (Maybe [AppMeshRouteGrpcRouteMetadata])
+amrgrmMetadata = lens _appMeshRouteGrpcRouteMatchMetadata (\s a -> s { _appMeshRouteGrpcRouteMatchMetadata = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-methodname
+amrgrmMethodName :: Lens' AppMeshRouteGrpcRouteMatch (Maybe (Val Text))
+amrgrmMethodName = lens _appMeshRouteGrpcRouteMatchMethodName (\s a -> s { _appMeshRouteGrpcRouteMatchMethodName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-servicename
+amrgrmServiceName :: Lens' AppMeshRouteGrpcRouteMatch (Maybe (Val Text))
+amrgrmServiceName = lens _appMeshRouteGrpcRouteMatchServiceName (\s a -> s { _appMeshRouteGrpcRouteMatchServiceName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadata.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadata.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadata.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-grpcroutemetadata.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadata where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadataMatchMethod
+
+-- | Full data type definition for AppMeshRouteGrpcRouteMetadata. See
+-- 'appMeshRouteGrpcRouteMetadata' for a more convenient constructor.
+data AppMeshRouteGrpcRouteMetadata =
+  AppMeshRouteGrpcRouteMetadata
+  { _appMeshRouteGrpcRouteMetadataInvert :: Maybe (Val Bool)
+  , _appMeshRouteGrpcRouteMetadataMatch :: Maybe AppMeshRouteGrpcRouteMetadataMatchMethod
+  , _appMeshRouteGrpcRouteMetadataName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteGrpcRouteMetadata where
+  toJSON AppMeshRouteGrpcRouteMetadata{..} =
+    object $
+    catMaybes
+    [ fmap (("Invert",) . toJSON) _appMeshRouteGrpcRouteMetadataInvert
+    , fmap (("Match",) . toJSON) _appMeshRouteGrpcRouteMetadataMatch
+    , (Just . ("Name",) . toJSON) _appMeshRouteGrpcRouteMetadataName
+    ]
+
+-- | Constructor for 'AppMeshRouteGrpcRouteMetadata' containing required
+-- fields as arguments.
+appMeshRouteGrpcRouteMetadata
+  :: Val Text -- ^ 'amrgrmName'
+  -> AppMeshRouteGrpcRouteMetadata
+appMeshRouteGrpcRouteMetadata namearg =
+  AppMeshRouteGrpcRouteMetadata
+  { _appMeshRouteGrpcRouteMetadataInvert = Nothing
+  , _appMeshRouteGrpcRouteMetadataMatch = Nothing
+  , _appMeshRouteGrpcRouteMetadataName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-invert
+amrgrmInvert :: Lens' AppMeshRouteGrpcRouteMetadata (Maybe (Val Bool))
+amrgrmInvert = lens _appMeshRouteGrpcRouteMetadataInvert (\s a -> s { _appMeshRouteGrpcRouteMetadataInvert = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-match
+amrgrmMatch :: Lens' AppMeshRouteGrpcRouteMetadata (Maybe AppMeshRouteGrpcRouteMetadataMatchMethod)
+amrgrmMatch = lens _appMeshRouteGrpcRouteMetadataMatch (\s a -> s { _appMeshRouteGrpcRouteMetadataMatch = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-name
+amrgrmName :: Lens' AppMeshRouteGrpcRouteMetadata (Val Text)
+amrgrmName = lens _appMeshRouteGrpcRouteMetadataName (\s a -> s { _appMeshRouteGrpcRouteMetadataName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadataMatchMethod.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadataMatchMethod.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadataMatchMethod.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadataMatchMethod where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteMatchRange
+
+-- | Full data type definition for AppMeshRouteGrpcRouteMetadataMatchMethod.
+-- See 'appMeshRouteGrpcRouteMetadataMatchMethod' for a more convenient
+-- constructor.
+data AppMeshRouteGrpcRouteMetadataMatchMethod =
+  AppMeshRouteGrpcRouteMetadataMatchMethod
+  { _appMeshRouteGrpcRouteMetadataMatchMethodExact :: Maybe (Val Text)
+  , _appMeshRouteGrpcRouteMetadataMatchMethodPrefix :: Maybe (Val Text)
+  , _appMeshRouteGrpcRouteMetadataMatchMethodRange :: Maybe AppMeshRouteMatchRange
+  , _appMeshRouteGrpcRouteMetadataMatchMethodRegex :: Maybe (Val Text)
+  , _appMeshRouteGrpcRouteMetadataMatchMethodSuffix :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteGrpcRouteMetadataMatchMethod where
+  toJSON AppMeshRouteGrpcRouteMetadataMatchMethod{..} =
+    object $
+    catMaybes
+    [ fmap (("Exact",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodExact
+    , fmap (("Prefix",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodPrefix
+    , fmap (("Range",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodRange
+    , fmap (("Regex",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodRegex
+    , fmap (("Suffix",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodSuffix
+    ]
+
+-- | Constructor for 'AppMeshRouteGrpcRouteMetadataMatchMethod' containing
+-- required fields as arguments.
+appMeshRouteGrpcRouteMetadataMatchMethod
+  :: AppMeshRouteGrpcRouteMetadataMatchMethod
+appMeshRouteGrpcRouteMetadataMatchMethod  =
+  AppMeshRouteGrpcRouteMetadataMatchMethod
+  { _appMeshRouteGrpcRouteMetadataMatchMethodExact = Nothing
+  , _appMeshRouteGrpcRouteMetadataMatchMethodPrefix = Nothing
+  , _appMeshRouteGrpcRouteMetadataMatchMethodRange = Nothing
+  , _appMeshRouteGrpcRouteMetadataMatchMethodRegex = Nothing
+  , _appMeshRouteGrpcRouteMetadataMatchMethodSuffix = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-exact
+amrgrmmmExact :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
+amrgrmmmExact = lens _appMeshRouteGrpcRouteMetadataMatchMethodExact (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodExact = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-prefix
+amrgrmmmPrefix :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
+amrgrmmmPrefix = lens _appMeshRouteGrpcRouteMetadataMatchMethodPrefix (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodPrefix = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-range
+amrgrmmmRange :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe AppMeshRouteMatchRange)
+amrgrmmmRange = lens _appMeshRouteGrpcRouteMetadataMatchMethodRange (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodRange = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-regex
+amrgrmmmRegex :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
+amrgrmmmRegex = lens _appMeshRouteGrpcRouteMetadataMatchMethodRegex (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodRegex = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-suffix
+amrgrmmmSuffix :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
+amrgrmmmSuffix = lens _appMeshRouteGrpcRouteMetadataMatchMethodSuffix (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodSuffix = 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
@@ -8,6 +8,7 @@
 module Stratosphere.ResourceProperties.AppMeshRouteRouteSpec where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRoute
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRoute
 import Stratosphere.ResourceProperties.AppMeshRouteTcpRoute
 
@@ -15,7 +16,9 @@
 -- 'appMeshRouteRouteSpec' for a more convenient constructor.
 data AppMeshRouteRouteSpec =
   AppMeshRouteRouteSpec
-  { _appMeshRouteRouteSpecHttpRoute :: Maybe AppMeshRouteHttpRoute
+  { _appMeshRouteRouteSpecGrpcRoute :: Maybe AppMeshRouteGrpcRoute
+  , _appMeshRouteRouteSpecHttp2Route :: Maybe AppMeshRouteHttpRoute
+  , _appMeshRouteRouteSpecHttpRoute :: Maybe AppMeshRouteHttpRoute
   , _appMeshRouteRouteSpecPriority :: Maybe (Val Integer)
   , _appMeshRouteRouteSpecTcpRoute :: Maybe AppMeshRouteTcpRoute
   } deriving (Show, Eq)
@@ -24,7 +27,9 @@
   toJSON AppMeshRouteRouteSpec{..} =
     object $
     catMaybes
-    [ fmap (("HttpRoute",) . toJSON) _appMeshRouteRouteSpecHttpRoute
+    [ fmap (("GrpcRoute",) . toJSON) _appMeshRouteRouteSpecGrpcRoute
+    , fmap (("Http2Route",) . toJSON) _appMeshRouteRouteSpecHttp2Route
+    , fmap (("HttpRoute",) . toJSON) _appMeshRouteRouteSpecHttpRoute
     , fmap (("Priority",) . toJSON) _appMeshRouteRouteSpecPriority
     , fmap (("TcpRoute",) . toJSON) _appMeshRouteRouteSpecTcpRoute
     ]
@@ -35,10 +40,20 @@
   :: AppMeshRouteRouteSpec
 appMeshRouteRouteSpec  =
   AppMeshRouteRouteSpec
-  { _appMeshRouteRouteSpecHttpRoute = Nothing
+  { _appMeshRouteRouteSpecGrpcRoute = Nothing
+  , _appMeshRouteRouteSpecHttp2Route = Nothing
+  , _appMeshRouteRouteSpecHttpRoute = Nothing
   , _appMeshRouteRouteSpecPriority = Nothing
   , _appMeshRouteRouteSpecTcpRoute = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-grpcroute
+amrrsGrpcRoute :: Lens' AppMeshRouteRouteSpec (Maybe AppMeshRouteGrpcRoute)
+amrrsGrpcRoute = lens _appMeshRouteRouteSpecGrpcRoute (\s a -> s { _appMeshRouteRouteSpecGrpcRoute = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-http2route
+amrrsHttp2Route :: Lens' AppMeshRouteRouteSpec (Maybe AppMeshRouteHttpRoute)
+amrrsHttp2Route = lens _appMeshRouteRouteSpecHttp2Route (\s a -> s { _appMeshRouteRouteSpecHttp2Route = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-httproute
 amrrsHttpRoute :: Lens' AppMeshRouteRouteSpec (Maybe AppMeshRouteHttpRoute)
diff --git a/library-gen/Stratosphere/ResourceProperties/AppStreamImageBuilderAccessEndpoint.hs b/library-gen/Stratosphere/ResourceProperties/AppStreamImageBuilderAccessEndpoint.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppStreamImageBuilderAccessEndpoint.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html
+
+module Stratosphere.ResourceProperties.AppStreamImageBuilderAccessEndpoint where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppStreamImageBuilderAccessEndpoint. See
+-- 'appStreamImageBuilderAccessEndpoint' for a more convenient constructor.
+data AppStreamImageBuilderAccessEndpoint =
+  AppStreamImageBuilderAccessEndpoint
+  { _appStreamImageBuilderAccessEndpointEndpointType :: Val Text
+  , _appStreamImageBuilderAccessEndpointVpceId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppStreamImageBuilderAccessEndpoint where
+  toJSON AppStreamImageBuilderAccessEndpoint{..} =
+    object $
+    catMaybes
+    [ (Just . ("EndpointType",) . toJSON) _appStreamImageBuilderAccessEndpointEndpointType
+    , (Just . ("VpceId",) . toJSON) _appStreamImageBuilderAccessEndpointVpceId
+    ]
+
+-- | Constructor for 'AppStreamImageBuilderAccessEndpoint' containing required
+-- fields as arguments.
+appStreamImageBuilderAccessEndpoint
+  :: Val Text -- ^ 'asibaeEndpointType'
+  -> Val Text -- ^ 'asibaeVpceId'
+  -> AppStreamImageBuilderAccessEndpoint
+appStreamImageBuilderAccessEndpoint endpointTypearg vpceIdarg =
+  AppStreamImageBuilderAccessEndpoint
+  { _appStreamImageBuilderAccessEndpointEndpointType = endpointTypearg
+  , _appStreamImageBuilderAccessEndpointVpceId = vpceIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-endpointtype
+asibaeEndpointType :: Lens' AppStreamImageBuilderAccessEndpoint (Val Text)
+asibaeEndpointType = lens _appStreamImageBuilderAccessEndpointEndpointType (\s a -> s { _appStreamImageBuilderAccessEndpointEndpointType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-vpceid
+asibaeVpceId :: Lens' AppStreamImageBuilderAccessEndpoint (Val Text)
+asibaeVpceId = lens _appStreamImageBuilderAccessEndpointVpceId (\s a -> s { _appStreamImageBuilderAccessEndpointVpceId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppStreamStackAccessEndpoint.hs b/library-gen/Stratosphere/ResourceProperties/AppStreamStackAccessEndpoint.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppStreamStackAccessEndpoint.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html
+
+module Stratosphere.ResourceProperties.AppStreamStackAccessEndpoint where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppStreamStackAccessEndpoint. See
+-- 'appStreamStackAccessEndpoint' for a more convenient constructor.
+data AppStreamStackAccessEndpoint =
+  AppStreamStackAccessEndpoint
+  { _appStreamStackAccessEndpointEndpointType :: Val Text
+  , _appStreamStackAccessEndpointVpceId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON AppStreamStackAccessEndpoint where
+  toJSON AppStreamStackAccessEndpoint{..} =
+    object $
+    catMaybes
+    [ (Just . ("EndpointType",) . toJSON) _appStreamStackAccessEndpointEndpointType
+    , (Just . ("VpceId",) . toJSON) _appStreamStackAccessEndpointVpceId
+    ]
+
+-- | Constructor for 'AppStreamStackAccessEndpoint' containing required fields
+-- as arguments.
+appStreamStackAccessEndpoint
+  :: Val Text -- ^ 'assaeEndpointType'
+  -> Val Text -- ^ 'assaeVpceId'
+  -> AppStreamStackAccessEndpoint
+appStreamStackAccessEndpoint endpointTypearg vpceIdarg =
+  AppStreamStackAccessEndpoint
+  { _appStreamStackAccessEndpointEndpointType = endpointTypearg
+  , _appStreamStackAccessEndpointVpceId = vpceIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html#cfn-appstream-stack-accessendpoint-endpointtype
+assaeEndpointType :: Lens' AppStreamStackAccessEndpoint (Val Text)
+assaeEndpointType = lens _appStreamStackAccessEndpointEndpointType (\s a -> s { _appStreamStackAccessEndpointEndpointType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html#cfn-appstream-stack-accessendpoint-vpceid
+assaeVpceId :: Lens' AppStreamStackAccessEndpoint (Val Text)
+assaeVpceId = lens _appStreamStackAccessEndpointVpceId (\s a -> s { _appStreamStackAccessEndpointVpceId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeStarNotificationsNotificationRuleTarget.hs b/library-gen/Stratosphere/ResourceProperties/CodeStarNotificationsNotificationRuleTarget.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeStarNotificationsNotificationRuleTarget.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html
+
+module Stratosphere.ResourceProperties.CodeStarNotificationsNotificationRuleTarget where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CodeStarNotificationsNotificationRuleTarget. See
+-- 'codeStarNotificationsNotificationRuleTarget' for a more convenient
+-- constructor.
+data CodeStarNotificationsNotificationRuleTarget =
+  CodeStarNotificationsNotificationRuleTarget
+  { _codeStarNotificationsNotificationRuleTargetTargetAddress :: Maybe (Val Text)
+  , _codeStarNotificationsNotificationRuleTargetTargetType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CodeStarNotificationsNotificationRuleTarget where
+  toJSON CodeStarNotificationsNotificationRuleTarget{..} =
+    object $
+    catMaybes
+    [ fmap (("TargetAddress",) . toJSON) _codeStarNotificationsNotificationRuleTargetTargetAddress
+    , fmap (("TargetType",) . toJSON) _codeStarNotificationsNotificationRuleTargetTargetType
+    ]
+
+-- | Constructor for 'CodeStarNotificationsNotificationRuleTarget' containing
+-- required fields as arguments.
+codeStarNotificationsNotificationRuleTarget
+  :: CodeStarNotificationsNotificationRuleTarget
+codeStarNotificationsNotificationRuleTarget  =
+  CodeStarNotificationsNotificationRuleTarget
+  { _codeStarNotificationsNotificationRuleTargetTargetAddress = Nothing
+  , _codeStarNotificationsNotificationRuleTargetTargetType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targetaddress
+csnnrtTargetAddress :: Lens' CodeStarNotificationsNotificationRuleTarget (Maybe (Val Text))
+csnnrtTargetAddress = lens _codeStarNotificationsNotificationRuleTargetTargetAddress (\s a -> s { _codeStarNotificationsNotificationRuleTargetTargetAddress = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targettype
+csnnrtTargetType :: Lens' CodeStarNotificationsNotificationRuleTarget (Maybe (Val Text))
+csnnrtTargetType = lens _codeStarNotificationsNotificationRuleTargetTargetType (\s a -> s { _codeStarNotificationsNotificationRuleTargetTargetType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionInferenceAccelerator.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html
+
+module Stratosphere.ResourceProperties.ECSTaskDefinitionInferenceAccelerator where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSTaskDefinitionInferenceAccelerator. See
+-- 'ecsTaskDefinitionInferenceAccelerator' for a more convenient
+-- constructor.
+data ECSTaskDefinitionInferenceAccelerator =
+  ECSTaskDefinitionInferenceAccelerator
+  { _eCSTaskDefinitionInferenceAcceleratorDeviceName :: Maybe (Val Text)
+  , _eCSTaskDefinitionInferenceAcceleratorDeviceType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSTaskDefinitionInferenceAccelerator where
+  toJSON ECSTaskDefinitionInferenceAccelerator{..} =
+    object $
+    catMaybes
+    [ fmap (("DeviceName",) . toJSON) _eCSTaskDefinitionInferenceAcceleratorDeviceName
+    , fmap (("DeviceType",) . toJSON) _eCSTaskDefinitionInferenceAcceleratorDeviceType
+    ]
+
+-- | Constructor for 'ECSTaskDefinitionInferenceAccelerator' containing
+-- required fields as arguments.
+ecsTaskDefinitionInferenceAccelerator
+  :: ECSTaskDefinitionInferenceAccelerator
+ecsTaskDefinitionInferenceAccelerator  =
+  ECSTaskDefinitionInferenceAccelerator
+  { _eCSTaskDefinitionInferenceAcceleratorDeviceName = Nothing
+  , _eCSTaskDefinitionInferenceAcceleratorDeviceType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicename
+ecstdiaDeviceName :: Lens' ECSTaskDefinitionInferenceAccelerator (Maybe (Val Text))
+ecstdiaDeviceName = lens _eCSTaskDefinitionInferenceAcceleratorDeviceName (\s a -> s { _eCSTaskDefinitionInferenceAcceleratorDeviceName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicetype
+ecstdiaDeviceType :: Lens' ECSTaskDefinitionInferenceAccelerator (Maybe (Val Text))
+ecstdiaDeviceType = lens _eCSTaskDefinitionInferenceAcceleratorDeviceType (\s a -> s { _eCSTaskDefinitionInferenceAcceleratorDeviceType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainLogPublishingOption.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainLogPublishingOption.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainLogPublishingOption.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html
+
+module Stratosphere.ResourceProperties.ElasticsearchDomainLogPublishingOption where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ElasticsearchDomainLogPublishingOption. See
+-- 'elasticsearchDomainLogPublishingOption' for a more convenient
+-- constructor.
+data ElasticsearchDomainLogPublishingOption =
+  ElasticsearchDomainLogPublishingOption
+  { _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn :: Maybe (Val Text)
+  , _elasticsearchDomainLogPublishingOptionEnabled :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON ElasticsearchDomainLogPublishingOption where
+  toJSON ElasticsearchDomainLogPublishingOption{..} =
+    object $
+    catMaybes
+    [ fmap (("CloudWatchLogsLogGroupArn",) . toJSON) _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn
+    , fmap (("Enabled",) . toJSON) _elasticsearchDomainLogPublishingOptionEnabled
+    ]
+
+-- | Constructor for 'ElasticsearchDomainLogPublishingOption' containing
+-- required fields as arguments.
+elasticsearchDomainLogPublishingOption
+  :: ElasticsearchDomainLogPublishingOption
+elasticsearchDomainLogPublishingOption  =
+  ElasticsearchDomainLogPublishingOption
+  { _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn = Nothing
+  , _elasticsearchDomainLogPublishingOptionEnabled = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-cloudwatchlogsloggrouparn
+edlpoCloudWatchLogsLogGroupArn :: Lens' ElasticsearchDomainLogPublishingOption (Maybe (Val Text))
+edlpoCloudWatchLogsLogGroupArn = lens _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn (\s a -> s { _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-enabled
+edlpoEnabled :: Lens' ElasticsearchDomainLogPublishingOption (Maybe (Val Bool))
+edlpoEnabled = lens _elasticsearchDomainLogPublishingOptionEnabled (\s a -> s { _elasticsearchDomainLogPublishingOptionEnabled = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchArrayProperties.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchArrayProperties.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchArrayProperties.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-batcharrayproperties.html
+
+module Stratosphere.ResourceProperties.EventsRuleBatchArrayProperties where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventsRuleBatchArrayProperties. See
+-- 'eventsRuleBatchArrayProperties' for a more convenient constructor.
+data EventsRuleBatchArrayProperties =
+  EventsRuleBatchArrayProperties
+  { _eventsRuleBatchArrayPropertiesSize :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON EventsRuleBatchArrayProperties where
+  toJSON EventsRuleBatchArrayProperties{..} =
+    object $
+    catMaybes
+    [ fmap (("Size",) . toJSON) _eventsRuleBatchArrayPropertiesSize
+    ]
+
+-- | Constructor for 'EventsRuleBatchArrayProperties' containing required
+-- fields as arguments.
+eventsRuleBatchArrayProperties
+  :: EventsRuleBatchArrayProperties
+eventsRuleBatchArrayProperties  =
+  EventsRuleBatchArrayProperties
+  { _eventsRuleBatchArrayPropertiesSize = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html#cfn-events-rule-batcharrayproperties-size
+erbapSize :: Lens' EventsRuleBatchArrayProperties (Maybe (Val Integer))
+erbapSize = lens _eventsRuleBatchArrayPropertiesSize (\s a -> s { _eventsRuleBatchArrayPropertiesSize = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchParameters.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchParameters.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchParameters.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html
+
+module Stratosphere.ResourceProperties.EventsRuleBatchParameters where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EventsRuleBatchArrayProperties
+import Stratosphere.ResourceProperties.EventsRuleBatchRetryStrategy
+
+-- | Full data type definition for EventsRuleBatchParameters. See
+-- 'eventsRuleBatchParameters' for a more convenient constructor.
+data EventsRuleBatchParameters =
+  EventsRuleBatchParameters
+  { _eventsRuleBatchParametersArrayProperties :: Maybe EventsRuleBatchArrayProperties
+  , _eventsRuleBatchParametersJobDefinition :: Val Text
+  , _eventsRuleBatchParametersJobName :: Val Text
+  , _eventsRuleBatchParametersRetryStrategy :: Maybe EventsRuleBatchRetryStrategy
+  } deriving (Show, Eq)
+
+instance ToJSON EventsRuleBatchParameters where
+  toJSON EventsRuleBatchParameters{..} =
+    object $
+    catMaybes
+    [ fmap (("ArrayProperties",) . toJSON) _eventsRuleBatchParametersArrayProperties
+    , (Just . ("JobDefinition",) . toJSON) _eventsRuleBatchParametersJobDefinition
+    , (Just . ("JobName",) . toJSON) _eventsRuleBatchParametersJobName
+    , fmap (("RetryStrategy",) . toJSON) _eventsRuleBatchParametersRetryStrategy
+    ]
+
+-- | Constructor for 'EventsRuleBatchParameters' containing required fields as
+-- arguments.
+eventsRuleBatchParameters
+  :: Val Text -- ^ 'erbpJobDefinition'
+  -> Val Text -- ^ 'erbpJobName'
+  -> EventsRuleBatchParameters
+eventsRuleBatchParameters jobDefinitionarg jobNamearg =
+  EventsRuleBatchParameters
+  { _eventsRuleBatchParametersArrayProperties = Nothing
+  , _eventsRuleBatchParametersJobDefinition = jobDefinitionarg
+  , _eventsRuleBatchParametersJobName = jobNamearg
+  , _eventsRuleBatchParametersRetryStrategy = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-arrayproperties
+erbpArrayProperties :: Lens' EventsRuleBatchParameters (Maybe EventsRuleBatchArrayProperties)
+erbpArrayProperties = lens _eventsRuleBatchParametersArrayProperties (\s a -> s { _eventsRuleBatchParametersArrayProperties = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobdefinition
+erbpJobDefinition :: Lens' EventsRuleBatchParameters (Val Text)
+erbpJobDefinition = lens _eventsRuleBatchParametersJobDefinition (\s a -> s { _eventsRuleBatchParametersJobDefinition = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobname
+erbpJobName :: Lens' EventsRuleBatchParameters (Val Text)
+erbpJobName = lens _eventsRuleBatchParametersJobName (\s a -> s { _eventsRuleBatchParametersJobName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-retrystrategy
+erbpRetryStrategy :: Lens' EventsRuleBatchParameters (Maybe EventsRuleBatchRetryStrategy)
+erbpRetryStrategy = lens _eventsRuleBatchParametersRetryStrategy (\s a -> s { _eventsRuleBatchParametersRetryStrategy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchRetryStrategy.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchRetryStrategy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleBatchRetryStrategy.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-batchretrystrategy.html
+
+module Stratosphere.ResourceProperties.EventsRuleBatchRetryStrategy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventsRuleBatchRetryStrategy. See
+-- 'eventsRuleBatchRetryStrategy' for a more convenient constructor.
+data EventsRuleBatchRetryStrategy =
+  EventsRuleBatchRetryStrategy
+  { _eventsRuleBatchRetryStrategyAttempts :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON EventsRuleBatchRetryStrategy where
+  toJSON EventsRuleBatchRetryStrategy{..} =
+    object $
+    catMaybes
+    [ fmap (("Attempts",) . toJSON) _eventsRuleBatchRetryStrategyAttempts
+    ]
+
+-- | Constructor for 'EventsRuleBatchRetryStrategy' containing required fields
+-- as arguments.
+eventsRuleBatchRetryStrategy
+  :: EventsRuleBatchRetryStrategy
+eventsRuleBatchRetryStrategy  =
+  EventsRuleBatchRetryStrategy
+  { _eventsRuleBatchRetryStrategyAttempts = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html#cfn-events-rule-batchretrystrategy-attempts
+erbrsAttempts :: Lens' EventsRuleBatchRetryStrategy (Maybe (Val Integer))
+erbrsAttempts = lens _eventsRuleBatchRetryStrategyAttempts (\s a -> s { _eventsRuleBatchRetryStrategyAttempts = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
@@ -8,6 +8,7 @@
 module Stratosphere.ResourceProperties.EventsRuleTarget where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EventsRuleBatchParameters
 import Stratosphere.ResourceProperties.EventsRuleEcsParameters
 import Stratosphere.ResourceProperties.EventsRuleInputTransformer
 import Stratosphere.ResourceProperties.EventsRuleKinesisParameters
@@ -19,6 +20,7 @@
 data EventsRuleTarget =
   EventsRuleTarget
   { _eventsRuleTargetArn :: Val Text
+  , _eventsRuleTargetBatchParameters :: Maybe EventsRuleBatchParameters
   , _eventsRuleTargetEcsParameters :: Maybe EventsRuleEcsParameters
   , _eventsRuleTargetId :: Val Text
   , _eventsRuleTargetInput :: Maybe (Val Text)
@@ -35,6 +37,7 @@
     object $
     catMaybes
     [ (Just . ("Arn",) . toJSON) _eventsRuleTargetArn
+    , fmap (("BatchParameters",) . toJSON) _eventsRuleTargetBatchParameters
     , fmap (("EcsParameters",) . toJSON) _eventsRuleTargetEcsParameters
     , (Just . ("Id",) . toJSON) _eventsRuleTargetId
     , fmap (("Input",) . toJSON) _eventsRuleTargetInput
@@ -55,6 +58,7 @@
 eventsRuleTarget arnarg idarg =
   EventsRuleTarget
   { _eventsRuleTargetArn = arnarg
+  , _eventsRuleTargetBatchParameters = Nothing
   , _eventsRuleTargetEcsParameters = Nothing
   , _eventsRuleTargetId = idarg
   , _eventsRuleTargetInput = Nothing
@@ -69,6 +73,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-arn
 ertArn :: Lens' EventsRuleTarget (Val Text)
 ertArn = lens _eventsRuleTargetArn (\s a -> s { _eventsRuleTargetArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-batchparameters
+ertBatchParameters :: Lens' EventsRuleTarget (Maybe EventsRuleBatchParameters)
+ertBatchParameters = lens _eventsRuleTargetBatchParameters (\s a -> s { _eventsRuleTargetBatchParameters = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters
 ertEcsParameters :: Lens' EventsRuleTarget (Maybe EventsRuleEcsParameters)
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs
--- a/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs
@@ -16,6 +16,7 @@
   GameLiftBuildS3Location
   { _gameLiftBuildS3LocationBucket :: Val Text
   , _gameLiftBuildS3LocationKey :: Val Text
+  , _gameLiftBuildS3LocationObjectVersion :: Maybe (Val Text)
   , _gameLiftBuildS3LocationRoleArn :: Val Text
   } deriving (Show, Eq)
 
@@ -25,6 +26,7 @@
     catMaybes
     [ (Just . ("Bucket",) . toJSON) _gameLiftBuildS3LocationBucket
     , (Just . ("Key",) . toJSON) _gameLiftBuildS3LocationKey
+    , fmap (("ObjectVersion",) . toJSON) _gameLiftBuildS3LocationObjectVersion
     , (Just . ("RoleArn",) . toJSON) _gameLiftBuildS3LocationRoleArn
     ]
 
@@ -39,6 +41,7 @@
   GameLiftBuildS3Location
   { _gameLiftBuildS3LocationBucket = bucketarg
   , _gameLiftBuildS3LocationKey = keyarg
+  , _gameLiftBuildS3LocationObjectVersion = Nothing
   , _gameLiftBuildS3LocationRoleArn = roleArnarg
   }
 
@@ -49,6 +52,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storage-key
 glbslKey :: Lens' GameLiftBuildS3Location (Val Text)
 glbslKey = lens _gameLiftBuildS3LocationKey (\s a -> s { _gameLiftBuildS3LocationKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-object-verison
+glbslObjectVersion :: Lens' GameLiftBuildS3Location (Maybe (Val Text))
+glbslObjectVersion = lens _gameLiftBuildS3LocationObjectVersion (\s a -> s { _gameLiftBuildS3LocationObjectVersion = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storage-rolearn
 glbslRoleArn :: Lens' GameLiftBuildS3Location (Val Text)
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftFleetCertificateConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetCertificateConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetCertificateConfiguration.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html
+
+module Stratosphere.ResourceProperties.GameLiftFleetCertificateConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftFleetCertificateConfiguration. See
+-- 'gameLiftFleetCertificateConfiguration' for a more convenient
+-- constructor.
+data GameLiftFleetCertificateConfiguration =
+  GameLiftFleetCertificateConfiguration
+  { _gameLiftFleetCertificateConfigurationCertificateType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftFleetCertificateConfiguration where
+  toJSON GameLiftFleetCertificateConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateType",) . toJSON) _gameLiftFleetCertificateConfigurationCertificateType
+    ]
+
+-- | Constructor for 'GameLiftFleetCertificateConfiguration' containing
+-- required fields as arguments.
+gameLiftFleetCertificateConfiguration
+  :: Val Text -- ^ 'glfccCertificateType'
+  -> GameLiftFleetCertificateConfiguration
+gameLiftFleetCertificateConfiguration certificateTypearg =
+  GameLiftFleetCertificateConfiguration
+  { _gameLiftFleetCertificateConfigurationCertificateType = certificateTypearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html#cfn-gamelift-fleet-certificateconfiguration-certificatetype
+glfccCertificateType :: Lens' GameLiftFleetCertificateConfiguration (Val Text)
+glfccCertificateType = lens _gameLiftFleetCertificateConfigurationCertificateType (\s a -> s { _gameLiftFleetCertificateConfigurationCertificateType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftFleetResourceCreationLimitPolicy.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetResourceCreationLimitPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetResourceCreationLimitPolicy.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html
+
+module Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftFleetResourceCreationLimitPolicy.
+-- See 'gameLiftFleetResourceCreationLimitPolicy' for a more convenient
+-- constructor.
+data GameLiftFleetResourceCreationLimitPolicy =
+  GameLiftFleetResourceCreationLimitPolicy
+  { _gameLiftFleetResourceCreationLimitPolicyNewGameSessionsPerCreator :: Maybe (Val Integer)
+  , _gameLiftFleetResourceCreationLimitPolicyPolicyPeriodInMinutes :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftFleetResourceCreationLimitPolicy where
+  toJSON GameLiftFleetResourceCreationLimitPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("NewGameSessionsPerCreator",) . toJSON) _gameLiftFleetResourceCreationLimitPolicyNewGameSessionsPerCreator
+    , fmap (("PolicyPeriodInMinutes",) . toJSON) _gameLiftFleetResourceCreationLimitPolicyPolicyPeriodInMinutes
+    ]
+
+-- | Constructor for 'GameLiftFleetResourceCreationLimitPolicy' containing
+-- required fields as arguments.
+gameLiftFleetResourceCreationLimitPolicy
+  :: GameLiftFleetResourceCreationLimitPolicy
+gameLiftFleetResourceCreationLimitPolicy  =
+  GameLiftFleetResourceCreationLimitPolicy
+  { _gameLiftFleetResourceCreationLimitPolicyNewGameSessionsPerCreator = Nothing
+  , _gameLiftFleetResourceCreationLimitPolicyPolicyPeriodInMinutes = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html#cfn-gamelift-fleet-resourcecreationlimitpolicy-newgamesessionspercreator
+glfrclpNewGameSessionsPerCreator :: Lens' GameLiftFleetResourceCreationLimitPolicy (Maybe (Val Integer))
+glfrclpNewGameSessionsPerCreator = lens _gameLiftFleetResourceCreationLimitPolicyNewGameSessionsPerCreator (\s a -> s { _gameLiftFleetResourceCreationLimitPolicyNewGameSessionsPerCreator = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html#cfn-gamelift-fleet-resourcecreationlimitpolicy-policyperiodinminutes
+glfrclpPolicyPeriodInMinutes :: Lens' GameLiftFleetResourceCreationLimitPolicy (Maybe (Val Integer))
+glfrclpPolicyPeriodInMinutes = lens _gameLiftFleetResourceCreationLimitPolicyPolicyPeriodInMinutes (\s a -> s { _gameLiftFleetResourceCreationLimitPolicyPolicyPeriodInMinutes = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftFleetRuntimeConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetRuntimeConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetRuntimeConfiguration.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html
+
+module Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftFleetServerProcess
+
+-- | Full data type definition for GameLiftFleetRuntimeConfiguration. See
+-- 'gameLiftFleetRuntimeConfiguration' for a more convenient constructor.
+data GameLiftFleetRuntimeConfiguration =
+  GameLiftFleetRuntimeConfiguration
+  { _gameLiftFleetRuntimeConfigurationGameSessionActivationTimeoutSeconds :: Maybe (Val Integer)
+  , _gameLiftFleetRuntimeConfigurationMaxConcurrentGameSessionActivations :: Maybe (Val Integer)
+  , _gameLiftFleetRuntimeConfigurationServerProcesses :: Maybe [GameLiftFleetServerProcess]
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftFleetRuntimeConfiguration where
+  toJSON GameLiftFleetRuntimeConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("GameSessionActivationTimeoutSeconds",) . toJSON) _gameLiftFleetRuntimeConfigurationGameSessionActivationTimeoutSeconds
+    , fmap (("MaxConcurrentGameSessionActivations",) . toJSON) _gameLiftFleetRuntimeConfigurationMaxConcurrentGameSessionActivations
+    , fmap (("ServerProcesses",) . toJSON) _gameLiftFleetRuntimeConfigurationServerProcesses
+    ]
+
+-- | Constructor for 'GameLiftFleetRuntimeConfiguration' containing required
+-- fields as arguments.
+gameLiftFleetRuntimeConfiguration
+  :: GameLiftFleetRuntimeConfiguration
+gameLiftFleetRuntimeConfiguration  =
+  GameLiftFleetRuntimeConfiguration
+  { _gameLiftFleetRuntimeConfigurationGameSessionActivationTimeoutSeconds = Nothing
+  , _gameLiftFleetRuntimeConfigurationMaxConcurrentGameSessionActivations = Nothing
+  , _gameLiftFleetRuntimeConfigurationServerProcesses = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-gamesessionactivationtimeoutseconds
+glfrcGameSessionActivationTimeoutSeconds :: Lens' GameLiftFleetRuntimeConfiguration (Maybe (Val Integer))
+glfrcGameSessionActivationTimeoutSeconds = lens _gameLiftFleetRuntimeConfigurationGameSessionActivationTimeoutSeconds (\s a -> s { _gameLiftFleetRuntimeConfigurationGameSessionActivationTimeoutSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-maxconcurrentgamesessionactivations
+glfrcMaxConcurrentGameSessionActivations :: Lens' GameLiftFleetRuntimeConfiguration (Maybe (Val Integer))
+glfrcMaxConcurrentGameSessionActivations = lens _gameLiftFleetRuntimeConfigurationMaxConcurrentGameSessionActivations (\s a -> s { _gameLiftFleetRuntimeConfigurationMaxConcurrentGameSessionActivations = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-serverprocesses
+glfrcServerProcesses :: Lens' GameLiftFleetRuntimeConfiguration (Maybe [GameLiftFleetServerProcess])
+glfrcServerProcesses = lens _gameLiftFleetRuntimeConfigurationServerProcesses (\s a -> s { _gameLiftFleetRuntimeConfigurationServerProcesses = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftFleetServerProcess.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetServerProcess.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetServerProcess.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html
+
+module Stratosphere.ResourceProperties.GameLiftFleetServerProcess where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftFleetServerProcess. See
+-- 'gameLiftFleetServerProcess' for a more convenient constructor.
+data GameLiftFleetServerProcess =
+  GameLiftFleetServerProcess
+  { _gameLiftFleetServerProcessConcurrentExecutions :: Val Integer
+  , _gameLiftFleetServerProcessLaunchPath :: Val Text
+  , _gameLiftFleetServerProcessParameters :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftFleetServerProcess where
+  toJSON GameLiftFleetServerProcess{..} =
+    object $
+    catMaybes
+    [ (Just . ("ConcurrentExecutions",) . toJSON) _gameLiftFleetServerProcessConcurrentExecutions
+    , (Just . ("LaunchPath",) . toJSON) _gameLiftFleetServerProcessLaunchPath
+    , fmap (("Parameters",) . toJSON) _gameLiftFleetServerProcessParameters
+    ]
+
+-- | Constructor for 'GameLiftFleetServerProcess' containing required fields
+-- as arguments.
+gameLiftFleetServerProcess
+  :: Val Integer -- ^ 'glfspConcurrentExecutions'
+  -> Val Text -- ^ 'glfspLaunchPath'
+  -> GameLiftFleetServerProcess
+gameLiftFleetServerProcess concurrentExecutionsarg launchPatharg =
+  GameLiftFleetServerProcess
+  { _gameLiftFleetServerProcessConcurrentExecutions = concurrentExecutionsarg
+  , _gameLiftFleetServerProcessLaunchPath = launchPatharg
+  , _gameLiftFleetServerProcessParameters = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-concurrentexecutions
+glfspConcurrentExecutions :: Lens' GameLiftFleetServerProcess (Val Integer)
+glfspConcurrentExecutions = lens _gameLiftFleetServerProcessConcurrentExecutions (\s a -> s { _gameLiftFleetServerProcessConcurrentExecutions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-launchpath
+glfspLaunchPath :: Lens' GameLiftFleetServerProcess (Val Text)
+glfspLaunchPath = lens _gameLiftFleetServerProcessLaunchPath (\s a -> s { _gameLiftFleetServerProcessLaunchPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-parameters
+glfspParameters :: Lens' GameLiftFleetServerProcess (Maybe (Val Text))
+glfspParameters = lens _gameLiftFleetServerProcessParameters (\s a -> s { _gameLiftFleetServerProcessParameters = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueCrawlerCatalogTarget.hs b/library-gen/Stratosphere/ResourceProperties/GlueCrawlerCatalogTarget.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueCrawlerCatalogTarget.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html
+
+module Stratosphere.ResourceProperties.GlueCrawlerCatalogTarget where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueCrawlerCatalogTarget. See
+-- 'glueCrawlerCatalogTarget' for a more convenient constructor.
+data GlueCrawlerCatalogTarget =
+  GlueCrawlerCatalogTarget
+  { _glueCrawlerCatalogTargetDatabaseName :: Maybe (Val Text)
+  , _glueCrawlerCatalogTargetTables :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GlueCrawlerCatalogTarget where
+  toJSON GlueCrawlerCatalogTarget{..} =
+    object $
+    catMaybes
+    [ fmap (("DatabaseName",) . toJSON) _glueCrawlerCatalogTargetDatabaseName
+    , fmap (("Tables",) . toJSON) _glueCrawlerCatalogTargetTables
+    ]
+
+-- | Constructor for 'GlueCrawlerCatalogTarget' containing required fields as
+-- arguments.
+glueCrawlerCatalogTarget
+  :: GlueCrawlerCatalogTarget
+glueCrawlerCatalogTarget  =
+  GlueCrawlerCatalogTarget
+  { _glueCrawlerCatalogTargetDatabaseName = Nothing
+  , _glueCrawlerCatalogTargetTables = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-databasename
+gcctDatabaseName :: Lens' GlueCrawlerCatalogTarget (Maybe (Val Text))
+gcctDatabaseName = lens _glueCrawlerCatalogTargetDatabaseName (\s a -> s { _glueCrawlerCatalogTargetDatabaseName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-tables
+gcctTables :: Lens' GlueCrawlerCatalogTarget (Maybe (ValList Text))
+gcctTables = lens _glueCrawlerCatalogTargetTables (\s a -> s { _glueCrawlerCatalogTargetTables = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueCrawlerDynamoDBTarget.hs b/library-gen/Stratosphere/ResourceProperties/GlueCrawlerDynamoDBTarget.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueCrawlerDynamoDBTarget.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html
+
+module Stratosphere.ResourceProperties.GlueCrawlerDynamoDBTarget where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueCrawlerDynamoDBTarget. See
+-- 'glueCrawlerDynamoDBTarget' for a more convenient constructor.
+data GlueCrawlerDynamoDBTarget =
+  GlueCrawlerDynamoDBTarget
+  { _glueCrawlerDynamoDBTargetPath :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GlueCrawlerDynamoDBTarget where
+  toJSON GlueCrawlerDynamoDBTarget{..} =
+    object $
+    catMaybes
+    [ fmap (("Path",) . toJSON) _glueCrawlerDynamoDBTargetPath
+    ]
+
+-- | Constructor for 'GlueCrawlerDynamoDBTarget' containing required fields as
+-- arguments.
+glueCrawlerDynamoDBTarget
+  :: GlueCrawlerDynamoDBTarget
+glueCrawlerDynamoDBTarget  =
+  GlueCrawlerDynamoDBTarget
+  { _glueCrawlerDynamoDBTargetPath = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-path
+gcddbtPath :: Lens' GlueCrawlerDynamoDBTarget (Maybe (Val Text))
+gcddbtPath = lens _glueCrawlerDynamoDBTargetPath (\s a -> s { _glueCrawlerDynamoDBTargetPath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueCrawlerTargets.hs b/library-gen/Stratosphere/ResourceProperties/GlueCrawlerTargets.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueCrawlerTargets.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueCrawlerTargets.hs
@@ -8,6 +8,8 @@
 module Stratosphere.ResourceProperties.GlueCrawlerTargets where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GlueCrawlerCatalogTarget
+import Stratosphere.ResourceProperties.GlueCrawlerDynamoDBTarget
 import Stratosphere.ResourceProperties.GlueCrawlerJdbcTarget
 import Stratosphere.ResourceProperties.GlueCrawlerS3Target
 
@@ -15,7 +17,9 @@
 -- 'glueCrawlerTargets' for a more convenient constructor.
 data GlueCrawlerTargets =
   GlueCrawlerTargets
-  { _glueCrawlerTargetsJdbcTargets :: Maybe [GlueCrawlerJdbcTarget]
+  { _glueCrawlerTargetsCatalogTargets :: Maybe [GlueCrawlerCatalogTarget]
+  , _glueCrawlerTargetsDynamoDBTargets :: Maybe [GlueCrawlerDynamoDBTarget]
+  , _glueCrawlerTargetsJdbcTargets :: Maybe [GlueCrawlerJdbcTarget]
   , _glueCrawlerTargetsS3Targets :: Maybe [GlueCrawlerS3Target]
   } deriving (Show, Eq)
 
@@ -23,7 +27,9 @@
   toJSON GlueCrawlerTargets{..} =
     object $
     catMaybes
-    [ fmap (("JdbcTargets",) . toJSON) _glueCrawlerTargetsJdbcTargets
+    [ fmap (("CatalogTargets",) . toJSON) _glueCrawlerTargetsCatalogTargets
+    , fmap (("DynamoDBTargets",) . toJSON) _glueCrawlerTargetsDynamoDBTargets
+    , fmap (("JdbcTargets",) . toJSON) _glueCrawlerTargetsJdbcTargets
     , fmap (("S3Targets",) . toJSON) _glueCrawlerTargetsS3Targets
     ]
 
@@ -33,9 +39,19 @@
   :: GlueCrawlerTargets
 glueCrawlerTargets  =
   GlueCrawlerTargets
-  { _glueCrawlerTargetsJdbcTargets = Nothing
+  { _glueCrawlerTargetsCatalogTargets = Nothing
+  , _glueCrawlerTargetsDynamoDBTargets = Nothing
+  , _glueCrawlerTargetsJdbcTargets = Nothing
   , _glueCrawlerTargetsS3Targets = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets
+gctCatalogTargets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerCatalogTarget])
+gctCatalogTargets = lens _glueCrawlerTargetsCatalogTargets (\s a -> s { _glueCrawlerTargetsCatalogTargets = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets
+gctDynamoDBTargets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerDynamoDBTarget])
+gctDynamoDBTargets = lens _glueCrawlerTargetsDynamoDBTargets (\s a -> s { _glueCrawlerTargetsDynamoDBTargets = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets
 gctJdbcTargets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerJdbcTarget])
diff --git a/library-gen/Stratosphere/ResourceProperties/MediaConvertJobTemplateAccelerationSettings.hs b/library-gen/Stratosphere/ResourceProperties/MediaConvertJobTemplateAccelerationSettings.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MediaConvertJobTemplateAccelerationSettings.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-accelerationsettings.html
+
+module Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- MediaConvertJobTemplateAccelerationSettings. See
+-- 'mediaConvertJobTemplateAccelerationSettings' for a more convenient
+-- constructor.
+data MediaConvertJobTemplateAccelerationSettings =
+  MediaConvertJobTemplateAccelerationSettings
+  { _mediaConvertJobTemplateAccelerationSettingsMode :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON MediaConvertJobTemplateAccelerationSettings where
+  toJSON MediaConvertJobTemplateAccelerationSettings{..} =
+    object $
+    catMaybes
+    [ (Just . ("Mode",) . toJSON) _mediaConvertJobTemplateAccelerationSettingsMode
+    ]
+
+-- | Constructor for 'MediaConvertJobTemplateAccelerationSettings' containing
+-- required fields as arguments.
+mediaConvertJobTemplateAccelerationSettings
+  :: Val Text -- ^ 'mcjtasMode'
+  -> MediaConvertJobTemplateAccelerationSettings
+mediaConvertJobTemplateAccelerationSettings modearg =
+  MediaConvertJobTemplateAccelerationSettings
+  { _mediaConvertJobTemplateAccelerationSettingsMode = modearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-accelerationsettings.html#cfn-mediaconvert-jobtemplate-accelerationsettings-mode
+mcjtasMode :: Lens' MediaConvertJobTemplateAccelerationSettings (Val Text)
+mcjtasMode = lens _mediaConvertJobTemplateAccelerationSettingsMode (\s a -> s { _mediaConvertJobTemplateAccelerationSettingsMode = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateAPNSPushNotificationTemplate.hs b/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateAPNSPushNotificationTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateAPNSPushNotificationTemplate.hs
@@ -0,0 +1,75 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html
+
+module Stratosphere.ResourceProperties.PinpointPushTemplateAPNSPushNotificationTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- PinpointPushTemplateAPNSPushNotificationTemplate. See
+-- 'pinpointPushTemplateAPNSPushNotificationTemplate' for a more convenient
+-- constructor.
+data PinpointPushTemplateAPNSPushNotificationTemplate =
+  PinpointPushTemplateAPNSPushNotificationTemplate
+  { _pinpointPushTemplateAPNSPushNotificationTemplateAction :: Maybe (Val Text)
+  , _pinpointPushTemplateAPNSPushNotificationTemplateBody :: Maybe (Val Text)
+  , _pinpointPushTemplateAPNSPushNotificationTemplateMediaUrl :: Maybe (Val Text)
+  , _pinpointPushTemplateAPNSPushNotificationTemplateSound :: Maybe (Val Text)
+  , _pinpointPushTemplateAPNSPushNotificationTemplateTitle :: Maybe (Val Text)
+  , _pinpointPushTemplateAPNSPushNotificationTemplateUrl :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON PinpointPushTemplateAPNSPushNotificationTemplate where
+  toJSON PinpointPushTemplateAPNSPushNotificationTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("Action",) . toJSON) _pinpointPushTemplateAPNSPushNotificationTemplateAction
+    , fmap (("Body",) . toJSON) _pinpointPushTemplateAPNSPushNotificationTemplateBody
+    , fmap (("MediaUrl",) . toJSON) _pinpointPushTemplateAPNSPushNotificationTemplateMediaUrl
+    , fmap (("Sound",) . toJSON) _pinpointPushTemplateAPNSPushNotificationTemplateSound
+    , fmap (("Title",) . toJSON) _pinpointPushTemplateAPNSPushNotificationTemplateTitle
+    , fmap (("Url",) . toJSON) _pinpointPushTemplateAPNSPushNotificationTemplateUrl
+    ]
+
+-- | Constructor for 'PinpointPushTemplateAPNSPushNotificationTemplate'
+-- containing required fields as arguments.
+pinpointPushTemplateAPNSPushNotificationTemplate
+  :: PinpointPushTemplateAPNSPushNotificationTemplate
+pinpointPushTemplateAPNSPushNotificationTemplate  =
+  PinpointPushTemplateAPNSPushNotificationTemplate
+  { _pinpointPushTemplateAPNSPushNotificationTemplateAction = Nothing
+  , _pinpointPushTemplateAPNSPushNotificationTemplateBody = Nothing
+  , _pinpointPushTemplateAPNSPushNotificationTemplateMediaUrl = Nothing
+  , _pinpointPushTemplateAPNSPushNotificationTemplateSound = Nothing
+  , _pinpointPushTemplateAPNSPushNotificationTemplateTitle = Nothing
+  , _pinpointPushTemplateAPNSPushNotificationTemplateUrl = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-action
+pptapnspntAction :: Lens' PinpointPushTemplateAPNSPushNotificationTemplate (Maybe (Val Text))
+pptapnspntAction = lens _pinpointPushTemplateAPNSPushNotificationTemplateAction (\s a -> s { _pinpointPushTemplateAPNSPushNotificationTemplateAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-body
+pptapnspntBody :: Lens' PinpointPushTemplateAPNSPushNotificationTemplate (Maybe (Val Text))
+pptapnspntBody = lens _pinpointPushTemplateAPNSPushNotificationTemplateBody (\s a -> s { _pinpointPushTemplateAPNSPushNotificationTemplateBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-mediaurl
+pptapnspntMediaUrl :: Lens' PinpointPushTemplateAPNSPushNotificationTemplate (Maybe (Val Text))
+pptapnspntMediaUrl = lens _pinpointPushTemplateAPNSPushNotificationTemplateMediaUrl (\s a -> s { _pinpointPushTemplateAPNSPushNotificationTemplateMediaUrl = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-sound
+pptapnspntSound :: Lens' PinpointPushTemplateAPNSPushNotificationTemplate (Maybe (Val Text))
+pptapnspntSound = lens _pinpointPushTemplateAPNSPushNotificationTemplateSound (\s a -> s { _pinpointPushTemplateAPNSPushNotificationTemplateSound = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-title
+pptapnspntTitle :: Lens' PinpointPushTemplateAPNSPushNotificationTemplate (Maybe (Val Text))
+pptapnspntTitle = lens _pinpointPushTemplateAPNSPushNotificationTemplateTitle (\s a -> s { _pinpointPushTemplateAPNSPushNotificationTemplateTitle = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-url
+pptapnspntUrl :: Lens' PinpointPushTemplateAPNSPushNotificationTemplate (Maybe (Val Text))
+pptapnspntUrl = lens _pinpointPushTemplateAPNSPushNotificationTemplateUrl (\s a -> s { _pinpointPushTemplateAPNSPushNotificationTemplateUrl = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateAndroidPushNotificationTemplate.hs b/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateAndroidPushNotificationTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateAndroidPushNotificationTemplate.hs
@@ -0,0 +1,89 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html
+
+module Stratosphere.ResourceProperties.PinpointPushTemplateAndroidPushNotificationTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- PinpointPushTemplateAndroidPushNotificationTemplate. See
+-- 'pinpointPushTemplateAndroidPushNotificationTemplate' for a more
+-- convenient constructor.
+data PinpointPushTemplateAndroidPushNotificationTemplate =
+  PinpointPushTemplateAndroidPushNotificationTemplate
+  { _pinpointPushTemplateAndroidPushNotificationTemplateAction :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateBody :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateImageIconUrl :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateImageUrl :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateSmallImageIconUrl :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateSound :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateTitle :: Maybe (Val Text)
+  , _pinpointPushTemplateAndroidPushNotificationTemplateUrl :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON PinpointPushTemplateAndroidPushNotificationTemplate where
+  toJSON PinpointPushTemplateAndroidPushNotificationTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("Action",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateAction
+    , fmap (("Body",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateBody
+    , fmap (("ImageIconUrl",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateImageIconUrl
+    , fmap (("ImageUrl",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateImageUrl
+    , fmap (("SmallImageIconUrl",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateSmallImageIconUrl
+    , fmap (("Sound",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateSound
+    , fmap (("Title",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateTitle
+    , fmap (("Url",) . toJSON) _pinpointPushTemplateAndroidPushNotificationTemplateUrl
+    ]
+
+-- | Constructor for 'PinpointPushTemplateAndroidPushNotificationTemplate'
+-- containing required fields as arguments.
+pinpointPushTemplateAndroidPushNotificationTemplate
+  :: PinpointPushTemplateAndroidPushNotificationTemplate
+pinpointPushTemplateAndroidPushNotificationTemplate  =
+  PinpointPushTemplateAndroidPushNotificationTemplate
+  { _pinpointPushTemplateAndroidPushNotificationTemplateAction = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateBody = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateImageIconUrl = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateImageUrl = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateSmallImageIconUrl = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateSound = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateTitle = Nothing
+  , _pinpointPushTemplateAndroidPushNotificationTemplateUrl = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-action
+pptapntAction :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntAction = lens _pinpointPushTemplateAndroidPushNotificationTemplateAction (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-body
+pptapntBody :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntBody = lens _pinpointPushTemplateAndroidPushNotificationTemplateBody (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-imageiconurl
+pptapntImageIconUrl :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntImageIconUrl = lens _pinpointPushTemplateAndroidPushNotificationTemplateImageIconUrl (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateImageIconUrl = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-imageurl
+pptapntImageUrl :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntImageUrl = lens _pinpointPushTemplateAndroidPushNotificationTemplateImageUrl (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateImageUrl = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-smallimageiconurl
+pptapntSmallImageIconUrl :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntSmallImageIconUrl = lens _pinpointPushTemplateAndroidPushNotificationTemplateSmallImageIconUrl (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateSmallImageIconUrl = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-sound
+pptapntSound :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntSound = lens _pinpointPushTemplateAndroidPushNotificationTemplateSound (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateSound = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-title
+pptapntTitle :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntTitle = lens _pinpointPushTemplateAndroidPushNotificationTemplateTitle (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateTitle = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-url
+pptapntUrl :: Lens' PinpointPushTemplateAndroidPushNotificationTemplate (Maybe (Val Text))
+pptapntUrl = lens _pinpointPushTemplateAndroidPushNotificationTemplateUrl (\s a -> s { _pinpointPushTemplateAndroidPushNotificationTemplateUrl = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateDefaultPushNotificationTemplate.hs b/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateDefaultPushNotificationTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateDefaultPushNotificationTemplate.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html
+
+module Stratosphere.ResourceProperties.PinpointPushTemplateDefaultPushNotificationTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- PinpointPushTemplateDefaultPushNotificationTemplate. See
+-- 'pinpointPushTemplateDefaultPushNotificationTemplate' for a more
+-- convenient constructor.
+data PinpointPushTemplateDefaultPushNotificationTemplate =
+  PinpointPushTemplateDefaultPushNotificationTemplate
+  { _pinpointPushTemplateDefaultPushNotificationTemplateAction :: Maybe (Val Text)
+  , _pinpointPushTemplateDefaultPushNotificationTemplateBody :: Maybe (Val Text)
+  , _pinpointPushTemplateDefaultPushNotificationTemplateSound :: Maybe (Val Text)
+  , _pinpointPushTemplateDefaultPushNotificationTemplateTitle :: Maybe (Val Text)
+  , _pinpointPushTemplateDefaultPushNotificationTemplateUrl :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON PinpointPushTemplateDefaultPushNotificationTemplate where
+  toJSON PinpointPushTemplateDefaultPushNotificationTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("Action",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateAction
+    , fmap (("Body",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateBody
+    , fmap (("Sound",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateSound
+    , fmap (("Title",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateTitle
+    , fmap (("Url",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateUrl
+    ]
+
+-- | Constructor for 'PinpointPushTemplateDefaultPushNotificationTemplate'
+-- containing required fields as arguments.
+pinpointPushTemplateDefaultPushNotificationTemplate
+  :: PinpointPushTemplateDefaultPushNotificationTemplate
+pinpointPushTemplateDefaultPushNotificationTemplate  =
+  PinpointPushTemplateDefaultPushNotificationTemplate
+  { _pinpointPushTemplateDefaultPushNotificationTemplateAction = Nothing
+  , _pinpointPushTemplateDefaultPushNotificationTemplateBody = Nothing
+  , _pinpointPushTemplateDefaultPushNotificationTemplateSound = Nothing
+  , _pinpointPushTemplateDefaultPushNotificationTemplateTitle = Nothing
+  , _pinpointPushTemplateDefaultPushNotificationTemplateUrl = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-action
+pptdpntAction :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
+pptdpntAction = lens _pinpointPushTemplateDefaultPushNotificationTemplateAction (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-body
+pptdpntBody :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
+pptdpntBody = lens _pinpointPushTemplateDefaultPushNotificationTemplateBody (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-sound
+pptdpntSound :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
+pptdpntSound = lens _pinpointPushTemplateDefaultPushNotificationTemplateSound (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateSound = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-title
+pptdpntTitle :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
+pptdpntTitle = lens _pinpointPushTemplateDefaultPushNotificationTemplateTitle (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateTitle = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-url
+pptdpntUrl :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
+pptdpntUrl = lens _pinpointPushTemplateDefaultPushNotificationTemplateUrl (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateUrl = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
--- a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
@@ -16,7 +16,6 @@
   RDSDBClusterDBClusterRole
   { _rDSDBClusterDBClusterRoleFeatureName :: Maybe (Val Text)
   , _rDSDBClusterDBClusterRoleRoleArn :: Val Text
-  , _rDSDBClusterDBClusterRoleStatus :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON RDSDBClusterDBClusterRole where
@@ -25,7 +24,6 @@
     catMaybes
     [ fmap (("FeatureName",) . toJSON) _rDSDBClusterDBClusterRoleFeatureName
     , (Just . ("RoleArn",) . toJSON) _rDSDBClusterDBClusterRoleRoleArn
-    , fmap (("Status",) . toJSON) _rDSDBClusterDBClusterRoleStatus
     ]
 
 -- | Constructor for 'RDSDBClusterDBClusterRole' containing required fields as
@@ -37,7 +35,6 @@
   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
@@ -47,7 +44,3 @@
 -- | 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
--- a/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
@@ -16,7 +16,6 @@
   RDSDBInstanceDBInstanceRole
   { _rDSDBInstanceDBInstanceRoleFeatureName :: Val Text
   , _rDSDBInstanceDBInstanceRoleRoleArn :: Val Text
-  , _rDSDBInstanceDBInstanceRoleStatus :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON RDSDBInstanceDBInstanceRole where
@@ -25,7 +24,6 @@
     catMaybes
     [ (Just . ("FeatureName",) . toJSON) _rDSDBInstanceDBInstanceRoleFeatureName
     , (Just . ("RoleArn",) . toJSON) _rDSDBInstanceDBInstanceRoleRoleArn
-    , fmap (("Status",) . toJSON) _rDSDBInstanceDBInstanceRoleStatus
     ]
 
 -- | Constructor for 'RDSDBInstanceDBInstanceRole' containing required fields
@@ -38,7 +36,6 @@
   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
@@ -48,7 +45,3 @@
 -- | 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/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -138,6 +138,7 @@
 import Stratosphere.Resources.CodePipelinePipeline as X
 import Stratosphere.Resources.CodePipelineWebhook as X
 import Stratosphere.Resources.CodeStarGitHubRepository as X
+import Stratosphere.Resources.CodeStarNotificationsNotificationRule as X
 import Stratosphere.Resources.CognitoIdentityPool as X
 import Stratosphere.Resources.CognitoIdentityPoolRoleAttachment as X
 import Stratosphere.Resources.CognitoUserPool as X
@@ -362,6 +363,9 @@
 import Stratosphere.Resources.MSKCluster as X
 import Stratosphere.Resources.ManagedBlockchainMember as X
 import Stratosphere.Resources.ManagedBlockchainNode as X
+import Stratosphere.Resources.MediaConvertJobTemplate as X
+import Stratosphere.Resources.MediaConvertPreset as X
+import Stratosphere.Resources.MediaConvertQueue as X
 import Stratosphere.Resources.MediaLiveChannel as X
 import Stratosphere.Resources.MediaLiveInput as X
 import Stratosphere.Resources.MediaLiveInputSecurityGroup as X
@@ -389,10 +393,13 @@
 import Stratosphere.Resources.PinpointBaiduChannel as X
 import Stratosphere.Resources.PinpointCampaign as X
 import Stratosphere.Resources.PinpointEmailChannel as X
+import Stratosphere.Resources.PinpointEmailTemplate as X
 import Stratosphere.Resources.PinpointEventStream as X
 import Stratosphere.Resources.PinpointGCMChannel as X
+import Stratosphere.Resources.PinpointPushTemplate as X
 import Stratosphere.Resources.PinpointSMSChannel as X
 import Stratosphere.Resources.PinpointSegment as X
+import Stratosphere.Resources.PinpointSmsTemplate as X
 import Stratosphere.Resources.PinpointVoiceChannel as X
 import Stratosphere.Resources.PinpointEmailConfigurationSet as X
 import Stratosphere.Resources.PinpointEmailConfigurationSetEventDestination as X
@@ -546,6 +553,12 @@
 import Stratosphere.ResourceProperties.AppMeshMeshEgressFilter as X
 import Stratosphere.ResourceProperties.AppMeshMeshMeshSpec as X
 import Stratosphere.ResourceProperties.AppMeshRouteDuration as X
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRetryPolicy as X
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRoute as X
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteAction as X
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMatch as X
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadata as X
+import Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadataMatchMethod as X
 import Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRetryPolicy as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRoute as X
@@ -581,8 +594,10 @@
 import Stratosphere.ResourceProperties.AppStreamFleetComputeCapacity as X
 import Stratosphere.ResourceProperties.AppStreamFleetDomainJoinInfo as X
 import Stratosphere.ResourceProperties.AppStreamFleetVpcConfig as X
+import Stratosphere.ResourceProperties.AppStreamImageBuilderAccessEndpoint as X
 import Stratosphere.ResourceProperties.AppStreamImageBuilderDomainJoinInfo as X
 import Stratosphere.ResourceProperties.AppStreamImageBuilderVpcConfig as X
+import Stratosphere.ResourceProperties.AppStreamStackAccessEndpoint as X
 import Stratosphere.ResourceProperties.AppStreamStackApplicationSettings as X
 import Stratosphere.ResourceProperties.AppStreamStackStorageConnector as X
 import Stratosphere.ResourceProperties.AppStreamStackUserSetting as X
@@ -748,6 +763,7 @@
 import Stratosphere.ResourceProperties.CodePipelineWebhookWebhookFilterRule as X
 import Stratosphere.ResourceProperties.CodeStarGitHubRepositoryCode as X
 import Stratosphere.ResourceProperties.CodeStarGitHubRepositoryS3 as X
+import Stratosphere.ResourceProperties.CodeStarNotificationsNotificationRuleTarget as X
 import Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoIdentityProvider as X
 import Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoStreams as X
 import Stratosphere.ResourceProperties.CognitoIdentityPoolPushSync as X
@@ -914,6 +930,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties as X
+import Stratosphere.ResourceProperties.ECSTaskDefinitionInferenceAccelerator as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionKernelCapabilities as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionKeyValuePair as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionLinuxParameters as X
@@ -1026,12 +1043,16 @@
 import Stratosphere.ResourceProperties.ElasticsearchDomainEBSOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainEncryptionAtRestOptions as X
+import Stratosphere.ResourceProperties.ElasticsearchDomainLogPublishingOption as X
 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.EventsRuleBatchArrayProperties as X
+import Stratosphere.ResourceProperties.EventsRuleBatchParameters as X
+import Stratosphere.ResourceProperties.EventsRuleBatchRetryStrategy as X
 import Stratosphere.ResourceProperties.EventsRuleEcsParameters as X
 import Stratosphere.ResourceProperties.EventsRuleInputTransformer as X
 import Stratosphere.ResourceProperties.EventsRuleKinesisParameters as X
@@ -1045,13 +1066,19 @@
 import Stratosphere.ResourceProperties.FSxFileSystemWindowsConfiguration as X
 import Stratosphere.ResourceProperties.GameLiftAliasRoutingStrategy as X
 import Stratosphere.ResourceProperties.GameLiftBuildS3Location as X
+import Stratosphere.ResourceProperties.GameLiftFleetCertificateConfiguration as X
 import Stratosphere.ResourceProperties.GameLiftFleetIpPermission as X
+import Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy as X
+import Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration as X
+import Stratosphere.ResourceProperties.GameLiftFleetServerProcess as X
 import Stratosphere.ResourceProperties.GlueClassifierCsvClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierGrokClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierJsonClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierXMLClassifier as X
 import Stratosphere.ResourceProperties.GlueConnectionConnectionInput as X
 import Stratosphere.ResourceProperties.GlueConnectionPhysicalConnectionRequirements as X
+import Stratosphere.ResourceProperties.GlueCrawlerCatalogTarget as X
+import Stratosphere.ResourceProperties.GlueCrawlerDynamoDBTarget as X
 import Stratosphere.ResourceProperties.GlueCrawlerJdbcTarget as X
 import Stratosphere.ResourceProperties.GlueCrawlerS3Target as X
 import Stratosphere.ResourceProperties.GlueCrawlerSchedule as X
@@ -1345,6 +1372,7 @@
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFrameworkConfiguration as X
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy as X
 import Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration as X
+import Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAribSourceSettings as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAudioLanguageSelection as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAudioPidSelection as X
@@ -1411,6 +1439,9 @@
 import Stratosphere.ResourceProperties.PinpointCampaignSchedule as X
 import Stratosphere.ResourceProperties.PinpointCampaignSetDimension as X
 import Stratosphere.ResourceProperties.PinpointCampaignWriteTreatmentResource as X
+import Stratosphere.ResourceProperties.PinpointPushTemplateAPNSPushNotificationTemplate as X
+import Stratosphere.ResourceProperties.PinpointPushTemplateAndroidPushNotificationTemplate as X
+import Stratosphere.ResourceProperties.PinpointPushTemplateDefaultPushNotificationTemplate as X
 import Stratosphere.ResourceProperties.PinpointSegmentAttributeDimension as X
 import Stratosphere.ResourceProperties.PinpointSegmentBehavior as X
 import Stratosphere.ResourceProperties.PinpointSegmentCoordinates as X
diff --git a/library-gen/Stratosphere/Resources/AmplifyBranch.hs b/library-gen/Stratosphere/Resources/AmplifyBranch.hs
--- a/library-gen/Stratosphere/Resources/AmplifyBranch.hs
+++ b/library-gen/Stratosphere/Resources/AmplifyBranch.hs
@@ -22,7 +22,9 @@
   , _amplifyBranchBuildSpec :: Maybe (Val Text)
   , _amplifyBranchDescription :: Maybe (Val Text)
   , _amplifyBranchEnableAutoBuild :: Maybe (Val Bool)
+  , _amplifyBranchEnablePullRequestPreview :: Maybe (Val Bool)
   , _amplifyBranchEnvironmentVariables :: Maybe [AmplifyBranchEnvironmentVariable]
+  , _amplifyBranchPullRequestEnvironmentName :: Maybe (Val Text)
   , _amplifyBranchStage :: Maybe (Val Text)
   , _amplifyBranchTags :: Maybe [Tag]
   } deriving (Show, Eq)
@@ -39,7 +41,9 @@
         , fmap (("BuildSpec",) . toJSON) _amplifyBranchBuildSpec
         , fmap (("Description",) . toJSON) _amplifyBranchDescription
         , fmap (("EnableAutoBuild",) . toJSON) _amplifyBranchEnableAutoBuild
+        , fmap (("EnablePullRequestPreview",) . toJSON) _amplifyBranchEnablePullRequestPreview
         , fmap (("EnvironmentVariables",) . toJSON) _amplifyBranchEnvironmentVariables
+        , fmap (("PullRequestEnvironmentName",) . toJSON) _amplifyBranchPullRequestEnvironmentName
         , fmap (("Stage",) . toJSON) _amplifyBranchStage
         , fmap (("Tags",) . toJSON) _amplifyBranchTags
         ]
@@ -58,7 +62,9 @@
   , _amplifyBranchBuildSpec = Nothing
   , _amplifyBranchDescription = Nothing
   , _amplifyBranchEnableAutoBuild = Nothing
+  , _amplifyBranchEnablePullRequestPreview = Nothing
   , _amplifyBranchEnvironmentVariables = Nothing
+  , _amplifyBranchPullRequestEnvironmentName = Nothing
   , _amplifyBranchStage = Nothing
   , _amplifyBranchTags = Nothing
   }
@@ -87,9 +93,17 @@
 abEnableAutoBuild :: Lens' AmplifyBranch (Maybe (Val Bool))
 abEnableAutoBuild = lens _amplifyBranchEnableAutoBuild (\s a -> s { _amplifyBranchEnableAutoBuild = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enablepullrequestpreview
+abEnablePullRequestPreview :: Lens' AmplifyBranch (Maybe (Val Bool))
+abEnablePullRequestPreview = lens _amplifyBranchEnablePullRequestPreview (\s a -> s { _amplifyBranchEnablePullRequestPreview = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-environmentvariables
 abEnvironmentVariables :: Lens' AmplifyBranch (Maybe [AmplifyBranchEnvironmentVariable])
 abEnvironmentVariables = lens _amplifyBranchEnvironmentVariables (\s a -> s { _amplifyBranchEnvironmentVariables = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-pullrequestenvironmentname
+abPullRequestEnvironmentName :: Lens' AmplifyBranch (Maybe (Val Text))
+abPullRequestEnvironmentName = lens _amplifyBranchPullRequestEnvironmentName (\s a -> s { _amplifyBranchPullRequestEnvironmentName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-stage
 abStage :: Lens' AmplifyBranch (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs b/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ApiGatewayApiKeyStageKey
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ApiGatewayApiKey. See 'apiGatewayApiKey'
 -- for a more convenient constructor.
@@ -20,6 +21,7 @@
   , _apiGatewayApiKeyGenerateDistinctId :: Maybe (Val Bool)
   , _apiGatewayApiKeyName :: Maybe (Val Text)
   , _apiGatewayApiKeyStageKeys :: Maybe [ApiGatewayApiKeyStageKey]
+  , _apiGatewayApiKeyTags :: Maybe [Tag]
   , _apiGatewayApiKeyValue :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -35,6 +37,7 @@
         , fmap (("GenerateDistinctId",) . toJSON) _apiGatewayApiKeyGenerateDistinctId
         , fmap (("Name",) . toJSON) _apiGatewayApiKeyName
         , fmap (("StageKeys",) . toJSON) _apiGatewayApiKeyStageKeys
+        , fmap (("Tags",) . toJSON) _apiGatewayApiKeyTags
         , fmap (("Value",) . toJSON) _apiGatewayApiKeyValue
         ]
     }
@@ -51,6 +54,7 @@
   , _apiGatewayApiKeyGenerateDistinctId = Nothing
   , _apiGatewayApiKeyName = Nothing
   , _apiGatewayApiKeyStageKeys = Nothing
+  , _apiGatewayApiKeyTags = Nothing
   , _apiGatewayApiKeyValue = Nothing
   }
 
@@ -77,6 +81,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-stagekeys
 agakStageKeys :: Lens' ApiGatewayApiKey (Maybe [ApiGatewayApiKeyStageKey])
 agakStageKeys = lens _apiGatewayApiKeyStageKeys (\s a -> s { _apiGatewayApiKeyStageKeys = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags
+agakTags :: Lens' ApiGatewayApiKey (Maybe [Tag])
+agakTags = lens _apiGatewayApiKeyTags (\s a -> s { _apiGatewayApiKeyTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value
 agakValue :: Lens' ApiGatewayApiKey (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs b/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
@@ -8,13 +8,14 @@
 module Stratosphere.Resources.ApiGatewayClientCertificate where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ApiGatewayClientCertificate. See
 -- 'apiGatewayClientCertificate' for a more convenient constructor.
 data ApiGatewayClientCertificate =
   ApiGatewayClientCertificate
   { _apiGatewayClientCertificateDescription :: Maybe (Val Text)
+  , _apiGatewayClientCertificateTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties ApiGatewayClientCertificate where
@@ -24,6 +25,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _apiGatewayClientCertificateDescription
+        , fmap (("Tags",) . toJSON) _apiGatewayClientCertificateTags
         ]
     }
 
@@ -34,8 +36,13 @@
 apiGatewayClientCertificate  =
   ApiGatewayClientCertificate
   { _apiGatewayClientCertificateDescription = Nothing
+  , _apiGatewayClientCertificateTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description
 agccDescription :: Lens' ApiGatewayClientCertificate (Maybe (Val Text))
 agccDescription = lens _apiGatewayClientCertificateDescription (\s a -> s { _apiGatewayClientCertificateDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags
+agccTags :: Lens' ApiGatewayClientCertificate (Maybe [Tag])
+agccTags = lens _apiGatewayClientCertificateTags (\s a -> s { _apiGatewayClientCertificateTags = a })
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs b/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ApiGatewayDomainNameEndpointConfiguration
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ApiGatewayDomainName. See
 -- 'apiGatewayDomainName' for a more convenient constructor.
@@ -18,6 +19,8 @@
   , _apiGatewayDomainNameDomainName :: Val Text
   , _apiGatewayDomainNameEndpointConfiguration :: Maybe ApiGatewayDomainNameEndpointConfiguration
   , _apiGatewayDomainNameRegionalCertificateArn :: Maybe (Val Text)
+  , _apiGatewayDomainNameSecurityPolicy :: Maybe (Val Text)
+  , _apiGatewayDomainNameTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties ApiGatewayDomainName where
@@ -30,6 +33,8 @@
         , (Just . ("DomainName",) . toJSON) _apiGatewayDomainNameDomainName
         , fmap (("EndpointConfiguration",) . toJSON) _apiGatewayDomainNameEndpointConfiguration
         , fmap (("RegionalCertificateArn",) . toJSON) _apiGatewayDomainNameRegionalCertificateArn
+        , fmap (("SecurityPolicy",) . toJSON) _apiGatewayDomainNameSecurityPolicy
+        , fmap (("Tags",) . toJSON) _apiGatewayDomainNameTags
         ]
     }
 
@@ -44,6 +49,8 @@
   , _apiGatewayDomainNameDomainName = domainNamearg
   , _apiGatewayDomainNameEndpointConfiguration = Nothing
   , _apiGatewayDomainNameRegionalCertificateArn = Nothing
+  , _apiGatewayDomainNameSecurityPolicy = Nothing
+  , _apiGatewayDomainNameTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
@@ -61,3 +68,11 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
 agdnRegionalCertificateArn :: Lens' ApiGatewayDomainName (Maybe (Val Text))
 agdnRegionalCertificateArn = lens _apiGatewayDomainNameRegionalCertificateArn (\s a -> s { _apiGatewayDomainNameRegionalCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
+agdnSecurityPolicy :: Lens' ApiGatewayDomainName (Maybe (Val Text))
+agdnSecurityPolicy = lens _apiGatewayDomainNameSecurityPolicy (\s a -> s { _apiGatewayDomainNameSecurityPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
+agdnTags :: Lens' ApiGatewayDomainName (Maybe [Tag])
+agdnTags = lens _apiGatewayDomainNameTags (\s a -> s { _apiGatewayDomainNameTags = a })
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs b/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ApiGatewayRestApiS3Location
 import Stratosphere.ResourceProperties.ApiGatewayRestApiEndpointConfiguration
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ApiGatewayRestApi. See 'apiGatewayRestApi'
 -- for a more convenient constructor.
@@ -27,6 +28,7 @@
   , _apiGatewayRestApiName :: Maybe (Val Text)
   , _apiGatewayRestApiParameters :: Maybe Object
   , _apiGatewayRestApiPolicy :: Maybe Object
+  , _apiGatewayRestApiTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties ApiGatewayRestApi where
@@ -47,6 +49,7 @@
         , fmap (("Name",) . toJSON) _apiGatewayRestApiName
         , fmap (("Parameters",) . toJSON) _apiGatewayRestApiParameters
         , fmap (("Policy",) . toJSON) _apiGatewayRestApiPolicy
+        , fmap (("Tags",) . toJSON) _apiGatewayRestApiTags
         ]
     }
 
@@ -68,6 +71,7 @@
   , _apiGatewayRestApiName = Nothing
   , _apiGatewayRestApiParameters = Nothing
   , _apiGatewayRestApiPolicy = Nothing
+  , _apiGatewayRestApiTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype
@@ -117,3 +121,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy
 agraPolicy :: Lens' ApiGatewayRestApi (Maybe Object)
 agraPolicy = lens _apiGatewayRestApiPolicy (\s a -> s { _apiGatewayRestApiPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-tags
+agraTags :: Lens' ApiGatewayRestApi (Maybe [Tag])
+agraTags = lens _apiGatewayRestApiTags (\s a -> s { _apiGatewayRestApiTags = a })
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings
 
 -- | Full data type definition for ApiGatewayUsagePlan. See
@@ -19,6 +20,7 @@
   { _apiGatewayUsagePlanApiStages :: Maybe [ApiGatewayUsagePlanApiStage]
   , _apiGatewayUsagePlanDescription :: Maybe (Val Text)
   , _apiGatewayUsagePlanQuota :: Maybe ApiGatewayUsagePlanQuotaSettings
+  , _apiGatewayUsagePlanTags :: Maybe [Tag]
   , _apiGatewayUsagePlanThrottle :: Maybe ApiGatewayUsagePlanThrottleSettings
   , _apiGatewayUsagePlanUsagePlanName :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -32,6 +34,7 @@
         [ fmap (("ApiStages",) . toJSON) _apiGatewayUsagePlanApiStages
         , fmap (("Description",) . toJSON) _apiGatewayUsagePlanDescription
         , fmap (("Quota",) . toJSON) _apiGatewayUsagePlanQuota
+        , fmap (("Tags",) . toJSON) _apiGatewayUsagePlanTags
         , fmap (("Throttle",) . toJSON) _apiGatewayUsagePlanThrottle
         , fmap (("UsagePlanName",) . toJSON) _apiGatewayUsagePlanUsagePlanName
         ]
@@ -46,6 +49,7 @@
   { _apiGatewayUsagePlanApiStages = Nothing
   , _apiGatewayUsagePlanDescription = Nothing
   , _apiGatewayUsagePlanQuota = Nothing
+  , _apiGatewayUsagePlanTags = Nothing
   , _apiGatewayUsagePlanThrottle = Nothing
   , _apiGatewayUsagePlanUsagePlanName = Nothing
   }
@@ -61,6 +65,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota
 agupQuota :: Lens' ApiGatewayUsagePlan (Maybe ApiGatewayUsagePlanQuotaSettings)
 agupQuota = lens _apiGatewayUsagePlanQuota (\s a -> s { _apiGatewayUsagePlanQuota = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags
+agupTags :: Lens' ApiGatewayUsagePlan (Maybe [Tag])
+agupTags = lens _apiGatewayUsagePlanTags (\s a -> s { _apiGatewayUsagePlanTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle
 agupThrottle :: Lens' ApiGatewayUsagePlan (Maybe ApiGatewayUsagePlanThrottleSettings)
diff --git a/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs b/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
--- a/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.AppStreamImageBuilder where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppStreamImageBuilderAccessEndpoint
 import Stratosphere.ResourceProperties.AppStreamImageBuilderDomainJoinInfo
 import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.AppStreamImageBuilderVpcConfig
@@ -16,7 +17,8 @@
 -- 'appStreamImageBuilder' for a more convenient constructor.
 data AppStreamImageBuilder =
   AppStreamImageBuilder
-  { _appStreamImageBuilderAppstreamAgentVersion :: Maybe (Val Text)
+  { _appStreamImageBuilderAccessEndpoints :: Maybe [AppStreamImageBuilderAccessEndpoint]
+  , _appStreamImageBuilderAppstreamAgentVersion :: Maybe (Val Text)
   , _appStreamImageBuilderDescription :: Maybe (Val Text)
   , _appStreamImageBuilderDisplayName :: Maybe (Val Text)
   , _appStreamImageBuilderDomainJoinInfo :: Maybe AppStreamImageBuilderDomainJoinInfo
@@ -35,7 +37,8 @@
     { resourcePropertiesType = "AWS::AppStream::ImageBuilder"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AppstreamAgentVersion",) . toJSON) _appStreamImageBuilderAppstreamAgentVersion
+        [ fmap (("AccessEndpoints",) . toJSON) _appStreamImageBuilderAccessEndpoints
+        , fmap (("AppstreamAgentVersion",) . toJSON) _appStreamImageBuilderAppstreamAgentVersion
         , fmap (("Description",) . toJSON) _appStreamImageBuilderDescription
         , fmap (("DisplayName",) . toJSON) _appStreamImageBuilderDisplayName
         , fmap (("DomainJoinInfo",) . toJSON) _appStreamImageBuilderDomainJoinInfo
@@ -56,7 +59,8 @@
   -> AppStreamImageBuilder
 appStreamImageBuilder instanceTypearg =
   AppStreamImageBuilder
-  { _appStreamImageBuilderAppstreamAgentVersion = Nothing
+  { _appStreamImageBuilderAccessEndpoints = Nothing
+  , _appStreamImageBuilderAppstreamAgentVersion = Nothing
   , _appStreamImageBuilderDescription = Nothing
   , _appStreamImageBuilderDisplayName = Nothing
   , _appStreamImageBuilderDomainJoinInfo = Nothing
@@ -68,6 +72,10 @@
   , _appStreamImageBuilderTags = Nothing
   , _appStreamImageBuilderVpcConfig = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints
+asibAccessEndpoints :: Lens' AppStreamImageBuilder (Maybe [AppStreamImageBuilderAccessEndpoint])
+asibAccessEndpoints = lens _appStreamImageBuilderAccessEndpoints (\s a -> s { _appStreamImageBuilderAccessEndpoints = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-appstreamagentversion
 asibAppstreamAgentVersion :: Lens' AppStreamImageBuilder (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/AppStreamStack.hs b/library-gen/Stratosphere/Resources/AppStreamStack.hs
--- a/library-gen/Stratosphere/Resources/AppStreamStack.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamStack.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.AppStreamStack where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppStreamStackAccessEndpoint
 import Stratosphere.ResourceProperties.AppStreamStackApplicationSettings
 import Stratosphere.ResourceProperties.AppStreamStackStorageConnector
 import Stratosphere.ResourceProperties.Tag
@@ -17,11 +18,13 @@
 -- more convenient constructor.
 data AppStreamStack =
   AppStreamStack
-  { _appStreamStackApplicationSettings :: Maybe AppStreamStackApplicationSettings
+  { _appStreamStackAccessEndpoints :: Maybe [AppStreamStackAccessEndpoint]
+  , _appStreamStackApplicationSettings :: Maybe AppStreamStackApplicationSettings
   , _appStreamStackAttributesToDelete :: Maybe (ValList Text)
   , _appStreamStackDeleteStorageConnectors :: Maybe (Val Bool)
   , _appStreamStackDescription :: Maybe (Val Text)
   , _appStreamStackDisplayName :: Maybe (Val Text)
+  , _appStreamStackEmbedHostDomains :: Maybe (ValList Text)
   , _appStreamStackFeedbackURL :: Maybe (Val Text)
   , _appStreamStackName :: Maybe (Val Text)
   , _appStreamStackRedirectURL :: Maybe (Val Text)
@@ -36,11 +39,13 @@
     { resourcePropertiesType = "AWS::AppStream::Stack"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("ApplicationSettings",) . toJSON) _appStreamStackApplicationSettings
+        [ fmap (("AccessEndpoints",) . toJSON) _appStreamStackAccessEndpoints
+        , fmap (("ApplicationSettings",) . toJSON) _appStreamStackApplicationSettings
         , fmap (("AttributesToDelete",) . toJSON) _appStreamStackAttributesToDelete
         , fmap (("DeleteStorageConnectors",) . toJSON) _appStreamStackDeleteStorageConnectors
         , fmap (("Description",) . toJSON) _appStreamStackDescription
         , fmap (("DisplayName",) . toJSON) _appStreamStackDisplayName
+        , fmap (("EmbedHostDomains",) . toJSON) _appStreamStackEmbedHostDomains
         , fmap (("FeedbackURL",) . toJSON) _appStreamStackFeedbackURL
         , fmap (("Name",) . toJSON) _appStreamStackName
         , fmap (("RedirectURL",) . toJSON) _appStreamStackRedirectURL
@@ -55,11 +60,13 @@
   :: AppStreamStack
 appStreamStack  =
   AppStreamStack
-  { _appStreamStackApplicationSettings = Nothing
+  { _appStreamStackAccessEndpoints = Nothing
+  , _appStreamStackApplicationSettings = Nothing
   , _appStreamStackAttributesToDelete = Nothing
   , _appStreamStackDeleteStorageConnectors = Nothing
   , _appStreamStackDescription = Nothing
   , _appStreamStackDisplayName = Nothing
+  , _appStreamStackEmbedHostDomains = Nothing
   , _appStreamStackFeedbackURL = Nothing
   , _appStreamStackName = Nothing
   , _appStreamStackRedirectURL = Nothing
@@ -68,6 +75,10 @@
   , _appStreamStackUserSettings = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-accessendpoints
+assAccessEndpoints :: Lens' AppStreamStack (Maybe [AppStreamStackAccessEndpoint])
+assAccessEndpoints = lens _appStreamStackAccessEndpoints (\s a -> s { _appStreamStackAccessEndpoints = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-applicationsettings
 assApplicationSettings :: Lens' AppStreamStack (Maybe AppStreamStackApplicationSettings)
 assApplicationSettings = lens _appStreamStackApplicationSettings (\s a -> s { _appStreamStackApplicationSettings = a })
@@ -87,6 +98,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-displayname
 assDisplayName :: Lens' AppStreamStack (Maybe (Val Text))
 assDisplayName = lens _appStreamStackDisplayName (\s a -> s { _appStreamStackDisplayName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-embedhostdomains
+assEmbedHostDomains :: Lens' AppStreamStack (Maybe (ValList Text))
+assEmbedHostDomains = lens _appStreamStackEmbedHostDomains (\s a -> s { _appStreamStackEmbedHostDomains = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-feedbackurl
 assFeedbackURL :: Lens' AppStreamStack (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs b/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
--- a/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
@@ -11,6 +11,7 @@
 import Stratosphere.ResourceProperties.CodePipelineCustomActionTypeConfigurationProperties
 import Stratosphere.ResourceProperties.CodePipelineCustomActionTypeArtifactDetails
 import Stratosphere.ResourceProperties.CodePipelineCustomActionTypeSettings
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for CodePipelineCustomActionType. See
 -- 'codePipelineCustomActionType' for a more convenient constructor.
@@ -22,6 +23,7 @@
   , _codePipelineCustomActionTypeOutputArtifactDetails :: CodePipelineCustomActionTypeArtifactDetails
   , _codePipelineCustomActionTypeProvider :: Val Text
   , _codePipelineCustomActionTypeSettings :: Maybe CodePipelineCustomActionTypeSettings
+  , _codePipelineCustomActionTypeTags :: Maybe [Tag]
   , _codePipelineCustomActionTypeVersion :: Val Text
   } deriving (Show, Eq)
 
@@ -37,6 +39,7 @@
         , (Just . ("OutputArtifactDetails",) . toJSON) _codePipelineCustomActionTypeOutputArtifactDetails
         , (Just . ("Provider",) . toJSON) _codePipelineCustomActionTypeProvider
         , fmap (("Settings",) . toJSON) _codePipelineCustomActionTypeSettings
+        , fmap (("Tags",) . toJSON) _codePipelineCustomActionTypeTags
         , (Just . ("Version",) . toJSON) _codePipelineCustomActionTypeVersion
         ]
     }
@@ -58,6 +61,7 @@
   , _codePipelineCustomActionTypeOutputArtifactDetails = outputArtifactDetailsarg
   , _codePipelineCustomActionTypeProvider = providerarg
   , _codePipelineCustomActionTypeSettings = Nothing
+  , _codePipelineCustomActionTypeTags = Nothing
   , _codePipelineCustomActionTypeVersion = versionarg
   }
 
@@ -84,6 +88,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-settings
 cpcatSettings :: Lens' CodePipelineCustomActionType (Maybe CodePipelineCustomActionTypeSettings)
 cpcatSettings = lens _codePipelineCustomActionTypeSettings (\s a -> s { _codePipelineCustomActionTypeSettings = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-tags
+cpcatTags :: Lens' CodePipelineCustomActionType (Maybe [Tag])
+cpcatTags = lens _codePipelineCustomActionTypeTags (\s a -> s { _codePipelineCustomActionTypeTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-version
 cpcatVersion :: Lens' CodePipelineCustomActionType (Val Text)
diff --git a/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs b/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
--- a/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
@@ -12,6 +12,7 @@
 import Stratosphere.ResourceProperties.CodePipelinePipelineArtifactStoreMap
 import Stratosphere.ResourceProperties.CodePipelinePipelineStageTransition
 import Stratosphere.ResourceProperties.CodePipelinePipelineStageDeclaration
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for CodePipelinePipeline. See
 -- 'codePipelinePipeline' for a more convenient constructor.
@@ -24,6 +25,7 @@
   , _codePipelinePipelineRestartExecutionOnUpdate :: Maybe (Val Bool)
   , _codePipelinePipelineRoleArn :: Val Text
   , _codePipelinePipelineStages :: [CodePipelinePipelineStageDeclaration]
+  , _codePipelinePipelineTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties CodePipelinePipeline where
@@ -39,6 +41,7 @@
         , fmap (("RestartExecutionOnUpdate",) . toJSON) _codePipelinePipelineRestartExecutionOnUpdate
         , (Just . ("RoleArn",) . toJSON) _codePipelinePipelineRoleArn
         , (Just . ("Stages",) . toJSON) _codePipelinePipelineStages
+        , fmap (("Tags",) . toJSON) _codePipelinePipelineTags
         ]
     }
 
@@ -57,6 +60,7 @@
   , _codePipelinePipelineRestartExecutionOnUpdate = Nothing
   , _codePipelinePipelineRoleArn = roleArnarg
   , _codePipelinePipelineStages = stagesarg
+  , _codePipelinePipelineTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstore
@@ -86,3 +90,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-stages
 cppStages :: Lens' CodePipelinePipeline [CodePipelinePipelineStageDeclaration]
 cppStages = lens _codePipelinePipelineStages (\s a -> s { _codePipelinePipelineStages = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-tags
+cppTags :: Lens' CodePipelinePipeline (Maybe [Tag])
+cppTags = lens _codePipelinePipelineTags (\s a -> s { _codePipelinePipelineTags = a })
diff --git a/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs b/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs
@@ -0,0 +1,89 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html
+
+module Stratosphere.Resources.CodeStarNotificationsNotificationRule where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeStarNotificationsNotificationRuleTarget
+
+-- | Full data type definition for CodeStarNotificationsNotificationRule. See
+-- 'codeStarNotificationsNotificationRule' for a more convenient
+-- constructor.
+data CodeStarNotificationsNotificationRule =
+  CodeStarNotificationsNotificationRule
+  { _codeStarNotificationsNotificationRuleDetailType :: Val Text
+  , _codeStarNotificationsNotificationRuleEventTypeIds :: ValList Text
+  , _codeStarNotificationsNotificationRuleName :: Val Text
+  , _codeStarNotificationsNotificationRuleResource :: Val Text
+  , _codeStarNotificationsNotificationRuleStatus :: Maybe (Val Text)
+  , _codeStarNotificationsNotificationRuleTags :: Maybe Object
+  , _codeStarNotificationsNotificationRuleTargets :: [CodeStarNotificationsNotificationRuleTarget]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CodeStarNotificationsNotificationRule where
+  toResourceProperties CodeStarNotificationsNotificationRule{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CodeStarNotifications::NotificationRule"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("DetailType",) . toJSON) _codeStarNotificationsNotificationRuleDetailType
+        , (Just . ("EventTypeIds",) . toJSON) _codeStarNotificationsNotificationRuleEventTypeIds
+        , (Just . ("Name",) . toJSON) _codeStarNotificationsNotificationRuleName
+        , (Just . ("Resource",) . toJSON) _codeStarNotificationsNotificationRuleResource
+        , fmap (("Status",) . toJSON) _codeStarNotificationsNotificationRuleStatus
+        , fmap (("Tags",) . toJSON) _codeStarNotificationsNotificationRuleTags
+        , (Just . ("Targets",) . toJSON) _codeStarNotificationsNotificationRuleTargets
+        ]
+    }
+
+-- | Constructor for 'CodeStarNotificationsNotificationRule' containing
+-- required fields as arguments.
+codeStarNotificationsNotificationRule
+  :: Val Text -- ^ 'csnnrDetailType'
+  -> ValList Text -- ^ 'csnnrEventTypeIds'
+  -> Val Text -- ^ 'csnnrName'
+  -> Val Text -- ^ 'csnnrResource'
+  -> [CodeStarNotificationsNotificationRuleTarget] -- ^ 'csnnrTargets'
+  -> CodeStarNotificationsNotificationRule
+codeStarNotificationsNotificationRule detailTypearg eventTypeIdsarg namearg resourcearg targetsarg =
+  CodeStarNotificationsNotificationRule
+  { _codeStarNotificationsNotificationRuleDetailType = detailTypearg
+  , _codeStarNotificationsNotificationRuleEventTypeIds = eventTypeIdsarg
+  , _codeStarNotificationsNotificationRuleName = namearg
+  , _codeStarNotificationsNotificationRuleResource = resourcearg
+  , _codeStarNotificationsNotificationRuleStatus = Nothing
+  , _codeStarNotificationsNotificationRuleTags = Nothing
+  , _codeStarNotificationsNotificationRuleTargets = targetsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-detailtype
+csnnrDetailType :: Lens' CodeStarNotificationsNotificationRule (Val Text)
+csnnrDetailType = lens _codeStarNotificationsNotificationRuleDetailType (\s a -> s { _codeStarNotificationsNotificationRuleDetailType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-eventtypeids
+csnnrEventTypeIds :: Lens' CodeStarNotificationsNotificationRule (ValList Text)
+csnnrEventTypeIds = lens _codeStarNotificationsNotificationRuleEventTypeIds (\s a -> s { _codeStarNotificationsNotificationRuleEventTypeIds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-name
+csnnrName :: Lens' CodeStarNotificationsNotificationRule (Val Text)
+csnnrName = lens _codeStarNotificationsNotificationRuleName (\s a -> s { _codeStarNotificationsNotificationRuleName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-resource
+csnnrResource :: Lens' CodeStarNotificationsNotificationRule (Val Text)
+csnnrResource = lens _codeStarNotificationsNotificationRuleResource (\s a -> s { _codeStarNotificationsNotificationRuleResource = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-status
+csnnrStatus :: Lens' CodeStarNotificationsNotificationRule (Maybe (Val Text))
+csnnrStatus = lens _codeStarNotificationsNotificationRuleStatus (\s a -> s { _codeStarNotificationsNotificationRuleStatus = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-tags
+csnnrTags :: Lens' CodeStarNotificationsNotificationRule (Maybe Object)
+csnnrTags = lens _codeStarNotificationsNotificationRuleTags (\s a -> s { _codeStarNotificationsNotificationRuleTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-targets
+csnnrTargets :: Lens' CodeStarNotificationsNotificationRule [CodeStarNotificationsNotificationRuleTarget]
+csnnrTargets = lens _codeStarNotificationsNotificationRuleTargets (\s a -> s { _codeStarNotificationsNotificationRuleTargets = a })
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
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ECSTaskDefinitionContainerDefinition
+import Stratosphere.ResourceProperties.ECSTaskDefinitionInferenceAccelerator
 import Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint
 import Stratosphere.ResourceProperties.ECSTaskDefinitionProxyConfiguration
 import Stratosphere.ResourceProperties.Tag
@@ -22,6 +23,7 @@
   , _eCSTaskDefinitionCpu :: Maybe (Val Text)
   , _eCSTaskDefinitionExecutionRoleArn :: Maybe (Val Text)
   , _eCSTaskDefinitionFamily :: Maybe (Val Text)
+  , _eCSTaskDefinitionInferenceAccelerators :: Maybe [ECSTaskDefinitionInferenceAccelerator]
   , _eCSTaskDefinitionIpcMode :: Maybe (Val Text)
   , _eCSTaskDefinitionMemory :: Maybe (Val Text)
   , _eCSTaskDefinitionNetworkMode :: Maybe (Val Text)
@@ -44,6 +46,7 @@
         , fmap (("Cpu",) . toJSON) _eCSTaskDefinitionCpu
         , fmap (("ExecutionRoleArn",) . toJSON) _eCSTaskDefinitionExecutionRoleArn
         , fmap (("Family",) . toJSON) _eCSTaskDefinitionFamily
+        , fmap (("InferenceAccelerators",) . toJSON) _eCSTaskDefinitionInferenceAccelerators
         , fmap (("IpcMode",) . toJSON) _eCSTaskDefinitionIpcMode
         , fmap (("Memory",) . toJSON) _eCSTaskDefinitionMemory
         , fmap (("NetworkMode",) . toJSON) _eCSTaskDefinitionNetworkMode
@@ -67,6 +70,7 @@
   , _eCSTaskDefinitionCpu = Nothing
   , _eCSTaskDefinitionExecutionRoleArn = Nothing
   , _eCSTaskDefinitionFamily = Nothing
+  , _eCSTaskDefinitionInferenceAccelerators = Nothing
   , _eCSTaskDefinitionIpcMode = Nothing
   , _eCSTaskDefinitionMemory = Nothing
   , _eCSTaskDefinitionNetworkMode = Nothing
@@ -94,6 +98,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-family
 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-inferenceaccelerators
+ecstdInferenceAccelerators :: Lens' ECSTaskDefinition (Maybe [ECSTaskDefinitionInferenceAccelerator])
+ecstdInferenceAccelerators = lens _eCSTaskDefinitionInferenceAccelerators (\s a -> s { _eCSTaskDefinitionInferenceAccelerators = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-ipcmode
 ecstdIpcMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
--- a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
+++ b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
@@ -11,6 +11,7 @@
 import Stratosphere.ResourceProperties.ElasticsearchDomainEBSOptions
 import Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig
 import Stratosphere.ResourceProperties.ElasticsearchDomainEncryptionAtRestOptions
+import Stratosphere.ResourceProperties.ElasticsearchDomainLogPublishingOption
 import Stratosphere.ResourceProperties.ElasticsearchDomainNodeToNodeEncryptionOptions
 import Stratosphere.ResourceProperties.ElasticsearchDomainSnapshotOptions
 import Stratosphere.ResourceProperties.Tag
@@ -27,6 +28,7 @@
   , _elasticsearchDomainElasticsearchClusterConfig :: Maybe ElasticsearchDomainElasticsearchClusterConfig
   , _elasticsearchDomainElasticsearchVersion :: Maybe (Val Text)
   , _elasticsearchDomainEncryptionAtRestOptions :: Maybe ElasticsearchDomainEncryptionAtRestOptions
+  , _elasticsearchDomainLogPublishingOptions :: Maybe (Map Text ElasticsearchDomainLogPublishingOption)
   , _elasticsearchDomainNodeToNodeEncryptionOptions :: Maybe ElasticsearchDomainNodeToNodeEncryptionOptions
   , _elasticsearchDomainSnapshotOptions :: Maybe ElasticsearchDomainSnapshotOptions
   , _elasticsearchDomainTags :: Maybe [Tag]
@@ -46,6 +48,7 @@
         , fmap (("ElasticsearchClusterConfig",) . toJSON) _elasticsearchDomainElasticsearchClusterConfig
         , fmap (("ElasticsearchVersion",) . toJSON) _elasticsearchDomainElasticsearchVersion
         , fmap (("EncryptionAtRestOptions",) . toJSON) _elasticsearchDomainEncryptionAtRestOptions
+        , fmap (("LogPublishingOptions",) . toJSON) _elasticsearchDomainLogPublishingOptions
         , fmap (("NodeToNodeEncryptionOptions",) . toJSON) _elasticsearchDomainNodeToNodeEncryptionOptions
         , fmap (("SnapshotOptions",) . toJSON) _elasticsearchDomainSnapshotOptions
         , fmap (("Tags",) . toJSON) _elasticsearchDomainTags
@@ -66,6 +69,7 @@
   , _elasticsearchDomainElasticsearchClusterConfig = Nothing
   , _elasticsearchDomainElasticsearchVersion = Nothing
   , _elasticsearchDomainEncryptionAtRestOptions = Nothing
+  , _elasticsearchDomainLogPublishingOptions = Nothing
   , _elasticsearchDomainNodeToNodeEncryptionOptions = Nothing
   , _elasticsearchDomainSnapshotOptions = Nothing
   , _elasticsearchDomainTags = Nothing
@@ -99,6 +103,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-encryptionatrestoptions
 edEncryptionAtRestOptions :: Lens' ElasticsearchDomain (Maybe ElasticsearchDomainEncryptionAtRestOptions)
 edEncryptionAtRestOptions = lens _elasticsearchDomainEncryptionAtRestOptions (\s a -> s { _elasticsearchDomainEncryptionAtRestOptions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-logpublishingoptions
+edLogPublishingOptions :: Lens' ElasticsearchDomain (Maybe (Map Text ElasticsearchDomainLogPublishingOption))
+edLogPublishingOptions = lens _elasticsearchDomainLogPublishingOptions (\s a -> s { _elasticsearchDomainLogPublishingOptions = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-nodetonodeencryptionoptions
 edNodeToNodeEncryptionOptions :: Lens' ElasticsearchDomain (Maybe ElasticsearchDomainNodeToNodeEncryptionOptions)
diff --git a/library-gen/Stratosphere/Resources/EventsRule.hs b/library-gen/Stratosphere/Resources/EventsRule.hs
--- a/library-gen/Stratosphere/Resources/EventsRule.hs
+++ b/library-gen/Stratosphere/Resources/EventsRule.hs
@@ -16,6 +16,7 @@
 data EventsRule =
   EventsRule
   { _eventsRuleDescription :: Maybe (Val Text)
+  , _eventsRuleEventBusName :: Maybe (Val Text)
   , _eventsRuleEventPattern :: Maybe Object
   , _eventsRuleName :: Maybe (Val Text)
   , _eventsRuleRoleArn :: Maybe (Val Text)
@@ -31,6 +32,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eventsRuleDescription
+        , fmap (("EventBusName",) . toJSON) _eventsRuleEventBusName
         , fmap (("EventPattern",) . toJSON) _eventsRuleEventPattern
         , fmap (("Name",) . toJSON) _eventsRuleName
         , fmap (("RoleArn",) . toJSON) _eventsRuleRoleArn
@@ -46,6 +48,7 @@
 eventsRule  =
   EventsRule
   { _eventsRuleDescription = Nothing
+  , _eventsRuleEventBusName = Nothing
   , _eventsRuleEventPattern = Nothing
   , _eventsRuleName = Nothing
   , _eventsRuleRoleArn = Nothing
@@ -57,6 +60,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description
 erDescription :: Lens' EventsRule (Maybe (Val Text))
 erDescription = lens _eventsRuleDescription (\s a -> s { _eventsRuleDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname
+erEventBusName :: Lens' EventsRule (Maybe (Val Text))
+erEventBusName = lens _eventsRuleEventBusName (\s a -> s { _eventsRuleEventBusName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern
 erEventPattern :: Lens' EventsRule (Maybe Object)
diff --git a/library-gen/Stratosphere/Resources/GameLiftBuild.hs b/library-gen/Stratosphere/Resources/GameLiftBuild.hs
--- a/library-gen/Stratosphere/Resources/GameLiftBuild.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftBuild.hs
@@ -15,6 +15,7 @@
 data GameLiftBuild =
   GameLiftBuild
   { _gameLiftBuildName :: Maybe (Val Text)
+  , _gameLiftBuildOperatingSystem :: Maybe (Val Text)
   , _gameLiftBuildStorageLocation :: Maybe GameLiftBuildS3Location
   , _gameLiftBuildVersion :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -26,6 +27,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _gameLiftBuildName
+        , fmap (("OperatingSystem",) . toJSON) _gameLiftBuildOperatingSystem
         , fmap (("StorageLocation",) . toJSON) _gameLiftBuildStorageLocation
         , fmap (("Version",) . toJSON) _gameLiftBuildVersion
         ]
@@ -37,6 +39,7 @@
 gameLiftBuild  =
   GameLiftBuild
   { _gameLiftBuildName = Nothing
+  , _gameLiftBuildOperatingSystem = Nothing
   , _gameLiftBuildStorageLocation = Nothing
   , _gameLiftBuildVersion = Nothing
   }
@@ -44,6 +47,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-name
 glbName :: Lens' GameLiftBuild (Maybe (Val Text))
 glbName = lens _gameLiftBuildName (\s a -> s { _gameLiftBuildName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-operatingsystem
+glbOperatingSystem :: Lens' GameLiftBuild (Maybe (Val Text))
+glbOperatingSystem = lens _gameLiftBuildOperatingSystem (\s a -> s { _gameLiftBuildOperatingSystem = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-storagelocation
 glbStorageLocation :: Lens' GameLiftBuild (Maybe GameLiftBuildS3Location)
diff --git a/library-gen/Stratosphere/Resources/GameLiftFleet.hs b/library-gen/Stratosphere/Resources/GameLiftFleet.hs
--- a/library-gen/Stratosphere/Resources/GameLiftFleet.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftFleet.hs
@@ -8,23 +8,36 @@
 module Stratosphere.Resources.GameLiftFleet where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftFleetCertificateConfiguration
 import Stratosphere.ResourceProperties.GameLiftFleetIpPermission
+import Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy
+import Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration
 
 -- | Full data type definition for GameLiftFleet. See 'gameLiftFleet' for a
 -- more convenient constructor.
 data GameLiftFleet =
   GameLiftFleet
-  { _gameLiftFleetBuildId :: Val Text
+  { _gameLiftFleetBuildId :: Maybe (Val Text)
+  , _gameLiftFleetCertificateConfiguration :: Maybe GameLiftFleetCertificateConfiguration
   , _gameLiftFleetDescription :: Maybe (Val Text)
-  , _gameLiftFleetDesiredEC2Instances :: Val Integer
+  , _gameLiftFleetDesiredEC2Instances :: Maybe (Val Integer)
   , _gameLiftFleetEC2InboundPermissions :: Maybe [GameLiftFleetIpPermission]
   , _gameLiftFleetEC2InstanceType :: Val Text
+  , _gameLiftFleetFleetType :: Maybe (Val Text)
+  , _gameLiftFleetInstanceRoleARN :: Maybe (Val Text)
   , _gameLiftFleetLogPaths :: Maybe (ValList Text)
   , _gameLiftFleetMaxSize :: Maybe (Val Integer)
+  , _gameLiftFleetMetricGroups :: Maybe (ValList Text)
   , _gameLiftFleetMinSize :: Maybe (Val Integer)
   , _gameLiftFleetName :: Val Text
+  , _gameLiftFleetNewGameSessionProtectionPolicy :: Maybe (Val Text)
+  , _gameLiftFleetPeerVpcAwsAccountId :: Maybe (Val Text)
+  , _gameLiftFleetPeerVpcId :: Maybe (Val Text)
+  , _gameLiftFleetResourceCreationLimitPolicy :: Maybe GameLiftFleetResourceCreationLimitPolicy
+  , _gameLiftFleetRuntimeConfiguration :: Maybe GameLiftFleetRuntimeConfiguration
+  , _gameLiftFleetScriptId :: Maybe (Val Text)
   , _gameLiftFleetServerLaunchParameters :: Maybe (Val Text)
-  , _gameLiftFleetServerLaunchPath :: Val Text
+  , _gameLiftFleetServerLaunchPath :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties GameLiftFleet where
@@ -33,53 +46,74 @@
     { resourcePropertiesType = "AWS::GameLift::Fleet"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("BuildId",) . toJSON) _gameLiftFleetBuildId
+        [ fmap (("BuildId",) . toJSON) _gameLiftFleetBuildId
+        , fmap (("CertificateConfiguration",) . toJSON) _gameLiftFleetCertificateConfiguration
         , fmap (("Description",) . toJSON) _gameLiftFleetDescription
-        , (Just . ("DesiredEC2Instances",) . toJSON) _gameLiftFleetDesiredEC2Instances
+        , fmap (("DesiredEC2Instances",) . toJSON) _gameLiftFleetDesiredEC2Instances
         , fmap (("EC2InboundPermissions",) . toJSON) _gameLiftFleetEC2InboundPermissions
         , (Just . ("EC2InstanceType",) . toJSON) _gameLiftFleetEC2InstanceType
+        , fmap (("FleetType",) . toJSON) _gameLiftFleetFleetType
+        , fmap (("InstanceRoleARN",) . toJSON) _gameLiftFleetInstanceRoleARN
         , fmap (("LogPaths",) . toJSON) _gameLiftFleetLogPaths
         , fmap (("MaxSize",) . toJSON) _gameLiftFleetMaxSize
+        , fmap (("MetricGroups",) . toJSON) _gameLiftFleetMetricGroups
         , fmap (("MinSize",) . toJSON) _gameLiftFleetMinSize
         , (Just . ("Name",) . toJSON) _gameLiftFleetName
+        , fmap (("NewGameSessionProtectionPolicy",) . toJSON) _gameLiftFleetNewGameSessionProtectionPolicy
+        , fmap (("PeerVpcAwsAccountId",) . toJSON) _gameLiftFleetPeerVpcAwsAccountId
+        , fmap (("PeerVpcId",) . toJSON) _gameLiftFleetPeerVpcId
+        , fmap (("ResourceCreationLimitPolicy",) . toJSON) _gameLiftFleetResourceCreationLimitPolicy
+        , fmap (("RuntimeConfiguration",) . toJSON) _gameLiftFleetRuntimeConfiguration
+        , fmap (("ScriptId",) . toJSON) _gameLiftFleetScriptId
         , fmap (("ServerLaunchParameters",) . toJSON) _gameLiftFleetServerLaunchParameters
-        , (Just . ("ServerLaunchPath",) . toJSON) _gameLiftFleetServerLaunchPath
+        , fmap (("ServerLaunchPath",) . toJSON) _gameLiftFleetServerLaunchPath
         ]
     }
 
 -- | Constructor for 'GameLiftFleet' containing required fields as arguments.
 gameLiftFleet
-  :: Val Text -- ^ 'glfBuildId'
-  -> Val Integer -- ^ 'glfDesiredEC2Instances'
-  -> Val Text -- ^ 'glfEC2InstanceType'
+  :: Val Text -- ^ 'glfEC2InstanceType'
   -> Val Text -- ^ 'glfName'
-  -> Val Text -- ^ 'glfServerLaunchPath'
   -> GameLiftFleet
-gameLiftFleet buildIdarg desiredEC2Instancesarg eC2InstanceTypearg namearg serverLaunchPatharg =
+gameLiftFleet eC2InstanceTypearg namearg =
   GameLiftFleet
-  { _gameLiftFleetBuildId = buildIdarg
+  { _gameLiftFleetBuildId = Nothing
+  , _gameLiftFleetCertificateConfiguration = Nothing
   , _gameLiftFleetDescription = Nothing
-  , _gameLiftFleetDesiredEC2Instances = desiredEC2Instancesarg
+  , _gameLiftFleetDesiredEC2Instances = Nothing
   , _gameLiftFleetEC2InboundPermissions = Nothing
   , _gameLiftFleetEC2InstanceType = eC2InstanceTypearg
+  , _gameLiftFleetFleetType = Nothing
+  , _gameLiftFleetInstanceRoleARN = Nothing
   , _gameLiftFleetLogPaths = Nothing
   , _gameLiftFleetMaxSize = Nothing
+  , _gameLiftFleetMetricGroups = Nothing
   , _gameLiftFleetMinSize = Nothing
   , _gameLiftFleetName = namearg
+  , _gameLiftFleetNewGameSessionProtectionPolicy = Nothing
+  , _gameLiftFleetPeerVpcAwsAccountId = Nothing
+  , _gameLiftFleetPeerVpcId = Nothing
+  , _gameLiftFleetResourceCreationLimitPolicy = Nothing
+  , _gameLiftFleetRuntimeConfiguration = Nothing
+  , _gameLiftFleetScriptId = Nothing
   , _gameLiftFleetServerLaunchParameters = Nothing
-  , _gameLiftFleetServerLaunchPath = serverLaunchPatharg
+  , _gameLiftFleetServerLaunchPath = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-buildid
-glfBuildId :: Lens' GameLiftFleet (Val Text)
+glfBuildId :: Lens' GameLiftFleet (Maybe (Val Text))
 glfBuildId = lens _gameLiftFleetBuildId (\s a -> s { _gameLiftFleetBuildId = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-certificateconfiguration
+glfCertificateConfiguration :: Lens' GameLiftFleet (Maybe GameLiftFleetCertificateConfiguration)
+glfCertificateConfiguration = lens _gameLiftFleetCertificateConfiguration (\s a -> s { _gameLiftFleetCertificateConfiguration = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-description
 glfDescription :: Lens' GameLiftFleet (Maybe (Val Text))
 glfDescription = lens _gameLiftFleetDescription (\s a -> s { _gameLiftFleetDescription = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-desiredec2instances
-glfDesiredEC2Instances :: Lens' GameLiftFleet (Val Integer)
+glfDesiredEC2Instances :: Lens' GameLiftFleet (Maybe (Val Integer))
 glfDesiredEC2Instances = lens _gameLiftFleetDesiredEC2Instances (\s a -> s { _gameLiftFleetDesiredEC2Instances = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2inboundpermissions
@@ -90,6 +124,14 @@
 glfEC2InstanceType :: Lens' GameLiftFleet (Val Text)
 glfEC2InstanceType = lens _gameLiftFleetEC2InstanceType (\s a -> s { _gameLiftFleetEC2InstanceType = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-fleettype
+glfFleetType :: Lens' GameLiftFleet (Maybe (Val Text))
+glfFleetType = lens _gameLiftFleetFleetType (\s a -> s { _gameLiftFleetFleetType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-instancerolearn
+glfInstanceRoleARN :: Lens' GameLiftFleet (Maybe (Val Text))
+glfInstanceRoleARN = lens _gameLiftFleetInstanceRoleARN (\s a -> s { _gameLiftFleetInstanceRoleARN = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-logpaths
 glfLogPaths :: Lens' GameLiftFleet (Maybe (ValList Text))
 glfLogPaths = lens _gameLiftFleetLogPaths (\s a -> s { _gameLiftFleetLogPaths = a })
@@ -98,6 +140,10 @@
 glfMaxSize :: Lens' GameLiftFleet (Maybe (Val Integer))
 glfMaxSize = lens _gameLiftFleetMaxSize (\s a -> s { _gameLiftFleetMaxSize = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-metricgroups
+glfMetricGroups :: Lens' GameLiftFleet (Maybe (ValList Text))
+glfMetricGroups = lens _gameLiftFleetMetricGroups (\s a -> s { _gameLiftFleetMetricGroups = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-minsize
 glfMinSize :: Lens' GameLiftFleet (Maybe (Val Integer))
 glfMinSize = lens _gameLiftFleetMinSize (\s a -> s { _gameLiftFleetMinSize = a })
@@ -106,10 +152,34 @@
 glfName :: Lens' GameLiftFleet (Val Text)
 glfName = lens _gameLiftFleetName (\s a -> s { _gameLiftFleetName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-newgamesessionprotectionpolicy
+glfNewGameSessionProtectionPolicy :: Lens' GameLiftFleet (Maybe (Val Text))
+glfNewGameSessionProtectionPolicy = lens _gameLiftFleetNewGameSessionProtectionPolicy (\s a -> s { _gameLiftFleetNewGameSessionProtectionPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-peervpcawsaccountid
+glfPeerVpcAwsAccountId :: Lens' GameLiftFleet (Maybe (Val Text))
+glfPeerVpcAwsAccountId = lens _gameLiftFleetPeerVpcAwsAccountId (\s a -> s { _gameLiftFleetPeerVpcAwsAccountId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-peervpcid
+glfPeerVpcId :: Lens' GameLiftFleet (Maybe (Val Text))
+glfPeerVpcId = lens _gameLiftFleetPeerVpcId (\s a -> s { _gameLiftFleetPeerVpcId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-resourcecreationlimitpolicy
+glfResourceCreationLimitPolicy :: Lens' GameLiftFleet (Maybe GameLiftFleetResourceCreationLimitPolicy)
+glfResourceCreationLimitPolicy = lens _gameLiftFleetResourceCreationLimitPolicy (\s a -> s { _gameLiftFleetResourceCreationLimitPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-runtimeconfiguration
+glfRuntimeConfiguration :: Lens' GameLiftFleet (Maybe GameLiftFleetRuntimeConfiguration)
+glfRuntimeConfiguration = lens _gameLiftFleetRuntimeConfiguration (\s a -> s { _gameLiftFleetRuntimeConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-scriptid
+glfScriptId :: Lens' GameLiftFleet (Maybe (Val Text))
+glfScriptId = lens _gameLiftFleetScriptId (\s a -> s { _gameLiftFleetScriptId = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchparameters
 glfServerLaunchParameters :: Lens' GameLiftFleet (Maybe (Val Text))
 glfServerLaunchParameters = lens _gameLiftFleetServerLaunchParameters (\s a -> s { _gameLiftFleetServerLaunchParameters = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchpath
-glfServerLaunchPath :: Lens' GameLiftFleet (Val Text)
+glfServerLaunchPath :: Lens' GameLiftFleet (Maybe (Val Text))
 glfServerLaunchPath = lens _gameLiftFleetServerLaunchPath (\s a -> s { _gameLiftFleetServerLaunchPath = a })
diff --git a/library-gen/Stratosphere/Resources/GlueCrawler.hs b/library-gen/Stratosphere/Resources/GlueCrawler.hs
--- a/library-gen/Stratosphere/Resources/GlueCrawler.hs
+++ b/library-gen/Stratosphere/Resources/GlueCrawler.hs
@@ -19,7 +19,7 @@
   { _glueCrawlerClassifiers :: Maybe (ValList Text)
   , _glueCrawlerConfiguration :: Maybe (Val Text)
   , _glueCrawlerCrawlerSecurityConfiguration :: Maybe (Val Text)
-  , _glueCrawlerDatabaseName :: Val Text
+  , _glueCrawlerDatabaseName :: Maybe (Val Text)
   , _glueCrawlerDescription :: Maybe (Val Text)
   , _glueCrawlerName :: Maybe (Val Text)
   , _glueCrawlerRole :: Val Text
@@ -39,7 +39,7 @@
         [ fmap (("Classifiers",) . toJSON) _glueCrawlerClassifiers
         , fmap (("Configuration",) . toJSON) _glueCrawlerConfiguration
         , fmap (("CrawlerSecurityConfiguration",) . toJSON) _glueCrawlerCrawlerSecurityConfiguration
-        , (Just . ("DatabaseName",) . toJSON) _glueCrawlerDatabaseName
+        , fmap (("DatabaseName",) . toJSON) _glueCrawlerDatabaseName
         , fmap (("Description",) . toJSON) _glueCrawlerDescription
         , fmap (("Name",) . toJSON) _glueCrawlerName
         , (Just . ("Role",) . toJSON) _glueCrawlerRole
@@ -53,16 +53,15 @@
 
 -- | Constructor for 'GlueCrawler' containing required fields as arguments.
 glueCrawler
-  :: Val Text -- ^ 'gcDatabaseName'
-  -> Val Text -- ^ 'gcRole'
+  :: Val Text -- ^ 'gcRole'
   -> GlueCrawlerTargets -- ^ 'gcTargets'
   -> GlueCrawler
-glueCrawler databaseNamearg rolearg targetsarg =
+glueCrawler rolearg targetsarg =
   GlueCrawler
   { _glueCrawlerClassifiers = Nothing
   , _glueCrawlerConfiguration = Nothing
   , _glueCrawlerCrawlerSecurityConfiguration = Nothing
-  , _glueCrawlerDatabaseName = databaseNamearg
+  , _glueCrawlerDatabaseName = Nothing
   , _glueCrawlerDescription = Nothing
   , _glueCrawlerName = Nothing
   , _glueCrawlerRole = rolearg
@@ -86,7 +85,7 @@
 gcCrawlerSecurityConfiguration = lens _glueCrawlerCrawlerSecurityConfiguration (\s a -> s { _glueCrawlerCrawlerSecurityConfiguration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-databasename
-gcDatabaseName :: Lens' GlueCrawler (Val Text)
+gcDatabaseName :: Lens' GlueCrawler (Maybe (Val Text))
 gcDatabaseName = lens _glueCrawlerDatabaseName (\s a -> s { _glueCrawlerDatabaseName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-description
diff --git a/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs b/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
@@ -0,0 +1,98 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html
+
+module Stratosphere.Resources.MediaConvertJobTemplate where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings
+
+-- | Full data type definition for MediaConvertJobTemplate. See
+-- 'mediaConvertJobTemplate' for a more convenient constructor.
+data MediaConvertJobTemplate =
+  MediaConvertJobTemplate
+  { _mediaConvertJobTemplateAccelerationSettings :: Maybe MediaConvertJobTemplateAccelerationSettings
+  , _mediaConvertJobTemplateCategory :: Maybe (Val Text)
+  , _mediaConvertJobTemplateDescription :: Maybe (Val Text)
+  , _mediaConvertJobTemplateName :: Maybe (Val Text)
+  , _mediaConvertJobTemplatePriority :: Maybe (Val Integer)
+  , _mediaConvertJobTemplateQueue :: Maybe (Val Text)
+  , _mediaConvertJobTemplateSettingsJson :: Object
+  , _mediaConvertJobTemplateStatusUpdateInterval :: Maybe (Val Text)
+  , _mediaConvertJobTemplateTags :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToResourceProperties MediaConvertJobTemplate where
+  toResourceProperties MediaConvertJobTemplate{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::MediaConvert::JobTemplate"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AccelerationSettings",) . toJSON) _mediaConvertJobTemplateAccelerationSettings
+        , fmap (("Category",) . toJSON) _mediaConvertJobTemplateCategory
+        , fmap (("Description",) . toJSON) _mediaConvertJobTemplateDescription
+        , fmap (("Name",) . toJSON) _mediaConvertJobTemplateName
+        , fmap (("Priority",) . toJSON) _mediaConvertJobTemplatePriority
+        , fmap (("Queue",) . toJSON) _mediaConvertJobTemplateQueue
+        , (Just . ("SettingsJson",) . toJSON) _mediaConvertJobTemplateSettingsJson
+        , fmap (("StatusUpdateInterval",) . toJSON) _mediaConvertJobTemplateStatusUpdateInterval
+        , fmap (("Tags",) . toJSON) _mediaConvertJobTemplateTags
+        ]
+    }
+
+-- | Constructor for 'MediaConvertJobTemplate' containing required fields as
+-- arguments.
+mediaConvertJobTemplate
+  :: Object -- ^ 'mcjtSettingsJson'
+  -> MediaConvertJobTemplate
+mediaConvertJobTemplate settingsJsonarg =
+  MediaConvertJobTemplate
+  { _mediaConvertJobTemplateAccelerationSettings = Nothing
+  , _mediaConvertJobTemplateCategory = Nothing
+  , _mediaConvertJobTemplateDescription = Nothing
+  , _mediaConvertJobTemplateName = Nothing
+  , _mediaConvertJobTemplatePriority = Nothing
+  , _mediaConvertJobTemplateQueue = Nothing
+  , _mediaConvertJobTemplateSettingsJson = settingsJsonarg
+  , _mediaConvertJobTemplateStatusUpdateInterval = Nothing
+  , _mediaConvertJobTemplateTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-accelerationsettings
+mcjtAccelerationSettings :: Lens' MediaConvertJobTemplate (Maybe MediaConvertJobTemplateAccelerationSettings)
+mcjtAccelerationSettings = lens _mediaConvertJobTemplateAccelerationSettings (\s a -> s { _mediaConvertJobTemplateAccelerationSettings = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-category
+mcjtCategory :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
+mcjtCategory = lens _mediaConvertJobTemplateCategory (\s a -> s { _mediaConvertJobTemplateCategory = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-description
+mcjtDescription :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
+mcjtDescription = lens _mediaConvertJobTemplateDescription (\s a -> s { _mediaConvertJobTemplateDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-name
+mcjtName :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
+mcjtName = lens _mediaConvertJobTemplateName (\s a -> s { _mediaConvertJobTemplateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-priority
+mcjtPriority :: Lens' MediaConvertJobTemplate (Maybe (Val Integer))
+mcjtPriority = lens _mediaConvertJobTemplatePriority (\s a -> s { _mediaConvertJobTemplatePriority = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-queue
+mcjtQueue :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
+mcjtQueue = lens _mediaConvertJobTemplateQueue (\s a -> s { _mediaConvertJobTemplateQueue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-settingsjson
+mcjtSettingsJson :: Lens' MediaConvertJobTemplate Object
+mcjtSettingsJson = lens _mediaConvertJobTemplateSettingsJson (\s a -> s { _mediaConvertJobTemplateSettingsJson = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-statusupdateinterval
+mcjtStatusUpdateInterval :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
+mcjtStatusUpdateInterval = lens _mediaConvertJobTemplateStatusUpdateInterval (\s a -> s { _mediaConvertJobTemplateStatusUpdateInterval = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-tags
+mcjtTags :: Lens' MediaConvertJobTemplate (Maybe Object)
+mcjtTags = lens _mediaConvertJobTemplateTags (\s a -> s { _mediaConvertJobTemplateTags = a })
diff --git a/library-gen/Stratosphere/Resources/MediaConvertPreset.hs b/library-gen/Stratosphere/Resources/MediaConvertPreset.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/MediaConvertPreset.hs
@@ -0,0 +1,70 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html
+
+module Stratosphere.Resources.MediaConvertPreset where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MediaConvertPreset. See
+-- 'mediaConvertPreset' for a more convenient constructor.
+data MediaConvertPreset =
+  MediaConvertPreset
+  { _mediaConvertPresetCategory :: Maybe (Val Text)
+  , _mediaConvertPresetDescription :: Maybe (Val Text)
+  , _mediaConvertPresetName :: Maybe (Val Text)
+  , _mediaConvertPresetSettingsJson :: Object
+  , _mediaConvertPresetTags :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToResourceProperties MediaConvertPreset where
+  toResourceProperties MediaConvertPreset{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::MediaConvert::Preset"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Category",) . toJSON) _mediaConvertPresetCategory
+        , fmap (("Description",) . toJSON) _mediaConvertPresetDescription
+        , fmap (("Name",) . toJSON) _mediaConvertPresetName
+        , (Just . ("SettingsJson",) . toJSON) _mediaConvertPresetSettingsJson
+        , fmap (("Tags",) . toJSON) _mediaConvertPresetTags
+        ]
+    }
+
+-- | Constructor for 'MediaConvertPreset' containing required fields as
+-- arguments.
+mediaConvertPreset
+  :: Object -- ^ 'mcpSettingsJson'
+  -> MediaConvertPreset
+mediaConvertPreset settingsJsonarg =
+  MediaConvertPreset
+  { _mediaConvertPresetCategory = Nothing
+  , _mediaConvertPresetDescription = Nothing
+  , _mediaConvertPresetName = Nothing
+  , _mediaConvertPresetSettingsJson = settingsJsonarg
+  , _mediaConvertPresetTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-category
+mcpCategory :: Lens' MediaConvertPreset (Maybe (Val Text))
+mcpCategory = lens _mediaConvertPresetCategory (\s a -> s { _mediaConvertPresetCategory = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-description
+mcpDescription :: Lens' MediaConvertPreset (Maybe (Val Text))
+mcpDescription = lens _mediaConvertPresetDescription (\s a -> s { _mediaConvertPresetDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-name
+mcpName :: Lens' MediaConvertPreset (Maybe (Val Text))
+mcpName = lens _mediaConvertPresetName (\s a -> s { _mediaConvertPresetName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-settingsjson
+mcpSettingsJson :: Lens' MediaConvertPreset Object
+mcpSettingsJson = lens _mediaConvertPresetSettingsJson (\s a -> s { _mediaConvertPresetSettingsJson = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-tags
+mcpTags :: Lens' MediaConvertPreset (Maybe Object)
+mcpTags = lens _mediaConvertPresetTags (\s a -> s { _mediaConvertPresetTags = a })
diff --git a/library-gen/Stratosphere/Resources/MediaConvertQueue.hs b/library-gen/Stratosphere/Resources/MediaConvertQueue.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/MediaConvertQueue.hs
@@ -0,0 +1,69 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html
+
+module Stratosphere.Resources.MediaConvertQueue where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MediaConvertQueue. See 'mediaConvertQueue'
+-- for a more convenient constructor.
+data MediaConvertQueue =
+  MediaConvertQueue
+  { _mediaConvertQueueDescription :: Maybe (Val Text)
+  , _mediaConvertQueueName :: Maybe (Val Text)
+  , _mediaConvertQueuePricingPlan :: Maybe (Val Text)
+  , _mediaConvertQueueStatus :: Maybe (Val Text)
+  , _mediaConvertQueueTags :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToResourceProperties MediaConvertQueue where
+  toResourceProperties MediaConvertQueue{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::MediaConvert::Queue"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _mediaConvertQueueDescription
+        , fmap (("Name",) . toJSON) _mediaConvertQueueName
+        , fmap (("PricingPlan",) . toJSON) _mediaConvertQueuePricingPlan
+        , fmap (("Status",) . toJSON) _mediaConvertQueueStatus
+        , fmap (("Tags",) . toJSON) _mediaConvertQueueTags
+        ]
+    }
+
+-- | Constructor for 'MediaConvertQueue' containing required fields as
+-- arguments.
+mediaConvertQueue
+  :: MediaConvertQueue
+mediaConvertQueue  =
+  MediaConvertQueue
+  { _mediaConvertQueueDescription = Nothing
+  , _mediaConvertQueueName = Nothing
+  , _mediaConvertQueuePricingPlan = Nothing
+  , _mediaConvertQueueStatus = Nothing
+  , _mediaConvertQueueTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-description
+mcqDescription :: Lens' MediaConvertQueue (Maybe (Val Text))
+mcqDescription = lens _mediaConvertQueueDescription (\s a -> s { _mediaConvertQueueDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-name
+mcqName :: Lens' MediaConvertQueue (Maybe (Val Text))
+mcqName = lens _mediaConvertQueueName (\s a -> s { _mediaConvertQueueName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-pricingplan
+mcqPricingPlan :: Lens' MediaConvertQueue (Maybe (Val Text))
+mcqPricingPlan = lens _mediaConvertQueuePricingPlan (\s a -> s { _mediaConvertQueuePricingPlan = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-status
+mcqStatus :: Lens' MediaConvertQueue (Maybe (Val Text))
+mcqStatus = lens _mediaConvertQueueStatus (\s a -> s { _mediaConvertQueueStatus = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-tags
+mcqTags :: Lens' MediaConvertQueue (Maybe Object)
+mcqTags = lens _mediaConvertQueueTags (\s a -> s { _mediaConvertQueueTags = a })
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs b/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html
+
+module Stratosphere.Resources.PinpointEmailTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for PinpointEmailTemplate. See
+-- 'pinpointEmailTemplate' for a more convenient constructor.
+data PinpointEmailTemplate =
+  PinpointEmailTemplate
+  { _pinpointEmailTemplateHtmlPart :: Maybe (Val Text)
+  , _pinpointEmailTemplateSubject :: Val Text
+  , _pinpointEmailTemplateTags :: Maybe Object
+  , _pinpointEmailTemplateTemplateName :: Val Text
+  , _pinpointEmailTemplateTextPart :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties PinpointEmailTemplate where
+  toResourceProperties PinpointEmailTemplate{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Pinpoint::EmailTemplate"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("HtmlPart",) . toJSON) _pinpointEmailTemplateHtmlPart
+        , (Just . ("Subject",) . toJSON) _pinpointEmailTemplateSubject
+        , fmap (("Tags",) . toJSON) _pinpointEmailTemplateTags
+        , (Just . ("TemplateName",) . toJSON) _pinpointEmailTemplateTemplateName
+        , fmap (("TextPart",) . toJSON) _pinpointEmailTemplateTextPart
+        ]
+    }
+
+-- | Constructor for 'PinpointEmailTemplate' containing required fields as
+-- arguments.
+pinpointEmailTemplate
+  :: Val Text -- ^ 'petSubject'
+  -> Val Text -- ^ 'petTemplateName'
+  -> PinpointEmailTemplate
+pinpointEmailTemplate subjectarg templateNamearg =
+  PinpointEmailTemplate
+  { _pinpointEmailTemplateHtmlPart = Nothing
+  , _pinpointEmailTemplateSubject = subjectarg
+  , _pinpointEmailTemplateTags = Nothing
+  , _pinpointEmailTemplateTemplateName = templateNamearg
+  , _pinpointEmailTemplateTextPart = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-htmlpart
+petHtmlPart :: Lens' PinpointEmailTemplate (Maybe (Val Text))
+petHtmlPart = lens _pinpointEmailTemplateHtmlPart (\s a -> s { _pinpointEmailTemplateHtmlPart = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-subject
+petSubject :: Lens' PinpointEmailTemplate (Val Text)
+petSubject = lens _pinpointEmailTemplateSubject (\s a -> s { _pinpointEmailTemplateSubject = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-tags
+petTags :: Lens' PinpointEmailTemplate (Maybe Object)
+petTags = lens _pinpointEmailTemplateTags (\s a -> s { _pinpointEmailTemplateTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatename
+petTemplateName :: Lens' PinpointEmailTemplate (Val Text)
+petTemplateName = lens _pinpointEmailTemplateTemplateName (\s a -> s { _pinpointEmailTemplateTemplateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-textpart
+petTextPart :: Lens' PinpointEmailTemplate (Maybe (Val Text))
+petTextPart = lens _pinpointEmailTemplateTextPart (\s a -> s { _pinpointEmailTemplateTextPart = a })
diff --git a/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs b/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html
+
+module Stratosphere.Resources.PinpointPushTemplate where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.PinpointPushTemplateAndroidPushNotificationTemplate
+import Stratosphere.ResourceProperties.PinpointPushTemplateAPNSPushNotificationTemplate
+import Stratosphere.ResourceProperties.PinpointPushTemplateDefaultPushNotificationTemplate
+
+-- | Full data type definition for PinpointPushTemplate. See
+-- 'pinpointPushTemplate' for a more convenient constructor.
+data PinpointPushTemplate =
+  PinpointPushTemplate
+  { _pinpointPushTemplateADM :: Maybe PinpointPushTemplateAndroidPushNotificationTemplate
+  , _pinpointPushTemplateAPNS :: Maybe PinpointPushTemplateAPNSPushNotificationTemplate
+  , _pinpointPushTemplateBaidu :: Maybe PinpointPushTemplateAndroidPushNotificationTemplate
+  , _pinpointPushTemplateDefault :: Maybe PinpointPushTemplateDefaultPushNotificationTemplate
+  , _pinpointPushTemplateGCM :: Maybe PinpointPushTemplateAndroidPushNotificationTemplate
+  , _pinpointPushTemplateTags :: Maybe Object
+  , _pinpointPushTemplateTemplateName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties PinpointPushTemplate where
+  toResourceProperties PinpointPushTemplate{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Pinpoint::PushTemplate"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("ADM",) . toJSON) _pinpointPushTemplateADM
+        , fmap (("APNS",) . toJSON) _pinpointPushTemplateAPNS
+        , fmap (("Baidu",) . toJSON) _pinpointPushTemplateBaidu
+        , fmap (("Default",) . toJSON) _pinpointPushTemplateDefault
+        , fmap (("GCM",) . toJSON) _pinpointPushTemplateGCM
+        , fmap (("Tags",) . toJSON) _pinpointPushTemplateTags
+        , (Just . ("TemplateName",) . toJSON) _pinpointPushTemplateTemplateName
+        ]
+    }
+
+-- | Constructor for 'PinpointPushTemplate' containing required fields as
+-- arguments.
+pinpointPushTemplate
+  :: Val Text -- ^ 'pptTemplateName'
+  -> PinpointPushTemplate
+pinpointPushTemplate templateNamearg =
+  PinpointPushTemplate
+  { _pinpointPushTemplateADM = Nothing
+  , _pinpointPushTemplateAPNS = Nothing
+  , _pinpointPushTemplateBaidu = Nothing
+  , _pinpointPushTemplateDefault = Nothing
+  , _pinpointPushTemplateGCM = Nothing
+  , _pinpointPushTemplateTags = Nothing
+  , _pinpointPushTemplateTemplateName = templateNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-adm
+pptADM :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateAndroidPushNotificationTemplate)
+pptADM = lens _pinpointPushTemplateADM (\s a -> s { _pinpointPushTemplateADM = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-apns
+pptAPNS :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateAPNSPushNotificationTemplate)
+pptAPNS = lens _pinpointPushTemplateAPNS (\s a -> s { _pinpointPushTemplateAPNS = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-baidu
+pptBaidu :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateAndroidPushNotificationTemplate)
+pptBaidu = lens _pinpointPushTemplateBaidu (\s a -> s { _pinpointPushTemplateBaidu = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-default
+pptDefault :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateDefaultPushNotificationTemplate)
+pptDefault = lens _pinpointPushTemplateDefault (\s a -> s { _pinpointPushTemplateDefault = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-gcm
+pptGCM :: Lens' PinpointPushTemplate (Maybe PinpointPushTemplateAndroidPushNotificationTemplate)
+pptGCM = lens _pinpointPushTemplateGCM (\s a -> s { _pinpointPushTemplateGCM = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-tags
+pptTags :: Lens' PinpointPushTemplate (Maybe Object)
+pptTags = lens _pinpointPushTemplateTags (\s a -> s { _pinpointPushTemplateTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatename
+pptTemplateName :: Lens' PinpointPushTemplate (Val Text)
+pptTemplateName = lens _pinpointPushTemplateTemplateName (\s a -> s { _pinpointPushTemplateTemplateName = a })
diff --git a/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs b/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html
+
+module Stratosphere.Resources.PinpointSmsTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for PinpointSmsTemplate. See
+-- 'pinpointSmsTemplate' for a more convenient constructor.
+data PinpointSmsTemplate =
+  PinpointSmsTemplate
+  { _pinpointSmsTemplateBody :: Val Text
+  , _pinpointSmsTemplateTags :: Maybe Object
+  , _pinpointSmsTemplateTemplateName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties PinpointSmsTemplate where
+  toResourceProperties PinpointSmsTemplate{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Pinpoint::SmsTemplate"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Body",) . toJSON) _pinpointSmsTemplateBody
+        , fmap (("Tags",) . toJSON) _pinpointSmsTemplateTags
+        , (Just . ("TemplateName",) . toJSON) _pinpointSmsTemplateTemplateName
+        ]
+    }
+
+-- | Constructor for 'PinpointSmsTemplate' containing required fields as
+-- arguments.
+pinpointSmsTemplate
+  :: Val Text -- ^ 'pstBody'
+  -> Val Text -- ^ 'pstTemplateName'
+  -> PinpointSmsTemplate
+pinpointSmsTemplate bodyarg templateNamearg =
+  PinpointSmsTemplate
+  { _pinpointSmsTemplateBody = bodyarg
+  , _pinpointSmsTemplateTags = Nothing
+  , _pinpointSmsTemplateTemplateName = templateNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-body
+pstBody :: Lens' PinpointSmsTemplate (Val Text)
+pstBody = lens _pinpointSmsTemplateBody (\s a -> s { _pinpointSmsTemplateBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-tags
+pstTags :: Lens' PinpointSmsTemplate (Maybe Object)
+pstTags = lens _pinpointSmsTemplateTags (\s a -> s { _pinpointSmsTemplateTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-templatename
+pstTemplateName :: Lens' PinpointSmsTemplate (Val Text)
+pstTemplateName = lens _pinpointSmsTemplateTemplateName (\s a -> s { _pinpointSmsTemplateTemplateName = a })
diff --git a/library-gen/Stratosphere/Resources/SNSTopic.hs b/library-gen/Stratosphere/Resources/SNSTopic.hs
--- a/library-gen/Stratosphere/Resources/SNSTopic.hs
+++ b/library-gen/Stratosphere/Resources/SNSTopic.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.SNSTopicSubscription
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for SNSTopic. See 'snsTopic' for a more
 -- convenient constructor.
@@ -17,6 +18,7 @@
   { _sNSTopicDisplayName :: Maybe (Val Text)
   , _sNSTopicKmsMasterKeyId :: Maybe (Val Text)
   , _sNSTopicSubscription :: Maybe [SNSTopicSubscription]
+  , _sNSTopicTags :: Maybe [Tag]
   , _sNSTopicTopicName :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -29,6 +31,7 @@
         [ fmap (("DisplayName",) . toJSON) _sNSTopicDisplayName
         , fmap (("KmsMasterKeyId",) . toJSON) _sNSTopicKmsMasterKeyId
         , fmap (("Subscription",) . toJSON) _sNSTopicSubscription
+        , fmap (("Tags",) . toJSON) _sNSTopicTags
         , fmap (("TopicName",) . toJSON) _sNSTopicTopicName
         ]
     }
@@ -41,6 +44,7 @@
   { _sNSTopicDisplayName = Nothing
   , _sNSTopicKmsMasterKeyId = Nothing
   , _sNSTopicSubscription = Nothing
+  , _sNSTopicTags = Nothing
   , _sNSTopicTopicName = Nothing
   }
 
@@ -55,6 +59,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription
 snstSubscription :: Lens' SNSTopic (Maybe [SNSTopicSubscription])
 snstSubscription = lens _sNSTopicSubscription (\s a -> s { _sNSTopicSubscription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-tags
+snstTags :: Lens' SNSTopic (Maybe [Tag])
+snstTags = lens _sNSTopicTags (\s a -> s { _sNSTopicTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-topicname
 snstTopicName :: Lens' SNSTopic (Maybe (Val Text))
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: 8023d73aaa5a0044d0023f825ce207e89bfe021e0216c3c13980c25ecdbcb86c
+-- hash: 56dcf6cf3bda0fc247c362600cace943e22ccdf94b84d6780368e981a5dee328
 
 name:           stratosphere
-version:        0.45.0
+version:        0.46.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -100,6 +100,12 @@
       Stratosphere.ResourceProperties.AppMeshMeshEgressFilter
       Stratosphere.ResourceProperties.AppMeshMeshMeshSpec
       Stratosphere.ResourceProperties.AppMeshRouteDuration
+      Stratosphere.ResourceProperties.AppMeshRouteGrpcRetryPolicy
+      Stratosphere.ResourceProperties.AppMeshRouteGrpcRoute
+      Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteAction
+      Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMatch
+      Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadata
+      Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadataMatchMethod
       Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod
       Stratosphere.ResourceProperties.AppMeshRouteHttpRetryPolicy
       Stratosphere.ResourceProperties.AppMeshRouteHttpRoute
@@ -135,8 +141,10 @@
       Stratosphere.ResourceProperties.AppStreamFleetComputeCapacity
       Stratosphere.ResourceProperties.AppStreamFleetDomainJoinInfo
       Stratosphere.ResourceProperties.AppStreamFleetVpcConfig
+      Stratosphere.ResourceProperties.AppStreamImageBuilderAccessEndpoint
       Stratosphere.ResourceProperties.AppStreamImageBuilderDomainJoinInfo
       Stratosphere.ResourceProperties.AppStreamImageBuilderVpcConfig
+      Stratosphere.ResourceProperties.AppStreamStackAccessEndpoint
       Stratosphere.ResourceProperties.AppStreamStackApplicationSettings
       Stratosphere.ResourceProperties.AppStreamStackStorageConnector
       Stratosphere.ResourceProperties.AppStreamStackUserSetting
@@ -296,6 +304,7 @@
       Stratosphere.ResourceProperties.CodePipelineWebhookWebhookFilterRule
       Stratosphere.ResourceProperties.CodeStarGitHubRepositoryCode
       Stratosphere.ResourceProperties.CodeStarGitHubRepositoryS3
+      Stratosphere.ResourceProperties.CodeStarNotificationsNotificationRuleTarget
       Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoIdentityProvider
       Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoStreams
       Stratosphere.ResourceProperties.CognitoIdentityPoolPushSync
@@ -462,6 +471,7 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionHealthCheck
       Stratosphere.ResourceProperties.ECSTaskDefinitionHostEntry
       Stratosphere.ResourceProperties.ECSTaskDefinitionHostVolumeProperties
+      Stratosphere.ResourceProperties.ECSTaskDefinitionInferenceAccelerator
       Stratosphere.ResourceProperties.ECSTaskDefinitionKernelCapabilities
       Stratosphere.ResourceProperties.ECSTaskDefinitionKeyValuePair
       Stratosphere.ResourceProperties.ECSTaskDefinitionLinuxParameters
@@ -527,6 +537,7 @@
       Stratosphere.ResourceProperties.ElasticsearchDomainEBSOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainElasticsearchClusterConfig
       Stratosphere.ResourceProperties.ElasticsearchDomainEncryptionAtRestOptions
+      Stratosphere.ResourceProperties.ElasticsearchDomainLogPublishingOption
       Stratosphere.ResourceProperties.ElasticsearchDomainNodeToNodeEncryptionOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainSnapshotOptions
       Stratosphere.ResourceProperties.ElasticsearchDomainVPCOptions
@@ -580,6 +591,9 @@
       Stratosphere.ResourceProperties.EMRStepKeyValue
       Stratosphere.ResourceProperties.EventsEventBusPolicyCondition
       Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration
+      Stratosphere.ResourceProperties.EventsRuleBatchArrayProperties
+      Stratosphere.ResourceProperties.EventsRuleBatchParameters
+      Stratosphere.ResourceProperties.EventsRuleBatchRetryStrategy
       Stratosphere.ResourceProperties.EventsRuleEcsParameters
       Stratosphere.ResourceProperties.EventsRuleInputTransformer
       Stratosphere.ResourceProperties.EventsRuleKinesisParameters
@@ -593,13 +607,19 @@
       Stratosphere.ResourceProperties.FSxFileSystemWindowsConfiguration
       Stratosphere.ResourceProperties.GameLiftAliasRoutingStrategy
       Stratosphere.ResourceProperties.GameLiftBuildS3Location
+      Stratosphere.ResourceProperties.GameLiftFleetCertificateConfiguration
       Stratosphere.ResourceProperties.GameLiftFleetIpPermission
+      Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy
+      Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration
+      Stratosphere.ResourceProperties.GameLiftFleetServerProcess
       Stratosphere.ResourceProperties.GlueClassifierCsvClassifier
       Stratosphere.ResourceProperties.GlueClassifierGrokClassifier
       Stratosphere.ResourceProperties.GlueClassifierJsonClassifier
       Stratosphere.ResourceProperties.GlueClassifierXMLClassifier
       Stratosphere.ResourceProperties.GlueConnectionConnectionInput
       Stratosphere.ResourceProperties.GlueConnectionPhysicalConnectionRequirements
+      Stratosphere.ResourceProperties.GlueCrawlerCatalogTarget
+      Stratosphere.ResourceProperties.GlueCrawlerDynamoDBTarget
       Stratosphere.ResourceProperties.GlueCrawlerJdbcTarget
       Stratosphere.ResourceProperties.GlueCrawlerS3Target
       Stratosphere.ResourceProperties.GlueCrawlerSchedule
@@ -884,6 +904,7 @@
       Stratosphere.ResourceProperties.ManagedBlockchainMemberNetworkFrameworkConfiguration
       Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy
       Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration
+      Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings
       Stratosphere.ResourceProperties.MediaLiveChannelAribSourceSettings
       Stratosphere.ResourceProperties.MediaLiveChannelAudioLanguageSelection
       Stratosphere.ResourceProperties.MediaLiveChannelAudioPidSelection
@@ -973,6 +994,9 @@
       Stratosphere.ResourceProperties.PinpointEmailDedicatedIpPoolTags
       Stratosphere.ResourceProperties.PinpointEmailIdentityMailFromAttributes
       Stratosphere.ResourceProperties.PinpointEmailIdentityTags
+      Stratosphere.ResourceProperties.PinpointPushTemplateAndroidPushNotificationTemplate
+      Stratosphere.ResourceProperties.PinpointPushTemplateAPNSPushNotificationTemplate
+      Stratosphere.ResourceProperties.PinpointPushTemplateDefaultPushNotificationTemplate
       Stratosphere.ResourceProperties.PinpointSegmentAttributeDimension
       Stratosphere.ResourceProperties.PinpointSegmentBehavior
       Stratosphere.ResourceProperties.PinpointSegmentCoordinates
@@ -1237,6 +1261,7 @@
       Stratosphere.Resources.CodePipelinePipeline
       Stratosphere.Resources.CodePipelineWebhook
       Stratosphere.Resources.CodeStarGitHubRepository
+      Stratosphere.Resources.CodeStarNotificationsNotificationRule
       Stratosphere.Resources.CognitoIdentityPool
       Stratosphere.Resources.CognitoIdentityPoolRoleAttachment
       Stratosphere.Resources.CognitoUserPool
@@ -1460,6 +1485,9 @@
       Stratosphere.Resources.LogsSubscriptionFilter
       Stratosphere.Resources.ManagedBlockchainMember
       Stratosphere.Resources.ManagedBlockchainNode
+      Stratosphere.Resources.MediaConvertJobTemplate
+      Stratosphere.Resources.MediaConvertPreset
+      Stratosphere.Resources.MediaConvertQueue
       Stratosphere.Resources.MediaLiveChannel
       Stratosphere.Resources.MediaLiveInput
       Stratosphere.Resources.MediaLiveInputSecurityGroup
@@ -1492,10 +1520,13 @@
       Stratosphere.Resources.PinpointEmailConfigurationSetEventDestination
       Stratosphere.Resources.PinpointEmailDedicatedIpPool
       Stratosphere.Resources.PinpointEmailIdentity
+      Stratosphere.Resources.PinpointEmailTemplate
       Stratosphere.Resources.PinpointEventStream
       Stratosphere.Resources.PinpointGCMChannel
+      Stratosphere.Resources.PinpointPushTemplate
       Stratosphere.Resources.PinpointSegment
       Stratosphere.Resources.PinpointSMSChannel
+      Stratosphere.Resources.PinpointSmsTemplate
       Stratosphere.Resources.PinpointVoiceChannel
       Stratosphere.Resources.QLDBLedger
       Stratosphere.Resources.RAMResourceShare
