diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.41.0
+
+* Update resource specification document to version 5.0.0
+
 ## 0.40.0
 
 * Update resource specification document to version 4.1.0
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -42,16 +42,16 @@
   [ resource "EC2Instance" (
     EC2InstanceProperties $
     ec2Instance
-    "ami-22111148"
+    & eciImageId ?~ "ami-22111148"
     & eciKeyName ?~ (Ref "KeyName")
     )
-    & deletionPolicy ?~ Retain
+    & resourceDeletionPolicy ?~ Retain
   ]
-  & description ?~ "Sample template"
-  & parameters ?~
+  & templateDescription ?~ "Sample template"
+  & templateParameters ?~
   [ parameter "KeyName" "AWS::EC2::KeyPair::KeyName"
-    & description ?~ "Name of an existing EC2 KeyPair to enable SSH access to the instance"
-    & constraintDescription ?~ "Must be the name of an existing EC2 KeyPair."
+    & parameterDescription ?~ "Name of an existing EC2 KeyPair to enable SSH access to the instance"
+    & parameterConstraintDescription ?~ "Must be the name of an existing EC2 KeyPair."
   ]
 ```
 
@@ -101,9 +101,8 @@
 without adding too much noise to their code.
 
 To specify optional arguments, we recommend using the lens operators `&` and
-`?~`. In the example above, the `ec2Instance` function takes the AMI as an
-argument, since it is required by the `EC2Instance` resource type. Then, the
-optional EC2 key name is specified using the `&` and `?~` lens operators.
+`?~`. In the example above, the optional EC2 key name is specified using the 
+`&` and `?~` lens operators.
 
 This approach is very similar to the approach taken by the `amazonka` library.
 See this
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerEncryptionOptions.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerEncryptionOptions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerEncryptionOptions.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html
+
+module Stratosphere.ResourceProperties.AmazonMQBrokerEncryptionOptions where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for AmazonMQBrokerEncryptionOptions. See
+-- 'amazonMQBrokerEncryptionOptions' for a more convenient constructor.
+data AmazonMQBrokerEncryptionOptions =
+  AmazonMQBrokerEncryptionOptions
+  { _amazonMQBrokerEncryptionOptionsKmsKeyId :: Maybe (Val Text)
+  , _amazonMQBrokerEncryptionOptionsUseAwsOwnedKey :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON AmazonMQBrokerEncryptionOptions where
+  toJSON AmazonMQBrokerEncryptionOptions{..} =
+    object $
+    catMaybes
+    [ fmap (("KmsKeyId",) . toJSON) _amazonMQBrokerEncryptionOptionsKmsKeyId
+    , (Just . ("UseAwsOwnedKey",) . toJSON) _amazonMQBrokerEncryptionOptionsUseAwsOwnedKey
+    ]
+
+-- | Constructor for 'AmazonMQBrokerEncryptionOptions' containing required
+-- fields as arguments.
+amazonMQBrokerEncryptionOptions
+  :: Val Bool -- ^ 'amqbeoUseAwsOwnedKey'
+  -> AmazonMQBrokerEncryptionOptions
+amazonMQBrokerEncryptionOptions useAwsOwnedKeyarg =
+  AmazonMQBrokerEncryptionOptions
+  { _amazonMQBrokerEncryptionOptionsKmsKeyId = Nothing
+  , _amazonMQBrokerEncryptionOptionsUseAwsOwnedKey = useAwsOwnedKeyarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-kmskeyid
+amqbeoKmsKeyId :: Lens' AmazonMQBrokerEncryptionOptions (Maybe (Val Text))
+amqbeoKmsKeyId = lens _amazonMQBrokerEncryptionOptionsKmsKeyId (\s a -> s { _amazonMQBrokerEncryptionOptionsKmsKeyId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-useawsownedkey
+amqbeoUseAwsOwnedKey :: Lens' AmazonMQBrokerEncryptionOptions (Val Bool)
+amqbeoUseAwsOwnedKey = lens _amazonMQBrokerEncryptionOptionsUseAwsOwnedKey (\s a -> s { _amazonMQBrokerEncryptionOptionsUseAwsOwnedKey = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs b/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/AmplifyAppAutoBranchCreationConfig.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html
+
+module Stratosphere.ResourceProperties.AmplifyAppAutoBranchCreationConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AmplifyAppBasicAuthConfig
+import Stratosphere.ResourceProperties.AmplifyAppEnvironmentVariable
+
+-- | Full data type definition for AmplifyAppAutoBranchCreationConfig. See
+-- 'amplifyAppAutoBranchCreationConfig' for a more convenient constructor.
+data AmplifyAppAutoBranchCreationConfig =
+  AmplifyAppAutoBranchCreationConfig
+  { _amplifyAppAutoBranchCreationConfigAutoBranchCreationPatterns :: Maybe (ValList Text)
+  , _amplifyAppAutoBranchCreationConfigBasicAuthConfig :: Maybe AmplifyAppBasicAuthConfig
+  , _amplifyAppAutoBranchCreationConfigBuildSpec :: Maybe (Val Text)
+  , _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation :: Maybe (Val Bool)
+  , _amplifyAppAutoBranchCreationConfigEnableAutoBuild :: Maybe (Val Bool)
+  , _amplifyAppAutoBranchCreationConfigEnvironmentVariables :: Maybe [AmplifyAppEnvironmentVariable]
+  , _amplifyAppAutoBranchCreationConfigStage :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON AmplifyAppAutoBranchCreationConfig where
+  toJSON AmplifyAppAutoBranchCreationConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("AutoBranchCreationPatterns",) . toJSON) _amplifyAppAutoBranchCreationConfigAutoBranchCreationPatterns
+    , fmap (("BasicAuthConfig",) . toJSON) _amplifyAppAutoBranchCreationConfigBasicAuthConfig
+    , fmap (("BuildSpec",) . toJSON) _amplifyAppAutoBranchCreationConfigBuildSpec
+    , fmap (("EnableAutoBranchCreation",) . toJSON) _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation
+    , fmap (("EnableAutoBuild",) . toJSON) _amplifyAppAutoBranchCreationConfigEnableAutoBuild
+    , fmap (("EnvironmentVariables",) . toJSON) _amplifyAppAutoBranchCreationConfigEnvironmentVariables
+    , fmap (("Stage",) . toJSON) _amplifyAppAutoBranchCreationConfigStage
+    ]
+
+-- | Constructor for 'AmplifyAppAutoBranchCreationConfig' containing required
+-- fields as arguments.
+amplifyAppAutoBranchCreationConfig
+  :: AmplifyAppAutoBranchCreationConfig
+amplifyAppAutoBranchCreationConfig  =
+  AmplifyAppAutoBranchCreationConfig
+  { _amplifyAppAutoBranchCreationConfigAutoBranchCreationPatterns = Nothing
+  , _amplifyAppAutoBranchCreationConfigBasicAuthConfig = Nothing
+  , _amplifyAppAutoBranchCreationConfigBuildSpec = Nothing
+  , _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation = Nothing
+  , _amplifyAppAutoBranchCreationConfigEnableAutoBuild = Nothing
+  , _amplifyAppAutoBranchCreationConfigEnvironmentVariables = Nothing
+  , _amplifyAppAutoBranchCreationConfigStage = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-autobranchcreationpatterns
+aaabccAutoBranchCreationPatterns :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (ValList Text))
+aaabccAutoBranchCreationPatterns = lens _amplifyAppAutoBranchCreationConfigAutoBranchCreationPatterns (\s a -> s { _amplifyAppAutoBranchCreationConfigAutoBranchCreationPatterns = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-basicauthconfig
+aaabccBasicAuthConfig :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe AmplifyAppBasicAuthConfig)
+aaabccBasicAuthConfig = lens _amplifyAppAutoBranchCreationConfigBasicAuthConfig (\s a -> s { _amplifyAppAutoBranchCreationConfigBasicAuthConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-buildspec
+aaabccBuildSpec :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Text))
+aaabccBuildSpec = lens _amplifyAppAutoBranchCreationConfigBuildSpec (\s a -> s { _amplifyAppAutoBranchCreationConfigBuildSpec = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobranchcreation
+aaabccEnableAutoBranchCreation :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Bool))
+aaabccEnableAutoBranchCreation = lens _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation (\s a -> s { _amplifyAppAutoBranchCreationConfigEnableAutoBranchCreation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobuild
+aaabccEnableAutoBuild :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Bool))
+aaabccEnableAutoBuild = lens _amplifyAppAutoBranchCreationConfigEnableAutoBuild (\s a -> s { _amplifyAppAutoBranchCreationConfigEnableAutoBuild = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-environmentvariables
+aaabccEnvironmentVariables :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe [AmplifyAppEnvironmentVariable])
+aaabccEnvironmentVariables = lens _amplifyAppAutoBranchCreationConfigEnvironmentVariables (\s a -> s { _amplifyAppAutoBranchCreationConfigEnvironmentVariables = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-stage
+aaabccStage :: Lens' AmplifyAppAutoBranchCreationConfig (Maybe (Val Text))
+aaabccStage = lens _amplifyAppAutoBranchCreationConfigStage (\s a -> s { _amplifyAppAutoBranchCreationConfigStage = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/AmplifyAppBasicAuthConfig.hs b/library-gen/Stratosphere/ResourceProperties/AmplifyAppBasicAuthConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/AmplifyAppBasicAuthConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AmplifyAppBasicAuthConfig.hs
@@ -15,8 +15,8 @@
 data AmplifyAppBasicAuthConfig =
   AmplifyAppBasicAuthConfig
   { _amplifyAppBasicAuthConfigEnableBasicAuth :: Maybe (Val Bool)
-  , _amplifyAppBasicAuthConfigPassword :: Val Text
-  , _amplifyAppBasicAuthConfigUsername :: Val Text
+  , _amplifyAppBasicAuthConfigPassword :: Maybe (Val Text)
+  , _amplifyAppBasicAuthConfigUsername :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON AmplifyAppBasicAuthConfig where
@@ -24,21 +24,19 @@
     object $
     catMaybes
     [ fmap (("EnableBasicAuth",) . toJSON) _amplifyAppBasicAuthConfigEnableBasicAuth
-    , (Just . ("Password",) . toJSON) _amplifyAppBasicAuthConfigPassword
-    , (Just . ("Username",) . toJSON) _amplifyAppBasicAuthConfigUsername
+    , fmap (("Password",) . toJSON) _amplifyAppBasicAuthConfigPassword
+    , fmap (("Username",) . toJSON) _amplifyAppBasicAuthConfigUsername
     ]
 
 -- | Constructor for 'AmplifyAppBasicAuthConfig' containing required fields as
 -- arguments.
 amplifyAppBasicAuthConfig
-  :: Val Text -- ^ 'aabacPassword'
-  -> Val Text -- ^ 'aabacUsername'
-  -> AmplifyAppBasicAuthConfig
-amplifyAppBasicAuthConfig passwordarg usernamearg =
+  :: AmplifyAppBasicAuthConfig
+amplifyAppBasicAuthConfig  =
   AmplifyAppBasicAuthConfig
   { _amplifyAppBasicAuthConfigEnableBasicAuth = Nothing
-  , _amplifyAppBasicAuthConfigPassword = passwordarg
-  , _amplifyAppBasicAuthConfigUsername = usernamearg
+  , _amplifyAppBasicAuthConfigPassword = Nothing
+  , _amplifyAppBasicAuthConfigUsername = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-enablebasicauth
@@ -46,9 +44,9 @@
 aabacEnableBasicAuth = lens _amplifyAppBasicAuthConfigEnableBasicAuth (\s a -> s { _amplifyAppBasicAuthConfigEnableBasicAuth = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-password
-aabacPassword :: Lens' AmplifyAppBasicAuthConfig (Val Text)
+aabacPassword :: Lens' AmplifyAppBasicAuthConfig (Maybe (Val Text))
 aabacPassword = lens _amplifyAppBasicAuthConfigPassword (\s a -> s { _amplifyAppBasicAuthConfigPassword = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-username
-aabacUsername :: Lens' AmplifyAppBasicAuthConfig (Val Text)
+aabacUsername :: Lens' AmplifyAppBasicAuthConfig (Maybe (Val Text))
 aabacUsername = lens _amplifyAppBasicAuthConfigUsername (\s a -> s { _amplifyAppBasicAuthConfigUsername = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs b/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs
@@ -25,7 +25,7 @@
   , _batchComputeEnvironmentComputeResourcesMaxvCpus :: Val Integer
   , _batchComputeEnvironmentComputeResourcesMinvCpus :: Val Integer
   , _batchComputeEnvironmentComputeResourcesPlacementGroup :: Maybe (Val Text)
-  , _batchComputeEnvironmentComputeResourcesSecurityGroupIds :: ValList Text
+  , _batchComputeEnvironmentComputeResourcesSecurityGroupIds :: Maybe (ValList Text)
   , _batchComputeEnvironmentComputeResourcesSpotIamFleetRole :: Maybe (Val Text)
   , _batchComputeEnvironmentComputeResourcesSubnets :: ValList Text
   , _batchComputeEnvironmentComputeResourcesTags :: Maybe Object
@@ -46,7 +46,7 @@
     , (Just . ("MaxvCpus",) . toJSON) _batchComputeEnvironmentComputeResourcesMaxvCpus
     , (Just . ("MinvCpus",) . toJSON) _batchComputeEnvironmentComputeResourcesMinvCpus
     , fmap (("PlacementGroup",) . toJSON) _batchComputeEnvironmentComputeResourcesPlacementGroup
-    , (Just . ("SecurityGroupIds",) . toJSON) _batchComputeEnvironmentComputeResourcesSecurityGroupIds
+    , fmap (("SecurityGroupIds",) . toJSON) _batchComputeEnvironmentComputeResourcesSecurityGroupIds
     , fmap (("SpotIamFleetRole",) . toJSON) _batchComputeEnvironmentComputeResourcesSpotIamFleetRole
     , (Just . ("Subnets",) . toJSON) _batchComputeEnvironmentComputeResourcesSubnets
     , fmap (("Tags",) . toJSON) _batchComputeEnvironmentComputeResourcesTags
@@ -60,11 +60,10 @@
   -> ValList Text -- ^ 'bcecrInstanceTypes'
   -> Val Integer -- ^ 'bcecrMaxvCpus'
   -> Val Integer -- ^ 'bcecrMinvCpus'
-  -> ValList Text -- ^ 'bcecrSecurityGroupIds'
   -> ValList Text -- ^ 'bcecrSubnets'
   -> Val Text -- ^ 'bcecrType'
   -> BatchComputeEnvironmentComputeResources
-batchComputeEnvironmentComputeResources instanceRolearg instanceTypesarg maxvCpusarg minvCpusarg securityGroupIdsarg subnetsarg typearg =
+batchComputeEnvironmentComputeResources instanceRolearg instanceTypesarg maxvCpusarg minvCpusarg subnetsarg typearg =
   BatchComputeEnvironmentComputeResources
   { _batchComputeEnvironmentComputeResourcesBidPercentage = Nothing
   , _batchComputeEnvironmentComputeResourcesDesiredvCpus = Nothing
@@ -76,7 +75,7 @@
   , _batchComputeEnvironmentComputeResourcesMaxvCpus = maxvCpusarg
   , _batchComputeEnvironmentComputeResourcesMinvCpus = minvCpusarg
   , _batchComputeEnvironmentComputeResourcesPlacementGroup = Nothing
-  , _batchComputeEnvironmentComputeResourcesSecurityGroupIds = securityGroupIdsarg
+  , _batchComputeEnvironmentComputeResourcesSecurityGroupIds = Nothing
   , _batchComputeEnvironmentComputeResourcesSpotIamFleetRole = Nothing
   , _batchComputeEnvironmentComputeResourcesSubnets = subnetsarg
   , _batchComputeEnvironmentComputeResourcesTags = Nothing
@@ -124,7 +123,7 @@
 bcecrPlacementGroup = lens _batchComputeEnvironmentComputeResourcesPlacementGroup (\s a -> s { _batchComputeEnvironmentComputeResourcesPlacementGroup = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-securitygroupids
-bcecrSecurityGroupIds :: Lens' BatchComputeEnvironmentComputeResources (ValList Text)
+bcecrSecurityGroupIds :: Lens' BatchComputeEnvironmentComputeResources (Maybe (ValList Text))
 bcecrSecurityGroupIds = lens _batchComputeEnvironmentComputeResourcesSecurityGroupIds (\s a -> s { _batchComputeEnvironmentComputeResourcesSecurityGroupIds = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-spotiamfleetrole
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.BatchJobDefinitionEnvironment
+import Stratosphere.ResourceProperties.BatchJobDefinitionLinuxParameters
 import Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints
 import Stratosphere.ResourceProperties.BatchJobDefinitionResourceRequirement
 import Stratosphere.ResourceProperties.BatchJobDefinitionUlimit
@@ -24,6 +25,7 @@
   , _batchJobDefinitionContainerPropertiesImage :: Val Text
   , _batchJobDefinitionContainerPropertiesInstanceType :: Maybe (Val Text)
   , _batchJobDefinitionContainerPropertiesJobRoleArn :: Maybe (Val Text)
+  , _batchJobDefinitionContainerPropertiesLinuxParameters :: Maybe BatchJobDefinitionLinuxParameters
   , _batchJobDefinitionContainerPropertiesMemory :: Val Integer
   , _batchJobDefinitionContainerPropertiesMountPoints :: Maybe [BatchJobDefinitionMountPoints]
   , _batchJobDefinitionContainerPropertiesPrivileged :: Maybe (Val Bool)
@@ -44,6 +46,7 @@
     , (Just . ("Image",) . toJSON) _batchJobDefinitionContainerPropertiesImage
     , fmap (("InstanceType",) . toJSON) _batchJobDefinitionContainerPropertiesInstanceType
     , fmap (("JobRoleArn",) . toJSON) _batchJobDefinitionContainerPropertiesJobRoleArn
+    , fmap (("LinuxParameters",) . toJSON) _batchJobDefinitionContainerPropertiesLinuxParameters
     , (Just . ("Memory",) . toJSON) _batchJobDefinitionContainerPropertiesMemory
     , fmap (("MountPoints",) . toJSON) _batchJobDefinitionContainerPropertiesMountPoints
     , fmap (("Privileged",) . toJSON) _batchJobDefinitionContainerPropertiesPrivileged
@@ -69,6 +72,7 @@
   , _batchJobDefinitionContainerPropertiesImage = imagearg
   , _batchJobDefinitionContainerPropertiesInstanceType = Nothing
   , _batchJobDefinitionContainerPropertiesJobRoleArn = Nothing
+  , _batchJobDefinitionContainerPropertiesLinuxParameters = Nothing
   , _batchJobDefinitionContainerPropertiesMemory = memoryarg
   , _batchJobDefinitionContainerPropertiesMountPoints = Nothing
   , _batchJobDefinitionContainerPropertiesPrivileged = Nothing
@@ -99,6 +103,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-jobrolearn
 bjdcpJobRoleArn :: Lens' BatchJobDefinitionContainerProperties (Maybe (Val Text))
 bjdcpJobRoleArn = lens _batchJobDefinitionContainerPropertiesJobRoleArn (\s a -> s { _batchJobDefinitionContainerPropertiesJobRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-linuxparameters
+bjdcpLinuxParameters :: Lens' BatchJobDefinitionContainerProperties (Maybe BatchJobDefinitionLinuxParameters)
+bjdcpLinuxParameters = lens _batchJobDefinitionContainerPropertiesLinuxParameters (\s a -> s { _batchJobDefinitionContainerPropertiesLinuxParameters = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-memory
 bjdcpMemory :: Lens' BatchJobDefinitionContainerProperties (Val Integer)
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionDevice.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionDevice.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionDevice.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html
+
+module Stratosphere.ResourceProperties.BatchJobDefinitionDevice where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for BatchJobDefinitionDevice. See
+-- 'batchJobDefinitionDevice' for a more convenient constructor.
+data BatchJobDefinitionDevice =
+  BatchJobDefinitionDevice
+  { _batchJobDefinitionDeviceContainerPath :: Maybe (Val Text)
+  , _batchJobDefinitionDeviceHostPath :: Maybe (Val Text)
+  , _batchJobDefinitionDevicePermissions :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON BatchJobDefinitionDevice where
+  toJSON BatchJobDefinitionDevice{..} =
+    object $
+    catMaybes
+    [ fmap (("ContainerPath",) . toJSON) _batchJobDefinitionDeviceContainerPath
+    , fmap (("HostPath",) . toJSON) _batchJobDefinitionDeviceHostPath
+    , fmap (("Permissions",) . toJSON) _batchJobDefinitionDevicePermissions
+    ]
+
+-- | Constructor for 'BatchJobDefinitionDevice' containing required fields as
+-- arguments.
+batchJobDefinitionDevice
+  :: BatchJobDefinitionDevice
+batchJobDefinitionDevice  =
+  BatchJobDefinitionDevice
+  { _batchJobDefinitionDeviceContainerPath = Nothing
+  , _batchJobDefinitionDeviceHostPath = Nothing
+  , _batchJobDefinitionDevicePermissions = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-containerpath
+bjddContainerPath :: Lens' BatchJobDefinitionDevice (Maybe (Val Text))
+bjddContainerPath = lens _batchJobDefinitionDeviceContainerPath (\s a -> s { _batchJobDefinitionDeviceContainerPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-hostpath
+bjddHostPath :: Lens' BatchJobDefinitionDevice (Maybe (Val Text))
+bjddHostPath = lens _batchJobDefinitionDeviceHostPath (\s a -> s { _batchJobDefinitionDeviceHostPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-permissions
+bjddPermissions :: Lens' BatchJobDefinitionDevice (Maybe (ValList Text))
+bjddPermissions = lens _batchJobDefinitionDevicePermissions (\s a -> s { _batchJobDefinitionDevicePermissions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionLinuxParameters.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionLinuxParameters.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionLinuxParameters.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html
+
+module Stratosphere.ResourceProperties.BatchJobDefinitionLinuxParameters where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.BatchJobDefinitionDevice
+
+-- | Full data type definition for BatchJobDefinitionLinuxParameters. See
+-- 'batchJobDefinitionLinuxParameters' for a more convenient constructor.
+data BatchJobDefinitionLinuxParameters =
+  BatchJobDefinitionLinuxParameters
+  { _batchJobDefinitionLinuxParametersDevices :: Maybe [BatchJobDefinitionDevice]
+  } deriving (Show, Eq)
+
+instance ToJSON BatchJobDefinitionLinuxParameters where
+  toJSON BatchJobDefinitionLinuxParameters{..} =
+    object $
+    catMaybes
+    [ fmap (("Devices",) . toJSON) _batchJobDefinitionLinuxParametersDevices
+    ]
+
+-- | Constructor for 'BatchJobDefinitionLinuxParameters' containing required
+-- fields as arguments.
+batchJobDefinitionLinuxParameters
+  :: BatchJobDefinitionLinuxParameters
+batchJobDefinitionLinuxParameters  =
+  BatchJobDefinitionLinuxParameters
+  { _batchJobDefinitionLinuxParametersDevices = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-devices
+bjdlpDevices :: Lens' BatchJobDefinitionLinuxParameters (Maybe [BatchJobDefinitionDevice])
+bjdlpDevices = lens _batchJobDefinitionLinuxParametersDevices (\s a -> s { _batchJobDefinitionLinuxParametersDevices = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorConfiguration.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html
+
+module Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorRange
+
+-- | Full data type definition for CloudWatchAnomalyDetectorConfiguration. See
+-- 'cloudWatchAnomalyDetectorConfiguration' for a more convenient
+-- constructor.
+data CloudWatchAnomalyDetectorConfiguration =
+  CloudWatchAnomalyDetectorConfiguration
+  { _cloudWatchAnomalyDetectorConfigurationExcludedTimeRanges :: Maybe [CloudWatchAnomalyDetectorRange]
+  , _cloudWatchAnomalyDetectorConfigurationMetricTimeZone :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudWatchAnomalyDetectorConfiguration where
+  toJSON CloudWatchAnomalyDetectorConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("ExcludedTimeRanges",) . toJSON) _cloudWatchAnomalyDetectorConfigurationExcludedTimeRanges
+    , fmap (("MetricTimeZone",) . toJSON) _cloudWatchAnomalyDetectorConfigurationMetricTimeZone
+    ]
+
+-- | Constructor for 'CloudWatchAnomalyDetectorConfiguration' containing
+-- required fields as arguments.
+cloudWatchAnomalyDetectorConfiguration
+  :: CloudWatchAnomalyDetectorConfiguration
+cloudWatchAnomalyDetectorConfiguration  =
+  CloudWatchAnomalyDetectorConfiguration
+  { _cloudWatchAnomalyDetectorConfigurationExcludedTimeRanges = Nothing
+  , _cloudWatchAnomalyDetectorConfigurationMetricTimeZone = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-excludedtimeranges
+cwadcExcludedTimeRanges :: Lens' CloudWatchAnomalyDetectorConfiguration (Maybe [CloudWatchAnomalyDetectorRange])
+cwadcExcludedTimeRanges = lens _cloudWatchAnomalyDetectorConfigurationExcludedTimeRanges (\s a -> s { _cloudWatchAnomalyDetectorConfigurationExcludedTimeRanges = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-metrictimezone
+cwadcMetricTimeZone :: Lens' CloudWatchAnomalyDetectorConfiguration (Maybe (Val Text))
+cwadcMetricTimeZone = lens _cloudWatchAnomalyDetectorConfigurationMetricTimeZone (\s a -> s { _cloudWatchAnomalyDetectorConfigurationMetricTimeZone = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorDimension.hs b/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorDimension.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorDimension.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html
+
+module Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudWatchAnomalyDetectorDimension. See
+-- 'cloudWatchAnomalyDetectorDimension' for a more convenient constructor.
+data CloudWatchAnomalyDetectorDimension =
+  CloudWatchAnomalyDetectorDimension
+  { _cloudWatchAnomalyDetectorDimensionName :: Val Text
+  , _cloudWatchAnomalyDetectorDimensionValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CloudWatchAnomalyDetectorDimension where
+  toJSON CloudWatchAnomalyDetectorDimension{..} =
+    object $
+    catMaybes
+    [ (Just . ("Name",) . toJSON) _cloudWatchAnomalyDetectorDimensionName
+    , (Just . ("Value",) . toJSON) _cloudWatchAnomalyDetectorDimensionValue
+    ]
+
+-- | Constructor for 'CloudWatchAnomalyDetectorDimension' containing required
+-- fields as arguments.
+cloudWatchAnomalyDetectorDimension
+  :: Val Text -- ^ 'cwaddName'
+  -> Val Text -- ^ 'cwaddValue'
+  -> CloudWatchAnomalyDetectorDimension
+cloudWatchAnomalyDetectorDimension namearg valuearg =
+  CloudWatchAnomalyDetectorDimension
+  { _cloudWatchAnomalyDetectorDimensionName = namearg
+  , _cloudWatchAnomalyDetectorDimensionValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-name
+cwaddName :: Lens' CloudWatchAnomalyDetectorDimension (Val Text)
+cwaddName = lens _cloudWatchAnomalyDetectorDimensionName (\s a -> s { _cloudWatchAnomalyDetectorDimensionName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-value
+cwaddValue :: Lens' CloudWatchAnomalyDetectorDimension (Val Text)
+cwaddValue = lens _cloudWatchAnomalyDetectorDimensionValue (\s a -> s { _cloudWatchAnomalyDetectorDimensionValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorRange.hs b/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorRange.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorRange.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html
+
+module Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorRange where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudWatchAnomalyDetectorRange. See
+-- 'cloudWatchAnomalyDetectorRange' for a more convenient constructor.
+data CloudWatchAnomalyDetectorRange =
+  CloudWatchAnomalyDetectorRange
+  { _cloudWatchAnomalyDetectorRangeEndTime :: Val Text
+  , _cloudWatchAnomalyDetectorRangeStartTime :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CloudWatchAnomalyDetectorRange where
+  toJSON CloudWatchAnomalyDetectorRange{..} =
+    object $
+    catMaybes
+    [ (Just . ("EndTime",) . toJSON) _cloudWatchAnomalyDetectorRangeEndTime
+    , (Just . ("StartTime",) . toJSON) _cloudWatchAnomalyDetectorRangeStartTime
+    ]
+
+-- | Constructor for 'CloudWatchAnomalyDetectorRange' containing required
+-- fields as arguments.
+cloudWatchAnomalyDetectorRange
+  :: Val Text -- ^ 'cwadrEndTime'
+  -> Val Text -- ^ 'cwadrStartTime'
+  -> CloudWatchAnomalyDetectorRange
+cloudWatchAnomalyDetectorRange endTimearg startTimearg =
+  CloudWatchAnomalyDetectorRange
+  { _cloudWatchAnomalyDetectorRangeEndTime = endTimearg
+  , _cloudWatchAnomalyDetectorRangeStartTime = startTimearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html#cfn-cloudwatch-anomalydetector-range-endtime
+cwadrEndTime :: Lens' CloudWatchAnomalyDetectorRange (Val Text)
+cwadrEndTime = lens _cloudWatchAnomalyDetectorRangeEndTime (\s a -> s { _cloudWatchAnomalyDetectorRangeEndTime = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html#cfn-cloudwatch-anomalydetector-range-starttime
+cwadrStartTime :: Lens' CloudWatchAnomalyDetectorRange (Val Text)
+cwadrStartTime = lens _cloudWatchAnomalyDetectorRangeStartTime (\s a -> s { _cloudWatchAnomalyDetectorRangeStartTime = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
@@ -8,20 +8,22 @@
 module Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.CodeBuildProjectWebhookFilter
 
 -- | Full data type definition for CodeBuildProjectProjectTriggers. See
 -- 'codeBuildProjectProjectTriggers' for a more convenient constructor.
 data CodeBuildProjectProjectTriggers =
   CodeBuildProjectProjectTriggers
-  { _codeBuildProjectProjectTriggersWebhook :: Maybe (Val Bool)
+  { _codeBuildProjectProjectTriggersFilterGroups :: Maybe [CodeBuildProjectWebhookFilter]
+  , _codeBuildProjectProjectTriggersWebhook :: Maybe (Val Bool)
   } deriving (Show, Eq)
 
 instance ToJSON CodeBuildProjectProjectTriggers where
   toJSON CodeBuildProjectProjectTriggers{..} =
     object $
     catMaybes
-    [ fmap (("Webhook",) . toJSON) _codeBuildProjectProjectTriggersWebhook
+    [ fmap (("FilterGroups",) . toJSON) _codeBuildProjectProjectTriggersFilterGroups
+    , fmap (("Webhook",) . toJSON) _codeBuildProjectProjectTriggersWebhook
     ]
 
 -- | Constructor for 'CodeBuildProjectProjectTriggers' containing required
@@ -30,8 +32,13 @@
   :: CodeBuildProjectProjectTriggers
 codeBuildProjectProjectTriggers  =
   CodeBuildProjectProjectTriggers
-  { _codeBuildProjectProjectTriggersWebhook = Nothing
+  { _codeBuildProjectProjectTriggersFilterGroups = Nothing
+  , _codeBuildProjectProjectTriggersWebhook = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-filtergroups
+cbpptFilterGroups :: Lens' CodeBuildProjectProjectTriggers (Maybe [CodeBuildProjectWebhookFilter])
+cbpptFilterGroups = lens _codeBuildProjectProjectTriggersFilterGroups (\s a -> s { _codeBuildProjectProjectTriggersFilterGroups = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-webhook
 cbpptWebhook :: Lens' CodeBuildProjectProjectTriggers (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs b/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs
@@ -17,9 +17,9 @@
   CodeCommitRepositoryRepositoryTrigger
   { _codeCommitRepositoryRepositoryTriggerBranches :: Maybe (ValList Text)
   , _codeCommitRepositoryRepositoryTriggerCustomData :: Maybe (Val Text)
-  , _codeCommitRepositoryRepositoryTriggerDestinationArn :: Maybe (Val Text)
-  , _codeCommitRepositoryRepositoryTriggerEvents :: Maybe (ValList Text)
-  , _codeCommitRepositoryRepositoryTriggerName :: Maybe (Val Text)
+  , _codeCommitRepositoryRepositoryTriggerDestinationArn :: Val Text
+  , _codeCommitRepositoryRepositoryTriggerEvents :: ValList Text
+  , _codeCommitRepositoryRepositoryTriggerName :: Val Text
   } deriving (Show, Eq)
 
 instance ToJSON CodeCommitRepositoryRepositoryTrigger where
@@ -28,22 +28,25 @@
     catMaybes
     [ fmap (("Branches",) . toJSON) _codeCommitRepositoryRepositoryTriggerBranches
     , fmap (("CustomData",) . toJSON) _codeCommitRepositoryRepositoryTriggerCustomData
-    , fmap (("DestinationArn",) . toJSON) _codeCommitRepositoryRepositoryTriggerDestinationArn
-    , fmap (("Events",) . toJSON) _codeCommitRepositoryRepositoryTriggerEvents
-    , fmap (("Name",) . toJSON) _codeCommitRepositoryRepositoryTriggerName
+    , (Just . ("DestinationArn",) . toJSON) _codeCommitRepositoryRepositoryTriggerDestinationArn
+    , (Just . ("Events",) . toJSON) _codeCommitRepositoryRepositoryTriggerEvents
+    , (Just . ("Name",) . toJSON) _codeCommitRepositoryRepositoryTriggerName
     ]
 
 -- | Constructor for 'CodeCommitRepositoryRepositoryTrigger' containing
 -- required fields as arguments.
 codeCommitRepositoryRepositoryTrigger
-  :: CodeCommitRepositoryRepositoryTrigger
-codeCommitRepositoryRepositoryTrigger  =
+  :: Val Text -- ^ 'ccrrtDestinationArn'
+  -> ValList Text -- ^ 'ccrrtEvents'
+  -> Val Text -- ^ 'ccrrtName'
+  -> CodeCommitRepositoryRepositoryTrigger
+codeCommitRepositoryRepositoryTrigger destinationArnarg eventsarg namearg =
   CodeCommitRepositoryRepositoryTrigger
   { _codeCommitRepositoryRepositoryTriggerBranches = Nothing
   , _codeCommitRepositoryRepositoryTriggerCustomData = Nothing
-  , _codeCommitRepositoryRepositoryTriggerDestinationArn = Nothing
-  , _codeCommitRepositoryRepositoryTriggerEvents = Nothing
-  , _codeCommitRepositoryRepositoryTriggerName = Nothing
+  , _codeCommitRepositoryRepositoryTriggerDestinationArn = destinationArnarg
+  , _codeCommitRepositoryRepositoryTriggerEvents = eventsarg
+  , _codeCommitRepositoryRepositoryTriggerName = namearg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-branches
@@ -55,13 +58,13 @@
 ccrrtCustomData = lens _codeCommitRepositoryRepositoryTriggerCustomData (\s a -> s { _codeCommitRepositoryRepositoryTriggerCustomData = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-destinationarn
-ccrrtDestinationArn :: Lens' CodeCommitRepositoryRepositoryTrigger (Maybe (Val Text))
+ccrrtDestinationArn :: Lens' CodeCommitRepositoryRepositoryTrigger (Val Text)
 ccrrtDestinationArn = lens _codeCommitRepositoryRepositoryTriggerDestinationArn (\s a -> s { _codeCommitRepositoryRepositoryTriggerDestinationArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-events
-ccrrtEvents :: Lens' CodeCommitRepositoryRepositoryTrigger (Maybe (ValList Text))
+ccrrtEvents :: Lens' CodeCommitRepositoryRepositoryTrigger (ValList Text)
 ccrrtEvents = lens _codeCommitRepositoryRepositoryTriggerEvents (\s a -> s { _codeCommitRepositoryRepositoryTriggerEvents = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-name
-ccrrtName :: Lens' CodeCommitRepositoryRepositoryTrigger (Maybe (Val Text))
+ccrrtName :: Lens' CodeCommitRepositoryRepositoryTrigger (Val Text)
 ccrrtName = lens _codeCommitRepositoryRepositoryTriggerName (\s a -> s { _codeCommitRepositoryRepositoryTriggerName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeStarGitHubRepositoryCode.hs b/library-gen/Stratosphere/ResourceProperties/CodeStarGitHubRepositoryCode.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeStarGitHubRepositoryCode.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-code.html
+
+module Stratosphere.ResourceProperties.CodeStarGitHubRepositoryCode where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeStarGitHubRepositoryS3
+
+-- | Full data type definition for CodeStarGitHubRepositoryCode. See
+-- 'codeStarGitHubRepositoryCode' for a more convenient constructor.
+data CodeStarGitHubRepositoryCode =
+  CodeStarGitHubRepositoryCode
+  { _codeStarGitHubRepositoryCodeS3 :: CodeStarGitHubRepositoryS3
+  } deriving (Show, Eq)
+
+instance ToJSON CodeStarGitHubRepositoryCode where
+  toJSON CodeStarGitHubRepositoryCode{..} =
+    object $
+    catMaybes
+    [ (Just . ("S3",) . toJSON) _codeStarGitHubRepositoryCodeS3
+    ]
+
+-- | Constructor for 'CodeStarGitHubRepositoryCode' containing required fields
+-- as arguments.
+codeStarGitHubRepositoryCode
+  :: CodeStarGitHubRepositoryS3 -- ^ 'csghrcS3'
+  -> CodeStarGitHubRepositoryCode
+codeStarGitHubRepositoryCode s3arg =
+  CodeStarGitHubRepositoryCode
+  { _codeStarGitHubRepositoryCodeS3 = s3arg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-code.html#cfn-codestar-githubrepository-code-s3
+csghrcS3 :: Lens' CodeStarGitHubRepositoryCode CodeStarGitHubRepositoryS3
+csghrcS3 = lens _codeStarGitHubRepositoryCodeS3 (\s a -> s { _codeStarGitHubRepositoryCodeS3 = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeStarGitHubRepositoryS3.hs b/library-gen/Stratosphere/ResourceProperties/CodeStarGitHubRepositoryS3.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeStarGitHubRepositoryS3.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html
+
+module Stratosphere.ResourceProperties.CodeStarGitHubRepositoryS3 where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeStarGitHubRepositoryS3. See
+-- 'codeStarGitHubRepositoryS3' for a more convenient constructor.
+data CodeStarGitHubRepositoryS3 =
+  CodeStarGitHubRepositoryS3
+  { _codeStarGitHubRepositoryS3Bucket :: Val Text
+  , _codeStarGitHubRepositoryS3Key :: Val Text
+  , _codeStarGitHubRepositoryS3ObjectVersion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CodeStarGitHubRepositoryS3 where
+  toJSON CodeStarGitHubRepositoryS3{..} =
+    object $
+    catMaybes
+    [ (Just . ("Bucket",) . toJSON) _codeStarGitHubRepositoryS3Bucket
+    , (Just . ("Key",) . toJSON) _codeStarGitHubRepositoryS3Key
+    , fmap (("ObjectVersion",) . toJSON) _codeStarGitHubRepositoryS3ObjectVersion
+    ]
+
+-- | Constructor for 'CodeStarGitHubRepositoryS3' containing required fields
+-- as arguments.
+codeStarGitHubRepositoryS3
+  :: Val Text -- ^ 'csghrsBucket'
+  -> Val Text -- ^ 'csghrsKey'
+  -> CodeStarGitHubRepositoryS3
+codeStarGitHubRepositoryS3 bucketarg keyarg =
+  CodeStarGitHubRepositoryS3
+  { _codeStarGitHubRepositoryS3Bucket = bucketarg
+  , _codeStarGitHubRepositoryS3Key = keyarg
+  , _codeStarGitHubRepositoryS3ObjectVersion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-bucket
+csghrsBucket :: Lens' CodeStarGitHubRepositoryS3 (Val Text)
+csghrsBucket = lens _codeStarGitHubRepositoryS3Bucket (\s a -> s { _codeStarGitHubRepositoryS3Bucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-key
+csghrsKey :: Lens' CodeStarGitHubRepositoryS3 (Val Text)
+csghrsKey = lens _codeStarGitHubRepositoryS3Key (\s a -> s { _codeStarGitHubRepositoryS3Key = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-objectversion
+csghrsObjectVersion :: Lens' CodeStarGitHubRepositoryS3 (Maybe (Val Text))
+csghrsObjectVersion = lens _codeStarGitHubRepositoryS3ObjectVersion (\s a -> s { _codeStarGitHubRepositoryS3ObjectVersion = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolClientAnalyticsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolClientAnalyticsConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolClientAnalyticsConfiguration.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CognitoUserPoolClientAnalyticsConfiguration. See
+-- 'cognitoUserPoolClientAnalyticsConfiguration' for a more convenient
+-- constructor.
+data CognitoUserPoolClientAnalyticsConfiguration =
+  CognitoUserPoolClientAnalyticsConfiguration
+  { _cognitoUserPoolClientAnalyticsConfigurationApplicationId :: Maybe (Val Text)
+  , _cognitoUserPoolClientAnalyticsConfigurationExternalId :: Maybe (Val Text)
+  , _cognitoUserPoolClientAnalyticsConfigurationRoleArn :: Maybe (Val Text)
+  , _cognitoUserPoolClientAnalyticsConfigurationUserDataShared :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolClientAnalyticsConfiguration where
+  toJSON CognitoUserPoolClientAnalyticsConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("ApplicationId",) . toJSON) _cognitoUserPoolClientAnalyticsConfigurationApplicationId
+    , fmap (("ExternalId",) . toJSON) _cognitoUserPoolClientAnalyticsConfigurationExternalId
+    , fmap (("RoleArn",) . toJSON) _cognitoUserPoolClientAnalyticsConfigurationRoleArn
+    , fmap (("UserDataShared",) . toJSON) _cognitoUserPoolClientAnalyticsConfigurationUserDataShared
+    ]
+
+-- | Constructor for 'CognitoUserPoolClientAnalyticsConfiguration' containing
+-- required fields as arguments.
+cognitoUserPoolClientAnalyticsConfiguration
+  :: CognitoUserPoolClientAnalyticsConfiguration
+cognitoUserPoolClientAnalyticsConfiguration  =
+  CognitoUserPoolClientAnalyticsConfiguration
+  { _cognitoUserPoolClientAnalyticsConfigurationApplicationId = Nothing
+  , _cognitoUserPoolClientAnalyticsConfigurationExternalId = Nothing
+  , _cognitoUserPoolClientAnalyticsConfigurationRoleArn = Nothing
+  , _cognitoUserPoolClientAnalyticsConfigurationUserDataShared = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationid
+cupcacApplicationId :: Lens' CognitoUserPoolClientAnalyticsConfiguration (Maybe (Val Text))
+cupcacApplicationId = lens _cognitoUserPoolClientAnalyticsConfigurationApplicationId (\s a -> s { _cognitoUserPoolClientAnalyticsConfigurationApplicationId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-externalid
+cupcacExternalId :: Lens' CognitoUserPoolClientAnalyticsConfiguration (Maybe (Val Text))
+cupcacExternalId = lens _cognitoUserPoolClientAnalyticsConfigurationExternalId (\s a -> s { _cognitoUserPoolClientAnalyticsConfigurationExternalId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-rolearn
+cupcacRoleArn :: Lens' CognitoUserPoolClientAnalyticsConfiguration (Maybe (Val Text))
+cupcacRoleArn = lens _cognitoUserPoolClientAnalyticsConfigurationRoleArn (\s a -> s { _cognitoUserPoolClientAnalyticsConfigurationRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-userdatashared
+cupcacUserDataShared :: Lens' CognitoUserPoolClientAnalyticsConfiguration (Maybe (Val Bool))
+cupcacUserDataShared = lens _cognitoUserPoolClientAnalyticsConfigurationUserDataShared (\s a -> s { _cognitoUserPoolClientAnalyticsConfigurationUserDataShared = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolLambdaConfig.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolLambdaConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolLambdaConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolLambdaConfig.hs
@@ -21,6 +21,8 @@
   , _cognitoUserPoolLambdaConfigPostConfirmation :: Maybe (Val Text)
   , _cognitoUserPoolLambdaConfigPreAuthentication :: Maybe (Val Text)
   , _cognitoUserPoolLambdaConfigPreSignUp :: Maybe (Val Text)
+  , _cognitoUserPoolLambdaConfigPreTokenGeneration :: Maybe (Val Text)
+  , _cognitoUserPoolLambdaConfigUserMigration :: Maybe (Val Text)
   , _cognitoUserPoolLambdaConfigVerifyAuthChallengeResponse :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -35,6 +37,8 @@
     , fmap (("PostConfirmation",) . toJSON) _cognitoUserPoolLambdaConfigPostConfirmation
     , fmap (("PreAuthentication",) . toJSON) _cognitoUserPoolLambdaConfigPreAuthentication
     , fmap (("PreSignUp",) . toJSON) _cognitoUserPoolLambdaConfigPreSignUp
+    , fmap (("PreTokenGeneration",) . toJSON) _cognitoUserPoolLambdaConfigPreTokenGeneration
+    , fmap (("UserMigration",) . toJSON) _cognitoUserPoolLambdaConfigUserMigration
     , fmap (("VerifyAuthChallengeResponse",) . toJSON) _cognitoUserPoolLambdaConfigVerifyAuthChallengeResponse
     ]
 
@@ -51,6 +55,8 @@
   , _cognitoUserPoolLambdaConfigPostConfirmation = Nothing
   , _cognitoUserPoolLambdaConfigPreAuthentication = Nothing
   , _cognitoUserPoolLambdaConfigPreSignUp = Nothing
+  , _cognitoUserPoolLambdaConfigPreTokenGeneration = Nothing
+  , _cognitoUserPoolLambdaConfigUserMigration = Nothing
   , _cognitoUserPoolLambdaConfigVerifyAuthChallengeResponse = Nothing
   }
 
@@ -81,6 +87,14 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-presignup
 cuplcPreSignUp :: Lens' CognitoUserPoolLambdaConfig (Maybe (Val Text))
 cuplcPreSignUp = lens _cognitoUserPoolLambdaConfigPreSignUp (\s a -> s { _cognitoUserPoolLambdaConfigPreSignUp = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-pretokengeneration
+cuplcPreTokenGeneration :: Lens' CognitoUserPoolLambdaConfig (Maybe (Val Text))
+cuplcPreTokenGeneration = lens _cognitoUserPoolLambdaConfigPreTokenGeneration (\s a -> s { _cognitoUserPoolLambdaConfigPreTokenGeneration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-usermigration
+cuplcUserMigration :: Lens' CognitoUserPoolLambdaConfig (Maybe (Val Text))
+cuplcUserMigration = lens _cognitoUserPoolLambdaConfigUserMigration (\s a -> s { _cognitoUserPoolLambdaConfigUserMigration = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-verifyauthchallengeresponse
 cuplcVerifyAuthChallengeResponse :: Lens' CognitoUserPoolLambdaConfig (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolUserPoolAddOns.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolUserPoolAddOns.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolUserPoolAddOns.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolUserPoolAddOns where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CognitoUserPoolUserPoolAddOns. See
+-- 'cognitoUserPoolUserPoolAddOns' for a more convenient constructor.
+data CognitoUserPoolUserPoolAddOns =
+  CognitoUserPoolUserPoolAddOns
+  { _cognitoUserPoolUserPoolAddOnsAdvancedSecurityMode :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolUserPoolAddOns where
+  toJSON CognitoUserPoolUserPoolAddOns{..} =
+    object $
+    catMaybes
+    [ fmap (("AdvancedSecurityMode",) . toJSON) _cognitoUserPoolUserPoolAddOnsAdvancedSecurityMode
+    ]
+
+-- | Constructor for 'CognitoUserPoolUserPoolAddOns' containing required
+-- fields as arguments.
+cognitoUserPoolUserPoolAddOns
+  :: CognitoUserPoolUserPoolAddOns
+cognitoUserPoolUserPoolAddOns  =
+  CognitoUserPoolUserPoolAddOns
+  { _cognitoUserPoolUserPoolAddOnsAdvancedSecurityMode = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode
+cupupaoAdvancedSecurityMode :: Lens' CognitoUserPoolUserPoolAddOns (Maybe (Val Text))
+cupupaoAdvancedSecurityMode = lens _cognitoUserPoolUserPoolAddOnsAdvancedSecurityMode (\s a -> s { _cognitoUserPoolUserPoolAddOnsAdvancedSecurityMode = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolVerificationMessageTemplate.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolVerificationMessageTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolVerificationMessageTemplate.hs
@@ -0,0 +1,74 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolVerificationMessageTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CognitoUserPoolVerificationMessageTemplate.
+-- See 'cognitoUserPoolVerificationMessageTemplate' for a more convenient
+-- constructor.
+data CognitoUserPoolVerificationMessageTemplate =
+  CognitoUserPoolVerificationMessageTemplate
+  { _cognitoUserPoolVerificationMessageTemplateDefaultEmailOption :: Maybe (Val Text)
+  , _cognitoUserPoolVerificationMessageTemplateEmailMessage :: Maybe (Val Text)
+  , _cognitoUserPoolVerificationMessageTemplateEmailMessageByLink :: Maybe (Val Text)
+  , _cognitoUserPoolVerificationMessageTemplateEmailSubject :: Maybe (Val Text)
+  , _cognitoUserPoolVerificationMessageTemplateEmailSubjectByLink :: Maybe (Val Text)
+  , _cognitoUserPoolVerificationMessageTemplateSmsMessage :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolVerificationMessageTemplate where
+  toJSON CognitoUserPoolVerificationMessageTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("DefaultEmailOption",) . toJSON) _cognitoUserPoolVerificationMessageTemplateDefaultEmailOption
+    , fmap (("EmailMessage",) . toJSON) _cognitoUserPoolVerificationMessageTemplateEmailMessage
+    , fmap (("EmailMessageByLink",) . toJSON) _cognitoUserPoolVerificationMessageTemplateEmailMessageByLink
+    , fmap (("EmailSubject",) . toJSON) _cognitoUserPoolVerificationMessageTemplateEmailSubject
+    , fmap (("EmailSubjectByLink",) . toJSON) _cognitoUserPoolVerificationMessageTemplateEmailSubjectByLink
+    , fmap (("SmsMessage",) . toJSON) _cognitoUserPoolVerificationMessageTemplateSmsMessage
+    ]
+
+-- | Constructor for 'CognitoUserPoolVerificationMessageTemplate' containing
+-- required fields as arguments.
+cognitoUserPoolVerificationMessageTemplate
+  :: CognitoUserPoolVerificationMessageTemplate
+cognitoUserPoolVerificationMessageTemplate  =
+  CognitoUserPoolVerificationMessageTemplate
+  { _cognitoUserPoolVerificationMessageTemplateDefaultEmailOption = Nothing
+  , _cognitoUserPoolVerificationMessageTemplateEmailMessage = Nothing
+  , _cognitoUserPoolVerificationMessageTemplateEmailMessageByLink = Nothing
+  , _cognitoUserPoolVerificationMessageTemplateEmailSubject = Nothing
+  , _cognitoUserPoolVerificationMessageTemplateEmailSubjectByLink = Nothing
+  , _cognitoUserPoolVerificationMessageTemplateSmsMessage = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-defaultemailoption
+cupvmtDefaultEmailOption :: Lens' CognitoUserPoolVerificationMessageTemplate (Maybe (Val Text))
+cupvmtDefaultEmailOption = lens _cognitoUserPoolVerificationMessageTemplateDefaultEmailOption (\s a -> s { _cognitoUserPoolVerificationMessageTemplateDefaultEmailOption = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessage
+cupvmtEmailMessage :: Lens' CognitoUserPoolVerificationMessageTemplate (Maybe (Val Text))
+cupvmtEmailMessage = lens _cognitoUserPoolVerificationMessageTemplateEmailMessage (\s a -> s { _cognitoUserPoolVerificationMessageTemplateEmailMessage = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessagebylink
+cupvmtEmailMessageByLink :: Lens' CognitoUserPoolVerificationMessageTemplate (Maybe (Val Text))
+cupvmtEmailMessageByLink = lens _cognitoUserPoolVerificationMessageTemplateEmailMessageByLink (\s a -> s { _cognitoUserPoolVerificationMessageTemplateEmailMessageByLink = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubject
+cupvmtEmailSubject :: Lens' CognitoUserPoolVerificationMessageTemplate (Maybe (Val Text))
+cupvmtEmailSubject = lens _cognitoUserPoolVerificationMessageTemplateEmailSubject (\s a -> s { _cognitoUserPoolVerificationMessageTemplateEmailSubject = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubjectbylink
+cupvmtEmailSubjectByLink :: Lens' CognitoUserPoolVerificationMessageTemplate (Maybe (Val Text))
+cupvmtEmailSubjectByLink = lens _cognitoUserPoolVerificationMessageTemplateEmailSubjectByLink (\s a -> s { _cognitoUserPoolVerificationMessageTemplateEmailSubjectByLink = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-smsmessage
+cupvmtSmsMessage :: Lens' CognitoUserPoolVerificationMessageTemplate (Maybe (Val Text))
+cupvmtSmsMessage = lens _cognitoUserPoolVerificationMessageTemplateSmsMessage (\s a -> s { _cognitoUserPoolVerificationMessageTemplateSmsMessage = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
@@ -14,18 +14,14 @@
 -- 'dynamoDBTableSSESpecification' for a more convenient constructor.
 data DynamoDBTableSSESpecification =
   DynamoDBTableSSESpecification
-  { _dynamoDBTableSSESpecificationKMSMasterKeyId :: Maybe (Val Text)
-  , _dynamoDBTableSSESpecificationSSEEnabled :: Val Bool
-  , _dynamoDBTableSSESpecificationSSEType :: Maybe (Val Text)
+  { _dynamoDBTableSSESpecificationSSEEnabled :: Val Bool
   } deriving (Show, Eq)
 
 instance ToJSON DynamoDBTableSSESpecification where
   toJSON DynamoDBTableSSESpecification{..} =
     object $
     catMaybes
-    [ fmap (("KMSMasterKeyId",) . toJSON) _dynamoDBTableSSESpecificationKMSMasterKeyId
-    , (Just . ("SSEEnabled",) . toJSON) _dynamoDBTableSSESpecificationSSEEnabled
-    , fmap (("SSEType",) . toJSON) _dynamoDBTableSSESpecificationSSEType
+    [ (Just . ("SSEEnabled",) . toJSON) _dynamoDBTableSSESpecificationSSEEnabled
     ]
 
 -- | Constructor for 'DynamoDBTableSSESpecification' containing required
@@ -35,19 +31,9 @@
   -> DynamoDBTableSSESpecification
 dynamoDBTableSSESpecification sSEEnabledarg =
   DynamoDBTableSSESpecification
-  { _dynamoDBTableSSESpecificationKMSMasterKeyId = Nothing
-  , _dynamoDBTableSSESpecificationSSEEnabled = sSEEnabledarg
-  , _dynamoDBTableSSESpecificationSSEType = Nothing
+  { _dynamoDBTableSSESpecificationSSEEnabled = sSEEnabledarg
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-kmsmasterkeyid
-ddbtssesKMSMasterKeyId :: Lens' DynamoDBTableSSESpecification (Maybe (Val Text))
-ddbtssesKMSMasterKeyId = lens _dynamoDBTableSSESpecificationKMSMasterKeyId (\s a -> s { _dynamoDBTableSSESpecificationKMSMasterKeyId = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-sseenabled
 ddbtssesSSEEnabled :: Lens' DynamoDBTableSSESpecification (Val Bool)
 ddbtssesSSEEnabled = lens _dynamoDBTableSSESpecificationSSEEnabled (\s a -> s { _dynamoDBTableSSESpecificationSSEEnabled = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-ssetype
-ddbtssesSSEType :: Lens' DynamoDBTableSSESpecification (Maybe (Val Text))
-ddbtssesSSEType = lens _dynamoDBTableSSESpecificationSSEType (\s a -> s { _dynamoDBTableSSESpecificationSSEType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceCpuOptions.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceCpuOptions.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceCpuOptions.hs
+++ /dev/null
@@ -1,45 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html
-
-module Stratosphere.ResourceProperties.EC2InstanceCpuOptions where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for EC2InstanceCpuOptions. See
--- 'ec2InstanceCpuOptions' for a more convenient constructor.
-data EC2InstanceCpuOptions =
-  EC2InstanceCpuOptions
-  { _eC2InstanceCpuOptionsCoreCount :: Maybe (Val Integer)
-  , _eC2InstanceCpuOptionsThreadsPerCore :: Maybe (Val Integer)
-  } deriving (Show, Eq)
-
-instance ToJSON EC2InstanceCpuOptions where
-  toJSON EC2InstanceCpuOptions{..} =
-    object $
-    catMaybes
-    [ fmap (("CoreCount",) . toJSON) _eC2InstanceCpuOptionsCoreCount
-    , fmap (("ThreadsPerCore",) . toJSON) _eC2InstanceCpuOptionsThreadsPerCore
-    ]
-
--- | Constructor for 'EC2InstanceCpuOptions' containing required fields as
--- arguments.
-ec2InstanceCpuOptions
-  :: EC2InstanceCpuOptions
-ec2InstanceCpuOptions  =
-  EC2InstanceCpuOptions
-  { _eC2InstanceCpuOptionsCoreCount = Nothing
-  , _eC2InstanceCpuOptionsThreadsPerCore = Nothing
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-corecount
-ecicoCoreCount :: Lens' EC2InstanceCpuOptions (Maybe (Val Integer))
-ecicoCoreCount = lens _eC2InstanceCpuOptionsCoreCount (\s a -> s { _eC2InstanceCpuOptionsCoreCount = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-threadspercore
-ecicoThreadsPerCore :: Lens' EC2InstanceCpuOptions (Maybe (Val Integer))
-ecicoThreadsPerCore = lens _eC2InstanceCpuOptionsThreadsPerCore (\s a -> s { _eC2InstanceCpuOptionsThreadsPerCore = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCapacityReservationSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCapacityReservationSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCapacityReservationSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCapacityReservationSpecification.hs
@@ -16,14 +16,16 @@
 -- constructor.
 data EC2LaunchTemplateCapacityReservationSpecification =
   EC2LaunchTemplateCapacityReservationSpecification
-  { _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget :: Maybe EC2LaunchTemplateCapacityReservationTarget
+  { _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationPreference :: Maybe (Val Text)
+  , _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget :: Maybe EC2LaunchTemplateCapacityReservationTarget
   } deriving (Show, Eq)
 
 instance ToJSON EC2LaunchTemplateCapacityReservationSpecification where
   toJSON EC2LaunchTemplateCapacityReservationSpecification{..} =
     object $
     catMaybes
-    [ fmap (("CapacityReservationTarget",) . toJSON) _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
+    [ fmap (("CapacityReservationPreference",) . toJSON) _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationPreference
+    , fmap (("CapacityReservationTarget",) . toJSON) _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
     ]
 
 -- | Constructor for 'EC2LaunchTemplateCapacityReservationSpecification'
@@ -32,8 +34,13 @@
   :: EC2LaunchTemplateCapacityReservationSpecification
 ec2LaunchTemplateCapacityReservationSpecification  =
   EC2LaunchTemplateCapacityReservationSpecification
-  { _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget = Nothing
+  { _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationPreference = Nothing
+  , _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationpreference
+ecltcrsCapacityReservationPreference :: Lens' EC2LaunchTemplateCapacityReservationSpecification (Maybe (Val Text))
+ecltcrsCapacityReservationPreference = lens _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationPreference (\s a -> s { _eC2LaunchTemplateCapacityReservationSpecificationCapacityReservationPreference = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationtarget
 ecltcrsCapacityReservationTarget :: Lens' EC2LaunchTemplateCapacityReservationSpecification (Maybe EC2LaunchTemplateCapacityReservationTarget)
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
@@ -19,7 +19,6 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials
 import Stratosphere.ResourceProperties.ECSTaskDefinitionResourceRequirement
 import Stratosphere.ResourceProperties.ECSTaskDefinitionSecret
-import Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom
 
@@ -42,7 +41,6 @@
   , _eCSTaskDefinitionContainerDefinitionHealthCheck :: Maybe ECSTaskDefinitionHealthCheck
   , _eCSTaskDefinitionContainerDefinitionHostname :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionImage :: Val Text
-  , _eCSTaskDefinitionContainerDefinitionInteractive :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionLinks :: Maybe (ValList Text)
   , _eCSTaskDefinitionContainerDefinitionLinuxParameters :: Maybe ECSTaskDefinitionLinuxParameters
   , _eCSTaskDefinitionContainerDefinitionLogConfiguration :: Maybe ECSTaskDefinitionLogConfiguration
@@ -52,14 +50,12 @@
   , _eCSTaskDefinitionContainerDefinitionName :: Val Text
   , _eCSTaskDefinitionContainerDefinitionPortMappings :: Maybe [ECSTaskDefinitionPortMapping]
   , _eCSTaskDefinitionContainerDefinitionPrivileged :: Maybe (Val Bool)
-  , _eCSTaskDefinitionContainerDefinitionPseudoTerminal :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem :: Maybe (Val Bool)
   , _eCSTaskDefinitionContainerDefinitionRepositoryCredentials :: Maybe ECSTaskDefinitionRepositoryCredentials
   , _eCSTaskDefinitionContainerDefinitionResourceRequirements :: Maybe [ECSTaskDefinitionResourceRequirement]
   , _eCSTaskDefinitionContainerDefinitionSecrets :: Maybe [ECSTaskDefinitionSecret]
   , _eCSTaskDefinitionContainerDefinitionStartTimeout :: Maybe (Val Integer)
   , _eCSTaskDefinitionContainerDefinitionStopTimeout :: Maybe (Val Integer)
-  , _eCSTaskDefinitionContainerDefinitionSystemControls :: Maybe [ECSTaskDefinitionSystemControl]
   , _eCSTaskDefinitionContainerDefinitionUlimits :: Maybe [ECSTaskDefinitionUlimit]
   , _eCSTaskDefinitionContainerDefinitionUser :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom :: Maybe [ECSTaskDefinitionVolumeFrom]
@@ -85,7 +81,6 @@
     , fmap (("HealthCheck",) . toJSON) _eCSTaskDefinitionContainerDefinitionHealthCheck
     , fmap (("Hostname",) . toJSON) _eCSTaskDefinitionContainerDefinitionHostname
     , (Just . ("Image",) . toJSON) _eCSTaskDefinitionContainerDefinitionImage
-    , fmap (("Interactive",) . toJSON) _eCSTaskDefinitionContainerDefinitionInteractive
     , fmap (("Links",) . toJSON) _eCSTaskDefinitionContainerDefinitionLinks
     , fmap (("LinuxParameters",) . toJSON) _eCSTaskDefinitionContainerDefinitionLinuxParameters
     , fmap (("LogConfiguration",) . toJSON) _eCSTaskDefinitionContainerDefinitionLogConfiguration
@@ -95,14 +90,12 @@
     , (Just . ("Name",) . toJSON) _eCSTaskDefinitionContainerDefinitionName
     , fmap (("PortMappings",) . toJSON) _eCSTaskDefinitionContainerDefinitionPortMappings
     , fmap (("Privileged",) . toJSON) _eCSTaskDefinitionContainerDefinitionPrivileged
-    , fmap (("PseudoTerminal",) . toJSON) _eCSTaskDefinitionContainerDefinitionPseudoTerminal
     , fmap (("ReadonlyRootFilesystem",) . toJSON) _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem
     , fmap (("RepositoryCredentials",) . toJSON) _eCSTaskDefinitionContainerDefinitionRepositoryCredentials
     , fmap (("ResourceRequirements",) . toJSON) _eCSTaskDefinitionContainerDefinitionResourceRequirements
     , fmap (("Secrets",) . toJSON) _eCSTaskDefinitionContainerDefinitionSecrets
     , fmap (("StartTimeout",) . toJSON) _eCSTaskDefinitionContainerDefinitionStartTimeout
     , fmap (("StopTimeout",) . toJSON) _eCSTaskDefinitionContainerDefinitionStopTimeout
-    , fmap (("SystemControls",) . toJSON) _eCSTaskDefinitionContainerDefinitionSystemControls
     , fmap (("Ulimits",) . toJSON) _eCSTaskDefinitionContainerDefinitionUlimits
     , fmap (("User",) . toJSON) _eCSTaskDefinitionContainerDefinitionUser
     , fmap (("VolumesFrom",) . toJSON) _eCSTaskDefinitionContainerDefinitionVolumesFrom
@@ -132,7 +125,6 @@
   , _eCSTaskDefinitionContainerDefinitionHealthCheck = Nothing
   , _eCSTaskDefinitionContainerDefinitionHostname = Nothing
   , _eCSTaskDefinitionContainerDefinitionImage = imagearg
-  , _eCSTaskDefinitionContainerDefinitionInteractive = Nothing
   , _eCSTaskDefinitionContainerDefinitionLinks = Nothing
   , _eCSTaskDefinitionContainerDefinitionLinuxParameters = Nothing
   , _eCSTaskDefinitionContainerDefinitionLogConfiguration = Nothing
@@ -142,14 +134,12 @@
   , _eCSTaskDefinitionContainerDefinitionName = namearg
   , _eCSTaskDefinitionContainerDefinitionPortMappings = Nothing
   , _eCSTaskDefinitionContainerDefinitionPrivileged = Nothing
-  , _eCSTaskDefinitionContainerDefinitionPseudoTerminal = Nothing
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem = Nothing
   , _eCSTaskDefinitionContainerDefinitionRepositoryCredentials = Nothing
   , _eCSTaskDefinitionContainerDefinitionResourceRequirements = Nothing
   , _eCSTaskDefinitionContainerDefinitionSecrets = Nothing
   , _eCSTaskDefinitionContainerDefinitionStartTimeout = Nothing
   , _eCSTaskDefinitionContainerDefinitionStopTimeout = Nothing
-  , _eCSTaskDefinitionContainerDefinitionSystemControls = Nothing
   , _eCSTaskDefinitionContainerDefinitionUlimits = Nothing
   , _eCSTaskDefinitionContainerDefinitionUser = Nothing
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom = Nothing
@@ -216,10 +206,6 @@
 ecstdcdImage :: Lens' ECSTaskDefinitionContainerDefinition (Val Text)
 ecstdcdImage = lens _eCSTaskDefinitionContainerDefinitionImage (\s a -> s { _eCSTaskDefinitionContainerDefinitionImage = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-interactive
-ecstdcdInteractive :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
-ecstdcdInteractive = lens _eCSTaskDefinitionContainerDefinitionInteractive (\s a -> s { _eCSTaskDefinitionContainerDefinitionInteractive = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-links
 ecstdcdLinks :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (ValList Text))
 ecstdcdLinks = lens _eCSTaskDefinitionContainerDefinitionLinks (\s a -> s { _eCSTaskDefinitionContainerDefinitionLinks = a })
@@ -256,10 +242,6 @@
 ecstdcdPrivileged :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
 ecstdcdPrivileged = lens _eCSTaskDefinitionContainerDefinitionPrivileged (\s a -> s { _eCSTaskDefinitionContainerDefinitionPrivileged = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-pseudoterminal
-ecstdcdPseudoTerminal :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
-ecstdcdPseudoTerminal = lens _eCSTaskDefinitionContainerDefinitionPseudoTerminal (\s a -> s { _eCSTaskDefinitionContainerDefinitionPseudoTerminal = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-readonlyrootfilesystem
 ecstdcdReadonlyRootFilesystem :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Bool))
 ecstdcdReadonlyRootFilesystem = lens _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem (\s a -> s { _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem = a })
@@ -283,10 +265,6 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-stoptimeout
 ecstdcdStopTimeout :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Integer))
 ecstdcdStopTimeout = lens _eCSTaskDefinitionContainerDefinitionStopTimeout (\s a -> s { _eCSTaskDefinitionContainerDefinitionStopTimeout = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-systemcontrols
-ecstdcdSystemControls :: Lens' ECSTaskDefinitionContainerDefinition (Maybe [ECSTaskDefinitionSystemControl])
-ecstdcdSystemControls = lens _eCSTaskDefinitionContainerDefinitionSystemControls (\s a -> s { _eCSTaskDefinitionContainerDefinitionSystemControls = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-ulimits
 ecstdcdUlimits :: Lens' ECSTaskDefinitionContainerDefinition (Maybe [ECSTaskDefinitionUlimit])
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
@@ -8,15 +8,14 @@
 module Stratosphere.ResourceProperties.ECSTaskDefinitionLogConfiguration where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.ECSTaskDefinitionSecret
 
+
 -- | Full data type definition for ECSTaskDefinitionLogConfiguration. See
 -- 'ecsTaskDefinitionLogConfiguration' for a more convenient constructor.
 data ECSTaskDefinitionLogConfiguration =
   ECSTaskDefinitionLogConfiguration
   { _eCSTaskDefinitionLogConfigurationLogDriver :: Val Text
   , _eCSTaskDefinitionLogConfigurationOptions :: Maybe Object
-  , _eCSTaskDefinitionLogConfigurationSecretOptions :: Maybe [ECSTaskDefinitionSecret]
   } deriving (Show, Eq)
 
 instance ToJSON ECSTaskDefinitionLogConfiguration where
@@ -25,7 +24,6 @@
     catMaybes
     [ (Just . ("LogDriver",) . toJSON) _eCSTaskDefinitionLogConfigurationLogDriver
     , fmap (("Options",) . toJSON) _eCSTaskDefinitionLogConfigurationOptions
-    , fmap (("SecretOptions",) . toJSON) _eCSTaskDefinitionLogConfigurationSecretOptions
     ]
 
 -- | Constructor for 'ECSTaskDefinitionLogConfiguration' containing required
@@ -37,7 +35,6 @@
   ECSTaskDefinitionLogConfiguration
   { _eCSTaskDefinitionLogConfigurationLogDriver = logDriverarg
   , _eCSTaskDefinitionLogConfigurationOptions = Nothing
-  , _eCSTaskDefinitionLogConfigurationSecretOptions = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-logdriver
@@ -47,7 +44,3 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-options
 ecstdlcOptions :: Lens' ECSTaskDefinitionLogConfiguration (Maybe Object)
 ecstdlcOptions = lens _eCSTaskDefinitionLogConfigurationOptions (\s a -> s { _eCSTaskDefinitionLogConfigurationOptions = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-logconfiguration-secretoptions
-ecstdlcSecretOptions :: Lens' ECSTaskDefinitionLogConfiguration (Maybe [ECSTaskDefinitionSecret])
-ecstdlcSecretOptions = lens _eCSTaskDefinitionLogConfigurationSecretOptions (\s a -> s { _eCSTaskDefinitionLogConfigurationSecretOptions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionSystemControl.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionSystemControl.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionSystemControl.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-taskdefinition-systemcontrol.html
-
-module Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for ECSTaskDefinitionSystemControl. See
--- 'ecsTaskDefinitionSystemControl' for a more convenient constructor.
-data ECSTaskDefinitionSystemControl =
-  ECSTaskDefinitionSystemControl
-  { _eCSTaskDefinitionSystemControlNamespace :: Val Text
-  , _eCSTaskDefinitionSystemControlValue :: Val Text
-  } deriving (Show, Eq)
-
-instance ToJSON ECSTaskDefinitionSystemControl where
-  toJSON ECSTaskDefinitionSystemControl{..} =
-    object $
-    catMaybes
-    [ (Just . ("Namespace",) . toJSON) _eCSTaskDefinitionSystemControlNamespace
-    , (Just . ("Value",) . toJSON) _eCSTaskDefinitionSystemControlValue
-    ]
-
--- | Constructor for 'ECSTaskDefinitionSystemControl' containing required
--- fields as arguments.
-ecsTaskDefinitionSystemControl
-  :: Val Text -- ^ 'ecstdscNamespace'
-  -> Val Text -- ^ 'ecstdscValue'
-  -> ECSTaskDefinitionSystemControl
-ecsTaskDefinitionSystemControl namespacearg valuearg =
-  ECSTaskDefinitionSystemControl
-  { _eCSTaskDefinitionSystemControlNamespace = namespacearg
-  , _eCSTaskDefinitionSystemControlValue = valuearg
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-namespace
-ecstdscNamespace :: Lens' ECSTaskDefinitionSystemControl (Val Text)
-ecstdscNamespace = lens _eCSTaskDefinitionSystemControlNamespace (\s a -> s { _eCSTaskDefinitionSystemControlNamespace = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-value
-ecstdscValue :: Lens' ECSTaskDefinitionSystemControl (Val Text)
-ecstdscValue = lens _eCSTaskDefinitionSystemControlValue (\s a -> s { _eCSTaskDefinitionSystemControlValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
@@ -16,7 +16,7 @@
   ECSTaskDefinitionTmpfs
   { _eCSTaskDefinitionTmpfsContainerPath :: Maybe (Val Text)
   , _eCSTaskDefinitionTmpfsMountOptions :: Maybe (ValList Text)
-  , _eCSTaskDefinitionTmpfsSize :: Val Integer
+  , _eCSTaskDefinitionTmpfsSize :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToJSON ECSTaskDefinitionTmpfs where
@@ -25,19 +25,18 @@
     catMaybes
     [ fmap (("ContainerPath",) . toJSON) _eCSTaskDefinitionTmpfsContainerPath
     , fmap (("MountOptions",) . toJSON) _eCSTaskDefinitionTmpfsMountOptions
-    , (Just . ("Size",) . toJSON) _eCSTaskDefinitionTmpfsSize
+    , fmap (("Size",) . toJSON) _eCSTaskDefinitionTmpfsSize
     ]
 
 -- | Constructor for 'ECSTaskDefinitionTmpfs' containing required fields as
 -- arguments.
 ecsTaskDefinitionTmpfs
-  :: Val Integer -- ^ 'ecstdtSize'
-  -> ECSTaskDefinitionTmpfs
-ecsTaskDefinitionTmpfs sizearg =
+  :: ECSTaskDefinitionTmpfs
+ecsTaskDefinitionTmpfs  =
   ECSTaskDefinitionTmpfs
   { _eCSTaskDefinitionTmpfsContainerPath = Nothing
   , _eCSTaskDefinitionTmpfsMountOptions = Nothing
-  , _eCSTaskDefinitionTmpfsSize = sizearg
+  , _eCSTaskDefinitionTmpfsSize = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-containerpath
@@ -49,5 +48,5 @@
 ecstdtMountOptions = lens _eCSTaskDefinitionTmpfsMountOptions (\s a -> s { _eCSTaskDefinitionTmpfsMountOptions = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-size
-ecstdtSize :: Lens' ECSTaskDefinitionTmpfs (Val Integer)
+ecstdtSize :: Lens' ECSTaskDefinitionTmpfs (Maybe (Val Integer))
 ecstdtSize = lens _eCSTaskDefinitionTmpfsSize (\s a -> s { _eCSTaskDefinitionTmpfsSize = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleAwsVpcConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleAwsVpcConfiguration.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleAwsVpcConfiguration.hs
+++ /dev/null
@@ -1,53 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html
-
-module Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for EventsRuleAwsVpcConfiguration. See
--- 'eventsRuleAwsVpcConfiguration' for a more convenient constructor.
-data EventsRuleAwsVpcConfiguration =
-  EventsRuleAwsVpcConfiguration
-  { _eventsRuleAwsVpcConfigurationAssignPublicIp :: Maybe (Val Text)
-  , _eventsRuleAwsVpcConfigurationSecurityGroups :: Maybe (ValList Text)
-  , _eventsRuleAwsVpcConfigurationSubnets :: ValList Text
-  } deriving (Show, Eq)
-
-instance ToJSON EventsRuleAwsVpcConfiguration where
-  toJSON EventsRuleAwsVpcConfiguration{..} =
-    object $
-    catMaybes
-    [ fmap (("AssignPublicIp",) . toJSON) _eventsRuleAwsVpcConfigurationAssignPublicIp
-    , fmap (("SecurityGroups",) . toJSON) _eventsRuleAwsVpcConfigurationSecurityGroups
-    , (Just . ("Subnets",) . toJSON) _eventsRuleAwsVpcConfigurationSubnets
-    ]
-
--- | Constructor for 'EventsRuleAwsVpcConfiguration' containing required
--- fields as arguments.
-eventsRuleAwsVpcConfiguration
-  :: ValList Text -- ^ 'eravcSubnets'
-  -> EventsRuleAwsVpcConfiguration
-eventsRuleAwsVpcConfiguration subnetsarg =
-  EventsRuleAwsVpcConfiguration
-  { _eventsRuleAwsVpcConfigurationAssignPublicIp = Nothing
-  , _eventsRuleAwsVpcConfigurationSecurityGroups = Nothing
-  , _eventsRuleAwsVpcConfigurationSubnets = subnetsarg
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-assignpublicip
-eravcAssignPublicIp :: Lens' EventsRuleAwsVpcConfiguration (Maybe (Val Text))
-eravcAssignPublicIp = lens _eventsRuleAwsVpcConfigurationAssignPublicIp (\s a -> s { _eventsRuleAwsVpcConfigurationAssignPublicIp = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-securitygroups
-eravcSecurityGroups :: Lens' EventsRuleAwsVpcConfiguration (Maybe (ValList Text))
-eravcSecurityGroups = lens _eventsRuleAwsVpcConfigurationSecurityGroups (\s a -> s { _eventsRuleAwsVpcConfigurationSecurityGroups = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-subnets
-eravcSubnets :: Lens' EventsRuleAwsVpcConfiguration (ValList Text)
-eravcSubnets = lens _eventsRuleAwsVpcConfigurationSubnets (\s a -> s { _eventsRuleAwsVpcConfigurationSubnets = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
@@ -8,17 +8,13 @@
 module Stratosphere.ResourceProperties.EventsRuleEcsParameters where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration
 
+
 -- | Full data type definition for EventsRuleEcsParameters. See
 -- 'eventsRuleEcsParameters' for a more convenient constructor.
 data EventsRuleEcsParameters =
   EventsRuleEcsParameters
-  { _eventsRuleEcsParametersGroup :: Maybe (Val Text)
-  , _eventsRuleEcsParametersLaunchType :: Maybe (Val Text)
-  , _eventsRuleEcsParametersNetworkConfiguration :: Maybe EventsRuleNetworkConfiguration
-  , _eventsRuleEcsParametersPlatformVersion :: Maybe (Val Text)
-  , _eventsRuleEcsParametersTaskCount :: Maybe (Val Integer)
+  { _eventsRuleEcsParametersTaskCount :: Maybe (Val Integer)
   , _eventsRuleEcsParametersTaskDefinitionArn :: Val Text
   } deriving (Show, Eq)
 
@@ -26,11 +22,7 @@
   toJSON EventsRuleEcsParameters{..} =
     object $
     catMaybes
-    [ fmap (("Group",) . toJSON) _eventsRuleEcsParametersGroup
-    , fmap (("LaunchType",) . toJSON) _eventsRuleEcsParametersLaunchType
-    , fmap (("NetworkConfiguration",) . toJSON) _eventsRuleEcsParametersNetworkConfiguration
-    , fmap (("PlatformVersion",) . toJSON) _eventsRuleEcsParametersPlatformVersion
-    , fmap (("TaskCount",) . toJSON) _eventsRuleEcsParametersTaskCount
+    [ fmap (("TaskCount",) . toJSON) _eventsRuleEcsParametersTaskCount
     , (Just . ("TaskDefinitionArn",) . toJSON) _eventsRuleEcsParametersTaskDefinitionArn
     ]
 
@@ -41,29 +33,9 @@
   -> EventsRuleEcsParameters
 eventsRuleEcsParameters taskDefinitionArnarg =
   EventsRuleEcsParameters
-  { _eventsRuleEcsParametersGroup = Nothing
-  , _eventsRuleEcsParametersLaunchType = Nothing
-  , _eventsRuleEcsParametersNetworkConfiguration = Nothing
-  , _eventsRuleEcsParametersPlatformVersion = Nothing
-  , _eventsRuleEcsParametersTaskCount = Nothing
+  { _eventsRuleEcsParametersTaskCount = Nothing
   , _eventsRuleEcsParametersTaskDefinitionArn = taskDefinitionArnarg
   }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-group
-erepGroup :: Lens' EventsRuleEcsParameters (Maybe (Val Text))
-erepGroup = lens _eventsRuleEcsParametersGroup (\s a -> s { _eventsRuleEcsParametersGroup = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-launchtype
-erepLaunchType :: Lens' EventsRuleEcsParameters (Maybe (Val Text))
-erepLaunchType = lens _eventsRuleEcsParametersLaunchType (\s a -> s { _eventsRuleEcsParametersLaunchType = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-networkconfiguration
-erepNetworkConfiguration :: Lens' EventsRuleEcsParameters (Maybe EventsRuleNetworkConfiguration)
-erepNetworkConfiguration = lens _eventsRuleEcsParametersNetworkConfiguration (\s a -> s { _eventsRuleEcsParametersNetworkConfiguration = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-platformversion
-erepPlatformVersion :: Lens' EventsRuleEcsParameters (Maybe (Val Text))
-erepPlatformVersion = lens _eventsRuleEcsParametersPlatformVersion (\s a -> s { _eventsRuleEcsParametersPlatformVersion = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount
 erepTaskCount :: Lens' EventsRuleEcsParameters (Maybe (Val Integer))
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleNetworkConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleNetworkConfiguration.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleNetworkConfiguration.hs
+++ /dev/null
@@ -1,38 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html
-
-module Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration where
-
-import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration
-
--- | Full data type definition for EventsRuleNetworkConfiguration. See
--- 'eventsRuleNetworkConfiguration' for a more convenient constructor.
-data EventsRuleNetworkConfiguration =
-  EventsRuleNetworkConfiguration
-  { _eventsRuleNetworkConfigurationAwsVpcConfiguration :: Maybe EventsRuleAwsVpcConfiguration
-  } deriving (Show, Eq)
-
-instance ToJSON EventsRuleNetworkConfiguration where
-  toJSON EventsRuleNetworkConfiguration{..} =
-    object $
-    catMaybes
-    [ fmap (("AwsVpcConfiguration",) . toJSON) _eventsRuleNetworkConfigurationAwsVpcConfiguration
-    ]
-
--- | Constructor for 'EventsRuleNetworkConfiguration' containing required
--- fields as arguments.
-eventsRuleNetworkConfiguration
-  :: EventsRuleNetworkConfiguration
-eventsRuleNetworkConfiguration  =
-  EventsRuleNetworkConfiguration
-  { _eventsRuleNetworkConfigurationAwsVpcConfiguration = Nothing
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html#cfn-events-rule-networkconfiguration-awsvpcconfiguration
-erncAwsVpcConfiguration :: Lens' EventsRuleNetworkConfiguration (Maybe EventsRuleAwsVpcConfiguration)
-erncAwsVpcConfiguration = lens _eventsRuleNetworkConfigurationAwsVpcConfiguration (\s a -> s { _eventsRuleNetworkConfigurationAwsVpcConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueJobJobCommand.hs b/library-gen/Stratosphere/ResourceProperties/GlueJobJobCommand.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueJobJobCommand.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueJobJobCommand.hs
@@ -15,6 +15,7 @@
 data GlueJobJobCommand =
   GlueJobJobCommand
   { _glueJobJobCommandName :: Maybe (Val Text)
+  , _glueJobJobCommandPythonVersion :: Maybe (Val Text)
   , _glueJobJobCommandScriptLocation :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -23,6 +24,7 @@
     object $
     catMaybes
     [ fmap (("Name",) . toJSON) _glueJobJobCommandName
+    , fmap (("PythonVersion",) . toJSON) _glueJobJobCommandPythonVersion
     , fmap (("ScriptLocation",) . toJSON) _glueJobJobCommandScriptLocation
     ]
 
@@ -33,12 +35,17 @@
 glueJobJobCommand  =
   GlueJobJobCommand
   { _glueJobJobCommandName = Nothing
+  , _glueJobJobCommandPythonVersion = Nothing
   , _glueJobJobCommandScriptLocation = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-name
 gjjcName :: Lens' GlueJobJobCommand (Maybe (Val Text))
 gjjcName = lens _glueJobJobCommandName (\s a -> s { _glueJobJobCommandName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-pythonversion
+gjjcPythonVersion :: Lens' GlueJobJobCommand (Maybe (Val Text))
+gjjcPythonVersion = lens _glueJobJobCommandPythonVersion (\s a -> s { _glueJobJobCommandPythonVersion = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-scriptlocation
 gjjcScriptLocation :: Lens' GlueJobJobCommand (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueSecurityConfigurationEncryptionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GlueSecurityConfigurationEncryptionConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueSecurityConfigurationEncryptionConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueSecurityConfigurationEncryptionConfiguration.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.GlueSecurityConfigurationCloudWatchEncryption
 import Stratosphere.ResourceProperties.GlueSecurityConfigurationJobBookmarksEncryption
+import Stratosphere.ResourceProperties.GlueSecurityConfigurationS3Encryption
 
 -- | Full data type definition for
 -- GlueSecurityConfigurationEncryptionConfiguration. See
@@ -19,6 +20,7 @@
   GlueSecurityConfigurationEncryptionConfiguration
   { _glueSecurityConfigurationEncryptionConfigurationCloudWatchEncryption :: Maybe GlueSecurityConfigurationCloudWatchEncryption
   , _glueSecurityConfigurationEncryptionConfigurationJobBookmarksEncryption :: Maybe GlueSecurityConfigurationJobBookmarksEncryption
+  , _glueSecurityConfigurationEncryptionConfigurationS3Encryptions :: Maybe [GlueSecurityConfigurationS3Encryption]
   } deriving (Show, Eq)
 
 instance ToJSON GlueSecurityConfigurationEncryptionConfiguration where
@@ -27,6 +29,7 @@
     catMaybes
     [ fmap (("CloudWatchEncryption",) . toJSON) _glueSecurityConfigurationEncryptionConfigurationCloudWatchEncryption
     , fmap (("JobBookmarksEncryption",) . toJSON) _glueSecurityConfigurationEncryptionConfigurationJobBookmarksEncryption
+    , fmap (("S3Encryptions",) . toJSON) _glueSecurityConfigurationEncryptionConfigurationS3Encryptions
     ]
 
 -- | Constructor for 'GlueSecurityConfigurationEncryptionConfiguration'
@@ -37,6 +40,7 @@
   GlueSecurityConfigurationEncryptionConfiguration
   { _glueSecurityConfigurationEncryptionConfigurationCloudWatchEncryption = Nothing
   , _glueSecurityConfigurationEncryptionConfigurationJobBookmarksEncryption = Nothing
+  , _glueSecurityConfigurationEncryptionConfigurationS3Encryptions = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption
@@ -46,3 +50,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption
 gscecJobBookmarksEncryption :: Lens' GlueSecurityConfigurationEncryptionConfiguration (Maybe GlueSecurityConfigurationJobBookmarksEncryption)
 gscecJobBookmarksEncryption = lens _glueSecurityConfigurationEncryptionConfigurationJobBookmarksEncryption (\s a -> s { _glueSecurityConfigurationEncryptionConfigurationJobBookmarksEncryption = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions
+gscecS3Encryptions :: Lens' GlueSecurityConfigurationEncryptionConfiguration (Maybe [GlueSecurityConfigurationS3Encryption])
+gscecS3Encryptions = lens _glueSecurityConfigurationEncryptionConfigurationS3Encryptions (\s a -> s { _glueSecurityConfigurationEncryptionConfigurationS3Encryptions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAction.hs
@@ -0,0 +1,110 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelAction where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelResetTimer
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSetTimer
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSetVariable
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSns
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSqs
+
+-- | Full data type definition for IoTEventsDetectorModelAction. See
+-- 'ioTEventsDetectorModelAction' for a more convenient constructor.
+data IoTEventsDetectorModelAction =
+  IoTEventsDetectorModelAction
+  { _ioTEventsDetectorModelActionClearTimer :: Maybe IoTEventsDetectorModelClearTimer
+  , _ioTEventsDetectorModelActionFirehose :: Maybe IoTEventsDetectorModelFirehose
+  , _ioTEventsDetectorModelActionIotEvents :: Maybe IoTEventsDetectorModelIotEvents
+  , _ioTEventsDetectorModelActionIotTopicPublish :: Maybe IoTEventsDetectorModelIotTopicPublish
+  , _ioTEventsDetectorModelActionLambda :: Maybe IoTEventsDetectorModelLambda
+  , _ioTEventsDetectorModelActionResetTimer :: Maybe IoTEventsDetectorModelResetTimer
+  , _ioTEventsDetectorModelActionSetTimer :: Maybe IoTEventsDetectorModelSetTimer
+  , _ioTEventsDetectorModelActionSetVariable :: Maybe IoTEventsDetectorModelSetVariable
+  , _ioTEventsDetectorModelActionSns :: Maybe IoTEventsDetectorModelSns
+  , _ioTEventsDetectorModelActionSqs :: Maybe IoTEventsDetectorModelSqs
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelAction where
+  toJSON IoTEventsDetectorModelAction{..} =
+    object $
+    catMaybes
+    [ fmap (("ClearTimer",) . toJSON) _ioTEventsDetectorModelActionClearTimer
+    , fmap (("Firehose",) . toJSON) _ioTEventsDetectorModelActionFirehose
+    , fmap (("IotEvents",) . toJSON) _ioTEventsDetectorModelActionIotEvents
+    , fmap (("IotTopicPublish",) . toJSON) _ioTEventsDetectorModelActionIotTopicPublish
+    , fmap (("Lambda",) . toJSON) _ioTEventsDetectorModelActionLambda
+    , fmap (("ResetTimer",) . toJSON) _ioTEventsDetectorModelActionResetTimer
+    , fmap (("SetTimer",) . toJSON) _ioTEventsDetectorModelActionSetTimer
+    , fmap (("SetVariable",) . toJSON) _ioTEventsDetectorModelActionSetVariable
+    , fmap (("Sns",) . toJSON) _ioTEventsDetectorModelActionSns
+    , fmap (("Sqs",) . toJSON) _ioTEventsDetectorModelActionSqs
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelAction' containing required fields
+-- as arguments.
+ioTEventsDetectorModelAction
+  :: IoTEventsDetectorModelAction
+ioTEventsDetectorModelAction  =
+  IoTEventsDetectorModelAction
+  { _ioTEventsDetectorModelActionClearTimer = Nothing
+  , _ioTEventsDetectorModelActionFirehose = Nothing
+  , _ioTEventsDetectorModelActionIotEvents = Nothing
+  , _ioTEventsDetectorModelActionIotTopicPublish = Nothing
+  , _ioTEventsDetectorModelActionLambda = Nothing
+  , _ioTEventsDetectorModelActionResetTimer = Nothing
+  , _ioTEventsDetectorModelActionSetTimer = Nothing
+  , _ioTEventsDetectorModelActionSetVariable = Nothing
+  , _ioTEventsDetectorModelActionSns = Nothing
+  , _ioTEventsDetectorModelActionSqs = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-cleartimer
+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-firehose
+itedmaFirehose :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelFirehose)
+itedmaFirehose = lens _ioTEventsDetectorModelActionFirehose (\s a -> s { _ioTEventsDetectorModelActionFirehose = a })
+
+-- | 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-iottopicpublish
+itedmaIotTopicPublish :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelIotTopicPublish)
+itedmaIotTopicPublish = lens _ioTEventsDetectorModelActionIotTopicPublish (\s a -> s { _ioTEventsDetectorModelActionIotTopicPublish = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-lambda
+itedmaLambda :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelLambda)
+itedmaLambda = lens _ioTEventsDetectorModelActionLambda (\s a -> s { _ioTEventsDetectorModelActionLambda = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-resettimer
+itedmaResetTimer :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelResetTimer)
+itedmaResetTimer = lens _ioTEventsDetectorModelActionResetTimer (\s a -> s { _ioTEventsDetectorModelActionResetTimer = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-settimer
+itedmaSetTimer :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelSetTimer)
+itedmaSetTimer = lens _ioTEventsDetectorModelActionSetTimer (\s a -> s { _ioTEventsDetectorModelActionSetTimer = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-setvariable
+itedmaSetVariable :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelSetVariable)
+itedmaSetVariable = lens _ioTEventsDetectorModelActionSetVariable (\s a -> s { _ioTEventsDetectorModelActionSetVariable = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sns
+itedmaSns :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelSns)
+itedmaSns = lens _ioTEventsDetectorModelActionSns (\s a -> s { _ioTEventsDetectorModelActionSns = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sqs
+itedmaSqs :: Lens' IoTEventsDetectorModelAction (Maybe IoTEventsDetectorModelSqs)
+itedmaSqs = lens _ioTEventsDetectorModelActionSqs (\s a -> s { _ioTEventsDetectorModelActionSqs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelClearTimer.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelClearTimer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelClearTimer.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelClearTimer. See
+-- 'ioTEventsDetectorModelClearTimer' for a more convenient constructor.
+data IoTEventsDetectorModelClearTimer =
+  IoTEventsDetectorModelClearTimer
+  { _ioTEventsDetectorModelClearTimerTimerName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelClearTimer where
+  toJSON IoTEventsDetectorModelClearTimer{..} =
+    object $
+    catMaybes
+    [ fmap (("TimerName",) . toJSON) _ioTEventsDetectorModelClearTimerTimerName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelClearTimer' containing required
+-- fields as arguments.
+ioTEventsDetectorModelClearTimer
+  :: IoTEventsDetectorModelClearTimer
+ioTEventsDetectorModelClearTimer  =
+  IoTEventsDetectorModelClearTimer
+  { _ioTEventsDetectorModelClearTimerTimerName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html#cfn-iotevents-detectormodel-cleartimer-timername
+itedmctTimerName :: Lens' IoTEventsDetectorModelClearTimer (Maybe (Val Text))
+itedmctTimerName = lens _ioTEventsDetectorModelClearTimerTimerName (\s a -> s { _ioTEventsDetectorModelClearTimerTimerName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDetectorModelDefinition.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDetectorModelDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelDetectorModelDefinition.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-detectormodeldefinition.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelDetectorModelDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelState
+
+-- | Full data type definition for
+-- IoTEventsDetectorModelDetectorModelDefinition. See
+-- 'ioTEventsDetectorModelDetectorModelDefinition' for a more convenient
+-- constructor.
+data IoTEventsDetectorModelDetectorModelDefinition =
+  IoTEventsDetectorModelDetectorModelDefinition
+  { _ioTEventsDetectorModelDetectorModelDefinitionInitialStateName :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDetectorModelDefinitionStates :: Maybe [IoTEventsDetectorModelState]
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelDetectorModelDefinition where
+  toJSON IoTEventsDetectorModelDetectorModelDefinition{..} =
+    object $
+    catMaybes
+    [ fmap (("InitialStateName",) . toJSON) _ioTEventsDetectorModelDetectorModelDefinitionInitialStateName
+    , fmap (("States",) . toJSON) _ioTEventsDetectorModelDetectorModelDefinitionStates
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelDetectorModelDefinition'
+-- containing required fields as arguments.
+ioTEventsDetectorModelDetectorModelDefinition
+  :: IoTEventsDetectorModelDetectorModelDefinition
+ioTEventsDetectorModelDetectorModelDefinition  =
+  IoTEventsDetectorModelDetectorModelDefinition
+  { _ioTEventsDetectorModelDetectorModelDefinitionInitialStateName = Nothing
+  , _ioTEventsDetectorModelDetectorModelDefinitionStates = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-initialstatename
+itedmdmdInitialStateName :: Lens' IoTEventsDetectorModelDetectorModelDefinition (Maybe (Val Text))
+itedmdmdInitialStateName = lens _ioTEventsDetectorModelDetectorModelDefinitionInitialStateName (\s a -> s { _ioTEventsDetectorModelDetectorModelDefinitionInitialStateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-states
+itedmdmdStates :: Lens' IoTEventsDetectorModelDetectorModelDefinition (Maybe [IoTEventsDetectorModelState])
+itedmdmdStates = lens _ioTEventsDetectorModelDetectorModelDefinitionStates (\s a -> s { _ioTEventsDetectorModelDetectorModelDefinitionStates = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelEvent.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelEvent.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelEvent.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAction
+
+-- | Full data type definition for IoTEventsDetectorModelEvent. See
+-- 'ioTEventsDetectorModelEvent' for a more convenient constructor.
+data IoTEventsDetectorModelEvent =
+  IoTEventsDetectorModelEvent
+  { _ioTEventsDetectorModelEventActions :: Maybe [IoTEventsDetectorModelAction]
+  , _ioTEventsDetectorModelEventCondition :: Maybe (Val Text)
+  , _ioTEventsDetectorModelEventEventName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelEvent where
+  toJSON IoTEventsDetectorModelEvent{..} =
+    object $
+    catMaybes
+    [ fmap (("Actions",) . toJSON) _ioTEventsDetectorModelEventActions
+    , fmap (("Condition",) . toJSON) _ioTEventsDetectorModelEventCondition
+    , fmap (("EventName",) . toJSON) _ioTEventsDetectorModelEventEventName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelEvent' containing required fields
+-- as arguments.
+ioTEventsDetectorModelEvent
+  :: IoTEventsDetectorModelEvent
+ioTEventsDetectorModelEvent  =
+  IoTEventsDetectorModelEvent
+  { _ioTEventsDetectorModelEventActions = Nothing
+  , _ioTEventsDetectorModelEventCondition = Nothing
+  , _ioTEventsDetectorModelEventEventName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-actions
+itedmeActions :: Lens' IoTEventsDetectorModelEvent (Maybe [IoTEventsDetectorModelAction])
+itedmeActions = lens _ioTEventsDetectorModelEventActions (\s a -> s { _ioTEventsDetectorModelEventActions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-condition
+itedmeCondition :: Lens' IoTEventsDetectorModelEvent (Maybe (Val Text))
+itedmeCondition = lens _ioTEventsDetectorModelEventCondition (\s a -> s { _ioTEventsDetectorModelEventCondition = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-eventname
+itedmeEventName :: Lens' IoTEventsDetectorModelEvent (Maybe (Val Text))
+itedmeEventName = lens _ioTEventsDetectorModelEventEventName (\s a -> s { _ioTEventsDetectorModelEventEventName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelFirehose.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-firehose.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelFirehose. See
+-- 'ioTEventsDetectorModelFirehose' for a more convenient constructor.
+data IoTEventsDetectorModelFirehose =
+  IoTEventsDetectorModelFirehose
+  { _ioTEventsDetectorModelFirehoseDeliveryStreamName :: Maybe (Val Text)
+  , _ioTEventsDetectorModelFirehoseSeparator :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelFirehose where
+  toJSON IoTEventsDetectorModelFirehose{..} =
+    object $
+    catMaybes
+    [ fmap (("DeliveryStreamName",) . toJSON) _ioTEventsDetectorModelFirehoseDeliveryStreamName
+    , fmap (("Separator",) . toJSON) _ioTEventsDetectorModelFirehoseSeparator
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelFirehose' containing required
+-- fields as arguments.
+ioTEventsDetectorModelFirehose
+  :: IoTEventsDetectorModelFirehose
+ioTEventsDetectorModelFirehose  =
+  IoTEventsDetectorModelFirehose
+  { _ioTEventsDetectorModelFirehoseDeliveryStreamName = 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-separator
+itedmfSeparator :: Lens' IoTEventsDetectorModelFirehose (Maybe (Val Text))
+itedmfSeparator = lens _ioTEventsDetectorModelFirehoseSeparator (\s a -> s { _ioTEventsDetectorModelFirehoseSeparator = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotEvents.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelIotEvents. See
+-- 'ioTEventsDetectorModelIotEvents' for a more convenient constructor.
+data IoTEventsDetectorModelIotEvents =
+  IoTEventsDetectorModelIotEvents
+  { _ioTEventsDetectorModelIotEventsInputName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelIotEvents where
+  toJSON IoTEventsDetectorModelIotEvents{..} =
+    object $
+    catMaybes
+    [ fmap (("InputName",) . toJSON) _ioTEventsDetectorModelIotEventsInputName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelIotEvents' containing required
+-- fields as arguments.
+ioTEventsDetectorModelIotEvents
+  :: IoTEventsDetectorModelIotEvents
+ioTEventsDetectorModelIotEvents  =
+  IoTEventsDetectorModelIotEvents
+  { _ioTEventsDetectorModelIotEventsInputName = 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 })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelIotTopicPublish.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelIotTopicPublish. See
+-- 'ioTEventsDetectorModelIotTopicPublish' for a more convenient
+-- constructor.
+data IoTEventsDetectorModelIotTopicPublish =
+  IoTEventsDetectorModelIotTopicPublish
+  { _ioTEventsDetectorModelIotTopicPublishMqttTopic :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelIotTopicPublish where
+  toJSON IoTEventsDetectorModelIotTopicPublish{..} =
+    object $
+    catMaybes
+    [ fmap (("MqttTopic",) . toJSON) _ioTEventsDetectorModelIotTopicPublishMqttTopic
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelIotTopicPublish' containing
+-- required fields as arguments.
+ioTEventsDetectorModelIotTopicPublish
+  :: IoTEventsDetectorModelIotTopicPublish
+ioTEventsDetectorModelIotTopicPublish  =
+  IoTEventsDetectorModelIotTopicPublish
+  { _ioTEventsDetectorModelIotTopicPublishMqttTopic = 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 })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelLambda.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelLambda. See
+-- 'ioTEventsDetectorModelLambda' for a more convenient constructor.
+data IoTEventsDetectorModelLambda =
+  IoTEventsDetectorModelLambda
+  { _ioTEventsDetectorModelLambdaFunctionArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelLambda where
+  toJSON IoTEventsDetectorModelLambda{..} =
+    object $
+    catMaybes
+    [ fmap (("FunctionArn",) . toJSON) _ioTEventsDetectorModelLambdaFunctionArn
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelLambda' containing required fields
+-- as arguments.
+ioTEventsDetectorModelLambda
+  :: IoTEventsDetectorModelLambda
+ioTEventsDetectorModelLambda  =
+  IoTEventsDetectorModelLambda
+  { _ioTEventsDetectorModelLambdaFunctionArn = 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 })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnEnter.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnEnter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnEnter.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelOnEnter where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent
+
+-- | Full data type definition for IoTEventsDetectorModelOnEnter. See
+-- 'ioTEventsDetectorModelOnEnter' for a more convenient constructor.
+data IoTEventsDetectorModelOnEnter =
+  IoTEventsDetectorModelOnEnter
+  { _ioTEventsDetectorModelOnEnterEvents :: Maybe [IoTEventsDetectorModelEvent]
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelOnEnter where
+  toJSON IoTEventsDetectorModelOnEnter{..} =
+    object $
+    catMaybes
+    [ fmap (("Events",) . toJSON) _ioTEventsDetectorModelOnEnterEvents
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelOnEnter' containing required
+-- fields as arguments.
+ioTEventsDetectorModelOnEnter
+  :: IoTEventsDetectorModelOnEnter
+ioTEventsDetectorModelOnEnter  =
+  IoTEventsDetectorModelOnEnter
+  { _ioTEventsDetectorModelOnEnterEvents = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html#cfn-iotevents-detectormodel-onenter-events
+itedmoenEvents :: Lens' IoTEventsDetectorModelOnEnter (Maybe [IoTEventsDetectorModelEvent])
+itedmoenEvents = lens _ioTEventsDetectorModelOnEnterEvents (\s a -> s { _ioTEventsDetectorModelOnEnterEvents = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnExit.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnExit.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnExit.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelOnExit where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent
+
+-- | Full data type definition for IoTEventsDetectorModelOnExit. See
+-- 'ioTEventsDetectorModelOnExit' for a more convenient constructor.
+data IoTEventsDetectorModelOnExit =
+  IoTEventsDetectorModelOnExit
+  { _ioTEventsDetectorModelOnExitEvents :: Maybe [IoTEventsDetectorModelEvent]
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelOnExit where
+  toJSON IoTEventsDetectorModelOnExit{..} =
+    object $
+    catMaybes
+    [ fmap (("Events",) . toJSON) _ioTEventsDetectorModelOnExitEvents
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelOnExit' containing required fields
+-- as arguments.
+ioTEventsDetectorModelOnExit
+  :: IoTEventsDetectorModelOnExit
+ioTEventsDetectorModelOnExit  =
+  IoTEventsDetectorModelOnExit
+  { _ioTEventsDetectorModelOnExitEvents = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html#cfn-iotevents-detectormodel-onexit-events
+itedmoexEvents :: Lens' IoTEventsDetectorModelOnExit (Maybe [IoTEventsDetectorModelEvent])
+itedmoexEvents = lens _ioTEventsDetectorModelOnExitEvents (\s a -> s { _ioTEventsDetectorModelOnExitEvents = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnInput.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnInput.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelOnInput.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelOnInput where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelTransitionEvent
+
+-- | Full data type definition for IoTEventsDetectorModelOnInput. See
+-- 'ioTEventsDetectorModelOnInput' for a more convenient constructor.
+data IoTEventsDetectorModelOnInput =
+  IoTEventsDetectorModelOnInput
+  { _ioTEventsDetectorModelOnInputEvents :: Maybe [IoTEventsDetectorModelEvent]
+  , _ioTEventsDetectorModelOnInputTransitionEvents :: Maybe [IoTEventsDetectorModelTransitionEvent]
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelOnInput where
+  toJSON IoTEventsDetectorModelOnInput{..} =
+    object $
+    catMaybes
+    [ fmap (("Events",) . toJSON) _ioTEventsDetectorModelOnInputEvents
+    , fmap (("TransitionEvents",) . toJSON) _ioTEventsDetectorModelOnInputTransitionEvents
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelOnInput' containing required
+-- fields as arguments.
+ioTEventsDetectorModelOnInput
+  :: IoTEventsDetectorModelOnInput
+ioTEventsDetectorModelOnInput  =
+  IoTEventsDetectorModelOnInput
+  { _ioTEventsDetectorModelOnInputEvents = Nothing
+  , _ioTEventsDetectorModelOnInputTransitionEvents = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html#cfn-iotevents-detectormodel-oninput-events
+itedmoiEvents :: Lens' IoTEventsDetectorModelOnInput (Maybe [IoTEventsDetectorModelEvent])
+itedmoiEvents = lens _ioTEventsDetectorModelOnInputEvents (\s a -> s { _ioTEventsDetectorModelOnInputEvents = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html#cfn-iotevents-detectormodel-oninput-transitionevents
+itedmoiTransitionEvents :: Lens' IoTEventsDetectorModelOnInput (Maybe [IoTEventsDetectorModelTransitionEvent])
+itedmoiTransitionEvents = lens _ioTEventsDetectorModelOnInputTransitionEvents (\s a -> s { _ioTEventsDetectorModelOnInputTransitionEvents = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelResetTimer.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelResetTimer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelResetTimer.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelResetTimer where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelResetTimer. See
+-- 'ioTEventsDetectorModelResetTimer' for a more convenient constructor.
+data IoTEventsDetectorModelResetTimer =
+  IoTEventsDetectorModelResetTimer
+  { _ioTEventsDetectorModelResetTimerTimerName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelResetTimer where
+  toJSON IoTEventsDetectorModelResetTimer{..} =
+    object $
+    catMaybes
+    [ fmap (("TimerName",) . toJSON) _ioTEventsDetectorModelResetTimerTimerName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelResetTimer' containing required
+-- fields as arguments.
+ioTEventsDetectorModelResetTimer
+  :: IoTEventsDetectorModelResetTimer
+ioTEventsDetectorModelResetTimer  =
+  IoTEventsDetectorModelResetTimer
+  { _ioTEventsDetectorModelResetTimerTimerName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html#cfn-iotevents-detectormodel-resettimer-timername
+itedmrtTimerName :: Lens' IoTEventsDetectorModelResetTimer (Maybe (Val Text))
+itedmrtTimerName = lens _ioTEventsDetectorModelResetTimerTimerName (\s a -> s { _ioTEventsDetectorModelResetTimerTimerName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSetTimer.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSetTimer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSetTimer.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-settimer.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelSetTimer where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelSetTimer. See
+-- 'ioTEventsDetectorModelSetTimer' for a more convenient constructor.
+data IoTEventsDetectorModelSetTimer =
+  IoTEventsDetectorModelSetTimer
+  { _ioTEventsDetectorModelSetTimerSeconds :: Maybe (Val Integer)
+  , _ioTEventsDetectorModelSetTimerTimerName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelSetTimer where
+  toJSON IoTEventsDetectorModelSetTimer{..} =
+    object $
+    catMaybes
+    [ fmap (("Seconds",) . toJSON) _ioTEventsDetectorModelSetTimerSeconds
+    , fmap (("TimerName",) . toJSON) _ioTEventsDetectorModelSetTimerTimerName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelSetTimer' containing required
+-- fields as arguments.
+ioTEventsDetectorModelSetTimer
+  :: IoTEventsDetectorModelSetTimer
+ioTEventsDetectorModelSetTimer  =
+  IoTEventsDetectorModelSetTimer
+  { _ioTEventsDetectorModelSetTimerSeconds = Nothing
+  , _ioTEventsDetectorModelSetTimerTimerName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-seconds
+itedmstSeconds :: Lens' IoTEventsDetectorModelSetTimer (Maybe (Val Integer))
+itedmstSeconds = lens _ioTEventsDetectorModelSetTimerSeconds (\s a -> s { _ioTEventsDetectorModelSetTimerSeconds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-timername
+itedmstTimerName :: Lens' IoTEventsDetectorModelSetTimer (Maybe (Val Text))
+itedmstTimerName = lens _ioTEventsDetectorModelSetTimerTimerName (\s a -> s { _ioTEventsDetectorModelSetTimerTimerName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSetVariable.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSetVariable.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSetVariable.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-setvariable.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelSetVariable where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelSetVariable. See
+-- 'ioTEventsDetectorModelSetVariable' for a more convenient constructor.
+data IoTEventsDetectorModelSetVariable =
+  IoTEventsDetectorModelSetVariable
+  { _ioTEventsDetectorModelSetVariableValue :: Maybe (Val Text)
+  , _ioTEventsDetectorModelSetVariableVariableName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelSetVariable where
+  toJSON IoTEventsDetectorModelSetVariable{..} =
+    object $
+    catMaybes
+    [ fmap (("Value",) . toJSON) _ioTEventsDetectorModelSetVariableValue
+    , fmap (("VariableName",) . toJSON) _ioTEventsDetectorModelSetVariableVariableName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelSetVariable' containing required
+-- fields as arguments.
+ioTEventsDetectorModelSetVariable
+  :: IoTEventsDetectorModelSetVariable
+ioTEventsDetectorModelSetVariable  =
+  IoTEventsDetectorModelSetVariable
+  { _ioTEventsDetectorModelSetVariableValue = Nothing
+  , _ioTEventsDetectorModelSetVariableVariableName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-value
+itedmsvValue :: Lens' IoTEventsDetectorModelSetVariable (Maybe (Val Text))
+itedmsvValue = lens _ioTEventsDetectorModelSetVariableValue (\s a -> s { _ioTEventsDetectorModelSetVariableValue = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-variablename
+itedmsvVariableName :: Lens' IoTEventsDetectorModelSetVariable (Maybe (Val Text))
+itedmsvVariableName = lens _ioTEventsDetectorModelSetVariableVariableName (\s a -> s { _ioTEventsDetectorModelSetVariableVariableName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSns.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelSns where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelSns. See
+-- 'ioTEventsDetectorModelSns' for a more convenient constructor.
+data IoTEventsDetectorModelSns =
+  IoTEventsDetectorModelSns
+  { _ioTEventsDetectorModelSnsTargetArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelSns where
+  toJSON IoTEventsDetectorModelSns{..} =
+    object $
+    catMaybes
+    [ fmap (("TargetArn",) . toJSON) _ioTEventsDetectorModelSnsTargetArn
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelSns' containing required fields as
+-- arguments.
+ioTEventsDetectorModelSns
+  :: IoTEventsDetectorModelSns
+ioTEventsDetectorModelSns  =
+  IoTEventsDetectorModelSns
+  { _ioTEventsDetectorModelSnsTargetArn = Nothing
+  }
+
+-- | 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 })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelSqs.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-sqs.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelSqs where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsDetectorModelSqs. See
+-- 'ioTEventsDetectorModelSqs' for a more convenient constructor.
+data IoTEventsDetectorModelSqs =
+  IoTEventsDetectorModelSqs
+  { _ioTEventsDetectorModelSqsQueueUrl :: Maybe (Val Text)
+  , _ioTEventsDetectorModelSqsUseBase64 :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelSqs where
+  toJSON IoTEventsDetectorModelSqs{..} =
+    object $
+    catMaybes
+    [ fmap (("QueueUrl",) . toJSON) _ioTEventsDetectorModelSqsQueueUrl
+    , fmap (("UseBase64",) . toJSON) _ioTEventsDetectorModelSqsUseBase64
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelSqs' containing required fields as
+-- arguments.
+ioTEventsDetectorModelSqs
+  :: IoTEventsDetectorModelSqs
+ioTEventsDetectorModelSqs  =
+  IoTEventsDetectorModelSqs
+  { _ioTEventsDetectorModelSqsQueueUrl = Nothing
+  , _ioTEventsDetectorModelSqsUseBase64 = Nothing
+  }
+
+-- | 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 })
+
+-- | 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 })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelState.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelState.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelState.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelState where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelOnEnter
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelOnExit
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelOnInput
+
+-- | Full data type definition for IoTEventsDetectorModelState. See
+-- 'ioTEventsDetectorModelState' for a more convenient constructor.
+data IoTEventsDetectorModelState =
+  IoTEventsDetectorModelState
+  { _ioTEventsDetectorModelStateOnEnter :: Maybe IoTEventsDetectorModelOnEnter
+  , _ioTEventsDetectorModelStateOnExit :: Maybe IoTEventsDetectorModelOnExit
+  , _ioTEventsDetectorModelStateOnInput :: Maybe IoTEventsDetectorModelOnInput
+  , _ioTEventsDetectorModelStateStateName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelState where
+  toJSON IoTEventsDetectorModelState{..} =
+    object $
+    catMaybes
+    [ fmap (("OnEnter",) . toJSON) _ioTEventsDetectorModelStateOnEnter
+    , fmap (("OnExit",) . toJSON) _ioTEventsDetectorModelStateOnExit
+    , fmap (("OnInput",) . toJSON) _ioTEventsDetectorModelStateOnInput
+    , fmap (("StateName",) . toJSON) _ioTEventsDetectorModelStateStateName
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelState' containing required fields
+-- as arguments.
+ioTEventsDetectorModelState
+  :: IoTEventsDetectorModelState
+ioTEventsDetectorModelState  =
+  IoTEventsDetectorModelState
+  { _ioTEventsDetectorModelStateOnEnter = Nothing
+  , _ioTEventsDetectorModelStateOnExit = Nothing
+  , _ioTEventsDetectorModelStateOnInput = Nothing
+  , _ioTEventsDetectorModelStateStateName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-onenter
+itedmsOnEnter :: Lens' IoTEventsDetectorModelState (Maybe IoTEventsDetectorModelOnEnter)
+itedmsOnEnter = lens _ioTEventsDetectorModelStateOnEnter (\s a -> s { _ioTEventsDetectorModelStateOnEnter = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-onexit
+itedmsOnExit :: Lens' IoTEventsDetectorModelState (Maybe IoTEventsDetectorModelOnExit)
+itedmsOnExit = lens _ioTEventsDetectorModelStateOnExit (\s a -> s { _ioTEventsDetectorModelStateOnExit = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-oninput
+itedmsOnInput :: Lens' IoTEventsDetectorModelState (Maybe IoTEventsDetectorModelOnInput)
+itedmsOnInput = lens _ioTEventsDetectorModelStateOnInput (\s a -> s { _ioTEventsDetectorModelStateOnInput = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-statename
+itedmsStateName :: Lens' IoTEventsDetectorModelState (Maybe (Val Text))
+itedmsStateName = lens _ioTEventsDetectorModelStateStateName (\s a -> s { _ioTEventsDetectorModelStateStateName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelTransitionEvent.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelTransitionEvent.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelTransitionEvent.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-transitionevent.html
+
+module Stratosphere.ResourceProperties.IoTEventsDetectorModelTransitionEvent where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAction
+
+-- | Full data type definition for IoTEventsDetectorModelTransitionEvent. See
+-- 'ioTEventsDetectorModelTransitionEvent' for a more convenient
+-- constructor.
+data IoTEventsDetectorModelTransitionEvent =
+  IoTEventsDetectorModelTransitionEvent
+  { _ioTEventsDetectorModelTransitionEventActions :: Maybe [IoTEventsDetectorModelAction]
+  , _ioTEventsDetectorModelTransitionEventCondition :: Maybe (Val Text)
+  , _ioTEventsDetectorModelTransitionEventEventName :: Maybe (Val Text)
+  , _ioTEventsDetectorModelTransitionEventNextState :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsDetectorModelTransitionEvent where
+  toJSON IoTEventsDetectorModelTransitionEvent{..} =
+    object $
+    catMaybes
+    [ fmap (("Actions",) . toJSON) _ioTEventsDetectorModelTransitionEventActions
+    , fmap (("Condition",) . toJSON) _ioTEventsDetectorModelTransitionEventCondition
+    , fmap (("EventName",) . toJSON) _ioTEventsDetectorModelTransitionEventEventName
+    , fmap (("NextState",) . toJSON) _ioTEventsDetectorModelTransitionEventNextState
+    ]
+
+-- | Constructor for 'IoTEventsDetectorModelTransitionEvent' containing
+-- required fields as arguments.
+ioTEventsDetectorModelTransitionEvent
+  :: IoTEventsDetectorModelTransitionEvent
+ioTEventsDetectorModelTransitionEvent  =
+  IoTEventsDetectorModelTransitionEvent
+  { _ioTEventsDetectorModelTransitionEventActions = Nothing
+  , _ioTEventsDetectorModelTransitionEventCondition = Nothing
+  , _ioTEventsDetectorModelTransitionEventEventName = Nothing
+  , _ioTEventsDetectorModelTransitionEventNextState = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-actions
+itedmteActions :: Lens' IoTEventsDetectorModelTransitionEvent (Maybe [IoTEventsDetectorModelAction])
+itedmteActions = lens _ioTEventsDetectorModelTransitionEventActions (\s a -> s { _ioTEventsDetectorModelTransitionEventActions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-condition
+itedmteCondition :: Lens' IoTEventsDetectorModelTransitionEvent (Maybe (Val Text))
+itedmteCondition = lens _ioTEventsDetectorModelTransitionEventCondition (\s a -> s { _ioTEventsDetectorModelTransitionEventCondition = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-eventname
+itedmteEventName :: Lens' IoTEventsDetectorModelTransitionEvent (Maybe (Val Text))
+itedmteEventName = lens _ioTEventsDetectorModelTransitionEventEventName (\s a -> s { _ioTEventsDetectorModelTransitionEventEventName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-nextstate
+itedmteNextState :: Lens' IoTEventsDetectorModelTransitionEvent (Maybe (Val Text))
+itedmteNextState = lens _ioTEventsDetectorModelTransitionEventNextState (\s a -> s { _ioTEventsDetectorModelTransitionEventNextState = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsInputAttribute.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsInputAttribute.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsInputAttribute.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html
+
+module Stratosphere.ResourceProperties.IoTEventsInputAttribute where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for IoTEventsInputAttribute. See
+-- 'ioTEventsInputAttribute' for a more convenient constructor.
+data IoTEventsInputAttribute =
+  IoTEventsInputAttribute
+  { _ioTEventsInputAttributeJsonPath :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsInputAttribute where
+  toJSON IoTEventsInputAttribute{..} =
+    object $
+    catMaybes
+    [ fmap (("JsonPath",) . toJSON) _ioTEventsInputAttributeJsonPath
+    ]
+
+-- | Constructor for 'IoTEventsInputAttribute' containing required fields as
+-- arguments.
+ioTEventsInputAttribute
+  :: IoTEventsInputAttribute
+ioTEventsInputAttribute  =
+  IoTEventsInputAttribute
+  { _ioTEventsInputAttributeJsonPath = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html#cfn-iotevents-input-attribute-jsonpath
+iteiaJsonPath :: Lens' IoTEventsInputAttribute (Maybe (Val Text))
+iteiaJsonPath = lens _ioTEventsInputAttributeJsonPath (\s a -> s { _ioTEventsInputAttributeJsonPath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTEventsInputInputDefinition.hs b/library-gen/Stratosphere/ResourceProperties/IoTEventsInputInputDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/IoTEventsInputInputDefinition.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html
+
+module Stratosphere.ResourceProperties.IoTEventsInputInputDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsInputAttribute
+
+-- | Full data type definition for IoTEventsInputInputDefinition. See
+-- 'ioTEventsInputInputDefinition' for a more convenient constructor.
+data IoTEventsInputInputDefinition =
+  IoTEventsInputInputDefinition
+  { _ioTEventsInputInputDefinitionAttributes :: Maybe [IoTEventsInputAttribute]
+  } deriving (Show, Eq)
+
+instance ToJSON IoTEventsInputInputDefinition where
+  toJSON IoTEventsInputInputDefinition{..} =
+    object $
+    catMaybes
+    [ fmap (("Attributes",) . toJSON) _ioTEventsInputInputDefinitionAttributes
+    ]
+
+-- | Constructor for 'IoTEventsInputInputDefinition' containing required
+-- fields as arguments.
+ioTEventsInputInputDefinition
+  :: IoTEventsInputInputDefinition
+ioTEventsInputInputDefinition  =
+  IoTEventsInputInputDefinition
+  { _ioTEventsInputInputDefinitionAttributes = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html#cfn-iotevents-input-inputdefinition-attributes
+iteiidAttributes :: Lens' IoTEventsInputInputDefinition (Maybe [IoTEventsInputAttribute])
+iteiidAttributes = lens _ioTEventsInputInputDefinitionAttributes (\s a -> s { _ioTEventsInputInputDefinitionAttributes = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterDBClusterRole.hs
+++ /dev/null
@@ -1,53 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html
-
-module Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for RDSDBClusterDBClusterRole. See
--- 'rdsdbClusterDBClusterRole' for a more convenient constructor.
-data RDSDBClusterDBClusterRole =
-  RDSDBClusterDBClusterRole
-  { _rDSDBClusterDBClusterRoleFeatureName :: Maybe (Val Text)
-  , _rDSDBClusterDBClusterRoleRoleArn :: Val Text
-  , _rDSDBClusterDBClusterRoleStatus :: Maybe (Val Text)
-  } deriving (Show, Eq)
-
-instance ToJSON RDSDBClusterDBClusterRole where
-  toJSON RDSDBClusterDBClusterRole{..} =
-    object $
-    catMaybes
-    [ fmap (("FeatureName",) . toJSON) _rDSDBClusterDBClusterRoleFeatureName
-    , (Just . ("RoleArn",) . toJSON) _rDSDBClusterDBClusterRoleRoleArn
-    , fmap (("Status",) . toJSON) _rDSDBClusterDBClusterRoleStatus
-    ]
-
--- | Constructor for 'RDSDBClusterDBClusterRole' containing required fields as
--- arguments.
-rdsdbClusterDBClusterRole
-  :: Val Text -- ^ 'rdsdbcdbcrRoleArn'
-  -> RDSDBClusterDBClusterRole
-rdsdbClusterDBClusterRole roleArnarg =
-  RDSDBClusterDBClusterRole
-  { _rDSDBClusterDBClusterRoleFeatureName = Nothing
-  , _rDSDBClusterDBClusterRoleRoleArn = roleArnarg
-  , _rDSDBClusterDBClusterRoleStatus = Nothing
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-featurename
-rdsdbcdbcrFeatureName :: Lens' RDSDBClusterDBClusterRole (Maybe (Val Text))
-rdsdbcdbcrFeatureName = lens _rDSDBClusterDBClusterRoleFeatureName (\s a -> s { _rDSDBClusterDBClusterRoleFeatureName = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-rolearn
-rdsdbcdbcrRoleArn :: Lens' RDSDBClusterDBClusterRole (Val Text)
-rdsdbcdbcrRoleArn = lens _rDSDBClusterDBClusterRoleRoleArn (\s a -> s { _rDSDBClusterDBClusterRoleRoleArn = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-status
-rdsdbcdbcrStatus :: Lens' RDSDBClusterDBClusterRole (Maybe (Val Text))
-rdsdbcdbcrStatus = lens _rDSDBClusterDBClusterRoleStatus (\s a -> s { _rDSDBClusterDBClusterRoleStatus = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html
-
-module Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for RDSDBInstanceDBInstanceRole. See
--- 'rdsdbInstanceDBInstanceRole' for a more convenient constructor.
-data RDSDBInstanceDBInstanceRole =
-  RDSDBInstanceDBInstanceRole
-  { _rDSDBInstanceDBInstanceRoleFeatureName :: Val Text
-  , _rDSDBInstanceDBInstanceRoleRoleArn :: Val Text
-  , _rDSDBInstanceDBInstanceRoleStatus :: Maybe (Val Text)
-  } deriving (Show, Eq)
-
-instance ToJSON RDSDBInstanceDBInstanceRole where
-  toJSON RDSDBInstanceDBInstanceRole{..} =
-    object $
-    catMaybes
-    [ (Just . ("FeatureName",) . toJSON) _rDSDBInstanceDBInstanceRoleFeatureName
-    , (Just . ("RoleArn",) . toJSON) _rDSDBInstanceDBInstanceRoleRoleArn
-    , fmap (("Status",) . toJSON) _rDSDBInstanceDBInstanceRoleStatus
-    ]
-
--- | Constructor for 'RDSDBInstanceDBInstanceRole' containing required fields
--- as arguments.
-rdsdbInstanceDBInstanceRole
-  :: Val Text -- ^ 'rdsdbidbirFeatureName'
-  -> Val Text -- ^ 'rdsdbidbirRoleArn'
-  -> RDSDBInstanceDBInstanceRole
-rdsdbInstanceDBInstanceRole featureNamearg roleArnarg =
-  RDSDBInstanceDBInstanceRole
-  { _rDSDBInstanceDBInstanceRoleFeatureName = featureNamearg
-  , _rDSDBInstanceDBInstanceRoleRoleArn = roleArnarg
-  , _rDSDBInstanceDBInstanceRoleStatus = Nothing
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-featurename
-rdsdbidbirFeatureName :: Lens' RDSDBInstanceDBInstanceRole (Val Text)
-rdsdbidbirFeatureName = lens _rDSDBInstanceDBInstanceRoleFeatureName (\s a -> s { _rDSDBInstanceDBInstanceRoleFeatureName = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-rolearn
-rdsdbidbirRoleArn :: Lens' RDSDBInstanceDBInstanceRole (Val Text)
-rdsdbidbirRoleArn = lens _rDSDBInstanceDBInstanceRoleRoleArn (\s a -> s { _rDSDBInstanceDBInstanceRoleRoleArn = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-status
-rdsdbidbirStatus :: Lens' RDSDBInstanceDBInstanceRole (Maybe (Val Text))
-rdsdbidbirStatus = lens _rDSDBInstanceDBInstanceRoleStatus (\s a -> s { _rDSDBInstanceDBInstanceRoleStatus = a })
diff --git a/library-gen/Stratosphere/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -126,6 +126,7 @@
 import Stratosphere.Resources.CloudFrontStreamingDistribution as X
 import Stratosphere.Resources.CloudTrailTrail as X
 import Stratosphere.Resources.CloudWatchAlarm as X
+import Stratosphere.Resources.CloudWatchAnomalyDetector as X
 import Stratosphere.Resources.CloudWatchDashboard as X
 import Stratosphere.Resources.CodeBuildProject as X
 import Stratosphere.Resources.CodeCommitRepository as X
@@ -135,6 +136,7 @@
 import Stratosphere.Resources.CodePipelineCustomActionType as X
 import Stratosphere.Resources.CodePipelinePipeline as X
 import Stratosphere.Resources.CodePipelineWebhook as X
+import Stratosphere.Resources.CodeStarGitHubRepository as X
 import Stratosphere.Resources.CognitoIdentityPool as X
 import Stratosphere.Resources.CognitoIdentityPoolRoleAttachment as X
 import Stratosphere.Resources.CognitoUserPool as X
@@ -312,6 +314,8 @@
 import Stratosphere.Resources.IoTAnalyticsDataset as X
 import Stratosphere.Resources.IoTAnalyticsDatastore as X
 import Stratosphere.Resources.IoTAnalyticsPipeline as X
+import Stratosphere.Resources.IoTEventsDetectorModel as X
+import Stratosphere.Resources.IoTEventsInput as X
 import Stratosphere.Resources.IoTThingsGraphFlowTemplate as X
 import Stratosphere.Resources.KMSAlias as X
 import Stratosphere.Resources.KMSKey as X
@@ -477,12 +481,14 @@
 import Stratosphere.Resources.WorkSpacesWorkspace as X
 import Stratosphere.Resources.ASKSkill as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId as X
+import Stratosphere.ResourceProperties.AmazonMQBrokerEncryptionOptions as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerLogList as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry as X
 import Stratosphere.ResourceProperties.AmazonMQBrokerUser as X
 import Stratosphere.ResourceProperties.AmazonMQConfigurationTagsEntry as X
 import Stratosphere.ResourceProperties.AmazonMQConfigurationAssociationConfigurationId as X
+import Stratosphere.ResourceProperties.AmplifyAppAutoBranchCreationConfig as X
 import Stratosphere.ResourceProperties.AmplifyAppBasicAuthConfig as X
 import Stratosphere.ResourceProperties.AmplifyAppCustomRule as X
 import Stratosphere.ResourceProperties.AmplifyAppEnvironmentVariable as X
@@ -607,7 +613,9 @@
 import Stratosphere.ResourceProperties.BatchComputeEnvironmentComputeResources as X
 import Stratosphere.ResourceProperties.BatchComputeEnvironmentLaunchTemplateSpecification as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionContainerProperties as X
+import Stratosphere.ResourceProperties.BatchJobDefinitionDevice as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionEnvironment as X
+import Stratosphere.ResourceProperties.BatchJobDefinitionLinuxParameters as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty as X
@@ -653,6 +661,9 @@
 import Stratosphere.ResourceProperties.CloudWatchAlarmMetric as X
 import Stratosphere.ResourceProperties.CloudWatchAlarmMetricDataQuery as X
 import Stratosphere.ResourceProperties.CloudWatchAlarmMetricStat as X
+import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorConfiguration as X
+import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension as X
+import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorRange as X
 import Stratosphere.ResourceProperties.CodeBuildProjectArtifacts as X
 import Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironment as X
@@ -705,6 +716,8 @@
 import Stratosphere.ResourceProperties.CodePipelinePipelineStageTransition as X
 import Stratosphere.ResourceProperties.CodePipelineWebhookWebhookAuthConfiguration as X
 import Stratosphere.ResourceProperties.CodePipelineWebhookWebhookFilterRule as X
+import Stratosphere.ResourceProperties.CodeStarGitHubRepositoryCode as X
+import Stratosphere.ResourceProperties.CodeStarGitHubRepositoryS3 as X
 import Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoIdentityProvider as X
 import Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoStreams as X
 import Stratosphere.ResourceProperties.CognitoIdentityPoolPushSync as X
@@ -722,6 +735,9 @@
 import Stratosphere.ResourceProperties.CognitoUserPoolSchemaAttribute as X
 import Stratosphere.ResourceProperties.CognitoUserPoolSmsConfiguration as X
 import Stratosphere.ResourceProperties.CognitoUserPoolStringAttributeConstraints as X
+import Stratosphere.ResourceProperties.CognitoUserPoolUserPoolAddOns as X
+import Stratosphere.ResourceProperties.CognitoUserPoolVerificationMessageTemplate as X
+import Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration as X
 import Stratosphere.ResourceProperties.CognitoUserPoolUserAttributeType as X
 import Stratosphere.ResourceProperties.ConfigConfigRuleScope as X
 import Stratosphere.ResourceProperties.ConfigConfigRuleSource as X
@@ -778,7 +794,6 @@
 import Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest as X
 import Stratosphere.ResourceProperties.EC2InstanceAssociationParameter as X
 import Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping as X
-import Stratosphere.ResourceProperties.EC2InstanceCpuOptions as X
 import Stratosphere.ResourceProperties.EC2InstanceCreditSpecification as X
 import Stratosphere.ResourceProperties.EC2InstanceEbs as X
 import Stratosphere.ResourceProperties.EC2InstanceElasticGpuSpecification as X
@@ -863,7 +878,6 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionResourceRequirement as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionSecret as X
-import Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit as X
@@ -969,11 +983,9 @@
 import Stratosphere.ResourceProperties.ElasticsearchDomainSnapshotOptions as X
 import Stratosphere.ResourceProperties.ElasticsearchDomainVPCOptions as X
 import Stratosphere.ResourceProperties.EventsEventBusPolicyCondition as X
-import Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration as X
 import Stratosphere.ResourceProperties.EventsRuleEcsParameters as X
 import Stratosphere.ResourceProperties.EventsRuleInputTransformer as X
 import Stratosphere.ResourceProperties.EventsRuleKinesisParameters as X
-import Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration as X
 import Stratosphere.ResourceProperties.EventsRuleRunCommandParameters as X
 import Stratosphere.ResourceProperties.EventsRuleRunCommandTarget as X
 import Stratosphere.ResourceProperties.EventsRuleSqsParameters as X
@@ -1132,6 +1144,26 @@
 import Stratosphere.ResourceProperties.IoTAnalyticsPipelineMath as X
 import Stratosphere.ResourceProperties.IoTAnalyticsPipelineRemoveAttributes as X
 import Stratosphere.ResourceProperties.IoTAnalyticsPipelineSelectAttributes as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelAction as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelDetectorModelDefinition as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents 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.IoTEventsDetectorModelResetTimer as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSetTimer as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSetVariable as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSns as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelSqs as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelState as X
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelTransitionEvent as X
+import Stratosphere.ResourceProperties.IoTEventsInputAttribute as X
+import Stratosphere.ResourceProperties.IoTEventsInputInputDefinition as X
 import Stratosphere.ResourceProperties.IoTThingsGraphFlowTemplateDefinitionDocument as X
 import Stratosphere.ResourceProperties.KinesisStreamStreamEncryption as X
 import Stratosphere.ResourceProperties.KinesisAnalyticsApplicationCSVMappingParameters as X
@@ -1334,9 +1366,7 @@
 import Stratosphere.ResourceProperties.PinpointEmailDedicatedIpPoolTags as X
 import Stratosphere.ResourceProperties.PinpointEmailIdentityMailFromAttributes as X
 import Stratosphere.ResourceProperties.PinpointEmailIdentityTags as X
-import Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole as X
 import Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration as X
-import Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole as X
 import Stratosphere.ResourceProperties.RDSDBInstanceProcessorFeature as X
 import Stratosphere.ResourceProperties.RDSDBSecurityGroupIngressProperty as X
 import Stratosphere.ResourceProperties.RDSOptionGroupOptionConfiguration as X
diff --git a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId
+import Stratosphere.ResourceProperties.AmazonMQBrokerEncryptionOptions
 import Stratosphere.ResourceProperties.AmazonMQBrokerLogList
 import Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow
 import Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry
@@ -22,6 +23,7 @@
   , _amazonMQBrokerBrokerName :: Val Text
   , _amazonMQBrokerConfiguration :: Maybe AmazonMQBrokerConfigurationId
   , _amazonMQBrokerDeploymentMode :: Val Text
+  , _amazonMQBrokerEncryptionOptions :: Maybe AmazonMQBrokerEncryptionOptions
   , _amazonMQBrokerEngineType :: Val Text
   , _amazonMQBrokerEngineVersion :: Val Text
   , _amazonMQBrokerHostInstanceType :: Val Text
@@ -44,6 +46,7 @@
         , (Just . ("BrokerName",) . toJSON) _amazonMQBrokerBrokerName
         , fmap (("Configuration",) . toJSON) _amazonMQBrokerConfiguration
         , (Just . ("DeploymentMode",) . toJSON) _amazonMQBrokerDeploymentMode
+        , fmap (("EncryptionOptions",) . toJSON) _amazonMQBrokerEncryptionOptions
         , (Just . ("EngineType",) . toJSON) _amazonMQBrokerEngineType
         , (Just . ("EngineVersion",) . toJSON) _amazonMQBrokerEngineVersion
         , (Just . ("HostInstanceType",) . toJSON) _amazonMQBrokerHostInstanceType
@@ -74,6 +77,7 @@
   , _amazonMQBrokerBrokerName = brokerNamearg
   , _amazonMQBrokerConfiguration = Nothing
   , _amazonMQBrokerDeploymentMode = deploymentModearg
+  , _amazonMQBrokerEncryptionOptions = Nothing
   , _amazonMQBrokerEngineType = engineTypearg
   , _amazonMQBrokerEngineVersion = engineVersionarg
   , _amazonMQBrokerHostInstanceType = hostInstanceTypearg
@@ -101,6 +105,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-deploymentmode
 amqbDeploymentMode :: Lens' AmazonMQBroker (Val Text)
 amqbDeploymentMode = lens _amazonMQBrokerDeploymentMode (\s a -> s { _amazonMQBrokerDeploymentMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-encryptionoptions
+amqbEncryptionOptions :: Lens' AmazonMQBroker (Maybe AmazonMQBrokerEncryptionOptions)
+amqbEncryptionOptions = lens _amazonMQBrokerEncryptionOptions (\s a -> s { _amazonMQBrokerEncryptionOptions = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-enginetype
 amqbEngineType :: Lens' AmazonMQBroker (Val Text)
diff --git a/library-gen/Stratosphere/Resources/AmplifyApp.hs b/library-gen/Stratosphere/Resources/AmplifyApp.hs
--- a/library-gen/Stratosphere/Resources/AmplifyApp.hs
+++ b/library-gen/Stratosphere/Resources/AmplifyApp.hs
@@ -8,6 +8,7 @@
 module Stratosphere.Resources.AmplifyApp where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AmplifyAppAutoBranchCreationConfig
 import Stratosphere.ResourceProperties.AmplifyAppBasicAuthConfig
 import Stratosphere.ResourceProperties.AmplifyAppCustomRule
 import Stratosphere.ResourceProperties.AmplifyAppEnvironmentVariable
@@ -18,6 +19,7 @@
 data AmplifyApp =
   AmplifyApp
   { _amplifyAppAccessToken :: Maybe (Val Text)
+  , _amplifyAppAutoBranchCreationConfig :: Maybe AmplifyAppAutoBranchCreationConfig
   , _amplifyAppBasicAuthConfig :: Maybe AmplifyAppBasicAuthConfig
   , _amplifyAppBuildSpec :: Maybe (Val Text)
   , _amplifyAppCustomRules :: Maybe [AmplifyAppCustomRule]
@@ -37,6 +39,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AccessToken",) . toJSON) _amplifyAppAccessToken
+        , fmap (("AutoBranchCreationConfig",) . toJSON) _amplifyAppAutoBranchCreationConfig
         , fmap (("BasicAuthConfig",) . toJSON) _amplifyAppBasicAuthConfig
         , fmap (("BuildSpec",) . toJSON) _amplifyAppBuildSpec
         , fmap (("CustomRules",) . toJSON) _amplifyAppCustomRules
@@ -57,6 +60,7 @@
 amplifyApp namearg =
   AmplifyApp
   { _amplifyAppAccessToken = Nothing
+  , _amplifyAppAutoBranchCreationConfig = Nothing
   , _amplifyAppBasicAuthConfig = Nothing
   , _amplifyAppBuildSpec = Nothing
   , _amplifyAppCustomRules = Nothing
@@ -72,6 +76,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-accesstoken
 aaAccessToken :: Lens' AmplifyApp (Maybe (Val Text))
 aaAccessToken = lens _amplifyAppAccessToken (\s a -> s { _amplifyAppAccessToken = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-autobranchcreationconfig
+aaAutoBranchCreationConfig :: Lens' AmplifyApp (Maybe AmplifyAppAutoBranchCreationConfig)
+aaAutoBranchCreationConfig = lens _amplifyAppAutoBranchCreationConfig (\s a -> s { _amplifyAppAutoBranchCreationConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-basicauthconfig
 aaBasicAuthConfig :: Lens' AmplifyApp (Maybe AmplifyAppBasicAuthConfig)
diff --git a/library-gen/Stratosphere/Resources/AmplifyBranch.hs b/library-gen/Stratosphere/Resources/AmplifyBranch.hs
--- a/library-gen/Stratosphere/Resources/AmplifyBranch.hs
+++ b/library-gen/Stratosphere/Resources/AmplifyBranch.hs
@@ -21,6 +21,7 @@
   , _amplifyBranchBranchName :: Val Text
   , _amplifyBranchBuildSpec :: Maybe (Val Text)
   , _amplifyBranchDescription :: Maybe (Val Text)
+  , _amplifyBranchEnableAutoBuild :: Maybe (Val Bool)
   , _amplifyBranchEnvironmentVariables :: Maybe [AmplifyBranchEnvironmentVariable]
   , _amplifyBranchStage :: Maybe (Val Text)
   , _amplifyBranchTags :: Maybe [Tag]
@@ -37,6 +38,7 @@
         , (Just . ("BranchName",) . toJSON) _amplifyBranchBranchName
         , fmap (("BuildSpec",) . toJSON) _amplifyBranchBuildSpec
         , fmap (("Description",) . toJSON) _amplifyBranchDescription
+        , fmap (("EnableAutoBuild",) . toJSON) _amplifyBranchEnableAutoBuild
         , fmap (("EnvironmentVariables",) . toJSON) _amplifyBranchEnvironmentVariables
         , fmap (("Stage",) . toJSON) _amplifyBranchStage
         , fmap (("Tags",) . toJSON) _amplifyBranchTags
@@ -55,6 +57,7 @@
   , _amplifyBranchBranchName = branchNamearg
   , _amplifyBranchBuildSpec = Nothing
   , _amplifyBranchDescription = Nothing
+  , _amplifyBranchEnableAutoBuild = Nothing
   , _amplifyBranchEnvironmentVariables = Nothing
   , _amplifyBranchStage = Nothing
   , _amplifyBranchTags = Nothing
@@ -79,6 +82,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-description
 abDescription :: Lens' AmplifyBranch (Maybe (Val Text))
 abDescription = lens _amplifyBranchDescription (\s a -> s { _amplifyBranchDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enableautobuild
+abEnableAutoBuild :: Lens' AmplifyBranch (Maybe (Val Bool))
+abEnableAutoBuild = lens _amplifyBranchEnableAutoBuild (\s a -> s { _amplifyBranchEnableAutoBuild = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-environmentvariables
 abEnvironmentVariables :: Lens' AmplifyBranch (Maybe [AmplifyBranchEnvironmentVariable])
diff --git a/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs b/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs
--- a/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs
@@ -8,18 +8,22 @@
 module Stratosphere.Resources.AppSyncGraphQLApi where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.AppSyncGraphQLApiAdditionalAuthenticationProvider
 import Stratosphere.ResourceProperties.AppSyncGraphQLApiLogConfig
 import Stratosphere.ResourceProperties.AppSyncGraphQLApiOpenIDConnectConfig
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.AppSyncGraphQLApiUserPoolConfig
 
 -- | Full data type definition for AppSyncGraphQLApi. See 'appSyncGraphQLApi'
 -- for a more convenient constructor.
 data AppSyncGraphQLApi =
   AppSyncGraphQLApi
-  { _appSyncGraphQLApiAuthenticationType :: Val Text
+  { _appSyncGraphQLApiAdditionalAuthenticationProviders :: Maybe [AppSyncGraphQLApiAdditionalAuthenticationProvider]
+  , _appSyncGraphQLApiAuthenticationType :: Val Text
   , _appSyncGraphQLApiLogConfig :: Maybe AppSyncGraphQLApiLogConfig
   , _appSyncGraphQLApiName :: Val Text
   , _appSyncGraphQLApiOpenIDConnectConfig :: Maybe AppSyncGraphQLApiOpenIDConnectConfig
+  , _appSyncGraphQLApiTags :: Maybe [Tag]
   , _appSyncGraphQLApiUserPoolConfig :: Maybe AppSyncGraphQLApiUserPoolConfig
   } deriving (Show, Eq)
 
@@ -29,10 +33,12 @@
     { resourcePropertiesType = "AWS::AppSync::GraphQLApi"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("AuthenticationType",) . toJSON) _appSyncGraphQLApiAuthenticationType
+        [ fmap (("AdditionalAuthenticationProviders",) . toJSON) _appSyncGraphQLApiAdditionalAuthenticationProviders
+        , (Just . ("AuthenticationType",) . toJSON) _appSyncGraphQLApiAuthenticationType
         , fmap (("LogConfig",) . toJSON) _appSyncGraphQLApiLogConfig
         , (Just . ("Name",) . toJSON) _appSyncGraphQLApiName
         , fmap (("OpenIDConnectConfig",) . toJSON) _appSyncGraphQLApiOpenIDConnectConfig
+        , fmap (("Tags",) . toJSON) _appSyncGraphQLApiTags
         , fmap (("UserPoolConfig",) . toJSON) _appSyncGraphQLApiUserPoolConfig
         ]
     }
@@ -45,13 +51,19 @@
   -> AppSyncGraphQLApi
 appSyncGraphQLApi authenticationTypearg namearg =
   AppSyncGraphQLApi
-  { _appSyncGraphQLApiAuthenticationType = authenticationTypearg
+  { _appSyncGraphQLApiAdditionalAuthenticationProviders = Nothing
+  , _appSyncGraphQLApiAuthenticationType = authenticationTypearg
   , _appSyncGraphQLApiLogConfig = Nothing
   , _appSyncGraphQLApiName = namearg
   , _appSyncGraphQLApiOpenIDConnectConfig = Nothing
+  , _appSyncGraphQLApiTags = Nothing
   , _appSyncGraphQLApiUserPoolConfig = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-additionalauthenticationproviders
+asgqlaAdditionalAuthenticationProviders :: Lens' AppSyncGraphQLApi (Maybe [AppSyncGraphQLApiAdditionalAuthenticationProvider])
+asgqlaAdditionalAuthenticationProviders = lens _appSyncGraphQLApiAdditionalAuthenticationProviders (\s a -> s { _appSyncGraphQLApiAdditionalAuthenticationProviders = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype
 asgqlaAuthenticationType :: Lens' AppSyncGraphQLApi (Val Text)
 asgqlaAuthenticationType = lens _appSyncGraphQLApiAuthenticationType (\s a -> s { _appSyncGraphQLApiAuthenticationType = a })
@@ -67,6 +79,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig
 asgqlaOpenIDConnectConfig :: Lens' AppSyncGraphQLApi (Maybe AppSyncGraphQLApiOpenIDConnectConfig)
 asgqlaOpenIDConnectConfig = lens _appSyncGraphQLApiOpenIDConnectConfig (\s a -> s { _appSyncGraphQLApiOpenIDConnectConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags
+asgqlaTags :: Lens' AppSyncGraphQLApi (Maybe [Tag])
+asgqlaTags = lens _appSyncGraphQLApiTags (\s a -> s { _appSyncGraphQLApiTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig
 asgqlaUserPoolConfig :: Lens' AppSyncGraphQLApi (Maybe AppSyncGraphQLApiUserPoolConfig)
diff --git a/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs b/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs
@@ -0,0 +1,73 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html
+
+module Stratosphere.Resources.CloudWatchAnomalyDetector where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorConfiguration
+import Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension
+
+-- | Full data type definition for CloudWatchAnomalyDetector. See
+-- 'cloudWatchAnomalyDetector' for a more convenient constructor.
+data CloudWatchAnomalyDetector =
+  CloudWatchAnomalyDetector
+  { _cloudWatchAnomalyDetectorConfiguration :: Maybe CloudWatchAnomalyDetectorConfiguration
+  , _cloudWatchAnomalyDetectorDimensions :: Maybe [CloudWatchAnomalyDetectorDimension]
+  , _cloudWatchAnomalyDetectorMetricName :: Val Text
+  , _cloudWatchAnomalyDetectorNamespace :: Val Text
+  , _cloudWatchAnomalyDetectorStat :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CloudWatchAnomalyDetector where
+  toResourceProperties CloudWatchAnomalyDetector{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CloudWatch::AnomalyDetector"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Configuration",) . toJSON) _cloudWatchAnomalyDetectorConfiguration
+        , fmap (("Dimensions",) . toJSON) _cloudWatchAnomalyDetectorDimensions
+        , (Just . ("MetricName",) . toJSON) _cloudWatchAnomalyDetectorMetricName
+        , (Just . ("Namespace",) . toJSON) _cloudWatchAnomalyDetectorNamespace
+        , (Just . ("Stat",) . toJSON) _cloudWatchAnomalyDetectorStat
+        ]
+    }
+
+-- | Constructor for 'CloudWatchAnomalyDetector' containing required fields as
+-- arguments.
+cloudWatchAnomalyDetector
+  :: Val Text -- ^ 'cwadMetricName'
+  -> Val Text -- ^ 'cwadNamespace'
+  -> Val Text -- ^ 'cwadStat'
+  -> CloudWatchAnomalyDetector
+cloudWatchAnomalyDetector metricNamearg namespacearg statarg =
+  CloudWatchAnomalyDetector
+  { _cloudWatchAnomalyDetectorConfiguration = Nothing
+  , _cloudWatchAnomalyDetectorDimensions = Nothing
+  , _cloudWatchAnomalyDetectorMetricName = metricNamearg
+  , _cloudWatchAnomalyDetectorNamespace = namespacearg
+  , _cloudWatchAnomalyDetectorStat = statarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-configuration
+cwadConfiguration :: Lens' CloudWatchAnomalyDetector (Maybe CloudWatchAnomalyDetectorConfiguration)
+cwadConfiguration = lens _cloudWatchAnomalyDetectorConfiguration (\s a -> s { _cloudWatchAnomalyDetectorConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-dimensions
+cwadDimensions :: Lens' CloudWatchAnomalyDetector (Maybe [CloudWatchAnomalyDetectorDimension])
+cwadDimensions = lens _cloudWatchAnomalyDetectorDimensions (\s a -> s { _cloudWatchAnomalyDetectorDimensions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-metricname
+cwadMetricName :: Lens' CloudWatchAnomalyDetector (Val Text)
+cwadMetricName = lens _cloudWatchAnomalyDetectorMetricName (\s a -> s { _cloudWatchAnomalyDetectorMetricName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-namespace
+cwadNamespace :: Lens' CloudWatchAnomalyDetector (Val Text)
+cwadNamespace = lens _cloudWatchAnomalyDetectorNamespace (\s a -> s { _cloudWatchAnomalyDetectorNamespace = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-stat
+cwadStat :: Lens' CloudWatchAnomalyDetector (Val Text)
+cwadStat = lens _cloudWatchAnomalyDetectorStat (\s a -> s { _cloudWatchAnomalyDetectorStat = a })
diff --git a/library-gen/Stratosphere/Resources/CodeCommitRepository.hs b/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
--- a/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
+++ b/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.CodeCommitRepositoryCode
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.CodeCommitRepositoryRepositoryTrigger
 
 -- | Full data type definition for CodeCommitRepository. See
@@ -18,6 +19,7 @@
   { _codeCommitRepositoryCode :: Maybe CodeCommitRepositoryCode
   , _codeCommitRepositoryRepositoryDescription :: Maybe (Val Text)
   , _codeCommitRepositoryRepositoryName :: Val Text
+  , _codeCommitRepositoryTags :: Maybe [Tag]
   , _codeCommitRepositoryTriggers :: Maybe [CodeCommitRepositoryRepositoryTrigger]
   } deriving (Show, Eq)
 
@@ -30,6 +32,7 @@
         [ fmap (("Code",) . toJSON) _codeCommitRepositoryCode
         , fmap (("RepositoryDescription",) . toJSON) _codeCommitRepositoryRepositoryDescription
         , (Just . ("RepositoryName",) . toJSON) _codeCommitRepositoryRepositoryName
+        , fmap (("Tags",) . toJSON) _codeCommitRepositoryTags
         , fmap (("Triggers",) . toJSON) _codeCommitRepositoryTriggers
         ]
     }
@@ -44,6 +47,7 @@
   { _codeCommitRepositoryCode = Nothing
   , _codeCommitRepositoryRepositoryDescription = Nothing
   , _codeCommitRepositoryRepositoryName = repositoryNamearg
+  , _codeCommitRepositoryTags = Nothing
   , _codeCommitRepositoryTriggers = Nothing
   }
 
@@ -58,6 +62,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositoryname
 ccrRepositoryName :: Lens' CodeCommitRepository (Val Text)
 ccrRepositoryName = lens _codeCommitRepositoryRepositoryName (\s a -> s { _codeCommitRepositoryRepositoryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-tags
+ccrTags :: Lens' CodeCommitRepository (Maybe [Tag])
+ccrTags = lens _codeCommitRepositoryTags (\s a -> s { _codeCommitRepositoryTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-triggers
 ccrTriggers :: Lens' CodeCommitRepository (Maybe [CodeCommitRepositoryRepositoryTrigger])
diff --git a/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs b/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html
+
+module Stratosphere.Resources.CodeStarGitHubRepository where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CodeStarGitHubRepositoryCode
+
+-- | Full data type definition for CodeStarGitHubRepository. See
+-- 'codeStarGitHubRepository' for a more convenient constructor.
+data CodeStarGitHubRepository =
+  CodeStarGitHubRepository
+  { _codeStarGitHubRepositoryCode :: Maybe CodeStarGitHubRepositoryCode
+  , _codeStarGitHubRepositoryEnableIssues :: Maybe (Val Bool)
+  , _codeStarGitHubRepositoryIsPrivate :: Maybe (Val Bool)
+  , _codeStarGitHubRepositoryRepositoryAccessToken :: Val Text
+  , _codeStarGitHubRepositoryRepositoryDescription :: Maybe (Val Text)
+  , _codeStarGitHubRepositoryRepositoryName :: Val Text
+  , _codeStarGitHubRepositoryRepositoryOwner :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CodeStarGitHubRepository where
+  toResourceProperties CodeStarGitHubRepository{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CodeStar::GitHubRepository"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Code",) . toJSON) _codeStarGitHubRepositoryCode
+        , fmap (("EnableIssues",) . toJSON) _codeStarGitHubRepositoryEnableIssues
+        , fmap (("IsPrivate",) . toJSON) _codeStarGitHubRepositoryIsPrivate
+        , (Just . ("RepositoryAccessToken",) . toJSON) _codeStarGitHubRepositoryRepositoryAccessToken
+        , fmap (("RepositoryDescription",) . toJSON) _codeStarGitHubRepositoryRepositoryDescription
+        , (Just . ("RepositoryName",) . toJSON) _codeStarGitHubRepositoryRepositoryName
+        , (Just . ("RepositoryOwner",) . toJSON) _codeStarGitHubRepositoryRepositoryOwner
+        ]
+    }
+
+-- | Constructor for 'CodeStarGitHubRepository' containing required fields as
+-- arguments.
+codeStarGitHubRepository
+  :: Val Text -- ^ 'csghrRepositoryAccessToken'
+  -> Val Text -- ^ 'csghrRepositoryName'
+  -> Val Text -- ^ 'csghrRepositoryOwner'
+  -> CodeStarGitHubRepository
+codeStarGitHubRepository repositoryAccessTokenarg repositoryNamearg repositoryOwnerarg =
+  CodeStarGitHubRepository
+  { _codeStarGitHubRepositoryCode = Nothing
+  , _codeStarGitHubRepositoryEnableIssues = Nothing
+  , _codeStarGitHubRepositoryIsPrivate = Nothing
+  , _codeStarGitHubRepositoryRepositoryAccessToken = repositoryAccessTokenarg
+  , _codeStarGitHubRepositoryRepositoryDescription = Nothing
+  , _codeStarGitHubRepositoryRepositoryName = repositoryNamearg
+  , _codeStarGitHubRepositoryRepositoryOwner = repositoryOwnerarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-code
+csghrCode :: Lens' CodeStarGitHubRepository (Maybe CodeStarGitHubRepositoryCode)
+csghrCode = lens _codeStarGitHubRepositoryCode (\s a -> s { _codeStarGitHubRepositoryCode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-enableissues
+csghrEnableIssues :: Lens' CodeStarGitHubRepository (Maybe (Val Bool))
+csghrEnableIssues = lens _codeStarGitHubRepositoryEnableIssues (\s a -> s { _codeStarGitHubRepositoryEnableIssues = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-isprivate
+csghrIsPrivate :: Lens' CodeStarGitHubRepository (Maybe (Val Bool))
+csghrIsPrivate = lens _codeStarGitHubRepositoryIsPrivate (\s a -> s { _codeStarGitHubRepositoryIsPrivate = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryaccesstoken
+csghrRepositoryAccessToken :: Lens' CodeStarGitHubRepository (Val Text)
+csghrRepositoryAccessToken = lens _codeStarGitHubRepositoryRepositoryAccessToken (\s a -> s { _codeStarGitHubRepositoryRepositoryAccessToken = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositorydescription
+csghrRepositoryDescription :: Lens' CodeStarGitHubRepository (Maybe (Val Text))
+csghrRepositoryDescription = lens _codeStarGitHubRepositoryRepositoryDescription (\s a -> s { _codeStarGitHubRepositoryRepositoryDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryname
+csghrRepositoryName :: Lens' CodeStarGitHubRepository (Val Text)
+csghrRepositoryName = lens _codeStarGitHubRepositoryRepositoryName (\s a -> s { _codeStarGitHubRepositoryRepositoryName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryowner
+csghrRepositoryOwner :: Lens' CodeStarGitHubRepository (Val Text)
+csghrRepositoryOwner = lens _codeStarGitHubRepositoryRepositoryOwner (\s a -> s { _codeStarGitHubRepositoryRepositoryOwner = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPool.hs b/library-gen/Stratosphere/Resources/CognitoUserPool.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPool.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPool.hs
@@ -15,6 +15,8 @@
 import Stratosphere.ResourceProperties.CognitoUserPoolPolicies
 import Stratosphere.ResourceProperties.CognitoUserPoolSchemaAttribute
 import Stratosphere.ResourceProperties.CognitoUserPoolSmsConfiguration
+import Stratosphere.ResourceProperties.CognitoUserPoolUserPoolAddOns
+import Stratosphere.ResourceProperties.CognitoUserPoolVerificationMessageTemplate
 
 -- | Full data type definition for CognitoUserPool. See 'cognitoUserPool' for
 -- a more convenient constructor.
@@ -34,9 +36,11 @@
   , _cognitoUserPoolSmsAuthenticationMessage :: Maybe (Val Text)
   , _cognitoUserPoolSmsConfiguration :: Maybe CognitoUserPoolSmsConfiguration
   , _cognitoUserPoolSmsVerificationMessage :: Maybe (Val Text)
+  , _cognitoUserPoolUserPoolAddOns :: Maybe CognitoUserPoolUserPoolAddOns
   , _cognitoUserPoolUserPoolName :: Maybe (Val Text)
   , _cognitoUserPoolUserPoolTags :: Maybe Object
   , _cognitoUserPoolUsernameAttributes :: Maybe (ValList Text)
+  , _cognitoUserPoolVerificationMessageTemplate :: Maybe CognitoUserPoolVerificationMessageTemplate
   } deriving (Show, Eq)
 
 instance ToResourceProperties CognitoUserPool where
@@ -59,9 +63,11 @@
         , fmap (("SmsAuthenticationMessage",) . toJSON) _cognitoUserPoolSmsAuthenticationMessage
         , fmap (("SmsConfiguration",) . toJSON) _cognitoUserPoolSmsConfiguration
         , fmap (("SmsVerificationMessage",) . toJSON) _cognitoUserPoolSmsVerificationMessage
+        , fmap (("UserPoolAddOns",) . toJSON) _cognitoUserPoolUserPoolAddOns
         , fmap (("UserPoolName",) . toJSON) _cognitoUserPoolUserPoolName
         , fmap (("UserPoolTags",) . toJSON) _cognitoUserPoolUserPoolTags
         , fmap (("UsernameAttributes",) . toJSON) _cognitoUserPoolUsernameAttributes
+        , fmap (("VerificationMessageTemplate",) . toJSON) _cognitoUserPoolVerificationMessageTemplate
         ]
     }
 
@@ -85,9 +91,11 @@
   , _cognitoUserPoolSmsAuthenticationMessage = Nothing
   , _cognitoUserPoolSmsConfiguration = Nothing
   , _cognitoUserPoolSmsVerificationMessage = Nothing
+  , _cognitoUserPoolUserPoolAddOns = Nothing
   , _cognitoUserPoolUserPoolName = Nothing
   , _cognitoUserPoolUserPoolTags = Nothing
   , _cognitoUserPoolUsernameAttributes = Nothing
+  , _cognitoUserPoolVerificationMessageTemplate = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig
@@ -146,6 +154,10 @@
 cupSmsVerificationMessage :: Lens' CognitoUserPool (Maybe (Val Text))
 cupSmsVerificationMessage = lens _cognitoUserPoolSmsVerificationMessage (\s a -> s { _cognitoUserPoolSmsVerificationMessage = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooladdons
+cupUserPoolAddOns :: Lens' CognitoUserPool (Maybe CognitoUserPoolUserPoolAddOns)
+cupUserPoolAddOns = lens _cognitoUserPoolUserPoolAddOns (\s a -> s { _cognitoUserPoolUserPoolAddOns = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpoolname
 cupUserPoolName :: Lens' CognitoUserPool (Maybe (Val Text))
 cupUserPoolName = lens _cognitoUserPoolUserPoolName (\s a -> s { _cognitoUserPoolUserPoolName = a })
@@ -157,3 +169,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes
 cupUsernameAttributes :: Lens' CognitoUserPool (Maybe (ValList Text))
 cupUsernameAttributes = lens _cognitoUserPoolUsernameAttributes (\s a -> s { _cognitoUserPoolUsernameAttributes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-verificationmessagetemplate
+cupVerificationMessageTemplate :: Lens' CognitoUserPool (Maybe CognitoUserPoolVerificationMessageTemplate)
+cupVerificationMessageTemplate = lens _cognitoUserPoolVerificationMessageTemplate (\s a -> s { _cognitoUserPoolVerificationMessageTemplate = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
@@ -8,17 +8,25 @@
 module Stratosphere.Resources.CognitoUserPoolClient where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration
 
 -- | Full data type definition for CognitoUserPoolClient. See
 -- 'cognitoUserPoolClient' for a more convenient constructor.
 data CognitoUserPoolClient =
   CognitoUserPoolClient
-  { _cognitoUserPoolClientClientName :: Maybe (Val Text)
+  { _cognitoUserPoolClientAllowedOAuthFlows :: Maybe (ValList Text)
+  , _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient :: Maybe (Val Bool)
+  , _cognitoUserPoolClientAllowedOAuthScopes :: Maybe (ValList Text)
+  , _cognitoUserPoolClientAnalyticsConfiguration :: Maybe CognitoUserPoolClientAnalyticsConfiguration
+  , _cognitoUserPoolClientCallbackURLs :: Maybe (ValList Text)
+  , _cognitoUserPoolClientClientName :: Maybe (Val Text)
+  , _cognitoUserPoolClientDefaultRedirectURI :: Maybe (Val Text)
   , _cognitoUserPoolClientExplicitAuthFlows :: Maybe (ValList Text)
   , _cognitoUserPoolClientGenerateSecret :: Maybe (Val Bool)
+  , _cognitoUserPoolClientLogoutURLs :: Maybe (ValList Text)
   , _cognitoUserPoolClientReadAttributes :: Maybe (ValList Text)
   , _cognitoUserPoolClientRefreshTokenValidity :: Maybe (Val Double)
+  , _cognitoUserPoolClientSupportedIdentityProviders :: Maybe (ValList Text)
   , _cognitoUserPoolClientUserPoolId :: Val Text
   , _cognitoUserPoolClientWriteAttributes :: Maybe (ValList Text)
   } deriving (Show, Eq)
@@ -29,11 +37,19 @@
     { resourcePropertiesType = "AWS::Cognito::UserPoolClient"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("ClientName",) . toJSON) _cognitoUserPoolClientClientName
+        [ fmap (("AllowedOAuthFlows",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlows
+        , fmap (("AllowedOAuthFlowsUserPoolClient",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient
+        , fmap (("AllowedOAuthScopes",) . toJSON) _cognitoUserPoolClientAllowedOAuthScopes
+        , fmap (("AnalyticsConfiguration",) . toJSON) _cognitoUserPoolClientAnalyticsConfiguration
+        , fmap (("CallbackURLs",) . toJSON) _cognitoUserPoolClientCallbackURLs
+        , fmap (("ClientName",) . toJSON) _cognitoUserPoolClientClientName
+        , fmap (("DefaultRedirectURI",) . toJSON) _cognitoUserPoolClientDefaultRedirectURI
         , fmap (("ExplicitAuthFlows",) . toJSON) _cognitoUserPoolClientExplicitAuthFlows
         , fmap (("GenerateSecret",) . toJSON) _cognitoUserPoolClientGenerateSecret
+        , fmap (("LogoutURLs",) . toJSON) _cognitoUserPoolClientLogoutURLs
         , fmap (("ReadAttributes",) . toJSON) _cognitoUserPoolClientReadAttributes
         , fmap (("RefreshTokenValidity",) . toJSON) _cognitoUserPoolClientRefreshTokenValidity
+        , fmap (("SupportedIdentityProviders",) . toJSON) _cognitoUserPoolClientSupportedIdentityProviders
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolClientUserPoolId
         , fmap (("WriteAttributes",) . toJSON) _cognitoUserPoolClientWriteAttributes
         ]
@@ -46,19 +62,51 @@
   -> CognitoUserPoolClient
 cognitoUserPoolClient userPoolIdarg =
   CognitoUserPoolClient
-  { _cognitoUserPoolClientClientName = Nothing
+  { _cognitoUserPoolClientAllowedOAuthFlows = Nothing
+  , _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient = Nothing
+  , _cognitoUserPoolClientAllowedOAuthScopes = Nothing
+  , _cognitoUserPoolClientAnalyticsConfiguration = Nothing
+  , _cognitoUserPoolClientCallbackURLs = Nothing
+  , _cognitoUserPoolClientClientName = Nothing
+  , _cognitoUserPoolClientDefaultRedirectURI = Nothing
   , _cognitoUserPoolClientExplicitAuthFlows = Nothing
   , _cognitoUserPoolClientGenerateSecret = Nothing
+  , _cognitoUserPoolClientLogoutURLs = Nothing
   , _cognitoUserPoolClientReadAttributes = Nothing
   , _cognitoUserPoolClientRefreshTokenValidity = Nothing
+  , _cognitoUserPoolClientSupportedIdentityProviders = Nothing
   , _cognitoUserPoolClientUserPoolId = userPoolIdarg
   , _cognitoUserPoolClientWriteAttributes = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflows
+cupcAllowedOAuthFlows :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
+cupcAllowedOAuthFlows = lens _cognitoUserPoolClientAllowedOAuthFlows (\s a -> s { _cognitoUserPoolClientAllowedOAuthFlows = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflowsuserpoolclient
+cupcAllowedOAuthFlowsUserPoolClient :: Lens' CognitoUserPoolClient (Maybe (Val Bool))
+cupcAllowedOAuthFlowsUserPoolClient = lens _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient (\s a -> s { _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthscopes
+cupcAllowedOAuthScopes :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
+cupcAllowedOAuthScopes = lens _cognitoUserPoolClientAllowedOAuthScopes (\s a -> s { _cognitoUserPoolClientAllowedOAuthScopes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-analyticsconfiguration
+cupcAnalyticsConfiguration :: Lens' CognitoUserPoolClient (Maybe CognitoUserPoolClientAnalyticsConfiguration)
+cupcAnalyticsConfiguration = lens _cognitoUserPoolClientAnalyticsConfiguration (\s a -> s { _cognitoUserPoolClientAnalyticsConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-callbackurls
+cupcCallbackURLs :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
+cupcCallbackURLs = lens _cognitoUserPoolClientCallbackURLs (\s a -> s { _cognitoUserPoolClientCallbackURLs = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-clientname
 cupcClientName :: Lens' CognitoUserPoolClient (Maybe (Val Text))
 cupcClientName = lens _cognitoUserPoolClientClientName (\s a -> s { _cognitoUserPoolClientClientName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-defaultredirecturi
+cupcDefaultRedirectURI :: Lens' CognitoUserPoolClient (Maybe (Val Text))
+cupcDefaultRedirectURI = lens _cognitoUserPoolClientDefaultRedirectURI (\s a -> s { _cognitoUserPoolClientDefaultRedirectURI = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows
 cupcExplicitAuthFlows :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
 cupcExplicitAuthFlows = lens _cognitoUserPoolClientExplicitAuthFlows (\s a -> s { _cognitoUserPoolClientExplicitAuthFlows = a })
@@ -67,6 +115,10 @@
 cupcGenerateSecret :: Lens' CognitoUserPoolClient (Maybe (Val Bool))
 cupcGenerateSecret = lens _cognitoUserPoolClientGenerateSecret (\s a -> s { _cognitoUserPoolClientGenerateSecret = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-logouturls
+cupcLogoutURLs :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
+cupcLogoutURLs = lens _cognitoUserPoolClientLogoutURLs (\s a -> s { _cognitoUserPoolClientLogoutURLs = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes
 cupcReadAttributes :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
 cupcReadAttributes = lens _cognitoUserPoolClientReadAttributes (\s a -> s { _cognitoUserPoolClientReadAttributes = a })
@@ -74,6 +126,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity
 cupcRefreshTokenValidity :: Lens' CognitoUserPoolClient (Maybe (Val Double))
 cupcRefreshTokenValidity = lens _cognitoUserPoolClientRefreshTokenValidity (\s a -> s { _cognitoUserPoolClientRefreshTokenValidity = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-supportedidentityproviders
+cupcSupportedIdentityProviders :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
+cupcSupportedIdentityProviders = lens _cognitoUserPoolClientSupportedIdentityProviders (\s a -> s { _cognitoUserPoolClientSupportedIdentityProviders = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-userpoolid
 cupcUserPoolId :: Lens' CognitoUserPoolClient (Val Text)
diff --git a/library-gen/Stratosphere/Resources/EC2Instance.hs b/library-gen/Stratosphere/Resources/EC2Instance.hs
--- a/library-gen/Stratosphere/Resources/EC2Instance.hs
+++ b/library-gen/Stratosphere/Resources/EC2Instance.hs
@@ -9,7 +9,6 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping
-import Stratosphere.ResourceProperties.EC2InstanceCpuOptions
 import Stratosphere.ResourceProperties.EC2InstanceCreditSpecification
 import Stratosphere.ResourceProperties.EC2InstanceElasticGpuSpecification
 import Stratosphere.ResourceProperties.EC2InstanceElasticInferenceAccelerator
@@ -29,7 +28,6 @@
   , _eC2InstanceAffinity :: Maybe (Val Text)
   , _eC2InstanceAvailabilityZone :: Maybe (Val Text)
   , _eC2InstanceBlockDeviceMappings :: Maybe [EC2InstanceBlockDeviceMapping]
-  , _eC2InstanceCpuOptions :: Maybe EC2InstanceCpuOptions
   , _eC2InstanceCreditSpecification :: Maybe EC2InstanceCreditSpecification
   , _eC2InstanceDisableApiTermination :: Maybe (Val Bool)
   , _eC2InstanceEbsOptimized :: Maybe (Val Bool)
@@ -72,7 +70,6 @@
         , fmap (("Affinity",) . toJSON) _eC2InstanceAffinity
         , fmap (("AvailabilityZone",) . toJSON) _eC2InstanceAvailabilityZone
         , fmap (("BlockDeviceMappings",) . toJSON) _eC2InstanceBlockDeviceMappings
-        , fmap (("CpuOptions",) . toJSON) _eC2InstanceCpuOptions
         , fmap (("CreditSpecification",) . toJSON) _eC2InstanceCreditSpecification
         , fmap (("DisableApiTermination",) . toJSON) _eC2InstanceDisableApiTermination
         , fmap (("EbsOptimized",) . toJSON) _eC2InstanceEbsOptimized
@@ -115,7 +112,6 @@
   , _eC2InstanceAffinity = Nothing
   , _eC2InstanceAvailabilityZone = Nothing
   , _eC2InstanceBlockDeviceMappings = Nothing
-  , _eC2InstanceCpuOptions = Nothing
   , _eC2InstanceCreditSpecification = Nothing
   , _eC2InstanceDisableApiTermination = Nothing
   , _eC2InstanceEbsOptimized = Nothing
@@ -163,10 +159,6 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings
 eciBlockDeviceMappings :: Lens' EC2Instance (Maybe [EC2InstanceBlockDeviceMapping])
 eciBlockDeviceMappings = lens _eC2InstanceBlockDeviceMappings (\s a -> s { _eC2InstanceBlockDeviceMappings = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-cpuoptions
-eciCpuOptions :: Lens' EC2Instance (Maybe EC2InstanceCpuOptions)
-eciCpuOptions = lens _eC2InstanceCpuOptions (\s a -> s { _eC2InstanceCpuOptions = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-creditspecification
 eciCreditSpecification :: Lens' EC2Instance (Maybe EC2InstanceCreditSpecification)
diff --git a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
--- a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
+++ b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
@@ -22,10 +22,8 @@
   , _eCSTaskDefinitionCpu :: Maybe (Val Text)
   , _eCSTaskDefinitionExecutionRoleArn :: Maybe (Val Text)
   , _eCSTaskDefinitionFamily :: Maybe (Val Text)
-  , _eCSTaskDefinitionIpcMode :: Maybe (Val Text)
   , _eCSTaskDefinitionMemory :: Maybe (Val Text)
   , _eCSTaskDefinitionNetworkMode :: Maybe (Val Text)
-  , _eCSTaskDefinitionPidMode :: Maybe (Val Text)
   , _eCSTaskDefinitionPlacementConstraints :: Maybe [ECSTaskDefinitionTaskDefinitionPlacementConstraint]
   , _eCSTaskDefinitionProxyConfiguration :: Maybe ECSTaskDefinitionProxyConfiguration
   , _eCSTaskDefinitionRequiresCompatibilities :: Maybe (ValList Text)
@@ -44,10 +42,8 @@
         , fmap (("Cpu",) . toJSON) _eCSTaskDefinitionCpu
         , fmap (("ExecutionRoleArn",) . toJSON) _eCSTaskDefinitionExecutionRoleArn
         , fmap (("Family",) . toJSON) _eCSTaskDefinitionFamily
-        , fmap (("IpcMode",) . toJSON) _eCSTaskDefinitionIpcMode
         , fmap (("Memory",) . toJSON) _eCSTaskDefinitionMemory
         , fmap (("NetworkMode",) . toJSON) _eCSTaskDefinitionNetworkMode
-        , fmap (("PidMode",) . toJSON) _eCSTaskDefinitionPidMode
         , fmap (("PlacementConstraints",) . toJSON) _eCSTaskDefinitionPlacementConstraints
         , fmap (("ProxyConfiguration",) . toJSON) _eCSTaskDefinitionProxyConfiguration
         , fmap (("RequiresCompatibilities",) . toJSON) _eCSTaskDefinitionRequiresCompatibilities
@@ -67,10 +63,8 @@
   , _eCSTaskDefinitionCpu = Nothing
   , _eCSTaskDefinitionExecutionRoleArn = Nothing
   , _eCSTaskDefinitionFamily = Nothing
-  , _eCSTaskDefinitionIpcMode = Nothing
   , _eCSTaskDefinitionMemory = Nothing
   , _eCSTaskDefinitionNetworkMode = Nothing
-  , _eCSTaskDefinitionPidMode = Nothing
   , _eCSTaskDefinitionPlacementConstraints = Nothing
   , _eCSTaskDefinitionProxyConfiguration = Nothing
   , _eCSTaskDefinitionRequiresCompatibilities = Nothing
@@ -95,10 +89,6 @@
 ecstdFamily :: Lens' ECSTaskDefinition (Maybe (Val Text))
 ecstdFamily = lens _eCSTaskDefinitionFamily (\s a -> s { _eCSTaskDefinitionFamily = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-ipcmode
-ecstdIpcMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
-ecstdIpcMode = lens _eCSTaskDefinitionIpcMode (\s a -> s { _eCSTaskDefinitionIpcMode = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-memory
 ecstdMemory :: Lens' ECSTaskDefinition (Maybe (Val Text))
 ecstdMemory = lens _eCSTaskDefinitionMemory (\s a -> s { _eCSTaskDefinitionMemory = a })
@@ -106,10 +96,6 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-networkmode
 ecstdNetworkMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
 ecstdNetworkMode = lens _eCSTaskDefinitionNetworkMode (\s a -> s { _eCSTaskDefinitionNetworkMode = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-pidmode
-ecstdPidMode :: Lens' ECSTaskDefinition (Maybe (Val Text))
-ecstdPidMode = lens _eCSTaskDefinitionPidMode (\s a -> s { _eCSTaskDefinitionPidMode = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-placementconstraints
 ecstdPlacementConstraints :: Lens' ECSTaskDefinition (Maybe [ECSTaskDefinitionTaskDefinitionPlacementConstraint])
diff --git a/library-gen/Stratosphere/Resources/GlueJob.hs b/library-gen/Stratosphere/Resources/GlueJob.hs
--- a/library-gen/Stratosphere/Resources/GlueJob.hs
+++ b/library-gen/Stratosphere/Resources/GlueJob.hs
@@ -22,12 +22,16 @@
   , _glueJobDefaultArguments :: Maybe Object
   , _glueJobDescription :: Maybe (Val Text)
   , _glueJobExecutionProperty :: Maybe GlueJobExecutionProperty
+  , _glueJobGlueVersion :: Maybe (Val Text)
   , _glueJobLogUri :: Maybe (Val Text)
+  , _glueJobMaxCapacity :: Maybe (Val Double)
   , _glueJobMaxRetries :: Maybe (Val Double)
   , _glueJobName :: Maybe (Val Text)
+  , _glueJobNumberOfWorkers :: Maybe (Val Integer)
   , _glueJobRole :: Val Text
   , _glueJobSecurityConfiguration :: Maybe (Val Text)
   , _glueJobTags :: Maybe Object
+  , _glueJobWorkerType :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties GlueJob where
@@ -42,12 +46,16 @@
         , fmap (("DefaultArguments",) . toJSON) _glueJobDefaultArguments
         , fmap (("Description",) . toJSON) _glueJobDescription
         , fmap (("ExecutionProperty",) . toJSON) _glueJobExecutionProperty
+        , fmap (("GlueVersion",) . toJSON) _glueJobGlueVersion
         , fmap (("LogUri",) . toJSON) _glueJobLogUri
+        , fmap (("MaxCapacity",) . toJSON) _glueJobMaxCapacity
         , fmap (("MaxRetries",) . toJSON) _glueJobMaxRetries
         , fmap (("Name",) . toJSON) _glueJobName
+        , fmap (("NumberOfWorkers",) . toJSON) _glueJobNumberOfWorkers
         , (Just . ("Role",) . toJSON) _glueJobRole
         , fmap (("SecurityConfiguration",) . toJSON) _glueJobSecurityConfiguration
         , fmap (("Tags",) . toJSON) _glueJobTags
+        , fmap (("WorkerType",) . toJSON) _glueJobWorkerType
         ]
     }
 
@@ -64,12 +72,16 @@
   , _glueJobDefaultArguments = Nothing
   , _glueJobDescription = Nothing
   , _glueJobExecutionProperty = Nothing
+  , _glueJobGlueVersion = Nothing
   , _glueJobLogUri = Nothing
+  , _glueJobMaxCapacity = Nothing
   , _glueJobMaxRetries = Nothing
   , _glueJobName = Nothing
+  , _glueJobNumberOfWorkers = Nothing
   , _glueJobRole = rolearg
   , _glueJobSecurityConfiguration = Nothing
   , _glueJobTags = Nothing
+  , _glueJobWorkerType = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-allocatedcapacity
@@ -96,10 +108,18 @@
 gjExecutionProperty :: Lens' GlueJob (Maybe GlueJobExecutionProperty)
 gjExecutionProperty = lens _glueJobExecutionProperty (\s a -> s { _glueJobExecutionProperty = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-glueversion
+gjGlueVersion :: Lens' GlueJob (Maybe (Val Text))
+gjGlueVersion = lens _glueJobGlueVersion (\s a -> s { _glueJobGlueVersion = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-loguri
 gjLogUri :: Lens' GlueJob (Maybe (Val Text))
 gjLogUri = lens _glueJobLogUri (\s a -> s { _glueJobLogUri = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxcapacity
+gjMaxCapacity :: Lens' GlueJob (Maybe (Val Double))
+gjMaxCapacity = lens _glueJobMaxCapacity (\s a -> s { _glueJobMaxCapacity = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxretries
 gjMaxRetries :: Lens' GlueJob (Maybe (Val Double))
 gjMaxRetries = lens _glueJobMaxRetries (\s a -> s { _glueJobMaxRetries = a })
@@ -108,6 +128,10 @@
 gjName :: Lens' GlueJob (Maybe (Val Text))
 gjName = lens _glueJobName (\s a -> s { _glueJobName = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-numberofworkers
+gjNumberOfWorkers :: Lens' GlueJob (Maybe (Val Integer))
+gjNumberOfWorkers = lens _glueJobNumberOfWorkers (\s a -> s { _glueJobNumberOfWorkers = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-role
 gjRole :: Lens' GlueJob (Val Text)
 gjRole = lens _glueJobRole (\s a -> s { _glueJobRole = a })
@@ -119,3 +143,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-tags
 gjTags :: Lens' GlueJob (Maybe Object)
 gjTags = lens _glueJobTags (\s a -> s { _glueJobTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype
+gjWorkerType :: Lens' GlueJob (Maybe (Val Text))
+gjWorkerType = lens _glueJobWorkerType (\s a -> s { _glueJobWorkerType = a })
diff --git a/library-gen/Stratosphere/Resources/IAMRole.hs b/library-gen/Stratosphere/Resources/IAMRole.hs
--- a/library-gen/Stratosphere/Resources/IAMRole.hs
+++ b/library-gen/Stratosphere/Resources/IAMRole.hs
@@ -9,21 +9,18 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.IAMRolePolicy
-import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for IAMRole. See 'iamRole' for a more
 -- convenient constructor.
 data IAMRole =
   IAMRole
   { _iAMRoleAssumeRolePolicyDocument :: Object
-  , _iAMRoleDescription :: Maybe (Val Text)
   , _iAMRoleManagedPolicyArns :: Maybe (ValList Text)
   , _iAMRoleMaxSessionDuration :: Maybe (Val Integer)
   , _iAMRolePath :: Maybe (Val Text)
   , _iAMRolePermissionsBoundary :: Maybe (Val Text)
   , _iAMRolePolicies :: Maybe [IAMRolePolicy]
   , _iAMRoleRoleName :: Maybe (Val Text)
-  , _iAMRoleTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties IAMRole where
@@ -33,14 +30,12 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("AssumeRolePolicyDocument",) . toJSON) _iAMRoleAssumeRolePolicyDocument
-        , fmap (("Description",) . toJSON) _iAMRoleDescription
         , fmap (("ManagedPolicyArns",) . toJSON) _iAMRoleManagedPolicyArns
         , fmap (("MaxSessionDuration",) . toJSON) _iAMRoleMaxSessionDuration
         , fmap (("Path",) . toJSON) _iAMRolePath
         , fmap (("PermissionsBoundary",) . toJSON) _iAMRolePermissionsBoundary
         , fmap (("Policies",) . toJSON) _iAMRolePolicies
         , fmap (("RoleName",) . toJSON) _iAMRoleRoleName
-        , fmap (("Tags",) . toJSON) _iAMRoleTags
         ]
     }
 
@@ -51,24 +46,18 @@
 iamRole assumeRolePolicyDocumentarg =
   IAMRole
   { _iAMRoleAssumeRolePolicyDocument = assumeRolePolicyDocumentarg
-  , _iAMRoleDescription = Nothing
   , _iAMRoleManagedPolicyArns = Nothing
   , _iAMRoleMaxSessionDuration = Nothing
   , _iAMRolePath = Nothing
   , _iAMRolePermissionsBoundary = Nothing
   , _iAMRolePolicies = Nothing
   , _iAMRoleRoleName = Nothing
-  , _iAMRoleTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument
 iamrAssumeRolePolicyDocument :: Lens' IAMRole Object
 iamrAssumeRolePolicyDocument = lens _iAMRoleAssumeRolePolicyDocument (\s a -> s { _iAMRoleAssumeRolePolicyDocument = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-description
-iamrDescription :: Lens' IAMRole (Maybe (Val Text))
-iamrDescription = lens _iAMRoleDescription (\s a -> s { _iAMRoleDescription = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-managepolicyarns
 iamrManagedPolicyArns :: Lens' IAMRole (Maybe (ValList Text))
 iamrManagedPolicyArns = lens _iAMRoleManagedPolicyArns (\s a -> s { _iAMRoleManagedPolicyArns = a })
@@ -92,7 +81,3 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-rolename
 iamrRoleName :: Lens' IAMRole (Maybe (Val Text))
 iamrRoleName = lens _iAMRoleRoleName (\s a -> s { _iAMRoleRoleName = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-tags
-iamrTags :: Lens' IAMRole (Maybe [Tag])
-iamrTags = lens _iAMRoleTags (\s a -> s { _iAMRoleTags = a })
diff --git a/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs b/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs
@@ -0,0 +1,77 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html
+
+module Stratosphere.Resources.IoTEventsDetectorModel where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsDetectorModelDetectorModelDefinition
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for IoTEventsDetectorModel. See
+-- 'ioTEventsDetectorModel' for a more convenient constructor.
+data IoTEventsDetectorModel =
+  IoTEventsDetectorModel
+  { _ioTEventsDetectorModelDetectorModelDefinition :: Maybe IoTEventsDetectorModelDetectorModelDefinition
+  , _ioTEventsDetectorModelDetectorModelDescription :: Maybe (Val Text)
+  , _ioTEventsDetectorModelDetectorModelName :: Maybe (Val Text)
+  , _ioTEventsDetectorModelKey :: Maybe (Val Text)
+  , _ioTEventsDetectorModelRoleArn :: Maybe (Val Text)
+  , _ioTEventsDetectorModelTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties IoTEventsDetectorModel where
+  toResourceProperties IoTEventsDetectorModel{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::IoTEvents::DetectorModel"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DetectorModelDefinition",) . toJSON) _ioTEventsDetectorModelDetectorModelDefinition
+        , fmap (("DetectorModelDescription",) . toJSON) _ioTEventsDetectorModelDetectorModelDescription
+        , fmap (("DetectorModelName",) . toJSON) _ioTEventsDetectorModelDetectorModelName
+        , fmap (("Key",) . toJSON) _ioTEventsDetectorModelKey
+        , fmap (("RoleArn",) . toJSON) _ioTEventsDetectorModelRoleArn
+        , fmap (("Tags",) . toJSON) _ioTEventsDetectorModelTags
+        ]
+    }
+
+-- | Constructor for 'IoTEventsDetectorModel' containing required fields as
+-- arguments.
+ioTEventsDetectorModel
+  :: IoTEventsDetectorModel
+ioTEventsDetectorModel  =
+  IoTEventsDetectorModel
+  { _ioTEventsDetectorModelDetectorModelDefinition = Nothing
+  , _ioTEventsDetectorModelDetectorModelDescription = Nothing
+  , _ioTEventsDetectorModelDetectorModelName = Nothing
+  , _ioTEventsDetectorModelKey = Nothing
+  , _ioTEventsDetectorModelRoleArn = Nothing
+  , _ioTEventsDetectorModelTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldefinition
+itedmDetectorModelDefinition :: Lens' IoTEventsDetectorModel (Maybe IoTEventsDetectorModelDetectorModelDefinition)
+itedmDetectorModelDefinition = lens _ioTEventsDetectorModelDetectorModelDefinition (\s a -> s { _ioTEventsDetectorModelDetectorModelDefinition = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldescription
+itedmDetectorModelDescription :: Lens' IoTEventsDetectorModel (Maybe (Val Text))
+itedmDetectorModelDescription = lens _ioTEventsDetectorModelDetectorModelDescription (\s a -> s { _ioTEventsDetectorModelDetectorModelDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodelname
+itedmDetectorModelName :: Lens' IoTEventsDetectorModel (Maybe (Val Text))
+itedmDetectorModelName = lens _ioTEventsDetectorModelDetectorModelName (\s a -> s { _ioTEventsDetectorModelDetectorModelName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-key
+itedmKey :: Lens' IoTEventsDetectorModel (Maybe (Val Text))
+itedmKey = lens _ioTEventsDetectorModelKey (\s a -> s { _ioTEventsDetectorModelKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-rolearn
+itedmRoleArn :: Lens' IoTEventsDetectorModel (Maybe (Val Text))
+itedmRoleArn = lens _ioTEventsDetectorModelRoleArn (\s a -> s { _ioTEventsDetectorModelRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-tags
+itedmTags :: Lens' IoTEventsDetectorModel (Maybe [Tag])
+itedmTags = lens _ioTEventsDetectorModelTags (\s a -> s { _ioTEventsDetectorModelTags = a })
diff --git a/library-gen/Stratosphere/Resources/IoTEventsInput.hs b/library-gen/Stratosphere/Resources/IoTEventsInput.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/IoTEventsInput.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html
+
+module Stratosphere.Resources.IoTEventsInput where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.IoTEventsInputInputDefinition
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for IoTEventsInput. See 'ioTEventsInput' for a
+-- more convenient constructor.
+data IoTEventsInput =
+  IoTEventsInput
+  { _ioTEventsInputInputDefinition :: Maybe IoTEventsInputInputDefinition
+  , _ioTEventsInputInputDescription :: Maybe (Val Text)
+  , _ioTEventsInputInputName :: Maybe (Val Text)
+  , _ioTEventsInputTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties IoTEventsInput where
+  toResourceProperties IoTEventsInput{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::IoTEvents::Input"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InputDefinition",) . toJSON) _ioTEventsInputInputDefinition
+        , fmap (("InputDescription",) . toJSON) _ioTEventsInputInputDescription
+        , fmap (("InputName",) . toJSON) _ioTEventsInputInputName
+        , fmap (("Tags",) . toJSON) _ioTEventsInputTags
+        ]
+    }
+
+-- | Constructor for 'IoTEventsInput' containing required fields as arguments.
+ioTEventsInput
+  :: IoTEventsInput
+ioTEventsInput  =
+  IoTEventsInput
+  { _ioTEventsInputInputDefinition = Nothing
+  , _ioTEventsInputInputDescription = Nothing
+  , _ioTEventsInputInputName = Nothing
+  , _ioTEventsInputTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdefinition
+iteiInputDefinition :: Lens' IoTEventsInput (Maybe IoTEventsInputInputDefinition)
+iteiInputDefinition = lens _ioTEventsInputInputDefinition (\s a -> s { _ioTEventsInputInputDefinition = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdescription
+iteiInputDescription :: Lens' IoTEventsInput (Maybe (Val Text))
+iteiInputDescription = lens _ioTEventsInputInputDescription (\s a -> s { _ioTEventsInputInputDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputname
+iteiInputName :: Lens' IoTEventsInput (Maybe (Val Text))
+iteiInputName = lens _ioTEventsInputInputName (\s a -> s { _ioTEventsInputInputName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-tags
+iteiTags :: Lens' IoTEventsInput (Maybe [Tag])
+iteiTags = lens _ioTEventsInputTags (\s a -> s { _ioTEventsInputTags = a })
diff --git a/library-gen/Stratosphere/Resources/RDSDBCluster.hs b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
--- a/library-gen/Stratosphere/Resources/RDSDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
@@ -8,7 +8,6 @@
 module Stratosphere.Resources.RDSDBCluster where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole
 import Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration
 import Stratosphere.ResourceProperties.Tag
 
@@ -16,8 +15,7 @@
 -- convenient constructor.
 data RDSDBCluster =
   RDSDBCluster
-  { _rDSDBClusterAssociatedRoles :: Maybe [RDSDBClusterDBClusterRole]
-  , _rDSDBClusterAvailabilityZones :: Maybe (ValList Text)
+  { _rDSDBClusterAvailabilityZones :: Maybe (ValList Text)
   , _rDSDBClusterBacktrackWindow :: Maybe (Val Integer)
   , _rDSDBClusterBackupRetentionPeriod :: Maybe (Val Integer)
   , _rDSDBClusterDBClusterIdentifier :: Maybe (Val Text)
@@ -37,14 +35,11 @@
   , _rDSDBClusterPreferredBackupWindow :: Maybe (Val Text)
   , _rDSDBClusterPreferredMaintenanceWindow :: Maybe (Val Text)
   , _rDSDBClusterReplicationSourceIdentifier :: Maybe (Val Text)
-  , _rDSDBClusterRestoreType :: Maybe (Val Text)
   , _rDSDBClusterScalingConfiguration :: Maybe RDSDBClusterScalingConfiguration
   , _rDSDBClusterSnapshotIdentifier :: Maybe (Val Text)
-  , _rDSDBClusterSourceDBClusterIdentifier :: Maybe (Val Text)
   , _rDSDBClusterSourceRegion :: Maybe (Val Text)
   , _rDSDBClusterStorageEncrypted :: Maybe (Val Bool)
   , _rDSDBClusterTags :: Maybe [Tag]
-  , _rDSDBClusterUseLatestRestorableTime :: Maybe (Val Bool)
   , _rDSDBClusterVpcSecurityGroupIds :: Maybe (ValList Text)
   } deriving (Show, Eq)
 
@@ -54,8 +49,7 @@
     { resourcePropertiesType = "AWS::RDS::DBCluster"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AssociatedRoles",) . toJSON) _rDSDBClusterAssociatedRoles
-        , fmap (("AvailabilityZones",) . toJSON) _rDSDBClusterAvailabilityZones
+        [ fmap (("AvailabilityZones",) . toJSON) _rDSDBClusterAvailabilityZones
         , fmap (("BacktrackWindow",) . toJSON) _rDSDBClusterBacktrackWindow
         , fmap (("BackupRetentionPeriod",) . toJSON) _rDSDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _rDSDBClusterDBClusterIdentifier
@@ -75,14 +69,11 @@
         , fmap (("PreferredBackupWindow",) . toJSON) _rDSDBClusterPreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _rDSDBClusterPreferredMaintenanceWindow
         , fmap (("ReplicationSourceIdentifier",) . toJSON) _rDSDBClusterReplicationSourceIdentifier
-        , fmap (("RestoreType",) . toJSON) _rDSDBClusterRestoreType
         , fmap (("ScalingConfiguration",) . toJSON) _rDSDBClusterScalingConfiguration
         , fmap (("SnapshotIdentifier",) . toJSON) _rDSDBClusterSnapshotIdentifier
-        , fmap (("SourceDBClusterIdentifier",) . toJSON) _rDSDBClusterSourceDBClusterIdentifier
         , fmap (("SourceRegion",) . toJSON) _rDSDBClusterSourceRegion
         , fmap (("StorageEncrypted",) . toJSON) _rDSDBClusterStorageEncrypted
         , fmap (("Tags",) . toJSON) _rDSDBClusterTags
-        , fmap (("UseLatestRestorableTime",) . toJSON) _rDSDBClusterUseLatestRestorableTime
         , fmap (("VpcSecurityGroupIds",) . toJSON) _rDSDBClusterVpcSecurityGroupIds
         ]
     }
@@ -93,8 +84,7 @@
   -> RDSDBCluster
 rdsdbCluster enginearg =
   RDSDBCluster
-  { _rDSDBClusterAssociatedRoles = Nothing
-  , _rDSDBClusterAvailabilityZones = Nothing
+  { _rDSDBClusterAvailabilityZones = Nothing
   , _rDSDBClusterBacktrackWindow = Nothing
   , _rDSDBClusterBackupRetentionPeriod = Nothing
   , _rDSDBClusterDBClusterIdentifier = Nothing
@@ -114,21 +104,14 @@
   , _rDSDBClusterPreferredBackupWindow = Nothing
   , _rDSDBClusterPreferredMaintenanceWindow = Nothing
   , _rDSDBClusterReplicationSourceIdentifier = Nothing
-  , _rDSDBClusterRestoreType = Nothing
   , _rDSDBClusterScalingConfiguration = Nothing
   , _rDSDBClusterSnapshotIdentifier = Nothing
-  , _rDSDBClusterSourceDBClusterIdentifier = Nothing
   , _rDSDBClusterSourceRegion = Nothing
   , _rDSDBClusterStorageEncrypted = Nothing
   , _rDSDBClusterTags = Nothing
-  , _rDSDBClusterUseLatestRestorableTime = Nothing
   , _rDSDBClusterVpcSecurityGroupIds = Nothing
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-associatedroles
-rdsdbcAssociatedRoles :: Lens' RDSDBCluster (Maybe [RDSDBClusterDBClusterRole])
-rdsdbcAssociatedRoles = lens _rDSDBClusterAssociatedRoles (\s a -> s { _rDSDBClusterAssociatedRoles = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones
 rdsdbcAvailabilityZones :: Lens' RDSDBCluster (Maybe (ValList Text))
 rdsdbcAvailabilityZones = lens _rDSDBClusterAvailabilityZones (\s a -> s { _rDSDBClusterAvailabilityZones = a })
@@ -209,10 +192,6 @@
 rdsdbcReplicationSourceIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcReplicationSourceIdentifier = lens _rDSDBClusterReplicationSourceIdentifier (\s a -> s { _rDSDBClusterReplicationSourceIdentifier = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-restoretype
-rdsdbcRestoreType :: Lens' RDSDBCluster (Maybe (Val Text))
-rdsdbcRestoreType = lens _rDSDBClusterRestoreType (\s a -> s { _rDSDBClusterRestoreType = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-scalingconfiguration
 rdsdbcScalingConfiguration :: Lens' RDSDBCluster (Maybe RDSDBClusterScalingConfiguration)
 rdsdbcScalingConfiguration = lens _rDSDBClusterScalingConfiguration (\s a -> s { _rDSDBClusterScalingConfiguration = a })
@@ -221,10 +200,6 @@
 rdsdbcSnapshotIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcSnapshotIdentifier = lens _rDSDBClusterSnapshotIdentifier (\s a -> s { _rDSDBClusterSnapshotIdentifier = a })
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourcedbclusteridentifier
-rdsdbcSourceDBClusterIdentifier :: Lens' RDSDBCluster (Maybe (Val Text))
-rdsdbcSourceDBClusterIdentifier = lens _rDSDBClusterSourceDBClusterIdentifier (\s a -> s { _rDSDBClusterSourceDBClusterIdentifier = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourceregion
 rdsdbcSourceRegion :: Lens' RDSDBCluster (Maybe (Val Text))
 rdsdbcSourceRegion = lens _rDSDBClusterSourceRegion (\s a -> s { _rDSDBClusterSourceRegion = a })
@@ -236,10 +211,6 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-tags
 rdsdbcTags :: Lens' RDSDBCluster (Maybe [Tag])
 rdsdbcTags = lens _rDSDBClusterTags (\s a -> s { _rDSDBClusterTags = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-uselatestrestorabletime
-rdsdbcUseLatestRestorableTime :: Lens' RDSDBCluster (Maybe (Val Bool))
-rdsdbcUseLatestRestorableTime = lens _rDSDBClusterUseLatestRestorableTime (\s a -> s { _rDSDBClusterUseLatestRestorableTime = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-vpcsecuritygroupids
 rdsdbcVpcSecurityGroupIds :: Lens' RDSDBCluster (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/RDSDBInstance.hs b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
--- a/library-gen/Stratosphere/Resources/RDSDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
@@ -8,7 +8,6 @@
 module Stratosphere.Resources.RDSDBInstance where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole
 import Stratosphere.ResourceProperties.RDSDBInstanceProcessorFeature
 import Stratosphere.ResourceProperties.Tag
 
@@ -18,7 +17,6 @@
   RDSDBInstance
   { _rDSDBInstanceAllocatedStorage :: Maybe (Val Text)
   , _rDSDBInstanceAllowMajorVersionUpgrade :: Maybe (Val Bool)
-  , _rDSDBInstanceAssociatedRoles :: Maybe [RDSDBInstanceDBInstanceRole]
   , _rDSDBInstanceAutoMinorVersionUpgrade :: Maybe (Val Bool)
   , _rDSDBInstanceAvailabilityZone :: Maybe (Val Text)
   , _rDSDBInstanceBackupRetentionPeriod :: Maybe (Val Integer)
@@ -76,7 +74,6 @@
         hashMapFromList $ catMaybes
         [ fmap (("AllocatedStorage",) . toJSON) _rDSDBInstanceAllocatedStorage
         , fmap (("AllowMajorVersionUpgrade",) . toJSON) _rDSDBInstanceAllowMajorVersionUpgrade
-        , fmap (("AssociatedRoles",) . toJSON) _rDSDBInstanceAssociatedRoles
         , fmap (("AutoMinorVersionUpgrade",) . toJSON) _rDSDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _rDSDBInstanceAvailabilityZone
         , fmap (("BackupRetentionPeriod",) . toJSON) _rDSDBInstanceBackupRetentionPeriod
@@ -135,7 +132,6 @@
   RDSDBInstance
   { _rDSDBInstanceAllocatedStorage = Nothing
   , _rDSDBInstanceAllowMajorVersionUpgrade = Nothing
-  , _rDSDBInstanceAssociatedRoles = Nothing
   , _rDSDBInstanceAutoMinorVersionUpgrade = Nothing
   , _rDSDBInstanceAvailabilityZone = Nothing
   , _rDSDBInstanceBackupRetentionPeriod = Nothing
@@ -192,10 +188,6 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-allowmajorversionupgrade
 rdsdbiAllowMajorVersionUpgrade :: Lens' RDSDBInstance (Maybe (Val Bool))
 rdsdbiAllowMajorVersionUpgrade = lens _rDSDBInstanceAllowMajorVersionUpgrade (\s a -> s { _rDSDBInstanceAllowMajorVersionUpgrade = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-associatedroles
-rdsdbiAssociatedRoles :: Lens' RDSDBInstance (Maybe [RDSDBInstanceDBInstanceRole])
-rdsdbiAssociatedRoles = lens _rDSDBInstanceAssociatedRoles (\s a -> s { _rDSDBInstanceAssociatedRoles = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-autominorversionupgrade
 rdsdbiAutoMinorVersionUpgrade :: Lens' RDSDBInstance (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
@@ -22,13 +22,13 @@
   , _sSMMaintenanceWindowTaskMaxErrors :: Val Text
   , _sSMMaintenanceWindowTaskName :: Maybe (Val Text)
   , _sSMMaintenanceWindowTaskPriority :: Val Integer
-  , _sSMMaintenanceWindowTaskServiceRoleArn :: Val Text
+  , _sSMMaintenanceWindowTaskServiceRoleArn :: Maybe (Val Text)
   , _sSMMaintenanceWindowTaskTargets :: [SSMMaintenanceWindowTaskTarget]
   , _sSMMaintenanceWindowTaskTaskArn :: Val Text
   , _sSMMaintenanceWindowTaskTaskInvocationParameters :: Maybe SSMMaintenanceWindowTaskTaskInvocationParameters
   , _sSMMaintenanceWindowTaskTaskParameters :: Maybe Object
   , _sSMMaintenanceWindowTaskTaskType :: Val Text
-  , _sSMMaintenanceWindowTaskWindowId :: Maybe (Val Text)
+  , _sSMMaintenanceWindowTaskWindowId :: Val Text
   } deriving (Show, Eq)
 
 instance ToResourceProperties SSMMaintenanceWindowTask where
@@ -43,13 +43,13 @@
         , (Just . ("MaxErrors",) . toJSON) _sSMMaintenanceWindowTaskMaxErrors
         , fmap (("Name",) . toJSON) _sSMMaintenanceWindowTaskName
         , (Just . ("Priority",) . toJSON) _sSMMaintenanceWindowTaskPriority
-        , (Just . ("ServiceRoleArn",) . toJSON) _sSMMaintenanceWindowTaskServiceRoleArn
+        , fmap (("ServiceRoleArn",) . toJSON) _sSMMaintenanceWindowTaskServiceRoleArn
         , (Just . ("Targets",) . toJSON) _sSMMaintenanceWindowTaskTargets
         , (Just . ("TaskArn",) . toJSON) _sSMMaintenanceWindowTaskTaskArn
         , fmap (("TaskInvocationParameters",) . toJSON) _sSMMaintenanceWindowTaskTaskInvocationParameters
         , fmap (("TaskParameters",) . toJSON) _sSMMaintenanceWindowTaskTaskParameters
         , (Just . ("TaskType",) . toJSON) _sSMMaintenanceWindowTaskTaskType
-        , fmap (("WindowId",) . toJSON) _sSMMaintenanceWindowTaskWindowId
+        , (Just . ("WindowId",) . toJSON) _sSMMaintenanceWindowTaskWindowId
         ]
     }
 
@@ -59,12 +59,12 @@
   :: Val Text -- ^ 'ssmmwtMaxConcurrency'
   -> Val Text -- ^ 'ssmmwtMaxErrors'
   -> Val Integer -- ^ 'ssmmwtPriority'
-  -> Val Text -- ^ 'ssmmwtServiceRoleArn'
   -> [SSMMaintenanceWindowTaskTarget] -- ^ 'ssmmwtTargets'
   -> Val Text -- ^ 'ssmmwtTaskArn'
   -> Val Text -- ^ 'ssmmwtTaskType'
+  -> Val Text -- ^ 'ssmmwtWindowId'
   -> SSMMaintenanceWindowTask
-ssmMaintenanceWindowTask maxConcurrencyarg maxErrorsarg priorityarg serviceRoleArnarg targetsarg taskArnarg taskTypearg =
+ssmMaintenanceWindowTask maxConcurrencyarg maxErrorsarg priorityarg targetsarg taskArnarg taskTypearg windowIdarg =
   SSMMaintenanceWindowTask
   { _sSMMaintenanceWindowTaskDescription = Nothing
   , _sSMMaintenanceWindowTaskLoggingInfo = Nothing
@@ -72,13 +72,13 @@
   , _sSMMaintenanceWindowTaskMaxErrors = maxErrorsarg
   , _sSMMaintenanceWindowTaskName = Nothing
   , _sSMMaintenanceWindowTaskPriority = priorityarg
-  , _sSMMaintenanceWindowTaskServiceRoleArn = serviceRoleArnarg
+  , _sSMMaintenanceWindowTaskServiceRoleArn = Nothing
   , _sSMMaintenanceWindowTaskTargets = targetsarg
   , _sSMMaintenanceWindowTaskTaskArn = taskArnarg
   , _sSMMaintenanceWindowTaskTaskInvocationParameters = Nothing
   , _sSMMaintenanceWindowTaskTaskParameters = Nothing
   , _sSMMaintenanceWindowTaskTaskType = taskTypearg
-  , _sSMMaintenanceWindowTaskWindowId = Nothing
+  , _sSMMaintenanceWindowTaskWindowId = windowIdarg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-description
@@ -106,7 +106,7 @@
 ssmmwtPriority = lens _sSMMaintenanceWindowTaskPriority (\s a -> s { _sSMMaintenanceWindowTaskPriority = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-servicerolearn
-ssmmwtServiceRoleArn :: Lens' SSMMaintenanceWindowTask (Val Text)
+ssmmwtServiceRoleArn :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
 ssmmwtServiceRoleArn = lens _sSMMaintenanceWindowTaskServiceRoleArn (\s a -> s { _sSMMaintenanceWindowTaskServiceRoleArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-targets
@@ -130,5 +130,5 @@
 ssmmwtTaskType = lens _sSMMaintenanceWindowTaskTaskType (\s a -> s { _sSMMaintenanceWindowTaskTaskType = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-windowid
-ssmmwtWindowId :: Lens' SSMMaintenanceWindowTask (Maybe (Val Text))
+ssmmwtWindowId :: Lens' SSMMaintenanceWindowTask (Val Text)
 ssmmwtWindowId = lens _sSMMaintenanceWindowTaskWindowId (\s a -> s { _sSMMaintenanceWindowTaskWindowId = a })
diff --git a/library-gen/Stratosphere/Resources/TransferUser.hs b/library-gen/Stratosphere/Resources/TransferUser.hs
--- a/library-gen/Stratosphere/Resources/TransferUser.hs
+++ b/library-gen/Stratosphere/Resources/TransferUser.hs
@@ -18,6 +18,7 @@
   , _transferUserPolicy :: Maybe (Val Text)
   , _transferUserRole :: Val Text
   , _transferUserServerId :: Val Text
+  , _transferUserSshPublicKeys :: Maybe (ValList Text)
   , _transferUserTags :: Maybe [Tag]
   , _transferUserUserName :: Val Text
   } deriving (Show, Eq)
@@ -32,6 +33,7 @@
         , fmap (("Policy",) . toJSON) _transferUserPolicy
         , (Just . ("Role",) . toJSON) _transferUserRole
         , (Just . ("ServerId",) . toJSON) _transferUserServerId
+        , fmap (("SshPublicKeys",) . toJSON) _transferUserSshPublicKeys
         , fmap (("Tags",) . toJSON) _transferUserTags
         , (Just . ("UserName",) . toJSON) _transferUserUserName
         ]
@@ -49,6 +51,7 @@
   , _transferUserPolicy = Nothing
   , _transferUserRole = rolearg
   , _transferUserServerId = serverIdarg
+  , _transferUserSshPublicKeys = Nothing
   , _transferUserTags = Nothing
   , _transferUserUserName = userNamearg
   }
@@ -68,6 +71,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-serverid
 tuServerId :: Lens' TransferUser (Val Text)
 tuServerId = lens _transferUserServerId (\s a -> s { _transferUserServerId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-sshpublickeys
+tuSshPublicKeys :: Lens' TransferUser (Maybe (ValList Text))
+tuSshPublicKeys = lens _transferUserSshPublicKeys (\s a -> s { _transferUserSshPublicKeys = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-tags
 tuTags :: Lens' TransferUser (Maybe [Tag])
diff --git a/library/Stratosphere.hs b/library/Stratosphere.hs
--- a/library/Stratosphere.hs
+++ b/library/Stratosphere.hs
@@ -53,16 +53,16 @@
 --   [ resource "EC2Instance" (
 --     EC2InstanceProperties $
 --     ec2Instance
---     "ami-22111148"
+--     & eciImageId ?~ "ami-22111148"
 --     & eciKeyName ?~ (Ref "KeyName")
 --     )
---     & deletionPolicy ?~ Retain
+--     & resourceDeletionPolicy ?~ Retain
 --   ]
---   & description ?~ "Sample template"
---   & parameters ?~
---   [ parameter \"KeyName\" \"AWS::EC2::KeyPair::KeyName\"
---     & description ?~ "Name of an existing EC2 KeyPair to enable SSH access to the instance"
---     & constraintDescription ?~ "Must be the name of an existing EC2 KeyPair."
+--   & templateDescription ?~ "Sample template"
+--   & templateParameters ?~
+--   [ parameter "KeyName" "AWS::EC2::KeyPair::KeyName"
+--     & parameterDescription ?~ "Name of an existing EC2 KeyPair to enable SSH access to the instance"
+--     & parameterConstraintDescription ?~ "Must be the name of an existing EC2 KeyPair."
 --   ]
 -- @
 
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: 971a1247872b8bcc983f4f4b3db7a5a892b9a5194f19d6a8eb647e0e67211b3b
+-- hash: 1f9d709cc2f81ad485e72f12767b16e5407f66ad229475d57e062894885807e2
 
 name:           stratosphere
-version:        0.40.0
+version:        0.41.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -50,12 +50,14 @@
       Stratosphere.Types
       Stratosphere.Values
       Stratosphere.ResourceProperties.AmazonMQBrokerConfigurationId
+      Stratosphere.ResourceProperties.AmazonMQBrokerEncryptionOptions
       Stratosphere.ResourceProperties.AmazonMQBrokerLogList
       Stratosphere.ResourceProperties.AmazonMQBrokerMaintenanceWindow
       Stratosphere.ResourceProperties.AmazonMQBrokerTagsEntry
       Stratosphere.ResourceProperties.AmazonMQBrokerUser
       Stratosphere.ResourceProperties.AmazonMQConfigurationAssociationConfigurationId
       Stratosphere.ResourceProperties.AmazonMQConfigurationTagsEntry
+      Stratosphere.ResourceProperties.AmplifyAppAutoBranchCreationConfig
       Stratosphere.ResourceProperties.AmplifyAppBasicAuthConfig
       Stratosphere.ResourceProperties.AmplifyAppCustomRule
       Stratosphere.ResourceProperties.AmplifyAppEnvironmentVariable
@@ -183,7 +185,9 @@
       Stratosphere.ResourceProperties.BatchComputeEnvironmentComputeResources
       Stratosphere.ResourceProperties.BatchComputeEnvironmentLaunchTemplateSpecification
       Stratosphere.ResourceProperties.BatchJobDefinitionContainerProperties
+      Stratosphere.ResourceProperties.BatchJobDefinitionDevice
       Stratosphere.ResourceProperties.BatchJobDefinitionEnvironment
+      Stratosphere.ResourceProperties.BatchJobDefinitionLinuxParameters
       Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints
       Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties
       Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty
@@ -229,6 +233,9 @@
       Stratosphere.ResourceProperties.CloudWatchAlarmMetric
       Stratosphere.ResourceProperties.CloudWatchAlarmMetricDataQuery
       Stratosphere.ResourceProperties.CloudWatchAlarmMetricStat
+      Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorConfiguration
+      Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension
+      Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorRange
       Stratosphere.ResourceProperties.CodeBuildProjectArtifacts
       Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironment
@@ -281,6 +288,8 @@
       Stratosphere.ResourceProperties.CodePipelinePipelineStageTransition
       Stratosphere.ResourceProperties.CodePipelineWebhookWebhookAuthConfiguration
       Stratosphere.ResourceProperties.CodePipelineWebhookWebhookFilterRule
+      Stratosphere.ResourceProperties.CodeStarGitHubRepositoryCode
+      Stratosphere.ResourceProperties.CodeStarGitHubRepositoryS3
       Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoIdentityProvider
       Stratosphere.ResourceProperties.CognitoIdentityPoolCognitoStreams
       Stratosphere.ResourceProperties.CognitoIdentityPoolPushSync
@@ -288,6 +297,7 @@
       Stratosphere.ResourceProperties.CognitoIdentityPoolRoleAttachmentRoleMapping
       Stratosphere.ResourceProperties.CognitoIdentityPoolRoleAttachmentRulesConfigurationType
       Stratosphere.ResourceProperties.CognitoUserPoolAdminCreateUserConfig
+      Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolDeviceConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolEmailConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolInviteMessageTemplate
@@ -299,6 +309,8 @@
       Stratosphere.ResourceProperties.CognitoUserPoolSmsConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolStringAttributeConstraints
       Stratosphere.ResourceProperties.CognitoUserPoolUserAttributeType
+      Stratosphere.ResourceProperties.CognitoUserPoolUserPoolAddOns
+      Stratosphere.ResourceProperties.CognitoUserPoolVerificationMessageTemplate
       Stratosphere.ResourceProperties.ConfigConfigRuleScope
       Stratosphere.ResourceProperties.ConfigConfigRuleSource
       Stratosphere.ResourceProperties.ConfigConfigRuleSourceDetail
@@ -354,7 +366,6 @@
       Stratosphere.ResourceProperties.EC2EC2FleetTargetCapacitySpecificationRequest
       Stratosphere.ResourceProperties.EC2InstanceAssociationParameter
       Stratosphere.ResourceProperties.EC2InstanceBlockDeviceMapping
-      Stratosphere.ResourceProperties.EC2InstanceCpuOptions
       Stratosphere.ResourceProperties.EC2InstanceCreditSpecification
       Stratosphere.ResourceProperties.EC2InstanceEbs
       Stratosphere.ResourceProperties.EC2InstanceElasticGpuSpecification
@@ -439,7 +450,6 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionRepositoryCredentials
       Stratosphere.ResourceProperties.ECSTaskDefinitionResourceRequirement
       Stratosphere.ResourceProperties.ECSTaskDefinitionSecret
-      Stratosphere.ResourceProperties.ECSTaskDefinitionSystemControl
       Stratosphere.ResourceProperties.ECSTaskDefinitionTaskDefinitionPlacementConstraint
       Stratosphere.ResourceProperties.ECSTaskDefinitionTmpfs
       Stratosphere.ResourceProperties.ECSTaskDefinitionUlimit
@@ -545,11 +555,9 @@
       Stratosphere.ResourceProperties.EMRStepHadoopJarStepConfig
       Stratosphere.ResourceProperties.EMRStepKeyValue
       Stratosphere.ResourceProperties.EventsEventBusPolicyCondition
-      Stratosphere.ResourceProperties.EventsRuleAwsVpcConfiguration
       Stratosphere.ResourceProperties.EventsRuleEcsParameters
       Stratosphere.ResourceProperties.EventsRuleInputTransformer
       Stratosphere.ResourceProperties.EventsRuleKinesisParameters
-      Stratosphere.ResourceProperties.EventsRuleNetworkConfiguration
       Stratosphere.ResourceProperties.EventsRuleRunCommandParameters
       Stratosphere.ResourceProperties.EventsRuleRunCommandTarget
       Stratosphere.ResourceProperties.EventsRuleSqsParameters
@@ -690,6 +698,26 @@
       Stratosphere.ResourceProperties.IoTAnalyticsPipelineMath
       Stratosphere.ResourceProperties.IoTAnalyticsPipelineRemoveAttributes
       Stratosphere.ResourceProperties.IoTAnalyticsPipelineSelectAttributes
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelAction
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelClearTimer
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelDetectorModelDefinition
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelEvent
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelFirehose
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelIotEvents
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelIotTopicPublish
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelLambda
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelOnEnter
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelOnExit
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelOnInput
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelResetTimer
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelSetTimer
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelSetVariable
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelSns
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelSqs
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelState
+      Stratosphere.ResourceProperties.IoTEventsDetectorModelTransitionEvent
+      Stratosphere.ResourceProperties.IoTEventsInputAttribute
+      Stratosphere.ResourceProperties.IoTEventsInputInputDefinition
       Stratosphere.ResourceProperties.IoTThingAttributePayload
       Stratosphere.ResourceProperties.IoTThingsGraphFlowTemplateDefinitionDocument
       Stratosphere.ResourceProperties.IoTTopicRuleAction
@@ -910,9 +938,7 @@
       Stratosphere.ResourceProperties.PinpointSegmentSegmentGroups
       Stratosphere.ResourceProperties.PinpointSegmentSetDimension
       Stratosphere.ResourceProperties.PinpointSegmentSourceSegments
-      Stratosphere.ResourceProperties.RDSDBClusterDBClusterRole
       Stratosphere.ResourceProperties.RDSDBClusterScalingConfiguration
-      Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole
       Stratosphere.ResourceProperties.RDSDBInstanceProcessorFeature
       Stratosphere.ResourceProperties.RDSDBSecurityGroupIngressProperty
       Stratosphere.ResourceProperties.RDSOptionGroupOptionConfiguration
@@ -1145,6 +1171,7 @@
       Stratosphere.Resources.CloudFrontStreamingDistribution
       Stratosphere.Resources.CloudTrailTrail
       Stratosphere.Resources.CloudWatchAlarm
+      Stratosphere.Resources.CloudWatchAnomalyDetector
       Stratosphere.Resources.CloudWatchDashboard
       Stratosphere.Resources.CodeBuildProject
       Stratosphere.Resources.CodeCommitRepository
@@ -1154,6 +1181,7 @@
       Stratosphere.Resources.CodePipelineCustomActionType
       Stratosphere.Resources.CodePipelinePipeline
       Stratosphere.Resources.CodePipelineWebhook
+      Stratosphere.Resources.CodeStarGitHubRepository
       Stratosphere.Resources.CognitoIdentityPool
       Stratosphere.Resources.CognitoIdentityPoolRoleAttachment
       Stratosphere.Resources.CognitoUserPool
@@ -1326,6 +1354,8 @@
       Stratosphere.Resources.IoTAnalyticsDatastore
       Stratosphere.Resources.IoTAnalyticsPipeline
       Stratosphere.Resources.IoTCertificate
+      Stratosphere.Resources.IoTEventsDetectorModel
+      Stratosphere.Resources.IoTEventsInput
       Stratosphere.Resources.IoTPolicy
       Stratosphere.Resources.IoTPolicyPrincipalAttachment
       Stratosphere.Resources.IoTThing
