diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.51.0
+
+* Update resource specification document to version 11.6.0
+
 ## 0.50.0
 
 * Update resource specification document to version 11.4.0
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2IntegrationTlsConfig.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2IntegrationTlsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2IntegrationTlsConfig.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html
+
+module Stratosphere.ResourceProperties.ApiGatewayV2IntegrationTlsConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayV2IntegrationTlsConfig. See
+-- 'apiGatewayV2IntegrationTlsConfig' for a more convenient constructor.
+data ApiGatewayV2IntegrationTlsConfig =
+  ApiGatewayV2IntegrationTlsConfig
+  { _apiGatewayV2IntegrationTlsConfigServerNameToVerify :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayV2IntegrationTlsConfig where
+  toJSON ApiGatewayV2IntegrationTlsConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("ServerNameToVerify",) . toJSON) _apiGatewayV2IntegrationTlsConfigServerNameToVerify
+    ]
+
+-- | Constructor for 'ApiGatewayV2IntegrationTlsConfig' containing required
+-- fields as arguments.
+apiGatewayV2IntegrationTlsConfig
+  :: ApiGatewayV2IntegrationTlsConfig
+apiGatewayV2IntegrationTlsConfig  =
+  ApiGatewayV2IntegrationTlsConfig
+  { _apiGatewayV2IntegrationTlsConfigServerNameToVerify = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html#cfn-apigatewayv2-integration-tlsconfig-servernametoverify
+agvitcServerNameToVerify :: Lens' ApiGatewayV2IntegrationTlsConfig (Maybe (Val Text))
+agvitcServerNameToVerify = lens _apiGatewayV2IntegrationTlsConfigServerNameToVerify (\s a -> s { _apiGatewayV2IntegrationTlsConfigServerNameToVerify = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CassandraTableBillingMode.hs b/library-gen/Stratosphere/ResourceProperties/CassandraTableBillingMode.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CassandraTableBillingMode.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html
+
+module Stratosphere.ResourceProperties.CassandraTableBillingMode where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CassandraTableProvisionedThroughput
+
+-- | Full data type definition for CassandraTableBillingMode. See
+-- 'cassandraTableBillingMode' for a more convenient constructor.
+data CassandraTableBillingMode =
+  CassandraTableBillingMode
+  { _cassandraTableBillingModeMode :: Val Text
+  , _cassandraTableBillingModeProvisionedThroughput :: Maybe CassandraTableProvisionedThroughput
+  } deriving (Show, Eq)
+
+instance ToJSON CassandraTableBillingMode where
+  toJSON CassandraTableBillingMode{..} =
+    object $
+    catMaybes
+    [ (Just . ("Mode",) . toJSON) _cassandraTableBillingModeMode
+    , fmap (("ProvisionedThroughput",) . toJSON) _cassandraTableBillingModeProvisionedThroughput
+    ]
+
+-- | Constructor for 'CassandraTableBillingMode' containing required fields as
+-- arguments.
+cassandraTableBillingMode
+  :: Val Text -- ^ 'ctbmMode'
+  -> CassandraTableBillingMode
+cassandraTableBillingMode modearg =
+  CassandraTableBillingMode
+  { _cassandraTableBillingModeMode = modearg
+  , _cassandraTableBillingModeProvisionedThroughput = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-mode
+ctbmMode :: Lens' CassandraTableBillingMode (Val Text)
+ctbmMode = lens _cassandraTableBillingModeMode (\s a -> s { _cassandraTableBillingModeMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-provisionedthroughput
+ctbmProvisionedThroughput :: Lens' CassandraTableBillingMode (Maybe CassandraTableProvisionedThroughput)
+ctbmProvisionedThroughput = lens _cassandraTableBillingModeProvisionedThroughput (\s a -> s { _cassandraTableBillingModeProvisionedThroughput = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CassandraTableClusteringKeyColumn.hs b/library-gen/Stratosphere/ResourceProperties/CassandraTableClusteringKeyColumn.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CassandraTableClusteringKeyColumn.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html
+
+module Stratosphere.ResourceProperties.CassandraTableClusteringKeyColumn where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CassandraTableColumn
+
+-- | Full data type definition for CassandraTableClusteringKeyColumn. See
+-- 'cassandraTableClusteringKeyColumn' for a more convenient constructor.
+data CassandraTableClusteringKeyColumn =
+  CassandraTableClusteringKeyColumn
+  { _cassandraTableClusteringKeyColumnColumn :: CassandraTableColumn
+  , _cassandraTableClusteringKeyColumnOrderBy :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CassandraTableClusteringKeyColumn where
+  toJSON CassandraTableClusteringKeyColumn{..} =
+    object $
+    catMaybes
+    [ (Just . ("Column",) . toJSON) _cassandraTableClusteringKeyColumnColumn
+    , fmap (("OrderBy",) . toJSON) _cassandraTableClusteringKeyColumnOrderBy
+    ]
+
+-- | Constructor for 'CassandraTableClusteringKeyColumn' containing required
+-- fields as arguments.
+cassandraTableClusteringKeyColumn
+  :: CassandraTableColumn -- ^ 'ctckcColumn'
+  -> CassandraTableClusteringKeyColumn
+cassandraTableClusteringKeyColumn columnarg =
+  CassandraTableClusteringKeyColumn
+  { _cassandraTableClusteringKeyColumnColumn = columnarg
+  , _cassandraTableClusteringKeyColumnOrderBy = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-column
+ctckcColumn :: Lens' CassandraTableClusteringKeyColumn CassandraTableColumn
+ctckcColumn = lens _cassandraTableClusteringKeyColumnColumn (\s a -> s { _cassandraTableClusteringKeyColumnColumn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-orderby
+ctckcOrderBy :: Lens' CassandraTableClusteringKeyColumn (Maybe (Val Text))
+ctckcOrderBy = lens _cassandraTableClusteringKeyColumnOrderBy (\s a -> s { _cassandraTableClusteringKeyColumnOrderBy = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CassandraTableColumn.hs b/library-gen/Stratosphere/ResourceProperties/CassandraTableColumn.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CassandraTableColumn.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html
+
+module Stratosphere.ResourceProperties.CassandraTableColumn where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CassandraTableColumn. See
+-- 'cassandraTableColumn' for a more convenient constructor.
+data CassandraTableColumn =
+  CassandraTableColumn
+  { _cassandraTableColumnColumnName :: Val Text
+  , _cassandraTableColumnColumnType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CassandraTableColumn where
+  toJSON CassandraTableColumn{..} =
+    object $
+    catMaybes
+    [ (Just . ("ColumnName",) . toJSON) _cassandraTableColumnColumnName
+    , (Just . ("ColumnType",) . toJSON) _cassandraTableColumnColumnType
+    ]
+
+-- | Constructor for 'CassandraTableColumn' containing required fields as
+-- arguments.
+cassandraTableColumn
+  :: Val Text -- ^ 'ctcColumnName'
+  -> Val Text -- ^ 'ctcColumnType'
+  -> CassandraTableColumn
+cassandraTableColumn columnNamearg columnTypearg =
+  CassandraTableColumn
+  { _cassandraTableColumnColumnName = columnNamearg
+  , _cassandraTableColumnColumnType = columnTypearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columnname
+ctcColumnName :: Lens' CassandraTableColumn (Val Text)
+ctcColumnName = lens _cassandraTableColumnColumnName (\s a -> s { _cassandraTableColumnColumnName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columntype
+ctcColumnType :: Lens' CassandraTableColumn (Val Text)
+ctcColumnType = lens _cassandraTableColumnColumnType (\s a -> s { _cassandraTableColumnColumnType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CassandraTableProvisionedThroughput.hs b/library-gen/Stratosphere/ResourceProperties/CassandraTableProvisionedThroughput.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CassandraTableProvisionedThroughput.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html
+
+module Stratosphere.ResourceProperties.CassandraTableProvisionedThroughput where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CassandraTableProvisionedThroughput. See
+-- 'cassandraTableProvisionedThroughput' for a more convenient constructor.
+data CassandraTableProvisionedThroughput =
+  CassandraTableProvisionedThroughput
+  { _cassandraTableProvisionedThroughputReadCapacityUnits :: Val Integer
+  , _cassandraTableProvisionedThroughputWriteCapacityUnits :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON CassandraTableProvisionedThroughput where
+  toJSON CassandraTableProvisionedThroughput{..} =
+    object $
+    catMaybes
+    [ (Just . ("ReadCapacityUnits",) . toJSON) _cassandraTableProvisionedThroughputReadCapacityUnits
+    , (Just . ("WriteCapacityUnits",) . toJSON) _cassandraTableProvisionedThroughputWriteCapacityUnits
+    ]
+
+-- | Constructor for 'CassandraTableProvisionedThroughput' containing required
+-- fields as arguments.
+cassandraTableProvisionedThroughput
+  :: Val Integer -- ^ 'ctptReadCapacityUnits'
+  -> Val Integer -- ^ 'ctptWriteCapacityUnits'
+  -> CassandraTableProvisionedThroughput
+cassandraTableProvisionedThroughput readCapacityUnitsarg writeCapacityUnitsarg =
+  CassandraTableProvisionedThroughput
+  { _cassandraTableProvisionedThroughputReadCapacityUnits = readCapacityUnitsarg
+  , _cassandraTableProvisionedThroughputWriteCapacityUnits = writeCapacityUnitsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-readcapacityunits
+ctptReadCapacityUnits :: Lens' CassandraTableProvisionedThroughput (Val Integer)
+ctptReadCapacityUnits = lens _cassandraTableProvisionedThroughputReadCapacityUnits (\s a -> s { _cassandraTableProvisionedThroughputReadCapacityUnits = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-writecapacityunits
+ctptWriteCapacityUnits :: Lens' CassandraTableProvisionedThroughput (Val Integer)
+ctptWriteCapacityUnits = lens _cassandraTableProvisionedThroughputWriteCapacityUnits (\s a -> s { _cassandraTableProvisionedThroughputWriteCapacityUnits = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs
@@ -12,6 +12,7 @@
 import Stratosphere.ResourceProperties.CloudFrontDistributionCustomErrorResponse
 import Stratosphere.ResourceProperties.CloudFrontDistributionDefaultCacheBehavior
 import Stratosphere.ResourceProperties.CloudFrontDistributionLogging
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroups
 import Stratosphere.ResourceProperties.CloudFrontDistributionOrigin
 import Stratosphere.ResourceProperties.CloudFrontDistributionRestrictions
 import Stratosphere.ResourceProperties.CloudFrontDistributionViewerCertificate
@@ -31,6 +32,7 @@
   , _cloudFrontDistributionDistributionConfigHttpVersion :: Maybe (Val Text)
   , _cloudFrontDistributionDistributionConfigIPV6Enabled :: Maybe (Val Bool)
   , _cloudFrontDistributionDistributionConfigLogging :: Maybe CloudFrontDistributionLogging
+  , _cloudFrontDistributionDistributionConfigOriginGroups :: Maybe CloudFrontDistributionOriginGroups
   , _cloudFrontDistributionDistributionConfigOrigins :: Maybe [CloudFrontDistributionOrigin]
   , _cloudFrontDistributionDistributionConfigPriceClass :: Maybe (Val Text)
   , _cloudFrontDistributionDistributionConfigRestrictions :: Maybe CloudFrontDistributionRestrictions
@@ -52,6 +54,7 @@
     , fmap (("HttpVersion",) . toJSON) _cloudFrontDistributionDistributionConfigHttpVersion
     , fmap (("IPV6Enabled",) . toJSON) _cloudFrontDistributionDistributionConfigIPV6Enabled
     , fmap (("Logging",) . toJSON) _cloudFrontDistributionDistributionConfigLogging
+    , fmap (("OriginGroups",) . toJSON) _cloudFrontDistributionDistributionConfigOriginGroups
     , fmap (("Origins",) . toJSON) _cloudFrontDistributionDistributionConfigOrigins
     , fmap (("PriceClass",) . toJSON) _cloudFrontDistributionDistributionConfigPriceClass
     , fmap (("Restrictions",) . toJSON) _cloudFrontDistributionDistributionConfigRestrictions
@@ -76,6 +79,7 @@
   , _cloudFrontDistributionDistributionConfigHttpVersion = Nothing
   , _cloudFrontDistributionDistributionConfigIPV6Enabled = Nothing
   , _cloudFrontDistributionDistributionConfigLogging = Nothing
+  , _cloudFrontDistributionDistributionConfigOriginGroups = Nothing
   , _cloudFrontDistributionDistributionConfigOrigins = Nothing
   , _cloudFrontDistributionDistributionConfigPriceClass = Nothing
   , _cloudFrontDistributionDistributionConfigRestrictions = Nothing
@@ -122,6 +126,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-logging
 cfddcLogging :: Lens' CloudFrontDistributionDistributionConfig (Maybe CloudFrontDistributionLogging)
 cfddcLogging = lens _cloudFrontDistributionDistributionConfigLogging (\s a -> s { _cloudFrontDistributionDistributionConfigLogging = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origingroups
+cfddcOriginGroups :: Lens' CloudFrontDistributionDistributionConfig (Maybe CloudFrontDistributionOriginGroups)
+cfddcOriginGroups = lens _cloudFrontDistributionDistributionConfigOriginGroups (\s a -> s { _cloudFrontDistributionDistributionConfigOriginGroups = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origins
 cfddcOrigins :: Lens' CloudFrontDistributionDistributionConfig (Maybe [CloudFrontDistributionOrigin])
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLambdaFunctionAssociation.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLambdaFunctionAssociation.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLambdaFunctionAssociation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLambdaFunctionAssociation.hs
@@ -17,6 +17,7 @@
 data CloudFrontDistributionLambdaFunctionAssociation =
   CloudFrontDistributionLambdaFunctionAssociation
   { _cloudFrontDistributionLambdaFunctionAssociationEventType :: Maybe (Val Text)
+  , _cloudFrontDistributionLambdaFunctionAssociationIncludeBody :: Maybe (Val Bool)
   , _cloudFrontDistributionLambdaFunctionAssociationLambdaFunctionARN :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -25,6 +26,7 @@
     object $
     catMaybes
     [ fmap (("EventType",) . toJSON) _cloudFrontDistributionLambdaFunctionAssociationEventType
+    , fmap (("IncludeBody",) . toJSON) _cloudFrontDistributionLambdaFunctionAssociationIncludeBody
     , fmap (("LambdaFunctionARN",) . toJSON) _cloudFrontDistributionLambdaFunctionAssociationLambdaFunctionARN
     ]
 
@@ -35,12 +37,17 @@
 cloudFrontDistributionLambdaFunctionAssociation  =
   CloudFrontDistributionLambdaFunctionAssociation
   { _cloudFrontDistributionLambdaFunctionAssociationEventType = Nothing
+  , _cloudFrontDistributionLambdaFunctionAssociationIncludeBody = Nothing
   , _cloudFrontDistributionLambdaFunctionAssociationLambdaFunctionARN = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-eventtype
 cfdlfaEventType :: Lens' CloudFrontDistributionLambdaFunctionAssociation (Maybe (Val Text))
 cfdlfaEventType = lens _cloudFrontDistributionLambdaFunctionAssociationEventType (\s a -> s { _cloudFrontDistributionLambdaFunctionAssociationEventType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-includebody
+cfdlfaIncludeBody :: Lens' CloudFrontDistributionLambdaFunctionAssociation (Maybe (Val Bool))
+cfdlfaIncludeBody = lens _cloudFrontDistributionLambdaFunctionAssociationIncludeBody (\s a -> s { _cloudFrontDistributionLambdaFunctionAssociationIncludeBody = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-lambdafunctionarn
 cfdlfaLambdaFunctionARN :: Lens' CloudFrontDistributionLambdaFunctionAssociation (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroup.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroup.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html
+
+module Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupFailoverCriteria
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMembers
+
+-- | Full data type definition for CloudFrontDistributionOriginGroup. See
+-- 'cloudFrontDistributionOriginGroup' for a more convenient constructor.
+data CloudFrontDistributionOriginGroup =
+  CloudFrontDistributionOriginGroup
+  { _cloudFrontDistributionOriginGroupFailoverCriteria :: CloudFrontDistributionOriginGroupFailoverCriteria
+  , _cloudFrontDistributionOriginGroupId :: Val Text
+  , _cloudFrontDistributionOriginGroupMembers :: CloudFrontDistributionOriginGroupMembers
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontDistributionOriginGroup where
+  toJSON CloudFrontDistributionOriginGroup{..} =
+    object $
+    catMaybes
+    [ (Just . ("FailoverCriteria",) . toJSON) _cloudFrontDistributionOriginGroupFailoverCriteria
+    , (Just . ("Id",) . toJSON) _cloudFrontDistributionOriginGroupId
+    , (Just . ("Members",) . toJSON) _cloudFrontDistributionOriginGroupMembers
+    ]
+
+-- | Constructor for 'CloudFrontDistributionOriginGroup' containing required
+-- fields as arguments.
+cloudFrontDistributionOriginGroup
+  :: CloudFrontDistributionOriginGroupFailoverCriteria -- ^ 'cfdogFailoverCriteria'
+  -> Val Text -- ^ 'cfdogId'
+  -> CloudFrontDistributionOriginGroupMembers -- ^ 'cfdogMembers'
+  -> CloudFrontDistributionOriginGroup
+cloudFrontDistributionOriginGroup failoverCriteriaarg idarg membersarg =
+  CloudFrontDistributionOriginGroup
+  { _cloudFrontDistributionOriginGroupFailoverCriteria = failoverCriteriaarg
+  , _cloudFrontDistributionOriginGroupId = idarg
+  , _cloudFrontDistributionOriginGroupMembers = membersarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-failovercriteria
+cfdogFailoverCriteria :: Lens' CloudFrontDistributionOriginGroup CloudFrontDistributionOriginGroupFailoverCriteria
+cfdogFailoverCriteria = lens _cloudFrontDistributionOriginGroupFailoverCriteria (\s a -> s { _cloudFrontDistributionOriginGroupFailoverCriteria = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-id
+cfdogId :: Lens' CloudFrontDistributionOriginGroup (Val Text)
+cfdogId = lens _cloudFrontDistributionOriginGroupId (\s a -> s { _cloudFrontDistributionOriginGroupId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-members
+cfdogMembers :: Lens' CloudFrontDistributionOriginGroup CloudFrontDistributionOriginGroupMembers
+cfdogMembers = lens _cloudFrontDistributionOriginGroupMembers (\s a -> s { _cloudFrontDistributionOriginGroupMembers = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupFailoverCriteria.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupFailoverCriteria.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupFailoverCriteria.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html
+
+module Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupFailoverCriteria where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontDistributionStatusCodes
+
+-- | Full data type definition for
+-- CloudFrontDistributionOriginGroupFailoverCriteria. See
+-- 'cloudFrontDistributionOriginGroupFailoverCriteria' for a more convenient
+-- constructor.
+data CloudFrontDistributionOriginGroupFailoverCriteria =
+  CloudFrontDistributionOriginGroupFailoverCriteria
+  { _cloudFrontDistributionOriginGroupFailoverCriteriaStatusCodes :: CloudFrontDistributionStatusCodes
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontDistributionOriginGroupFailoverCriteria where
+  toJSON CloudFrontDistributionOriginGroupFailoverCriteria{..} =
+    object $
+    catMaybes
+    [ (Just . ("StatusCodes",) . toJSON) _cloudFrontDistributionOriginGroupFailoverCriteriaStatusCodes
+    ]
+
+-- | Constructor for 'CloudFrontDistributionOriginGroupFailoverCriteria'
+-- containing required fields as arguments.
+cloudFrontDistributionOriginGroupFailoverCriteria
+  :: CloudFrontDistributionStatusCodes -- ^ 'cfdogfcStatusCodes'
+  -> CloudFrontDistributionOriginGroupFailoverCriteria
+cloudFrontDistributionOriginGroupFailoverCriteria statusCodesarg =
+  CloudFrontDistributionOriginGroupFailoverCriteria
+  { _cloudFrontDistributionOriginGroupFailoverCriteriaStatusCodes = statusCodesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html#cfn-cloudfront-distribution-origingroupfailovercriteria-statuscodes
+cfdogfcStatusCodes :: Lens' CloudFrontDistributionOriginGroupFailoverCriteria CloudFrontDistributionStatusCodes
+cfdogfcStatusCodes = lens _cloudFrontDistributionOriginGroupFailoverCriteriaStatusCodes (\s a -> s { _cloudFrontDistributionOriginGroupFailoverCriteriaStatusCodes = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupMember.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupMember.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupMember.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html
+
+module Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMember where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontDistributionOriginGroupMember.
+-- See 'cloudFrontDistributionOriginGroupMember' for a more convenient
+-- constructor.
+data CloudFrontDistributionOriginGroupMember =
+  CloudFrontDistributionOriginGroupMember
+  { _cloudFrontDistributionOriginGroupMemberOriginId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontDistributionOriginGroupMember where
+  toJSON CloudFrontDistributionOriginGroupMember{..} =
+    object $
+    catMaybes
+    [ (Just . ("OriginId",) . toJSON) _cloudFrontDistributionOriginGroupMemberOriginId
+    ]
+
+-- | Constructor for 'CloudFrontDistributionOriginGroupMember' containing
+-- required fields as arguments.
+cloudFrontDistributionOriginGroupMember
+  :: Val Text -- ^ 'cfdogmOriginId'
+  -> CloudFrontDistributionOriginGroupMember
+cloudFrontDistributionOriginGroupMember originIdarg =
+  CloudFrontDistributionOriginGroupMember
+  { _cloudFrontDistributionOriginGroupMemberOriginId = originIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html#cfn-cloudfront-distribution-origingroupmember-originid
+cfdogmOriginId :: Lens' CloudFrontDistributionOriginGroupMember (Val Text)
+cfdogmOriginId = lens _cloudFrontDistributionOriginGroupMemberOriginId (\s a -> s { _cloudFrontDistributionOriginGroupMemberOriginId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupMembers.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupMembers.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroupMembers.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html
+
+module Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMembers where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMember
+
+-- | Full data type definition for CloudFrontDistributionOriginGroupMembers.
+-- See 'cloudFrontDistributionOriginGroupMembers' for a more convenient
+-- constructor.
+data CloudFrontDistributionOriginGroupMembers =
+  CloudFrontDistributionOriginGroupMembers
+  { _cloudFrontDistributionOriginGroupMembersItems :: [CloudFrontDistributionOriginGroupMember]
+  , _cloudFrontDistributionOriginGroupMembersQuantity :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontDistributionOriginGroupMembers where
+  toJSON CloudFrontDistributionOriginGroupMembers{..} =
+    object $
+    catMaybes
+    [ (Just . ("Items",) . toJSON) _cloudFrontDistributionOriginGroupMembersItems
+    , (Just . ("Quantity",) . toJSON) _cloudFrontDistributionOriginGroupMembersQuantity
+    ]
+
+-- | Constructor for 'CloudFrontDistributionOriginGroupMembers' containing
+-- required fields as arguments.
+cloudFrontDistributionOriginGroupMembers
+  :: [CloudFrontDistributionOriginGroupMember] -- ^ 'cfdogmItems'
+  -> Val Integer -- ^ 'cfdogmQuantity'
+  -> CloudFrontDistributionOriginGroupMembers
+cloudFrontDistributionOriginGroupMembers itemsarg quantityarg =
+  CloudFrontDistributionOriginGroupMembers
+  { _cloudFrontDistributionOriginGroupMembersItems = itemsarg
+  , _cloudFrontDistributionOriginGroupMembersQuantity = quantityarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-items
+cfdogmItems :: Lens' CloudFrontDistributionOriginGroupMembers [CloudFrontDistributionOriginGroupMember]
+cfdogmItems = lens _cloudFrontDistributionOriginGroupMembersItems (\s a -> s { _cloudFrontDistributionOriginGroupMembersItems = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-quantity
+cfdogmQuantity :: Lens' CloudFrontDistributionOriginGroupMembers (Val Integer)
+cfdogmQuantity = lens _cloudFrontDistributionOriginGroupMembersQuantity (\s a -> s { _cloudFrontDistributionOriginGroupMembersQuantity = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroups.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroups.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginGroups.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html
+
+module Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroups where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroup
+
+-- | Full data type definition for CloudFrontDistributionOriginGroups. See
+-- 'cloudFrontDistributionOriginGroups' for a more convenient constructor.
+data CloudFrontDistributionOriginGroups =
+  CloudFrontDistributionOriginGroups
+  { _cloudFrontDistributionOriginGroupsItems :: Maybe [CloudFrontDistributionOriginGroup]
+  , _cloudFrontDistributionOriginGroupsQuantity :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontDistributionOriginGroups where
+  toJSON CloudFrontDistributionOriginGroups{..} =
+    object $
+    catMaybes
+    [ fmap (("Items",) . toJSON) _cloudFrontDistributionOriginGroupsItems
+    , (Just . ("Quantity",) . toJSON) _cloudFrontDistributionOriginGroupsQuantity
+    ]
+
+-- | Constructor for 'CloudFrontDistributionOriginGroups' containing required
+-- fields as arguments.
+cloudFrontDistributionOriginGroups
+  :: Val Integer -- ^ 'cfdogQuantity'
+  -> CloudFrontDistributionOriginGroups
+cloudFrontDistributionOriginGroups quantityarg =
+  CloudFrontDistributionOriginGroups
+  { _cloudFrontDistributionOriginGroupsItems = Nothing
+  , _cloudFrontDistributionOriginGroupsQuantity = quantityarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-items
+cfdogItems :: Lens' CloudFrontDistributionOriginGroups (Maybe [CloudFrontDistributionOriginGroup])
+cfdogItems = lens _cloudFrontDistributionOriginGroupsItems (\s a -> s { _cloudFrontDistributionOriginGroupsItems = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-quantity
+cfdogQuantity :: Lens' CloudFrontDistributionOriginGroups (Val Integer)
+cfdogQuantity = lens _cloudFrontDistributionOriginGroupsQuantity (\s a -> s { _cloudFrontDistributionOriginGroupsQuantity = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionStatusCodes.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionStatusCodes.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionStatusCodes.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html
+
+module Stratosphere.ResourceProperties.CloudFrontDistributionStatusCodes where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontDistributionStatusCodes. See
+-- 'cloudFrontDistributionStatusCodes' for a more convenient constructor.
+data CloudFrontDistributionStatusCodes =
+  CloudFrontDistributionStatusCodes
+  { _cloudFrontDistributionStatusCodesItems :: ValList Integer
+  , _cloudFrontDistributionStatusCodesQuantity :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontDistributionStatusCodes where
+  toJSON CloudFrontDistributionStatusCodes{..} =
+    object $
+    catMaybes
+    [ (Just . ("Items",) . toJSON) _cloudFrontDistributionStatusCodesItems
+    , (Just . ("Quantity",) . toJSON) _cloudFrontDistributionStatusCodesQuantity
+    ]
+
+-- | Constructor for 'CloudFrontDistributionStatusCodes' containing required
+-- fields as arguments.
+cloudFrontDistributionStatusCodes
+  :: ValList Integer -- ^ 'cfdscItems'
+  -> Val Integer -- ^ 'cfdscQuantity'
+  -> CloudFrontDistributionStatusCodes
+cloudFrontDistributionStatusCodes itemsarg quantityarg =
+  CloudFrontDistributionStatusCodes
+  { _cloudFrontDistributionStatusCodesItems = itemsarg
+  , _cloudFrontDistributionStatusCodesQuantity = quantityarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-items
+cfdscItems :: Lens' CloudFrontDistributionStatusCodes (ValList Integer)
+cfdscItems = lens _cloudFrontDistributionStatusCodesItems (\s a -> s { _cloudFrontDistributionStatusCodesItems = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-quantity
+cfdscQuantity :: Lens' CloudFrontDistributionStatusCodes (Val Integer)
+cfdscQuantity = lens _cloudFrontDistributionStatusCodesQuantity (\s a -> s { _cloudFrontDistributionStatusCodesQuantity = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/DMSEndpointKafkaSettings.hs b/library-gen/Stratosphere/ResourceProperties/DMSEndpointKafkaSettings.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/DMSEndpointKafkaSettings.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html
+
+module Stratosphere.ResourceProperties.DMSEndpointKafkaSettings where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for DMSEndpointKafkaSettings. See
+-- 'dmsEndpointKafkaSettings' for a more convenient constructor.
+data DMSEndpointKafkaSettings =
+  DMSEndpointKafkaSettings
+  { _dMSEndpointKafkaSettingsBroker :: Maybe (Val Text)
+  , _dMSEndpointKafkaSettingsTopic :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON DMSEndpointKafkaSettings where
+  toJSON DMSEndpointKafkaSettings{..} =
+    object $
+    catMaybes
+    [ fmap (("Broker",) . toJSON) _dMSEndpointKafkaSettingsBroker
+    , fmap (("Topic",) . toJSON) _dMSEndpointKafkaSettingsTopic
+    ]
+
+-- | Constructor for 'DMSEndpointKafkaSettings' containing required fields as
+-- arguments.
+dmsEndpointKafkaSettings
+  :: DMSEndpointKafkaSettings
+dmsEndpointKafkaSettings  =
+  DMSEndpointKafkaSettings
+  { _dMSEndpointKafkaSettingsBroker = Nothing
+  , _dMSEndpointKafkaSettingsTopic = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-broker
+dmseksBroker :: Lens' DMSEndpointKafkaSettings (Maybe (Val Text))
+dmseksBroker = lens _dMSEndpointKafkaSettingsBroker (\s a -> s { _dMSEndpointKafkaSettingsBroker = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-topic
+dmseksTopic :: Lens' DMSEndpointKafkaSettings (Maybe (Val Text))
+dmseksTopic = lens _dMSEndpointKafkaSettingsTopic (\s a -> s { _dMSEndpointKafkaSettingsTopic = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterBrokerLogs.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterBrokerLogs.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterBrokerLogs.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html
+
+module Stratosphere.ResourceProperties.MSKClusterBrokerLogs where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.MSKClusterCloudWatchLogs
+import Stratosphere.ResourceProperties.MSKClusterFirehose
+import Stratosphere.ResourceProperties.MSKClusterS3
+
+-- | Full data type definition for MSKClusterBrokerLogs. See
+-- 'mskClusterBrokerLogs' for a more convenient constructor.
+data MSKClusterBrokerLogs =
+  MSKClusterBrokerLogs
+  { _mSKClusterBrokerLogsCloudWatchLogs :: Maybe MSKClusterCloudWatchLogs
+  , _mSKClusterBrokerLogsFirehose :: Maybe MSKClusterFirehose
+  , _mSKClusterBrokerLogsS3 :: Maybe MSKClusterS3
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterBrokerLogs where
+  toJSON MSKClusterBrokerLogs{..} =
+    object $
+    catMaybes
+    [ fmap (("CloudWatchLogs",) . toJSON) _mSKClusterBrokerLogsCloudWatchLogs
+    , fmap (("Firehose",) . toJSON) _mSKClusterBrokerLogsFirehose
+    , fmap (("S3",) . toJSON) _mSKClusterBrokerLogsS3
+    ]
+
+-- | Constructor for 'MSKClusterBrokerLogs' containing required fields as
+-- arguments.
+mskClusterBrokerLogs
+  :: MSKClusterBrokerLogs
+mskClusterBrokerLogs  =
+  MSKClusterBrokerLogs
+  { _mSKClusterBrokerLogsCloudWatchLogs = Nothing
+  , _mSKClusterBrokerLogsFirehose = Nothing
+  , _mSKClusterBrokerLogsS3 = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-cloudwatchlogs
+mskcblCloudWatchLogs :: Lens' MSKClusterBrokerLogs (Maybe MSKClusterCloudWatchLogs)
+mskcblCloudWatchLogs = lens _mSKClusterBrokerLogsCloudWatchLogs (\s a -> s { _mSKClusterBrokerLogsCloudWatchLogs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-firehose
+mskcblFirehose :: Lens' MSKClusterBrokerLogs (Maybe MSKClusterFirehose)
+mskcblFirehose = lens _mSKClusterBrokerLogsFirehose (\s a -> s { _mSKClusterBrokerLogsFirehose = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3
+mskcblS3 :: Lens' MSKClusterBrokerLogs (Maybe MSKClusterS3)
+mskcblS3 = lens _mSKClusterBrokerLogsS3 (\s a -> s { _mSKClusterBrokerLogsS3 = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterCloudWatchLogs.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterCloudWatchLogs.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterCloudWatchLogs.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html
+
+module Stratosphere.ResourceProperties.MSKClusterCloudWatchLogs where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MSKClusterCloudWatchLogs. See
+-- 'mskClusterCloudWatchLogs' for a more convenient constructor.
+data MSKClusterCloudWatchLogs =
+  MSKClusterCloudWatchLogs
+  { _mSKClusterCloudWatchLogsEnabled :: Val Bool
+  , _mSKClusterCloudWatchLogsLogGroup :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterCloudWatchLogs where
+  toJSON MSKClusterCloudWatchLogs{..} =
+    object $
+    catMaybes
+    [ (Just . ("Enabled",) . toJSON) _mSKClusterCloudWatchLogsEnabled
+    , fmap (("LogGroup",) . toJSON) _mSKClusterCloudWatchLogsLogGroup
+    ]
+
+-- | Constructor for 'MSKClusterCloudWatchLogs' containing required fields as
+-- arguments.
+mskClusterCloudWatchLogs
+  :: Val Bool -- ^ 'mskccwlEnabled'
+  -> MSKClusterCloudWatchLogs
+mskClusterCloudWatchLogs enabledarg =
+  MSKClusterCloudWatchLogs
+  { _mSKClusterCloudWatchLogsEnabled = enabledarg
+  , _mSKClusterCloudWatchLogsLogGroup = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-enabled
+mskccwlEnabled :: Lens' MSKClusterCloudWatchLogs (Val Bool)
+mskccwlEnabled = lens _mSKClusterCloudWatchLogsEnabled (\s a -> s { _mSKClusterCloudWatchLogsEnabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-loggroup
+mskccwlLogGroup :: Lens' MSKClusterCloudWatchLogs (Maybe (Val Text))
+mskccwlLogGroup = lens _mSKClusterCloudWatchLogsLogGroup (\s a -> s { _mSKClusterCloudWatchLogsLogGroup = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterFirehose.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterFirehose.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterFirehose.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html
+
+module Stratosphere.ResourceProperties.MSKClusterFirehose where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MSKClusterFirehose. See
+-- 'mskClusterFirehose' for a more convenient constructor.
+data MSKClusterFirehose =
+  MSKClusterFirehose
+  { _mSKClusterFirehoseDeliveryStream :: Maybe (Val Text)
+  , _mSKClusterFirehoseEnabled :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterFirehose where
+  toJSON MSKClusterFirehose{..} =
+    object $
+    catMaybes
+    [ fmap (("DeliveryStream",) . toJSON) _mSKClusterFirehoseDeliveryStream
+    , (Just . ("Enabled",) . toJSON) _mSKClusterFirehoseEnabled
+    ]
+
+-- | Constructor for 'MSKClusterFirehose' containing required fields as
+-- arguments.
+mskClusterFirehose
+  :: Val Bool -- ^ 'mskcfEnabled'
+  -> MSKClusterFirehose
+mskClusterFirehose enabledarg =
+  MSKClusterFirehose
+  { _mSKClusterFirehoseDeliveryStream = Nothing
+  , _mSKClusterFirehoseEnabled = enabledarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-deliverystream
+mskcfDeliveryStream :: Lens' MSKClusterFirehose (Maybe (Val Text))
+mskcfDeliveryStream = lens _mSKClusterFirehoseDeliveryStream (\s a -> s { _mSKClusterFirehoseDeliveryStream = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-enabled
+mskcfEnabled :: Lens' MSKClusterFirehose (Val Bool)
+mskcfEnabled = lens _mSKClusterFirehoseEnabled (\s a -> s { _mSKClusterFirehoseEnabled = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterLoggingInfo.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterLoggingInfo.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterLoggingInfo.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html
+
+module Stratosphere.ResourceProperties.MSKClusterLoggingInfo where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.MSKClusterBrokerLogs
+
+-- | Full data type definition for MSKClusterLoggingInfo. See
+-- 'mskClusterLoggingInfo' for a more convenient constructor.
+data MSKClusterLoggingInfo =
+  MSKClusterLoggingInfo
+  { _mSKClusterLoggingInfoBrokerLogs :: MSKClusterBrokerLogs
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterLoggingInfo where
+  toJSON MSKClusterLoggingInfo{..} =
+    object $
+    catMaybes
+    [ (Just . ("BrokerLogs",) . toJSON) _mSKClusterLoggingInfoBrokerLogs
+    ]
+
+-- | Constructor for 'MSKClusterLoggingInfo' containing required fields as
+-- arguments.
+mskClusterLoggingInfo
+  :: MSKClusterBrokerLogs -- ^ 'mskcliBrokerLogs'
+  -> MSKClusterLoggingInfo
+mskClusterLoggingInfo brokerLogsarg =
+  MSKClusterLoggingInfo
+  { _mSKClusterLoggingInfoBrokerLogs = brokerLogsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html#cfn-msk-cluster-logginginfo-brokerlogs
+mskcliBrokerLogs :: Lens' MSKClusterLoggingInfo MSKClusterBrokerLogs
+mskcliBrokerLogs = lens _mSKClusterLoggingInfoBrokerLogs (\s a -> s { _mSKClusterLoggingInfoBrokerLogs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MSKClusterS3.hs b/library-gen/Stratosphere/ResourceProperties/MSKClusterS3.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MSKClusterS3.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html
+
+module Stratosphere.ResourceProperties.MSKClusterS3 where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MSKClusterS3. See 'mskClusterS3' for a more
+-- convenient constructor.
+data MSKClusterS3 =
+  MSKClusterS3
+  { _mSKClusterS3Bucket :: Maybe (Val Text)
+  , _mSKClusterS3Enabled :: Val Bool
+  , _mSKClusterS3Prefix :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON MSKClusterS3 where
+  toJSON MSKClusterS3{..} =
+    object $
+    catMaybes
+    [ fmap (("Bucket",) . toJSON) _mSKClusterS3Bucket
+    , (Just . ("Enabled",) . toJSON) _mSKClusterS3Enabled
+    , fmap (("Prefix",) . toJSON) _mSKClusterS3Prefix
+    ]
+
+-- | Constructor for 'MSKClusterS3' containing required fields as arguments.
+mskClusterS3
+  :: Val Bool -- ^ 'mskcsEnabled'
+  -> MSKClusterS3
+mskClusterS3 enabledarg =
+  MSKClusterS3
+  { _mSKClusterS3Bucket = Nothing
+  , _mSKClusterS3Enabled = enabledarg
+  , _mSKClusterS3Prefix = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-bucket
+mskcsBucket :: Lens' MSKClusterS3 (Maybe (Val Text))
+mskcsBucket = lens _mSKClusterS3Bucket (\s a -> s { _mSKClusterS3Bucket = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-enabled
+mskcsEnabled :: Lens' MSKClusterS3 (Val Bool)
+mskcsEnabled = lens _mSKClusterS3Enabled (\s a -> s { _mSKClusterS3Enabled = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-prefix
+mskcsPrefix :: Lens' MSKClusterS3 (Maybe (Val Text))
+mskcsPrefix = lens _mSKClusterS3Prefix (\s a -> s { _mSKClusterS3Prefix = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/NetworkManagerDeviceLocation.hs b/library-gen/Stratosphere/ResourceProperties/NetworkManagerDeviceLocation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/NetworkManagerDeviceLocation.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html
+
+module Stratosphere.ResourceProperties.NetworkManagerDeviceLocation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NetworkManagerDeviceLocation. See
+-- 'networkManagerDeviceLocation' for a more convenient constructor.
+data NetworkManagerDeviceLocation =
+  NetworkManagerDeviceLocation
+  { _networkManagerDeviceLocationAddress :: Maybe (Val Text)
+  , _networkManagerDeviceLocationLatitude :: Maybe (Val Text)
+  , _networkManagerDeviceLocationLongitude :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON NetworkManagerDeviceLocation where
+  toJSON NetworkManagerDeviceLocation{..} =
+    object $
+    catMaybes
+    [ fmap (("Address",) . toJSON) _networkManagerDeviceLocationAddress
+    , fmap (("Latitude",) . toJSON) _networkManagerDeviceLocationLatitude
+    , fmap (("Longitude",) . toJSON) _networkManagerDeviceLocationLongitude
+    ]
+
+-- | Constructor for 'NetworkManagerDeviceLocation' containing required fields
+-- as arguments.
+networkManagerDeviceLocation
+  :: NetworkManagerDeviceLocation
+networkManagerDeviceLocation  =
+  NetworkManagerDeviceLocation
+  { _networkManagerDeviceLocationAddress = Nothing
+  , _networkManagerDeviceLocationLatitude = Nothing
+  , _networkManagerDeviceLocationLongitude = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-address
+nmdlAddress :: Lens' NetworkManagerDeviceLocation (Maybe (Val Text))
+nmdlAddress = lens _networkManagerDeviceLocationAddress (\s a -> s { _networkManagerDeviceLocationAddress = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-latitude
+nmdlLatitude :: Lens' NetworkManagerDeviceLocation (Maybe (Val Text))
+nmdlLatitude = lens _networkManagerDeviceLocationLatitude (\s a -> s { _networkManagerDeviceLocationLatitude = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-longitude
+nmdlLongitude :: Lens' NetworkManagerDeviceLocation (Maybe (Val Text))
+nmdlLongitude = lens _networkManagerDeviceLocationLongitude (\s a -> s { _networkManagerDeviceLocationLongitude = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/NetworkManagerLinkBandwidth.hs b/library-gen/Stratosphere/ResourceProperties/NetworkManagerLinkBandwidth.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/NetworkManagerLinkBandwidth.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html
+
+module Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NetworkManagerLinkBandwidth. See
+-- 'networkManagerLinkBandwidth' for a more convenient constructor.
+data NetworkManagerLinkBandwidth =
+  NetworkManagerLinkBandwidth
+  { _networkManagerLinkBandwidthDownloadSpeed :: Maybe (Val Integer)
+  , _networkManagerLinkBandwidthUploadSpeed :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON NetworkManagerLinkBandwidth where
+  toJSON NetworkManagerLinkBandwidth{..} =
+    object $
+    catMaybes
+    [ fmap (("DownloadSpeed",) . toJSON) _networkManagerLinkBandwidthDownloadSpeed
+    , fmap (("UploadSpeed",) . toJSON) _networkManagerLinkBandwidthUploadSpeed
+    ]
+
+-- | Constructor for 'NetworkManagerLinkBandwidth' containing required fields
+-- as arguments.
+networkManagerLinkBandwidth
+  :: NetworkManagerLinkBandwidth
+networkManagerLinkBandwidth  =
+  NetworkManagerLinkBandwidth
+  { _networkManagerLinkBandwidthDownloadSpeed = Nothing
+  , _networkManagerLinkBandwidthUploadSpeed = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-downloadspeed
+nmlbDownloadSpeed :: Lens' NetworkManagerLinkBandwidth (Maybe (Val Integer))
+nmlbDownloadSpeed = lens _networkManagerLinkBandwidthDownloadSpeed (\s a -> s { _networkManagerLinkBandwidthDownloadSpeed = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-uploadspeed
+nmlbUploadSpeed :: Lens' NetworkManagerLinkBandwidth (Maybe (Val Integer))
+nmlbUploadSpeed = lens _networkManagerLinkBandwidthUploadSpeed (\s a -> s { _networkManagerLinkBandwidthUploadSpeed = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/NetworkManagerSiteLocation.hs b/library-gen/Stratosphere/ResourceProperties/NetworkManagerSiteLocation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/NetworkManagerSiteLocation.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html
+
+module Stratosphere.ResourceProperties.NetworkManagerSiteLocation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NetworkManagerSiteLocation. See
+-- 'networkManagerSiteLocation' for a more convenient constructor.
+data NetworkManagerSiteLocation =
+  NetworkManagerSiteLocation
+  { _networkManagerSiteLocationAddress :: Maybe (Val Text)
+  , _networkManagerSiteLocationLatitude :: Maybe (Val Text)
+  , _networkManagerSiteLocationLongitude :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON NetworkManagerSiteLocation where
+  toJSON NetworkManagerSiteLocation{..} =
+    object $
+    catMaybes
+    [ fmap (("Address",) . toJSON) _networkManagerSiteLocationAddress
+    , fmap (("Latitude",) . toJSON) _networkManagerSiteLocationLatitude
+    , fmap (("Longitude",) . toJSON) _networkManagerSiteLocationLongitude
+    ]
+
+-- | Constructor for 'NetworkManagerSiteLocation' containing required fields
+-- as arguments.
+networkManagerSiteLocation
+  :: NetworkManagerSiteLocation
+networkManagerSiteLocation  =
+  NetworkManagerSiteLocation
+  { _networkManagerSiteLocationAddress = Nothing
+  , _networkManagerSiteLocationLatitude = Nothing
+  , _networkManagerSiteLocationLongitude = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-address
+nmslAddress :: Lens' NetworkManagerSiteLocation (Maybe (Val Text))
+nmslAddress = lens _networkManagerSiteLocationAddress (\s a -> s { _networkManagerSiteLocationAddress = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-latitude
+nmslLatitude :: Lens' NetworkManagerSiteLocation (Maybe (Val Text))
+nmslLatitude = lens _networkManagerSiteLocationLatitude (\s a -> s { _networkManagerSiteLocationLatitude = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-longitude
+nmslLongitude :: Lens' NetworkManagerSiteLocation (Maybe (Val Text))
+nmslLongitude = lens _networkManagerSiteLocationLongitude (\s a -> s { _networkManagerSiteLocationLongitude = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupQuery.hs b/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupQuery.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupQuery.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html
+
+module Stratosphere.ResourceProperties.ResourceGroupsGroupQuery where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ResourceGroupsGroupTagFilter
+
+-- | Full data type definition for ResourceGroupsGroupQuery. See
+-- 'resourceGroupsGroupQuery' for a more convenient constructor.
+data ResourceGroupsGroupQuery =
+  ResourceGroupsGroupQuery
+  { _resourceGroupsGroupQueryResourceTypeFilters :: Maybe (ValList Text)
+  , _resourceGroupsGroupQueryStackIdentifier :: Maybe (Val Text)
+  , _resourceGroupsGroupQueryTagFilters :: Maybe [ResourceGroupsGroupTagFilter]
+  } deriving (Show, Eq)
+
+instance ToJSON ResourceGroupsGroupQuery where
+  toJSON ResourceGroupsGroupQuery{..} =
+    object $
+    catMaybes
+    [ fmap (("ResourceTypeFilters",) . toJSON) _resourceGroupsGroupQueryResourceTypeFilters
+    , fmap (("StackIdentifier",) . toJSON) _resourceGroupsGroupQueryStackIdentifier
+    , fmap (("TagFilters",) . toJSON) _resourceGroupsGroupQueryTagFilters
+    ]
+
+-- | Constructor for 'ResourceGroupsGroupQuery' containing required fields as
+-- arguments.
+resourceGroupsGroupQuery
+  :: ResourceGroupsGroupQuery
+resourceGroupsGroupQuery  =
+  ResourceGroupsGroupQuery
+  { _resourceGroupsGroupQueryResourceTypeFilters = Nothing
+  , _resourceGroupsGroupQueryStackIdentifier = Nothing
+  , _resourceGroupsGroupQueryTagFilters = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-resourcetypefilters
+rggqResourceTypeFilters :: Lens' ResourceGroupsGroupQuery (Maybe (ValList Text))
+rggqResourceTypeFilters = lens _resourceGroupsGroupQueryResourceTypeFilters (\s a -> s { _resourceGroupsGroupQueryResourceTypeFilters = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-stackidentifier
+rggqStackIdentifier :: Lens' ResourceGroupsGroupQuery (Maybe (Val Text))
+rggqStackIdentifier = lens _resourceGroupsGroupQueryStackIdentifier (\s a -> s { _resourceGroupsGroupQueryStackIdentifier = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-tagfilters
+rggqTagFilters :: Lens' ResourceGroupsGroupQuery (Maybe [ResourceGroupsGroupTagFilter])
+rggqTagFilters = lens _resourceGroupsGroupQueryTagFilters (\s a -> s { _resourceGroupsGroupQueryTagFilters = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupResourceQuery.hs b/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupResourceQuery.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupResourceQuery.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html
+
+module Stratosphere.ResourceProperties.ResourceGroupsGroupResourceQuery where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ResourceGroupsGroupQuery
+
+-- | Full data type definition for ResourceGroupsGroupResourceQuery. See
+-- 'resourceGroupsGroupResourceQuery' for a more convenient constructor.
+data ResourceGroupsGroupResourceQuery =
+  ResourceGroupsGroupResourceQuery
+  { _resourceGroupsGroupResourceQueryQuery :: Maybe ResourceGroupsGroupQuery
+  , _resourceGroupsGroupResourceQueryType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ResourceGroupsGroupResourceQuery where
+  toJSON ResourceGroupsGroupResourceQuery{..} =
+    object $
+    catMaybes
+    [ fmap (("Query",) . toJSON) _resourceGroupsGroupResourceQueryQuery
+    , fmap (("Type",) . toJSON) _resourceGroupsGroupResourceQueryType
+    ]
+
+-- | Constructor for 'ResourceGroupsGroupResourceQuery' containing required
+-- fields as arguments.
+resourceGroupsGroupResourceQuery
+  :: ResourceGroupsGroupResourceQuery
+resourceGroupsGroupResourceQuery  =
+  ResourceGroupsGroupResourceQuery
+  { _resourceGroupsGroupResourceQueryQuery = Nothing
+  , _resourceGroupsGroupResourceQueryType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-query
+rggrqQuery :: Lens' ResourceGroupsGroupResourceQuery (Maybe ResourceGroupsGroupQuery)
+rggrqQuery = lens _resourceGroupsGroupResourceQueryQuery (\s a -> s { _resourceGroupsGroupResourceQueryQuery = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-type
+rggrqType :: Lens' ResourceGroupsGroupResourceQuery (Maybe (Val Text))
+rggrqType = lens _resourceGroupsGroupResourceQueryType (\s a -> s { _resourceGroupsGroupResourceQueryType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupTagFilter.hs b/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupTagFilter.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupTagFilter.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html
+
+module Stratosphere.ResourceProperties.ResourceGroupsGroupTagFilter where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ResourceGroupsGroupTagFilter. See
+-- 'resourceGroupsGroupTagFilter' for a more convenient constructor.
+data ResourceGroupsGroupTagFilter =
+  ResourceGroupsGroupTagFilter
+  { _resourceGroupsGroupTagFilterKey :: Maybe (Val Text)
+  , _resourceGroupsGroupTagFilterValues :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ResourceGroupsGroupTagFilter where
+  toJSON ResourceGroupsGroupTagFilter{..} =
+    object $
+    catMaybes
+    [ fmap (("Key",) . toJSON) _resourceGroupsGroupTagFilterKey
+    , fmap (("Values",) . toJSON) _resourceGroupsGroupTagFilterValues
+    ]
+
+-- | Constructor for 'ResourceGroupsGroupTagFilter' containing required fields
+-- as arguments.
+resourceGroupsGroupTagFilter
+  :: ResourceGroupsGroupTagFilter
+resourceGroupsGroupTagFilter  =
+  ResourceGroupsGroupTagFilter
+  { _resourceGroupsGroupTagFilterKey = Nothing
+  , _resourceGroupsGroupTagFilterValues = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-key
+rggtfKey :: Lens' ResourceGroupsGroupTagFilter (Maybe (Val Text))
+rggtfKey = lens _resourceGroupsGroupTagFilterKey (\s a -> s { _resourceGroupsGroupTagFilterKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-values
+rggtfValues :: Lens' ResourceGroupsGroupTagFilter (Maybe (ValList Text))
+rggtfValues = lens _resourceGroupsGroupTagFilterValues (\s a -> s { _resourceGroupsGroupTagFilterValues = 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
@@ -125,6 +125,8 @@
 import Stratosphere.Resources.BatchJobDefinition as X
 import Stratosphere.Resources.BatchJobQueue as X
 import Stratosphere.Resources.BudgetsBudget as X
+import Stratosphere.Resources.CassandraKeyspace as X
+import Stratosphere.Resources.CassandraTable as X
 import Stratosphere.Resources.CertificateManagerCertificate as X
 import Stratosphere.Resources.ChatbotSlackChannelConfiguration as X
 import Stratosphere.Resources.Cloud9EnvironmentEC2 as X
@@ -149,6 +151,7 @@
 import Stratosphere.Resources.CodeDeployApplication as X
 import Stratosphere.Resources.CodeDeployDeploymentConfig as X
 import Stratosphere.Resources.CodeDeployDeploymentGroup as X
+import Stratosphere.Resources.CodeGuruProfilerProfilingGroup as X
 import Stratosphere.Resources.CodePipelineCustomActionType as X
 import Stratosphere.Resources.CodePipelinePipeline as X
 import Stratosphere.Resources.CodePipelineWebhook as X
@@ -409,6 +412,13 @@
 import Stratosphere.Resources.NeptuneDBInstance as X
 import Stratosphere.Resources.NeptuneDBParameterGroup as X
 import Stratosphere.Resources.NeptuneDBSubnetGroup as X
+import Stratosphere.Resources.NetworkManagerCustomerGatewayAssociation as X
+import Stratosphere.Resources.NetworkManagerDevice as X
+import Stratosphere.Resources.NetworkManagerGlobalNetwork as X
+import Stratosphere.Resources.NetworkManagerLink as X
+import Stratosphere.Resources.NetworkManagerLinkAssociation as X
+import Stratosphere.Resources.NetworkManagerSite as X
+import Stratosphere.Resources.NetworkManagerTransitGatewayRegistration as X
 import Stratosphere.Resources.OpsWorksApp as X
 import Stratosphere.Resources.OpsWorksElasticLoadBalancerAttachment as X
 import Stratosphere.Resources.OpsWorksInstance as X
@@ -455,6 +465,7 @@
 import Stratosphere.Resources.RedshiftClusterSecurityGroup as X
 import Stratosphere.Resources.RedshiftClusterSecurityGroupIngress as X
 import Stratosphere.Resources.RedshiftClusterSubnetGroup as X
+import Stratosphere.Resources.ResourceGroupsGroup as X
 import Stratosphere.Resources.RoboMakerFleet as X
 import Stratosphere.Resources.RoboMakerRobot as X
 import Stratosphere.Resources.RoboMakerRobotApplication as X
@@ -595,6 +606,7 @@
 import Stratosphere.ResourceProperties.ApiGatewayV2ApiCors as X
 import Stratosphere.ResourceProperties.ApiGatewayV2AuthorizerJWTConfiguration as X
 import Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration as X
+import Stratosphere.ResourceProperties.ApiGatewayV2IntegrationTlsConfig as X
 import Stratosphere.ResourceProperties.ApiGatewayV2RouteParameterConstraints as X
 import Stratosphere.ResourceProperties.ApiGatewayV2RouteResponseParameterConstraints as X
 import Stratosphere.ResourceProperties.ApiGatewayV2StageAccessLogSettings as X
@@ -756,6 +768,10 @@
 import Stratosphere.ResourceProperties.BudgetsBudgetSpend as X
 import Stratosphere.ResourceProperties.BudgetsBudgetSubscriber as X
 import Stratosphere.ResourceProperties.BudgetsBudgetTimePeriod as X
+import Stratosphere.ResourceProperties.CassandraTableBillingMode as X
+import Stratosphere.ResourceProperties.CassandraTableClusteringKeyColumn as X
+import Stratosphere.ResourceProperties.CassandraTableColumn as X
+import Stratosphere.ResourceProperties.CassandraTableProvisionedThroughput as X
 import Stratosphere.ResourceProperties.CertificateManagerCertificateDomainValidationOption as X
 import Stratosphere.ResourceProperties.Cloud9EnvironmentEC2Repository as X
 import Stratosphere.ResourceProperties.CloudFrontCloudFrontOriginAccessIdentityCloudFrontOriginAccessIdentityConfig as X
@@ -771,8 +787,14 @@
 import Stratosphere.ResourceProperties.CloudFrontDistributionLogging as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionOrigin as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionOriginCustomHeader as X
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroup as X
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupFailoverCriteria as X
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMember as X
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMembers as X
+import Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroups as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionRestrictions as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionS3OriginConfig as X
+import Stratosphere.ResourceProperties.CloudFrontDistributionStatusCodes as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionViewerCertificate as X
 import Stratosphere.ResourceProperties.CloudFrontStreamingDistributionLogging as X
 import Stratosphere.ResourceProperties.CloudFrontStreamingDistributionS3Origin as X
@@ -906,6 +928,7 @@
 import Stratosphere.ResourceProperties.DLMLifecyclePolicySchedule as X
 import Stratosphere.ResourceProperties.DMSEndpointDynamoDbSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointElasticsearchSettings as X
+import Stratosphere.ResourceProperties.DMSEndpointKafkaSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointKinesisSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointMongoDbSettings as X
 import Stratosphere.ResourceProperties.DMSEndpointS3Settings as X
@@ -1484,17 +1507,22 @@
 import Stratosphere.ResourceProperties.LambdaLayerVersionContent as X
 import Stratosphere.ResourceProperties.LambdaVersionProvisionedConcurrencyConfiguration as X
 import Stratosphere.ResourceProperties.LogsMetricFilterMetricTransformation as X
+import Stratosphere.ResourceProperties.MSKClusterBrokerLogs as X
 import Stratosphere.ResourceProperties.MSKClusterBrokerNodeGroupInfo as X
 import Stratosphere.ResourceProperties.MSKClusterClientAuthentication as X
+import Stratosphere.ResourceProperties.MSKClusterCloudWatchLogs as X
 import Stratosphere.ResourceProperties.MSKClusterConfigurationInfo as X
 import Stratosphere.ResourceProperties.MSKClusterEBSStorageInfo as X
 import Stratosphere.ResourceProperties.MSKClusterEncryptionAtRest as X
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInTransit as X
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInfo as X
+import Stratosphere.ResourceProperties.MSKClusterFirehose as X
 import Stratosphere.ResourceProperties.MSKClusterJmxExporter as X
+import Stratosphere.ResourceProperties.MSKClusterLoggingInfo as X
 import Stratosphere.ResourceProperties.MSKClusterNodeExporter as X
 import Stratosphere.ResourceProperties.MSKClusterOpenMonitoring as X
 import Stratosphere.ResourceProperties.MSKClusterPrometheus as X
+import Stratosphere.ResourceProperties.MSKClusterS3 as X
 import Stratosphere.ResourceProperties.MSKClusterStorageInfo as X
 import Stratosphere.ResourceProperties.MSKClusterTls as X
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy as X
@@ -1538,6 +1566,9 @@
 import Stratosphere.ResourceProperties.MediaLiveInputMediaConnectFlowRequest as X
 import Stratosphere.ResourceProperties.MediaLiveInputSecurityGroupInputWhitelistRuleCidr as X
 import Stratosphere.ResourceProperties.MediaStoreContainerCorsRule as X
+import Stratosphere.ResourceProperties.NetworkManagerDeviceLocation as X
+import Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth as X
+import Stratosphere.ResourceProperties.NetworkManagerSiteLocation as X
 import Stratosphere.ResourceProperties.OpsWorksAppDataSource as X
 import Stratosphere.ResourceProperties.OpsWorksAppEnvironmentVariable as X
 import Stratosphere.ResourceProperties.OpsWorksAppSource as X
@@ -1612,6 +1643,9 @@
 import Stratosphere.ResourceProperties.RDSOptionGroupOptionSetting as X
 import Stratosphere.ResourceProperties.RedshiftClusterLoggingProperties as X
 import Stratosphere.ResourceProperties.RedshiftClusterParameterGroupParameter as X
+import Stratosphere.ResourceProperties.ResourceGroupsGroupQuery as X
+import Stratosphere.ResourceProperties.ResourceGroupsGroupResourceQuery as X
+import Stratosphere.ResourceProperties.ResourceGroupsGroupTagFilter as X
 import Stratosphere.ResourceProperties.RoboMakerRobotApplicationRobotSoftwareSuite as X
 import Stratosphere.ResourceProperties.RoboMakerRobotApplicationSourceConfig as X
 import Stratosphere.ResourceProperties.RoboMakerSimulationApplicationRenderingEngine as X
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.ApiGatewayV2Integration where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.ApiGatewayV2IntegrationTlsConfig
 
 -- | Full data type definition for ApiGatewayV2Integration. See
 -- 'apiGatewayV2Integration' for a more convenient constructor.
@@ -28,6 +28,7 @@
   , _apiGatewayV2IntegrationRequestTemplates :: Maybe Object
   , _apiGatewayV2IntegrationTemplateSelectionExpression :: Maybe (Val Text)
   , _apiGatewayV2IntegrationTimeoutInMillis :: Maybe (Val Integer)
+  , _apiGatewayV2IntegrationTlsConfig :: Maybe ApiGatewayV2IntegrationTlsConfig
   } deriving (Show, Eq)
 
 instance ToResourceProperties ApiGatewayV2Integration where
@@ -50,6 +51,7 @@
         , fmap (("RequestTemplates",) . toJSON) _apiGatewayV2IntegrationRequestTemplates
         , fmap (("TemplateSelectionExpression",) . toJSON) _apiGatewayV2IntegrationTemplateSelectionExpression
         , fmap (("TimeoutInMillis",) . toJSON) _apiGatewayV2IntegrationTimeoutInMillis
+        , fmap (("TlsConfig",) . toJSON) _apiGatewayV2IntegrationTlsConfig
         ]
     }
 
@@ -75,6 +77,7 @@
   , _apiGatewayV2IntegrationRequestTemplates = Nothing
   , _apiGatewayV2IntegrationTemplateSelectionExpression = Nothing
   , _apiGatewayV2IntegrationTimeoutInMillis = Nothing
+  , _apiGatewayV2IntegrationTlsConfig = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-apiid
@@ -132,3 +135,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-timeoutinmillis
 agviTimeoutInMillis :: Lens' ApiGatewayV2Integration (Maybe (Val Integer))
 agviTimeoutInMillis = lens _apiGatewayV2IntegrationTimeoutInMillis (\s a -> s { _apiGatewayV2IntegrationTimeoutInMillis = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-tlsconfig
+agviTlsConfig :: Lens' ApiGatewayV2Integration (Maybe ApiGatewayV2IntegrationTlsConfig)
+agviTlsConfig = lens _apiGatewayV2IntegrationTlsConfig (\s a -> s { _apiGatewayV2IntegrationTlsConfig = a })
diff --git a/library-gen/Stratosphere/Resources/AppMeshRoute.hs b/library-gen/Stratosphere/Resources/AppMeshRoute.hs
--- a/library-gen/Stratosphere/Resources/AppMeshRoute.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshRoute.hs
@@ -16,6 +16,7 @@
 data AppMeshRoute =
   AppMeshRoute
   { _appMeshRouteMeshName :: Val Text
+  , _appMeshRouteMeshOwner :: Maybe (Val Text)
   , _appMeshRouteRouteName :: Val Text
   , _appMeshRouteSpec :: AppMeshRouteRouteSpec
   , _appMeshRouteTags :: Maybe [Tag]
@@ -29,6 +30,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshRouteMeshName
+        , fmap (("MeshOwner",) . toJSON) _appMeshRouteMeshOwner
         , (Just . ("RouteName",) . toJSON) _appMeshRouteRouteName
         , (Just . ("Spec",) . toJSON) _appMeshRouteSpec
         , fmap (("Tags",) . toJSON) _appMeshRouteTags
@@ -46,6 +48,7 @@
 appMeshRoute meshNamearg routeNamearg specarg virtualRouterNamearg =
   AppMeshRoute
   { _appMeshRouteMeshName = meshNamearg
+  , _appMeshRouteMeshOwner = Nothing
   , _appMeshRouteRouteName = routeNamearg
   , _appMeshRouteSpec = specarg
   , _appMeshRouteTags = Nothing
@@ -55,6 +58,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshname
 amrMeshName :: Lens' AppMeshRoute (Val Text)
 amrMeshName = lens _appMeshRouteMeshName (\s a -> s { _appMeshRouteMeshName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshowner
+amrMeshOwner :: Lens' AppMeshRoute (Maybe (Val Text))
+amrMeshOwner = lens _appMeshRouteMeshOwner (\s a -> s { _appMeshRouteMeshOwner = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-routename
 amrRouteName :: Lens' AppMeshRoute (Val Text)
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs
@@ -16,6 +16,7 @@
 data AppMeshVirtualNode =
   AppMeshVirtualNode
   { _appMeshVirtualNodeMeshName :: Val Text
+  , _appMeshVirtualNodeMeshOwner :: Maybe (Val Text)
   , _appMeshVirtualNodeSpec :: AppMeshVirtualNodeVirtualNodeSpec
   , _appMeshVirtualNodeTags :: Maybe [Tag]
   , _appMeshVirtualNodeVirtualNodeName :: Val Text
@@ -28,6 +29,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualNodeMeshName
+        , fmap (("MeshOwner",) . toJSON) _appMeshVirtualNodeMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualNodeSpec
         , fmap (("Tags",) . toJSON) _appMeshVirtualNodeTags
         , (Just . ("VirtualNodeName",) . toJSON) _appMeshVirtualNodeVirtualNodeName
@@ -44,6 +46,7 @@
 appMeshVirtualNode meshNamearg specarg virtualNodeNamearg =
   AppMeshVirtualNode
   { _appMeshVirtualNodeMeshName = meshNamearg
+  , _appMeshVirtualNodeMeshOwner = Nothing
   , _appMeshVirtualNodeSpec = specarg
   , _appMeshVirtualNodeTags = Nothing
   , _appMeshVirtualNodeVirtualNodeName = virtualNodeNamearg
@@ -52,6 +55,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshname
 amvnMeshName :: Lens' AppMeshVirtualNode (Val Text)
 amvnMeshName = lens _appMeshVirtualNodeMeshName (\s a -> s { _appMeshVirtualNodeMeshName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshowner
+amvnMeshOwner :: Lens' AppMeshVirtualNode (Maybe (Val Text))
+amvnMeshOwner = lens _appMeshVirtualNodeMeshOwner (\s a -> s { _appMeshVirtualNodeMeshOwner = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-spec
 amvnSpec :: Lens' AppMeshVirtualNode AppMeshVirtualNodeVirtualNodeSpec
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs
@@ -16,6 +16,7 @@
 data AppMeshVirtualRouter =
   AppMeshVirtualRouter
   { _appMeshVirtualRouterMeshName :: Val Text
+  , _appMeshVirtualRouterMeshOwner :: Maybe (Val Text)
   , _appMeshVirtualRouterSpec :: AppMeshVirtualRouterVirtualRouterSpec
   , _appMeshVirtualRouterTags :: Maybe [Tag]
   , _appMeshVirtualRouterVirtualRouterName :: Val Text
@@ -28,6 +29,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualRouterMeshName
+        , fmap (("MeshOwner",) . toJSON) _appMeshVirtualRouterMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualRouterSpec
         , fmap (("Tags",) . toJSON) _appMeshVirtualRouterTags
         , (Just . ("VirtualRouterName",) . toJSON) _appMeshVirtualRouterVirtualRouterName
@@ -44,6 +46,7 @@
 appMeshVirtualRouter meshNamearg specarg virtualRouterNamearg =
   AppMeshVirtualRouter
   { _appMeshVirtualRouterMeshName = meshNamearg
+  , _appMeshVirtualRouterMeshOwner = Nothing
   , _appMeshVirtualRouterSpec = specarg
   , _appMeshVirtualRouterTags = Nothing
   , _appMeshVirtualRouterVirtualRouterName = virtualRouterNamearg
@@ -52,6 +55,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshname
 amvrMeshName :: Lens' AppMeshVirtualRouter (Val Text)
 amvrMeshName = lens _appMeshVirtualRouterMeshName (\s a -> s { _appMeshVirtualRouterMeshName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshowner
+amvrMeshOwner :: Lens' AppMeshVirtualRouter (Maybe (Val Text))
+amvrMeshOwner = lens _appMeshVirtualRouterMeshOwner (\s a -> s { _appMeshVirtualRouterMeshOwner = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-spec
 amvrSpec :: Lens' AppMeshVirtualRouter AppMeshVirtualRouterVirtualRouterSpec
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs
@@ -16,6 +16,7 @@
 data AppMeshVirtualService =
   AppMeshVirtualService
   { _appMeshVirtualServiceMeshName :: Val Text
+  , _appMeshVirtualServiceMeshOwner :: Maybe (Val Text)
   , _appMeshVirtualServiceSpec :: AppMeshVirtualServiceVirtualServiceSpec
   , _appMeshVirtualServiceTags :: Maybe [Tag]
   , _appMeshVirtualServiceVirtualServiceName :: Val Text
@@ -28,6 +29,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualServiceMeshName
+        , fmap (("MeshOwner",) . toJSON) _appMeshVirtualServiceMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualServiceSpec
         , fmap (("Tags",) . toJSON) _appMeshVirtualServiceTags
         , (Just . ("VirtualServiceName",) . toJSON) _appMeshVirtualServiceVirtualServiceName
@@ -44,6 +46,7 @@
 appMeshVirtualService meshNamearg specarg virtualServiceNamearg =
   AppMeshVirtualService
   { _appMeshVirtualServiceMeshName = meshNamearg
+  , _appMeshVirtualServiceMeshOwner = Nothing
   , _appMeshVirtualServiceSpec = specarg
   , _appMeshVirtualServiceTags = Nothing
   , _appMeshVirtualServiceVirtualServiceName = virtualServiceNamearg
@@ -52,6 +55,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshname
 amvsMeshName :: Lens' AppMeshVirtualService (Val Text)
 amvsMeshName = lens _appMeshVirtualServiceMeshName (\s a -> s { _appMeshVirtualServiceMeshName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshowner
+amvsMeshOwner :: Lens' AppMeshVirtualService (Maybe (Val Text))
+amvsMeshOwner = lens _appMeshVirtualServiceMeshOwner (\s a -> s { _appMeshVirtualServiceMeshOwner = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-spec
 amvsSpec :: Lens' AppMeshVirtualService AppMeshVirtualServiceVirtualServiceSpec
diff --git a/library-gen/Stratosphere/Resources/CassandraKeyspace.hs b/library-gen/Stratosphere/Resources/CassandraKeyspace.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CassandraKeyspace.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html
+
+module Stratosphere.Resources.CassandraKeyspace where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CassandraKeyspace. See 'cassandraKeyspace'
+-- for a more convenient constructor.
+data CassandraKeyspace =
+  CassandraKeyspace
+  { _cassandraKeyspaceKeyspaceName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CassandraKeyspace where
+  toResourceProperties CassandraKeyspace{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cassandra::Keyspace"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("KeyspaceName",) . toJSON) _cassandraKeyspaceKeyspaceName
+        ]
+    }
+
+-- | Constructor for 'CassandraKeyspace' containing required fields as
+-- arguments.
+cassandraKeyspace
+  :: CassandraKeyspace
+cassandraKeyspace  =
+  CassandraKeyspace
+  { _cassandraKeyspaceKeyspaceName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename
+ckKeyspaceName :: Lens' CassandraKeyspace (Maybe (Val Text))
+ckKeyspaceName = lens _cassandraKeyspaceKeyspaceName (\s a -> s { _cassandraKeyspaceKeyspaceName = a })
diff --git a/library-gen/Stratosphere/Resources/CassandraTable.hs b/library-gen/Stratosphere/Resources/CassandraTable.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CassandraTable.hs
@@ -0,0 +1,79 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html
+
+module Stratosphere.Resources.CassandraTable where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CassandraTableBillingMode
+import Stratosphere.ResourceProperties.CassandraTableClusteringKeyColumn
+import Stratosphere.ResourceProperties.CassandraTableColumn
+
+-- | Full data type definition for CassandraTable. See 'cassandraTable' for a
+-- more convenient constructor.
+data CassandraTable =
+  CassandraTable
+  { _cassandraTableBillingMode :: Maybe CassandraTableBillingMode
+  , _cassandraTableClusteringKeyColumns :: Maybe [CassandraTableClusteringKeyColumn]
+  , _cassandraTableKeyspaceName :: Val Text
+  , _cassandraTablePartitionKeyColumns :: [CassandraTableColumn]
+  , _cassandraTableRegularColumns :: Maybe [CassandraTableColumn]
+  , _cassandraTableTableName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CassandraTable where
+  toResourceProperties CassandraTable{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Cassandra::Table"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("BillingMode",) . toJSON) _cassandraTableBillingMode
+        , fmap (("ClusteringKeyColumns",) . toJSON) _cassandraTableClusteringKeyColumns
+        , (Just . ("KeyspaceName",) . toJSON) _cassandraTableKeyspaceName
+        , (Just . ("PartitionKeyColumns",) . toJSON) _cassandraTablePartitionKeyColumns
+        , fmap (("RegularColumns",) . toJSON) _cassandraTableRegularColumns
+        , fmap (("TableName",) . toJSON) _cassandraTableTableName
+        ]
+    }
+
+-- | Constructor for 'CassandraTable' containing required fields as arguments.
+cassandraTable
+  :: Val Text -- ^ 'ctKeyspaceName'
+  -> [CassandraTableColumn] -- ^ 'ctPartitionKeyColumns'
+  -> CassandraTable
+cassandraTable keyspaceNamearg partitionKeyColumnsarg =
+  CassandraTable
+  { _cassandraTableBillingMode = Nothing
+  , _cassandraTableClusteringKeyColumns = Nothing
+  , _cassandraTableKeyspaceName = keyspaceNamearg
+  , _cassandraTablePartitionKeyColumns = partitionKeyColumnsarg
+  , _cassandraTableRegularColumns = Nothing
+  , _cassandraTableTableName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-billingmode
+ctBillingMode :: Lens' CassandraTable (Maybe CassandraTableBillingMode)
+ctBillingMode = lens _cassandraTableBillingMode (\s a -> s { _cassandraTableBillingMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns
+ctClusteringKeyColumns :: Lens' CassandraTable (Maybe [CassandraTableClusteringKeyColumn])
+ctClusteringKeyColumns = lens _cassandraTableClusteringKeyColumns (\s a -> s { _cassandraTableClusteringKeyColumns = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename
+ctKeyspaceName :: Lens' CassandraTable (Val Text)
+ctKeyspaceName = lens _cassandraTableKeyspaceName (\s a -> s { _cassandraTableKeyspaceName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns
+ctPartitionKeyColumns :: Lens' CassandraTable [CassandraTableColumn]
+ctPartitionKeyColumns = lens _cassandraTablePartitionKeyColumns (\s a -> s { _cassandraTablePartitionKeyColumns = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns
+ctRegularColumns :: Lens' CassandraTable (Maybe [CassandraTableColumn])
+ctRegularColumns = lens _cassandraTableRegularColumns (\s a -> s { _cassandraTableRegularColumns = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename
+ctTableName :: Lens' CassandraTable (Maybe (Val Text))
+ctTableName = lens _cassandraTableTableName (\s a -> s { _cassandraTableTableName = a })
diff --git a/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs b/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html
+
+module Stratosphere.Resources.CodeGuruProfilerProfilingGroup where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeGuruProfilerProfilingGroup. See
+-- 'codeGuruProfilerProfilingGroup' for a more convenient constructor.
+data CodeGuruProfilerProfilingGroup =
+  CodeGuruProfilerProfilingGroup
+  { _codeGuruProfilerProfilingGroupProfilingGroupName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CodeGuruProfilerProfilingGroup where
+  toResourceProperties CodeGuruProfilerProfilingGroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CodeGuruProfiler::ProfilingGroup"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ProfilingGroupName",) . toJSON) _codeGuruProfilerProfilingGroupProfilingGroupName
+        ]
+    }
+
+-- | Constructor for 'CodeGuruProfilerProfilingGroup' containing required
+-- fields as arguments.
+codeGuruProfilerProfilingGroup
+  :: Val Text -- ^ 'cgppgProfilingGroupName'
+  -> CodeGuruProfilerProfilingGroup
+codeGuruProfilerProfilingGroup profilingGroupNamearg =
+  CodeGuruProfilerProfilingGroup
+  { _codeGuruProfilerProfilingGroupProfilingGroupName = profilingGroupNamearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-profilinggroupname
+cgppgProfilingGroupName :: Lens' CodeGuruProfilerProfilingGroup (Val Text)
+cgppgProfilingGroupName = lens _codeGuruProfilerProfilingGroupProfilingGroupName (\s a -> s { _codeGuruProfilerProfilingGroupProfilingGroupName = a })
diff --git a/library-gen/Stratosphere/Resources/DMSEndpoint.hs b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
--- a/library-gen/Stratosphere/Resources/DMSEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.DMSEndpointDynamoDbSettings
 import Stratosphere.ResourceProperties.DMSEndpointElasticsearchSettings
+import Stratosphere.ResourceProperties.DMSEndpointKafkaSettings
 import Stratosphere.ResourceProperties.DMSEndpointKinesisSettings
 import Stratosphere.ResourceProperties.DMSEndpointMongoDbSettings
 import Stratosphere.ResourceProperties.DMSEndpointS3Settings
@@ -27,6 +28,7 @@
   , _dMSEndpointEndpointType :: Val Text
   , _dMSEndpointEngineName :: Val Text
   , _dMSEndpointExtraConnectionAttributes :: Maybe (Val Text)
+  , _dMSEndpointKafkaSettings :: Maybe DMSEndpointKafkaSettings
   , _dMSEndpointKinesisSettings :: Maybe DMSEndpointKinesisSettings
   , _dMSEndpointKmsKeyId :: Maybe (Val Text)
   , _dMSEndpointMongoDbSettings :: Maybe DMSEndpointMongoDbSettings
@@ -53,6 +55,7 @@
         , (Just . ("EndpointType",) . toJSON) _dMSEndpointEndpointType
         , (Just . ("EngineName",) . toJSON) _dMSEndpointEngineName
         , fmap (("ExtraConnectionAttributes",) . toJSON) _dMSEndpointExtraConnectionAttributes
+        , fmap (("KafkaSettings",) . toJSON) _dMSEndpointKafkaSettings
         , fmap (("KinesisSettings",) . toJSON) _dMSEndpointKinesisSettings
         , fmap (("KmsKeyId",) . toJSON) _dMSEndpointKmsKeyId
         , fmap (("MongoDbSettings",) . toJSON) _dMSEndpointMongoDbSettings
@@ -81,6 +84,7 @@
   , _dMSEndpointEndpointType = endpointTypearg
   , _dMSEndpointEngineName = engineNamearg
   , _dMSEndpointExtraConnectionAttributes = Nothing
+  , _dMSEndpointKafkaSettings = Nothing
   , _dMSEndpointKinesisSettings = Nothing
   , _dMSEndpointKmsKeyId = Nothing
   , _dMSEndpointMongoDbSettings = Nothing
@@ -124,6 +128,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes
 dmseExtraConnectionAttributes :: Lens' DMSEndpoint (Maybe (Val Text))
 dmseExtraConnectionAttributes = lens _dMSEndpointExtraConnectionAttributes (\s a -> s { _dMSEndpointExtraConnectionAttributes = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kafkasettings
+dmseKafkaSettings :: Lens' DMSEndpoint (Maybe DMSEndpointKafkaSettings)
+dmseKafkaSettings = lens _dMSEndpointKafkaSettings (\s a -> s { _dMSEndpointKafkaSettings = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kinesissettings
 dmseKinesisSettings :: Lens' DMSEndpoint (Maybe DMSEndpointKinesisSettings)
diff --git a/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs b/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
--- a/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
@@ -21,10 +21,12 @@
   , _eC2ClientVpnEndpointConnectionLogOptions :: EC2ClientVpnEndpointConnectionLogOptions
   , _eC2ClientVpnEndpointDescription :: Maybe (Val Text)
   , _eC2ClientVpnEndpointDnsServers :: Maybe (ValList Text)
+  , _eC2ClientVpnEndpointSecurityGroupIds :: Maybe (ValList Text)
   , _eC2ClientVpnEndpointServerCertificateArn :: Val Text
   , _eC2ClientVpnEndpointSplitTunnel :: Maybe (Val Bool)
   , _eC2ClientVpnEndpointTagSpecifications :: Maybe [EC2ClientVpnEndpointTagSpecification]
   , _eC2ClientVpnEndpointTransportProtocol :: Maybe (Val Text)
+  , _eC2ClientVpnEndpointVpcId :: Maybe (Val Text)
   , _eC2ClientVpnEndpointVpnPort :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
@@ -39,10 +41,12 @@
         , (Just . ("ConnectionLogOptions",) . toJSON) _eC2ClientVpnEndpointConnectionLogOptions
         , fmap (("Description",) . toJSON) _eC2ClientVpnEndpointDescription
         , fmap (("DnsServers",) . toJSON) _eC2ClientVpnEndpointDnsServers
+        , fmap (("SecurityGroupIds",) . toJSON) _eC2ClientVpnEndpointSecurityGroupIds
         , (Just . ("ServerCertificateArn",) . toJSON) _eC2ClientVpnEndpointServerCertificateArn
         , fmap (("SplitTunnel",) . toJSON) _eC2ClientVpnEndpointSplitTunnel
         , fmap (("TagSpecifications",) . toJSON) _eC2ClientVpnEndpointTagSpecifications
         , fmap (("TransportProtocol",) . toJSON) _eC2ClientVpnEndpointTransportProtocol
+        , fmap (("VpcId",) . toJSON) _eC2ClientVpnEndpointVpcId
         , fmap (("VpnPort",) . toJSON) _eC2ClientVpnEndpointVpnPort
         ]
     }
@@ -62,10 +66,12 @@
   , _eC2ClientVpnEndpointConnectionLogOptions = connectionLogOptionsarg
   , _eC2ClientVpnEndpointDescription = Nothing
   , _eC2ClientVpnEndpointDnsServers = Nothing
+  , _eC2ClientVpnEndpointSecurityGroupIds = Nothing
   , _eC2ClientVpnEndpointServerCertificateArn = serverCertificateArnarg
   , _eC2ClientVpnEndpointSplitTunnel = Nothing
   , _eC2ClientVpnEndpointTagSpecifications = Nothing
   , _eC2ClientVpnEndpointTransportProtocol = Nothing
+  , _eC2ClientVpnEndpointVpcId = Nothing
   , _eC2ClientVpnEndpointVpnPort = Nothing
   }
 
@@ -89,6 +95,10 @@
 eccveDnsServers :: Lens' EC2ClientVpnEndpoint (Maybe (ValList Text))
 eccveDnsServers = lens _eC2ClientVpnEndpointDnsServers (\s a -> s { _eC2ClientVpnEndpointDnsServers = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-securitygroupids
+eccveSecurityGroupIds :: Lens' EC2ClientVpnEndpoint (Maybe (ValList Text))
+eccveSecurityGroupIds = lens _eC2ClientVpnEndpointSecurityGroupIds (\s a -> s { _eC2ClientVpnEndpointSecurityGroupIds = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn
 eccveServerCertificateArn :: Lens' EC2ClientVpnEndpoint (Val Text)
 eccveServerCertificateArn = lens _eC2ClientVpnEndpointServerCertificateArn (\s a -> s { _eC2ClientVpnEndpointServerCertificateArn = a })
@@ -104,6 +114,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol
 eccveTransportProtocol :: Lens' EC2ClientVpnEndpoint (Maybe (Val Text))
 eccveTransportProtocol = lens _eC2ClientVpnEndpointTransportProtocol (\s a -> s { _eC2ClientVpnEndpointTransportProtocol = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpcid
+eccveVpcId :: Lens' EC2ClientVpnEndpoint (Maybe (Val Text))
+eccveVpcId = lens _eC2ClientVpnEndpointVpcId (\s a -> s { _eC2ClientVpnEndpointVpcId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpnport
 eccveVpnPort :: Lens' EC2ClientVpnEndpoint (Maybe (Val Integer))
diff --git a/library-gen/Stratosphere/Resources/MSKCluster.hs b/library-gen/Stratosphere/Resources/MSKCluster.hs
--- a/library-gen/Stratosphere/Resources/MSKCluster.hs
+++ b/library-gen/Stratosphere/Resources/MSKCluster.hs
@@ -12,6 +12,7 @@
 import Stratosphere.ResourceProperties.MSKClusterClientAuthentication
 import Stratosphere.ResourceProperties.MSKClusterConfigurationInfo
 import Stratosphere.ResourceProperties.MSKClusterEncryptionInfo
+import Stratosphere.ResourceProperties.MSKClusterLoggingInfo
 import Stratosphere.ResourceProperties.MSKClusterOpenMonitoring
 
 -- | Full data type definition for MSKCluster. See 'mskCluster' for a more
@@ -25,6 +26,7 @@
   , _mSKClusterEncryptionInfo :: Maybe MSKClusterEncryptionInfo
   , _mSKClusterEnhancedMonitoring :: Maybe (Val Text)
   , _mSKClusterKafkaVersion :: Val Text
+  , _mSKClusterLoggingInfo :: Maybe MSKClusterLoggingInfo
   , _mSKClusterNumberOfBrokerNodes :: Val Integer
   , _mSKClusterOpenMonitoring :: Maybe MSKClusterOpenMonitoring
   , _mSKClusterTags :: Maybe Object
@@ -43,6 +45,7 @@
         , fmap (("EncryptionInfo",) . toJSON) _mSKClusterEncryptionInfo
         , fmap (("EnhancedMonitoring",) . toJSON) _mSKClusterEnhancedMonitoring
         , (Just . ("KafkaVersion",) . toJSON) _mSKClusterKafkaVersion
+        , fmap (("LoggingInfo",) . toJSON) _mSKClusterLoggingInfo
         , (Just . ("NumberOfBrokerNodes",) . toJSON) _mSKClusterNumberOfBrokerNodes
         , fmap (("OpenMonitoring",) . toJSON) _mSKClusterOpenMonitoring
         , fmap (("Tags",) . toJSON) _mSKClusterTags
@@ -65,6 +68,7 @@
   , _mSKClusterEncryptionInfo = Nothing
   , _mSKClusterEnhancedMonitoring = Nothing
   , _mSKClusterKafkaVersion = kafkaVersionarg
+  , _mSKClusterLoggingInfo = Nothing
   , _mSKClusterNumberOfBrokerNodes = numberOfBrokerNodesarg
   , _mSKClusterOpenMonitoring = Nothing
   , _mSKClusterTags = Nothing
@@ -97,6 +101,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion
 mskcKafkaVersion :: Lens' MSKCluster (Val Text)
 mskcKafkaVersion = lens _mSKClusterKafkaVersion (\s a -> s { _mSKClusterKafkaVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo
+mskcLoggingInfo :: Lens' MSKCluster (Maybe MSKClusterLoggingInfo)
+mskcLoggingInfo = lens _mSKClusterLoggingInfo (\s a -> s { _mSKClusterLoggingInfo = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes
 mskcNumberOfBrokerNodes :: Lens' MSKCluster (Val Integer)
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs b/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html
+
+module Stratosphere.Resources.NetworkManagerCustomerGatewayAssociation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NetworkManagerCustomerGatewayAssociation.
+-- See 'networkManagerCustomerGatewayAssociation' for a more convenient
+-- constructor.
+data NetworkManagerCustomerGatewayAssociation =
+  NetworkManagerCustomerGatewayAssociation
+  { _networkManagerCustomerGatewayAssociationCustomerGatewayArn :: Val Text
+  , _networkManagerCustomerGatewayAssociationDeviceId :: Val Text
+  , _networkManagerCustomerGatewayAssociationGlobalNetworkId :: Val Text
+  , _networkManagerCustomerGatewayAssociationLinkId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerCustomerGatewayAssociation where
+  toResourceProperties NetworkManagerCustomerGatewayAssociation{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::CustomerGatewayAssociation"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("CustomerGatewayArn",) . toJSON) _networkManagerCustomerGatewayAssociationCustomerGatewayArn
+        , (Just . ("DeviceId",) . toJSON) _networkManagerCustomerGatewayAssociationDeviceId
+        , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerCustomerGatewayAssociationGlobalNetworkId
+        , fmap (("LinkId",) . toJSON) _networkManagerCustomerGatewayAssociationLinkId
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerCustomerGatewayAssociation' containing
+-- required fields as arguments.
+networkManagerCustomerGatewayAssociation
+  :: Val Text -- ^ 'nmcgaCustomerGatewayArn'
+  -> Val Text -- ^ 'nmcgaDeviceId'
+  -> Val Text -- ^ 'nmcgaGlobalNetworkId'
+  -> NetworkManagerCustomerGatewayAssociation
+networkManagerCustomerGatewayAssociation customerGatewayArnarg deviceIdarg globalNetworkIdarg =
+  NetworkManagerCustomerGatewayAssociation
+  { _networkManagerCustomerGatewayAssociationCustomerGatewayArn = customerGatewayArnarg
+  , _networkManagerCustomerGatewayAssociationDeviceId = deviceIdarg
+  , _networkManagerCustomerGatewayAssociationGlobalNetworkId = globalNetworkIdarg
+  , _networkManagerCustomerGatewayAssociationLinkId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-customergatewayarn
+nmcgaCustomerGatewayArn :: Lens' NetworkManagerCustomerGatewayAssociation (Val Text)
+nmcgaCustomerGatewayArn = lens _networkManagerCustomerGatewayAssociationCustomerGatewayArn (\s a -> s { _networkManagerCustomerGatewayAssociationCustomerGatewayArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-deviceid
+nmcgaDeviceId :: Lens' NetworkManagerCustomerGatewayAssociation (Val Text)
+nmcgaDeviceId = lens _networkManagerCustomerGatewayAssociationDeviceId (\s a -> s { _networkManagerCustomerGatewayAssociationDeviceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-globalnetworkid
+nmcgaGlobalNetworkId :: Lens' NetworkManagerCustomerGatewayAssociation (Val Text)
+nmcgaGlobalNetworkId = lens _networkManagerCustomerGatewayAssociationGlobalNetworkId (\s a -> s { _networkManagerCustomerGatewayAssociationGlobalNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-linkid
+nmcgaLinkId :: Lens' NetworkManagerCustomerGatewayAssociation (Maybe (Val Text))
+nmcgaLinkId = lens _networkManagerCustomerGatewayAssociationLinkId (\s a -> s { _networkManagerCustomerGatewayAssociationLinkId = a })
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs b/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs
@@ -0,0 +1,99 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html
+
+module Stratosphere.Resources.NetworkManagerDevice where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.NetworkManagerDeviceLocation
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for NetworkManagerDevice. See
+-- 'networkManagerDevice' for a more convenient constructor.
+data NetworkManagerDevice =
+  NetworkManagerDevice
+  { _networkManagerDeviceDescription :: Maybe (Val Text)
+  , _networkManagerDeviceGlobalNetworkId :: Val Text
+  , _networkManagerDeviceLocation :: Maybe NetworkManagerDeviceLocation
+  , _networkManagerDeviceModel :: Maybe (Val Text)
+  , _networkManagerDeviceSerialNumber :: Maybe (Val Text)
+  , _networkManagerDeviceSiteId :: Maybe (Val Text)
+  , _networkManagerDeviceTags :: Maybe [Tag]
+  , _networkManagerDeviceType :: Maybe (Val Text)
+  , _networkManagerDeviceVendor :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerDevice where
+  toResourceProperties NetworkManagerDevice{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::Device"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _networkManagerDeviceDescription
+        , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerDeviceGlobalNetworkId
+        , fmap (("Location",) . toJSON) _networkManagerDeviceLocation
+        , fmap (("Model",) . toJSON) _networkManagerDeviceModel
+        , fmap (("SerialNumber",) . toJSON) _networkManagerDeviceSerialNumber
+        , fmap (("SiteId",) . toJSON) _networkManagerDeviceSiteId
+        , fmap (("Tags",) . toJSON) _networkManagerDeviceTags
+        , fmap (("Type",) . toJSON) _networkManagerDeviceType
+        , fmap (("Vendor",) . toJSON) _networkManagerDeviceVendor
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerDevice' containing required fields as
+-- arguments.
+networkManagerDevice
+  :: Val Text -- ^ 'nmdGlobalNetworkId'
+  -> NetworkManagerDevice
+networkManagerDevice globalNetworkIdarg =
+  NetworkManagerDevice
+  { _networkManagerDeviceDescription = Nothing
+  , _networkManagerDeviceGlobalNetworkId = globalNetworkIdarg
+  , _networkManagerDeviceLocation = Nothing
+  , _networkManagerDeviceModel = Nothing
+  , _networkManagerDeviceSerialNumber = Nothing
+  , _networkManagerDeviceSiteId = Nothing
+  , _networkManagerDeviceTags = Nothing
+  , _networkManagerDeviceType = Nothing
+  , _networkManagerDeviceVendor = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-description
+nmdDescription :: Lens' NetworkManagerDevice (Maybe (Val Text))
+nmdDescription = lens _networkManagerDeviceDescription (\s a -> s { _networkManagerDeviceDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-globalnetworkid
+nmdGlobalNetworkId :: Lens' NetworkManagerDevice (Val Text)
+nmdGlobalNetworkId = lens _networkManagerDeviceGlobalNetworkId (\s a -> s { _networkManagerDeviceGlobalNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-location
+nmdLocation :: Lens' NetworkManagerDevice (Maybe NetworkManagerDeviceLocation)
+nmdLocation = lens _networkManagerDeviceLocation (\s a -> s { _networkManagerDeviceLocation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-model
+nmdModel :: Lens' NetworkManagerDevice (Maybe (Val Text))
+nmdModel = lens _networkManagerDeviceModel (\s a -> s { _networkManagerDeviceModel = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-serialnumber
+nmdSerialNumber :: Lens' NetworkManagerDevice (Maybe (Val Text))
+nmdSerialNumber = lens _networkManagerDeviceSerialNumber (\s a -> s { _networkManagerDeviceSerialNumber = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-siteid
+nmdSiteId :: Lens' NetworkManagerDevice (Maybe (Val Text))
+nmdSiteId = lens _networkManagerDeviceSiteId (\s a -> s { _networkManagerDeviceSiteId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-tags
+nmdTags :: Lens' NetworkManagerDevice (Maybe [Tag])
+nmdTags = lens _networkManagerDeviceTags (\s a -> s { _networkManagerDeviceTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-type
+nmdType :: Lens' NetworkManagerDevice (Maybe (Val Text))
+nmdType = lens _networkManagerDeviceType (\s a -> s { _networkManagerDeviceType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-vendor
+nmdVendor :: Lens' NetworkManagerDevice (Maybe (Val Text))
+nmdVendor = lens _networkManagerDeviceVendor (\s a -> s { _networkManagerDeviceVendor = a })
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs b/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html
+
+module Stratosphere.Resources.NetworkManagerGlobalNetwork where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for NetworkManagerGlobalNetwork. See
+-- 'networkManagerGlobalNetwork' for a more convenient constructor.
+data NetworkManagerGlobalNetwork =
+  NetworkManagerGlobalNetwork
+  { _networkManagerGlobalNetworkDescription :: Maybe (Val Text)
+  , _networkManagerGlobalNetworkTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerGlobalNetwork where
+  toResourceProperties NetworkManagerGlobalNetwork{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::GlobalNetwork"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _networkManagerGlobalNetworkDescription
+        , fmap (("Tags",) . toJSON) _networkManagerGlobalNetworkTags
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerGlobalNetwork' containing required fields
+-- as arguments.
+networkManagerGlobalNetwork
+  :: NetworkManagerGlobalNetwork
+networkManagerGlobalNetwork  =
+  NetworkManagerGlobalNetwork
+  { _networkManagerGlobalNetworkDescription = Nothing
+  , _networkManagerGlobalNetworkTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-description
+nmgnDescription :: Lens' NetworkManagerGlobalNetwork (Maybe (Val Text))
+nmgnDescription = lens _networkManagerGlobalNetworkDescription (\s a -> s { _networkManagerGlobalNetworkDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-tags
+nmgnTags :: Lens' NetworkManagerGlobalNetwork (Maybe [Tag])
+nmgnTags = lens _networkManagerGlobalNetworkTags (\s a -> s { _networkManagerGlobalNetworkTags = a })
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerLink.hs b/library-gen/Stratosphere/Resources/NetworkManagerLink.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerLink.hs
@@ -0,0 +1,87 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html
+
+module Stratosphere.Resources.NetworkManagerLink where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for NetworkManagerLink. See
+-- 'networkManagerLink' for a more convenient constructor.
+data NetworkManagerLink =
+  NetworkManagerLink
+  { _networkManagerLinkBandwidth :: NetworkManagerLinkBandwidth
+  , _networkManagerLinkDescription :: Maybe (Val Text)
+  , _networkManagerLinkGlobalNetworkId :: Val Text
+  , _networkManagerLinkProvider :: Maybe (Val Text)
+  , _networkManagerLinkSiteId :: Val Text
+  , _networkManagerLinkTags :: Maybe [Tag]
+  , _networkManagerLinkType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerLink where
+  toResourceProperties NetworkManagerLink{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::Link"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("Bandwidth",) . toJSON) _networkManagerLinkBandwidth
+        , fmap (("Description",) . toJSON) _networkManagerLinkDescription
+        , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerLinkGlobalNetworkId
+        , fmap (("Provider",) . toJSON) _networkManagerLinkProvider
+        , (Just . ("SiteId",) . toJSON) _networkManagerLinkSiteId
+        , fmap (("Tags",) . toJSON) _networkManagerLinkTags
+        , fmap (("Type",) . toJSON) _networkManagerLinkType
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerLink' containing required fields as
+-- arguments.
+networkManagerLink
+  :: NetworkManagerLinkBandwidth -- ^ 'nmlBandwidth'
+  -> Val Text -- ^ 'nmlGlobalNetworkId'
+  -> Val Text -- ^ 'nmlSiteId'
+  -> NetworkManagerLink
+networkManagerLink bandwidtharg globalNetworkIdarg siteIdarg =
+  NetworkManagerLink
+  { _networkManagerLinkBandwidth = bandwidtharg
+  , _networkManagerLinkDescription = Nothing
+  , _networkManagerLinkGlobalNetworkId = globalNetworkIdarg
+  , _networkManagerLinkProvider = Nothing
+  , _networkManagerLinkSiteId = siteIdarg
+  , _networkManagerLinkTags = Nothing
+  , _networkManagerLinkType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-bandwidth
+nmlBandwidth :: Lens' NetworkManagerLink NetworkManagerLinkBandwidth
+nmlBandwidth = lens _networkManagerLinkBandwidth (\s a -> s { _networkManagerLinkBandwidth = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-description
+nmlDescription :: Lens' NetworkManagerLink (Maybe (Val Text))
+nmlDescription = lens _networkManagerLinkDescription (\s a -> s { _networkManagerLinkDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-globalnetworkid
+nmlGlobalNetworkId :: Lens' NetworkManagerLink (Val Text)
+nmlGlobalNetworkId = lens _networkManagerLinkGlobalNetworkId (\s a -> s { _networkManagerLinkGlobalNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-provider
+nmlProvider :: Lens' NetworkManagerLink (Maybe (Val Text))
+nmlProvider = lens _networkManagerLinkProvider (\s a -> s { _networkManagerLinkProvider = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-siteid
+nmlSiteId :: Lens' NetworkManagerLink (Val Text)
+nmlSiteId = lens _networkManagerLinkSiteId (\s a -> s { _networkManagerLinkSiteId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-tags
+nmlTags :: Lens' NetworkManagerLink (Maybe [Tag])
+nmlTags = lens _networkManagerLinkTags (\s a -> s { _networkManagerLinkTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-type
+nmlType :: Lens' NetworkManagerLink (Maybe (Val Text))
+nmlType = lens _networkManagerLinkType (\s a -> s { _networkManagerLinkType = a })
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs b/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html
+
+module Stratosphere.Resources.NetworkManagerLinkAssociation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NetworkManagerLinkAssociation. See
+-- 'networkManagerLinkAssociation' for a more convenient constructor.
+data NetworkManagerLinkAssociation =
+  NetworkManagerLinkAssociation
+  { _networkManagerLinkAssociationDeviceId :: Val Text
+  , _networkManagerLinkAssociationGlobalNetworkId :: Val Text
+  , _networkManagerLinkAssociationLinkId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerLinkAssociation where
+  toResourceProperties NetworkManagerLinkAssociation{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::LinkAssociation"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("DeviceId",) . toJSON) _networkManagerLinkAssociationDeviceId
+        , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerLinkAssociationGlobalNetworkId
+        , (Just . ("LinkId",) . toJSON) _networkManagerLinkAssociationLinkId
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerLinkAssociation' containing required
+-- fields as arguments.
+networkManagerLinkAssociation
+  :: Val Text -- ^ 'nmlaDeviceId'
+  -> Val Text -- ^ 'nmlaGlobalNetworkId'
+  -> Val Text -- ^ 'nmlaLinkId'
+  -> NetworkManagerLinkAssociation
+networkManagerLinkAssociation deviceIdarg globalNetworkIdarg linkIdarg =
+  NetworkManagerLinkAssociation
+  { _networkManagerLinkAssociationDeviceId = deviceIdarg
+  , _networkManagerLinkAssociationGlobalNetworkId = globalNetworkIdarg
+  , _networkManagerLinkAssociationLinkId = linkIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-deviceid
+nmlaDeviceId :: Lens' NetworkManagerLinkAssociation (Val Text)
+nmlaDeviceId = lens _networkManagerLinkAssociationDeviceId (\s a -> s { _networkManagerLinkAssociationDeviceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-globalnetworkid
+nmlaGlobalNetworkId :: Lens' NetworkManagerLinkAssociation (Val Text)
+nmlaGlobalNetworkId = lens _networkManagerLinkAssociationGlobalNetworkId (\s a -> s { _networkManagerLinkAssociationGlobalNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-linkid
+nmlaLinkId :: Lens' NetworkManagerLinkAssociation (Val Text)
+nmlaLinkId = lens _networkManagerLinkAssociationLinkId (\s a -> s { _networkManagerLinkAssociationLinkId = a })
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerSite.hs b/library-gen/Stratosphere/Resources/NetworkManagerSite.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerSite.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html
+
+module Stratosphere.Resources.NetworkManagerSite where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.NetworkManagerSiteLocation
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for NetworkManagerSite. See
+-- 'networkManagerSite' for a more convenient constructor.
+data NetworkManagerSite =
+  NetworkManagerSite
+  { _networkManagerSiteDescription :: Maybe (Val Text)
+  , _networkManagerSiteGlobalNetworkId :: Val Text
+  , _networkManagerSiteLocation :: Maybe NetworkManagerSiteLocation
+  , _networkManagerSiteTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerSite where
+  toResourceProperties NetworkManagerSite{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::Site"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _networkManagerSiteDescription
+        , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerSiteGlobalNetworkId
+        , fmap (("Location",) . toJSON) _networkManagerSiteLocation
+        , fmap (("Tags",) . toJSON) _networkManagerSiteTags
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerSite' containing required fields as
+-- arguments.
+networkManagerSite
+  :: Val Text -- ^ 'nmsGlobalNetworkId'
+  -> NetworkManagerSite
+networkManagerSite globalNetworkIdarg =
+  NetworkManagerSite
+  { _networkManagerSiteDescription = Nothing
+  , _networkManagerSiteGlobalNetworkId = globalNetworkIdarg
+  , _networkManagerSiteLocation = Nothing
+  , _networkManagerSiteTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-description
+nmsDescription :: Lens' NetworkManagerSite (Maybe (Val Text))
+nmsDescription = lens _networkManagerSiteDescription (\s a -> s { _networkManagerSiteDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-globalnetworkid
+nmsGlobalNetworkId :: Lens' NetworkManagerSite (Val Text)
+nmsGlobalNetworkId = lens _networkManagerSiteGlobalNetworkId (\s a -> s { _networkManagerSiteGlobalNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-location
+nmsLocation :: Lens' NetworkManagerSite (Maybe NetworkManagerSiteLocation)
+nmsLocation = lens _networkManagerSiteLocation (\s a -> s { _networkManagerSiteLocation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-tags
+nmsTags :: Lens' NetworkManagerSite (Maybe [Tag])
+nmsTags = lens _networkManagerSiteTags (\s a -> s { _networkManagerSiteTags = a })
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs b/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html
+
+module Stratosphere.Resources.NetworkManagerTransitGatewayRegistration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NetworkManagerTransitGatewayRegistration.
+-- See 'networkManagerTransitGatewayRegistration' for a more convenient
+-- constructor.
+data NetworkManagerTransitGatewayRegistration =
+  NetworkManagerTransitGatewayRegistration
+  { _networkManagerTransitGatewayRegistrationGlobalNetworkId :: Val Text
+  , _networkManagerTransitGatewayRegistrationTransitGatewayArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties NetworkManagerTransitGatewayRegistration where
+  toResourceProperties NetworkManagerTransitGatewayRegistration{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::NetworkManager::TransitGatewayRegistration"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("GlobalNetworkId",) . toJSON) _networkManagerTransitGatewayRegistrationGlobalNetworkId
+        , (Just . ("TransitGatewayArn",) . toJSON) _networkManagerTransitGatewayRegistrationTransitGatewayArn
+        ]
+    }
+
+-- | Constructor for 'NetworkManagerTransitGatewayRegistration' containing
+-- required fields as arguments.
+networkManagerTransitGatewayRegistration
+  :: Val Text -- ^ 'nmtgrGlobalNetworkId'
+  -> Val Text -- ^ 'nmtgrTransitGatewayArn'
+  -> NetworkManagerTransitGatewayRegistration
+networkManagerTransitGatewayRegistration globalNetworkIdarg transitGatewayArnarg =
+  NetworkManagerTransitGatewayRegistration
+  { _networkManagerTransitGatewayRegistrationGlobalNetworkId = globalNetworkIdarg
+  , _networkManagerTransitGatewayRegistrationTransitGatewayArn = transitGatewayArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-globalnetworkid
+nmtgrGlobalNetworkId :: Lens' NetworkManagerTransitGatewayRegistration (Val Text)
+nmtgrGlobalNetworkId = lens _networkManagerTransitGatewayRegistrationGlobalNetworkId (\s a -> s { _networkManagerTransitGatewayRegistrationGlobalNetworkId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-transitgatewayarn
+nmtgrTransitGatewayArn :: Lens' NetworkManagerTransitGatewayRegistration (Val Text)
+nmtgrTransitGatewayArn = lens _networkManagerTransitGatewayRegistrationTransitGatewayArn (\s a -> s { _networkManagerTransitGatewayRegistrationTransitGatewayArn = a })
diff --git a/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs b/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html
+
+module Stratosphere.Resources.ResourceGroupsGroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ResourceGroupsGroupResourceQuery
+
+-- | Full data type definition for ResourceGroupsGroup. See
+-- 'resourceGroupsGroup' for a more convenient constructor.
+data ResourceGroupsGroup =
+  ResourceGroupsGroup
+  { _resourceGroupsGroupDescription :: Maybe (Val Text)
+  , _resourceGroupsGroupName :: Val Text
+  , _resourceGroupsGroupResourceQuery :: Maybe ResourceGroupsGroupResourceQuery
+  , _resourceGroupsGroupTags :: Maybe [Object]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ResourceGroupsGroup where
+  toResourceProperties ResourceGroupsGroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ResourceGroups::Group"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("Description",) . toJSON) _resourceGroupsGroupDescription
+        , (Just . ("Name",) . toJSON) _resourceGroupsGroupName
+        , fmap (("ResourceQuery",) . toJSON) _resourceGroupsGroupResourceQuery
+        , fmap (("Tags",) . toJSON) _resourceGroupsGroupTags
+        ]
+    }
+
+-- | Constructor for 'ResourceGroupsGroup' containing required fields as
+-- arguments.
+resourceGroupsGroup
+  :: Val Text -- ^ 'rggName'
+  -> ResourceGroupsGroup
+resourceGroupsGroup namearg =
+  ResourceGroupsGroup
+  { _resourceGroupsGroupDescription = Nothing
+  , _resourceGroupsGroupName = namearg
+  , _resourceGroupsGroupResourceQuery = Nothing
+  , _resourceGroupsGroupTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-description
+rggDescription :: Lens' ResourceGroupsGroup (Maybe (Val Text))
+rggDescription = lens _resourceGroupsGroupDescription (\s a -> s { _resourceGroupsGroupDescription = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-name
+rggName :: Lens' ResourceGroupsGroup (Val Text)
+rggName = lens _resourceGroupsGroupName (\s a -> s { _resourceGroupsGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-resourcequery
+rggResourceQuery :: Lens' ResourceGroupsGroup (Maybe ResourceGroupsGroupResourceQuery)
+rggResourceQuery = lens _resourceGroupsGroupResourceQuery (\s a -> s { _resourceGroupsGroupResourceQuery = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-tags
+rggTags :: Lens' ResourceGroupsGroup (Maybe [Object])
+rggTags = lens _resourceGroupsGroupTags (\s a -> s { _resourceGroupsGroupTags = a })
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs
@@ -16,9 +16,10 @@
   ServiceCatalogLaunchRoleConstraint
   { _serviceCatalogLaunchRoleConstraintAcceptLanguage :: Maybe (Val Text)
   , _serviceCatalogLaunchRoleConstraintDescription :: Maybe (Val Text)
+  , _serviceCatalogLaunchRoleConstraintLocalRoleName :: Maybe (Val Text)
   , _serviceCatalogLaunchRoleConstraintPortfolioId :: Val Text
   , _serviceCatalogLaunchRoleConstraintProductId :: Val Text
-  , _serviceCatalogLaunchRoleConstraintRoleArn :: Val Text
+  , _serviceCatalogLaunchRoleConstraintRoleArn :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToResourceProperties ServiceCatalogLaunchRoleConstraint where
@@ -29,9 +30,10 @@
         hashMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogLaunchRoleConstraintAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogLaunchRoleConstraintDescription
+        , fmap (("LocalRoleName",) . toJSON) _serviceCatalogLaunchRoleConstraintLocalRoleName
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogLaunchRoleConstraintPortfolioId
         , (Just . ("ProductId",) . toJSON) _serviceCatalogLaunchRoleConstraintProductId
-        , (Just . ("RoleArn",) . toJSON) _serviceCatalogLaunchRoleConstraintRoleArn
+        , fmap (("RoleArn",) . toJSON) _serviceCatalogLaunchRoleConstraintRoleArn
         ]
     }
 
@@ -40,15 +42,15 @@
 serviceCatalogLaunchRoleConstraint
   :: Val Text -- ^ 'sclrcPortfolioId'
   -> Val Text -- ^ 'sclrcProductId'
-  -> Val Text -- ^ 'sclrcRoleArn'
   -> ServiceCatalogLaunchRoleConstraint
-serviceCatalogLaunchRoleConstraint portfolioIdarg productIdarg roleArnarg =
+serviceCatalogLaunchRoleConstraint portfolioIdarg productIdarg =
   ServiceCatalogLaunchRoleConstraint
   { _serviceCatalogLaunchRoleConstraintAcceptLanguage = Nothing
   , _serviceCatalogLaunchRoleConstraintDescription = Nothing
+  , _serviceCatalogLaunchRoleConstraintLocalRoleName = Nothing
   , _serviceCatalogLaunchRoleConstraintPortfolioId = portfolioIdarg
   , _serviceCatalogLaunchRoleConstraintProductId = productIdarg
-  , _serviceCatalogLaunchRoleConstraintRoleArn = roleArnarg
+  , _serviceCatalogLaunchRoleConstraintRoleArn = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-acceptlanguage
@@ -59,6 +61,10 @@
 sclrcDescription :: Lens' ServiceCatalogLaunchRoleConstraint (Maybe (Val Text))
 sclrcDescription = lens _serviceCatalogLaunchRoleConstraintDescription (\s a -> s { _serviceCatalogLaunchRoleConstraintDescription = a })
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-localrolename
+sclrcLocalRoleName :: Lens' ServiceCatalogLaunchRoleConstraint (Maybe (Val Text))
+sclrcLocalRoleName = lens _serviceCatalogLaunchRoleConstraintLocalRoleName (\s a -> s { _serviceCatalogLaunchRoleConstraintLocalRoleName = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-portfolioid
 sclrcPortfolioId :: Lens' ServiceCatalogLaunchRoleConstraint (Val Text)
 sclrcPortfolioId = lens _serviceCatalogLaunchRoleConstraintPortfolioId (\s a -> s { _serviceCatalogLaunchRoleConstraintPortfolioId = a })
@@ -68,5 +74,5 @@
 sclrcProductId = lens _serviceCatalogLaunchRoleConstraintProductId (\s a -> s { _serviceCatalogLaunchRoleConstraintProductId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-rolearn
-sclrcRoleArn :: Lens' ServiceCatalogLaunchRoleConstraint (Val Text)
+sclrcRoleArn :: Lens' ServiceCatalogLaunchRoleConstraint (Maybe (Val Text))
 sclrcRoleArn = lens _serviceCatalogLaunchRoleConstraintRoleArn (\s a -> s { _serviceCatalogLaunchRoleConstraintRoleArn = a })
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ee57ccca1e9a4f1356e456333df8d21a6fff47a4909fb4e4f029bfbe0316e85e
+-- hash: 9be75cdd17dace140468de699b0e2c48dc74cc00f31ad255104034da133f584c
 
 name:           stratosphere
-version:        0.50.0
+version:        0.51.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -93,6 +93,7 @@
       Stratosphere.ResourceProperties.ApiGatewayV2ApiCors
       Stratosphere.ResourceProperties.ApiGatewayV2AuthorizerJWTConfiguration
       Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration
+      Stratosphere.ResourceProperties.ApiGatewayV2IntegrationTlsConfig
       Stratosphere.ResourceProperties.ApiGatewayV2RouteParameterConstraints
       Stratosphere.ResourceProperties.ApiGatewayV2RouteResponseParameterConstraints
       Stratosphere.ResourceProperties.ApiGatewayV2StageAccessLogSettings
@@ -257,6 +258,10 @@
       Stratosphere.ResourceProperties.BudgetsBudgetSpend
       Stratosphere.ResourceProperties.BudgetsBudgetSubscriber
       Stratosphere.ResourceProperties.BudgetsBudgetTimePeriod
+      Stratosphere.ResourceProperties.CassandraTableBillingMode
+      Stratosphere.ResourceProperties.CassandraTableClusteringKeyColumn
+      Stratosphere.ResourceProperties.CassandraTableColumn
+      Stratosphere.ResourceProperties.CassandraTableProvisionedThroughput
       Stratosphere.ResourceProperties.CertificateManagerCertificateDomainValidationOption
       Stratosphere.ResourceProperties.Cloud9EnvironmentEC2Repository
       Stratosphere.ResourceProperties.CloudFrontCloudFrontOriginAccessIdentityCloudFrontOriginAccessIdentityConfig
@@ -272,8 +277,14 @@
       Stratosphere.ResourceProperties.CloudFrontDistributionLogging
       Stratosphere.ResourceProperties.CloudFrontDistributionOrigin
       Stratosphere.ResourceProperties.CloudFrontDistributionOriginCustomHeader
+      Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroup
+      Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupFailoverCriteria
+      Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMember
+      Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroupMembers
+      Stratosphere.ResourceProperties.CloudFrontDistributionOriginGroups
       Stratosphere.ResourceProperties.CloudFrontDistributionRestrictions
       Stratosphere.ResourceProperties.CloudFrontDistributionS3OriginConfig
+      Stratosphere.ResourceProperties.CloudFrontDistributionStatusCodes
       Stratosphere.ResourceProperties.CloudFrontDistributionViewerCertificate
       Stratosphere.ResourceProperties.CloudFrontStreamingDistributionLogging
       Stratosphere.ResourceProperties.CloudFrontStreamingDistributionS3Origin
@@ -415,6 +426,7 @@
       Stratosphere.ResourceProperties.DLMLifecyclePolicySchedule
       Stratosphere.ResourceProperties.DMSEndpointDynamoDbSettings
       Stratosphere.ResourceProperties.DMSEndpointElasticsearchSettings
+      Stratosphere.ResourceProperties.DMSEndpointKafkaSettings
       Stratosphere.ResourceProperties.DMSEndpointKinesisSettings
       Stratosphere.ResourceProperties.DMSEndpointMongoDbSettings
       Stratosphere.ResourceProperties.DMSEndpointS3Settings
@@ -1026,19 +1038,27 @@
       Stratosphere.ResourceProperties.MediaLiveInputMediaConnectFlowRequest
       Stratosphere.ResourceProperties.MediaLiveInputSecurityGroupInputWhitelistRuleCidr
       Stratosphere.ResourceProperties.MediaStoreContainerCorsRule
+      Stratosphere.ResourceProperties.MSKClusterBrokerLogs
       Stratosphere.ResourceProperties.MSKClusterBrokerNodeGroupInfo
       Stratosphere.ResourceProperties.MSKClusterClientAuthentication
+      Stratosphere.ResourceProperties.MSKClusterCloudWatchLogs
       Stratosphere.ResourceProperties.MSKClusterConfigurationInfo
       Stratosphere.ResourceProperties.MSKClusterEBSStorageInfo
       Stratosphere.ResourceProperties.MSKClusterEncryptionAtRest
       Stratosphere.ResourceProperties.MSKClusterEncryptionInfo
       Stratosphere.ResourceProperties.MSKClusterEncryptionInTransit
+      Stratosphere.ResourceProperties.MSKClusterFirehose
       Stratosphere.ResourceProperties.MSKClusterJmxExporter
+      Stratosphere.ResourceProperties.MSKClusterLoggingInfo
       Stratosphere.ResourceProperties.MSKClusterNodeExporter
       Stratosphere.ResourceProperties.MSKClusterOpenMonitoring
       Stratosphere.ResourceProperties.MSKClusterPrometheus
+      Stratosphere.ResourceProperties.MSKClusterS3
       Stratosphere.ResourceProperties.MSKClusterStorageInfo
       Stratosphere.ResourceProperties.MSKClusterTls
+      Stratosphere.ResourceProperties.NetworkManagerDeviceLocation
+      Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth
+      Stratosphere.ResourceProperties.NetworkManagerSiteLocation
       Stratosphere.ResourceProperties.OpsWorksAppDataSource
       Stratosphere.ResourceProperties.OpsWorksAppEnvironmentVariable
       Stratosphere.ResourceProperties.OpsWorksAppSource
@@ -1113,6 +1133,9 @@
       Stratosphere.ResourceProperties.RDSOptionGroupOptionSetting
       Stratosphere.ResourceProperties.RedshiftClusterLoggingProperties
       Stratosphere.ResourceProperties.RedshiftClusterParameterGroupParameter
+      Stratosphere.ResourceProperties.ResourceGroupsGroupQuery
+      Stratosphere.ResourceProperties.ResourceGroupsGroupResourceQuery
+      Stratosphere.ResourceProperties.ResourceGroupsGroupTagFilter
       Stratosphere.ResourceProperties.RoboMakerRobotApplicationRobotSoftwareSuite
       Stratosphere.ResourceProperties.RoboMakerRobotApplicationSourceConfig
       Stratosphere.ResourceProperties.RoboMakerSimulationApplicationRenderingEngine
@@ -1404,6 +1427,8 @@
       Stratosphere.Resources.BatchJobDefinition
       Stratosphere.Resources.BatchJobQueue
       Stratosphere.Resources.BudgetsBudget
+      Stratosphere.Resources.CassandraKeyspace
+      Stratosphere.Resources.CassandraTable
       Stratosphere.Resources.CertificateManagerCertificate
       Stratosphere.Resources.ChatbotSlackChannelConfiguration
       Stratosphere.Resources.Cloud9EnvironmentEC2
@@ -1428,6 +1453,7 @@
       Stratosphere.Resources.CodeDeployApplication
       Stratosphere.Resources.CodeDeployDeploymentConfig
       Stratosphere.Resources.CodeDeployDeploymentGroup
+      Stratosphere.Resources.CodeGuruProfilerProfilingGroup
       Stratosphere.Resources.CodePipelineCustomActionType
       Stratosphere.Resources.CodePipelinePipeline
       Stratosphere.Resources.CodePipelineWebhook
@@ -1688,6 +1714,13 @@
       Stratosphere.Resources.NeptuneDBInstance
       Stratosphere.Resources.NeptuneDBParameterGroup
       Stratosphere.Resources.NeptuneDBSubnetGroup
+      Stratosphere.Resources.NetworkManagerCustomerGatewayAssociation
+      Stratosphere.Resources.NetworkManagerDevice
+      Stratosphere.Resources.NetworkManagerGlobalNetwork
+      Stratosphere.Resources.NetworkManagerLink
+      Stratosphere.Resources.NetworkManagerLinkAssociation
+      Stratosphere.Resources.NetworkManagerSite
+      Stratosphere.Resources.NetworkManagerTransitGatewayRegistration
       Stratosphere.Resources.OpsWorksApp
       Stratosphere.Resources.OpsWorksCMServer
       Stratosphere.Resources.OpsWorksElasticLoadBalancerAttachment
@@ -1734,6 +1767,7 @@
       Stratosphere.Resources.RedshiftClusterSecurityGroup
       Stratosphere.Resources.RedshiftClusterSecurityGroupIngress
       Stratosphere.Resources.RedshiftClusterSubnetGroup
+      Stratosphere.Resources.ResourceGroupsGroup
       Stratosphere.Resources.RoboMakerFleet
       Stratosphere.Resources.RoboMakerRobot
       Stratosphere.Resources.RoboMakerRobotApplication
