diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.43.0
+
+* Update resource specification document to version 6.3.0
+
 ## 0.42.0
 
 * Update resource specification document to version 6.0.0
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteDuration.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteDuration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteDuration.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteDuration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AppMeshRouteDuration. See
+-- 'appMeshRouteDuration' for a more convenient constructor.
+data AppMeshRouteDuration =
+  AppMeshRouteDuration
+  { _appMeshRouteDurationUnit :: Val Text
+  , _appMeshRouteDurationValue :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteDuration where
+  toJSON AppMeshRouteDuration{..} =
+    object $
+    catMaybes
+    [ (Just . ("Unit",) . toJSON) _appMeshRouteDurationUnit
+    , (Just . ("Value",) . toJSON) _appMeshRouteDurationValue
+    ]
+
+-- | Constructor for 'AppMeshRouteDuration' containing required fields as
+-- arguments.
+appMeshRouteDuration
+  :: Val Text -- ^ 'amrdUnit'
+  -> Val Integer -- ^ 'amrdValue'
+  -> AppMeshRouteDuration
+appMeshRouteDuration unitarg valuearg =
+  AppMeshRouteDuration
+  { _appMeshRouteDurationUnit = unitarg
+  , _appMeshRouteDurationValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html#cfn-appmesh-route-duration-unit
+amrdUnit :: Lens' AppMeshRouteDuration (Val Text)
+amrdUnit = lens _appMeshRouteDurationUnit (\s a -> s { _appMeshRouteDurationUnit = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html#cfn-appmesh-route-duration-value
+amrdValue :: Lens' AppMeshRouteDuration (Val Integer)
+amrdValue = lens _appMeshRouteDurationValue (\s a -> s { _appMeshRouteDurationValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRetryPolicy.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRetryPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRetryPolicy.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html
+
+module Stratosphere.ResourceProperties.AppMeshRouteHttpRetryPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppMeshRouteDuration
+
+-- | Full data type definition for AppMeshRouteHttpRetryPolicy. See
+-- 'appMeshRouteHttpRetryPolicy' for a more convenient constructor.
+data AppMeshRouteHttpRetryPolicy =
+  AppMeshRouteHttpRetryPolicy
+  { _appMeshRouteHttpRetryPolicyHttpRetryEvents :: Maybe (ValList Text)
+  , _appMeshRouteHttpRetryPolicyMaxRetries :: Val Integer
+  , _appMeshRouteHttpRetryPolicyPerRetryTimeout :: AppMeshRouteDuration
+  , _appMeshRouteHttpRetryPolicyTcpRetryEvents :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AppMeshRouteHttpRetryPolicy where
+  toJSON AppMeshRouteHttpRetryPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("HttpRetryEvents",) . toJSON) _appMeshRouteHttpRetryPolicyHttpRetryEvents
+    , (Just . ("MaxRetries",) . toJSON) _appMeshRouteHttpRetryPolicyMaxRetries
+    , (Just . ("PerRetryTimeout",) . toJSON) _appMeshRouteHttpRetryPolicyPerRetryTimeout
+    , fmap (("TcpRetryEvents",) . toJSON) _appMeshRouteHttpRetryPolicyTcpRetryEvents
+    ]
+
+-- | Constructor for 'AppMeshRouteHttpRetryPolicy' containing required fields
+-- as arguments.
+appMeshRouteHttpRetryPolicy
+  :: Val Integer -- ^ 'amrhrpMaxRetries'
+  -> AppMeshRouteDuration -- ^ 'amrhrpPerRetryTimeout'
+  -> AppMeshRouteHttpRetryPolicy
+appMeshRouteHttpRetryPolicy maxRetriesarg perRetryTimeoutarg =
+  AppMeshRouteHttpRetryPolicy
+  { _appMeshRouteHttpRetryPolicyHttpRetryEvents = Nothing
+  , _appMeshRouteHttpRetryPolicyMaxRetries = maxRetriesarg
+  , _appMeshRouteHttpRetryPolicyPerRetryTimeout = perRetryTimeoutarg
+  , _appMeshRouteHttpRetryPolicyTcpRetryEvents = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-httpretryevents
+amrhrpHttpRetryEvents :: Lens' AppMeshRouteHttpRetryPolicy (Maybe (ValList Text))
+amrhrpHttpRetryEvents = lens _appMeshRouteHttpRetryPolicyHttpRetryEvents (\s a -> s { _appMeshRouteHttpRetryPolicyHttpRetryEvents = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-maxretries
+amrhrpMaxRetries :: Lens' AppMeshRouteHttpRetryPolicy (Val Integer)
+amrhrpMaxRetries = lens _appMeshRouteHttpRetryPolicyMaxRetries (\s a -> s { _appMeshRouteHttpRetryPolicyMaxRetries = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-perretrytimeout
+amrhrpPerRetryTimeout :: Lens' AppMeshRouteHttpRetryPolicy AppMeshRouteDuration
+amrhrpPerRetryTimeout = lens _appMeshRouteHttpRetryPolicyPerRetryTimeout (\s a -> s { _appMeshRouteHttpRetryPolicyPerRetryTimeout = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-tcpretryevents
+amrhrpTcpRetryEvents :: Lens' AppMeshRouteHttpRetryPolicy (Maybe (ValList Text))
+amrhrpTcpRetryEvents = lens _appMeshRouteHttpRetryPolicyTcpRetryEvents (\s a -> s { _appMeshRouteHttpRetryPolicyTcpRetryEvents = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRoute.hs b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRoute.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRoute.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppMeshRouteHttpRoute.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteAction
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteMatch
+import Stratosphere.ResourceProperties.AppMeshRouteHttpRetryPolicy
 
 -- | Full data type definition for AppMeshRouteHttpRoute. See
 -- 'appMeshRouteHttpRoute' for a more convenient constructor.
@@ -17,6 +18,7 @@
   AppMeshRouteHttpRoute
   { _appMeshRouteHttpRouteAction :: AppMeshRouteHttpRouteAction
   , _appMeshRouteHttpRouteMatch :: AppMeshRouteHttpRouteMatch
+  , _appMeshRouteHttpRouteRetryPolicy :: Maybe AppMeshRouteHttpRetryPolicy
   } deriving (Show, Eq)
 
 instance ToJSON AppMeshRouteHttpRoute where
@@ -25,6 +27,7 @@
     catMaybes
     [ (Just . ("Action",) . toJSON) _appMeshRouteHttpRouteAction
     , (Just . ("Match",) . toJSON) _appMeshRouteHttpRouteMatch
+    , fmap (("RetryPolicy",) . toJSON) _appMeshRouteHttpRouteRetryPolicy
     ]
 
 -- | Constructor for 'AppMeshRouteHttpRoute' containing required fields as
@@ -37,6 +40,7 @@
   AppMeshRouteHttpRoute
   { _appMeshRouteHttpRouteAction = actionarg
   , _appMeshRouteHttpRouteMatch = matcharg
+  , _appMeshRouteHttpRouteRetryPolicy = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-action
@@ -46,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-match
 amrhrMatch :: Lens' AppMeshRouteHttpRoute AppMeshRouteHttpRouteMatch
 amrhrMatch = lens _appMeshRouteHttpRouteMatch (\s a -> s { _appMeshRouteHttpRouteMatch = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-retrypolicy
+amrhrRetryPolicy :: Lens' AppMeshRouteHttpRoute (Maybe AppMeshRouteHttpRetryPolicy)
+amrhrRetryPolicy = lens _appMeshRouteHttpRouteRetryPolicy (\s a -> s { _appMeshRouteHttpRouteRetryPolicy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetBudgetData.hs b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetBudgetData.hs
--- a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetBudgetData.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetBudgetData.hs
@@ -21,6 +21,7 @@
   , _budgetsBudgetBudgetDataBudgetType :: Val Text
   , _budgetsBudgetBudgetDataCostFilters :: Maybe Object
   , _budgetsBudgetBudgetDataCostTypes :: Maybe BudgetsBudgetCostTypes
+  , _budgetsBudgetBudgetDataPlannedBudgetLimits :: Maybe Object
   , _budgetsBudgetBudgetDataTimePeriod :: Maybe BudgetsBudgetTimePeriod
   , _budgetsBudgetBudgetDataTimeUnit :: Val Text
   } deriving (Show, Eq)
@@ -34,6 +35,7 @@
     , (Just . ("BudgetType",) . toJSON) _budgetsBudgetBudgetDataBudgetType
     , fmap (("CostFilters",) . toJSON) _budgetsBudgetBudgetDataCostFilters
     , fmap (("CostTypes",) . toJSON) _budgetsBudgetBudgetDataCostTypes
+    , fmap (("PlannedBudgetLimits",) . toJSON) _budgetsBudgetBudgetDataPlannedBudgetLimits
     , fmap (("TimePeriod",) . toJSON) _budgetsBudgetBudgetDataTimePeriod
     , (Just . ("TimeUnit",) . toJSON) _budgetsBudgetBudgetDataTimeUnit
     ]
@@ -51,6 +53,7 @@
   , _budgetsBudgetBudgetDataBudgetType = budgetTypearg
   , _budgetsBudgetBudgetDataCostFilters = Nothing
   , _budgetsBudgetBudgetDataCostTypes = Nothing
+  , _budgetsBudgetBudgetDataPlannedBudgetLimits = Nothing
   , _budgetsBudgetBudgetDataTimePeriod = Nothing
   , _budgetsBudgetBudgetDataTimeUnit = timeUnitarg
   }
@@ -74,6 +77,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costtypes
 bbbdCostTypes :: Lens' BudgetsBudgetBudgetData (Maybe BudgetsBudgetCostTypes)
 bbbdCostTypes = lens _budgetsBudgetBudgetDataCostTypes (\s a -> s { _budgetsBudgetBudgetDataCostTypes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-plannedbudgetlimits
+bbbdPlannedBudgetLimits :: Lens' BudgetsBudgetBudgetData (Maybe Object)
+bbbdPlannedBudgetLimits = lens _budgetsBudgetBudgetDataPlannedBudgetLimits (\s a -> s { _budgetsBudgetBudgetDataPlannedBudgetLimits = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeperiod
 bbbdTimePeriod :: Lens' BudgetsBudgetBudgetData (Maybe BudgetsBudgetTimePeriod)
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
@@ -8,22 +8,20 @@
 module Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.CodeBuildProjectWebhookFilter
 
+
 -- | Full data type definition for CodeBuildProjectProjectTriggers. See
 -- 'codeBuildProjectProjectTriggers' for a more convenient constructor.
 data CodeBuildProjectProjectTriggers =
   CodeBuildProjectProjectTriggers
-  { _codeBuildProjectProjectTriggersFilterGroups :: Maybe [CodeBuildProjectWebhookFilter]
-  , _codeBuildProjectProjectTriggersWebhook :: Maybe (Val Bool)
+  { _codeBuildProjectProjectTriggersWebhook :: Maybe (Val Bool)
   } deriving (Show, Eq)
 
 instance ToJSON CodeBuildProjectProjectTriggers where
   toJSON CodeBuildProjectProjectTriggers{..} =
     object $
     catMaybes
-    [ fmap (("FilterGroups",) . toJSON) _codeBuildProjectProjectTriggersFilterGroups
-    , fmap (("Webhook",) . toJSON) _codeBuildProjectProjectTriggersWebhook
+    [ fmap (("Webhook",) . toJSON) _codeBuildProjectProjectTriggersWebhook
     ]
 
 -- | Constructor for 'CodeBuildProjectProjectTriggers' containing required
@@ -32,13 +30,8 @@
   :: CodeBuildProjectProjectTriggers
 codeBuildProjectProjectTriggers  =
   CodeBuildProjectProjectTriggers
-  { _codeBuildProjectProjectTriggersFilterGroups = Nothing
-  , _codeBuildProjectProjectTriggersWebhook = Nothing
+  { _codeBuildProjectProjectTriggersWebhook = Nothing
   }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-filtergroups
-cbpptFilterGroups :: Lens' CodeBuildProjectProjectTriggers (Maybe [CodeBuildProjectWebhookFilter])
-cbpptFilterGroups = lens _codeBuildProjectProjectTriggersFilterGroups (\s a -> s { _codeBuildProjectProjectTriggersFilterGroups = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-webhook
 cbpptWebhook :: Lens' CodeBuildProjectProjectTriggers (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDomainCustomDomainConfigType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDomainCustomDomainConfigType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDomainCustomDomainConfigType.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolDomainCustomDomainConfigType where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolDomainCustomDomainConfigType. See
+-- 'cognitoUserPoolDomainCustomDomainConfigType' for a more convenient
+-- constructor.
+data CognitoUserPoolDomainCustomDomainConfigType =
+  CognitoUserPoolDomainCustomDomainConfigType
+  { _cognitoUserPoolDomainCustomDomainConfigTypeCertificateArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolDomainCustomDomainConfigType where
+  toJSON CognitoUserPoolDomainCustomDomainConfigType{..} =
+    object $
+    catMaybes
+    [ fmap (("CertificateArn",) . toJSON) _cognitoUserPoolDomainCustomDomainConfigTypeCertificateArn
+    ]
+
+-- | Constructor for 'CognitoUserPoolDomainCustomDomainConfigType' containing
+-- required fields as arguments.
+cognitoUserPoolDomainCustomDomainConfigType
+  :: CognitoUserPoolDomainCustomDomainConfigType
+cognitoUserPoolDomainCustomDomainConfigType  =
+  CognitoUserPoolDomainCustomDomainConfigType
+  { _cognitoUserPoolDomainCustomDomainConfigTypeCertificateArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html#cfn-cognito-userpooldomain-customdomainconfigtype-certificatearn
+cupdcdctCertificateArn :: Lens' CognitoUserPoolDomainCustomDomainConfigType (Maybe (Val Text))
+cupdcdctCertificateArn = lens _cognitoUserPoolDomainCustomDomainConfigTypeCertificateArn (\s a -> s { _cognitoUserPoolDomainCustomDomainConfigTypeCertificateArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolResourceServerResourceServerScopeType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolResourceServerResourceServerScopeType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolResourceServerResourceServerScopeType.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolResourceServerResourceServerScopeType where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolResourceServerResourceServerScopeType. See
+-- 'cognitoUserPoolResourceServerResourceServerScopeType' for a more
+-- convenient constructor.
+data CognitoUserPoolResourceServerResourceServerScopeType =
+  CognitoUserPoolResourceServerResourceServerScopeType
+  { _cognitoUserPoolResourceServerResourceServerScopeTypeScopeDescription :: Val Text
+  , _cognitoUserPoolResourceServerResourceServerScopeTypeScopeName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolResourceServerResourceServerScopeType where
+  toJSON CognitoUserPoolResourceServerResourceServerScopeType{..} =
+    object $
+    catMaybes
+    [ (Just . ("ScopeDescription",) . toJSON) _cognitoUserPoolResourceServerResourceServerScopeTypeScopeDescription
+    , (Just . ("ScopeName",) . toJSON) _cognitoUserPoolResourceServerResourceServerScopeTypeScopeName
+    ]
+
+-- | Constructor for 'CognitoUserPoolResourceServerResourceServerScopeType'
+-- containing required fields as arguments.
+cognitoUserPoolResourceServerResourceServerScopeType
+  :: Val Text -- ^ 'cuprsrsstScopeDescription'
+  -> Val Text -- ^ 'cuprsrsstScopeName'
+  -> CognitoUserPoolResourceServerResourceServerScopeType
+cognitoUserPoolResourceServerResourceServerScopeType scopeDescriptionarg scopeNamearg =
+  CognitoUserPoolResourceServerResourceServerScopeType
+  { _cognitoUserPoolResourceServerResourceServerScopeTypeScopeDescription = scopeDescriptionarg
+  , _cognitoUserPoolResourceServerResourceServerScopeTypeScopeName = scopeNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopedescription
+cuprsrsstScopeDescription :: Lens' CognitoUserPoolResourceServerResourceServerScopeType (Val Text)
+cuprsrsstScopeDescription = lens _cognitoUserPoolResourceServerResourceServerScopeTypeScopeDescription (\s a -> s { _cognitoUserPoolResourceServerResourceServerScopeTypeScopeDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopename
+cuprsrsstScopeName :: Lens' CognitoUserPoolResourceServerResourceServerScopeType (Val Text)
+cuprsrsstScopeName = lens _cognitoUserPoolResourceServerResourceServerScopeTypeScopeName (\s a -> s { _cognitoUserPoolResourceServerResourceServerScopeTypeScopeName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType. See
+-- 'cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType' for
+-- a more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType =
+  CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeEventAction :: Val Text
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeNotify :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType{..} =
+    object $
+    catMaybes
+    [ (Just . ("EventAction",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeEventAction
+    , (Just . ("Notify",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeNotify
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+  :: Val Text -- ^ 'cuprcaatatEventAction'
+  -> Val Bool -- ^ 'cuprcaatatNotify'
+  -> CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType eventActionarg notifyarg =
+  CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeEventAction = eventActionarg
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeNotify = notifyarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-eventaction
+cuprcaatatEventAction :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType (Val Text)
+cuprcaatatEventAction = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeEventAction (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeEventAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-notify
+cuprcaatatNotify :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType (Val Bool)
+cuprcaatatNotify = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeNotify (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeNotify = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType. See
+-- 'cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType'
+-- for a more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType =
+  CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeHighAction :: Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeLowAction :: Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeMediumAction :: Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType{..} =
+    object $
+    catMaybes
+    [ fmap (("HighAction",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeHighAction
+    , fmap (("LowAction",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeLowAction
+    , fmap (("MediumAction",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeMediumAction
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+  :: CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType  =
+  CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeHighAction = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeLowAction = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeMediumAction = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-highaction
+cuprcaatatHighAction :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType (Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType)
+cuprcaatatHighAction = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeHighAction (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeHighAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-lowaction
+cuprcaatatLowAction :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType (Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType)
+cuprcaatatLowAction = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeLowAction (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeLowAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-mediumaction
+cuprcaatatMediumAction :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType (Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType)
+cuprcaatatMediumAction = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeMediumAction (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeMediumAction = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.
+-- See
+-- 'cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType'
+-- for a more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType =
+  CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeActions :: CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeNotifyConfiguration :: Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType{..} =
+    object $
+    catMaybes
+    [ (Just . ("Actions",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeActions
+    , fmap (("NotifyConfiguration",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeNotifyConfiguration
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+  :: CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType -- ^ 'cuprcaatrctActions'
+  -> CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType actionsarg =
+  CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeActions = actionsarg
+  , _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeNotifyConfiguration = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-actions
+cuprcaatrctActions :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+cuprcaatrctActions = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeActions (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeActions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-notifyconfiguration
+cuprcaatrctNotifyConfiguration :: Lens' CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType (Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType)
+cuprcaatrctNotifyConfiguration = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeNotifyConfiguration (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeNotifyConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.
+-- See
+-- 'cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType'
+-- for a more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType =
+  CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+  { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeEventAction :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType{..} =
+    object $
+    catMaybes
+    [ (Just . ("EventAction",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeEventAction
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+  :: Val Text -- ^ 'cuprcaccatEventAction'
+  -> CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType eventActionarg =
+  CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+  { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeEventAction = eventActionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype-eventaction
+cuprcaccatEventAction :: Lens' CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType (Val Text)
+cuprcaccatEventAction = lens _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeEventAction (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeEventAction = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.
+-- See
+-- 'cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType'
+-- for a more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType =
+  CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeActions :: CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+  , _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeEventFilter :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType{..} =
+    object $
+    catMaybes
+    [ (Just . ("Actions",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeActions
+    , fmap (("EventFilter",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeEventFilter
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+  :: CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType -- ^ 'cuprcaccrctActions'
+  -> CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType actionsarg =
+  CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeActions = actionsarg
+  , _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeEventFilter = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-actions
+cuprcaccrctActions :: Lens' CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+cuprcaccrctActions = lens _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeActions (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeActions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-eventfilter
+cuprcaccrctEventFilter :: Lens' CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType (Maybe (ValList Text))
+cuprcaccrctEventFilter = lens _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeEventFilter (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeEventFilter = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType.hs
@@ -0,0 +1,77 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType. See
+-- 'cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType' for a
+-- more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType =
+  CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeBlockEmail :: Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeFrom :: Maybe (Val Text)
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeMfaEmail :: Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeNoActionEmail :: Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeReplyTo :: Maybe (Val Text)
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeSourceArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType{..} =
+    object $
+    catMaybes
+    [ fmap (("BlockEmail",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeBlockEmail
+    , fmap (("From",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeFrom
+    , fmap (("MfaEmail",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeMfaEmail
+    , fmap (("NoActionEmail",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeNoActionEmail
+    , fmap (("ReplyTo",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeReplyTo
+    , (Just . ("SourceArn",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeSourceArn
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+  :: Val Text -- ^ 'cuprcanctSourceArn'
+  -> CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType sourceArnarg =
+  CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeBlockEmail = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeFrom = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeMfaEmail = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeNoActionEmail = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeReplyTo = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeSourceArn = sourceArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-blockemail
+cuprcanctBlockEmail :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType (Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType)
+cuprcanctBlockEmail = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeBlockEmail (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeBlockEmail = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-from
+cuprcanctFrom :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType (Maybe (Val Text))
+cuprcanctFrom = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeFrom (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeFrom = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-mfaemail
+cuprcanctMfaEmail :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType (Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType)
+cuprcanctMfaEmail = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeMfaEmail (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeMfaEmail = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-noactionemail
+cuprcanctNoActionEmail :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType (Maybe CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType)
+cuprcanctNoActionEmail = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeNoActionEmail (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeNoActionEmail = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto
+cuprcanctReplyTo :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType (Maybe (Val Text))
+cuprcanctReplyTo = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeReplyTo (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeReplyTo = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-sourcearn
+cuprcanctSourceArn :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType (Val Text)
+cuprcanctSourceArn = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeSourceArn (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationTypeSourceArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType. See
+-- 'cognitoUserPoolRiskConfigurationAttachmentNotifyEmailType' for a more
+-- convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType =
+  CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+  { _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeHtmlBody :: Maybe (Val Text)
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeSubject :: Val Text
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeTextBody :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType{..} =
+    object $
+    catMaybes
+    [ fmap (("HtmlBody",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeHtmlBody
+    , (Just . ("Subject",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeSubject
+    , fmap (("TextBody",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeTextBody
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType' containing
+-- required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+  :: Val Text -- ^ 'cuprcanetSubject'
+  -> CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+cognitoUserPoolRiskConfigurationAttachmentNotifyEmailType subjectarg =
+  CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+  { _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeHtmlBody = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeSubject = subjectarg
+  , _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeTextBody = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-htmlbody
+cuprcanetHtmlBody :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType (Maybe (Val Text))
+cuprcanetHtmlBody = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeHtmlBody (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeHtmlBody = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-subject
+cuprcanetSubject :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType (Val Text)
+cuprcanetSubject = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeSubject (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeSubject = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-textbody
+cuprcanetTextBody :: Lens' CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType (Maybe (Val Text))
+cuprcanetTextBody = lens _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeTextBody (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentNotifyEmailTypeTextBody = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.
+-- See
+-- 'cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType'
+-- for a more convenient constructor.
+data CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType =
+  CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeBlockedIPRangeList :: Maybe (ValList Text)
+  , _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeSkippedIPRangeList :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType where
+  toJSON CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType{..} =
+    object $
+    catMaybes
+    [ fmap (("BlockedIPRangeList",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeBlockedIPRangeList
+    , fmap (("SkippedIPRangeList",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeSkippedIPRangeList
+    ]
+
+-- | Constructor for
+-- 'CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType'
+-- containing required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
+  :: CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
+cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType  =
+  CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
+  { _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeBlockedIPRangeList = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeSkippedIPRangeList = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-blockediprangelist
+cuprcarectBlockedIPRangeList :: Lens' CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType (Maybe (ValList Text))
+cuprcarectBlockedIPRangeList = lens _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeBlockedIPRangeList (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeBlockedIPRangeList = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-skippediprangelist
+cuprcarectSkippedIPRangeList :: Lens' CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType (Maybe (ValList Text))
+cuprcarectSkippedIPRangeList = lens _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeSkippedIPRangeList (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeSkippedIPRangeList = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigRemediationConfigurationExecutionControls.hs b/library-gen/Stratosphere/ResourceProperties/ConfigRemediationConfigurationExecutionControls.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigRemediationConfigurationExecutionControls.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-executioncontrols.html
+
+module Stratosphere.ResourceProperties.ConfigRemediationConfigurationExecutionControls where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ConfigRemediationConfigurationSsmControls
+
+-- | Full data type definition for
+-- ConfigRemediationConfigurationExecutionControls. See
+-- 'configRemediationConfigurationExecutionControls' for a more convenient
+-- constructor.
+data ConfigRemediationConfigurationExecutionControls =
+  ConfigRemediationConfigurationExecutionControls
+  { _configRemediationConfigurationExecutionControlsSsmControls :: Maybe ConfigRemediationConfigurationSsmControls
+  } deriving (Show, Eq)
+
+instance ToJSON ConfigRemediationConfigurationExecutionControls where
+  toJSON ConfigRemediationConfigurationExecutionControls{..} =
+    object $
+    catMaybes
+    [ fmap (("SsmControls",) . toJSON) _configRemediationConfigurationExecutionControlsSsmControls
+    ]
+
+-- | Constructor for 'ConfigRemediationConfigurationExecutionControls'
+-- containing required fields as arguments.
+configRemediationConfigurationExecutionControls
+  :: ConfigRemediationConfigurationExecutionControls
+configRemediationConfigurationExecutionControls  =
+  ConfigRemediationConfigurationExecutionControls
+  { _configRemediationConfigurationExecutionControlsSsmControls = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-executioncontrols.html#cfn-config-remediationconfiguration-executioncontrols-ssmcontrols
+crcecSsmControls :: Lens' ConfigRemediationConfigurationExecutionControls (Maybe ConfigRemediationConfigurationSsmControls)
+crcecSsmControls = lens _configRemediationConfigurationExecutionControlsSsmControls (\s a -> s { _configRemediationConfigurationExecutionControlsSsmControls = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigRemediationConfigurationSsmControls.hs b/library-gen/Stratosphere/ResourceProperties/ConfigRemediationConfigurationSsmControls.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigRemediationConfigurationSsmControls.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html
+
+module Stratosphere.ResourceProperties.ConfigRemediationConfigurationSsmControls where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ConfigRemediationConfigurationSsmControls.
+-- See 'configRemediationConfigurationSsmControls' for a more convenient
+-- constructor.
+data ConfigRemediationConfigurationSsmControls =
+  ConfigRemediationConfigurationSsmControls
+  { _configRemediationConfigurationSsmControlsConcurrentExecutionRatePercentage :: Maybe (Val Integer)
+  , _configRemediationConfigurationSsmControlsErrorPercentage :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON ConfigRemediationConfigurationSsmControls where
+  toJSON ConfigRemediationConfigurationSsmControls{..} =
+    object $
+    catMaybes
+    [ fmap (("ConcurrentExecutionRatePercentage",) . toJSON) _configRemediationConfigurationSsmControlsConcurrentExecutionRatePercentage
+    , fmap (("ErrorPercentage",) . toJSON) _configRemediationConfigurationSsmControlsErrorPercentage
+    ]
+
+-- | Constructor for 'ConfigRemediationConfigurationSsmControls' containing
+-- required fields as arguments.
+configRemediationConfigurationSsmControls
+  :: ConfigRemediationConfigurationSsmControls
+configRemediationConfigurationSsmControls  =
+  ConfigRemediationConfigurationSsmControls
+  { _configRemediationConfigurationSsmControlsConcurrentExecutionRatePercentage = Nothing
+  , _configRemediationConfigurationSsmControlsErrorPercentage = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html#cfn-config-remediationconfiguration-ssmcontrols-concurrentexecutionratepercentage
+crcscConcurrentExecutionRatePercentage :: Lens' ConfigRemediationConfigurationSsmControls (Maybe (Val Integer))
+crcscConcurrentExecutionRatePercentage = lens _configRemediationConfigurationSsmControlsConcurrentExecutionRatePercentage (\s a -> s { _configRemediationConfigurationSsmControlsConcurrentExecutionRatePercentage = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html#cfn-config-remediationconfiguration-ssmcontrols-errorpercentage
+crcscErrorPercentage :: Lens' ConfigRemediationConfigurationSsmControls (Maybe (Val Integer))
+crcscErrorPercentage = lens _configRemediationConfigurationSsmControlsErrorPercentage (\s a -> s { _configRemediationConfigurationSsmControlsErrorPercentage = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest.hs b/library-gen/Stratosphere/ResourceProperties/EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest.html
+
+module Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest. See
+-- 'ec2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest' for a more
+-- convenient constructor.
+data EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest =
+  EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+  { _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestFromPort :: Val Integer
+  , _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestToPort :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest where
+  toJSON EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest{..} =
+    object $
+    catMaybes
+    [ (Just . ("FromPort",) . toJSON) _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestFromPort
+    , (Just . ("ToPort",) . toJSON) _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestToPort
+    ]
+
+-- | Constructor for 'EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest'
+-- containing required fields as arguments.
+ec2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+  :: Val Integer -- ^ 'ectmfrtmprrFromPort'
+  -> Val Integer -- ^ 'ectmfrtmprrToPort'
+  -> EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+ec2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest fromPortarg toPortarg =
+  EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+  { _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestFromPort = fromPortarg
+  , _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestToPort = toPortarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest-fromport
+ectmfrtmprrFromPort :: Lens' EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest (Val Integer)
+ectmfrtmprrFromPort = lens _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestFromPort (\s a -> s { _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestFromPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrangerequest-toport
+ectmfrtmprrToPort :: Lens' EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest (Val Integer)
+ectmfrtmprrToPort = lens _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestToPort (\s a -> s { _eC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequestToPort = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueJobNotificationProperty.hs b/library-gen/Stratosphere/ResourceProperties/GlueJobNotificationProperty.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueJobNotificationProperty.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html
+
+module Stratosphere.ResourceProperties.GlueJobNotificationProperty where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueJobNotificationProperty. See
+-- 'glueJobNotificationProperty' for a more convenient constructor.
+data GlueJobNotificationProperty =
+  GlueJobNotificationProperty
+  { _glueJobNotificationPropertyNotifyDelayAfter :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GlueJobNotificationProperty where
+  toJSON GlueJobNotificationProperty{..} =
+    object $
+    catMaybes
+    [ fmap (("NotifyDelayAfter",) . toJSON) _glueJobNotificationPropertyNotifyDelayAfter
+    ]
+
+-- | Constructor for 'GlueJobNotificationProperty' containing required fields
+-- as arguments.
+glueJobNotificationProperty
+  :: GlueJobNotificationProperty
+glueJobNotificationProperty  =
+  GlueJobNotificationProperty
+  { _glueJobNotificationPropertyNotifyDelayAfter = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html#cfn-glue-job-notificationproperty-notifydelayafter
+gjnpNotifyDelayAfter :: Lens' GlueJobNotificationProperty (Maybe (Val Integer))
+gjnpNotifyDelayAfter = lens _glueJobNotificationPropertyNotifyDelayAfter (\s a -> s { _glueJobNotificationPropertyNotifyDelayAfter = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueTriggerAction.hs b/library-gen/Stratosphere/ResourceProperties/GlueTriggerAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueTriggerAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueTriggerAction.hs
@@ -8,15 +8,18 @@
 module Stratosphere.ResourceProperties.GlueTriggerAction where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.GlueTriggerNotificationProperty
 
 -- | Full data type definition for GlueTriggerAction. See 'glueTriggerAction'
 -- for a more convenient constructor.
 data GlueTriggerAction =
   GlueTriggerAction
   { _glueTriggerActionArguments :: Maybe Object
+  , _glueTriggerActionCrawlerName :: Maybe (Val Text)
   , _glueTriggerActionJobName :: Maybe (Val Text)
+  , _glueTriggerActionNotificationProperty :: Maybe GlueTriggerNotificationProperty
   , _glueTriggerActionSecurityConfiguration :: Maybe (Val Text)
+  , _glueTriggerActionTimeout :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToJSON GlueTriggerAction where
@@ -24,8 +27,11 @@
     object $
     catMaybes
     [ fmap (("Arguments",) . toJSON) _glueTriggerActionArguments
+    , fmap (("CrawlerName",) . toJSON) _glueTriggerActionCrawlerName
     , fmap (("JobName",) . toJSON) _glueTriggerActionJobName
+    , fmap (("NotificationProperty",) . toJSON) _glueTriggerActionNotificationProperty
     , fmap (("SecurityConfiguration",) . toJSON) _glueTriggerActionSecurityConfiguration
+    , fmap (("Timeout",) . toJSON) _glueTriggerActionTimeout
     ]
 
 -- | Constructor for 'GlueTriggerAction' containing required fields as
@@ -35,18 +41,33 @@
 glueTriggerAction  =
   GlueTriggerAction
   { _glueTriggerActionArguments = Nothing
+  , _glueTriggerActionCrawlerName = Nothing
   , _glueTriggerActionJobName = Nothing
+  , _glueTriggerActionNotificationProperty = Nothing
   , _glueTriggerActionSecurityConfiguration = Nothing
+  , _glueTriggerActionTimeout = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments
 gtaArguments :: Lens' GlueTriggerAction (Maybe Object)
 gtaArguments = lens _glueTriggerActionArguments (\s a -> s { _glueTriggerActionArguments = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-crawlername
+gtaCrawlerName :: Lens' GlueTriggerAction (Maybe (Val Text))
+gtaCrawlerName = lens _glueTriggerActionCrawlerName (\s a -> s { _glueTriggerActionCrawlerName = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-jobname
 gtaJobName :: Lens' GlueTriggerAction (Maybe (Val Text))
 gtaJobName = lens _glueTriggerActionJobName (\s a -> s { _glueTriggerActionJobName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-notificationproperty
+gtaNotificationProperty :: Lens' GlueTriggerAction (Maybe GlueTriggerNotificationProperty)
+gtaNotificationProperty = lens _glueTriggerActionNotificationProperty (\s a -> s { _glueTriggerActionNotificationProperty = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration
 gtaSecurityConfiguration :: Lens' GlueTriggerAction (Maybe (Val Text))
 gtaSecurityConfiguration = lens _glueTriggerActionSecurityConfiguration (\s a -> s { _glueTriggerActionSecurityConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout
+gtaTimeout :: Lens' GlueTriggerAction (Maybe (Val Integer))
+gtaTimeout = lens _glueTriggerActionTimeout (\s a -> s { _glueTriggerActionTimeout = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueTriggerCondition.hs b/library-gen/Stratosphere/ResourceProperties/GlueTriggerCondition.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueTriggerCondition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueTriggerCondition.hs
@@ -14,7 +14,9 @@
 -- 'glueTriggerCondition' for a more convenient constructor.
 data GlueTriggerCondition =
   GlueTriggerCondition
-  { _glueTriggerConditionJobName :: Maybe (Val Text)
+  { _glueTriggerConditionCrawlState :: Maybe (Val Text)
+  , _glueTriggerConditionCrawlerName :: Maybe (Val Text)
+  , _glueTriggerConditionJobName :: Maybe (Val Text)
   , _glueTriggerConditionLogicalOperator :: Maybe (Val Text)
   , _glueTriggerConditionState :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -23,7 +25,9 @@
   toJSON GlueTriggerCondition{..} =
     object $
     catMaybes
-    [ fmap (("JobName",) . toJSON) _glueTriggerConditionJobName
+    [ fmap (("CrawlState",) . toJSON) _glueTriggerConditionCrawlState
+    , fmap (("CrawlerName",) . toJSON) _glueTriggerConditionCrawlerName
+    , fmap (("JobName",) . toJSON) _glueTriggerConditionJobName
     , fmap (("LogicalOperator",) . toJSON) _glueTriggerConditionLogicalOperator
     , fmap (("State",) . toJSON) _glueTriggerConditionState
     ]
@@ -34,10 +38,20 @@
   :: GlueTriggerCondition
 glueTriggerCondition  =
   GlueTriggerCondition
-  { _glueTriggerConditionJobName = Nothing
+  { _glueTriggerConditionCrawlState = Nothing
+  , _glueTriggerConditionCrawlerName = Nothing
+  , _glueTriggerConditionJobName = Nothing
   , _glueTriggerConditionLogicalOperator = Nothing
   , _glueTriggerConditionState = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlstate
+gtcCrawlState :: Lens' GlueTriggerCondition (Maybe (Val Text))
+gtcCrawlState = lens _glueTriggerConditionCrawlState (\s a -> s { _glueTriggerConditionCrawlState = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlername
+gtcCrawlerName :: Lens' GlueTriggerCondition (Maybe (Val Text))
+gtcCrawlerName = lens _glueTriggerConditionCrawlerName (\s a -> s { _glueTriggerConditionCrawlerName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-jobname
 gtcJobName :: Lens' GlueTriggerCondition (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueTriggerNotificationProperty.hs b/library-gen/Stratosphere/ResourceProperties/GlueTriggerNotificationProperty.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlueTriggerNotificationProperty.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html
+
+module Stratosphere.ResourceProperties.GlueTriggerNotificationProperty where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueTriggerNotificationProperty. See
+-- 'glueTriggerNotificationProperty' for a more convenient constructor.
+data GlueTriggerNotificationProperty =
+  GlueTriggerNotificationProperty
+  { _glueTriggerNotificationPropertyNotifyDelayAfter :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GlueTriggerNotificationProperty where
+  toJSON GlueTriggerNotificationProperty{..} =
+    object $
+    catMaybes
+    [ fmap (("NotifyDelayAfter",) . toJSON) _glueTriggerNotificationPropertyNotifyDelayAfter
+    ]
+
+-- | Constructor for 'GlueTriggerNotificationProperty' containing required
+-- fields as arguments.
+glueTriggerNotificationProperty
+  :: GlueTriggerNotificationProperty
+glueTriggerNotificationProperty  =
+  GlueTriggerNotificationProperty
+  { _glueTriggerNotificationPropertyNotifyDelayAfter = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter
+gtnpNotifyDelayAfter :: Lens' GlueTriggerNotificationProperty (Maybe (Val Integer))
+gtnpNotifyDelayAfter = lens _glueTriggerNotificationPropertyNotifyDelayAfter (\s a -> s { _glueTriggerNotificationPropertyNotifyDelayAfter = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SageMakerCodeRepositoryGitConfig.hs b/library-gen/Stratosphere/ResourceProperties/SageMakerCodeRepositoryGitConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SageMakerCodeRepositoryGitConfig.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html
+
+module Stratosphere.ResourceProperties.SageMakerCodeRepositoryGitConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SageMakerCodeRepositoryGitConfig. See
+-- 'sageMakerCodeRepositoryGitConfig' for a more convenient constructor.
+data SageMakerCodeRepositoryGitConfig =
+  SageMakerCodeRepositoryGitConfig
+  { _sageMakerCodeRepositoryGitConfigBranch :: Maybe (Val Text)
+  , _sageMakerCodeRepositoryGitConfigRepositoryUrl :: Val Text
+  , _sageMakerCodeRepositoryGitConfigSecretArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON SageMakerCodeRepositoryGitConfig where
+  toJSON SageMakerCodeRepositoryGitConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("Branch",) . toJSON) _sageMakerCodeRepositoryGitConfigBranch
+    , (Just . ("RepositoryUrl",) . toJSON) _sageMakerCodeRepositoryGitConfigRepositoryUrl
+    , fmap (("SecretArn",) . toJSON) _sageMakerCodeRepositoryGitConfigSecretArn
+    ]
+
+-- | Constructor for 'SageMakerCodeRepositoryGitConfig' containing required
+-- fields as arguments.
+sageMakerCodeRepositoryGitConfig
+  :: Val Text -- ^ 'smcrgcRepositoryUrl'
+  -> SageMakerCodeRepositoryGitConfig
+sageMakerCodeRepositoryGitConfig repositoryUrlarg =
+  SageMakerCodeRepositoryGitConfig
+  { _sageMakerCodeRepositoryGitConfigBranch = Nothing
+  , _sageMakerCodeRepositoryGitConfigRepositoryUrl = repositoryUrlarg
+  , _sageMakerCodeRepositoryGitConfigSecretArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-branch
+smcrgcBranch :: Lens' SageMakerCodeRepositoryGitConfig (Maybe (Val Text))
+smcrgcBranch = lens _sageMakerCodeRepositoryGitConfigBranch (\s a -> s { _sageMakerCodeRepositoryGitConfigBranch = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-repositoryurl
+smcrgcRepositoryUrl :: Lens' SageMakerCodeRepositoryGitConfig (Val Text)
+smcrgcRepositoryUrl = lens _sageMakerCodeRepositoryGitConfigRepositoryUrl (\s a -> s { _sageMakerCodeRepositoryGitConfigRepositoryUrl = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-secretarn
+smcrgcSecretArn :: Lens' SageMakerCodeRepositoryGitConfig (Maybe (Val Text))
+smcrgcSecretArn = lens _sageMakerCodeRepositoryGitConfigSecretArn (\s a -> s { _sageMakerCodeRepositoryGitConfigSecretArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/Tag.hs b/library-gen/Stratosphere/ResourceProperties/Tag.hs
--- a/library-gen/Stratosphere/ResourceProperties/Tag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Tag.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE StrictData #-}
 {-# LANGUAGE TupleSections #-}
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-tag.html
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
 
 module Stratosphere.ResourceProperties.Tag where
 
@@ -37,10 +37,10 @@
   , _tagValue = valuearg
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-tag.html#cfn-iotevents-input-tag-key
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-key
 tagKey :: Lens' Tag (Val Text)
 tagKey = lens _tagKey (\s a -> s { _tagKey = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-tag.html#cfn-iotevents-input-tag-value
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-value
 tagValue :: Lens' Tag (Val Text)
 tagValue = lens _tagValue (\s a -> s { _tagValue = a })
diff --git a/library-gen/Stratosphere/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -142,7 +142,12 @@
 import Stratosphere.Resources.CognitoIdentityPoolRoleAttachment as X
 import Stratosphere.Resources.CognitoUserPool as X
 import Stratosphere.Resources.CognitoUserPoolClient as X
+import Stratosphere.Resources.CognitoUserPoolDomain as X
 import Stratosphere.Resources.CognitoUserPoolGroup as X
+import Stratosphere.Resources.CognitoUserPoolIdentityProvider as X
+import Stratosphere.Resources.CognitoUserPoolResourceServer as X
+import Stratosphere.Resources.CognitoUserPoolRiskConfigurationAttachment as X
+import Stratosphere.Resources.CognitoUserPoolUICustomizationAttachment as X
 import Stratosphere.Resources.CognitoUserPoolUser as X
 import Stratosphere.Resources.CognitoUserPoolUserToGroupAttachment as X
 import Stratosphere.Resources.ConfigAggregationAuthorization as X
@@ -203,6 +208,10 @@
 import Stratosphere.Resources.EC2SubnetCidrBlock as X
 import Stratosphere.Resources.EC2SubnetNetworkAclAssociation as X
 import Stratosphere.Resources.EC2SubnetRouteTableAssociation as X
+import Stratosphere.Resources.EC2TrafficMirrorFilter as X
+import Stratosphere.Resources.EC2TrafficMirrorFilterRule as X
+import Stratosphere.Resources.EC2TrafficMirrorSession as X
+import Stratosphere.Resources.EC2TrafficMirrorTarget as X
 import Stratosphere.Resources.EC2TransitGateway as X
 import Stratosphere.Resources.EC2TransitGatewayAttachment as X
 import Stratosphere.Resources.EC2TransitGatewayRoute as X
@@ -214,6 +223,7 @@
 import Stratosphere.Resources.EC2VPCDHCPOptionsAssociation as X
 import Stratosphere.Resources.EC2VPCEndpoint as X
 import Stratosphere.Resources.EC2VPCEndpointConnectionNotification as X
+import Stratosphere.Resources.EC2VPCEndpointService as X
 import Stratosphere.Resources.EC2VPCEndpointServicePermissions as X
 import Stratosphere.Resources.EC2VPCGatewayAttachment as X
 import Stratosphere.Resources.EC2VPCPeeringConnection as X
@@ -270,6 +280,7 @@
 import Stratosphere.Resources.GlueSecurityConfiguration as X
 import Stratosphere.Resources.GlueTable as X
 import Stratosphere.Resources.GlueTrigger as X
+import Stratosphere.Resources.GlueWorkflow as X
 import Stratosphere.Resources.GreengrassConnectorDefinition as X
 import Stratosphere.Resources.GreengrassConnectorDefinitionVersion as X
 import Stratosphere.Resources.GreengrassCoreDefinition as X
@@ -386,6 +397,7 @@
 import Stratosphere.Resources.PinpointEmailConfigurationSetEventDestination as X
 import Stratosphere.Resources.PinpointEmailDedicatedIpPool as X
 import Stratosphere.Resources.PinpointEmailIdentity as X
+import Stratosphere.Resources.QLDBLedger as X
 import Stratosphere.Resources.RAMResourceShare as X
 import Stratosphere.Resources.RDSDBCluster as X
 import Stratosphere.Resources.RDSDBClusterParameterGroup as X
@@ -436,6 +448,7 @@
 import Stratosphere.Resources.SSMParameter as X
 import Stratosphere.Resources.SSMPatchBaseline as X
 import Stratosphere.Resources.SSMResourceDataSync as X
+import Stratosphere.Resources.SageMakerCodeRepository as X
 import Stratosphere.Resources.SageMakerEndpoint as X
 import Stratosphere.Resources.SageMakerEndpointConfig as X
 import Stratosphere.Resources.SageMakerModel as X
@@ -531,7 +544,9 @@
 import Stratosphere.ResourceProperties.ApiGatewayV2StageRouteSettings as X
 import Stratosphere.ResourceProperties.AppMeshMeshEgressFilter as X
 import Stratosphere.ResourceProperties.AppMeshMeshMeshSpec as X
+import Stratosphere.ResourceProperties.AppMeshRouteDuration as X
 import Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod as X
+import Stratosphere.ResourceProperties.AppMeshRouteHttpRetryPolicy as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRoute as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteAction as X
 import Stratosphere.ResourceProperties.AppMeshRouteHttpRouteHeader as X
@@ -752,6 +767,16 @@
 import Stratosphere.ResourceProperties.CognitoUserPoolUserPoolAddOns as X
 import Stratosphere.ResourceProperties.CognitoUserPoolVerificationMessageTemplate as X
 import Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration as X
+import Stratosphere.ResourceProperties.CognitoUserPoolDomainCustomDomainConfigType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolResourceServerResourceServerScopeType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType as X
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType as X
 import Stratosphere.ResourceProperties.CognitoUserPoolUserAttributeType as X
 import Stratosphere.ResourceProperties.ConfigConfigRuleScope as X
 import Stratosphere.ResourceProperties.ConfigConfigRuleSource as X
@@ -762,8 +787,10 @@
 import Stratosphere.ResourceProperties.ConfigDeliveryChannelConfigSnapshotDeliveryProperties as X
 import Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata as X
 import Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata as X
+import Stratosphere.ResourceProperties.ConfigRemediationConfigurationExecutionControls as X
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationRemediationParameterValue as X
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationResourceValue as X
+import Stratosphere.ResourceProperties.ConfigRemediationConfigurationSsmControls as X
 import Stratosphere.ResourceProperties.ConfigRemediationConfigurationStaticValue as X
 import Stratosphere.ResourceProperties.DAXClusterSSESpecification as X
 import Stratosphere.ResourceProperties.DLMLifecyclePolicyCreateRule as X
@@ -869,6 +896,7 @@
 import Stratosphere.ResourceProperties.EC2SpotFleetSpotPlacement as X
 import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup as X
 import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig as X
+import Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest as X
 import Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification as X
 import Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy as X
 import Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration as X
@@ -1034,6 +1062,7 @@
 import Stratosphere.ResourceProperties.GlueJobConnectionsList as X
 import Stratosphere.ResourceProperties.GlueJobExecutionProperty as X
 import Stratosphere.ResourceProperties.GlueJobJobCommand as X
+import Stratosphere.ResourceProperties.GlueJobNotificationProperty as X
 import Stratosphere.ResourceProperties.GlueMLTransformFindMatchesParameters as X
 import Stratosphere.ResourceProperties.GlueMLTransformGlueTables as X
 import Stratosphere.ResourceProperties.GlueMLTransformInputRecordTables as X
@@ -1056,6 +1085,7 @@
 import Stratosphere.ResourceProperties.GlueTableTableInput as X
 import Stratosphere.ResourceProperties.GlueTriggerAction as X
 import Stratosphere.ResourceProperties.GlueTriggerCondition as X
+import Stratosphere.ResourceProperties.GlueTriggerNotificationProperty as X
 import Stratosphere.ResourceProperties.GlueTriggerPredicate as X
 import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnector as X
 import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnectorDefinitionVersion as X
@@ -1512,6 +1542,7 @@
 import Stratosphere.ResourceProperties.SSMPatchBaselinePatchSource as X
 import Stratosphere.ResourceProperties.SSMPatchBaselineRule as X
 import Stratosphere.ResourceProperties.SSMPatchBaselineRuleGroup as X
+import Stratosphere.ResourceProperties.SageMakerCodeRepositoryGitConfig as X
 import Stratosphere.ResourceProperties.SageMakerEndpointConfigProductionVariant as X
 import Stratosphere.ResourceProperties.SageMakerModelContainerDefinition as X
 import Stratosphere.ResourceProperties.SageMakerModelVpcConfig as X
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPool.hs b/library-gen/Stratosphere/Resources/CognitoUserPool.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPool.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPool.hs
@@ -29,6 +29,7 @@
   , _cognitoUserPoolEmailConfiguration :: Maybe CognitoUserPoolEmailConfiguration
   , _cognitoUserPoolEmailVerificationMessage :: Maybe (Val Text)
   , _cognitoUserPoolEmailVerificationSubject :: Maybe (Val Text)
+  , _cognitoUserPoolEnabledMfas :: Maybe (ValList Text)
   , _cognitoUserPoolLambdaConfig :: Maybe CognitoUserPoolLambdaConfig
   , _cognitoUserPoolMfaConfiguration :: Maybe (Val Text)
   , _cognitoUserPoolPolicies :: Maybe CognitoUserPoolPolicies
@@ -56,6 +57,7 @@
         , fmap (("EmailConfiguration",) . toJSON) _cognitoUserPoolEmailConfiguration
         , fmap (("EmailVerificationMessage",) . toJSON) _cognitoUserPoolEmailVerificationMessage
         , fmap (("EmailVerificationSubject",) . toJSON) _cognitoUserPoolEmailVerificationSubject
+        , fmap (("EnabledMfas",) . toJSON) _cognitoUserPoolEnabledMfas
         , fmap (("LambdaConfig",) . toJSON) _cognitoUserPoolLambdaConfig
         , fmap (("MfaConfiguration",) . toJSON) _cognitoUserPoolMfaConfiguration
         , fmap (("Policies",) . toJSON) _cognitoUserPoolPolicies
@@ -84,6 +86,7 @@
   , _cognitoUserPoolEmailConfiguration = Nothing
   , _cognitoUserPoolEmailVerificationMessage = Nothing
   , _cognitoUserPoolEmailVerificationSubject = Nothing
+  , _cognitoUserPoolEnabledMfas = Nothing
   , _cognitoUserPoolLambdaConfig = Nothing
   , _cognitoUserPoolMfaConfiguration = Nothing
   , _cognitoUserPoolPolicies = Nothing
@@ -125,6 +128,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject
 cupEmailVerificationSubject :: Lens' CognitoUserPool (Maybe (Val Text))
 cupEmailVerificationSubject = lens _cognitoUserPoolEmailVerificationSubject (\s a -> s { _cognitoUserPoolEmailVerificationSubject = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-enabledmfas
+cupEnabledMfas :: Lens' CognitoUserPool (Maybe (ValList Text))
+cupEnabledMfas = lens _cognitoUserPoolEnabledMfas (\s a -> s { _cognitoUserPoolEnabledMfas = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig
 cupLambdaConfig :: Lens' CognitoUserPool (Maybe CognitoUserPoolLambdaConfig)
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html
+
+module Stratosphere.Resources.CognitoUserPoolDomain where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolDomainCustomDomainConfigType
+
+-- | Full data type definition for CognitoUserPoolDomain. See
+-- 'cognitoUserPoolDomain' for a more convenient constructor.
+data CognitoUserPoolDomain =
+  CognitoUserPoolDomain
+  { _cognitoUserPoolDomainCustomDomainConfig :: Maybe CognitoUserPoolDomainCustomDomainConfigType
+  , _cognitoUserPoolDomainDomain :: Val Text
+  , _cognitoUserPoolDomainUserPoolId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CognitoUserPoolDomain where
+  toResourceProperties CognitoUserPoolDomain{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cognito::UserPoolDomain"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("CustomDomainConfig",) . toJSON) _cognitoUserPoolDomainCustomDomainConfig
+        , (Just . ("Domain",) . toJSON) _cognitoUserPoolDomainDomain
+        , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolDomainUserPoolId
+        ]
+    }
+
+-- | Constructor for 'CognitoUserPoolDomain' containing required fields as
+-- arguments.
+cognitoUserPoolDomain
+  :: Val Text -- ^ 'cupdDomain'
+  -> Val Text -- ^ 'cupdUserPoolId'
+  -> CognitoUserPoolDomain
+cognitoUserPoolDomain domainarg userPoolIdarg =
+  CognitoUserPoolDomain
+  { _cognitoUserPoolDomainCustomDomainConfig = Nothing
+  , _cognitoUserPoolDomainDomain = domainarg
+  , _cognitoUserPoolDomainUserPoolId = userPoolIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-customdomainconfig
+cupdCustomDomainConfig :: Lens' CognitoUserPoolDomain (Maybe CognitoUserPoolDomainCustomDomainConfigType)
+cupdCustomDomainConfig = lens _cognitoUserPoolDomainCustomDomainConfig (\s a -> s { _cognitoUserPoolDomainCustomDomainConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-domain
+cupdDomain :: Lens' CognitoUserPoolDomain (Val Text)
+cupdDomain = lens _cognitoUserPoolDomainDomain (\s a -> s { _cognitoUserPoolDomainDomain = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-userpoolid
+cupdUserPoolId :: Lens' CognitoUserPoolDomain (Val Text)
+cupdUserPoolId = lens _cognitoUserPoolDomainUserPoolId (\s a -> s { _cognitoUserPoolDomainUserPoolId = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs
@@ -0,0 +1,79 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html
+
+module Stratosphere.Resources.CognitoUserPoolIdentityProvider where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CognitoUserPoolIdentityProvider. See
+-- 'cognitoUserPoolIdentityProvider' for a more convenient constructor.
+data CognitoUserPoolIdentityProvider =
+  CognitoUserPoolIdentityProvider
+  { _cognitoUserPoolIdentityProviderAttributeMapping :: Maybe Object
+  , _cognitoUserPoolIdentityProviderIdpIdentifiers :: Maybe (ValList Text)
+  , _cognitoUserPoolIdentityProviderProviderDetails :: Maybe Object
+  , _cognitoUserPoolIdentityProviderProviderName :: Val Text
+  , _cognitoUserPoolIdentityProviderProviderType :: Val Text
+  , _cognitoUserPoolIdentityProviderUserPoolId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CognitoUserPoolIdentityProvider where
+  toResourceProperties CognitoUserPoolIdentityProvider{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cognito::UserPoolIdentityProvider"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AttributeMapping",) . toJSON) _cognitoUserPoolIdentityProviderAttributeMapping
+        , fmap (("IdpIdentifiers",) . toJSON) _cognitoUserPoolIdentityProviderIdpIdentifiers
+        , fmap (("ProviderDetails",) . toJSON) _cognitoUserPoolIdentityProviderProviderDetails
+        , (Just . ("ProviderName",) . toJSON) _cognitoUserPoolIdentityProviderProviderName
+        , (Just . ("ProviderType",) . toJSON) _cognitoUserPoolIdentityProviderProviderType
+        , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolIdentityProviderUserPoolId
+        ]
+    }
+
+-- | Constructor for 'CognitoUserPoolIdentityProvider' containing required
+-- fields as arguments.
+cognitoUserPoolIdentityProvider
+  :: Val Text -- ^ 'cupipProviderName'
+  -> Val Text -- ^ 'cupipProviderType'
+  -> Val Text -- ^ 'cupipUserPoolId'
+  -> CognitoUserPoolIdentityProvider
+cognitoUserPoolIdentityProvider providerNamearg providerTypearg userPoolIdarg =
+  CognitoUserPoolIdentityProvider
+  { _cognitoUserPoolIdentityProviderAttributeMapping = Nothing
+  , _cognitoUserPoolIdentityProviderIdpIdentifiers = Nothing
+  , _cognitoUserPoolIdentityProviderProviderDetails = Nothing
+  , _cognitoUserPoolIdentityProviderProviderName = providerNamearg
+  , _cognitoUserPoolIdentityProviderProviderType = providerTypearg
+  , _cognitoUserPoolIdentityProviderUserPoolId = userPoolIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-attributemapping
+cupipAttributeMapping :: Lens' CognitoUserPoolIdentityProvider (Maybe Object)
+cupipAttributeMapping = lens _cognitoUserPoolIdentityProviderAttributeMapping (\s a -> s { _cognitoUserPoolIdentityProviderAttributeMapping = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-idpidentifiers
+cupipIdpIdentifiers :: Lens' CognitoUserPoolIdentityProvider (Maybe (ValList Text))
+cupipIdpIdentifiers = lens _cognitoUserPoolIdentityProviderIdpIdentifiers (\s a -> s { _cognitoUserPoolIdentityProviderIdpIdentifiers = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails
+cupipProviderDetails :: Lens' CognitoUserPoolIdentityProvider (Maybe Object)
+cupipProviderDetails = lens _cognitoUserPoolIdentityProviderProviderDetails (\s a -> s { _cognitoUserPoolIdentityProviderProviderDetails = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providername
+cupipProviderName :: Lens' CognitoUserPoolIdentityProvider (Val Text)
+cupipProviderName = lens _cognitoUserPoolIdentityProviderProviderName (\s a -> s { _cognitoUserPoolIdentityProviderProviderName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providertype
+cupipProviderType :: Lens' CognitoUserPoolIdentityProvider (Val Text)
+cupipProviderType = lens _cognitoUserPoolIdentityProviderProviderType (\s a -> s { _cognitoUserPoolIdentityProviderProviderType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-userpoolid
+cupipUserPoolId :: Lens' CognitoUserPoolIdentityProvider (Val Text)
+cupipUserPoolId = lens _cognitoUserPoolIdentityProviderUserPoolId (\s a -> s { _cognitoUserPoolIdentityProviderUserPoolId = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html
+
+module Stratosphere.Resources.CognitoUserPoolResourceServer where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolResourceServerResourceServerScopeType
+
+-- | Full data type definition for CognitoUserPoolResourceServer. See
+-- 'cognitoUserPoolResourceServer' for a more convenient constructor.
+data CognitoUserPoolResourceServer =
+  CognitoUserPoolResourceServer
+  { _cognitoUserPoolResourceServerIdentifier :: Val Text
+  , _cognitoUserPoolResourceServerName :: Val Text
+  , _cognitoUserPoolResourceServerScopes :: Maybe [CognitoUserPoolResourceServerResourceServerScopeType]
+  , _cognitoUserPoolResourceServerUserPoolId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CognitoUserPoolResourceServer where
+  toResourceProperties CognitoUserPoolResourceServer{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cognito::UserPoolResourceServer"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Identifier",) . toJSON) _cognitoUserPoolResourceServerIdentifier
+        , (Just . ("Name",) . toJSON) _cognitoUserPoolResourceServerName
+        , fmap (("Scopes",) . toJSON) _cognitoUserPoolResourceServerScopes
+        , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolResourceServerUserPoolId
+        ]
+    }
+
+-- | Constructor for 'CognitoUserPoolResourceServer' containing required
+-- fields as arguments.
+cognitoUserPoolResourceServer
+  :: Val Text -- ^ 'cuprsIdentifier'
+  -> Val Text -- ^ 'cuprsName'
+  -> Val Text -- ^ 'cuprsUserPoolId'
+  -> CognitoUserPoolResourceServer
+cognitoUserPoolResourceServer identifierarg namearg userPoolIdarg =
+  CognitoUserPoolResourceServer
+  { _cognitoUserPoolResourceServerIdentifier = identifierarg
+  , _cognitoUserPoolResourceServerName = namearg
+  , _cognitoUserPoolResourceServerScopes = Nothing
+  , _cognitoUserPoolResourceServerUserPoolId = userPoolIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-identifier
+cuprsIdentifier :: Lens' CognitoUserPoolResourceServer (Val Text)
+cuprsIdentifier = lens _cognitoUserPoolResourceServerIdentifier (\s a -> s { _cognitoUserPoolResourceServerIdentifier = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-name
+cuprsName :: Lens' CognitoUserPoolResourceServer (Val Text)
+cuprsName = lens _cognitoUserPoolResourceServerName (\s a -> s { _cognitoUserPoolResourceServerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-scopes
+cuprsScopes :: Lens' CognitoUserPoolResourceServer (Maybe [CognitoUserPoolResourceServerResourceServerScopeType])
+cuprsScopes = lens _cognitoUserPoolResourceServerScopes (\s a -> s { _cognitoUserPoolResourceServerScopes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-userpoolid
+cuprsUserPoolId :: Lens' CognitoUserPoolResourceServer (Val Text)
+cuprsUserPoolId = lens _cognitoUserPoolResourceServerUserPoolId (\s a -> s { _cognitoUserPoolResourceServerUserPoolId = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs
@@ -0,0 +1,74 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html
+
+module Stratosphere.Resources.CognitoUserPoolRiskConfigurationAttachment where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
+
+-- | Full data type definition for CognitoUserPoolRiskConfigurationAttachment.
+-- See 'cognitoUserPoolRiskConfigurationAttachment' for a more convenient
+-- constructor.
+data CognitoUserPoolRiskConfigurationAttachment =
+  CognitoUserPoolRiskConfigurationAttachment
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfiguration :: Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+  , _cognitoUserPoolRiskConfigurationAttachmentClientId :: Val Text
+  , _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfiguration :: Maybe CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+  , _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfiguration :: Maybe CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
+  , _cognitoUserPoolRiskConfigurationAttachmentUserPoolId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CognitoUserPoolRiskConfigurationAttachment where
+  toResourceProperties CognitoUserPoolRiskConfigurationAttachment{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cognito::UserPoolRiskConfigurationAttachment"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AccountTakeoverRiskConfiguration",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfiguration
+        , (Just . ("ClientId",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentClientId
+        , fmap (("CompromisedCredentialsRiskConfiguration",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfiguration
+        , fmap (("RiskExceptionConfiguration",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfiguration
+        , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentUserPoolId
+        ]
+    }
+
+-- | Constructor for 'CognitoUserPoolRiskConfigurationAttachment' containing
+-- required fields as arguments.
+cognitoUserPoolRiskConfigurationAttachment
+  :: Val Text -- ^ 'cuprcaClientId'
+  -> Val Text -- ^ 'cuprcaUserPoolId'
+  -> CognitoUserPoolRiskConfigurationAttachment
+cognitoUserPoolRiskConfigurationAttachment clientIdarg userPoolIdarg =
+  CognitoUserPoolRiskConfigurationAttachment
+  { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfiguration = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentClientId = clientIdarg
+  , _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfiguration = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfiguration = Nothing
+  , _cognitoUserPoolRiskConfigurationAttachmentUserPoolId = userPoolIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfiguration
+cuprcaAccountTakeoverRiskConfiguration :: Lens' CognitoUserPoolRiskConfigurationAttachment (Maybe CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType)
+cuprcaAccountTakeoverRiskConfiguration = lens _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfiguration (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-clientid
+cuprcaClientId :: Lens' CognitoUserPoolRiskConfigurationAttachment (Val Text)
+cuprcaClientId = lens _cognitoUserPoolRiskConfigurationAttachmentClientId (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentClientId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfiguration
+cuprcaCompromisedCredentialsRiskConfiguration :: Lens' CognitoUserPoolRiskConfigurationAttachment (Maybe CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType)
+cuprcaCompromisedCredentialsRiskConfiguration = lens _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfiguration (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfiguration
+cuprcaRiskExceptionConfiguration :: Lens' CognitoUserPoolRiskConfigurationAttachment (Maybe CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType)
+cuprcaRiskExceptionConfiguration = lens _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfiguration (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-userpoolid
+cuprcaUserPoolId :: Lens' CognitoUserPoolRiskConfigurationAttachment (Val Text)
+cuprcaUserPoolId = lens _cognitoUserPoolRiskConfigurationAttachmentUserPoolId (\s a -> s { _cognitoUserPoolRiskConfigurationAttachmentUserPoolId = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html
+
+module Stratosphere.Resources.CognitoUserPoolUICustomizationAttachment where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CognitoUserPoolUICustomizationAttachment.
+-- See 'cognitoUserPoolUICustomizationAttachment' for a more convenient
+-- constructor.
+data CognitoUserPoolUICustomizationAttachment =
+  CognitoUserPoolUICustomizationAttachment
+  { _cognitoUserPoolUICustomizationAttachmentCSS :: Maybe (Val Text)
+  , _cognitoUserPoolUICustomizationAttachmentClientId :: Val Text
+  , _cognitoUserPoolUICustomizationAttachmentUserPoolId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CognitoUserPoolUICustomizationAttachment where
+  toResourceProperties CognitoUserPoolUICustomizationAttachment{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cognito::UserPoolUICustomizationAttachment"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("CSS",) . toJSON) _cognitoUserPoolUICustomizationAttachmentCSS
+        , (Just . ("ClientId",) . toJSON) _cognitoUserPoolUICustomizationAttachmentClientId
+        , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolUICustomizationAttachmentUserPoolId
+        ]
+    }
+
+-- | Constructor for 'CognitoUserPoolUICustomizationAttachment' containing
+-- required fields as arguments.
+cognitoUserPoolUICustomizationAttachment
+  :: Val Text -- ^ 'cupuicaClientId'
+  -> Val Text -- ^ 'cupuicaUserPoolId'
+  -> CognitoUserPoolUICustomizationAttachment
+cognitoUserPoolUICustomizationAttachment clientIdarg userPoolIdarg =
+  CognitoUserPoolUICustomizationAttachment
+  { _cognitoUserPoolUICustomizationAttachmentCSS = Nothing
+  , _cognitoUserPoolUICustomizationAttachmentClientId = clientIdarg
+  , _cognitoUserPoolUICustomizationAttachmentUserPoolId = userPoolIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-css
+cupuicaCSS :: Lens' CognitoUserPoolUICustomizationAttachment (Maybe (Val Text))
+cupuicaCSS = lens _cognitoUserPoolUICustomizationAttachmentCSS (\s a -> s { _cognitoUserPoolUICustomizationAttachmentCSS = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-clientid
+cupuicaClientId :: Lens' CognitoUserPoolUICustomizationAttachment (Val Text)
+cupuicaClientId = lens _cognitoUserPoolUICustomizationAttachmentClientId (\s a -> s { _cognitoUserPoolUICustomizationAttachmentClientId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-userpoolid
+cupuicaUserPoolId :: Lens' CognitoUserPoolUICustomizationAttachment (Val Text)
+cupuicaUserPoolId = lens _cognitoUserPoolUICustomizationAttachmentUserPoolId (\s a -> s { _cognitoUserPoolUICustomizationAttachmentUserPoolId = a })
diff --git a/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs b/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs
--- a/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs
@@ -8,15 +8,19 @@
 module Stratosphere.Resources.ConfigRemediationConfiguration where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ConfigRemediationConfigurationExecutionControls
 
 -- | Full data type definition for ConfigRemediationConfiguration. See
 -- 'configRemediationConfiguration' for a more convenient constructor.
 data ConfigRemediationConfiguration =
   ConfigRemediationConfiguration
-  { _configRemediationConfigurationConfigRuleName :: Val Text
+  { _configRemediationConfigurationAutomatic :: Maybe (Val Bool)
+  , _configRemediationConfigurationConfigRuleName :: Val Text
+  , _configRemediationConfigurationExecutionControls :: Maybe ConfigRemediationConfigurationExecutionControls
+  , _configRemediationConfigurationMaximumAutomaticAttempts :: Maybe (Val Integer)
   , _configRemediationConfigurationParameters :: Maybe Object
   , _configRemediationConfigurationResourceType :: Maybe (Val Text)
+  , _configRemediationConfigurationRetryAttemptSeconds :: Maybe (Val Integer)
   , _configRemediationConfigurationTargetId :: Val Text
   , _configRemediationConfigurationTargetType :: Val Text
   , _configRemediationConfigurationTargetVersion :: Maybe (Val Text)
@@ -28,9 +32,13 @@
     { resourcePropertiesType = "AWS::Config::RemediationConfiguration"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("ConfigRuleName",) . toJSON) _configRemediationConfigurationConfigRuleName
+        [ fmap (("Automatic",) . toJSON) _configRemediationConfigurationAutomatic
+        , (Just . ("ConfigRuleName",) . toJSON) _configRemediationConfigurationConfigRuleName
+        , fmap (("ExecutionControls",) . toJSON) _configRemediationConfigurationExecutionControls
+        , fmap (("MaximumAutomaticAttempts",) . toJSON) _configRemediationConfigurationMaximumAutomaticAttempts
         , fmap (("Parameters",) . toJSON) _configRemediationConfigurationParameters
         , fmap (("ResourceType",) . toJSON) _configRemediationConfigurationResourceType
+        , fmap (("RetryAttemptSeconds",) . toJSON) _configRemediationConfigurationRetryAttemptSeconds
         , (Just . ("TargetId",) . toJSON) _configRemediationConfigurationTargetId
         , (Just . ("TargetType",) . toJSON) _configRemediationConfigurationTargetType
         , fmap (("TargetVersion",) . toJSON) _configRemediationConfigurationTargetVersion
@@ -46,18 +54,34 @@
   -> ConfigRemediationConfiguration
 configRemediationConfiguration configRuleNamearg targetIdarg targetTypearg =
   ConfigRemediationConfiguration
-  { _configRemediationConfigurationConfigRuleName = configRuleNamearg
+  { _configRemediationConfigurationAutomatic = Nothing
+  , _configRemediationConfigurationConfigRuleName = configRuleNamearg
+  , _configRemediationConfigurationExecutionControls = Nothing
+  , _configRemediationConfigurationMaximumAutomaticAttempts = Nothing
   , _configRemediationConfigurationParameters = Nothing
   , _configRemediationConfigurationResourceType = Nothing
+  , _configRemediationConfigurationRetryAttemptSeconds = Nothing
   , _configRemediationConfigurationTargetId = targetIdarg
   , _configRemediationConfigurationTargetType = targetTypearg
   , _configRemediationConfigurationTargetVersion = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-automatic
+crcAutomatic :: Lens' ConfigRemediationConfiguration (Maybe (Val Bool))
+crcAutomatic = lens _configRemediationConfigurationAutomatic (\s a -> s { _configRemediationConfigurationAutomatic = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-configrulename
 crcConfigRuleName :: Lens' ConfigRemediationConfiguration (Val Text)
 crcConfigRuleName = lens _configRemediationConfigurationConfigRuleName (\s a -> s { _configRemediationConfigurationConfigRuleName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-executioncontrols
+crcExecutionControls :: Lens' ConfigRemediationConfiguration (Maybe ConfigRemediationConfigurationExecutionControls)
+crcExecutionControls = lens _configRemediationConfigurationExecutionControls (\s a -> s { _configRemediationConfigurationExecutionControls = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-maximumautomaticattempts
+crcMaximumAutomaticAttempts :: Lens' ConfigRemediationConfiguration (Maybe (Val Integer))
+crcMaximumAutomaticAttempts = lens _configRemediationConfigurationMaximumAutomaticAttempts (\s a -> s { _configRemediationConfigurationMaximumAutomaticAttempts = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-parameters
 crcParameters :: Lens' ConfigRemediationConfiguration (Maybe Object)
 crcParameters = lens _configRemediationConfigurationParameters (\s a -> s { _configRemediationConfigurationParameters = a })
@@ -65,6 +89,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-resourcetype
 crcResourceType :: Lens' ConfigRemediationConfiguration (Maybe (Val Text))
 crcResourceType = lens _configRemediationConfigurationResourceType (\s a -> s { _configRemediationConfigurationResourceType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-retryattemptseconds
+crcRetryAttemptSeconds :: Lens' ConfigRemediationConfiguration (Maybe (Val Integer))
+crcRetryAttemptSeconds = lens _configRemediationConfigurationRetryAttemptSeconds (\s a -> s { _configRemediationConfigurationRetryAttemptSeconds = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-targetid
 crcTargetId :: Lens' ConfigRemediationConfiguration (Val Text)
diff --git a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
@@ -19,6 +19,7 @@
   , _docDBDBClusterDBClusterIdentifier :: Maybe (Val Text)
   , _docDBDBClusterDBClusterParameterGroupName :: Maybe (Val Text)
   , _docDBDBClusterDBSubnetGroupName :: Maybe (Val Text)
+  , _docDBDBClusterEnableCloudwatchLogsExports :: Maybe (ValList Text)
   , _docDBDBClusterEngineVersion :: Maybe (Val Text)
   , _docDBDBClusterKmsKeyId :: Maybe (Val Text)
   , _docDBDBClusterMasterUserPassword :: Maybe (Val Text)
@@ -43,6 +44,7 @@
         , fmap (("DBClusterIdentifier",) . toJSON) _docDBDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _docDBDBClusterDBClusterParameterGroupName
         , fmap (("DBSubnetGroupName",) . toJSON) _docDBDBClusterDBSubnetGroupName
+        , fmap (("EnableCloudwatchLogsExports",) . toJSON) _docDBDBClusterEnableCloudwatchLogsExports
         , fmap (("EngineVersion",) . toJSON) _docDBDBClusterEngineVersion
         , fmap (("KmsKeyId",) . toJSON) _docDBDBClusterKmsKeyId
         , fmap (("MasterUserPassword",) . toJSON) _docDBDBClusterMasterUserPassword
@@ -67,6 +69,7 @@
   , _docDBDBClusterDBClusterIdentifier = Nothing
   , _docDBDBClusterDBClusterParameterGroupName = Nothing
   , _docDBDBClusterDBSubnetGroupName = Nothing
+  , _docDBDBClusterEnableCloudwatchLogsExports = Nothing
   , _docDBDBClusterEngineVersion = Nothing
   , _docDBDBClusterKmsKeyId = Nothing
   , _docDBDBClusterMasterUserPassword = Nothing
@@ -99,6 +102,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname
 ddbdbcDBSubnetGroupName :: Lens' DocDBDBCluster (Maybe (Val Text))
 ddbdbcDBSubnetGroupName = lens _docDBDBClusterDBSubnetGroupName (\s a -> s { _docDBDBClusterDBSubnetGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-enablecloudwatchlogsexports
+ddbdbcEnableCloudwatchLogsExports :: Lens' DocDBDBCluster (Maybe (ValList Text))
+ddbdbcEnableCloudwatchLogsExports = lens _docDBDBClusterEnableCloudwatchLogsExports (\s a -> s { _docDBDBClusterEnableCloudwatchLogsExports = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion
 ddbdbcEngineVersion :: Lens' DocDBDBCluster (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html
+
+module Stratosphere.Resources.EC2TrafficMirrorFilter where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for EC2TrafficMirrorFilter. See
+-- 'ec2TrafficMirrorFilter' for a more convenient constructor.
+data EC2TrafficMirrorFilter =
+  EC2TrafficMirrorFilter
+  { _eC2TrafficMirrorFilterDescription :: Maybe (Val Text)
+  , _eC2TrafficMirrorFilterNetworkServices :: Maybe (ValList Text)
+  , _eC2TrafficMirrorFilterTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EC2TrafficMirrorFilter where
+  toResourceProperties EC2TrafficMirrorFilter{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EC2::TrafficMirrorFilter"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _eC2TrafficMirrorFilterDescription
+        , fmap (("NetworkServices",) . toJSON) _eC2TrafficMirrorFilterNetworkServices
+        , fmap (("Tags",) . toJSON) _eC2TrafficMirrorFilterTags
+        ]
+    }
+
+-- | Constructor for 'EC2TrafficMirrorFilter' containing required fields as
+-- arguments.
+ec2TrafficMirrorFilter
+  :: EC2TrafficMirrorFilter
+ec2TrafficMirrorFilter  =
+  EC2TrafficMirrorFilter
+  { _eC2TrafficMirrorFilterDescription = Nothing
+  , _eC2TrafficMirrorFilterNetworkServices = Nothing
+  , _eC2TrafficMirrorFilterTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-description
+ectmfDescription :: Lens' EC2TrafficMirrorFilter (Maybe (Val Text))
+ectmfDescription = lens _eC2TrafficMirrorFilterDescription (\s a -> s { _eC2TrafficMirrorFilterDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-networkservices
+ectmfNetworkServices :: Lens' EC2TrafficMirrorFilter (Maybe (ValList Text))
+ectmfNetworkServices = lens _eC2TrafficMirrorFilterNetworkServices (\s a -> s { _eC2TrafficMirrorFilterNetworkServices = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-tags
+ectmfTags :: Lens' EC2TrafficMirrorFilter (Maybe [Tag])
+ectmfTags = lens _eC2TrafficMirrorFilterTags (\s a -> s { _eC2TrafficMirrorFilterTags = a })
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs
@@ -0,0 +1,110 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html
+
+module Stratosphere.Resources.EC2TrafficMirrorFilterRule where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+
+-- | Full data type definition for EC2TrafficMirrorFilterRule. See
+-- 'ec2TrafficMirrorFilterRule' for a more convenient constructor.
+data EC2TrafficMirrorFilterRule =
+  EC2TrafficMirrorFilterRule
+  { _eC2TrafficMirrorFilterRuleDescription :: Maybe (Val Text)
+  , _eC2TrafficMirrorFilterRuleDestinationCidrBlock :: Val Text
+  , _eC2TrafficMirrorFilterRuleDestinationPortRange :: Maybe EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+  , _eC2TrafficMirrorFilterRuleProtocol :: Maybe (Val Integer)
+  , _eC2TrafficMirrorFilterRuleRuleAction :: Val Text
+  , _eC2TrafficMirrorFilterRuleRuleNumber :: Val Integer
+  , _eC2TrafficMirrorFilterRuleSourceCidrBlock :: Val Text
+  , _eC2TrafficMirrorFilterRuleSourcePortRange :: Maybe EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
+  , _eC2TrafficMirrorFilterRuleTrafficDirection :: Val Text
+  , _eC2TrafficMirrorFilterRuleTrafficMirrorFilterId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EC2TrafficMirrorFilterRule where
+  toResourceProperties EC2TrafficMirrorFilterRule{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EC2::TrafficMirrorFilterRule"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _eC2TrafficMirrorFilterRuleDescription
+        , (Just . ("DestinationCidrBlock",) . toJSON) _eC2TrafficMirrorFilterRuleDestinationCidrBlock
+        , fmap (("DestinationPortRange",) . toJSON) _eC2TrafficMirrorFilterRuleDestinationPortRange
+        , fmap (("Protocol",) . toJSON) _eC2TrafficMirrorFilterRuleProtocol
+        , (Just . ("RuleAction",) . toJSON) _eC2TrafficMirrorFilterRuleRuleAction
+        , (Just . ("RuleNumber",) . toJSON) _eC2TrafficMirrorFilterRuleRuleNumber
+        , (Just . ("SourceCidrBlock",) . toJSON) _eC2TrafficMirrorFilterRuleSourceCidrBlock
+        , fmap (("SourcePortRange",) . toJSON) _eC2TrafficMirrorFilterRuleSourcePortRange
+        , (Just . ("TrafficDirection",) . toJSON) _eC2TrafficMirrorFilterRuleTrafficDirection
+        , (Just . ("TrafficMirrorFilterId",) . toJSON) _eC2TrafficMirrorFilterRuleTrafficMirrorFilterId
+        ]
+    }
+
+-- | Constructor for 'EC2TrafficMirrorFilterRule' containing required fields
+-- as arguments.
+ec2TrafficMirrorFilterRule
+  :: Val Text -- ^ 'ectmfrDestinationCidrBlock'
+  -> Val Text -- ^ 'ectmfrRuleAction'
+  -> Val Integer -- ^ 'ectmfrRuleNumber'
+  -> Val Text -- ^ 'ectmfrSourceCidrBlock'
+  -> Val Text -- ^ 'ectmfrTrafficDirection'
+  -> Val Text -- ^ 'ectmfrTrafficMirrorFilterId'
+  -> EC2TrafficMirrorFilterRule
+ec2TrafficMirrorFilterRule destinationCidrBlockarg ruleActionarg ruleNumberarg sourceCidrBlockarg trafficDirectionarg trafficMirrorFilterIdarg =
+  EC2TrafficMirrorFilterRule
+  { _eC2TrafficMirrorFilterRuleDescription = Nothing
+  , _eC2TrafficMirrorFilterRuleDestinationCidrBlock = destinationCidrBlockarg
+  , _eC2TrafficMirrorFilterRuleDestinationPortRange = Nothing
+  , _eC2TrafficMirrorFilterRuleProtocol = Nothing
+  , _eC2TrafficMirrorFilterRuleRuleAction = ruleActionarg
+  , _eC2TrafficMirrorFilterRuleRuleNumber = ruleNumberarg
+  , _eC2TrafficMirrorFilterRuleSourceCidrBlock = sourceCidrBlockarg
+  , _eC2TrafficMirrorFilterRuleSourcePortRange = Nothing
+  , _eC2TrafficMirrorFilterRuleTrafficDirection = trafficDirectionarg
+  , _eC2TrafficMirrorFilterRuleTrafficMirrorFilterId = trafficMirrorFilterIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-description
+ectmfrDescription :: Lens' EC2TrafficMirrorFilterRule (Maybe (Val Text))
+ectmfrDescription = lens _eC2TrafficMirrorFilterRuleDescription (\s a -> s { _eC2TrafficMirrorFilterRuleDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationcidrblock
+ectmfrDestinationCidrBlock :: Lens' EC2TrafficMirrorFilterRule (Val Text)
+ectmfrDestinationCidrBlock = lens _eC2TrafficMirrorFilterRuleDestinationCidrBlock (\s a -> s { _eC2TrafficMirrorFilterRuleDestinationCidrBlock = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationportrange
+ectmfrDestinationPortRange :: Lens' EC2TrafficMirrorFilterRule (Maybe EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest)
+ectmfrDestinationPortRange = lens _eC2TrafficMirrorFilterRuleDestinationPortRange (\s a -> s { _eC2TrafficMirrorFilterRuleDestinationPortRange = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-protocol
+ectmfrProtocol :: Lens' EC2TrafficMirrorFilterRule (Maybe (Val Integer))
+ectmfrProtocol = lens _eC2TrafficMirrorFilterRuleProtocol (\s a -> s { _eC2TrafficMirrorFilterRuleProtocol = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-ruleaction
+ectmfrRuleAction :: Lens' EC2TrafficMirrorFilterRule (Val Text)
+ectmfrRuleAction = lens _eC2TrafficMirrorFilterRuleRuleAction (\s a -> s { _eC2TrafficMirrorFilterRuleRuleAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-rulenumber
+ectmfrRuleNumber :: Lens' EC2TrafficMirrorFilterRule (Val Integer)
+ectmfrRuleNumber = lens _eC2TrafficMirrorFilterRuleRuleNumber (\s a -> s { _eC2TrafficMirrorFilterRuleRuleNumber = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourcecidrblock
+ectmfrSourceCidrBlock :: Lens' EC2TrafficMirrorFilterRule (Val Text)
+ectmfrSourceCidrBlock = lens _eC2TrafficMirrorFilterRuleSourceCidrBlock (\s a -> s { _eC2TrafficMirrorFilterRuleSourceCidrBlock = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourceportrange
+ectmfrSourcePortRange :: Lens' EC2TrafficMirrorFilterRule (Maybe EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest)
+ectmfrSourcePortRange = lens _eC2TrafficMirrorFilterRuleSourcePortRange (\s a -> s { _eC2TrafficMirrorFilterRuleSourcePortRange = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficdirection
+ectmfrTrafficDirection :: Lens' EC2TrafficMirrorFilterRule (Val Text)
+ectmfrTrafficDirection = lens _eC2TrafficMirrorFilterRuleTrafficDirection (\s a -> s { _eC2TrafficMirrorFilterRuleTrafficDirection = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorfilterid
+ectmfrTrafficMirrorFilterId :: Lens' EC2TrafficMirrorFilterRule (Val Text)
+ectmfrTrafficMirrorFilterId = lens _eC2TrafficMirrorFilterRuleTrafficMirrorFilterId (\s a -> s { _eC2TrafficMirrorFilterRuleTrafficMirrorFilterId = a })
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs
@@ -0,0 +1,94 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html
+
+module Stratosphere.Resources.EC2TrafficMirrorSession where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for EC2TrafficMirrorSession. See
+-- 'ec2TrafficMirrorSession' for a more convenient constructor.
+data EC2TrafficMirrorSession =
+  EC2TrafficMirrorSession
+  { _eC2TrafficMirrorSessionDescription :: Maybe (Val Text)
+  , _eC2TrafficMirrorSessionNetworkInterfaceId :: Val Text
+  , _eC2TrafficMirrorSessionPacketLength :: Maybe (Val Integer)
+  , _eC2TrafficMirrorSessionSessionNumber :: Val Integer
+  , _eC2TrafficMirrorSessionTags :: Maybe [Tag]
+  , _eC2TrafficMirrorSessionTrafficMirrorFilterId :: Val Text
+  , _eC2TrafficMirrorSessionTrafficMirrorTargetId :: Val Text
+  , _eC2TrafficMirrorSessionVirtualNetworkId :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EC2TrafficMirrorSession where
+  toResourceProperties EC2TrafficMirrorSession{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EC2::TrafficMirrorSession"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _eC2TrafficMirrorSessionDescription
+        , (Just . ("NetworkInterfaceId",) . toJSON) _eC2TrafficMirrorSessionNetworkInterfaceId
+        , fmap (("PacketLength",) . toJSON) _eC2TrafficMirrorSessionPacketLength
+        , (Just . ("SessionNumber",) . toJSON) _eC2TrafficMirrorSessionSessionNumber
+        , fmap (("Tags",) . toJSON) _eC2TrafficMirrorSessionTags
+        , (Just . ("TrafficMirrorFilterId",) . toJSON) _eC2TrafficMirrorSessionTrafficMirrorFilterId
+        , (Just . ("TrafficMirrorTargetId",) . toJSON) _eC2TrafficMirrorSessionTrafficMirrorTargetId
+        , fmap (("VirtualNetworkId",) . toJSON) _eC2TrafficMirrorSessionVirtualNetworkId
+        ]
+    }
+
+-- | Constructor for 'EC2TrafficMirrorSession' containing required fields as
+-- arguments.
+ec2TrafficMirrorSession
+  :: Val Text -- ^ 'ectmsNetworkInterfaceId'
+  -> Val Integer -- ^ 'ectmsSessionNumber'
+  -> Val Text -- ^ 'ectmsTrafficMirrorFilterId'
+  -> Val Text -- ^ 'ectmsTrafficMirrorTargetId'
+  -> EC2TrafficMirrorSession
+ec2TrafficMirrorSession networkInterfaceIdarg sessionNumberarg trafficMirrorFilterIdarg trafficMirrorTargetIdarg =
+  EC2TrafficMirrorSession
+  { _eC2TrafficMirrorSessionDescription = Nothing
+  , _eC2TrafficMirrorSessionNetworkInterfaceId = networkInterfaceIdarg
+  , _eC2TrafficMirrorSessionPacketLength = Nothing
+  , _eC2TrafficMirrorSessionSessionNumber = sessionNumberarg
+  , _eC2TrafficMirrorSessionTags = Nothing
+  , _eC2TrafficMirrorSessionTrafficMirrorFilterId = trafficMirrorFilterIdarg
+  , _eC2TrafficMirrorSessionTrafficMirrorTargetId = trafficMirrorTargetIdarg
+  , _eC2TrafficMirrorSessionVirtualNetworkId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-description
+ectmsDescription :: Lens' EC2TrafficMirrorSession (Maybe (Val Text))
+ectmsDescription = lens _eC2TrafficMirrorSessionDescription (\s a -> s { _eC2TrafficMirrorSessionDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-networkinterfaceid
+ectmsNetworkInterfaceId :: Lens' EC2TrafficMirrorSession (Val Text)
+ectmsNetworkInterfaceId = lens _eC2TrafficMirrorSessionNetworkInterfaceId (\s a -> s { _eC2TrafficMirrorSessionNetworkInterfaceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-packetlength
+ectmsPacketLength :: Lens' EC2TrafficMirrorSession (Maybe (Val Integer))
+ectmsPacketLength = lens _eC2TrafficMirrorSessionPacketLength (\s a -> s { _eC2TrafficMirrorSessionPacketLength = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-sessionnumber
+ectmsSessionNumber :: Lens' EC2TrafficMirrorSession (Val Integer)
+ectmsSessionNumber = lens _eC2TrafficMirrorSessionSessionNumber (\s a -> s { _eC2TrafficMirrorSessionSessionNumber = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-tags
+ectmsTags :: Lens' EC2TrafficMirrorSession (Maybe [Tag])
+ectmsTags = lens _eC2TrafficMirrorSessionTags (\s a -> s { _eC2TrafficMirrorSessionTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrorfilterid
+ectmsTrafficMirrorFilterId :: Lens' EC2TrafficMirrorSession (Val Text)
+ectmsTrafficMirrorFilterId = lens _eC2TrafficMirrorSessionTrafficMirrorFilterId (\s a -> s { _eC2TrafficMirrorSessionTrafficMirrorFilterId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrortargetid
+ectmsTrafficMirrorTargetId :: Lens' EC2TrafficMirrorSession (Val Text)
+ectmsTrafficMirrorTargetId = lens _eC2TrafficMirrorSessionTrafficMirrorTargetId (\s a -> s { _eC2TrafficMirrorSessionTrafficMirrorTargetId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-virtualnetworkid
+ectmsVirtualNetworkId :: Lens' EC2TrafficMirrorSession (Maybe (Val Integer))
+ectmsVirtualNetworkId = lens _eC2TrafficMirrorSessionVirtualNetworkId (\s a -> s { _eC2TrafficMirrorSessionVirtualNetworkId = a })
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html
+
+module Stratosphere.Resources.EC2TrafficMirrorTarget where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for EC2TrafficMirrorTarget. See
+-- 'ec2TrafficMirrorTarget' for a more convenient constructor.
+data EC2TrafficMirrorTarget =
+  EC2TrafficMirrorTarget
+  { _eC2TrafficMirrorTargetDescription :: Maybe (Val Text)
+  , _eC2TrafficMirrorTargetNetworkInterfaceId :: Maybe (Val Text)
+  , _eC2TrafficMirrorTargetNetworkLoadBalancerArn :: Maybe (Val Text)
+  , _eC2TrafficMirrorTargetTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EC2TrafficMirrorTarget where
+  toResourceProperties EC2TrafficMirrorTarget{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EC2::TrafficMirrorTarget"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _eC2TrafficMirrorTargetDescription
+        , fmap (("NetworkInterfaceId",) . toJSON) _eC2TrafficMirrorTargetNetworkInterfaceId
+        , fmap (("NetworkLoadBalancerArn",) . toJSON) _eC2TrafficMirrorTargetNetworkLoadBalancerArn
+        , fmap (("Tags",) . toJSON) _eC2TrafficMirrorTargetTags
+        ]
+    }
+
+-- | Constructor for 'EC2TrafficMirrorTarget' containing required fields as
+-- arguments.
+ec2TrafficMirrorTarget
+  :: EC2TrafficMirrorTarget
+ec2TrafficMirrorTarget  =
+  EC2TrafficMirrorTarget
+  { _eC2TrafficMirrorTargetDescription = Nothing
+  , _eC2TrafficMirrorTargetNetworkInterfaceId = Nothing
+  , _eC2TrafficMirrorTargetNetworkLoadBalancerArn = Nothing
+  , _eC2TrafficMirrorTargetTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-description
+ectmtDescription :: Lens' EC2TrafficMirrorTarget (Maybe (Val Text))
+ectmtDescription = lens _eC2TrafficMirrorTargetDescription (\s a -> s { _eC2TrafficMirrorTargetDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkinterfaceid
+ectmtNetworkInterfaceId :: Lens' EC2TrafficMirrorTarget (Maybe (Val Text))
+ectmtNetworkInterfaceId = lens _eC2TrafficMirrorTargetNetworkInterfaceId (\s a -> s { _eC2TrafficMirrorTargetNetworkInterfaceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkloadbalancerarn
+ectmtNetworkLoadBalancerArn :: Lens' EC2TrafficMirrorTarget (Maybe (Val Text))
+ectmtNetworkLoadBalancerArn = lens _eC2TrafficMirrorTargetNetworkLoadBalancerArn (\s a -> s { _eC2TrafficMirrorTargetNetworkLoadBalancerArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-tags
+ectmtTags :: Lens' EC2TrafficMirrorTarget (Maybe [Tag])
+ectmtTags = lens _eC2TrafficMirrorTargetTags (\s a -> s { _eC2TrafficMirrorTargetTags = a })
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html
+
+module Stratosphere.Resources.EC2VPCEndpointService where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EC2VPCEndpointService. See
+-- 'ec2VPCEndpointService' for a more convenient constructor.
+data EC2VPCEndpointService =
+  EC2VPCEndpointService
+  { _eC2VPCEndpointServiceAcceptanceRequired :: Maybe (Val Bool)
+  , _eC2VPCEndpointServiceNetworkLoadBalancerArns :: ValList Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EC2VPCEndpointService where
+  toResourceProperties EC2VPCEndpointService{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EC2::VPCEndpointService"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AcceptanceRequired",) . toJSON) _eC2VPCEndpointServiceAcceptanceRequired
+        , (Just . ("NetworkLoadBalancerArns",) . toJSON) _eC2VPCEndpointServiceNetworkLoadBalancerArns
+        ]
+    }
+
+-- | Constructor for 'EC2VPCEndpointService' containing required fields as
+-- arguments.
+ec2VPCEndpointService
+  :: ValList Text -- ^ 'ecvpcesNetworkLoadBalancerArns'
+  -> EC2VPCEndpointService
+ec2VPCEndpointService networkLoadBalancerArnsarg =
+  EC2VPCEndpointService
+  { _eC2VPCEndpointServiceAcceptanceRequired = Nothing
+  , _eC2VPCEndpointServiceNetworkLoadBalancerArns = networkLoadBalancerArnsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired
+ecvpcesAcceptanceRequired :: Lens' EC2VPCEndpointService (Maybe (Val Bool))
+ecvpcesAcceptanceRequired = lens _eC2VPCEndpointServiceAcceptanceRequired (\s a -> s { _eC2VPCEndpointServiceAcceptanceRequired = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns
+ecvpcesNetworkLoadBalancerArns :: Lens' EC2VPCEndpointService (ValList Text)
+ecvpcesNetworkLoadBalancerArns = lens _eC2VPCEndpointServiceNetworkLoadBalancerArns (\s a -> s { _eC2VPCEndpointServiceNetworkLoadBalancerArns = a })
diff --git a/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs b/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs
--- a/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs
+++ b/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs
@@ -16,6 +16,7 @@
   EventsEventBusPolicy
   { _eventsEventBusPolicyAction :: Val Text
   , _eventsEventBusPolicyCondition :: Maybe EventsEventBusPolicyCondition
+  , _eventsEventBusPolicyEventBusName :: Maybe (Val Text)
   , _eventsEventBusPolicyPrincipal :: Val Text
   , _eventsEventBusPolicyStatementId :: Val Text
   } deriving (Show, Eq)
@@ -28,6 +29,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("Action",) . toJSON) _eventsEventBusPolicyAction
         , fmap (("Condition",) . toJSON) _eventsEventBusPolicyCondition
+        , fmap (("EventBusName",) . toJSON) _eventsEventBusPolicyEventBusName
         , (Just . ("Principal",) . toJSON) _eventsEventBusPolicyPrincipal
         , (Just . ("StatementId",) . toJSON) _eventsEventBusPolicyStatementId
         ]
@@ -44,6 +46,7 @@
   EventsEventBusPolicy
   { _eventsEventBusPolicyAction = actionarg
   , _eventsEventBusPolicyCondition = Nothing
+  , _eventsEventBusPolicyEventBusName = Nothing
   , _eventsEventBusPolicyPrincipal = principalarg
   , _eventsEventBusPolicyStatementId = statementIdarg
   }
@@ -55,6 +58,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
 eebpCondition :: Lens' EventsEventBusPolicy (Maybe EventsEventBusPolicyCondition)
 eebpCondition = lens _eventsEventBusPolicyCondition (\s a -> s { _eventsEventBusPolicyCondition = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname
+eebpEventBusName :: Lens' EventsEventBusPolicy (Maybe (Val Text))
+eebpEventBusName = lens _eventsEventBusPolicyEventBusName (\s a -> s { _eventsEventBusPolicyEventBusName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
 eebpPrincipal :: Lens' EventsEventBusPolicy (Val Text)
diff --git a/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs b/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
--- a/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
@@ -14,16 +14,20 @@
 -- a more convenient constructor.
 data GlueDevEndpoint =
   GlueDevEndpoint
-  { _glueDevEndpointEndpointName :: Maybe (Val Text)
+  { _glueDevEndpointArguments :: Maybe Object
+  , _glueDevEndpointEndpointName :: Maybe (Val Text)
   , _glueDevEndpointExtraJarsS3Path :: Maybe (Val Text)
   , _glueDevEndpointExtraPythonLibsS3Path :: Maybe (Val Text)
+  , _glueDevEndpointGlueVersion :: Maybe (Val Text)
   , _glueDevEndpointNumberOfNodes :: Maybe (Val Integer)
+  , _glueDevEndpointNumberOfWorkers :: Maybe (Val Integer)
   , _glueDevEndpointPublicKey :: Maybe (Val Text)
   , _glueDevEndpointRoleArn :: Val Text
   , _glueDevEndpointSecurityConfiguration :: Maybe (Val Text)
   , _glueDevEndpointSecurityGroupIds :: Maybe (ValList Text)
   , _glueDevEndpointSubnetId :: Maybe (Val Text)
   , _glueDevEndpointTags :: Maybe Object
+  , _glueDevEndpointWorkerType :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties GlueDevEndpoint where
@@ -32,16 +36,20 @@
     { resourcePropertiesType = "AWS::Glue::DevEndpoint"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("EndpointName",) . toJSON) _glueDevEndpointEndpointName
+        [ fmap (("Arguments",) . toJSON) _glueDevEndpointArguments
+        , fmap (("EndpointName",) . toJSON) _glueDevEndpointEndpointName
         , fmap (("ExtraJarsS3Path",) . toJSON) _glueDevEndpointExtraJarsS3Path
         , fmap (("ExtraPythonLibsS3Path",) . toJSON) _glueDevEndpointExtraPythonLibsS3Path
+        , fmap (("GlueVersion",) . toJSON) _glueDevEndpointGlueVersion
         , fmap (("NumberOfNodes",) . toJSON) _glueDevEndpointNumberOfNodes
+        , fmap (("NumberOfWorkers",) . toJSON) _glueDevEndpointNumberOfWorkers
         , fmap (("PublicKey",) . toJSON) _glueDevEndpointPublicKey
         , (Just . ("RoleArn",) . toJSON) _glueDevEndpointRoleArn
         , fmap (("SecurityConfiguration",) . toJSON) _glueDevEndpointSecurityConfiguration
         , fmap (("SecurityGroupIds",) . toJSON) _glueDevEndpointSecurityGroupIds
         , fmap (("SubnetId",) . toJSON) _glueDevEndpointSubnetId
         , fmap (("Tags",) . toJSON) _glueDevEndpointTags
+        , fmap (("WorkerType",) . toJSON) _glueDevEndpointWorkerType
         ]
     }
 
@@ -52,18 +60,26 @@
   -> GlueDevEndpoint
 glueDevEndpoint roleArnarg =
   GlueDevEndpoint
-  { _glueDevEndpointEndpointName = Nothing
+  { _glueDevEndpointArguments = Nothing
+  , _glueDevEndpointEndpointName = Nothing
   , _glueDevEndpointExtraJarsS3Path = Nothing
   , _glueDevEndpointExtraPythonLibsS3Path = Nothing
+  , _glueDevEndpointGlueVersion = Nothing
   , _glueDevEndpointNumberOfNodes = Nothing
+  , _glueDevEndpointNumberOfWorkers = Nothing
   , _glueDevEndpointPublicKey = Nothing
   , _glueDevEndpointRoleArn = roleArnarg
   , _glueDevEndpointSecurityConfiguration = Nothing
   , _glueDevEndpointSecurityGroupIds = Nothing
   , _glueDevEndpointSubnetId = Nothing
   , _glueDevEndpointTags = Nothing
+  , _glueDevEndpointWorkerType = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-arguments
+gdeArguments :: Lens' GlueDevEndpoint (Maybe Object)
+gdeArguments = lens _glueDevEndpointArguments (\s a -> s { _glueDevEndpointArguments = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-endpointname
 gdeEndpointName :: Lens' GlueDevEndpoint (Maybe (Val Text))
 gdeEndpointName = lens _glueDevEndpointEndpointName (\s a -> s { _glueDevEndpointEndpointName = a })
@@ -76,10 +92,18 @@
 gdeExtraPythonLibsS3Path :: Lens' GlueDevEndpoint (Maybe (Val Text))
 gdeExtraPythonLibsS3Path = lens _glueDevEndpointExtraPythonLibsS3Path (\s a -> s { _glueDevEndpointExtraPythonLibsS3Path = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-glueversion
+gdeGlueVersion :: Lens' GlueDevEndpoint (Maybe (Val Text))
+gdeGlueVersion = lens _glueDevEndpointGlueVersion (\s a -> s { _glueDevEndpointGlueVersion = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofnodes
 gdeNumberOfNodes :: Lens' GlueDevEndpoint (Maybe (Val Integer))
 gdeNumberOfNodes = lens _glueDevEndpointNumberOfNodes (\s a -> s { _glueDevEndpointNumberOfNodes = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofworkers
+gdeNumberOfWorkers :: Lens' GlueDevEndpoint (Maybe (Val Integer))
+gdeNumberOfWorkers = lens _glueDevEndpointNumberOfWorkers (\s a -> s { _glueDevEndpointNumberOfWorkers = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickey
 gdePublicKey :: Lens' GlueDevEndpoint (Maybe (Val Text))
 gdePublicKey = lens _glueDevEndpointPublicKey (\s a -> s { _glueDevEndpointPublicKey = a })
@@ -103,3 +127,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-tags
 gdeTags :: Lens' GlueDevEndpoint (Maybe Object)
 gdeTags = lens _glueDevEndpointTags (\s a -> s { _glueDevEndpointTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-workertype
+gdeWorkerType :: Lens' GlueDevEndpoint (Maybe (Val Text))
+gdeWorkerType = lens _glueDevEndpointWorkerType (\s a -> s { _glueDevEndpointWorkerType = a })
diff --git a/library-gen/Stratosphere/Resources/GlueJob.hs b/library-gen/Stratosphere/Resources/GlueJob.hs
--- a/library-gen/Stratosphere/Resources/GlueJob.hs
+++ b/library-gen/Stratosphere/Resources/GlueJob.hs
@@ -11,6 +11,7 @@
 import Stratosphere.ResourceProperties.GlueJobJobCommand
 import Stratosphere.ResourceProperties.GlueJobConnectionsList
 import Stratosphere.ResourceProperties.GlueJobExecutionProperty
+import Stratosphere.ResourceProperties.GlueJobNotificationProperty
 
 -- | Full data type definition for GlueJob. See 'glueJob' for a more
 -- convenient constructor.
@@ -27,10 +28,12 @@
   , _glueJobMaxCapacity :: Maybe (Val Double)
   , _glueJobMaxRetries :: Maybe (Val Double)
   , _glueJobName :: Maybe (Val Text)
+  , _glueJobNotificationProperty :: Maybe GlueJobNotificationProperty
   , _glueJobNumberOfWorkers :: Maybe (Val Integer)
   , _glueJobRole :: Val Text
   , _glueJobSecurityConfiguration :: Maybe (Val Text)
   , _glueJobTags :: Maybe Object
+  , _glueJobTimeout :: Maybe (Val Integer)
   , _glueJobWorkerType :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -51,10 +54,12 @@
         , fmap (("MaxCapacity",) . toJSON) _glueJobMaxCapacity
         , fmap (("MaxRetries",) . toJSON) _glueJobMaxRetries
         , fmap (("Name",) . toJSON) _glueJobName
+        , fmap (("NotificationProperty",) . toJSON) _glueJobNotificationProperty
         , fmap (("NumberOfWorkers",) . toJSON) _glueJobNumberOfWorkers
         , (Just . ("Role",) . toJSON) _glueJobRole
         , fmap (("SecurityConfiguration",) . toJSON) _glueJobSecurityConfiguration
         , fmap (("Tags",) . toJSON) _glueJobTags
+        , fmap (("Timeout",) . toJSON) _glueJobTimeout
         , fmap (("WorkerType",) . toJSON) _glueJobWorkerType
         ]
     }
@@ -77,10 +82,12 @@
   , _glueJobMaxCapacity = Nothing
   , _glueJobMaxRetries = Nothing
   , _glueJobName = Nothing
+  , _glueJobNotificationProperty = Nothing
   , _glueJobNumberOfWorkers = Nothing
   , _glueJobRole = rolearg
   , _glueJobSecurityConfiguration = Nothing
   , _glueJobTags = Nothing
+  , _glueJobTimeout = Nothing
   , _glueJobWorkerType = Nothing
   }
 
@@ -128,6 +135,10 @@
 gjName :: Lens' GlueJob (Maybe (Val Text))
 gjName = lens _glueJobName (\s a -> s { _glueJobName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-notificationproperty
+gjNotificationProperty :: Lens' GlueJob (Maybe GlueJobNotificationProperty)
+gjNotificationProperty = lens _glueJobNotificationProperty (\s a -> s { _glueJobNotificationProperty = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-numberofworkers
 gjNumberOfWorkers :: Lens' GlueJob (Maybe (Val Integer))
 gjNumberOfWorkers = lens _glueJobNumberOfWorkers (\s a -> s { _glueJobNumberOfWorkers = a })
@@ -143,6 +154,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-tags
 gjTags :: Lens' GlueJob (Maybe Object)
 gjTags = lens _glueJobTags (\s a -> s { _glueJobTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-timeout
+gjTimeout :: Lens' GlueJob (Maybe (Val Integer))
+gjTimeout = lens _glueJobTimeout (\s a -> s { _glueJobTimeout = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype
 gjWorkerType :: Lens' GlueJob (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/GlueTrigger.hs b/library-gen/Stratosphere/Resources/GlueTrigger.hs
--- a/library-gen/Stratosphere/Resources/GlueTrigger.hs
+++ b/library-gen/Stratosphere/Resources/GlueTrigger.hs
@@ -20,8 +20,10 @@
   , _glueTriggerName :: Maybe (Val Text)
   , _glueTriggerPredicate :: Maybe GlueTriggerPredicate
   , _glueTriggerSchedule :: Maybe (Val Text)
+  , _glueTriggerStartOnCreation :: Maybe (Val Bool)
   , _glueTriggerTags :: Maybe Object
   , _glueTriggerType :: Val Text
+  , _glueTriggerWorkflowName :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties GlueTrigger where
@@ -35,8 +37,10 @@
         , fmap (("Name",) . toJSON) _glueTriggerName
         , fmap (("Predicate",) . toJSON) _glueTriggerPredicate
         , fmap (("Schedule",) . toJSON) _glueTriggerSchedule
+        , fmap (("StartOnCreation",) . toJSON) _glueTriggerStartOnCreation
         , fmap (("Tags",) . toJSON) _glueTriggerTags
         , (Just . ("Type",) . toJSON) _glueTriggerType
+        , fmap (("WorkflowName",) . toJSON) _glueTriggerWorkflowName
         ]
     }
 
@@ -52,8 +56,10 @@
   , _glueTriggerName = Nothing
   , _glueTriggerPredicate = Nothing
   , _glueTriggerSchedule = Nothing
+  , _glueTriggerStartOnCreation = Nothing
   , _glueTriggerTags = Nothing
   , _glueTriggerType = typearg
+  , _glueTriggerWorkflowName = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-actions
@@ -76,6 +82,10 @@
 gtSchedule :: Lens' GlueTrigger (Maybe (Val Text))
 gtSchedule = lens _glueTriggerSchedule (\s a -> s { _glueTriggerSchedule = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-startoncreation
+gtStartOnCreation :: Lens' GlueTrigger (Maybe (Val Bool))
+gtStartOnCreation = lens _glueTriggerStartOnCreation (\s a -> s { _glueTriggerStartOnCreation = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-tags
 gtTags :: Lens' GlueTrigger (Maybe Object)
 gtTags = lens _glueTriggerTags (\s a -> s { _glueTriggerTags = a })
@@ -83,3 +93,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-type
 gtType :: Lens' GlueTrigger (Val Text)
 gtType = lens _glueTriggerType (\s a -> s { _glueTriggerType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-workflowname
+gtWorkflowName :: Lens' GlueTrigger (Maybe (Val Text))
+gtWorkflowName = lens _glueTriggerWorkflowName (\s a -> s { _glueTriggerWorkflowName = a })
diff --git a/library-gen/Stratosphere/Resources/GlueWorkflow.hs b/library-gen/Stratosphere/Resources/GlueWorkflow.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GlueWorkflow.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html
+
+module Stratosphere.Resources.GlueWorkflow where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlueWorkflow. See 'glueWorkflow' for a more
+-- convenient constructor.
+data GlueWorkflow =
+  GlueWorkflow
+  { _glueWorkflowDefaultRunProperties :: Maybe Object
+  , _glueWorkflowDescription :: Maybe (Val Text)
+  , _glueWorkflowName :: Maybe (Val Text)
+  , _glueWorkflowTags :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GlueWorkflow where
+  toResourceProperties GlueWorkflow{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Glue::Workflow"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DefaultRunProperties",) . toJSON) _glueWorkflowDefaultRunProperties
+        , fmap (("Description",) . toJSON) _glueWorkflowDescription
+        , fmap (("Name",) . toJSON) _glueWorkflowName
+        , fmap (("Tags",) . toJSON) _glueWorkflowTags
+        ]
+    }
+
+-- | Constructor for 'GlueWorkflow' containing required fields as arguments.
+glueWorkflow
+  :: GlueWorkflow
+glueWorkflow  =
+  GlueWorkflow
+  { _glueWorkflowDefaultRunProperties = Nothing
+  , _glueWorkflowDescription = Nothing
+  , _glueWorkflowName = Nothing
+  , _glueWorkflowTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-defaultrunproperties
+gwDefaultRunProperties :: Lens' GlueWorkflow (Maybe Object)
+gwDefaultRunProperties = lens _glueWorkflowDefaultRunProperties (\s a -> s { _glueWorkflowDefaultRunProperties = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-description
+gwDescription :: Lens' GlueWorkflow (Maybe (Val Text))
+gwDescription = lens _glueWorkflowDescription (\s a -> s { _glueWorkflowDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-name
+gwName :: Lens' GlueWorkflow (Maybe (Val Text))
+gwName = lens _glueWorkflowName (\s a -> s { _glueWorkflowName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-tags
+gwTags :: Lens' GlueWorkflow (Maybe Object)
+gwTags = lens _glueWorkflowTags (\s a -> s { _glueWorkflowTags = a })
diff --git a/library-gen/Stratosphere/Resources/PinpointApp.hs b/library-gen/Stratosphere/Resources/PinpointApp.hs
--- a/library-gen/Stratosphere/Resources/PinpointApp.hs
+++ b/library-gen/Stratosphere/Resources/PinpointApp.hs
@@ -15,6 +15,7 @@
 data PinpointApp =
   PinpointApp
   { _pinpointAppName :: Val Text
+  , _pinpointAppTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties PinpointApp where
@@ -24,6 +25,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _pinpointAppName
+        , fmap (("Tags",) . toJSON) _pinpointAppTags
         ]
     }
 
@@ -34,8 +36,13 @@
 pinpointApp namearg =
   PinpointApp
   { _pinpointAppName = namearg
+  , _pinpointAppTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-name
 paName :: Lens' PinpointApp (Val Text)
 paName = lens _pinpointAppName (\s a -> s { _pinpointAppName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-tags
+paTags :: Lens' PinpointApp (Maybe Object)
+paTags = lens _pinpointAppTags (\s a -> s { _pinpointAppTags = a })
diff --git a/library-gen/Stratosphere/Resources/PinpointCampaign.hs b/library-gen/Stratosphere/Resources/PinpointCampaign.hs
--- a/library-gen/Stratosphere/Resources/PinpointCampaign.hs
+++ b/library-gen/Stratosphere/Resources/PinpointCampaign.hs
@@ -30,6 +30,7 @@
   , _pinpointCampaignSchedule :: PinpointCampaignSchedule
   , _pinpointCampaignSegmentId :: Val Text
   , _pinpointCampaignSegmentVersion :: Maybe (Val Integer)
+  , _pinpointCampaignTags :: Maybe Object
   , _pinpointCampaignTreatmentDescription :: Maybe (Val Text)
   , _pinpointCampaignTreatmentName :: Maybe (Val Text)
   } deriving (Show, Eq)
@@ -52,6 +53,7 @@
         , (Just . ("Schedule",) . toJSON) _pinpointCampaignSchedule
         , (Just . ("SegmentId",) . toJSON) _pinpointCampaignSegmentId
         , fmap (("SegmentVersion",) . toJSON) _pinpointCampaignSegmentVersion
+        , fmap (("Tags",) . toJSON) _pinpointCampaignTags
         , fmap (("TreatmentDescription",) . toJSON) _pinpointCampaignTreatmentDescription
         , fmap (("TreatmentName",) . toJSON) _pinpointCampaignTreatmentName
         ]
@@ -80,6 +82,7 @@
   , _pinpointCampaignSchedule = schedulearg
   , _pinpointCampaignSegmentId = segmentIdarg
   , _pinpointCampaignSegmentVersion = Nothing
+  , _pinpointCampaignTags = Nothing
   , _pinpointCampaignTreatmentDescription = Nothing
   , _pinpointCampaignTreatmentName = Nothing
   }
@@ -131,6 +134,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-segmentversion
 pcSegmentVersion :: Lens' PinpointCampaign (Maybe (Val Integer))
 pcSegmentVersion = lens _pinpointCampaignSegmentVersion (\s a -> s { _pinpointCampaignSegmentVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-tags
+pcTags :: Lens' PinpointCampaign (Maybe Object)
+pcTags = lens _pinpointCampaignTags (\s a -> s { _pinpointCampaignTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-treatmentdescription
 pcTreatmentDescription :: Lens' PinpointCampaign (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/PinpointSegment.hs b/library-gen/Stratosphere/Resources/PinpointSegment.hs
--- a/library-gen/Stratosphere/Resources/PinpointSegment.hs
+++ b/library-gen/Stratosphere/Resources/PinpointSegment.hs
@@ -19,6 +19,7 @@
   , _pinpointSegmentDimensions :: Maybe PinpointSegmentSegmentDimensions
   , _pinpointSegmentName :: Val Text
   , _pinpointSegmentSegmentGroups :: Maybe PinpointSegmentSegmentGroups
+  , _pinpointSegmentTags :: Maybe Object
   } deriving (Show, Eq)
 
 instance ToResourceProperties PinpointSegment where
@@ -31,6 +32,7 @@
         , fmap (("Dimensions",) . toJSON) _pinpointSegmentDimensions
         , (Just . ("Name",) . toJSON) _pinpointSegmentName
         , fmap (("SegmentGroups",) . toJSON) _pinpointSegmentSegmentGroups
+        , fmap (("Tags",) . toJSON) _pinpointSegmentTags
         ]
     }
 
@@ -46,6 +48,7 @@
   , _pinpointSegmentDimensions = Nothing
   , _pinpointSegmentName = namearg
   , _pinpointSegmentSegmentGroups = Nothing
+  , _pinpointSegmentTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-applicationid
@@ -63,3 +66,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-segmentgroups
 psSegmentGroups :: Lens' PinpointSegment (Maybe PinpointSegmentSegmentGroups)
 psSegmentGroups = lens _pinpointSegmentSegmentGroups (\s a -> s { _pinpointSegmentSegmentGroups = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-tags
+psTags :: Lens' PinpointSegment (Maybe Object)
+psTags = lens _pinpointSegmentTags (\s a -> s { _pinpointSegmentTags = a })
diff --git a/library-gen/Stratosphere/Resources/QLDBLedger.hs b/library-gen/Stratosphere/Resources/QLDBLedger.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/QLDBLedger.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html
+
+module Stratosphere.Resources.QLDBLedger where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for QLDBLedger. See 'qldbLedger' for a more
+-- convenient constructor.
+data QLDBLedger =
+  QLDBLedger
+  { _qLDBLedgerDeletionProtection :: Maybe (Val Bool)
+  , _qLDBLedgerName :: Maybe (Val Text)
+  , _qLDBLedgerPermissionsMode :: Val Text
+  , _qLDBLedgerTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties QLDBLedger where
+  toResourceProperties QLDBLedger{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::QLDB::Ledger"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DeletionProtection",) . toJSON) _qLDBLedgerDeletionProtection
+        , fmap (("Name",) . toJSON) _qLDBLedgerName
+        , (Just . ("PermissionsMode",) . toJSON) _qLDBLedgerPermissionsMode
+        , fmap (("Tags",) . toJSON) _qLDBLedgerTags
+        ]
+    }
+
+-- | Constructor for 'QLDBLedger' containing required fields as arguments.
+qldbLedger
+  :: Val Text -- ^ 'qldblPermissionsMode'
+  -> QLDBLedger
+qldbLedger permissionsModearg =
+  QLDBLedger
+  { _qLDBLedgerDeletionProtection = Nothing
+  , _qLDBLedgerName = Nothing
+  , _qLDBLedgerPermissionsMode = permissionsModearg
+  , _qLDBLedgerTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-deletionprotection
+qldblDeletionProtection :: Lens' QLDBLedger (Maybe (Val Bool))
+qldblDeletionProtection = lens _qLDBLedgerDeletionProtection (\s a -> s { _qLDBLedgerDeletionProtection = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-name
+qldblName :: Lens' QLDBLedger (Maybe (Val Text))
+qldblName = lens _qLDBLedgerName (\s a -> s { _qLDBLedgerName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-permissionsmode
+qldblPermissionsMode :: Lens' QLDBLedger (Val Text)
+qldblPermissionsMode = lens _qLDBLedgerPermissionsMode (\s a -> s { _qLDBLedgerPermissionsMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-tags
+qldblTags :: Lens' QLDBLedger (Maybe [Tag])
+qldblTags = lens _qLDBLedgerTags (\s a -> s { _qLDBLedgerTags = a })
diff --git a/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs b/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html
+
+module Stratosphere.Resources.SageMakerCodeRepository where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.SageMakerCodeRepositoryGitConfig
+
+-- | Full data type definition for SageMakerCodeRepository. See
+-- 'sageMakerCodeRepository' for a more convenient constructor.
+data SageMakerCodeRepository =
+  SageMakerCodeRepository
+  { _sageMakerCodeRepositoryCodeRepositoryName :: Maybe (Val Text)
+  , _sageMakerCodeRepositoryGitConfig :: SageMakerCodeRepositoryGitConfig
+  } deriving (Show, Eq)
+
+instance ToResourceProperties SageMakerCodeRepository where
+  toResourceProperties SageMakerCodeRepository{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::SageMaker::CodeRepository"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("CodeRepositoryName",) . toJSON) _sageMakerCodeRepositoryCodeRepositoryName
+        , (Just . ("GitConfig",) . toJSON) _sageMakerCodeRepositoryGitConfig
+        ]
+    }
+
+-- | Constructor for 'SageMakerCodeRepository' containing required fields as
+-- arguments.
+sageMakerCodeRepository
+  :: SageMakerCodeRepositoryGitConfig -- ^ 'smcrGitConfig'
+  -> SageMakerCodeRepository
+sageMakerCodeRepository gitConfigarg =
+  SageMakerCodeRepository
+  { _sageMakerCodeRepositoryCodeRepositoryName = Nothing
+  , _sageMakerCodeRepositoryGitConfig = gitConfigarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-coderepositoryname
+smcrCodeRepositoryName :: Lens' SageMakerCodeRepository (Maybe (Val Text))
+smcrCodeRepositoryName = lens _sageMakerCodeRepositoryCodeRepositoryName (\s a -> s { _sageMakerCodeRepositoryCodeRepositoryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-gitconfig
+smcrGitConfig :: Lens' SageMakerCodeRepository SageMakerCodeRepositoryGitConfig
+smcrGitConfig = lens _sageMakerCodeRepositoryGitConfig (\s a -> s { _sageMakerCodeRepositoryGitConfig = a })
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 1606963785245719214201305a4f76ad0a306da9a90b9bbc6b6f0354957e0a34
+-- hash: b89ba1d51ed9f3bef39bacb071f3e73413e48cc04ed8cd8017fee32b674908c1
 
 name:           stratosphere
-version:        0.42.0
+version:        0.43.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -99,7 +99,9 @@
       Stratosphere.ResourceProperties.ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration
       Stratosphere.ResourceProperties.AppMeshMeshEgressFilter
       Stratosphere.ResourceProperties.AppMeshMeshMeshSpec
+      Stratosphere.ResourceProperties.AppMeshRouteDuration
       Stratosphere.ResourceProperties.AppMeshRouteHeaderMatchMethod
+      Stratosphere.ResourceProperties.AppMeshRouteHttpRetryPolicy
       Stratosphere.ResourceProperties.AppMeshRouteHttpRoute
       Stratosphere.ResourceProperties.AppMeshRouteHttpRouteAction
       Stratosphere.ResourceProperties.AppMeshRouteHttpRouteHeader
@@ -303,12 +305,22 @@
       Stratosphere.ResourceProperties.CognitoUserPoolAdminCreateUserConfig
       Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolDeviceConfiguration
+      Stratosphere.ResourceProperties.CognitoUserPoolDomainCustomDomainConfigType
       Stratosphere.ResourceProperties.CognitoUserPoolEmailConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolInviteMessageTemplate
       Stratosphere.ResourceProperties.CognitoUserPoolLambdaConfig
       Stratosphere.ResourceProperties.CognitoUserPoolNumberAttributeConstraints
       Stratosphere.ResourceProperties.CognitoUserPoolPasswordPolicy
       Stratosphere.ResourceProperties.CognitoUserPoolPolicies
+      Stratosphere.ResourceProperties.CognitoUserPoolResourceServerResourceServerScopeType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionsType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyConfigurationType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentNotifyEmailType
+      Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType
       Stratosphere.ResourceProperties.CognitoUserPoolSchemaAttribute
       Stratosphere.ResourceProperties.CognitoUserPoolSmsConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolStringAttributeConstraints
@@ -324,8 +336,10 @@
       Stratosphere.ResourceProperties.ConfigDeliveryChannelConfigSnapshotDeliveryProperties
       Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata
       Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationManagedRuleMetadata
+      Stratosphere.ResourceProperties.ConfigRemediationConfigurationExecutionControls
       Stratosphere.ResourceProperties.ConfigRemediationConfigurationRemediationParameterValue
       Stratosphere.ResourceProperties.ConfigRemediationConfigurationResourceValue
+      Stratosphere.ResourceProperties.ConfigRemediationConfigurationSsmControls
       Stratosphere.ResourceProperties.ConfigRemediationConfigurationStaticValue
       Stratosphere.ResourceProperties.DataPipelinePipelineField
       Stratosphere.ResourceProperties.DataPipelinePipelineParameterAttribute
@@ -431,6 +445,7 @@
       Stratosphere.ResourceProperties.EC2SpotFleetSpotPlacement
       Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup
       Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig
+      Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRangeRequest
       Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification
       Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy
       Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration
@@ -596,6 +611,7 @@
       Stratosphere.ResourceProperties.GlueJobConnectionsList
       Stratosphere.ResourceProperties.GlueJobExecutionProperty
       Stratosphere.ResourceProperties.GlueJobJobCommand
+      Stratosphere.ResourceProperties.GlueJobNotificationProperty
       Stratosphere.ResourceProperties.GlueMLTransformFindMatchesParameters
       Stratosphere.ResourceProperties.GlueMLTransformGlueTables
       Stratosphere.ResourceProperties.GlueMLTransformInputRecordTables
@@ -618,6 +634,7 @@
       Stratosphere.ResourceProperties.GlueTableTableInput
       Stratosphere.ResourceProperties.GlueTriggerAction
       Stratosphere.ResourceProperties.GlueTriggerCondition
+      Stratosphere.ResourceProperties.GlueTriggerNotificationProperty
       Stratosphere.ResourceProperties.GlueTriggerPredicate
       Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnector
       Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnectorDefinitionVersion
@@ -1039,6 +1056,7 @@
       Stratosphere.ResourceProperties.S3BucketTransition
       Stratosphere.ResourceProperties.S3BucketVersioningConfiguration
       Stratosphere.ResourceProperties.S3BucketWebsiteConfiguration
+      Stratosphere.ResourceProperties.SageMakerCodeRepositoryGitConfig
       Stratosphere.ResourceProperties.SageMakerEndpointConfigProductionVariant
       Stratosphere.ResourceProperties.SageMakerModelContainerDefinition
       Stratosphere.ResourceProperties.SageMakerModelVpcConfig
@@ -1222,7 +1240,12 @@
       Stratosphere.Resources.CognitoIdentityPoolRoleAttachment
       Stratosphere.Resources.CognitoUserPool
       Stratosphere.Resources.CognitoUserPoolClient
+      Stratosphere.Resources.CognitoUserPoolDomain
       Stratosphere.Resources.CognitoUserPoolGroup
+      Stratosphere.Resources.CognitoUserPoolIdentityProvider
+      Stratosphere.Resources.CognitoUserPoolResourceServer
+      Stratosphere.Resources.CognitoUserPoolRiskConfigurationAttachment
+      Stratosphere.Resources.CognitoUserPoolUICustomizationAttachment
       Stratosphere.Resources.CognitoUserPoolUser
       Stratosphere.Resources.CognitoUserPoolUserToGroupAttachment
       Stratosphere.Resources.ConfigAggregationAuthorization
@@ -1283,6 +1306,10 @@
       Stratosphere.Resources.EC2SubnetCidrBlock
       Stratosphere.Resources.EC2SubnetNetworkAclAssociation
       Stratosphere.Resources.EC2SubnetRouteTableAssociation
+      Stratosphere.Resources.EC2TrafficMirrorFilter
+      Stratosphere.Resources.EC2TrafficMirrorFilterRule
+      Stratosphere.Resources.EC2TrafficMirrorSession
+      Stratosphere.Resources.EC2TrafficMirrorTarget
       Stratosphere.Resources.EC2TransitGateway
       Stratosphere.Resources.EC2TransitGatewayAttachment
       Stratosphere.Resources.EC2TransitGatewayRoute
@@ -1296,6 +1323,7 @@
       Stratosphere.Resources.EC2VPCDHCPOptionsAssociation
       Stratosphere.Resources.EC2VPCEndpoint
       Stratosphere.Resources.EC2VPCEndpointConnectionNotification
+      Stratosphere.Resources.EC2VPCEndpointService
       Stratosphere.Resources.EC2VPCEndpointServicePermissions
       Stratosphere.Resources.EC2VPCGatewayAttachment
       Stratosphere.Resources.EC2VPCPeeringConnection
@@ -1350,6 +1378,7 @@
       Stratosphere.Resources.GlueSecurityConfiguration
       Stratosphere.Resources.GlueTable
       Stratosphere.Resources.GlueTrigger
+      Stratosphere.Resources.GlueWorkflow
       Stratosphere.Resources.GreengrassConnectorDefinition
       Stratosphere.Resources.GreengrassConnectorDefinitionVersion
       Stratosphere.Resources.GreengrassCoreDefinition
@@ -1466,6 +1495,7 @@
       Stratosphere.Resources.PinpointSegment
       Stratosphere.Resources.PinpointSMSChannel
       Stratosphere.Resources.PinpointVoiceChannel
+      Stratosphere.Resources.QLDBLedger
       Stratosphere.Resources.RAMResourceShare
       Stratosphere.Resources.RDSDBCluster
       Stratosphere.Resources.RDSDBClusterParameterGroup
@@ -1496,6 +1526,7 @@
       Stratosphere.Resources.Route53ResolverResolverRuleAssociation
       Stratosphere.Resources.S3Bucket
       Stratosphere.Resources.S3BucketPolicy
+      Stratosphere.Resources.SageMakerCodeRepository
       Stratosphere.Resources.SageMakerEndpoint
       Stratosphere.Resources.SageMakerEndpointConfig
       Stratosphere.Resources.SageMakerModel
