diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Change Log
 
+## 0.53.0
+
+* Update resource specification document to version 14.3.0
+* Update CI for GHC 8.8
+
 ## 0.52.0
 
 * Update resource specification document to version 12.3.0
diff --git a/library-gen/Stratosphere/ResourceProperties/DMSEndpointNeptuneSettings.hs b/library-gen/Stratosphere/ResourceProperties/DMSEndpointNeptuneSettings.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/DMSEndpointNeptuneSettings.hs
@@ -0,0 +1,80 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html
+
+module Stratosphere.ResourceProperties.DMSEndpointNeptuneSettings where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for DMSEndpointNeptuneSettings. See
+-- 'dmsEndpointNeptuneSettings' for a more convenient constructor.
+data DMSEndpointNeptuneSettings =
+  DMSEndpointNeptuneSettings
+  { _dMSEndpointNeptuneSettingsErrorRetryDuration :: Maybe (Val Integer)
+  , _dMSEndpointNeptuneSettingsIamAuthEnabled :: Maybe (Val Bool)
+  , _dMSEndpointNeptuneSettingsMaxFileSize :: Maybe (Val Integer)
+  , _dMSEndpointNeptuneSettingsMaxRetryCount :: Maybe (Val Integer)
+  , _dMSEndpointNeptuneSettingsS3BucketFolder :: Maybe (Val Text)
+  , _dMSEndpointNeptuneSettingsS3BucketName :: Maybe (Val Text)
+  , _dMSEndpointNeptuneSettingsServiceAccessRoleArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON DMSEndpointNeptuneSettings where
+  toJSON DMSEndpointNeptuneSettings{..} =
+    object $
+    catMaybes
+    [ fmap (("ErrorRetryDuration",) . toJSON) _dMSEndpointNeptuneSettingsErrorRetryDuration
+    , fmap (("IamAuthEnabled",) . toJSON) _dMSEndpointNeptuneSettingsIamAuthEnabled
+    , fmap (("MaxFileSize",) . toJSON) _dMSEndpointNeptuneSettingsMaxFileSize
+    , fmap (("MaxRetryCount",) . toJSON) _dMSEndpointNeptuneSettingsMaxRetryCount
+    , fmap (("S3BucketFolder",) . toJSON) _dMSEndpointNeptuneSettingsS3BucketFolder
+    , fmap (("S3BucketName",) . toJSON) _dMSEndpointNeptuneSettingsS3BucketName
+    , fmap (("ServiceAccessRoleArn",) . toJSON) _dMSEndpointNeptuneSettingsServiceAccessRoleArn
+    ]
+
+-- | Constructor for 'DMSEndpointNeptuneSettings' containing required fields
+-- as arguments.
+dmsEndpointNeptuneSettings
+  :: DMSEndpointNeptuneSettings
+dmsEndpointNeptuneSettings  =
+  DMSEndpointNeptuneSettings
+  { _dMSEndpointNeptuneSettingsErrorRetryDuration = Nothing
+  , _dMSEndpointNeptuneSettingsIamAuthEnabled = Nothing
+  , _dMSEndpointNeptuneSettingsMaxFileSize = Nothing
+  , _dMSEndpointNeptuneSettingsMaxRetryCount = Nothing
+  , _dMSEndpointNeptuneSettingsS3BucketFolder = Nothing
+  , _dMSEndpointNeptuneSettingsS3BucketName = Nothing
+  , _dMSEndpointNeptuneSettingsServiceAccessRoleArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-errorretryduration
+dmsensErrorRetryDuration :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Integer))
+dmsensErrorRetryDuration = lens _dMSEndpointNeptuneSettingsErrorRetryDuration (\s a -> s { _dMSEndpointNeptuneSettingsErrorRetryDuration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-iamauthenabled
+dmsensIamAuthEnabled :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Bool))
+dmsensIamAuthEnabled = lens _dMSEndpointNeptuneSettingsIamAuthEnabled (\s a -> s { _dMSEndpointNeptuneSettingsIamAuthEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-maxfilesize
+dmsensMaxFileSize :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Integer))
+dmsensMaxFileSize = lens _dMSEndpointNeptuneSettingsMaxFileSize (\s a -> s { _dMSEndpointNeptuneSettingsMaxFileSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-maxretrycount
+dmsensMaxRetryCount :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Integer))
+dmsensMaxRetryCount = lens _dMSEndpointNeptuneSettingsMaxRetryCount (\s a -> s { _dMSEndpointNeptuneSettingsMaxRetryCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-s3bucketfolder
+dmsensS3BucketFolder :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Text))
+dmsensS3BucketFolder = lens _dMSEndpointNeptuneSettingsS3BucketFolder (\s a -> s { _dMSEndpointNeptuneSettingsS3BucketFolder = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-s3bucketname
+dmsensS3BucketName :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Text))
+dmsensS3BucketName = lens _dMSEndpointNeptuneSettingsS3BucketName (\s a -> s { _dMSEndpointNeptuneSettingsS3BucketName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-serviceaccessrolearn
+dmsensServiceAccessRoleArn :: Lens' DMSEndpointNeptuneSettings (Maybe (Val Text))
+dmsensServiceAccessRoleArn = lens _dMSEndpointNeptuneSettingsServiceAccessRoleArn (\s a -> s { _dMSEndpointNeptuneSettingsServiceAccessRoleArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSetting.hs b/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSetting.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSetting.hs
+++ /dev/null
@@ -1,47 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html
-
-module Stratosphere.ResourceProperties.ECSClusterClusterSetting where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for ECSClusterClusterSetting. See
--- 'ecsClusterClusterSetting' for a more convenient constructor.
-data ECSClusterClusterSetting =
-  ECSClusterClusterSetting
-  { _eCSClusterClusterSettingName :: Val Text
-  , _eCSClusterClusterSettingValue :: Val Text
-  } deriving (Show, Eq)
-
-instance ToJSON ECSClusterClusterSetting where
-  toJSON ECSClusterClusterSetting{..} =
-    object $
-    catMaybes
-    [ (Just . ("Name",) . toJSON) _eCSClusterClusterSettingName
-    , (Just . ("Value",) . toJSON) _eCSClusterClusterSettingValue
-    ]
-
--- | Constructor for 'ECSClusterClusterSetting' containing required fields as
--- arguments.
-ecsClusterClusterSetting
-  :: Val Text -- ^ 'ecsccsName'
-  -> Val Text -- ^ 'ecsccsValue'
-  -> ECSClusterClusterSetting
-ecsClusterClusterSetting namearg valuearg =
-  ECSClusterClusterSetting
-  { _eCSClusterClusterSettingName = namearg
-  , _eCSClusterClusterSettingValue = valuearg
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html#cfn-ecs-cluster-clustersetting-name
-ecsccsName :: Lens' ECSClusterClusterSetting (Val Text)
-ecsccsName = lens _eCSClusterClusterSettingName (\s a -> s { _eCSClusterClusterSettingName = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html#cfn-ecs-cluster-clustersetting-value
-ecsccsValue :: Lens' ECSClusterClusterSetting (Val Text)
-ecsccsValue = lens _eCSClusterClusterSettingValue (\s a -> s { _eCSClusterClusterSettingValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSettings.hs b/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSettings.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECSClusterClusterSettings.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html
+
+module Stratosphere.ResourceProperties.ECSClusterClusterSettings where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECSClusterClusterSettings. See
+-- 'ecsClusterClusterSettings' for a more convenient constructor.
+data ECSClusterClusterSettings =
+  ECSClusterClusterSettings
+  { _eCSClusterClusterSettingsName :: Maybe (Val Text)
+  , _eCSClusterClusterSettingsValue :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECSClusterClusterSettings where
+  toJSON ECSClusterClusterSettings{..} =
+    object $
+    catMaybes
+    [ fmap (("Name",) . toJSON) _eCSClusterClusterSettingsName
+    , fmap (("Value",) . toJSON) _eCSClusterClusterSettingsValue
+    ]
+
+-- | Constructor for 'ECSClusterClusterSettings' containing required fields as
+-- arguments.
+ecsClusterClusterSettings
+  :: ECSClusterClusterSettings
+ecsClusterClusterSettings  =
+  ECSClusterClusterSettings
+  { _eCSClusterClusterSettingsName = Nothing
+  , _eCSClusterClusterSettingsValue = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-name
+ecsccsName :: Lens' ECSClusterClusterSettings (Maybe (Val Text))
+ecsccsName = lens _eCSClusterClusterSettingsName (\s a -> s { _eCSClusterClusterSettingsName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-value
+ecsccsValue :: Lens' ECSClusterClusterSettings (Maybe (Val Text))
+ecsccsValue = lens _eCSClusterClusterSettingsValue (\s a -> s { _eCSClusterClusterSettingsValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlobalAcceleratorEndpointGroupEndpointConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GlobalAcceleratorEndpointGroupEndpointConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlobalAcceleratorEndpointGroupEndpointConfiguration.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html
+
+module Stratosphere.ResourceProperties.GlobalAcceleratorEndpointGroupEndpointConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GlobalAcceleratorEndpointGroupEndpointConfiguration. See
+-- 'globalAcceleratorEndpointGroupEndpointConfiguration' for a more
+-- convenient constructor.
+data GlobalAcceleratorEndpointGroupEndpointConfiguration =
+  GlobalAcceleratorEndpointGroupEndpointConfiguration
+  { _globalAcceleratorEndpointGroupEndpointConfigurationClientIPPreservationEnabled :: Maybe (Val Bool)
+  , _globalAcceleratorEndpointGroupEndpointConfigurationEndpointId :: Val Text
+  , _globalAcceleratorEndpointGroupEndpointConfigurationWeight :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GlobalAcceleratorEndpointGroupEndpointConfiguration where
+  toJSON GlobalAcceleratorEndpointGroupEndpointConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("ClientIPPreservationEnabled",) . toJSON) _globalAcceleratorEndpointGroupEndpointConfigurationClientIPPreservationEnabled
+    , (Just . ("EndpointId",) . toJSON) _globalAcceleratorEndpointGroupEndpointConfigurationEndpointId
+    , fmap (("Weight",) . toJSON) _globalAcceleratorEndpointGroupEndpointConfigurationWeight
+    ]
+
+-- | Constructor for 'GlobalAcceleratorEndpointGroupEndpointConfiguration'
+-- containing required fields as arguments.
+globalAcceleratorEndpointGroupEndpointConfiguration
+  :: Val Text -- ^ 'gaegecEndpointId'
+  -> GlobalAcceleratorEndpointGroupEndpointConfiguration
+globalAcceleratorEndpointGroupEndpointConfiguration endpointIdarg =
+  GlobalAcceleratorEndpointGroupEndpointConfiguration
+  { _globalAcceleratorEndpointGroupEndpointConfigurationClientIPPreservationEnabled = Nothing
+  , _globalAcceleratorEndpointGroupEndpointConfigurationEndpointId = endpointIdarg
+  , _globalAcceleratorEndpointGroupEndpointConfigurationWeight = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-clientippreservationenabled
+gaegecClientIPPreservationEnabled :: Lens' GlobalAcceleratorEndpointGroupEndpointConfiguration (Maybe (Val Bool))
+gaegecClientIPPreservationEnabled = lens _globalAcceleratorEndpointGroupEndpointConfigurationClientIPPreservationEnabled (\s a -> s { _globalAcceleratorEndpointGroupEndpointConfigurationClientIPPreservationEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-endpointid
+gaegecEndpointId :: Lens' GlobalAcceleratorEndpointGroupEndpointConfiguration (Val Text)
+gaegecEndpointId = lens _globalAcceleratorEndpointGroupEndpointConfigurationEndpointId (\s a -> s { _globalAcceleratorEndpointGroupEndpointConfigurationEndpointId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-weight
+gaegecWeight :: Lens' GlobalAcceleratorEndpointGroupEndpointConfiguration (Maybe (Val Integer))
+gaegecWeight = lens _globalAcceleratorEndpointGroupEndpointConfigurationWeight (\s a -> s { _globalAcceleratorEndpointGroupEndpointConfigurationWeight = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlobalAcceleratorListenerPortRange.hs b/library-gen/Stratosphere/ResourceProperties/GlobalAcceleratorListenerPortRange.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GlobalAcceleratorListenerPortRange.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html
+
+module Stratosphere.ResourceProperties.GlobalAcceleratorListenerPortRange where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GlobalAcceleratorListenerPortRange. See
+-- 'globalAcceleratorListenerPortRange' for a more convenient constructor.
+data GlobalAcceleratorListenerPortRange =
+  GlobalAcceleratorListenerPortRange
+  { _globalAcceleratorListenerPortRangeFromPort :: Val Integer
+  , _globalAcceleratorListenerPortRangeToPort :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON GlobalAcceleratorListenerPortRange where
+  toJSON GlobalAcceleratorListenerPortRange{..} =
+    object $
+    catMaybes
+    [ (Just . ("FromPort",) . toJSON) _globalAcceleratorListenerPortRangeFromPort
+    , (Just . ("ToPort",) . toJSON) _globalAcceleratorListenerPortRangeToPort
+    ]
+
+-- | Constructor for 'GlobalAcceleratorListenerPortRange' containing required
+-- fields as arguments.
+globalAcceleratorListenerPortRange
+  :: Val Integer -- ^ 'galprFromPort'
+  -> Val Integer -- ^ 'galprToPort'
+  -> GlobalAcceleratorListenerPortRange
+globalAcceleratorListenerPortRange fromPortarg toPortarg =
+  GlobalAcceleratorListenerPortRange
+  { _globalAcceleratorListenerPortRangeFromPort = fromPortarg
+  , _globalAcceleratorListenerPortRangeToPort = toPortarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html#cfn-globalaccelerator-listener-portrange-fromport
+galprFromPort :: Lens' GlobalAcceleratorListenerPortRange (Val Integer)
+galprFromPort = lens _globalAcceleratorListenerPortRangeFromPort (\s a -> s { _globalAcceleratorListenerPortRangeFromPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html#cfn-globalaccelerator-listener-portrange-toport
+galprToPort :: Lens' GlobalAcceleratorListenerPortRange (Val Integer)
+galprToPort = lens _globalAcceleratorListenerPortRangeToPort (\s a -> s { _globalAcceleratorListenerPortRangeToPort = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ImageBuilderImageImageTestsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ImageBuilderImageImageTestsConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ImageBuilderImageImageTestsConfiguration.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html
+
+module Stratosphere.ResourceProperties.ImageBuilderImageImageTestsConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ImageBuilderImageImageTestsConfiguration.
+-- See 'imageBuilderImageImageTestsConfiguration' for a more convenient
+-- constructor.
+data ImageBuilderImageImageTestsConfiguration =
+  ImageBuilderImageImageTestsConfiguration
+  { _imageBuilderImageImageTestsConfigurationImageTestsEnabled :: Maybe (Val Bool)
+  , _imageBuilderImageImageTestsConfigurationTimeoutMinutes :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON ImageBuilderImageImageTestsConfiguration where
+  toJSON ImageBuilderImageImageTestsConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("ImageTestsEnabled",) . toJSON) _imageBuilderImageImageTestsConfigurationImageTestsEnabled
+    , fmap (("TimeoutMinutes",) . toJSON) _imageBuilderImageImageTestsConfigurationTimeoutMinutes
+    ]
+
+-- | Constructor for 'ImageBuilderImageImageTestsConfiguration' containing
+-- required fields as arguments.
+imageBuilderImageImageTestsConfiguration
+  :: ImageBuilderImageImageTestsConfiguration
+imageBuilderImageImageTestsConfiguration  =
+  ImageBuilderImageImageTestsConfiguration
+  { _imageBuilderImageImageTestsConfigurationImageTestsEnabled = Nothing
+  , _imageBuilderImageImageTestsConfigurationTimeoutMinutes = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-imagetestsenabled
+ibiitcImageTestsEnabled :: Lens' ImageBuilderImageImageTestsConfiguration (Maybe (Val Bool))
+ibiitcImageTestsEnabled = lens _imageBuilderImageImageTestsConfigurationImageTestsEnabled (\s a -> s { _imageBuilderImageImageTestsConfigurationImageTestsEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-timeoutminutes
+ibiitcTimeoutMinutes :: Lens' ImageBuilderImageImageTestsConfiguration (Maybe (Val Integer))
+ibiitcTimeoutMinutes = lens _imageBuilderImageImageTestsConfigurationTimeoutMinutes (\s a -> s { _imageBuilderImageImageTestsConfigurationTimeoutMinutes = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs
@@ -9,8 +9,11 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDB
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDBv2
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotSiteWise
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelResetTimer
@@ -24,8 +27,11 @@
 data IoTEventsDetectorModelAction =
   IoTEventsDetectorModelAction
   { _ioTEventsDetectorModelActionClearTimer :: Maybe IoTEventsDetectorModelClearTimer
+  , _ioTEventsDetectorModelActionDynamoDB :: Maybe IoTEventsDetectorModelDynamoDB
+  , _ioTEventsDetectorModelActionDynamoDBv2 :: Maybe IoTEventsDetectorModelDynamoDBv2
   , _ioTEventsDetectorModelActionFirehose :: Maybe IoTEventsDetectorModelFirehose
   , _ioTEventsDetectorModelActionIotEvents :: Maybe IoTEventsDetectorModelIotEvents
+  , _ioTEventsDetectorModelActionIotSiteWise :: Maybe IoTEventsDetectorModelIotSiteWise
   , _ioTEventsDetectorModelActionIotTopicPublish :: Maybe IoTEventsDetectorModelIotTopicPublish
   , _ioTEventsDetectorModelActionLambda :: Maybe IoTEventsDetectorModelLambda
   , _ioTEventsDetectorModelActionResetTimer :: Maybe IoTEventsDetectorModelResetTimer
@@ -40,8 +46,11 @@
     object $
     catMaybes
     [ fmap (("ClearTimer",) . toJSON) _ioTEventsDetectorModelActionClearTimer
+    , fmap (("DynamoDB",) . toJSON) _ioTEventsDetectorModelActionDynamoDB
+    , fmap (("DynamoDBv2",) . toJSON) _ioTEventsDetectorModelActionDynamoDBv2
     , fmap (("Firehose",) . toJSON) _ioTEventsDetectorModelActionFirehose
     , fmap (("IotEvents",) . toJSON) _ioTEventsDetectorModelActionIotEvents
+    , fmap (("IotSiteWise",) . toJSON) _ioTEventsDetectorModelActionIotSiteWise
     , fmap (("IotTopicPublish",) . toJSON) _ioTEventsDetectorModelActionIotTopicPublish
     , fmap (("Lambda",) . toJSON) _ioTEventsDetectorModelActionLambda
     , fmap (("ResetTimer",) . toJSON) _ioTEventsDetectorModelActionResetTimer
@@ -58,8 +67,11 @@
 ioTEventsDetectorModelAction  =
   IoTEventsDetectorModelAction
   { _ioTEventsDetectorModelActionClearTimer = Nothing
+  , _ioTEventsDetectorModelActionDynamoDB = Nothing
+  , _ioTEventsDetectorModelActionDynamoDBv2 = Nothing
   , _ioTEventsDetectorModelActionFirehose = Nothing
   , _ioTEventsDetectorModelActionIotEvents = Nothing
+  , _ioTEventsDetectorModelActionIotSiteWise = Nothing
   , _ioTEventsDetectorModelActionIotTopicPublish = Nothing
   , _ioTEventsDetectorModelActionLambda = Nothing
   , _ioTEventsDetectorModelActionResetTimer = Nothing
@@ -73,6 +85,14 @@
 itedmaClearTimer :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelClearTimer)
 itedmaClearTimer = lens _ioTEventsDetectorModelActionClearTimer (\s a -> s { _ioTEventsDetectorModelActionClearTimer = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodb
+itedmaDynamoDB :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelDynamoDB)
+itedmaDynamoDB = lens _ioTEventsDetectorModelActionDynamoDB (\s a -> s { _ioTEventsDetectorModelActionDynamoDB = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodbv2
+itedmaDynamoDBv2 :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelDynamoDBv2)
+itedmaDynamoDBv2 = lens _ioTEventsDetectorModelActionDynamoDBv2 (\s a -> s { _ioTEventsDetectorModelActionDynamoDBv2 = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-firehose
 itedmaFirehose :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelFirehose)
 itedmaFirehose = lens _ioTEventsDetectorModelActionFirehose (\s a -> s { _ioTEventsDetectorModelActionFirehose = a })
@@ -80,6 +100,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotevents
 itedmaIotEvents :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelIotEvents)
 itedmaIotEvents = lens _ioTEventsDetectorModelActionIotEvents (\s a -> s { _ioTEventsDetectorModelActionIotEvents = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotsitewise
+itedmaIotSiteWise :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelIotSiteWise)
+itedmaIotSiteWise = lens _ioTEventsDetectorModelActionIotSiteWise (\s a -> s { _ioTEventsDetectorModelActionIotSiteWise = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iottopicpublish
 itedmaIotTopicPublish :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelIotTopicPublish)
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyTimestamp.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyTimestamp.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyTimestamp.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyTimestamp where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- IoTEventsDetectorModelAssetPropertyTimestamp. See
+-- 'ioTEventsDetectorModelAssetPropertyTimestamp' for a more convenient
+-- constructor.
+data IoTEventsDetectorModelAssetPropertyTimestamp =
+  IoTEventsDetectorModelAssetPropertyTimestamp
+  { _ioTEventsDetectorModelAssetPropertyTimestampOffsetInNanos :: Maybe (Val Text)
+  , _ioTEventsDetectorModelAssetPropertyTimestampTimeInSeconds :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelAssetPropertyTimestamp where
+  toJSON IoTEventsDetectorModelAssetPropertyTimestamp{..} =
+    object $
+    catMaybes
+    [ fmap (("OffsetInNanos",) . toJSON) _ioTEventsDetectorModelAssetPropertyTimestampOffsetInNanos
+    , fmap (("TimeInSeconds",) . toJSON) _ioTEventsDetectorModelAssetPropertyTimestampTimeInSeconds
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelAssetPropertyTimestamp' containing
+-- required fields as arguments.
+ioTEventsDetectorModelAssetPropertyTimestamp
+  :: IoTEventsDetectorModelAssetPropertyTimestamp
+ioTEventsDetectorModelAssetPropertyTimestamp  =
+  IoTEventsDetectorModelAssetPropertyTimestamp
+  { _ioTEventsDetectorModelAssetPropertyTimestampOffsetInNanos = Nothing
+  , _ioTEventsDetectorModelAssetPropertyTimestampTimeInSeconds = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-offsetinnanos
+itedmaptOffsetInNanos :: Lens' IoTEventsDetectorModelAssetPropertyTimestamp (Maybe (Val Text))
+itedmaptOffsetInNanos = lens _ioTEventsDetectorModelAssetPropertyTimestampOffsetInNanos (\s a -> s { _ioTEventsDetectorModelAssetPropertyTimestampOffsetInNanos = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-timeinseconds
+itedmaptTimeInSeconds :: Lens' IoTEventsDetectorModelAssetPropertyTimestamp (Maybe (Val Text))
+itedmaptTimeInSeconds = lens _ioTEventsDetectorModelAssetPropertyTimestampTimeInSeconds (\s a -> s { _ioTEventsDetectorModelAssetPropertyTimestampTimeInSeconds = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyValue.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyValue.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyValue.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyValue where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyTimestamp
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyVariant
+
+-- | Full data type definition for IoTEventsDetectorModelAssetPropertyValue.
+-- See 'ioTEventsDetectorModelAssetPropertyValue' for a more convenient
+-- constructor.
+data IoTEventsDetectorModelAssetPropertyValue =
+  IoTEventsDetectorModelAssetPropertyValue
+  { _ioTEventsDetectorModelAssetPropertyValueQuality :: Maybe (Val Text)
+  , _ioTEventsDetectorModelAssetPropertyValueTimestamp :: Maybe IoTEventsDetectorModelAssetPropertyTimestamp
+  , _ioTEventsDetectorModelAssetPropertyValueValue :: Maybe IoTEventsDetectorModelAssetPropertyVariant
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelAssetPropertyValue where
+  toJSON IoTEventsDetectorModelAssetPropertyValue{..} =
+    object $
+    catMaybes
+    [ fmap (("Quality",) . toJSON) _ioTEventsDetectorModelAssetPropertyValueQuality
+    , fmap (("Timestamp",) . toJSON) _ioTEventsDetectorModelAssetPropertyValueTimestamp
+    , fmap (("Value",) . toJSON) _ioTEventsDetectorModelAssetPropertyValueValue
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelAssetPropertyValue' containing
+-- required fields as arguments.
+ioTEventsDetectorModelAssetPropertyValue
+  :: IoTEventsDetectorModelAssetPropertyValue
+ioTEventsDetectorModelAssetPropertyValue  =
+  IoTEventsDetectorModelAssetPropertyValue
+  { _ioTEventsDetectorModelAssetPropertyValueQuality = Nothing
+  , _ioTEventsDetectorModelAssetPropertyValueTimestamp = Nothing
+  , _ioTEventsDetectorModelAssetPropertyValueValue = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-quality
+itedmapvQuality :: Lens' IoTEventsDetectorModelAssetPropertyValue (Maybe (Val Text))
+itedmapvQuality = lens _ioTEventsDetectorModelAssetPropertyValueQuality (\s a -> s { _ioTEventsDetectorModelAssetPropertyValueQuality = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-timestamp
+itedmapvTimestamp :: Lens' IoTEventsDetectorModelAssetPropertyValue (Maybe IoTEventsDetectorModelAssetPropertyTimestamp)
+itedmapvTimestamp = lens _ioTEventsDetectorModelAssetPropertyValueTimestamp (\s a -> s { _ioTEventsDetectorModelAssetPropertyValueTimestamp = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-value
+itedmapvValue :: Lens' IoTEventsDetectorModelAssetPropertyValue (Maybe IoTEventsDetectorModelAssetPropertyVariant)
+itedmapvValue = lens _ioTEventsDetectorModelAssetPropertyValueValue (\s a -> s { _ioTEventsDetectorModelAssetPropertyValueValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyVariant.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyVariant.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyVariant.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyVariant where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelAssetPropertyVariant.
+-- See 'ioTEventsDetectorModelAssetPropertyVariant' for a more convenient
+-- constructor.
+data IoTEventsDetectorModelAssetPropertyVariant =
+  IoTEventsDetectorModelAssetPropertyVariant
+  { _ioTEventsDetectorModelAssetPropertyVariantBooleanValue :: Maybe (Val Text)
+  , _ioTEventsDetectorModelAssetPropertyVariantDoubleValue :: Maybe (Val Text)
+  , _ioTEventsDetectorModelAssetPropertyVariantIntegerValue :: Maybe (Val Text)
+  , _ioTEventsDetectorModelAssetPropertyVariantStringValue :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelAssetPropertyVariant where
+  toJSON IoTEventsDetectorModelAssetPropertyVariant{..} =
+    object $
+    catMaybes
+    [ fmap (("BooleanValue",) . toJSON) _ioTEventsDetectorModelAssetPropertyVariantBooleanValue
+    , fmap (("DoubleValue",) . toJSON) _ioTEventsDetectorModelAssetPropertyVariantDoubleValue
+    , fmap (("IntegerValue",) . toJSON) _ioTEventsDetectorModelAssetPropertyVariantIntegerValue
+    , fmap (("StringValue",) . toJSON) _ioTEventsDetectorModelAssetPropertyVariantStringValue
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelAssetPropertyVariant' containing
+-- required fields as arguments.
+ioTEventsDetectorModelAssetPropertyVariant
+  :: IoTEventsDetectorModelAssetPropertyVariant
+ioTEventsDetectorModelAssetPropertyVariant  =
+  IoTEventsDetectorModelAssetPropertyVariant
+  { _ioTEventsDetectorModelAssetPropertyVariantBooleanValue = Nothing
+  , _ioTEventsDetectorModelAssetPropertyVariantDoubleValue = Nothing
+  , _ioTEventsDetectorModelAssetPropertyVariantIntegerValue = Nothing
+  , _ioTEventsDetectorModelAssetPropertyVariantStringValue = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-booleanvalue
+itedmapvBooleanValue :: Lens' IoTEventsDetectorModelAssetPropertyVariant (Maybe (Val Text))
+itedmapvBooleanValue = lens _ioTEventsDetectorModelAssetPropertyVariantBooleanValue (\s a -> s { _ioTEventsDetectorModelAssetPropertyVariantBooleanValue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-doublevalue
+itedmapvDoubleValue :: Lens' IoTEventsDetectorModelAssetPropertyVariant (Maybe (Val Text))
+itedmapvDoubleValue = lens _ioTEventsDetectorModelAssetPropertyVariantDoubleValue (\s a -> s { _ioTEventsDetectorModelAssetPropertyVariantDoubleValue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-integervalue
+itedmapvIntegerValue :: Lens' IoTEventsDetectorModelAssetPropertyVariant (Maybe (Val Text))
+itedmapvIntegerValue = lens _ioTEventsDetectorModelAssetPropertyVariantIntegerValue (\s a -> s { _ioTEventsDetectorModelAssetPropertyVariantIntegerValue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-stringvalue
+itedmapvStringValue :: Lens' IoTEventsDetectorModelAssetPropertyVariant (Maybe (Val Text))
+itedmapvStringValue = lens _ioTEventsDetectorModelAssetPropertyVariantStringValue (\s a -> s { _ioTEventsDetectorModelAssetPropertyVariantStringValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDynamoDB.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDynamoDB.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDynamoDB.hs
@@ -0,0 +1,101 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDB where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
+
+-- | Full data type definition for IoTEventsDetectorModelDynamoDB. See
+-- 'ioTEventsDetectorModelDynamoDB' for a more convenient constructor.
+data IoTEventsDetectorModelDynamoDB =
+  IoTEventsDetectorModelDynamoDB
+  { _ioTEventsDetectorModelDynamoDBHashKeyField :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBHashKeyType :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBHashKeyValue :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBOperation :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBPayload :: Maybe IoTEventsDetectorModelPayload
+  , _ioTEventsDetectorModelDynamoDBPayloadField :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBRangeKeyField :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBRangeKeyType :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBRangeKeyValue :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDynamoDBTableName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelDynamoDB where
+  toJSON IoTEventsDetectorModelDynamoDB{..} =
+    object $
+    catMaybes
+    [ fmap (("HashKeyField",) . toJSON) _ioTEventsDetectorModelDynamoDBHashKeyField
+    , fmap (("HashKeyType",) . toJSON) _ioTEventsDetectorModelDynamoDBHashKeyType
+    , fmap (("HashKeyValue",) . toJSON) _ioTEventsDetectorModelDynamoDBHashKeyValue
+    , fmap (("Operation",) . toJSON) _ioTEventsDetectorModelDynamoDBOperation
+    , fmap (("Payload",) . toJSON) _ioTEventsDetectorModelDynamoDBPayload
+    , fmap (("PayloadField",) . toJSON) _ioTEventsDetectorModelDynamoDBPayloadField
+    , fmap (("RangeKeyField",) . toJSON) _ioTEventsDetectorModelDynamoDBRangeKeyField
+    , fmap (("RangeKeyType",) . toJSON) _ioTEventsDetectorModelDynamoDBRangeKeyType
+    , fmap (("RangeKeyValue",) . toJSON) _ioTEventsDetectorModelDynamoDBRangeKeyValue
+    , fmap (("TableName",) . toJSON) _ioTEventsDetectorModelDynamoDBTableName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelDynamoDB' containing required
+-- fields as arguments.
+ioTEventsDetectorModelDynamoDB
+  :: IoTEventsDetectorModelDynamoDB
+ioTEventsDetectorModelDynamoDB  =
+  IoTEventsDetectorModelDynamoDB
+  { _ioTEventsDetectorModelDynamoDBHashKeyField = Nothing
+  , _ioTEventsDetectorModelDynamoDBHashKeyType = Nothing
+  , _ioTEventsDetectorModelDynamoDBHashKeyValue = Nothing
+  , _ioTEventsDetectorModelDynamoDBOperation = Nothing
+  , _ioTEventsDetectorModelDynamoDBPayload = Nothing
+  , _ioTEventsDetectorModelDynamoDBPayloadField = Nothing
+  , _ioTEventsDetectorModelDynamoDBRangeKeyField = Nothing
+  , _ioTEventsDetectorModelDynamoDBRangeKeyType = Nothing
+  , _ioTEventsDetectorModelDynamoDBRangeKeyValue = Nothing
+  , _ioTEventsDetectorModelDynamoDBTableName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyfield
+itedmddbHashKeyField :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbHashKeyField = lens _ioTEventsDetectorModelDynamoDBHashKeyField (\s a -> s { _ioTEventsDetectorModelDynamoDBHashKeyField = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeytype
+itedmddbHashKeyType :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbHashKeyType = lens _ioTEventsDetectorModelDynamoDBHashKeyType (\s a -> s { _ioTEventsDetectorModelDynamoDBHashKeyType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyvalue
+itedmddbHashKeyValue :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbHashKeyValue = lens _ioTEventsDetectorModelDynamoDBHashKeyValue (\s a -> s { _ioTEventsDetectorModelDynamoDBHashKeyValue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-operation
+itedmddbOperation :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbOperation = lens _ioTEventsDetectorModelDynamoDBOperation (\s a -> s { _ioTEventsDetectorModelDynamoDBOperation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payload
+itedmddbPayload :: Lens' IoTEventsDetectorModelDynamoDB (Maybe IoTEventsDetectorModelPayload)
+itedmddbPayload = lens _ioTEventsDetectorModelDynamoDBPayload (\s a -> s { _ioTEventsDetectorModelDynamoDBPayload = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payloadfield
+itedmddbPayloadField :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbPayloadField = lens _ioTEventsDetectorModelDynamoDBPayloadField (\s a -> s { _ioTEventsDetectorModelDynamoDBPayloadField = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyfield
+itedmddbRangeKeyField :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbRangeKeyField = lens _ioTEventsDetectorModelDynamoDBRangeKeyField (\s a -> s { _ioTEventsDetectorModelDynamoDBRangeKeyField = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeytype
+itedmddbRangeKeyType :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbRangeKeyType = lens _ioTEventsDetectorModelDynamoDBRangeKeyType (\s a -> s { _ioTEventsDetectorModelDynamoDBRangeKeyType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyvalue
+itedmddbRangeKeyValue :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbRangeKeyValue = lens _ioTEventsDetectorModelDynamoDBRangeKeyValue (\s a -> s { _ioTEventsDetectorModelDynamoDBRangeKeyValue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-tablename
+itedmddbTableName :: Lens' IoTEventsDetectorModelDynamoDB (Maybe (Val Text))
+itedmddbTableName = lens _ioTEventsDetectorModelDynamoDBTableName (\s a -> s { _ioTEventsDetectorModelDynamoDBTableName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDynamoDBv2.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDynamoDBv2.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDynamoDBv2.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDBv2 where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
+
+-- | Full data type definition for IoTEventsDetectorModelDynamoDBv2. See
+-- 'ioTEventsDetectorModelDynamoDBv2' for a more convenient constructor.
+data IoTEventsDetectorModelDynamoDBv2 =
+  IoTEventsDetectorModelDynamoDBv2
+  { _ioTEventsDetectorModelDynamoDBv2Payload :: Maybe IoTEventsDetectorModelPayload
+  , _ioTEventsDetectorModelDynamoDBv2TableName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelDynamoDBv2 where
+  toJSON IoTEventsDetectorModelDynamoDBv2{..} =
+    object $
+    catMaybes
+    [ fmap (("Payload",) . toJSON) _ioTEventsDetectorModelDynamoDBv2Payload
+    , fmap (("TableName",) . toJSON) _ioTEventsDetectorModelDynamoDBv2TableName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelDynamoDBv2' containing required
+-- fields as arguments.
+ioTEventsDetectorModelDynamoDBv2
+  :: IoTEventsDetectorModelDynamoDBv2
+ioTEventsDetectorModelDynamoDBv2  =
+  IoTEventsDetectorModelDynamoDBv2
+  { _ioTEventsDetectorModelDynamoDBv2Payload = Nothing
+  , _ioTEventsDetectorModelDynamoDBv2TableName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-payload
+itedmddbvPayload :: Lens' IoTEventsDetectorModelDynamoDBv2 (Maybe IoTEventsDetectorModelPayload)
+itedmddbvPayload = lens _ioTEventsDetectorModelDynamoDBv2Payload (\s a -> s { _ioTEventsDetectorModelDynamoDBv2Payload = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-tablename
+itedmddbvTableName :: Lens' IoTEventsDetectorModelDynamoDBv2 (Maybe (Val Text))
+itedmddbvTableName = lens _ioTEventsDetectorModelDynamoDBv2TableName (\s a -> s { _ioTEventsDetectorModelDynamoDBv2TableName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.hs
@@ -8,13 +8,14 @@
 module Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
 
 -- | Full data type definition for IoTEventsDetectorModelFirehose. See
 -- 'ioTEventsDetectorModelFirehose' for a more convenient constructor.
 data IoTEventsDetectorModelFirehose =
   IoTEventsDetectorModelFirehose
   { _ioTEventsDetectorModelFirehoseDeliveryStreamName :: Maybe (Val Text)
+  , _ioTEventsDetectorModelFirehosePayload :: Maybe IoTEventsDetectorModelPayload
   , _ioTEventsDetectorModelFirehoseSeparator :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -23,6 +24,7 @@
     object $
     catMaybes
     [ fmap (("DeliveryStreamName",) . toJSON) _ioTEventsDetectorModelFirehoseDeliveryStreamName
+    , fmap (("Payload",) . toJSON) _ioTEventsDetectorModelFirehosePayload
     , fmap (("Separator",) . toJSON) _ioTEventsDetectorModelFirehoseSeparator
     ]
 
@@ -33,12 +35,17 @@
 ioTEventsDetectorModelFirehose  =
   IoTEventsDetectorModelFirehose
   { _ioTEventsDetectorModelFirehoseDeliveryStreamName = Nothing
+  , _ioTEventsDetectorModelFirehosePayload = Nothing
   , _ioTEventsDetectorModelFirehoseSeparator = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-deliverystreamname
 itedmfDeliveryStreamName :: Lens' IoTEventsDetectorModelFirehose (Maybe (Val Text))
 itedmfDeliveryStreamName = lens _ioTEventsDetectorModelFirehoseDeliveryStreamName (\s a -> s { _ioTEventsDetectorModelFirehoseDeliveryStreamName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-payload
+itedmfPayload :: Lens' IoTEventsDetectorModelFirehose (Maybe IoTEventsDetectorModelPayload)
+itedmfPayload = lens _ioTEventsDetectorModelFirehosePayload (\s a -> s { _ioTEventsDetectorModelFirehosePayload = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-separator
 itedmfSeparator :: Lens' IoTEventsDetectorModelFirehose (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs
@@ -8,13 +8,14 @@
 module Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
 
 -- | Full data type definition for IoTEventsDetectorModelIotEvents. See
 -- 'ioTEventsDetectorModelIotEvents' for a more convenient constructor.
 data IoTEventsDetectorModelIotEvents =
   IoTEventsDetectorModelIotEvents
   { _ioTEventsDetectorModelIotEventsInputName :: Maybe (Val Text)
+  , _ioTEventsDetectorModelIotEventsPayload :: Maybe IoTEventsDetectorModelPayload
   } deriving (Show, Eq)
 
 instance ToJSON IoTEventsDetectorModelIotEvents where
@@ -22,6 +23,7 @@
     object $
     catMaybes
     [ fmap (("InputName",) . toJSON) _ioTEventsDetectorModelIotEventsInputName
+    , fmap (("Payload",) . toJSON) _ioTEventsDetectorModelIotEventsPayload
     ]
 
 -- | Constructor for 'IoTEventsDetectorModelIotEvents' containing required
@@ -31,8 +33,13 @@
 ioTEventsDetectorModelIotEvents  =
   IoTEventsDetectorModelIotEvents
   { _ioTEventsDetectorModelIotEventsInputName = Nothing
+  , _ioTEventsDetectorModelIotEventsPayload = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-inputname
 itedmieInputName :: Lens' IoTEventsDetectorModelIotEvents (Maybe (Val Text))
 itedmieInputName = lens _ioTEventsDetectorModelIotEventsInputName (\s a -> s { _ioTEventsDetectorModelIotEventsInputName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-payload
+itedmiePayload :: Lens' IoTEventsDetectorModelIotEvents (Maybe IoTEventsDetectorModelPayload)
+itedmiePayload = lens _ioTEventsDetectorModelIotEventsPayload (\s a -> s { _ioTEventsDetectorModelIotEventsPayload = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotSiteWise.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotSiteWise.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotSiteWise.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelIotSiteWise where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyValue
+
+-- | Full data type definition for IoTEventsDetectorModelIotSiteWise. See
+-- 'ioTEventsDetectorModelIotSiteWise' for a more convenient constructor.
+data IoTEventsDetectorModelIotSiteWise =
+  IoTEventsDetectorModelIotSiteWise
+  { _ioTEventsDetectorModelIotSiteWiseAssetId :: Maybe (Val Text)
+  , _ioTEventsDetectorModelIotSiteWiseEntryId :: Maybe (Val Text)
+  , _ioTEventsDetectorModelIotSiteWisePropertyAlias :: Maybe (Val Text)
+  , _ioTEventsDetectorModelIotSiteWisePropertyId :: Maybe (Val Text)
+  , _ioTEventsDetectorModelIotSiteWisePropertyValue :: Maybe IoTEventsDetectorModelAssetPropertyValue
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelIotSiteWise where
+  toJSON IoTEventsDetectorModelIotSiteWise{..} =
+    object $
+    catMaybes
+    [ fmap (("AssetId",) . toJSON) _ioTEventsDetectorModelIotSiteWiseAssetId
+    , fmap (("EntryId",) . toJSON) _ioTEventsDetectorModelIotSiteWiseEntryId
+    , fmap (("PropertyAlias",) . toJSON) _ioTEventsDetectorModelIotSiteWisePropertyAlias
+    , fmap (("PropertyId",) . toJSON) _ioTEventsDetectorModelIotSiteWisePropertyId
+    , fmap (("PropertyValue",) . toJSON) _ioTEventsDetectorModelIotSiteWisePropertyValue
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelIotSiteWise' containing required
+-- fields as arguments.
+ioTEventsDetectorModelIotSiteWise
+  :: IoTEventsDetectorModelIotSiteWise
+ioTEventsDetectorModelIotSiteWise  =
+  IoTEventsDetectorModelIotSiteWise
+  { _ioTEventsDetectorModelIotSiteWiseAssetId = Nothing
+  , _ioTEventsDetectorModelIotSiteWiseEntryId = Nothing
+  , _ioTEventsDetectorModelIotSiteWisePropertyAlias = Nothing
+  , _ioTEventsDetectorModelIotSiteWisePropertyId = Nothing
+  , _ioTEventsDetectorModelIotSiteWisePropertyValue = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-assetid
+itedmiswAssetId :: Lens' IoTEventsDetectorModelIotSiteWise (Maybe (Val Text))
+itedmiswAssetId = lens _ioTEventsDetectorModelIotSiteWiseAssetId (\s a -> s { _ioTEventsDetectorModelIotSiteWiseAssetId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-entryid
+itedmiswEntryId :: Lens' IoTEventsDetectorModelIotSiteWise (Maybe (Val Text))
+itedmiswEntryId = lens _ioTEventsDetectorModelIotSiteWiseEntryId (\s a -> s { _ioTEventsDetectorModelIotSiteWiseEntryId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyalias
+itedmiswPropertyAlias :: Lens' IoTEventsDetectorModelIotSiteWise (Maybe (Val Text))
+itedmiswPropertyAlias = lens _ioTEventsDetectorModelIotSiteWisePropertyAlias (\s a -> s { _ioTEventsDetectorModelIotSiteWisePropertyAlias = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyid
+itedmiswPropertyId :: Lens' IoTEventsDetectorModelIotSiteWise (Maybe (Val Text))
+itedmiswPropertyId = lens _ioTEventsDetectorModelIotSiteWisePropertyId (\s a -> s { _ioTEventsDetectorModelIotSiteWisePropertyId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyvalue
+itedmiswPropertyValue :: Lens' IoTEventsDetectorModelIotSiteWise (Maybe IoTEventsDetectorModelAssetPropertyValue)
+itedmiswPropertyValue = lens _ioTEventsDetectorModelIotSiteWisePropertyValue (\s a -> s { _ioTEventsDetectorModelIotSiteWisePropertyValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs
@@ -8,7 +8,7 @@
 module Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
 
 -- | Full data type definition for IoTEventsDetectorModelIotTopicPublish. See
 -- 'ioTEventsDetectorModelIotTopicPublish' for a more convenient
@@ -16,6 +16,7 @@
 data IoTEventsDetectorModelIotTopicPublish =
   IoTEventsDetectorModelIotTopicPublish
   { _ioTEventsDetectorModelIotTopicPublishMqttTopic :: Maybe (Val Text)
+  , _ioTEventsDetectorModelIotTopicPublishPayload :: Maybe IoTEventsDetectorModelPayload
   } deriving (Show, Eq)
 
 instance ToJSON IoTEventsDetectorModelIotTopicPublish where
@@ -23,6 +24,7 @@
     object $
     catMaybes
     [ fmap (("MqttTopic",) . toJSON) _ioTEventsDetectorModelIotTopicPublishMqttTopic
+    , fmap (("Payload",) . toJSON) _ioTEventsDetectorModelIotTopicPublishPayload
     ]
 
 -- | Constructor for 'IoTEventsDetectorModelIotTopicPublish' containing
@@ -32,8 +34,13 @@
 ioTEventsDetectorModelIotTopicPublish  =
   IoTEventsDetectorModelIotTopicPublish
   { _ioTEventsDetectorModelIotTopicPublishMqttTopic = Nothing
+  , _ioTEventsDetectorModelIotTopicPublishPayload = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-mqtttopic
 itedmitpMqttTopic :: Lens' IoTEventsDetectorModelIotTopicPublish (Maybe (Val Text))
 itedmitpMqttTopic = lens _ioTEventsDetectorModelIotTopicPublishMqttTopic (\s a -> s { _ioTEventsDetectorModelIotTopicPublishMqttTopic = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-payload
+itedmitpPayload :: Lens' IoTEventsDetectorModelIotTopicPublish (Maybe IoTEventsDetectorModelPayload)
+itedmitpPayload = lens _ioTEventsDetectorModelIotTopicPublishPayload (\s a -> s { _ioTEventsDetectorModelIotTopicPublishPayload = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs
@@ -8,13 +8,14 @@
 module Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
 
 -- | Full data type definition for IoTEventsDetectorModelLambda. See
 -- 'ioTEventsDetectorModelLambda' for a more convenient constructor.
 data IoTEventsDetectorModelLambda =
   IoTEventsDetectorModelLambda
   { _ioTEventsDetectorModelLambdaFunctionArn :: Maybe (Val Text)
+  , _ioTEventsDetectorModelLambdaPayload :: Maybe IoTEventsDetectorModelPayload
   } deriving (Show, Eq)
 
 instance ToJSON IoTEventsDetectorModelLambda where
@@ -22,6 +23,7 @@
     object $
     catMaybes
     [ fmap (("FunctionArn",) . toJSON) _ioTEventsDetectorModelLambdaFunctionArn
+    , fmap (("Payload",) . toJSON) _ioTEventsDetectorModelLambdaPayload
     ]
 
 -- | Constructor for 'IoTEventsDetectorModelLambda' containing required fields
@@ -31,8 +33,13 @@
 ioTEventsDetectorModelLambda  =
   IoTEventsDetectorModelLambda
   { _ioTEventsDetectorModelLambdaFunctionArn = Nothing
+  , _ioTEventsDetectorModelLambdaPayload = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-functionarn
 itedmlFunctionArn :: Lens' IoTEventsDetectorModelLambda (Maybe (Val Text))
 itedmlFunctionArn = lens _ioTEventsDetectorModelLambdaFunctionArn (\s a -> s { _ioTEventsDetectorModelLambdaFunctionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-payload
+itedmlPayload :: Lens' IoTEventsDetectorModelLambda (Maybe IoTEventsDetectorModelPayload)
+itedmlPayload = lens _ioTEventsDetectorModelLambdaPayload (\s a -> s { _ioTEventsDetectorModelLambdaPayload = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelPayload.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelPayload.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelPayload.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelPayload. See
+-- 'ioTEventsDetectorModelPayload' for a more convenient constructor.
+data IoTEventsDetectorModelPayload =
+  IoTEventsDetectorModelPayload
+  { _ioTEventsDetectorModelPayloadContentExpression :: Maybe (Val Text)
+  , _ioTEventsDetectorModelPayloadType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelPayload where
+  toJSON IoTEventsDetectorModelPayload{..} =
+    object $
+    catMaybes
+    [ fmap (("ContentExpression",) . toJSON) _ioTEventsDetectorModelPayloadContentExpression
+    , fmap (("Type",) . toJSON) _ioTEventsDetectorModelPayloadType
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelPayload' containing required
+-- fields as arguments.
+ioTEventsDetectorModelPayload
+  :: IoTEventsDetectorModelPayload
+ioTEventsDetectorModelPayload  =
+  IoTEventsDetectorModelPayload
+  { _ioTEventsDetectorModelPayloadContentExpression = Nothing
+  , _ioTEventsDetectorModelPayloadType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-contentexpression
+itedmpContentExpression :: Lens' IoTEventsDetectorModelPayload (Maybe (Val Text))
+itedmpContentExpression = lens _ioTEventsDetectorModelPayloadContentExpression (\s a -> s { _ioTEventsDetectorModelPayloadContentExpression = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-type
+itedmpType :: Lens' IoTEventsDetectorModelPayload (Maybe (Val Text))
+itedmpType = lens _ioTEventsDetectorModelPayloadType (\s a -> s { _ioTEventsDetectorModelPayloadType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs
@@ -8,20 +8,22 @@
 module Stratosphere.ResourceProperties.IoTEventsDetectorModelSns where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
 
 -- | Full data type definition for IoTEventsDetectorModelSns. See
 -- 'ioTEventsDetectorModelSns' for a more convenient constructor.
 data IoTEventsDetectorModelSns =
   IoTEventsDetectorModelSns
-  { _ioTEventsDetectorModelSnsTargetArn :: Maybe (Val Text)
+  { _ioTEventsDetectorModelSnsPayload :: Maybe IoTEventsDetectorModelPayload
+  , _ioTEventsDetectorModelSnsTargetArn :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON IoTEventsDetectorModelSns where
   toJSON IoTEventsDetectorModelSns{..} =
     object $
     catMaybes
-    [ fmap (("TargetArn",) . toJSON) _ioTEventsDetectorModelSnsTargetArn
+    [ fmap (("Payload",) . toJSON) _ioTEventsDetectorModelSnsPayload
+    , fmap (("TargetArn",) . toJSON) _ioTEventsDetectorModelSnsTargetArn
     ]
 
 -- | Constructor for 'IoTEventsDetectorModelSns' containing required fields as
@@ -30,9 +32,14 @@
   :: IoTEventsDetectorModelSns
 ioTEventsDetectorModelSns  =
   IoTEventsDetectorModelSns
-  { _ioTEventsDetectorModelSnsTargetArn = Nothing
+  { _ioTEventsDetectorModelSnsPayload = Nothing
+  , _ioTEventsDetectorModelSnsTargetArn = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-payload
+itedmsnPayload :: Lens' IoTEventsDetectorModelSns (Maybe IoTEventsDetectorModelPayload)
+itedmsnPayload = lens _ioTEventsDetectorModelSnsPayload (\s a -> s { _ioTEventsDetectorModelSnsPayload = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-targetarn
-itedmsTargetArn :: Lens' IoTEventsDetectorModelSns (Maybe (Val Text))
-itedmsTargetArn = lens _ioTEventsDetectorModelSnsTargetArn (\s a -> s { _ioTEventsDetectorModelSnsTargetArn = a })
+itedmsnTargetArn :: Lens' IoTEventsDetectorModelSns (Maybe (Val Text))
+itedmsnTargetArn = lens _ioTEventsDetectorModelSnsTargetArn (\s a -> s { _ioTEventsDetectorModelSnsTargetArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.hs
@@ -8,13 +8,14 @@
 module Stratosphere.ResourceProperties.IoTEventsDetectorModelSqs where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
 
 -- | Full data type definition for IoTEventsDetectorModelSqs. See
 -- 'ioTEventsDetectorModelSqs' for a more convenient constructor.
 data IoTEventsDetectorModelSqs =
   IoTEventsDetectorModelSqs
-  { _ioTEventsDetectorModelSqsQueueUrl :: Maybe (Val Text)
+  { _ioTEventsDetectorModelSqsPayload :: Maybe IoTEventsDetectorModelPayload
+  , _ioTEventsDetectorModelSqsQueueUrl :: Maybe (Val Text)
   , _ioTEventsDetectorModelSqsUseBase64 :: Maybe (Val Bool)
   } deriving (Show, Eq)
 
@@ -22,7 +23,8 @@
   toJSON IoTEventsDetectorModelSqs{..} =
     object $
     catMaybes
-    [ fmap (("QueueUrl",) . toJSON) _ioTEventsDetectorModelSqsQueueUrl
+    [ fmap (("Payload",) . toJSON) _ioTEventsDetectorModelSqsPayload
+    , fmap (("QueueUrl",) . toJSON) _ioTEventsDetectorModelSqsQueueUrl
     , fmap (("UseBase64",) . toJSON) _ioTEventsDetectorModelSqsUseBase64
     ]
 
@@ -32,14 +34,19 @@
   :: IoTEventsDetectorModelSqs
 ioTEventsDetectorModelSqs  =
   IoTEventsDetectorModelSqs
-  { _ioTEventsDetectorModelSqsQueueUrl = Nothing
+  { _ioTEventsDetectorModelSqsPayload = Nothing
+  , _ioTEventsDetectorModelSqsQueueUrl = Nothing
   , _ioTEventsDetectorModelSqsUseBase64 = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-payload
+itedmsqPayload :: Lens' IoTEventsDetectorModelSqs (Maybe IoTEventsDetectorModelPayload)
+itedmsqPayload = lens _ioTEventsDetectorModelSqsPayload (\s a -> s { _ioTEventsDetectorModelSqsPayload = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-queueurl
-itedmsQueueUrl :: Lens' IoTEventsDetectorModelSqs (Maybe (Val Text))
-itedmsQueueUrl = lens _ioTEventsDetectorModelSqsQueueUrl (\s a -> s { _ioTEventsDetectorModelSqsQueueUrl = a })
+itedmsqQueueUrl :: Lens' IoTEventsDetectorModelSqs (Maybe (Val Text))
+itedmsqQueueUrl = lens _ioTEventsDetectorModelSqsQueueUrl (\s a -> s { _ioTEventsDetectorModelSqsQueueUrl = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-usebase64
-itedmsUseBase64 :: Lens' IoTEventsDetectorModelSqs (Maybe (Val Bool))
-itedmsUseBase64 = lens _ioTEventsDetectorModelSqsUseBase64 (\s a -> s { _ioTEventsDetectorModelSqsUseBase64 = a })
+itedmsqUseBase64 :: Lens' IoTEventsDetectorModelSqs (Maybe (Val Bool))
+itedmsqUseBase64 = lens _ioTEventsDetectorModelSqsUseBase64 (\s a -> s { _ioTEventsDetectorModelSqsUseBase64 = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsColumnWildcard.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsColumnWildcard.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsColumnWildcard.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsColumnWildcard where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for LakeFormationPermissionsColumnWildcard. See
+-- 'lakeFormationPermissionsColumnWildcard' for a more convenient
+-- constructor.
+data LakeFormationPermissionsColumnWildcard =
+  LakeFormationPermissionsColumnWildcard
+  { _lakeFormationPermissionsColumnWildcardExcludedColumnNames :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsColumnWildcard where
+  toJSON LakeFormationPermissionsColumnWildcard{..} =
+    object $
+    catMaybes
+    [ fmap (("ExcludedColumnNames",) . toJSON) _lakeFormationPermissionsColumnWildcardExcludedColumnNames
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsColumnWildcard' containing
+-- required fields as arguments.
+lakeFormationPermissionsColumnWildcard
+  :: LakeFormationPermissionsColumnWildcard
+lakeFormationPermissionsColumnWildcard  =
+  LakeFormationPermissionsColumnWildcard
+  { _lakeFormationPermissionsColumnWildcardExcludedColumnNames = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html#cfn-lakeformation-permissions-columnwildcard-excludedcolumnnames
+lfpcwExcludedColumnNames :: Lens' LakeFormationPermissionsColumnWildcard (Maybe (ValList Text))
+lfpcwExcludedColumnNames = lens _lakeFormationPermissionsColumnWildcardExcludedColumnNames (\s a -> s { _lakeFormationPermissionsColumnWildcardExcludedColumnNames = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDataLocationResource.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDataLocationResource.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsDataLocationResource.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsDataLocationResource where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- LakeFormationPermissionsDataLocationResource. See
+-- 'lakeFormationPermissionsDataLocationResource' for a more convenient
+-- constructor.
+data LakeFormationPermissionsDataLocationResource =
+  LakeFormationPermissionsDataLocationResource
+  { _lakeFormationPermissionsDataLocationResourceS3Resource :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsDataLocationResource where
+  toJSON LakeFormationPermissionsDataLocationResource{..} =
+    object $
+    catMaybes
+    [ fmap (("S3Resource",) . toJSON) _lakeFormationPermissionsDataLocationResourceS3Resource
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsDataLocationResource' containing
+-- required fields as arguments.
+lakeFormationPermissionsDataLocationResource
+  :: LakeFormationPermissionsDataLocationResource
+lakeFormationPermissionsDataLocationResource  =
+  LakeFormationPermissionsDataLocationResource
+  { _lakeFormationPermissionsDataLocationResourceS3Resource = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html#cfn-lakeformation-permissions-datalocationresource-s3resource
+lfpdlrS3Resource :: Lens' LakeFormationPermissionsDataLocationResource (Maybe (Val Text))
+lfpdlrS3Resource = lens _lakeFormationPermissionsDataLocationResourceS3Resource (\s a -> s { _lakeFormationPermissionsDataLocationResourceS3Resource = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs
--- a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsResource.hs
@@ -8,23 +8,29 @@
 module Stratosphere.ResourceProperties.LakeFormationPermissionsResource where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LakeFormationPermissionsDataLocationResource
 import Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource
 import Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource
+import Stratosphere.ResourceProperties.LakeFormationPermissionsTableWithColumnsResource
 
 -- | Full data type definition for LakeFormationPermissionsResource. See
 -- 'lakeFormationPermissionsResource' for a more convenient constructor.
 data LakeFormationPermissionsResource =
   LakeFormationPermissionsResource
-  { _lakeFormationPermissionsResourceDatabaseResource :: Maybe LakeFormationPermissionsDatabaseResource
+  { _lakeFormationPermissionsResourceDataLocationResource :: Maybe LakeFormationPermissionsDataLocationResource
+  , _lakeFormationPermissionsResourceDatabaseResource :: Maybe LakeFormationPermissionsDatabaseResource
   , _lakeFormationPermissionsResourceTableResource :: Maybe LakeFormationPermissionsTableResource
+  , _lakeFormationPermissionsResourceTableWithColumnsResource :: Maybe LakeFormationPermissionsTableWithColumnsResource
   } deriving (Show, Eq)
 
 instance ToJSON LakeFormationPermissionsResource where
   toJSON LakeFormationPermissionsResource{..} =
     object $
     catMaybes
-    [ fmap (("DatabaseResource",) . toJSON) _lakeFormationPermissionsResourceDatabaseResource
+    [ fmap (("DataLocationResource",) . toJSON) _lakeFormationPermissionsResourceDataLocationResource
+    , fmap (("DatabaseResource",) . toJSON) _lakeFormationPermissionsResourceDatabaseResource
     , fmap (("TableResource",) . toJSON) _lakeFormationPermissionsResourceTableResource
+    , fmap (("TableWithColumnsResource",) . toJSON) _lakeFormationPermissionsResourceTableWithColumnsResource
     ]
 
 -- | Constructor for 'LakeFormationPermissionsResource' containing required
@@ -33,10 +39,16 @@
   :: LakeFormationPermissionsResource
 lakeFormationPermissionsResource  =
   LakeFormationPermissionsResource
-  { _lakeFormationPermissionsResourceDatabaseResource = Nothing
+  { _lakeFormationPermissionsResourceDataLocationResource = Nothing
+  , _lakeFormationPermissionsResourceDatabaseResource = Nothing
   , _lakeFormationPermissionsResourceTableResource = Nothing
+  , _lakeFormationPermissionsResourceTableWithColumnsResource = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-datalocationresource
+lfprDataLocationResource :: Lens' LakeFormationPermissionsResource (Maybe LakeFormationPermissionsDataLocationResource)
+lfprDataLocationResource = lens _lakeFormationPermissionsResourceDataLocationResource (\s a -> s { _lakeFormationPermissionsResourceDataLocationResource = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-databaseresource
 lfprDatabaseResource :: Lens' LakeFormationPermissionsResource (Maybe LakeFormationPermissionsDatabaseResource)
 lfprDatabaseResource = lens _lakeFormationPermissionsResourceDatabaseResource (\s a -> s { _lakeFormationPermissionsResourceDatabaseResource = a })
@@ -44,3 +56,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tableresource
 lfprTableResource :: Lens' LakeFormationPermissionsResource (Maybe LakeFormationPermissionsTableResource)
 lfprTableResource = lens _lakeFormationPermissionsResourceTableResource (\s a -> s { _lakeFormationPermissionsResourceTableResource = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tablewithcolumnsresource
+lfprTableWithColumnsResource :: Lens' LakeFormationPermissionsResource (Maybe LakeFormationPermissionsTableWithColumnsResource)
+lfprTableWithColumnsResource = lens _lakeFormationPermissionsResourceTableWithColumnsResource (\s a -> s { _lakeFormationPermissionsResourceTableWithColumnsResource = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableWithColumnsResource.hs b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableWithColumnsResource.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableWithColumnsResource.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html
+
+module Stratosphere.ResourceProperties.LakeFormationPermissionsTableWithColumnsResource where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.LakeFormationPermissionsColumnWildcard
+
+-- | Full data type definition for
+-- LakeFormationPermissionsTableWithColumnsResource. See
+-- 'lakeFormationPermissionsTableWithColumnsResource' for a more convenient
+-- constructor.
+data LakeFormationPermissionsTableWithColumnsResource =
+  LakeFormationPermissionsTableWithColumnsResource
+  { _lakeFormationPermissionsTableWithColumnsResourceColumnNames :: Maybe (ValList Text)
+  , _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard :: Maybe LakeFormationPermissionsColumnWildcard
+  , _lakeFormationPermissionsTableWithColumnsResourceDatabaseName :: Maybe (Val Text)
+  , _lakeFormationPermissionsTableWithColumnsResourceName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON LakeFormationPermissionsTableWithColumnsResource where
+  toJSON LakeFormationPermissionsTableWithColumnsResource{..} =
+    object $
+    catMaybes
+    [ fmap (("ColumnNames",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceColumnNames
+    , fmap (("ColumnWildcard",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard
+    , fmap (("DatabaseName",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceDatabaseName
+    , fmap (("Name",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceName
+    ]
+
+-- | Constructor for 'LakeFormationPermissionsTableWithColumnsResource'
+-- containing required fields as arguments.
+lakeFormationPermissionsTableWithColumnsResource
+  :: LakeFormationPermissionsTableWithColumnsResource
+lakeFormationPermissionsTableWithColumnsResource  =
+  LakeFormationPermissionsTableWithColumnsResource
+  { _lakeFormationPermissionsTableWithColumnsResourceColumnNames = Nothing
+  , _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard = Nothing
+  , _lakeFormationPermissionsTableWithColumnsResourceDatabaseName = Nothing
+  , _lakeFormationPermissionsTableWithColumnsResourceName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnnames
+lfptwcrColumnNames :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe (ValList Text))
+lfptwcrColumnNames = lens _lakeFormationPermissionsTableWithColumnsResourceColumnNames (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceColumnNames = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnwildcard
+lfptwcrColumnWildcard :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe LakeFormationPermissionsColumnWildcard)
+lfptwcrColumnWildcard = lens _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-databasename
+lfptwcrDatabaseName :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe (Val Text))
+lfptwcrDatabaseName = lens _lakeFormationPermissionsTableWithColumnsResourceDatabaseName (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceDatabaseName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-name
+lfptwcrName :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe (Val Text))
+lfptwcrName = lens _lakeFormationPermissionsTableWithColumnsResourceName (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MediaConvertJobTemplateHopDestination.hs b/library-gen/Stratosphere/ResourceProperties/MediaConvertJobTemplateHopDestination.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MediaConvertJobTemplateHopDestination.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html
+
+module Stratosphere.ResourceProperties.MediaConvertJobTemplateHopDestination where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MediaConvertJobTemplateHopDestination. See
+-- 'mediaConvertJobTemplateHopDestination' for a more convenient
+-- constructor.
+data MediaConvertJobTemplateHopDestination =
+  MediaConvertJobTemplateHopDestination
+  { _mediaConvertJobTemplateHopDestinationPriority :: Maybe (Val Integer)
+  , _mediaConvertJobTemplateHopDestinationQueue :: Maybe (Val Text)
+  , _mediaConvertJobTemplateHopDestinationWaitMinutes :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON MediaConvertJobTemplateHopDestination where
+  toJSON MediaConvertJobTemplateHopDestination{..} =
+    object $
+    catMaybes
+    [ fmap (("Priority",) . toJSON) _mediaConvertJobTemplateHopDestinationPriority
+    , fmap (("Queue",) . toJSON) _mediaConvertJobTemplateHopDestinationQueue
+    , fmap (("WaitMinutes",) . toJSON) _mediaConvertJobTemplateHopDestinationWaitMinutes
+    ]
+
+-- | Constructor for 'MediaConvertJobTemplateHopDestination' containing
+-- required fields as arguments.
+mediaConvertJobTemplateHopDestination
+  :: MediaConvertJobTemplateHopDestination
+mediaConvertJobTemplateHopDestination  =
+  MediaConvertJobTemplateHopDestination
+  { _mediaConvertJobTemplateHopDestinationPriority = Nothing
+  , _mediaConvertJobTemplateHopDestinationQueue = Nothing
+  , _mediaConvertJobTemplateHopDestinationWaitMinutes = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-priority
+mcjthdPriority :: Lens' MediaConvertJobTemplateHopDestination (Maybe (Val Integer))
+mcjthdPriority = lens _mediaConvertJobTemplateHopDestinationPriority (\s a -> s { _mediaConvertJobTemplateHopDestinationPriority = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-queue
+mcjthdQueue :: Lens' MediaConvertJobTemplateHopDestination (Maybe (Val Text))
+mcjthdQueue = lens _mediaConvertJobTemplateHopDestinationQueue (\s a -> s { _mediaConvertJobTemplateHopDestinationQueue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-waitminutes
+mcjthdWaitMinutes :: Lens' MediaConvertJobTemplateHopDestination (Maybe (Val Integer))
+mcjthdWaitMinutes = lens _mediaConvertJobTemplateHopDestinationWaitMinutes (\s a -> s { _mediaConvertJobTemplateHopDestinationWaitMinutes = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MediaStoreContainerMetricPolicy.hs b/library-gen/Stratosphere/ResourceProperties/MediaStoreContainerMetricPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MediaStoreContainerMetricPolicy.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html
+
+module Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicyRule
+
+-- | Full data type definition for MediaStoreContainerMetricPolicy. See
+-- 'mediaStoreContainerMetricPolicy' for a more convenient constructor.
+data MediaStoreContainerMetricPolicy =
+  MediaStoreContainerMetricPolicy
+  { _mediaStoreContainerMetricPolicyContainerLevelMetrics :: Val Text
+  , _mediaStoreContainerMetricPolicyMetricPolicyRules :: Maybe [MediaStoreContainerMetricPolicyRule]
+  } deriving (Show, Eq)
+
+instance ToJSON MediaStoreContainerMetricPolicy where
+  toJSON MediaStoreContainerMetricPolicy{..} =
+    object $
+    catMaybes
+    [ (Just . ("ContainerLevelMetrics",) . toJSON) _mediaStoreContainerMetricPolicyContainerLevelMetrics
+    , fmap (("MetricPolicyRules",) . toJSON) _mediaStoreContainerMetricPolicyMetricPolicyRules
+    ]
+
+-- | Constructor for 'MediaStoreContainerMetricPolicy' containing required
+-- fields as arguments.
+mediaStoreContainerMetricPolicy
+  :: Val Text -- ^ 'mscmpContainerLevelMetrics'
+  -> MediaStoreContainerMetricPolicy
+mediaStoreContainerMetricPolicy containerLevelMetricsarg =
+  MediaStoreContainerMetricPolicy
+  { _mediaStoreContainerMetricPolicyContainerLevelMetrics = containerLevelMetricsarg
+  , _mediaStoreContainerMetricPolicyMetricPolicyRules = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-containerlevelmetrics
+mscmpContainerLevelMetrics :: Lens' MediaStoreContainerMetricPolicy (Val Text)
+mscmpContainerLevelMetrics = lens _mediaStoreContainerMetricPolicyContainerLevelMetrics (\s a -> s { _mediaStoreContainerMetricPolicyContainerLevelMetrics = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-metricpolicyrules
+mscmpMetricPolicyRules :: Lens' MediaStoreContainerMetricPolicy (Maybe [MediaStoreContainerMetricPolicyRule])
+mscmpMetricPolicyRules = lens _mediaStoreContainerMetricPolicyMetricPolicyRules (\s a -> s { _mediaStoreContainerMetricPolicyMetricPolicyRules = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MediaStoreContainerMetricPolicyRule.hs b/library-gen/Stratosphere/ResourceProperties/MediaStoreContainerMetricPolicyRule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MediaStoreContainerMetricPolicyRule.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html
+
+module Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicyRule where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MediaStoreContainerMetricPolicyRule. See
+-- 'mediaStoreContainerMetricPolicyRule' for a more convenient constructor.
+data MediaStoreContainerMetricPolicyRule =
+  MediaStoreContainerMetricPolicyRule
+  { _mediaStoreContainerMetricPolicyRuleObjectGroup :: Val Text
+  , _mediaStoreContainerMetricPolicyRuleObjectGroupName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON MediaStoreContainerMetricPolicyRule where
+  toJSON MediaStoreContainerMetricPolicyRule{..} =
+    object $
+    catMaybes
+    [ (Just . ("ObjectGroup",) . toJSON) _mediaStoreContainerMetricPolicyRuleObjectGroup
+    , (Just . ("ObjectGroupName",) . toJSON) _mediaStoreContainerMetricPolicyRuleObjectGroupName
+    ]
+
+-- | Constructor for 'MediaStoreContainerMetricPolicyRule' containing required
+-- fields as arguments.
+mediaStoreContainerMetricPolicyRule
+  :: Val Text -- ^ 'mscmprObjectGroup'
+  -> Val Text -- ^ 'mscmprObjectGroupName'
+  -> MediaStoreContainerMetricPolicyRule
+mediaStoreContainerMetricPolicyRule objectGrouparg objectGroupNamearg =
+  MediaStoreContainerMetricPolicyRule
+  { _mediaStoreContainerMetricPolicyRuleObjectGroup = objectGrouparg
+  , _mediaStoreContainerMetricPolicyRuleObjectGroupName = objectGroupNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroup
+mscmprObjectGroup :: Lens' MediaStoreContainerMetricPolicyRule (Val Text)
+mscmprObjectGroup = lens _mediaStoreContainerMetricPolicyRuleObjectGroup (\s a -> s { _mediaStoreContainerMetricPolicyRuleObjectGroup = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroupname
+mscmprObjectGroupName :: Lens' MediaStoreContainerMetricPolicyRule (Val Text)
+mscmprObjectGroupName = lens _mediaStoreContainerMetricPolicyRuleObjectGroupName (\s a -> s { _mediaStoreContainerMetricPolicyRuleObjectGroupName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMAssociationS3OutputLocation.hs b/library-gen/Stratosphere/ResourceProperties/SSMAssociationS3OutputLocation.hs
--- a/library-gen/Stratosphere/ResourceProperties/SSMAssociationS3OutputLocation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SSMAssociationS3OutputLocation.hs
@@ -16,6 +16,7 @@
   SSMAssociationS3OutputLocation
   { _sSMAssociationS3OutputLocationOutputS3BucketName :: Maybe (Val Text)
   , _sSMAssociationS3OutputLocationOutputS3KeyPrefix :: Maybe (Val Text)
+  , _sSMAssociationS3OutputLocationOutputS3Region :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON SSMAssociationS3OutputLocation where
@@ -24,6 +25,7 @@
     catMaybes
     [ fmap (("OutputS3BucketName",) . toJSON) _sSMAssociationS3OutputLocationOutputS3BucketName
     , fmap (("OutputS3KeyPrefix",) . toJSON) _sSMAssociationS3OutputLocationOutputS3KeyPrefix
+    , fmap (("OutputS3Region",) . toJSON) _sSMAssociationS3OutputLocationOutputS3Region
     ]
 
 -- | Constructor for 'SSMAssociationS3OutputLocation' containing required
@@ -34,6 +36,7 @@
   SSMAssociationS3OutputLocation
   { _sSMAssociationS3OutputLocationOutputS3BucketName = Nothing
   , _sSMAssociationS3OutputLocationOutputS3KeyPrefix = Nothing
+  , _sSMAssociationS3OutputLocationOutputS3Region = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3bucketname
@@ -43,3 +46,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3keyprefix
 ssmasolOutputS3KeyPrefix :: Lens' SSMAssociationS3OutputLocation (Maybe (Val Text))
 ssmasolOutputS3KeyPrefix = lens _sSMAssociationS3OutputLocationOutputS3KeyPrefix (\s a -> s { _sSMAssociationS3OutputLocationOutputS3KeyPrefix = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3region
+ssmasolOutputS3Region :: Lens' SSMAssociationS3OutputLocation (Maybe (Val Text))
+ssmasolOutputS3Region = lens _sSMAssociationS3OutputLocationOutputS3Region (\s a -> s { _sSMAssociationS3OutputLocationOutputS3Region = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs
+++ /dev/null
@@ -1,41 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html
-
-module Stratosphere.ResourceProperties.StepFunctionsStateMachineTracingConfiguration where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for
--- StepFunctionsStateMachineTracingConfiguration. See
--- 'stepFunctionsStateMachineTracingConfiguration' for a more convenient
--- constructor.
-data StepFunctionsStateMachineTracingConfiguration =
-  StepFunctionsStateMachineTracingConfiguration
-  { _stepFunctionsStateMachineTracingConfigurationEnabled :: Val Bool
-  } deriving (Show, Eq)
-
-instance ToJSON StepFunctionsStateMachineTracingConfiguration where
-  toJSON StepFunctionsStateMachineTracingConfiguration{..} =
-    object $
-    catMaybes
-    [ (Just . ("Enabled",) . toJSON) _stepFunctionsStateMachineTracingConfigurationEnabled
-    ]
-
--- | Constructor for 'StepFunctionsStateMachineTracingConfiguration'
--- containing required fields as arguments.
-stepFunctionsStateMachineTracingConfiguration
-  :: Val Bool -- ^ 'sfsmtcEnabled'
-  -> StepFunctionsStateMachineTracingConfiguration
-stepFunctionsStateMachineTracingConfiguration enabledarg =
-  StepFunctionsStateMachineTracingConfiguration
-  { _stepFunctionsStateMachineTracingConfigurationEnabled = enabledarg
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html#cfn-stepfunctions-statemachine-tracingconfiguration-enabled
-sfsmtcEnabled :: Lens' StepFunctionsStateMachineTracingConfiguration (Val Bool)
-sfsmtcEnabled = lens _stepFunctionsStateMachineTracingConfigurationEnabled (\s a -> s { _stepFunctionsStateMachineTracingConfigurationEnabled = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryCode.hs b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryCode.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryCode.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html
+
+module Stratosphere.ResourceProperties.SyntheticsCanaryCode where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SyntheticsCanaryCode. See
+-- 'syntheticsCanaryCode' for a more convenient constructor.
+data SyntheticsCanaryCode =
+  SyntheticsCanaryCode
+  { _syntheticsCanaryCodeHandler :: Maybe (Val Text)
+  , _syntheticsCanaryCodeS3Bucket :: Maybe (Val Text)
+  , _syntheticsCanaryCodeS3Key :: Maybe (Val Text)
+  , _syntheticsCanaryCodeS3ObjectVersion :: Maybe (Val Text)
+  , _syntheticsCanaryCodeScript :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON SyntheticsCanaryCode where
+  toJSON SyntheticsCanaryCode{..} =
+    object $
+    catMaybes
+    [ fmap (("Handler",) . toJSON) _syntheticsCanaryCodeHandler
+    , fmap (("S3Bucket",) . toJSON) _syntheticsCanaryCodeS3Bucket
+    , fmap (("S3Key",) . toJSON) _syntheticsCanaryCodeS3Key
+    , fmap (("S3ObjectVersion",) . toJSON) _syntheticsCanaryCodeS3ObjectVersion
+    , fmap (("Script",) . toJSON) _syntheticsCanaryCodeScript
+    ]
+
+-- | Constructor for 'SyntheticsCanaryCode' containing required fields as
+-- arguments.
+syntheticsCanaryCode
+  :: SyntheticsCanaryCode
+syntheticsCanaryCode  =
+  SyntheticsCanaryCode
+  { _syntheticsCanaryCodeHandler = Nothing
+  , _syntheticsCanaryCodeS3Bucket = Nothing
+  , _syntheticsCanaryCodeS3Key = Nothing
+  , _syntheticsCanaryCodeS3ObjectVersion = Nothing
+  , _syntheticsCanaryCodeScript = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-handler
+sccHandler :: Lens' SyntheticsCanaryCode (Maybe (Val Text))
+sccHandler = lens _syntheticsCanaryCodeHandler (\s a -> s { _syntheticsCanaryCodeHandler = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3bucket
+sccS3Bucket :: Lens' SyntheticsCanaryCode (Maybe (Val Text))
+sccS3Bucket = lens _syntheticsCanaryCodeS3Bucket (\s a -> s { _syntheticsCanaryCodeS3Bucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3key
+sccS3Key :: Lens' SyntheticsCanaryCode (Maybe (Val Text))
+sccS3Key = lens _syntheticsCanaryCodeS3Key (\s a -> s { _syntheticsCanaryCodeS3Key = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3objectversion
+sccS3ObjectVersion :: Lens' SyntheticsCanaryCode (Maybe (Val Text))
+sccS3ObjectVersion = lens _syntheticsCanaryCodeS3ObjectVersion (\s a -> s { _syntheticsCanaryCodeS3ObjectVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-script
+sccScript :: Lens' SyntheticsCanaryCode (Maybe (Val Text))
+sccScript = lens _syntheticsCanaryCodeScript (\s a -> s { _syntheticsCanaryCodeScript = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryRunConfig.hs b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryRunConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryRunConfig.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html
+
+module Stratosphere.ResourceProperties.SyntheticsCanaryRunConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SyntheticsCanaryRunConfig. See
+-- 'syntheticsCanaryRunConfig' for a more convenient constructor.
+data SyntheticsCanaryRunConfig =
+  SyntheticsCanaryRunConfig
+  { _syntheticsCanaryRunConfigTimeoutInSeconds :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON SyntheticsCanaryRunConfig where
+  toJSON SyntheticsCanaryRunConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("TimeoutInSeconds",) . toJSON) _syntheticsCanaryRunConfigTimeoutInSeconds
+    ]
+
+-- | Constructor for 'SyntheticsCanaryRunConfig' containing required fields as
+-- arguments.
+syntheticsCanaryRunConfig
+  :: Val Integer -- ^ 'scrcTimeoutInSeconds'
+  -> SyntheticsCanaryRunConfig
+syntheticsCanaryRunConfig timeoutInSecondsarg =
+  SyntheticsCanaryRunConfig
+  { _syntheticsCanaryRunConfigTimeoutInSeconds = timeoutInSecondsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-timeoutinseconds
+scrcTimeoutInSeconds :: Lens' SyntheticsCanaryRunConfig (Val Integer)
+scrcTimeoutInSeconds = lens _syntheticsCanaryRunConfigTimeoutInSeconds (\s a -> s { _syntheticsCanaryRunConfigTimeoutInSeconds = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SyntheticsCanarySchedule.hs b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanarySchedule.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanarySchedule.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html
+
+module Stratosphere.ResourceProperties.SyntheticsCanarySchedule where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SyntheticsCanarySchedule. See
+-- 'syntheticsCanarySchedule' for a more convenient constructor.
+data SyntheticsCanarySchedule =
+  SyntheticsCanarySchedule
+  { _syntheticsCanaryScheduleDurationInSeconds :: Val Text
+  , _syntheticsCanaryScheduleExpression :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON SyntheticsCanarySchedule where
+  toJSON SyntheticsCanarySchedule{..} =
+    object $
+    catMaybes
+    [ (Just . ("DurationInSeconds",) . toJSON) _syntheticsCanaryScheduleDurationInSeconds
+    , (Just . ("Expression",) . toJSON) _syntheticsCanaryScheduleExpression
+    ]
+
+-- | Constructor for 'SyntheticsCanarySchedule' containing required fields as
+-- arguments.
+syntheticsCanarySchedule
+  :: Val Text -- ^ 'scsDurationInSeconds'
+  -> Val Text -- ^ 'scsExpression'
+  -> SyntheticsCanarySchedule
+syntheticsCanarySchedule durationInSecondsarg expressionarg =
+  SyntheticsCanarySchedule
+  { _syntheticsCanaryScheduleDurationInSeconds = durationInSecondsarg
+  , _syntheticsCanaryScheduleExpression = expressionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-durationinseconds
+scsDurationInSeconds :: Lens' SyntheticsCanarySchedule (Val Text)
+scsDurationInSeconds = lens _syntheticsCanaryScheduleDurationInSeconds (\s a -> s { _syntheticsCanaryScheduleDurationInSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-expression
+scsExpression :: Lens' SyntheticsCanarySchedule (Val Text)
+scsExpression = lens _syntheticsCanaryScheduleExpression (\s a -> s { _syntheticsCanaryScheduleExpression = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryVPCConfig.hs b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryVPCConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SyntheticsCanaryVPCConfig.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html
+
+module Stratosphere.ResourceProperties.SyntheticsCanaryVPCConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SyntheticsCanaryVPCConfig. See
+-- 'syntheticsCanaryVPCConfig' for a more convenient constructor.
+data SyntheticsCanaryVPCConfig =
+  SyntheticsCanaryVPCConfig
+  { _syntheticsCanaryVPCConfigSecurityGroupIds :: ValList Text
+  , _syntheticsCanaryVPCConfigSubnetIds :: ValList Text
+  , _syntheticsCanaryVPCConfigVpcId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON SyntheticsCanaryVPCConfig where
+  toJSON SyntheticsCanaryVPCConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("SecurityGroupIds",) . toJSON) _syntheticsCanaryVPCConfigSecurityGroupIds
+    , (Just . ("SubnetIds",) . toJSON) _syntheticsCanaryVPCConfigSubnetIds
+    , fmap (("VpcId",) . toJSON) _syntheticsCanaryVPCConfigVpcId
+    ]
+
+-- | Constructor for 'SyntheticsCanaryVPCConfig' containing required fields as
+-- arguments.
+syntheticsCanaryVPCConfig
+  :: ValList Text -- ^ 'scvpccSecurityGroupIds'
+  -> ValList Text -- ^ 'scvpccSubnetIds'
+  -> SyntheticsCanaryVPCConfig
+syntheticsCanaryVPCConfig securityGroupIdsarg subnetIdsarg =
+  SyntheticsCanaryVPCConfig
+  { _syntheticsCanaryVPCConfigSecurityGroupIds = securityGroupIdsarg
+  , _syntheticsCanaryVPCConfigSubnetIds = subnetIdsarg
+  , _syntheticsCanaryVPCConfigVpcId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-securitygroupids
+scvpccSecurityGroupIds :: Lens' SyntheticsCanaryVPCConfig (ValList Text)
+scvpccSecurityGroupIds = lens _syntheticsCanaryVPCConfigSecurityGroupIds (\s a -> s { _syntheticsCanaryVPCConfigSecurityGroupIds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-subnetids
+scvpccSubnetIds :: Lens' SyntheticsCanaryVPCConfig (ValList Text)
+scvpccSubnetIds = lens _syntheticsCanaryVPCConfigSubnetIds (\s a -> s { _syntheticsCanaryVPCConfigSubnetIds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-vpcid
+scvpccVpcId :: Lens' SyntheticsCanaryVPCConfig (Maybe (Val Text))
+scvpccVpcId = lens _syntheticsCanaryVPCConfigVpcId (\s a -> s { _syntheticsCanaryVPCConfigVpcId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFv2RuleGroupByteMatchStatement.hs b/library-gen/Stratosphere/ResourceProperties/WAFv2RuleGroupByteMatchStatement.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFv2RuleGroupByteMatchStatement.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFv2RuleGroupByteMatchStatement.hs
@@ -17,7 +17,7 @@
   WAFv2RuleGroupByteMatchStatement
   { _wAFv2RuleGroupByteMatchStatementFieldToMatch :: WAFv2RuleGroupFieldToMatch
   , _wAFv2RuleGroupByteMatchStatementPositionalConstraint :: Val Text
-  , _wAFv2RuleGroupByteMatchStatementSearchString :: Val Text
+  , _wAFv2RuleGroupByteMatchStatementSearchString :: Maybe (Val Text)
   , _wAFv2RuleGroupByteMatchStatementSearchStringBase64 :: Maybe (Val Text)
   , _wAFv2RuleGroupByteMatchStatementTextTransformations :: [WAFv2RuleGroupTextTransformation]
   } deriving (Show, Eq)
@@ -28,7 +28,7 @@
     catMaybes
     [ (Just . ("FieldToMatch",) . toJSON) _wAFv2RuleGroupByteMatchStatementFieldToMatch
     , (Just . ("PositionalConstraint",) . toJSON) _wAFv2RuleGroupByteMatchStatementPositionalConstraint
-    , (Just . ("SearchString",) . toJSON) _wAFv2RuleGroupByteMatchStatementSearchString
+    , fmap (("SearchString",) . toJSON) _wAFv2RuleGroupByteMatchStatementSearchString
     , fmap (("SearchStringBase64",) . toJSON) _wAFv2RuleGroupByteMatchStatementSearchStringBase64
     , (Just . ("TextTransformations",) . toJSON) _wAFv2RuleGroupByteMatchStatementTextTransformations
     ]
@@ -38,14 +38,13 @@
 waFv2RuleGroupByteMatchStatement
   :: WAFv2RuleGroupFieldToMatch -- ^ 'wafrgbmsFieldToMatch'
   -> Val Text -- ^ 'wafrgbmsPositionalConstraint'
-  -> Val Text -- ^ 'wafrgbmsSearchString'
   -> [WAFv2RuleGroupTextTransformation] -- ^ 'wafrgbmsTextTransformations'
   -> WAFv2RuleGroupByteMatchStatement
-waFv2RuleGroupByteMatchStatement fieldToMatcharg positionalConstraintarg searchStringarg textTransformationsarg =
+waFv2RuleGroupByteMatchStatement fieldToMatcharg positionalConstraintarg textTransformationsarg =
   WAFv2RuleGroupByteMatchStatement
   { _wAFv2RuleGroupByteMatchStatementFieldToMatch = fieldToMatcharg
   , _wAFv2RuleGroupByteMatchStatementPositionalConstraint = positionalConstraintarg
-  , _wAFv2RuleGroupByteMatchStatementSearchString = searchStringarg
+  , _wAFv2RuleGroupByteMatchStatementSearchString = Nothing
   , _wAFv2RuleGroupByteMatchStatementSearchStringBase64 = Nothing
   , _wAFv2RuleGroupByteMatchStatementTextTransformations = textTransformationsarg
   }
@@ -59,7 +58,7 @@
 wafrgbmsPositionalConstraint = lens _wAFv2RuleGroupByteMatchStatementPositionalConstraint (\s a -> s { _wAFv2RuleGroupByteMatchStatementPositionalConstraint = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstring
-wafrgbmsSearchString :: Lens' WAFv2RuleGroupByteMatchStatement (Val Text)
+wafrgbmsSearchString :: Lens' WAFv2RuleGroupByteMatchStatement (Maybe (Val Text))
 wafrgbmsSearchString = lens _wAFv2RuleGroupByteMatchStatementSearchString (\s a -> s { _wAFv2RuleGroupByteMatchStatementSearchString = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstringbase64
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFv2WebACLByteMatchStatement.hs b/library-gen/Stratosphere/ResourceProperties/WAFv2WebACLByteMatchStatement.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFv2WebACLByteMatchStatement.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFv2WebACLByteMatchStatement.hs
@@ -17,7 +17,7 @@
   WAFv2WebACLByteMatchStatement
   { _wAFv2WebACLByteMatchStatementFieldToMatch :: WAFv2WebACLFieldToMatch
   , _wAFv2WebACLByteMatchStatementPositionalConstraint :: Val Text
-  , _wAFv2WebACLByteMatchStatementSearchString :: Val Text
+  , _wAFv2WebACLByteMatchStatementSearchString :: Maybe (Val Text)
   , _wAFv2WebACLByteMatchStatementSearchStringBase64 :: Maybe (Val Text)
   , _wAFv2WebACLByteMatchStatementTextTransformations :: [WAFv2WebACLTextTransformation]
   } deriving (Show, Eq)
@@ -28,7 +28,7 @@
     catMaybes
     [ (Just . ("FieldToMatch",) . toJSON) _wAFv2WebACLByteMatchStatementFieldToMatch
     , (Just . ("PositionalConstraint",) . toJSON) _wAFv2WebACLByteMatchStatementPositionalConstraint
-    , (Just . ("SearchString",) . toJSON) _wAFv2WebACLByteMatchStatementSearchString
+    , fmap (("SearchString",) . toJSON) _wAFv2WebACLByteMatchStatementSearchString
     , fmap (("SearchStringBase64",) . toJSON) _wAFv2WebACLByteMatchStatementSearchStringBase64
     , (Just . ("TextTransformations",) . toJSON) _wAFv2WebACLByteMatchStatementTextTransformations
     ]
@@ -38,14 +38,13 @@
 waFv2WebACLByteMatchStatement
   :: WAFv2WebACLFieldToMatch -- ^ 'wafwaclbmsFieldToMatch'
   -> Val Text -- ^ 'wafwaclbmsPositionalConstraint'
-  -> Val Text -- ^ 'wafwaclbmsSearchString'
   -> [WAFv2WebACLTextTransformation] -- ^ 'wafwaclbmsTextTransformations'
   -> WAFv2WebACLByteMatchStatement
-waFv2WebACLByteMatchStatement fieldToMatcharg positionalConstraintarg searchStringarg textTransformationsarg =
+waFv2WebACLByteMatchStatement fieldToMatcharg positionalConstraintarg textTransformationsarg =
   WAFv2WebACLByteMatchStatement
   { _wAFv2WebACLByteMatchStatementFieldToMatch = fieldToMatcharg
   , _wAFv2WebACLByteMatchStatementPositionalConstraint = positionalConstraintarg
-  , _wAFv2WebACLByteMatchStatementSearchString = searchStringarg
+  , _wAFv2WebACLByteMatchStatementSearchString = Nothing
   , _wAFv2WebACLByteMatchStatementSearchStringBase64 = Nothing
   , _wAFv2WebACLByteMatchStatementTextTransformations = textTransformationsarg
   }
@@ -59,7 +58,7 @@
 wafwaclbmsPositionalConstraint = lens _wAFv2WebACLByteMatchStatementPositionalConstraint (\s a -> s { _wAFv2WebACLByteMatchStatementPositionalConstraint = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstring
-wafwaclbmsSearchString :: Lens' WAFv2WebACLByteMatchStatement (Val Text)
+wafwaclbmsSearchString :: Lens' WAFv2WebACLByteMatchStatement (Maybe (Val Text))
 wafwaclbmsSearchString = lens _wAFv2WebACLByteMatchStatementSearchString (\s a -> s { _wAFv2WebACLByteMatchStatementSearchString = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstringbase64
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
@@ -125,6 +125,7 @@
 import Stratosphere.Resources.BatchJobDefinition as X
 import Stratosphere.Resources.BatchJobQueue as X
 import Stratosphere.Resources.BudgetsBudget as X
+import Stratosphere.Resources.CECostCategory as X
 import Stratosphere.Resources.CassandraKeyspace as X
 import Stratosphere.Resources.CassandraTable as X
 import Stratosphere.Resources.CertificateManagerCertificate as X
@@ -294,6 +295,7 @@
 import Stratosphere.Resources.ElasticsearchDomain as X
 import Stratosphere.Resources.EventSchemasDiscoverer as X
 import Stratosphere.Resources.EventSchemasRegistry as X
+import Stratosphere.Resources.EventSchemasRegistryPolicy as X
 import Stratosphere.Resources.EventSchemasSchema as X
 import Stratosphere.Resources.EventsEventBus as X
 import Stratosphere.Resources.EventsEventBusPolicy as X
@@ -308,6 +310,9 @@
 import Stratosphere.Resources.GameLiftMatchmakingConfiguration as X
 import Stratosphere.Resources.GameLiftMatchmakingRuleSet as X
 import Stratosphere.Resources.GameLiftScript as X
+import Stratosphere.Resources.GlobalAcceleratorAccelerator as X
+import Stratosphere.Resources.GlobalAcceleratorEndpointGroup as X
+import Stratosphere.Resources.GlobalAcceleratorListener as X
 import Stratosphere.Resources.GlueClassifier as X
 import Stratosphere.Resources.GlueConnection as X
 import Stratosphere.Resources.GlueCrawler as X
@@ -354,6 +359,7 @@
 import Stratosphere.Resources.IAMUserToGroupAddition as X
 import Stratosphere.Resources.ImageBuilderComponent as X
 import Stratosphere.Resources.ImageBuilderDistributionConfiguration as X
+import Stratosphere.Resources.ImageBuilderImage as X
 import Stratosphere.Resources.ImageBuilderImagePipeline as X
 import Stratosphere.Resources.ImageBuilderImageRecipe as X
 import Stratosphere.Resources.ImageBuilderInfrastructureConfiguration as X
@@ -405,6 +411,9 @@
 import Stratosphere.Resources.LogsMetricFilter as X
 import Stratosphere.Resources.LogsSubscriptionFilter as X
 import Stratosphere.Resources.MSKCluster as X
+import Stratosphere.Resources.MacieCustomDataIdentifier as X
+import Stratosphere.Resources.MacieFindingsFilter as X
+import Stratosphere.Resources.MacieSession as X
 import Stratosphere.Resources.ManagedBlockchainMember as X
 import Stratosphere.Resources.ManagedBlockchainNode as X
 import Stratosphere.Resources.MediaConvertJobTemplate as X
@@ -542,6 +551,7 @@
 import Stratosphere.Resources.ServiceDiscoveryService as X
 import Stratosphere.Resources.StepFunctionsActivity as X
 import Stratosphere.Resources.StepFunctionsStateMachine as X
+import Stratosphere.Resources.SyntheticsCanary as X
 import Stratosphere.Resources.TransferServer as X
 import Stratosphere.Resources.TransferUser as X
 import Stratosphere.Resources.WAFByteMatchSet as X
@@ -938,6 +948,7 @@
 import Stratosphere.ResourceProperties.DMSEndpointKafkaSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointKinesisSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointMongoDbSettings as X
+import Stratosphere.ResourceProperties.DMSEndpointNeptuneSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointS3Settings as X
 import Stratosphere.ResourceProperties.DataPipelinePipelineField as X
 import Stratosphere.ResourceProperties.DataPipelinePipelineParameterAttribute as X
@@ -1039,7 +1050,7 @@
 import Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRange as X
 import Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification as X
 import Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy as X
-import Stratosphere.ResourceProperties.ECSClusterClusterSetting as X
+import Stratosphere.ResourceProperties.ECSClusterClusterSettings as X
 import Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration as X
 import Stratosphere.ResourceProperties.ECSServiceDeploymentConfiguration as X
 import Stratosphere.ResourceProperties.ECSServiceDeploymentController as X
@@ -1223,6 +1234,8 @@
 import Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy as X
 import Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty as X
 import Stratosphere.ResourceProperties.GameLiftScriptS3Location as X
+import Stratosphere.ResourceProperties.GlobalAcceleratorEndpointGroupEndpointConfiguration as X
+import Stratosphere.ResourceProperties.GlobalAcceleratorListenerPortRange as X
 import Stratosphere.ResourceProperties.GlueClassifierCsvClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierGrokClassifier as X
 import Stratosphere.ResourceProperties.GlueClassifierJsonClassifier as X
@@ -1325,6 +1338,7 @@
 import Stratosphere.ResourceProperties.IAMUserLoginProfile as X
 import Stratosphere.ResourceProperties.IAMUserPolicy as X
 import Stratosphere.ResourceProperties.ImageBuilderDistributionConfigurationDistribution as X
+import Stratosphere.ResourceProperties.ImageBuilderImageImageTestsConfiguration as X
 import Stratosphere.ResourceProperties.ImageBuilderImagePipelineImageTestsConfiguration as X
 import Stratosphere.ResourceProperties.ImageBuilderImagePipelineSchedule as X
 import Stratosphere.ResourceProperties.ImageBuilderImageRecipeComponentConfiguration as X
@@ -1401,16 +1415,23 @@
 import Stratosphere.ResourceProperties.IoTAnalyticsPipelineRemoveAttributes as X
 import Stratosphere.ResourceProperties.IoTAnalyticsPipelineSelectAttributes as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelAction as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyTimestamp as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyValue as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyVariant as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelDetectorModelDefinition as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDB as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDBv2 as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotSiteWise as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelOnEnter as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelOnExit as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelOnInput as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelResetTimer as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelSetTimer as X
 import Stratosphere.ResourceProperties.IoTEventsDetectorModelSetVariable as X
@@ -1513,10 +1534,13 @@
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration as X
 import Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkRetryOptions as X
 import Stratosphere.ResourceProperties.LakeFormationDataLakeSettingsDataLakePrincipal as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsColumnWildcard as X
 import Stratosphere.ResourceProperties.LakeFormationPermissionsDataLakePrincipal as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsDataLocationResource as X
 import Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource as X
 import Stratosphere.ResourceProperties.LakeFormationPermissionsResource as X
 import Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource as X
+import Stratosphere.ResourceProperties.LakeFormationPermissionsTableWithColumnsResource as X
 import Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration as X
 import Stratosphere.ResourceProperties.LambdaAliasProvisionedConcurrencyConfiguration as X
 import Stratosphere.ResourceProperties.LambdaAliasVersionWeight as X
@@ -1561,6 +1585,7 @@
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy as X
 import Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration as X
 import Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings as X
+import Stratosphere.ResourceProperties.MediaConvertJobTemplateHopDestination as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAribSourceSettings as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAudioLanguageSelection as X
 import Stratosphere.ResourceProperties.MediaLiveChannelAudioPidSelection as X
@@ -1592,6 +1617,8 @@
 import Stratosphere.ResourceProperties.MediaLiveInputMediaConnectFlowRequest as X
 import Stratosphere.ResourceProperties.MediaLiveInputSecurityGroupInputWhitelistRuleCidr as X
 import Stratosphere.ResourceProperties.MediaStoreContainerCorsRule as X
+import Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicy as X
+import Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicyRule as X
 import Stratosphere.ResourceProperties.NetworkManagerDeviceLocation as X
 import Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth as X
 import Stratosphere.ResourceProperties.NetworkManagerSiteLocation as X
@@ -1798,7 +1825,10 @@
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineLogDestination as X
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration as X
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry as X
-import Stratosphere.ResourceProperties.StepFunctionsStateMachineTracingConfiguration as X
+import Stratosphere.ResourceProperties.SyntheticsCanaryCode as X
+import Stratosphere.ResourceProperties.SyntheticsCanaryRunConfig as X
+import Stratosphere.ResourceProperties.SyntheticsCanarySchedule as X
+import Stratosphere.ResourceProperties.SyntheticsCanaryVPCConfig as X
 import Stratosphere.ResourceProperties.TransferServerEndpointDetails as X
 import Stratosphere.ResourceProperties.TransferServerIdentityProviderDetails as X
 import Stratosphere.ResourceProperties.TransferUserHomeDirectoryMapEntry as X
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
@@ -22,6 +22,7 @@
   , _apiGatewayV2ApiCorsConfiguration :: Maybe ApiGatewayV2ApiCors
   , _apiGatewayV2ApiCredentialsArn :: Maybe (Val Text)
   , _apiGatewayV2ApiDescription :: Maybe (Val Text)
+  , _apiGatewayV2ApiDisableExecuteApiEndpoint :: Maybe (Val Bool)
   , _apiGatewayV2ApiDisableSchemaValidation :: Maybe (Val Bool)
   , _apiGatewayV2ApiFailOnWarnings :: Maybe (Val Bool)
   , _apiGatewayV2ApiName :: Maybe (Val Text)
@@ -46,6 +47,7 @@
         , fmap (("CorsConfiguration",) . toJSON) _apiGatewayV2ApiCorsConfiguration
         , fmap (("CredentialsArn",) . toJSON) _apiGatewayV2ApiCredentialsArn
         , fmap (("Description",) . toJSON) _apiGatewayV2ApiDescription
+        , fmap (("DisableExecuteApiEndpoint",) . toJSON) _apiGatewayV2ApiDisableExecuteApiEndpoint
         , fmap (("DisableSchemaValidation",) . toJSON) _apiGatewayV2ApiDisableSchemaValidation
         , fmap (("FailOnWarnings",) . toJSON) _apiGatewayV2ApiFailOnWarnings
         , fmap (("Name",) . toJSON) _apiGatewayV2ApiName
@@ -71,6 +73,7 @@
   , _apiGatewayV2ApiCorsConfiguration = Nothing
   , _apiGatewayV2ApiCredentialsArn = Nothing
   , _apiGatewayV2ApiDescription = Nothing
+  , _apiGatewayV2ApiDisableExecuteApiEndpoint = Nothing
   , _apiGatewayV2ApiDisableSchemaValidation = Nothing
   , _apiGatewayV2ApiFailOnWarnings = Nothing
   , _apiGatewayV2ApiName = Nothing
@@ -109,6 +112,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-description
 agvapDescription :: Lens' ApiGatewayV2Api (Maybe (Val Text))
 agvapDescription = lens _apiGatewayV2ApiDescription (\s a -> s { _apiGatewayV2ApiDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint
+agvapDisableExecuteApiEndpoint :: Lens' ApiGatewayV2Api (Maybe (Val Bool))
+agvapDisableExecuteApiEndpoint = lens _apiGatewayV2ApiDisableExecuteApiEndpoint (\s a -> s { _apiGatewayV2ApiDisableExecuteApiEndpoint = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableschemavalidation
 agvapDisableSchemaValidation :: Lens' ApiGatewayV2Api (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/Resources/CECostCategory.hs b/library-gen/Stratosphere/Resources/CECostCategory.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CECostCategory.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html
+
+module Stratosphere.Resources.CECostCategory where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CECostCategory. See 'ceCostCategory' for a
+-- more convenient constructor.
+data CECostCategory =
+  CECostCategory
+  { _cECostCategoryName :: Val Text
+  , _cECostCategoryRuleVersion :: Val Text
+  , _cECostCategoryRules :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CECostCategory where
+  toResourceProperties CECostCategory{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CE::CostCategory"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Name",) . toJSON) _cECostCategoryName
+        , (Just . ("RuleVersion",) . toJSON) _cECostCategoryRuleVersion
+        , (Just . ("Rules",) . toJSON) _cECostCategoryRules
+        ]
+    }
+
+-- | Constructor for 'CECostCategory' containing required fields as arguments.
+ceCostCategory
+  :: Val Text -- ^ 'ceccName'
+  -> Val Text -- ^ 'ceccRuleVersion'
+  -> Val Text -- ^ 'ceccRules'
+  -> CECostCategory
+ceCostCategory namearg ruleVersionarg rulesarg =
+  CECostCategory
+  { _cECostCategoryName = namearg
+  , _cECostCategoryRuleVersion = ruleVersionarg
+  , _cECostCategoryRules = rulesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name
+ceccName :: Lens' CECostCategory (Val Text)
+ceccName = lens _cECostCategoryName (\s a -> s { _cECostCategoryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-ruleversion
+ceccRuleVersion :: Lens' CECostCategory (Val Text)
+ceccRuleVersion = lens _cECostCategoryRuleVersion (\s a -> s { _cECostCategoryRuleVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-rules
+ceccRules :: Lens' CECostCategory (Val Text)
+ceccRules = lens _cECostCategoryRules (\s a -> s { _cECostCategoryRules = a })
diff --git a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
--- a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
+++ b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
@@ -16,6 +16,7 @@
 data Cloud9EnvironmentEC2 =
   Cloud9EnvironmentEC2
   { _cloud9EnvironmentEC2AutomaticStopTimeMinutes :: Maybe (Val Integer)
+  , _cloud9EnvironmentEC2ConnectionType :: Maybe (Val Text)
   , _cloud9EnvironmentEC2Description :: Maybe (Val Text)
   , _cloud9EnvironmentEC2InstanceType :: Val Text
   , _cloud9EnvironmentEC2Name :: Maybe (Val Text)
@@ -32,6 +33,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AutomaticStopTimeMinutes",) . toJSON) _cloud9EnvironmentEC2AutomaticStopTimeMinutes
+        , fmap (("ConnectionType",) . toJSON) _cloud9EnvironmentEC2ConnectionType
         , fmap (("Description",) . toJSON) _cloud9EnvironmentEC2Description
         , (Just . ("InstanceType",) . toJSON) _cloud9EnvironmentEC2InstanceType
         , fmap (("Name",) . toJSON) _cloud9EnvironmentEC2Name
@@ -50,6 +52,7 @@
 cloud9EnvironmentEC2 instanceTypearg =
   Cloud9EnvironmentEC2
   { _cloud9EnvironmentEC2AutomaticStopTimeMinutes = Nothing
+  , _cloud9EnvironmentEC2ConnectionType = Nothing
   , _cloud9EnvironmentEC2Description = Nothing
   , _cloud9EnvironmentEC2InstanceType = instanceTypearg
   , _cloud9EnvironmentEC2Name = Nothing
@@ -62,6 +65,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-automaticstoptimeminutes
 ceecAutomaticStopTimeMinutes :: Lens' Cloud9EnvironmentEC2 (Maybe (Val Integer))
 ceecAutomaticStopTimeMinutes = lens _cloud9EnvironmentEC2AutomaticStopTimeMinutes (\s a -> s { _cloud9EnvironmentEC2AutomaticStopTimeMinutes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-connectiontype
+ceecConnectionType :: Lens' Cloud9EnvironmentEC2 (Maybe (Val Text))
+ceecConnectionType = lens _cloud9EnvironmentEC2ConnectionType (\s a -> s { _cloud9EnvironmentEC2ConnectionType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-description
 ceecDescription :: Lens' Cloud9EnvironmentEC2 (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs b/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs
--- a/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs
+++ b/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.CodeStarConnectionsConnection where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for CodeStarConnectionsConnection. See
 -- 'codeStarConnectionsConnection' for a more convenient constructor.
@@ -16,6 +16,7 @@
   CodeStarConnectionsConnection
   { _codeStarConnectionsConnectionConnectionName :: Val Text
   , _codeStarConnectionsConnectionProviderType :: Val Text
+  , _codeStarConnectionsConnectionTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties CodeStarConnectionsConnection where
@@ -26,6 +27,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("ConnectionName",) . toJSON) _codeStarConnectionsConnectionConnectionName
         , (Just . ("ProviderType",) . toJSON) _codeStarConnectionsConnectionProviderType
+        , fmap (("Tags",) . toJSON) _codeStarConnectionsConnectionTags
         ]
     }
 
@@ -39,6 +41,7 @@
   CodeStarConnectionsConnection
   { _codeStarConnectionsConnectionConnectionName = connectionNamearg
   , _codeStarConnectionsConnectionProviderType = providerTypearg
+  , _codeStarConnectionsConnectionTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-connectionname
@@ -48,3 +51,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-providertype
 csccProviderType :: Lens' CodeStarConnectionsConnection (Val Text)
 csccProviderType = lens _codeStarConnectionsConnectionProviderType (\s a -> s { _codeStarConnectionsConnectionProviderType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-tags
+csccTags :: Lens' CodeStarConnectionsConnection (Maybe [Tag])
+csccTags = lens _codeStarConnectionsConnectionTags (\s a -> s { _codeStarConnectionsConnectionTags = a })
diff --git a/library-gen/Stratosphere/Resources/DMSEndpoint.hs b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
--- a/library-gen/Stratosphere/Resources/DMSEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
@@ -13,6 +13,7 @@
 import Stratosphere.ResourceProperties.DMSEndpointKafkaSettings
 import Stratosphere.ResourceProperties.DMSEndpointKinesisSettings
 import Stratosphere.ResourceProperties.DMSEndpointMongoDbSettings
+import Stratosphere.ResourceProperties.DMSEndpointNeptuneSettings
 import Stratosphere.ResourceProperties.DMSEndpointS3Settings
 import Stratosphere.ResourceProperties.Tag
 
@@ -32,6 +33,7 @@
   , _dMSEndpointKinesisSettings :: Maybe DMSEndpointKinesisSettings
   , _dMSEndpointKmsKeyId :: Maybe (Val Text)
   , _dMSEndpointMongoDbSettings :: Maybe DMSEndpointMongoDbSettings
+  , _dMSEndpointNeptuneSettings :: Maybe DMSEndpointNeptuneSettings
   , _dMSEndpointPassword :: Maybe (Val Text)
   , _dMSEndpointPort :: Maybe (Val Integer)
   , _dMSEndpointS3Settings :: Maybe DMSEndpointS3Settings
@@ -59,6 +61,7 @@
         , fmap (("KinesisSettings",) . toJSON) _dMSEndpointKinesisSettings
         , fmap (("KmsKeyId",) . toJSON) _dMSEndpointKmsKeyId
         , fmap (("MongoDbSettings",) . toJSON) _dMSEndpointMongoDbSettings
+        , fmap (("NeptuneSettings",) . toJSON) _dMSEndpointNeptuneSettings
         , fmap (("Password",) . toJSON) _dMSEndpointPassword
         , fmap (("Port",) . toJSON) _dMSEndpointPort
         , fmap (("S3Settings",) . toJSON) _dMSEndpointS3Settings
@@ -88,6 +91,7 @@
   , _dMSEndpointKinesisSettings = Nothing
   , _dMSEndpointKmsKeyId = Nothing
   , _dMSEndpointMongoDbSettings = Nothing
+  , _dMSEndpointNeptuneSettings = Nothing
   , _dMSEndpointPassword = Nothing
   , _dMSEndpointPort = Nothing
   , _dMSEndpointS3Settings = Nothing
@@ -144,6 +148,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mongodbsettings
 dmseMongoDbSettings :: Lens' DMSEndpoint (Maybe DMSEndpointMongoDbSettings)
 dmseMongoDbSettings = lens _dMSEndpointMongoDbSettings (\s a -> s { _dMSEndpointMongoDbSettings = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-neptunesettings
+dmseNeptuneSettings :: Lens' DMSEndpoint (Maybe DMSEndpointNeptuneSettings)
+dmseNeptuneSettings = lens _dMSEndpointNeptuneSettings (\s a -> s { _dMSEndpointNeptuneSettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-password
 dmsePassword :: Lens' DMSEndpoint (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
@@ -25,6 +25,7 @@
   , _dMSReplicationTaskTableMappings :: Val Text
   , _dMSReplicationTaskTags :: Maybe [Tag]
   , _dMSReplicationTaskTargetEndpointArn :: Val Text
+  , _dMSReplicationTaskTaskData :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties DMSReplicationTask where
@@ -44,6 +45,7 @@
         , (Just . ("TableMappings",) . toJSON) _dMSReplicationTaskTableMappings
         , fmap (("Tags",) . toJSON) _dMSReplicationTaskTags
         , (Just . ("TargetEndpointArn",) . toJSON) _dMSReplicationTaskTargetEndpointArn
+        , fmap (("TaskData",) . toJSON) _dMSReplicationTaskTaskData
         ]
     }
 
@@ -69,6 +71,7 @@
   , _dMSReplicationTaskTableMappings = tableMappingsarg
   , _dMSReplicationTaskTags = Nothing
   , _dMSReplicationTaskTargetEndpointArn = targetEndpointArnarg
+  , _dMSReplicationTaskTaskData = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstartposition
@@ -114,3 +117,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-targetendpointarn
 dmsrtTargetEndpointArn :: Lens' DMSReplicationTask (Val Text)
 dmsrtTargetEndpointArn = lens _dMSReplicationTaskTargetEndpointArn (\s a -> s { _dMSReplicationTaskTargetEndpointArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-taskdata
+dmsrtTaskData :: Lens' DMSReplicationTask (Maybe (Val Text))
+dmsrtTaskData = lens _dMSReplicationTaskTaskData (\s a -> s { _dMSReplicationTaskTaskData = a })
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)
+  , _docDBDBClusterDeletionProtection :: Maybe (Val Bool)
   , _docDBDBClusterEnableCloudwatchLogsExports :: Maybe (ValList Text)
   , _docDBDBClusterEngineVersion :: Maybe (Val Text)
   , _docDBDBClusterKmsKeyId :: Maybe (Val Text)
@@ -44,6 +45,7 @@
         , fmap (("DBClusterIdentifier",) . toJSON) _docDBDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _docDBDBClusterDBClusterParameterGroupName
         , fmap (("DBSubnetGroupName",) . toJSON) _docDBDBClusterDBSubnetGroupName
+        , fmap (("DeletionProtection",) . toJSON) _docDBDBClusterDeletionProtection
         , fmap (("EnableCloudwatchLogsExports",) . toJSON) _docDBDBClusterEnableCloudwatchLogsExports
         , fmap (("EngineVersion",) . toJSON) _docDBDBClusterEngineVersion
         , fmap (("KmsKeyId",) . toJSON) _docDBDBClusterKmsKeyId
@@ -71,6 +73,7 @@
   , _docDBDBClusterDBClusterIdentifier = Nothing
   , _docDBDBClusterDBClusterParameterGroupName = Nothing
   , _docDBDBClusterDBSubnetGroupName = Nothing
+  , _docDBDBClusterDeletionProtection = Nothing
   , _docDBDBClusterEnableCloudwatchLogsExports = Nothing
   , _docDBDBClusterEngineVersion = Nothing
   , _docDBDBClusterKmsKeyId = Nothing
@@ -104,6 +107,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-deletionprotection
+ddbdbcDeletionProtection :: Lens' DocDBDBCluster (Maybe (Val Bool))
+ddbdbcDeletionProtection = lens _docDBDBClusterDeletionProtection (\s a -> s { _docDBDBClusterDeletionProtection = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-enablecloudwatchlogsexports
 ddbdbcEnableCloudwatchLogsExports :: Lens' DocDBDBCluster (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/ECSCluster.hs b/library-gen/Stratosphere/Resources/ECSCluster.hs
--- a/library-gen/Stratosphere/Resources/ECSCluster.hs
+++ b/library-gen/Stratosphere/Resources/ECSCluster.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.ECSCluster where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.ECSClusterClusterSetting
+import Stratosphere.ResourceProperties.ECSClusterClusterSettings
 import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ECSCluster. See 'ecsCluster' for a more
@@ -16,7 +16,7 @@
 data ECSCluster =
   ECSCluster
   { _eCSClusterClusterName :: Maybe (Val Text)
-  , _eCSClusterClusterSettings :: Maybe [ECSClusterClusterSetting]
+  , _eCSClusterClusterSettings :: Maybe [ECSClusterClusterSettings]
   , _eCSClusterTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
@@ -47,7 +47,7 @@
 ecscClusterName = lens _eCSClusterClusterName (\s a -> s { _eCSClusterClusterName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustersettings
-ecscClusterSettings :: Lens' ECSCluster (Maybe [ECSClusterClusterSetting])
+ecscClusterSettings :: Lens' ECSCluster (Maybe [ECSClusterClusterSettings])
 ecscClusterSettings = lens _eCSClusterClusterSettings (\s a -> s { _eCSClusterClusterSettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-tags
diff --git a/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs b/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html
+
+module Stratosphere.Resources.EventSchemasRegistryPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EventSchemasRegistryPolicy. See
+-- 'eventSchemasRegistryPolicy' for a more convenient constructor.
+data EventSchemasRegistryPolicy =
+  EventSchemasRegistryPolicy
+  { _eventSchemasRegistryPolicyPolicy :: Object
+  , _eventSchemasRegistryPolicyRegistryName :: Val Text
+  , _eventSchemasRegistryPolicyRevisionId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EventSchemasRegistryPolicy where
+  toResourceProperties EventSchemasRegistryPolicy{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EventSchemas::RegistryPolicy"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Policy",) . toJSON) _eventSchemasRegistryPolicyPolicy
+        , (Just . ("RegistryName",) . toJSON) _eventSchemasRegistryPolicyRegistryName
+        , fmap (("RevisionId",) . toJSON) _eventSchemasRegistryPolicyRevisionId
+        ]
+    }
+
+-- | Constructor for 'EventSchemasRegistryPolicy' containing required fields
+-- as arguments.
+eventSchemasRegistryPolicy
+  :: Object -- ^ 'esrpPolicy'
+  -> Val Text -- ^ 'esrpRegistryName'
+  -> EventSchemasRegistryPolicy
+eventSchemasRegistryPolicy policyarg registryNamearg =
+  EventSchemasRegistryPolicy
+  { _eventSchemasRegistryPolicyPolicy = policyarg
+  , _eventSchemasRegistryPolicyRegistryName = registryNamearg
+  , _eventSchemasRegistryPolicyRevisionId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-policy
+esrpPolicy :: Lens' EventSchemasRegistryPolicy Object
+esrpPolicy = lens _eventSchemasRegistryPolicyPolicy (\s a -> s { _eventSchemasRegistryPolicyPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-registryname
+esrpRegistryName :: Lens' EventSchemasRegistryPolicy (Val Text)
+esrpRegistryName = lens _eventSchemasRegistryPolicyRegistryName (\s a -> s { _eventSchemasRegistryPolicyRegistryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-revisionid
+esrpRevisionId :: Lens' EventSchemasRegistryPolicy (Maybe (Val Text))
+esrpRevisionId = lens _eventSchemasRegistryPolicyRevisionId (\s a -> s { _eventSchemasRegistryPolicyRevisionId = a })
diff --git a/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs b/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs
@@ -0,0 +1,70 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html
+
+module Stratosphere.Resources.GlobalAcceleratorAccelerator where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for GlobalAcceleratorAccelerator. See
+-- 'globalAcceleratorAccelerator' for a more convenient constructor.
+data GlobalAcceleratorAccelerator =
+  GlobalAcceleratorAccelerator
+  { _globalAcceleratorAcceleratorEnabled :: Maybe (Val Bool)
+  , _globalAcceleratorAcceleratorIpAddressType :: Maybe (Val Text)
+  , _globalAcceleratorAcceleratorIpAddresses :: Maybe (ValList Text)
+  , _globalAcceleratorAcceleratorName :: Val Text
+  , _globalAcceleratorAcceleratorTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GlobalAcceleratorAccelerator where
+  toResourceProperties GlobalAcceleratorAccelerator{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GlobalAccelerator::Accelerator"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Enabled",) . toJSON) _globalAcceleratorAcceleratorEnabled
+        , fmap (("IpAddressType",) . toJSON) _globalAcceleratorAcceleratorIpAddressType
+        , fmap (("IpAddresses",) . toJSON) _globalAcceleratorAcceleratorIpAddresses
+        , (Just . ("Name",) . toJSON) _globalAcceleratorAcceleratorName
+        , fmap (("Tags",) . toJSON) _globalAcceleratorAcceleratorTags
+        ]
+    }
+
+-- | Constructor for 'GlobalAcceleratorAccelerator' containing required fields
+-- as arguments.
+globalAcceleratorAccelerator
+  :: Val Text -- ^ 'gaaName'
+  -> GlobalAcceleratorAccelerator
+globalAcceleratorAccelerator namearg =
+  GlobalAcceleratorAccelerator
+  { _globalAcceleratorAcceleratorEnabled = Nothing
+  , _globalAcceleratorAcceleratorIpAddressType = Nothing
+  , _globalAcceleratorAcceleratorIpAddresses = Nothing
+  , _globalAcceleratorAcceleratorName = namearg
+  , _globalAcceleratorAcceleratorTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-enabled
+gaaEnabled :: Lens' GlobalAcceleratorAccelerator (Maybe (Val Bool))
+gaaEnabled = lens _globalAcceleratorAcceleratorEnabled (\s a -> s { _globalAcceleratorAcceleratorEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-ipaddresstype
+gaaIpAddressType :: Lens' GlobalAcceleratorAccelerator (Maybe (Val Text))
+gaaIpAddressType = lens _globalAcceleratorAcceleratorIpAddressType (\s a -> s { _globalAcceleratorAcceleratorIpAddressType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-ipaddresses
+gaaIpAddresses :: Lens' GlobalAcceleratorAccelerator (Maybe (ValList Text))
+gaaIpAddresses = lens _globalAcceleratorAcceleratorIpAddresses (\s a -> s { _globalAcceleratorAcceleratorIpAddresses = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-name
+gaaName :: Lens' GlobalAcceleratorAccelerator (Val Text)
+gaaName = lens _globalAcceleratorAcceleratorName (\s a -> s { _globalAcceleratorAcceleratorName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-tags
+gaaTags :: Lens' GlobalAcceleratorAccelerator (Maybe [Tag])
+gaaTags = lens _globalAcceleratorAcceleratorTags (\s a -> s { _globalAcceleratorAcceleratorTags = a })
diff --git a/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs b/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs
@@ -0,0 +1,99 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html
+
+module Stratosphere.Resources.GlobalAcceleratorEndpointGroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GlobalAcceleratorEndpointGroupEndpointConfiguration
+
+-- | Full data type definition for GlobalAcceleratorEndpointGroup. See
+-- 'globalAcceleratorEndpointGroup' for a more convenient constructor.
+data GlobalAcceleratorEndpointGroup =
+  GlobalAcceleratorEndpointGroup
+  { _globalAcceleratorEndpointGroupEndpointConfigurations :: Maybe [GlobalAcceleratorEndpointGroupEndpointConfiguration]
+  , _globalAcceleratorEndpointGroupEndpointGroupRegion :: Val Text
+  , _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds :: Maybe (Val Integer)
+  , _globalAcceleratorEndpointGroupHealthCheckPath :: Maybe (Val Text)
+  , _globalAcceleratorEndpointGroupHealthCheckPort :: Maybe (Val Integer)
+  , _globalAcceleratorEndpointGroupHealthCheckProtocol :: Maybe (Val Text)
+  , _globalAcceleratorEndpointGroupListenerArn :: Val Text
+  , _globalAcceleratorEndpointGroupThresholdCount :: Maybe (Val Integer)
+  , _globalAcceleratorEndpointGroupTrafficDialPercentage :: Maybe (Val Double)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GlobalAcceleratorEndpointGroup where
+  toResourceProperties GlobalAcceleratorEndpointGroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GlobalAccelerator::EndpointGroup"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("EndpointConfigurations",) . toJSON) _globalAcceleratorEndpointGroupEndpointConfigurations
+        , (Just . ("EndpointGroupRegion",) . toJSON) _globalAcceleratorEndpointGroupEndpointGroupRegion
+        , fmap (("HealthCheckIntervalSeconds",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds
+        , fmap (("HealthCheckPath",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckPath
+        , fmap (("HealthCheckPort",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckPort
+        , fmap (("HealthCheckProtocol",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckProtocol
+        , (Just . ("ListenerArn",) . toJSON) _globalAcceleratorEndpointGroupListenerArn
+        , fmap (("ThresholdCount",) . toJSON) _globalAcceleratorEndpointGroupThresholdCount
+        , fmap (("TrafficDialPercentage",) . toJSON) _globalAcceleratorEndpointGroupTrafficDialPercentage
+        ]
+    }
+
+-- | Constructor for 'GlobalAcceleratorEndpointGroup' containing required
+-- fields as arguments.
+globalAcceleratorEndpointGroup
+  :: Val Text -- ^ 'gaegEndpointGroupRegion'
+  -> Val Text -- ^ 'gaegListenerArn'
+  -> GlobalAcceleratorEndpointGroup
+globalAcceleratorEndpointGroup endpointGroupRegionarg listenerArnarg =
+  GlobalAcceleratorEndpointGroup
+  { _globalAcceleratorEndpointGroupEndpointConfigurations = Nothing
+  , _globalAcceleratorEndpointGroupEndpointGroupRegion = endpointGroupRegionarg
+  , _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds = Nothing
+  , _globalAcceleratorEndpointGroupHealthCheckPath = Nothing
+  , _globalAcceleratorEndpointGroupHealthCheckPort = Nothing
+  , _globalAcceleratorEndpointGroupHealthCheckProtocol = Nothing
+  , _globalAcceleratorEndpointGroupListenerArn = listenerArnarg
+  , _globalAcceleratorEndpointGroupThresholdCount = Nothing
+  , _globalAcceleratorEndpointGroupTrafficDialPercentage = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointconfigurations
+gaegEndpointConfigurations :: Lens' GlobalAcceleratorEndpointGroup (Maybe [GlobalAcceleratorEndpointGroupEndpointConfiguration])
+gaegEndpointConfigurations = lens _globalAcceleratorEndpointGroupEndpointConfigurations (\s a -> s { _globalAcceleratorEndpointGroupEndpointConfigurations = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointgroupregion
+gaegEndpointGroupRegion :: Lens' GlobalAcceleratorEndpointGroup (Val Text)
+gaegEndpointGroupRegion = lens _globalAcceleratorEndpointGroupEndpointGroupRegion (\s a -> s { _globalAcceleratorEndpointGroupEndpointGroupRegion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckintervalseconds
+gaegHealthCheckIntervalSeconds :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Integer))
+gaegHealthCheckIntervalSeconds = lens _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckpath
+gaegHealthCheckPath :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Text))
+gaegHealthCheckPath = lens _globalAcceleratorEndpointGroupHealthCheckPath (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckport
+gaegHealthCheckPort :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Integer))
+gaegHealthCheckPort = lens _globalAcceleratorEndpointGroupHealthCheckPort (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckPort = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckprotocol
+gaegHealthCheckProtocol :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Text))
+gaegHealthCheckProtocol = lens _globalAcceleratorEndpointGroupHealthCheckProtocol (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckProtocol = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-listenerarn
+gaegListenerArn :: Lens' GlobalAcceleratorEndpointGroup (Val Text)
+gaegListenerArn = lens _globalAcceleratorEndpointGroupListenerArn (\s a -> s { _globalAcceleratorEndpointGroupListenerArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-thresholdcount
+gaegThresholdCount :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Integer))
+gaegThresholdCount = lens _globalAcceleratorEndpointGroupThresholdCount (\s a -> s { _globalAcceleratorEndpointGroupThresholdCount = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-trafficdialpercentage
+gaegTrafficDialPercentage :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Double))
+gaegTrafficDialPercentage = lens _globalAcceleratorEndpointGroupTrafficDialPercentage (\s a -> s { _globalAcceleratorEndpointGroupTrafficDialPercentage = a })
diff --git a/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs b/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html
+
+module Stratosphere.Resources.GlobalAcceleratorListener where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GlobalAcceleratorListenerPortRange
+
+-- | Full data type definition for GlobalAcceleratorListener. See
+-- 'globalAcceleratorListener' for a more convenient constructor.
+data GlobalAcceleratorListener =
+  GlobalAcceleratorListener
+  { _globalAcceleratorListenerAcceleratorArn :: Val Text
+  , _globalAcceleratorListenerClientAffinity :: Maybe (Val Text)
+  , _globalAcceleratorListenerPortRanges :: [GlobalAcceleratorListenerPortRange]
+  , _globalAcceleratorListenerProtocol :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GlobalAcceleratorListener where
+  toResourceProperties GlobalAcceleratorListener{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GlobalAccelerator::Listener"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("AcceleratorArn",) . toJSON) _globalAcceleratorListenerAcceleratorArn
+        , fmap (("ClientAffinity",) . toJSON) _globalAcceleratorListenerClientAffinity
+        , (Just . ("PortRanges",) . toJSON) _globalAcceleratorListenerPortRanges
+        , (Just . ("Protocol",) . toJSON) _globalAcceleratorListenerProtocol
+        ]
+    }
+
+-- | Constructor for 'GlobalAcceleratorListener' containing required fields as
+-- arguments.
+globalAcceleratorListener
+  :: Val Text -- ^ 'galAcceleratorArn'
+  -> [GlobalAcceleratorListenerPortRange] -- ^ 'galPortRanges'
+  -> Val Text -- ^ 'galProtocol'
+  -> GlobalAcceleratorListener
+globalAcceleratorListener acceleratorArnarg portRangesarg protocolarg =
+  GlobalAcceleratorListener
+  { _globalAcceleratorListenerAcceleratorArn = acceleratorArnarg
+  , _globalAcceleratorListenerClientAffinity = Nothing
+  , _globalAcceleratorListenerPortRanges = portRangesarg
+  , _globalAcceleratorListenerProtocol = protocolarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-acceleratorarn
+galAcceleratorArn :: Lens' GlobalAcceleratorListener (Val Text)
+galAcceleratorArn = lens _globalAcceleratorListenerAcceleratorArn (\s a -> s { _globalAcceleratorListenerAcceleratorArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-clientaffinity
+galClientAffinity :: Lens' GlobalAcceleratorListener (Maybe (Val Text))
+galClientAffinity = lens _globalAcceleratorListenerClientAffinity (\s a -> s { _globalAcceleratorListenerClientAffinity = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-portranges
+galPortRanges :: Lens' GlobalAcceleratorListener [GlobalAcceleratorListenerPortRange]
+galPortRanges = lens _globalAcceleratorListenerPortRanges (\s a -> s { _globalAcceleratorListenerPortRanges = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-protocol
+galProtocol :: Lens' GlobalAcceleratorListener (Val Text)
+galProtocol = lens _globalAcceleratorListenerProtocol (\s a -> s { _globalAcceleratorListenerProtocol = a })
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderImage.hs b/library-gen/Stratosphere/Resources/ImageBuilderImage.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ImageBuilderImage.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html
+
+module Stratosphere.Resources.ImageBuilderImage where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ImageBuilderImageImageTestsConfiguration
+
+-- | Full data type definition for ImageBuilderImage. See 'imageBuilderImage'
+-- for a more convenient constructor.
+data ImageBuilderImage =
+  ImageBuilderImage
+  { _imageBuilderImageDistributionConfigurationArn :: Maybe (Val Text)
+  , _imageBuilderImageImageRecipeArn :: Val Text
+  , _imageBuilderImageImageTestsConfiguration :: Maybe ImageBuilderImageImageTestsConfiguration
+  , _imageBuilderImageInfrastructureConfigurationArn :: Val Text
+  , _imageBuilderImageTags :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ImageBuilderImage where
+  toResourceProperties ImageBuilderImage{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ImageBuilder::Image"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DistributionConfigurationArn",) . toJSON) _imageBuilderImageDistributionConfigurationArn
+        , (Just . ("ImageRecipeArn",) . toJSON) _imageBuilderImageImageRecipeArn
+        , fmap (("ImageTestsConfiguration",) . toJSON) _imageBuilderImageImageTestsConfiguration
+        , (Just . ("InfrastructureConfigurationArn",) . toJSON) _imageBuilderImageInfrastructureConfigurationArn
+        , fmap (("Tags",) . toJSON) _imageBuilderImageTags
+        ]
+    }
+
+-- | Constructor for 'ImageBuilderImage' containing required fields as
+-- arguments.
+imageBuilderImage
+  :: Val Text -- ^ 'ibiImageRecipeArn'
+  -> Val Text -- ^ 'ibiInfrastructureConfigurationArn'
+  -> ImageBuilderImage
+imageBuilderImage imageRecipeArnarg infrastructureConfigurationArnarg =
+  ImageBuilderImage
+  { _imageBuilderImageDistributionConfigurationArn = Nothing
+  , _imageBuilderImageImageRecipeArn = imageRecipeArnarg
+  , _imageBuilderImageImageTestsConfiguration = Nothing
+  , _imageBuilderImageInfrastructureConfigurationArn = infrastructureConfigurationArnarg
+  , _imageBuilderImageTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-distributionconfigurationarn
+ibiDistributionConfigurationArn :: Lens' ImageBuilderImage (Maybe (Val Text))
+ibiDistributionConfigurationArn = lens _imageBuilderImageDistributionConfigurationArn (\s a -> s { _imageBuilderImageDistributionConfigurationArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagerecipearn
+ibiImageRecipeArn :: Lens' ImageBuilderImage (Val Text)
+ibiImageRecipeArn = lens _imageBuilderImageImageRecipeArn (\s a -> s { _imageBuilderImageImageRecipeArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagetestsconfiguration
+ibiImageTestsConfiguration :: Lens' ImageBuilderImage (Maybe ImageBuilderImageImageTestsConfiguration)
+ibiImageTestsConfiguration = lens _imageBuilderImageImageTestsConfiguration (\s a -> s { _imageBuilderImageImageTestsConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-infrastructureconfigurationarn
+ibiInfrastructureConfigurationArn :: Lens' ImageBuilderImage (Val Text)
+ibiInfrastructureConfigurationArn = lens _imageBuilderImageInfrastructureConfigurationArn (\s a -> s { _imageBuilderImageInfrastructureConfigurationArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-tags
+ibiTags :: Lens' ImageBuilderImage (Maybe Object)
+ibiTags = lens _imageBuilderImageTags (\s a -> s { _imageBuilderImageTags = a })
diff --git a/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs b/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs
@@ -0,0 +1,78 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html
+
+module Stratosphere.Resources.MacieCustomDataIdentifier where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MacieCustomDataIdentifier. See
+-- 'macieCustomDataIdentifier' for a more convenient constructor.
+data MacieCustomDataIdentifier =
+  MacieCustomDataIdentifier
+  { _macieCustomDataIdentifierDescription :: Maybe (Val Text)
+  , _macieCustomDataIdentifierIgnoreWords :: Maybe (ValList Text)
+  , _macieCustomDataIdentifierKeywords :: Maybe (ValList Text)
+  , _macieCustomDataIdentifierMaximumMatchDistance :: Maybe (Val Integer)
+  , _macieCustomDataIdentifierName :: Val Text
+  , _macieCustomDataIdentifierRegex :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties MacieCustomDataIdentifier where
+  toResourceProperties MacieCustomDataIdentifier{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Macie::CustomDataIdentifier"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _macieCustomDataIdentifierDescription
+        , fmap (("IgnoreWords",) . toJSON) _macieCustomDataIdentifierIgnoreWords
+        , fmap (("Keywords",) . toJSON) _macieCustomDataIdentifierKeywords
+        , fmap (("MaximumMatchDistance",) . toJSON) _macieCustomDataIdentifierMaximumMatchDistance
+        , (Just . ("Name",) . toJSON) _macieCustomDataIdentifierName
+        , (Just . ("Regex",) . toJSON) _macieCustomDataIdentifierRegex
+        ]
+    }
+
+-- | Constructor for 'MacieCustomDataIdentifier' containing required fields as
+-- arguments.
+macieCustomDataIdentifier
+  :: Val Text -- ^ 'mcdiName'
+  -> Val Text -- ^ 'mcdiRegex'
+  -> MacieCustomDataIdentifier
+macieCustomDataIdentifier namearg regexarg =
+  MacieCustomDataIdentifier
+  { _macieCustomDataIdentifierDescription = Nothing
+  , _macieCustomDataIdentifierIgnoreWords = Nothing
+  , _macieCustomDataIdentifierKeywords = Nothing
+  , _macieCustomDataIdentifierMaximumMatchDistance = Nothing
+  , _macieCustomDataIdentifierName = namearg
+  , _macieCustomDataIdentifierRegex = regexarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-description
+mcdiDescription :: Lens' MacieCustomDataIdentifier (Maybe (Val Text))
+mcdiDescription = lens _macieCustomDataIdentifierDescription (\s a -> s { _macieCustomDataIdentifierDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-ignorewords
+mcdiIgnoreWords :: Lens' MacieCustomDataIdentifier (Maybe (ValList Text))
+mcdiIgnoreWords = lens _macieCustomDataIdentifierIgnoreWords (\s a -> s { _macieCustomDataIdentifierIgnoreWords = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-keywords
+mcdiKeywords :: Lens' MacieCustomDataIdentifier (Maybe (ValList Text))
+mcdiKeywords = lens _macieCustomDataIdentifierKeywords (\s a -> s { _macieCustomDataIdentifierKeywords = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-maximummatchdistance
+mcdiMaximumMatchDistance :: Lens' MacieCustomDataIdentifier (Maybe (Val Integer))
+mcdiMaximumMatchDistance = lens _macieCustomDataIdentifierMaximumMatchDistance (\s a -> s { _macieCustomDataIdentifierMaximumMatchDistance = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-name
+mcdiName :: Lens' MacieCustomDataIdentifier (Val Text)
+mcdiName = lens _macieCustomDataIdentifierName (\s a -> s { _macieCustomDataIdentifierName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-regex
+mcdiRegex :: Lens' MacieCustomDataIdentifier (Val Text)
+mcdiRegex = lens _macieCustomDataIdentifierRegex (\s a -> s { _macieCustomDataIdentifierRegex = a })
diff --git a/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs b/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html
+
+module Stratosphere.Resources.MacieFindingsFilter where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MacieFindingsFilter. See
+-- 'macieFindingsFilter' for a more convenient constructor.
+data MacieFindingsFilter =
+  MacieFindingsFilter
+  { _macieFindingsFilterAction :: Maybe (Val Text)
+  , _macieFindingsFilterDescription :: Maybe (Val Text)
+  , _macieFindingsFilterName :: Maybe (Val Text)
+  , _macieFindingsFilterPosition :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties MacieFindingsFilter where
+  toResourceProperties MacieFindingsFilter{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Macie::FindingsFilter"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Action",) . toJSON) _macieFindingsFilterAction
+        , fmap (("Description",) . toJSON) _macieFindingsFilterDescription
+        , fmap (("Name",) . toJSON) _macieFindingsFilterName
+        , fmap (("Position",) . toJSON) _macieFindingsFilterPosition
+        ]
+    }
+
+-- | Constructor for 'MacieFindingsFilter' containing required fields as
+-- arguments.
+macieFindingsFilter
+  :: MacieFindingsFilter
+macieFindingsFilter  =
+  MacieFindingsFilter
+  { _macieFindingsFilterAction = Nothing
+  , _macieFindingsFilterDescription = Nothing
+  , _macieFindingsFilterName = Nothing
+  , _macieFindingsFilterPosition = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-action
+mffAction :: Lens' MacieFindingsFilter (Maybe (Val Text))
+mffAction = lens _macieFindingsFilterAction (\s a -> s { _macieFindingsFilterAction = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-description
+mffDescription :: Lens' MacieFindingsFilter (Maybe (Val Text))
+mffDescription = lens _macieFindingsFilterDescription (\s a -> s { _macieFindingsFilterDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-name
+mffName :: Lens' MacieFindingsFilter (Maybe (Val Text))
+mffName = lens _macieFindingsFilterName (\s a -> s { _macieFindingsFilterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-position
+mffPosition :: Lens' MacieFindingsFilter (Maybe (Val Integer))
+mffPosition = lens _macieFindingsFilterPosition (\s a -> s { _macieFindingsFilterPosition = a })
diff --git a/library-gen/Stratosphere/Resources/MacieSession.hs b/library-gen/Stratosphere/Resources/MacieSession.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/MacieSession.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html
+
+module Stratosphere.Resources.MacieSession where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MacieSession. See 'macieSession' for a more
+-- convenient constructor.
+data MacieSession =
+  MacieSession
+  { _macieSessionFindingPublishingFrequency :: Maybe (Val Text)
+  , _macieSessionStatus :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties MacieSession where
+  toResourceProperties MacieSession{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Macie::Session"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("FindingPublishingFrequency",) . toJSON) _macieSessionFindingPublishingFrequency
+        , fmap (("Status",) . toJSON) _macieSessionStatus
+        ]
+    }
+
+-- | Constructor for 'MacieSession' containing required fields as arguments.
+macieSession
+  :: MacieSession
+macieSession  =
+  MacieSession
+  { _macieSessionFindingPublishingFrequency = Nothing
+  , _macieSessionStatus = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html#cfn-macie-session-findingpublishingfrequency
+msFindingPublishingFrequency :: Lens' MacieSession (Maybe (Val Text))
+msFindingPublishingFrequency = lens _macieSessionFindingPublishingFrequency (\s a -> s { _macieSessionFindingPublishingFrequency = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html#cfn-macie-session-status
+msStatus :: Lens' MacieSession (Maybe (Val Text))
+msStatus = lens _macieSessionStatus (\s a -> s { _macieSessionStatus = a })
diff --git a/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs b/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
--- a/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
+++ b/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings
+import Stratosphere.ResourceProperties.MediaConvertJobTemplateHopDestination
 
 -- | Full data type definition for MediaConvertJobTemplate. See
 -- 'mediaConvertJobTemplate' for a more convenient constructor.
@@ -17,6 +18,7 @@
   { _mediaConvertJobTemplateAccelerationSettings :: Maybe MediaConvertJobTemplateAccelerationSettings
   , _mediaConvertJobTemplateCategory :: Maybe (Val Text)
   , _mediaConvertJobTemplateDescription :: Maybe (Val Text)
+  , _mediaConvertJobTemplateHopDestinations :: Maybe [MediaConvertJobTemplateHopDestination]
   , _mediaConvertJobTemplateName :: Maybe (Val Text)
   , _mediaConvertJobTemplatePriority :: Maybe (Val Integer)
   , _mediaConvertJobTemplateQueue :: Maybe (Val Text)
@@ -34,6 +36,7 @@
         [ fmap (("AccelerationSettings",) . toJSON) _mediaConvertJobTemplateAccelerationSettings
         , fmap (("Category",) . toJSON) _mediaConvertJobTemplateCategory
         , fmap (("Description",) . toJSON) _mediaConvertJobTemplateDescription
+        , fmap (("HopDestinations",) . toJSON) _mediaConvertJobTemplateHopDestinations
         , fmap (("Name",) . toJSON) _mediaConvertJobTemplateName
         , fmap (("Priority",) . toJSON) _mediaConvertJobTemplatePriority
         , fmap (("Queue",) . toJSON) _mediaConvertJobTemplateQueue
@@ -53,6 +56,7 @@
   { _mediaConvertJobTemplateAccelerationSettings = Nothing
   , _mediaConvertJobTemplateCategory = Nothing
   , _mediaConvertJobTemplateDescription = Nothing
+  , _mediaConvertJobTemplateHopDestinations = Nothing
   , _mediaConvertJobTemplateName = Nothing
   , _mediaConvertJobTemplatePriority = Nothing
   , _mediaConvertJobTemplateQueue = Nothing
@@ -72,6 +76,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-description
 mcjtDescription :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
 mcjtDescription = lens _mediaConvertJobTemplateDescription (\s a -> s { _mediaConvertJobTemplateDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-hopdestinations
+mcjtHopDestinations :: Lens' MediaConvertJobTemplate (Maybe [MediaConvertJobTemplateHopDestination])
+mcjtHopDestinations = lens _mediaConvertJobTemplateHopDestinations (\s a -> s { _mediaConvertJobTemplateHopDestinations = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-name
 mcjtName :: Lens' MediaConvertJobTemplate (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/MediaStoreContainer.hs b/library-gen/Stratosphere/Resources/MediaStoreContainer.hs
--- a/library-gen/Stratosphere/Resources/MediaStoreContainer.hs
+++ b/library-gen/Stratosphere/Resources/MediaStoreContainer.hs
@@ -9,6 +9,8 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.MediaStoreContainerCorsRule
+import Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicy
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for MediaStoreContainer. See
 -- 'mediaStoreContainer' for a more convenient constructor.
@@ -18,7 +20,9 @@
   , _mediaStoreContainerContainerName :: Val Text
   , _mediaStoreContainerCorsPolicy :: Maybe [MediaStoreContainerCorsRule]
   , _mediaStoreContainerLifecyclePolicy :: Maybe (Val Text)
+  , _mediaStoreContainerMetricPolicy :: Maybe MediaStoreContainerMetricPolicy
   , _mediaStoreContainerPolicy :: Maybe (Val Text)
+  , _mediaStoreContainerTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties MediaStoreContainer where
@@ -31,7 +35,9 @@
         , (Just . ("ContainerName",) . toJSON) _mediaStoreContainerContainerName
         , fmap (("CorsPolicy",) . toJSON) _mediaStoreContainerCorsPolicy
         , fmap (("LifecyclePolicy",) . toJSON) _mediaStoreContainerLifecyclePolicy
+        , fmap (("MetricPolicy",) . toJSON) _mediaStoreContainerMetricPolicy
         , fmap (("Policy",) . toJSON) _mediaStoreContainerPolicy
+        , fmap (("Tags",) . toJSON) _mediaStoreContainerTags
         ]
     }
 
@@ -46,7 +52,9 @@
   , _mediaStoreContainerContainerName = containerNamearg
   , _mediaStoreContainerCorsPolicy = Nothing
   , _mediaStoreContainerLifecyclePolicy = Nothing
+  , _mediaStoreContainerMetricPolicy = Nothing
   , _mediaStoreContainerPolicy = Nothing
+  , _mediaStoreContainerTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-accessloggingenabled
@@ -65,6 +73,14 @@
 mscLifecyclePolicy :: Lens' MediaStoreContainer (Maybe (Val Text))
 mscLifecyclePolicy = lens _mediaStoreContainerLifecyclePolicy (\s a -> s { _mediaStoreContainerLifecyclePolicy = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-metricpolicy
+mscMetricPolicy :: Lens' MediaStoreContainer (Maybe MediaStoreContainerMetricPolicy)
+mscMetricPolicy = lens _mediaStoreContainerMetricPolicy (\s a -> s { _mediaStoreContainerMetricPolicy = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-policy
 mscPolicy :: Lens' MediaStoreContainer (Maybe (Val Text))
 mscPolicy = lens _mediaStoreContainerPolicy (\s a -> s { _mediaStoreContainerPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-tags
+mscTags :: Lens' MediaStoreContainer (Maybe [Tag])
+mscTags = lens _mediaStoreContainerTags (\s a -> s { _mediaStoreContainerTags = a })
diff --git a/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs b/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
--- a/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
+++ b/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.ResourceGroupsGroupResourceQuery
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for ResourceGroupsGroup. See
 -- 'resourceGroupsGroup' for a more convenient constructor.
@@ -17,7 +18,7 @@
   { _resourceGroupsGroupDescription :: Maybe (Val Text)
   , _resourceGroupsGroupName :: Val Text
   , _resourceGroupsGroupResourceQuery :: Maybe ResourceGroupsGroupResourceQuery
-  , _resourceGroupsGroupTags :: Maybe [Object]
+  , _resourceGroupsGroupTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties ResourceGroupsGroup where
@@ -59,5 +60,5 @@
 rggResourceQuery = lens _resourceGroupsGroupResourceQuery (\s a -> s { _resourceGroupsGroupResourceQuery = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-tags
-rggTags :: Lens' ResourceGroupsGroup (Maybe [Object])
+rggTags :: Lens' ResourceGroupsGroup (Maybe [Tag])
 rggTags = lens _resourceGroupsGroupTags (\s a -> s { _resourceGroupsGroupTags = a })
diff --git a/library-gen/Stratosphere/Resources/SSMAssociation.hs b/library-gen/Stratosphere/Resources/SSMAssociation.hs
--- a/library-gen/Stratosphere/Resources/SSMAssociation.hs
+++ b/library-gen/Stratosphere/Resources/SSMAssociation.hs
@@ -17,13 +17,19 @@
 data SSMAssociation =
   SSMAssociation
   { _sSMAssociationAssociationName :: Maybe (Val Text)
+  , _sSMAssociationAutomationTargetParameterName :: Maybe (Val Text)
+  , _sSMAssociationComplianceSeverity :: Maybe (Val Text)
   , _sSMAssociationDocumentVersion :: Maybe (Val Text)
   , _sSMAssociationInstanceId :: Maybe (Val Text)
+  , _sSMAssociationMaxConcurrency :: Maybe (Val Text)
+  , _sSMAssociationMaxErrors :: Maybe (Val Text)
   , _sSMAssociationName :: Val Text
   , _sSMAssociationOutputLocation :: Maybe SSMAssociationInstanceAssociationOutputLocation
   , _sSMAssociationParameters :: Maybe (Map Text SSMAssociationParameterValues)
   , _sSMAssociationScheduleExpression :: Maybe (Val Text)
+  , _sSMAssociationSyncCompliance :: Maybe (Val Text)
   , _sSMAssociationTargets :: Maybe [SSMAssociationTarget]
+  , _sSMAssociationWaitForSuccessTimeoutSeconds :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToResourceProperties SSMAssociation where
@@ -33,13 +39,19 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AssociationName",) . toJSON) _sSMAssociationAssociationName
+        , fmap (("AutomationTargetParameterName",) . toJSON) _sSMAssociationAutomationTargetParameterName
+        , fmap (("ComplianceSeverity",) . toJSON) _sSMAssociationComplianceSeverity
         , fmap (("DocumentVersion",) . toJSON) _sSMAssociationDocumentVersion
         , fmap (("InstanceId",) . toJSON) _sSMAssociationInstanceId
+        , fmap (("MaxConcurrency",) . toJSON) _sSMAssociationMaxConcurrency
+        , fmap (("MaxErrors",) . toJSON) _sSMAssociationMaxErrors
         , (Just . ("Name",) . toJSON) _sSMAssociationName
         , fmap (("OutputLocation",) . toJSON) _sSMAssociationOutputLocation
         , fmap (("Parameters",) . toJSON) _sSMAssociationParameters
         , fmap (("ScheduleExpression",) . toJSON) _sSMAssociationScheduleExpression
+        , fmap (("SyncCompliance",) . toJSON) _sSMAssociationSyncCompliance
         , fmap (("Targets",) . toJSON) _sSMAssociationTargets
+        , fmap (("WaitForSuccessTimeoutSeconds",) . toJSON) _sSMAssociationWaitForSuccessTimeoutSeconds
         ]
     }
 
@@ -50,19 +62,33 @@
 ssmAssociation namearg =
   SSMAssociation
   { _sSMAssociationAssociationName = Nothing
+  , _sSMAssociationAutomationTargetParameterName = Nothing
+  , _sSMAssociationComplianceSeverity = Nothing
   , _sSMAssociationDocumentVersion = Nothing
   , _sSMAssociationInstanceId = Nothing
+  , _sSMAssociationMaxConcurrency = Nothing
+  , _sSMAssociationMaxErrors = Nothing
   , _sSMAssociationName = namearg
   , _sSMAssociationOutputLocation = Nothing
   , _sSMAssociationParameters = Nothing
   , _sSMAssociationScheduleExpression = Nothing
+  , _sSMAssociationSyncCompliance = Nothing
   , _sSMAssociationTargets = Nothing
+  , _sSMAssociationWaitForSuccessTimeoutSeconds = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-associationname
 ssmaAssociationName :: Lens' SSMAssociation (Maybe (Val Text))
 ssmaAssociationName = lens _sSMAssociationAssociationName (\s a -> s { _sSMAssociationAssociationName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-automationtargetparametername
+ssmaAutomationTargetParameterName :: Lens' SSMAssociation (Maybe (Val Text))
+ssmaAutomationTargetParameterName = lens _sSMAssociationAutomationTargetParameterName (\s a -> s { _sSMAssociationAutomationTargetParameterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-complianceseverity
+ssmaComplianceSeverity :: Lens' SSMAssociation (Maybe (Val Text))
+ssmaComplianceSeverity = lens _sSMAssociationComplianceSeverity (\s a -> s { _sSMAssociationComplianceSeverity = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-documentversion
 ssmaDocumentVersion :: Lens' SSMAssociation (Maybe (Val Text))
 ssmaDocumentVersion = lens _sSMAssociationDocumentVersion (\s a -> s { _sSMAssociationDocumentVersion = a })
@@ -71,6 +97,14 @@
 ssmaInstanceId :: Lens' SSMAssociation (Maybe (Val Text))
 ssmaInstanceId = lens _sSMAssociationInstanceId (\s a -> s { _sSMAssociationInstanceId = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxconcurrency
+ssmaMaxConcurrency :: Lens' SSMAssociation (Maybe (Val Text))
+ssmaMaxConcurrency = lens _sSMAssociationMaxConcurrency (\s a -> s { _sSMAssociationMaxConcurrency = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxerrors
+ssmaMaxErrors :: Lens' SSMAssociation (Maybe (Val Text))
+ssmaMaxErrors = lens _sSMAssociationMaxErrors (\s a -> s { _sSMAssociationMaxErrors = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-name
 ssmaName :: Lens' SSMAssociation (Val Text)
 ssmaName = lens _sSMAssociationName (\s a -> s { _sSMAssociationName = a })
@@ -87,6 +121,14 @@
 ssmaScheduleExpression :: Lens' SSMAssociation (Maybe (Val Text))
 ssmaScheduleExpression = lens _sSMAssociationScheduleExpression (\s a -> s { _sSMAssociationScheduleExpression = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-synccompliance
+ssmaSyncCompliance :: Lens' SSMAssociation (Maybe (Val Text))
+ssmaSyncCompliance = lens _sSMAssociationSyncCompliance (\s a -> s { _sSMAssociationSyncCompliance = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-targets
 ssmaTargets :: Lens' SSMAssociation (Maybe [SSMAssociationTarget])
 ssmaTargets = lens _sSMAssociationTargets (\s a -> s { _sSMAssociationTargets = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-waitforsuccesstimeoutseconds
+ssmaWaitForSuccessTimeoutSeconds :: Lens' SSMAssociation (Maybe (Val Integer))
+ssmaWaitForSuccessTimeoutSeconds = lens _sSMAssociationWaitForSuccessTimeoutSeconds (\s a -> s { _sSMAssociationWaitForSuccessTimeoutSeconds = a })
diff --git a/library-gen/Stratosphere/Resources/SSMParameter.hs b/library-gen/Stratosphere/Resources/SSMParameter.hs
--- a/library-gen/Stratosphere/Resources/SSMParameter.hs
+++ b/library-gen/Stratosphere/Resources/SSMParameter.hs
@@ -15,6 +15,7 @@
 data SSMParameter =
   SSMParameter
   { _sSMParameterAllowedPattern :: Maybe (Val Text)
+  , _sSMParameterDataType :: Maybe (Val Text)
   , _sSMParameterDescription :: Maybe (Val Text)
   , _sSMParameterName :: Maybe (Val Text)
   , _sSMParameterPolicies :: Maybe (Val Text)
@@ -31,6 +32,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AllowedPattern",) . toJSON) _sSMParameterAllowedPattern
+        , fmap (("DataType",) . toJSON) _sSMParameterDataType
         , fmap (("Description",) . toJSON) _sSMParameterDescription
         , fmap (("Name",) . toJSON) _sSMParameterName
         , fmap (("Policies",) . toJSON) _sSMParameterPolicies
@@ -49,6 +51,7 @@
 ssmParameter typearg valuearg =
   SSMParameter
   { _sSMParameterAllowedPattern = Nothing
+  , _sSMParameterDataType = Nothing
   , _sSMParameterDescription = Nothing
   , _sSMParameterName = Nothing
   , _sSMParameterPolicies = Nothing
@@ -61,6 +64,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-allowedpattern
 ssmpAllowedPattern :: Lens' SSMParameter (Maybe (Val Text))
 ssmpAllowedPattern = lens _sSMParameterAllowedPattern (\s a -> s { _sSMParameterAllowedPattern = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-datatype
+ssmpDataType :: Lens' SSMParameter (Maybe (Val Text))
+ssmpDataType = lens _sSMParameterDataType (\s a -> s { _sSMParameterDataType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-description
 ssmpDescription :: Lens' SSMParameter (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs
@@ -21,6 +21,7 @@
   , _serviceCatalogCloudFormationProductName :: Val Text
   , _serviceCatalogCloudFormationProductOwner :: Val Text
   , _serviceCatalogCloudFormationProductProvisioningArtifactParameters :: [ServiceCatalogCloudFormationProductProvisioningArtifactProperties]
+  , _serviceCatalogCloudFormationProductReplaceProvisioningArtifacts :: Maybe (Val Bool)
   , _serviceCatalogCloudFormationProductSupportDescription :: Maybe (Val Text)
   , _serviceCatalogCloudFormationProductSupportEmail :: Maybe (Val Text)
   , _serviceCatalogCloudFormationProductSupportUrl :: Maybe (Val Text)
@@ -39,6 +40,7 @@
         , (Just . ("Name",) . toJSON) _serviceCatalogCloudFormationProductName
         , (Just . ("Owner",) . toJSON) _serviceCatalogCloudFormationProductOwner
         , (Just . ("ProvisioningArtifactParameters",) . toJSON) _serviceCatalogCloudFormationProductProvisioningArtifactParameters
+        , fmap (("ReplaceProvisioningArtifacts",) . toJSON) _serviceCatalogCloudFormationProductReplaceProvisioningArtifacts
         , fmap (("SupportDescription",) . toJSON) _serviceCatalogCloudFormationProductSupportDescription
         , fmap (("SupportEmail",) . toJSON) _serviceCatalogCloudFormationProductSupportEmail
         , fmap (("SupportUrl",) . toJSON) _serviceCatalogCloudFormationProductSupportUrl
@@ -61,6 +63,7 @@
   , _serviceCatalogCloudFormationProductName = namearg
   , _serviceCatalogCloudFormationProductOwner = ownerarg
   , _serviceCatalogCloudFormationProductProvisioningArtifactParameters = provisioningArtifactParametersarg
+  , _serviceCatalogCloudFormationProductReplaceProvisioningArtifacts = Nothing
   , _serviceCatalogCloudFormationProductSupportDescription = Nothing
   , _serviceCatalogCloudFormationProductSupportEmail = Nothing
   , _serviceCatalogCloudFormationProductSupportUrl = Nothing
@@ -90,6 +93,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactparameters
 sccfpProvisioningArtifactParameters :: Lens' ServiceCatalogCloudFormationProduct [ServiceCatalogCloudFormationProductProvisioningArtifactProperties]
 sccfpProvisioningArtifactParameters = lens _serviceCatalogCloudFormationProductProvisioningArtifactParameters (\s a -> s { _serviceCatalogCloudFormationProductProvisioningArtifactParameters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-replaceprovisioningartifacts
+sccfpReplaceProvisioningArtifacts :: Lens' ServiceCatalogCloudFormationProduct (Maybe (Val Bool))
+sccfpReplaceProvisioningArtifacts = lens _serviceCatalogCloudFormationProductReplaceProvisioningArtifacts (\s a -> s { _serviceCatalogCloudFormationProductReplaceProvisioningArtifacts = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supportdescription
 sccfpSupportDescription :: Lens' ServiceCatalogCloudFormationProduct (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
--- a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
+++ b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
@@ -10,7 +10,6 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration
 import Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry
-import Stratosphere.ResourceProperties.StepFunctionsStateMachineTracingConfiguration
 
 -- | Full data type definition for StepFunctionsStateMachine. See
 -- 'stepFunctionsStateMachine' for a more convenient constructor.
@@ -22,7 +21,6 @@
   , _stepFunctionsStateMachineStateMachineName :: Maybe (Val Text)
   , _stepFunctionsStateMachineStateMachineType :: Maybe (Val Text)
   , _stepFunctionsStateMachineTags :: Maybe [StepFunctionsStateMachineTagsEntry]
-  , _stepFunctionsStateMachineTracingConfiguration :: Maybe StepFunctionsStateMachineTracingConfiguration
   } deriving (Show, Eq)
 
 instance ToResourceProperties StepFunctionsStateMachine where
@@ -37,7 +35,6 @@
         , fmap (("StateMachineName",) . toJSON) _stepFunctionsStateMachineStateMachineName
         , fmap (("StateMachineType",) . toJSON) _stepFunctionsStateMachineStateMachineType
         , fmap (("Tags",) . toJSON) _stepFunctionsStateMachineTags
-        , fmap (("TracingConfiguration",) . toJSON) _stepFunctionsStateMachineTracingConfiguration
         ]
     }
 
@@ -55,7 +52,6 @@
   , _stepFunctionsStateMachineStateMachineName = Nothing
   , _stepFunctionsStateMachineStateMachineType = Nothing
   , _stepFunctionsStateMachineTags = Nothing
-  , _stepFunctionsStateMachineTracingConfiguration = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionstring
@@ -81,7 +77,3 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags
 sfsmTags :: Lens' StepFunctionsStateMachine (Maybe [StepFunctionsStateMachineTagsEntry])
 sfsmTags = lens _stepFunctionsStateMachineTags (\s a -> s { _stepFunctionsStateMachineTags = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration
-sfsmTracingConfiguration :: Lens' StepFunctionsStateMachine (Maybe StepFunctionsStateMachineTracingConfiguration)
-sfsmTracingConfiguration = lens _stepFunctionsStateMachineTracingConfiguration (\s a -> s { _stepFunctionsStateMachineTracingConfiguration = a })
diff --git a/library-gen/Stratosphere/Resources/SyntheticsCanary.hs b/library-gen/Stratosphere/Resources/SyntheticsCanary.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/SyntheticsCanary.hs
@@ -0,0 +1,130 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html
+
+module Stratosphere.Resources.SyntheticsCanary where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.SyntheticsCanaryCode
+import Stratosphere.ResourceProperties.SyntheticsCanaryRunConfig
+import Stratosphere.ResourceProperties.SyntheticsCanarySchedule
+import Stratosphere.ResourceProperties.Tag
+import Stratosphere.ResourceProperties.SyntheticsCanaryVPCConfig
+
+-- | Full data type definition for SyntheticsCanary. See 'syntheticsCanary'
+-- for a more convenient constructor.
+data SyntheticsCanary =
+  SyntheticsCanary
+  { _syntheticsCanaryArtifactS3Location :: Val Text
+  , _syntheticsCanaryCode :: SyntheticsCanaryCode
+  , _syntheticsCanaryExecutionRoleArn :: Val Text
+  , _syntheticsCanaryFailureRetentionPeriod :: Maybe (Val Integer)
+  , _syntheticsCanaryName :: Val Text
+  , _syntheticsCanaryRunConfig :: SyntheticsCanaryRunConfig
+  , _syntheticsCanaryRuntimeVersion :: Val Text
+  , _syntheticsCanarySchedule :: SyntheticsCanarySchedule
+  , _syntheticsCanaryStartCanaryAfterCreation :: Val Bool
+  , _syntheticsCanarySuccessRetentionPeriod :: Maybe (Val Integer)
+  , _syntheticsCanaryTags :: Maybe [Tag]
+  , _syntheticsCanaryVPCConfig :: Maybe SyntheticsCanaryVPCConfig
+  } deriving (Show, Eq)
+
+instance ToResourceProperties SyntheticsCanary where
+  toResourceProperties SyntheticsCanary{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Synthetics::Canary"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ArtifactS3Location",) . toJSON) _syntheticsCanaryArtifactS3Location
+        , (Just . ("Code",) . toJSON) _syntheticsCanaryCode
+        , (Just . ("ExecutionRoleArn",) . toJSON) _syntheticsCanaryExecutionRoleArn
+        , fmap (("FailureRetentionPeriod",) . toJSON) _syntheticsCanaryFailureRetentionPeriod
+        , (Just . ("Name",) . toJSON) _syntheticsCanaryName
+        , (Just . ("RunConfig",) . toJSON) _syntheticsCanaryRunConfig
+        , (Just . ("RuntimeVersion",) . toJSON) _syntheticsCanaryRuntimeVersion
+        , (Just . ("Schedule",) . toJSON) _syntheticsCanarySchedule
+        , (Just . ("StartCanaryAfterCreation",) . toJSON) _syntheticsCanaryStartCanaryAfterCreation
+        , fmap (("SuccessRetentionPeriod",) . toJSON) _syntheticsCanarySuccessRetentionPeriod
+        , fmap (("Tags",) . toJSON) _syntheticsCanaryTags
+        , fmap (("VPCConfig",) . toJSON) _syntheticsCanaryVPCConfig
+        ]
+    }
+
+-- | Constructor for 'SyntheticsCanary' containing required fields as
+-- arguments.
+syntheticsCanary
+  :: Val Text -- ^ 'scArtifactS3Location'
+  -> SyntheticsCanaryCode -- ^ 'scCode'
+  -> Val Text -- ^ 'scExecutionRoleArn'
+  -> Val Text -- ^ 'scName'
+  -> SyntheticsCanaryRunConfig -- ^ 'scRunConfig'
+  -> Val Text -- ^ 'scRuntimeVersion'
+  -> SyntheticsCanarySchedule -- ^ 'scSchedule'
+  -> Val Bool -- ^ 'scStartCanaryAfterCreation'
+  -> SyntheticsCanary
+syntheticsCanary artifactS3Locationarg codearg executionRoleArnarg namearg runConfigarg runtimeVersionarg schedulearg startCanaryAfterCreationarg =
+  SyntheticsCanary
+  { _syntheticsCanaryArtifactS3Location = artifactS3Locationarg
+  , _syntheticsCanaryCode = codearg
+  , _syntheticsCanaryExecutionRoleArn = executionRoleArnarg
+  , _syntheticsCanaryFailureRetentionPeriod = Nothing
+  , _syntheticsCanaryName = namearg
+  , _syntheticsCanaryRunConfig = runConfigarg
+  , _syntheticsCanaryRuntimeVersion = runtimeVersionarg
+  , _syntheticsCanarySchedule = schedulearg
+  , _syntheticsCanaryStartCanaryAfterCreation = startCanaryAfterCreationarg
+  , _syntheticsCanarySuccessRetentionPeriod = Nothing
+  , _syntheticsCanaryTags = Nothing
+  , _syntheticsCanaryVPCConfig = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-artifacts3location
+scArtifactS3Location :: Lens' SyntheticsCanary (Val Text)
+scArtifactS3Location = lens _syntheticsCanaryArtifactS3Location (\s a -> s { _syntheticsCanaryArtifactS3Location = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-code
+scCode :: Lens' SyntheticsCanary SyntheticsCanaryCode
+scCode = lens _syntheticsCanaryCode (\s a -> s { _syntheticsCanaryCode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-executionrolearn
+scExecutionRoleArn :: Lens' SyntheticsCanary (Val Text)
+scExecutionRoleArn = lens _syntheticsCanaryExecutionRoleArn (\s a -> s { _syntheticsCanaryExecutionRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-failureretentionperiod
+scFailureRetentionPeriod :: Lens' SyntheticsCanary (Maybe (Val Integer))
+scFailureRetentionPeriod = lens _syntheticsCanaryFailureRetentionPeriod (\s a -> s { _syntheticsCanaryFailureRetentionPeriod = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-name
+scName :: Lens' SyntheticsCanary (Val Text)
+scName = lens _syntheticsCanaryName (\s a -> s { _syntheticsCanaryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runconfig
+scRunConfig :: Lens' SyntheticsCanary SyntheticsCanaryRunConfig
+scRunConfig = lens _syntheticsCanaryRunConfig (\s a -> s { _syntheticsCanaryRunConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runtimeversion
+scRuntimeVersion :: Lens' SyntheticsCanary (Val Text)
+scRuntimeVersion = lens _syntheticsCanaryRuntimeVersion (\s a -> s { _syntheticsCanaryRuntimeVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-schedule
+scSchedule :: Lens' SyntheticsCanary SyntheticsCanarySchedule
+scSchedule = lens _syntheticsCanarySchedule (\s a -> s { _syntheticsCanarySchedule = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-startcanaryaftercreation
+scStartCanaryAfterCreation :: Lens' SyntheticsCanary (Val Bool)
+scStartCanaryAfterCreation = lens _syntheticsCanaryStartCanaryAfterCreation (\s a -> s { _syntheticsCanaryStartCanaryAfterCreation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-successretentionperiod
+scSuccessRetentionPeriod :: Lens' SyntheticsCanary (Maybe (Val Integer))
+scSuccessRetentionPeriod = lens _syntheticsCanarySuccessRetentionPeriod (\s a -> s { _syntheticsCanarySuccessRetentionPeriod = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-tags
+scTags :: Lens' SyntheticsCanary (Maybe [Tag])
+scTags = lens _syntheticsCanaryTags (\s a -> s { _syntheticsCanaryTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-vpcconfig
+scVPCConfig :: Lens' SyntheticsCanary (Maybe SyntheticsCanaryVPCConfig)
+scVPCConfig = lens _syntheticsCanaryVPCConfig (\s a -> s { _syntheticsCanaryVPCConfig = a })
diff --git a/library-gen/Stratosphere/Resources/TransferServer.hs b/library-gen/Stratosphere/Resources/TransferServer.hs
--- a/library-gen/Stratosphere/Resources/TransferServer.hs
+++ b/library-gen/Stratosphere/Resources/TransferServer.hs
@@ -16,7 +16,8 @@
 -- more convenient constructor.
 data TransferServer =
   TransferServer
-  { _transferServerEndpointDetails :: Maybe TransferServerEndpointDetails
+  { _transferServerCertificate :: Maybe (Val Text)
+  , _transferServerEndpointDetails :: Maybe TransferServerEndpointDetails
   , _transferServerEndpointType :: Maybe (Val Text)
   , _transferServerIdentityProviderDetails :: Maybe TransferServerIdentityProviderDetails
   , _transferServerIdentityProviderType :: Maybe (Val Text)
@@ -30,7 +31,8 @@
     { resourcePropertiesType = "AWS::Transfer::Server"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("EndpointDetails",) . toJSON) _transferServerEndpointDetails
+        [ fmap (("Certificate",) . toJSON) _transferServerCertificate
+        , fmap (("EndpointDetails",) . toJSON) _transferServerEndpointDetails
         , fmap (("EndpointType",) . toJSON) _transferServerEndpointType
         , fmap (("IdentityProviderDetails",) . toJSON) _transferServerIdentityProviderDetails
         , fmap (("IdentityProviderType",) . toJSON) _transferServerIdentityProviderType
@@ -44,13 +46,18 @@
   :: TransferServer
 transferServer  =
   TransferServer
-  { _transferServerEndpointDetails = Nothing
+  { _transferServerCertificate = Nothing
+  , _transferServerEndpointDetails = Nothing
   , _transferServerEndpointType = Nothing
   , _transferServerIdentityProviderDetails = Nothing
   , _transferServerIdentityProviderType = Nothing
   , _transferServerLoggingRole = Nothing
   , _transferServerTags = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-certificate
+tsCertificate :: Lens' TransferServer (Maybe (Val Text))
+tsCertificate = lens _transferServerCertificate (\s a -> s { _transferServerCertificate = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-endpointdetails
 tsEndpointDetails :: Lens' TransferServer (Maybe TransferServerEndpointDetails)
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: d225bcf7b46ec58f804e082961a133e48b9dab8163d2040355a1ce961b621ea5
+-- hash: bb5ed2583f74d8e58fc8662a2869847472c16ccaa71de969d995fa546e725e96
 
 name:           stratosphere
-version:        0.52.0
+version:        0.53.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -429,6 +429,7 @@
       Stratosphere.ResourceProperties.DMSEndpointKafkaSettings
       Stratosphere.ResourceProperties.DMSEndpointKinesisSettings
       Stratosphere.ResourceProperties.DMSEndpointMongoDbSettings
+      Stratosphere.ResourceProperties.DMSEndpointNeptuneSettings
       Stratosphere.ResourceProperties.DMSEndpointS3Settings
       Stratosphere.ResourceProperties.DynamoDBTableAttributeDefinition
       Stratosphere.ResourceProperties.DynamoDBTableGlobalSecondaryIndex
@@ -522,7 +523,7 @@
       Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRange
       Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification
       Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy
-      Stratosphere.ResourceProperties.ECSClusterClusterSetting
+      Stratosphere.ResourceProperties.ECSClusterClusterSettings
       Stratosphere.ResourceProperties.ECSServiceAwsVpcConfiguration
       Stratosphere.ResourceProperties.ECSServiceDeploymentConfiguration
       Stratosphere.ResourceProperties.ECSServiceDeploymentController
@@ -706,6 +707,8 @@
       Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy
       Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty
       Stratosphere.ResourceProperties.GameLiftScriptS3Location
+      Stratosphere.ResourceProperties.GlobalAcceleratorEndpointGroupEndpointConfiguration
+      Stratosphere.ResourceProperties.GlobalAcceleratorListenerPortRange
       Stratosphere.ResourceProperties.GlueClassifierCsvClassifier
       Stratosphere.ResourceProperties.GlueClassifierGrokClassifier
       Stratosphere.ResourceProperties.GlueClassifierJsonClassifier
@@ -808,6 +811,7 @@
       Stratosphere.ResourceProperties.IAMUserLoginProfile
       Stratosphere.ResourceProperties.IAMUserPolicy
       Stratosphere.ResourceProperties.ImageBuilderDistributionConfigurationDistribution
+      Stratosphere.ResourceProperties.ImageBuilderImageImageTestsConfiguration
       Stratosphere.ResourceProperties.ImageBuilderImagePipelineImageTestsConfiguration
       Stratosphere.ResourceProperties.ImageBuilderImagePipelineSchedule
       Stratosphere.ResourceProperties.ImageBuilderImageRecipeComponentConfiguration
@@ -856,16 +860,23 @@
       Stratosphere.ResourceProperties.IoTAnalyticsPipelineRemoveAttributes
       Stratosphere.ResourceProperties.IoTAnalyticsPipelineSelectAttributes
       Stratosphere.ResourceProperties.IoTEventsDetectorModelAction
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyTimestamp
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyValue
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyVariant
       Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer
       Stratosphere.ResourceProperties.IoTEventsDetectorModelDetectorModelDefinition
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDB
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelDynamoDBv2
       Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent
       Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose
       Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelIotSiteWise
       Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish
       Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda
       Stratosphere.ResourceProperties.IoTEventsDetectorModelOnEnter
       Stratosphere.ResourceProperties.IoTEventsDetectorModelOnExit
       Stratosphere.ResourceProperties.IoTEventsDetectorModelOnInput
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelPayload
       Stratosphere.ResourceProperties.IoTEventsDetectorModelResetTimer
       Stratosphere.ResourceProperties.IoTEventsDetectorModelSetTimer
       Stratosphere.ResourceProperties.IoTEventsDetectorModelSetVariable
@@ -996,10 +1007,13 @@
       Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamSplunkRetryOptions
       Stratosphere.ResourceProperties.KinesisStreamStreamEncryption
       Stratosphere.ResourceProperties.LakeFormationDataLakeSettingsDataLakePrincipal
+      Stratosphere.ResourceProperties.LakeFormationPermissionsColumnWildcard
       Stratosphere.ResourceProperties.LakeFormationPermissionsDatabaseResource
       Stratosphere.ResourceProperties.LakeFormationPermissionsDataLakePrincipal
+      Stratosphere.ResourceProperties.LakeFormationPermissionsDataLocationResource
       Stratosphere.ResourceProperties.LakeFormationPermissionsResource
       Stratosphere.ResourceProperties.LakeFormationPermissionsTableResource
+      Stratosphere.ResourceProperties.LakeFormationPermissionsTableWithColumnsResource
       Stratosphere.ResourceProperties.LambdaAliasAliasRoutingConfiguration
       Stratosphere.ResourceProperties.LambdaAliasProvisionedConcurrencyConfiguration
       Stratosphere.ResourceProperties.LambdaAliasVersionWeight
@@ -1026,6 +1040,7 @@
       Stratosphere.ResourceProperties.ManagedBlockchainMemberVotingPolicy
       Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration
       Stratosphere.ResourceProperties.MediaConvertJobTemplateAccelerationSettings
+      Stratosphere.ResourceProperties.MediaConvertJobTemplateHopDestination
       Stratosphere.ResourceProperties.MediaLiveChannelAribSourceSettings
       Stratosphere.ResourceProperties.MediaLiveChannelAudioLanguageSelection
       Stratosphere.ResourceProperties.MediaLiveChannelAudioPidSelection
@@ -1057,6 +1072,8 @@
       Stratosphere.ResourceProperties.MediaLiveInputMediaConnectFlowRequest
       Stratosphere.ResourceProperties.MediaLiveInputSecurityGroupInputWhitelistRuleCidr
       Stratosphere.ResourceProperties.MediaStoreContainerCorsRule
+      Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicy
+      Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicyRule
       Stratosphere.ResourceProperties.MSKClusterBrokerLogs
       Stratosphere.ResourceProperties.MSKClusterBrokerNodeGroupInfo
       Stratosphere.ResourceProperties.MSKClusterClientAuthentication
@@ -1281,7 +1298,10 @@
       Stratosphere.ResourceProperties.StepFunctionsStateMachineLogDestination
       Stratosphere.ResourceProperties.StepFunctionsStateMachineLoggingConfiguration
       Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry
-      Stratosphere.ResourceProperties.StepFunctionsStateMachineTracingConfiguration
+      Stratosphere.ResourceProperties.SyntheticsCanaryCode
+      Stratosphere.ResourceProperties.SyntheticsCanaryRunConfig
+      Stratosphere.ResourceProperties.SyntheticsCanarySchedule
+      Stratosphere.ResourceProperties.SyntheticsCanaryVPCConfig
       Stratosphere.ResourceProperties.Tag
       Stratosphere.ResourceProperties.TransferServerEndpointDetails
       Stratosphere.ResourceProperties.TransferServerIdentityProviderDetails
@@ -1449,6 +1469,7 @@
       Stratosphere.Resources.BudgetsBudget
       Stratosphere.Resources.CassandraKeyspace
       Stratosphere.Resources.CassandraTable
+      Stratosphere.Resources.CECostCategory
       Stratosphere.Resources.CertificateManagerCertificate
       Stratosphere.Resources.ChatbotSlackChannelConfiguration
       Stratosphere.Resources.Cloud9EnvironmentEC2
@@ -1616,6 +1637,7 @@
       Stratosphere.Resources.EMRStep
       Stratosphere.Resources.EventSchemasDiscoverer
       Stratosphere.Resources.EventSchemasRegistry
+      Stratosphere.Resources.EventSchemasRegistryPolicy
       Stratosphere.Resources.EventSchemasSchema
       Stratosphere.Resources.EventsEventBus
       Stratosphere.Resources.EventsEventBusPolicy
@@ -1630,6 +1652,9 @@
       Stratosphere.Resources.GameLiftMatchmakingConfiguration
       Stratosphere.Resources.GameLiftMatchmakingRuleSet
       Stratosphere.Resources.GameLiftScript
+      Stratosphere.Resources.GlobalAcceleratorAccelerator
+      Stratosphere.Resources.GlobalAcceleratorEndpointGroup
+      Stratosphere.Resources.GlobalAcceleratorListener
       Stratosphere.Resources.GlueClassifier
       Stratosphere.Resources.GlueConnection
       Stratosphere.Resources.GlueCrawler
@@ -1676,6 +1701,7 @@
       Stratosphere.Resources.IAMUserToGroupAddition
       Stratosphere.Resources.ImageBuilderComponent
       Stratosphere.Resources.ImageBuilderDistributionConfiguration
+      Stratosphere.Resources.ImageBuilderImage
       Stratosphere.Resources.ImageBuilderImagePipeline
       Stratosphere.Resources.ImageBuilderImageRecipe
       Stratosphere.Resources.ImageBuilderInfrastructureConfiguration
@@ -1726,6 +1752,9 @@
       Stratosphere.Resources.LogsLogStream
       Stratosphere.Resources.LogsMetricFilter
       Stratosphere.Resources.LogsSubscriptionFilter
+      Stratosphere.Resources.MacieCustomDataIdentifier
+      Stratosphere.Resources.MacieFindingsFilter
+      Stratosphere.Resources.MacieSession
       Stratosphere.Resources.ManagedBlockchainMember
       Stratosphere.Resources.ManagedBlockchainNode
       Stratosphere.Resources.MediaConvertJobTemplate
@@ -1864,6 +1893,7 @@
       Stratosphere.Resources.SSMResourceDataSync
       Stratosphere.Resources.StepFunctionsActivity
       Stratosphere.Resources.StepFunctionsStateMachine
+      Stratosphere.Resources.SyntheticsCanary
       Stratosphere.Resources.TransferServer
       Stratosphere.Resources.TransferUser
       Stratosphere.Resources.WAFByteMatchSet
