diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.59.0
+
+* Update resource specification document to version 18.2.0
+
 ## 0.58.0
 
 * Update resource specification document to version 17.0.0
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyCachePolicyConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyCachePolicyConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyCachePolicyConfig.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontCachePolicyCachePolicyConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+
+-- | Full data type definition for CloudFrontCachePolicyCachePolicyConfig. See
+-- 'cloudFrontCachePolicyCachePolicyConfig' for a more convenient
+-- constructor.
+data CloudFrontCachePolicyCachePolicyConfig =
+  CloudFrontCachePolicyCachePolicyConfig
+  { _cloudFrontCachePolicyCachePolicyConfigComment :: Maybe (Val Text)
+  , _cloudFrontCachePolicyCachePolicyConfigDefaultTTL :: Maybe (Val Double)
+  , _cloudFrontCachePolicyCachePolicyConfigMaxTTL :: Maybe (Val Double)
+  , _cloudFrontCachePolicyCachePolicyConfigMinTTL :: Val Double
+  , _cloudFrontCachePolicyCachePolicyConfigName :: Val Text
+  , _cloudFrontCachePolicyCachePolicyConfigParametersInCacheKeyAndForwardedToOrigin :: Maybe CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontCachePolicyCachePolicyConfig where
+  toJSON CloudFrontCachePolicyCachePolicyConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("Comment",) . toJSON) _cloudFrontCachePolicyCachePolicyConfigComment
+    , fmap (("DefaultTTL",) . toJSON) _cloudFrontCachePolicyCachePolicyConfigDefaultTTL
+    , fmap (("MaxTTL",) . toJSON) _cloudFrontCachePolicyCachePolicyConfigMaxTTL
+    , (Just . ("MinTTL",) . toJSON) _cloudFrontCachePolicyCachePolicyConfigMinTTL
+    , (Just . ("Name",) . toJSON) _cloudFrontCachePolicyCachePolicyConfigName
+    , fmap (("ParametersInCacheKeyAndForwardedToOrigin",) . toJSON) _cloudFrontCachePolicyCachePolicyConfigParametersInCacheKeyAndForwardedToOrigin
+    ]
+
+-- | Constructor for 'CloudFrontCachePolicyCachePolicyConfig' containing
+-- required fields as arguments.
+cloudFrontCachePolicyCachePolicyConfig
+  :: Val Double -- ^ 'cfcpcpcMinTTL'
+  -> Val Text -- ^ 'cfcpcpcName'
+  -> CloudFrontCachePolicyCachePolicyConfig
+cloudFrontCachePolicyCachePolicyConfig minTTLarg namearg =
+  CloudFrontCachePolicyCachePolicyConfig
+  { _cloudFrontCachePolicyCachePolicyConfigComment = Nothing
+  , _cloudFrontCachePolicyCachePolicyConfigDefaultTTL = Nothing
+  , _cloudFrontCachePolicyCachePolicyConfigMaxTTL = Nothing
+  , _cloudFrontCachePolicyCachePolicyConfigMinTTL = minTTLarg
+  , _cloudFrontCachePolicyCachePolicyConfigName = namearg
+  , _cloudFrontCachePolicyCachePolicyConfigParametersInCacheKeyAndForwardedToOrigin = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-comment
+cfcpcpcComment :: Lens' CloudFrontCachePolicyCachePolicyConfig (Maybe (Val Text))
+cfcpcpcComment = lens _cloudFrontCachePolicyCachePolicyConfigComment (\s a -> s { _cloudFrontCachePolicyCachePolicyConfigComment = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-defaultttl
+cfcpcpcDefaultTTL :: Lens' CloudFrontCachePolicyCachePolicyConfig (Maybe (Val Double))
+cfcpcpcDefaultTTL = lens _cloudFrontCachePolicyCachePolicyConfigDefaultTTL (\s a -> s { _cloudFrontCachePolicyCachePolicyConfigDefaultTTL = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-maxttl
+cfcpcpcMaxTTL :: Lens' CloudFrontCachePolicyCachePolicyConfig (Maybe (Val Double))
+cfcpcpcMaxTTL = lens _cloudFrontCachePolicyCachePolicyConfigMaxTTL (\s a -> s { _cloudFrontCachePolicyCachePolicyConfigMaxTTL = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-minttl
+cfcpcpcMinTTL :: Lens' CloudFrontCachePolicyCachePolicyConfig (Val Double)
+cfcpcpcMinTTL = lens _cloudFrontCachePolicyCachePolicyConfigMinTTL (\s a -> s { _cloudFrontCachePolicyCachePolicyConfigMinTTL = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-name
+cfcpcpcName :: Lens' CloudFrontCachePolicyCachePolicyConfig (Val Text)
+cfcpcpcName = lens _cloudFrontCachePolicyCachePolicyConfigName (\s a -> s { _cloudFrontCachePolicyCachePolicyConfigName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-parametersincachekeyandforwardedtoorigin
+cfcpcpcParametersInCacheKeyAndForwardedToOrigin :: Lens' CloudFrontCachePolicyCachePolicyConfig (Maybe CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin)
+cfcpcpcParametersInCacheKeyAndForwardedToOrigin = lens _cloudFrontCachePolicyCachePolicyConfigParametersInCacheKeyAndForwardedToOrigin (\s a -> s { _cloudFrontCachePolicyCachePolicyConfigParametersInCacheKeyAndForwardedToOrigin = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyCookiesConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyCookiesConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyCookiesConfig.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontCachePolicyCookiesConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontCachePolicyCookiesConfig. See
+-- 'cloudFrontCachePolicyCookiesConfig' for a more convenient constructor.
+data CloudFrontCachePolicyCookiesConfig =
+  CloudFrontCachePolicyCookiesConfig
+  { _cloudFrontCachePolicyCookiesConfigCookieBehavior :: Val Text
+  , _cloudFrontCachePolicyCookiesConfigCookies :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontCachePolicyCookiesConfig where
+  toJSON CloudFrontCachePolicyCookiesConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("CookieBehavior",) . toJSON) _cloudFrontCachePolicyCookiesConfigCookieBehavior
+    , fmap (("Cookies",) . toJSON) _cloudFrontCachePolicyCookiesConfigCookies
+    ]
+
+-- | Constructor for 'CloudFrontCachePolicyCookiesConfig' containing required
+-- fields as arguments.
+cloudFrontCachePolicyCookiesConfig
+  :: Val Text -- ^ 'cfcpccCookieBehavior'
+  -> CloudFrontCachePolicyCookiesConfig
+cloudFrontCachePolicyCookiesConfig cookieBehaviorarg =
+  CloudFrontCachePolicyCookiesConfig
+  { _cloudFrontCachePolicyCookiesConfigCookieBehavior = cookieBehaviorarg
+  , _cloudFrontCachePolicyCookiesConfigCookies = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html#cfn-cloudfront-cachepolicy-cookiesconfig-cookiebehavior
+cfcpccCookieBehavior :: Lens' CloudFrontCachePolicyCookiesConfig (Val Text)
+cfcpccCookieBehavior = lens _cloudFrontCachePolicyCookiesConfigCookieBehavior (\s a -> s { _cloudFrontCachePolicyCookiesConfigCookieBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html#cfn-cloudfront-cachepolicy-cookiesconfig-cookies
+cfcpccCookies :: Lens' CloudFrontCachePolicyCookiesConfig (Maybe (ValList Text))
+cfcpccCookies = lens _cloudFrontCachePolicyCookiesConfigCookies (\s a -> s { _cloudFrontCachePolicyCookiesConfigCookies = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyHeadersConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyHeadersConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyHeadersConfig.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontCachePolicyHeadersConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontCachePolicyHeadersConfig. See
+-- 'cloudFrontCachePolicyHeadersConfig' for a more convenient constructor.
+data CloudFrontCachePolicyHeadersConfig =
+  CloudFrontCachePolicyHeadersConfig
+  { _cloudFrontCachePolicyHeadersConfigHeaderBehavior :: Val Text
+  , _cloudFrontCachePolicyHeadersConfigHeaders :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontCachePolicyHeadersConfig where
+  toJSON CloudFrontCachePolicyHeadersConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("HeaderBehavior",) . toJSON) _cloudFrontCachePolicyHeadersConfigHeaderBehavior
+    , fmap (("Headers",) . toJSON) _cloudFrontCachePolicyHeadersConfigHeaders
+    ]
+
+-- | Constructor for 'CloudFrontCachePolicyHeadersConfig' containing required
+-- fields as arguments.
+cloudFrontCachePolicyHeadersConfig
+  :: Val Text -- ^ 'cfcphcHeaderBehavior'
+  -> CloudFrontCachePolicyHeadersConfig
+cloudFrontCachePolicyHeadersConfig headerBehaviorarg =
+  CloudFrontCachePolicyHeadersConfig
+  { _cloudFrontCachePolicyHeadersConfigHeaderBehavior = headerBehaviorarg
+  , _cloudFrontCachePolicyHeadersConfigHeaders = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html#cfn-cloudfront-cachepolicy-headersconfig-headerbehavior
+cfcphcHeaderBehavior :: Lens' CloudFrontCachePolicyHeadersConfig (Val Text)
+cfcphcHeaderBehavior = lens _cloudFrontCachePolicyHeadersConfigHeaderBehavior (\s a -> s { _cloudFrontCachePolicyHeadersConfigHeaderBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html#cfn-cloudfront-cachepolicy-headersconfig-headers
+cfcphcHeaders :: Lens' CloudFrontCachePolicyHeadersConfig (Maybe (ValList Text))
+cfcphcHeaders = lens _cloudFrontCachePolicyHeadersConfigHeaders (\s a -> s { _cloudFrontCachePolicyHeadersConfigHeaders = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html
+
+module Stratosphere.ResourceProperties.CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyCookiesConfig
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyHeadersConfig
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyQueryStringsConfig
+
+-- | Full data type definition for
+-- CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin. See
+-- 'cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin' for a
+-- more convenient constructor.
+data CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin =
+  CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+  { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig :: CloudFrontCachePolicyCookiesConfig
+  , _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip :: Val Bool
+  , _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig :: CloudFrontCachePolicyHeadersConfig
+  , _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig :: CloudFrontCachePolicyQueryStringsConfig
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin where
+  toJSON CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin{..} =
+    object $
+    catMaybes
+    [ (Just . ("CookiesConfig",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig
+    , (Just . ("EnableAcceptEncodingGzip",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip
+    , (Just . ("HeadersConfig",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig
+    , (Just . ("QueryStringsConfig",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig
+    ]
+
+-- | Constructor for
+-- 'CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin'
+-- containing required fields as arguments.
+cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+  :: CloudFrontCachePolicyCookiesConfig -- ^ 'cfcppickaftoCookiesConfig'
+  -> Val Bool -- ^ 'cfcppickaftoEnableAcceptEncodingGzip'
+  -> CloudFrontCachePolicyHeadersConfig -- ^ 'cfcppickaftoHeadersConfig'
+  -> CloudFrontCachePolicyQueryStringsConfig -- ^ 'cfcppickaftoQueryStringsConfig'
+  -> CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin cookiesConfigarg enableAcceptEncodingGziparg headersConfigarg queryStringsConfigarg =
+  CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+  { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig = cookiesConfigarg
+  , _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip = enableAcceptEncodingGziparg
+  , _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig = headersConfigarg
+  , _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig = queryStringsConfigarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-cookiesconfig
+cfcppickaftoCookiesConfig :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin CloudFrontCachePolicyCookiesConfig
+cfcppickaftoCookiesConfig = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-enableacceptencodinggzip
+cfcppickaftoEnableAcceptEncodingGzip :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin (Val Bool)
+cfcppickaftoEnableAcceptEncodingGzip = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-headersconfig
+cfcppickaftoHeadersConfig :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin CloudFrontCachePolicyHeadersConfig
+cfcppickaftoHeadersConfig = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-querystringsconfig
+cfcppickaftoQueryStringsConfig :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin CloudFrontCachePolicyQueryStringsConfig
+cfcppickaftoQueryStringsConfig = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyQueryStringsConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyQueryStringsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyQueryStringsConfig.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontCachePolicyQueryStringsConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontCachePolicyQueryStringsConfig.
+-- See 'cloudFrontCachePolicyQueryStringsConfig' for a more convenient
+-- constructor.
+data CloudFrontCachePolicyQueryStringsConfig =
+  CloudFrontCachePolicyQueryStringsConfig
+  { _cloudFrontCachePolicyQueryStringsConfigQueryStringBehavior :: Val Text
+  , _cloudFrontCachePolicyQueryStringsConfigQueryStrings :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontCachePolicyQueryStringsConfig where
+  toJSON CloudFrontCachePolicyQueryStringsConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("QueryStringBehavior",) . toJSON) _cloudFrontCachePolicyQueryStringsConfigQueryStringBehavior
+    , fmap (("QueryStrings",) . toJSON) _cloudFrontCachePolicyQueryStringsConfigQueryStrings
+    ]
+
+-- | Constructor for 'CloudFrontCachePolicyQueryStringsConfig' containing
+-- required fields as arguments.
+cloudFrontCachePolicyQueryStringsConfig
+  :: Val Text -- ^ 'cfcpqscQueryStringBehavior'
+  -> CloudFrontCachePolicyQueryStringsConfig
+cloudFrontCachePolicyQueryStringsConfig queryStringBehaviorarg =
+  CloudFrontCachePolicyQueryStringsConfig
+  { _cloudFrontCachePolicyQueryStringsConfigQueryStringBehavior = queryStringBehaviorarg
+  , _cloudFrontCachePolicyQueryStringsConfigQueryStrings = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html#cfn-cloudfront-cachepolicy-querystringsconfig-querystringbehavior
+cfcpqscQueryStringBehavior :: Lens' CloudFrontCachePolicyQueryStringsConfig (Val Text)
+cfcpqscQueryStringBehavior = lens _cloudFrontCachePolicyQueryStringsConfigQueryStringBehavior (\s a -> s { _cloudFrontCachePolicyQueryStringsConfigQueryStringBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html#cfn-cloudfront-cachepolicy-querystringsconfig-querystrings
+cfcpqscQueryStrings :: Lens' CloudFrontCachePolicyQueryStringsConfig (Maybe (ValList Text))
+cfcpqscQueryStrings = lens _cloudFrontCachePolicyQueryStringsConfigQueryStrings (\s a -> s { _cloudFrontCachePolicyQueryStringsConfigQueryStrings = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCacheBehavior.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCacheBehavior.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCacheBehavior.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCacheBehavior.hs
@@ -27,6 +27,7 @@
   , _cloudFrontDistributionCacheBehaviorMinTTL :: Maybe (Val Double)
   , _cloudFrontDistributionCacheBehaviorOriginRequestPolicyId :: Maybe (Val Text)
   , _cloudFrontDistributionCacheBehaviorPathPattern :: Val Text
+  , _cloudFrontDistributionCacheBehaviorRealtimeLogConfigArn :: Maybe (Val Text)
   , _cloudFrontDistributionCacheBehaviorSmoothStreaming :: Maybe (Val Bool)
   , _cloudFrontDistributionCacheBehaviorTargetOriginId :: Val Text
   , _cloudFrontDistributionCacheBehaviorTrustedSigners :: Maybe (ValList Text)
@@ -49,6 +50,7 @@
     , fmap (("MinTTL",) . toJSON) _cloudFrontDistributionCacheBehaviorMinTTL
     , fmap (("OriginRequestPolicyId",) . toJSON) _cloudFrontDistributionCacheBehaviorOriginRequestPolicyId
     , (Just . ("PathPattern",) . toJSON) _cloudFrontDistributionCacheBehaviorPathPattern
+    , fmap (("RealtimeLogConfigArn",) . toJSON) _cloudFrontDistributionCacheBehaviorRealtimeLogConfigArn
     , fmap (("SmoothStreaming",) . toJSON) _cloudFrontDistributionCacheBehaviorSmoothStreaming
     , (Just . ("TargetOriginId",) . toJSON) _cloudFrontDistributionCacheBehaviorTargetOriginId
     , fmap (("TrustedSigners",) . toJSON) _cloudFrontDistributionCacheBehaviorTrustedSigners
@@ -76,6 +78,7 @@
   , _cloudFrontDistributionCacheBehaviorMinTTL = Nothing
   , _cloudFrontDistributionCacheBehaviorOriginRequestPolicyId = Nothing
   , _cloudFrontDistributionCacheBehaviorPathPattern = pathPatternarg
+  , _cloudFrontDistributionCacheBehaviorRealtimeLogConfigArn = Nothing
   , _cloudFrontDistributionCacheBehaviorSmoothStreaming = Nothing
   , _cloudFrontDistributionCacheBehaviorTargetOriginId = targetOriginIdarg
   , _cloudFrontDistributionCacheBehaviorTrustedSigners = Nothing
@@ -129,6 +132,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-pathpattern
 cfdcbPathPattern :: Lens' CloudFrontDistributionCacheBehavior (Val Text)
 cfdcbPathPattern = lens _cloudFrontDistributionCacheBehaviorPathPattern (\s a -> s { _cloudFrontDistributionCacheBehaviorPathPattern = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-realtimelogconfigarn
+cfdcbRealtimeLogConfigArn :: Lens' CloudFrontDistributionCacheBehavior (Maybe (Val Text))
+cfdcbRealtimeLogConfigArn = lens _cloudFrontDistributionCacheBehaviorRealtimeLogConfigArn (\s a -> s { _cloudFrontDistributionCacheBehaviorRealtimeLogConfigArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-smoothstreaming
 cfdcbSmoothStreaming :: Lens' CloudFrontDistributionCacheBehavior (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDefaultCacheBehavior.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDefaultCacheBehavior.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDefaultCacheBehavior.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDefaultCacheBehavior.hs
@@ -27,6 +27,7 @@
   , _cloudFrontDistributionDefaultCacheBehaviorMaxTTL :: Maybe (Val Double)
   , _cloudFrontDistributionDefaultCacheBehaviorMinTTL :: Maybe (Val Double)
   , _cloudFrontDistributionDefaultCacheBehaviorOriginRequestPolicyId :: Maybe (Val Text)
+  , _cloudFrontDistributionDefaultCacheBehaviorRealtimeLogConfigArn :: Maybe (Val Text)
   , _cloudFrontDistributionDefaultCacheBehaviorSmoothStreaming :: Maybe (Val Bool)
   , _cloudFrontDistributionDefaultCacheBehaviorTargetOriginId :: Val Text
   , _cloudFrontDistributionDefaultCacheBehaviorTrustedSigners :: Maybe (ValList Text)
@@ -48,6 +49,7 @@
     , fmap (("MaxTTL",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorMaxTTL
     , fmap (("MinTTL",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorMinTTL
     , fmap (("OriginRequestPolicyId",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorOriginRequestPolicyId
+    , fmap (("RealtimeLogConfigArn",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorRealtimeLogConfigArn
     , fmap (("SmoothStreaming",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorSmoothStreaming
     , (Just . ("TargetOriginId",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorTargetOriginId
     , fmap (("TrustedSigners",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorTrustedSigners
@@ -73,6 +75,7 @@
   , _cloudFrontDistributionDefaultCacheBehaviorMaxTTL = Nothing
   , _cloudFrontDistributionDefaultCacheBehaviorMinTTL = Nothing
   , _cloudFrontDistributionDefaultCacheBehaviorOriginRequestPolicyId = Nothing
+  , _cloudFrontDistributionDefaultCacheBehaviorRealtimeLogConfigArn = Nothing
   , _cloudFrontDistributionDefaultCacheBehaviorSmoothStreaming = Nothing
   , _cloudFrontDistributionDefaultCacheBehaviorTargetOriginId = targetOriginIdarg
   , _cloudFrontDistributionDefaultCacheBehaviorTrustedSigners = Nothing
@@ -122,6 +125,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-originrequestpolicyid
 cfddcbOriginRequestPolicyId :: Lens' CloudFrontDistributionDefaultCacheBehavior (Maybe (Val Text))
 cfddcbOriginRequestPolicyId = lens _cloudFrontDistributionDefaultCacheBehaviorOriginRequestPolicyId (\s a -> s { _cloudFrontDistributionDefaultCacheBehaviorOriginRequestPolicyId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-realtimelogconfigarn
+cfddcbRealtimeLogConfigArn :: Lens' CloudFrontDistributionDefaultCacheBehavior (Maybe (Val Text))
+cfddcbRealtimeLogConfigArn = lens _cloudFrontDistributionDefaultCacheBehaviorRealtimeLogConfigArn (\s a -> s { _cloudFrontDistributionDefaultCacheBehaviorRealtimeLogConfigArn = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming
 cfddcbSmoothStreaming :: Lens' CloudFrontDistributionDefaultCacheBehavior (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyCookiesConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyCookiesConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyCookiesConfig.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyCookiesConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontOriginRequestPolicyCookiesConfig.
+-- See 'cloudFrontOriginRequestPolicyCookiesConfig' for a more convenient
+-- constructor.
+data CloudFrontOriginRequestPolicyCookiesConfig =
+  CloudFrontOriginRequestPolicyCookiesConfig
+  { _cloudFrontOriginRequestPolicyCookiesConfigCookieBehavior :: Val Text
+  , _cloudFrontOriginRequestPolicyCookiesConfigCookies :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontOriginRequestPolicyCookiesConfig where
+  toJSON CloudFrontOriginRequestPolicyCookiesConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("CookieBehavior",) . toJSON) _cloudFrontOriginRequestPolicyCookiesConfigCookieBehavior
+    , fmap (("Cookies",) . toJSON) _cloudFrontOriginRequestPolicyCookiesConfigCookies
+    ]
+
+-- | Constructor for 'CloudFrontOriginRequestPolicyCookiesConfig' containing
+-- required fields as arguments.
+cloudFrontOriginRequestPolicyCookiesConfig
+  :: Val Text -- ^ 'cforpccCookieBehavior'
+  -> CloudFrontOriginRequestPolicyCookiesConfig
+cloudFrontOriginRequestPolicyCookiesConfig cookieBehaviorarg =
+  CloudFrontOriginRequestPolicyCookiesConfig
+  { _cloudFrontOriginRequestPolicyCookiesConfigCookieBehavior = cookieBehaviorarg
+  , _cloudFrontOriginRequestPolicyCookiesConfigCookies = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html#cfn-cloudfront-originrequestpolicy-cookiesconfig-cookiebehavior
+cforpccCookieBehavior :: Lens' CloudFrontOriginRequestPolicyCookiesConfig (Val Text)
+cforpccCookieBehavior = lens _cloudFrontOriginRequestPolicyCookiesConfigCookieBehavior (\s a -> s { _cloudFrontOriginRequestPolicyCookiesConfigCookieBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html#cfn-cloudfront-originrequestpolicy-cookiesconfig-cookies
+cforpccCookies :: Lens' CloudFrontOriginRequestPolicyCookiesConfig (Maybe (ValList Text))
+cforpccCookies = lens _cloudFrontOriginRequestPolicyCookiesConfigCookies (\s a -> s { _cloudFrontOriginRequestPolicyCookiesConfigCookies = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyHeadersConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyHeadersConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyHeadersConfig.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyHeadersConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CloudFrontOriginRequestPolicyHeadersConfig.
+-- See 'cloudFrontOriginRequestPolicyHeadersConfig' for a more convenient
+-- constructor.
+data CloudFrontOriginRequestPolicyHeadersConfig =
+  CloudFrontOriginRequestPolicyHeadersConfig
+  { _cloudFrontOriginRequestPolicyHeadersConfigHeaderBehavior :: Val Text
+  , _cloudFrontOriginRequestPolicyHeadersConfigHeaders :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontOriginRequestPolicyHeadersConfig where
+  toJSON CloudFrontOriginRequestPolicyHeadersConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("HeaderBehavior",) . toJSON) _cloudFrontOriginRequestPolicyHeadersConfigHeaderBehavior
+    , fmap (("Headers",) . toJSON) _cloudFrontOriginRequestPolicyHeadersConfigHeaders
+    ]
+
+-- | Constructor for 'CloudFrontOriginRequestPolicyHeadersConfig' containing
+-- required fields as arguments.
+cloudFrontOriginRequestPolicyHeadersConfig
+  :: Val Text -- ^ 'cforphcHeaderBehavior'
+  -> CloudFrontOriginRequestPolicyHeadersConfig
+cloudFrontOriginRequestPolicyHeadersConfig headerBehaviorarg =
+  CloudFrontOriginRequestPolicyHeadersConfig
+  { _cloudFrontOriginRequestPolicyHeadersConfigHeaderBehavior = headerBehaviorarg
+  , _cloudFrontOriginRequestPolicyHeadersConfigHeaders = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html#cfn-cloudfront-originrequestpolicy-headersconfig-headerbehavior
+cforphcHeaderBehavior :: Lens' CloudFrontOriginRequestPolicyHeadersConfig (Val Text)
+cforphcHeaderBehavior = lens _cloudFrontOriginRequestPolicyHeadersConfigHeaderBehavior (\s a -> s { _cloudFrontOriginRequestPolicyHeadersConfigHeaderBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html#cfn-cloudfront-originrequestpolicy-headersconfig-headers
+cforphcHeaders :: Lens' CloudFrontOriginRequestPolicyHeadersConfig (Maybe (ValList Text))
+cforphcHeaders = lens _cloudFrontOriginRequestPolicyHeadersConfigHeaders (\s a -> s { _cloudFrontOriginRequestPolicyHeadersConfigHeaders = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyOriginRequestPolicyConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyOriginRequestPolicyConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyOriginRequestPolicyConfig.hs
@@ -0,0 +1,74 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyOriginRequestPolicyConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyCookiesConfig
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyHeadersConfig
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyQueryStringsConfig
+
+-- | Full data type definition for
+-- CloudFrontOriginRequestPolicyOriginRequestPolicyConfig. See
+-- 'cloudFrontOriginRequestPolicyOriginRequestPolicyConfig' for a more
+-- convenient constructor.
+data CloudFrontOriginRequestPolicyOriginRequestPolicyConfig =
+  CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+  { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigComment :: Maybe (Val Text)
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigCookiesConfig :: CloudFrontOriginRequestPolicyCookiesConfig
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigHeadersConfig :: CloudFrontOriginRequestPolicyHeadersConfig
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigName :: Val Text
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigQueryStringsConfig :: CloudFrontOriginRequestPolicyQueryStringsConfig
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontOriginRequestPolicyOriginRequestPolicyConfig where
+  toJSON CloudFrontOriginRequestPolicyOriginRequestPolicyConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("Comment",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigComment
+    , (Just . ("CookiesConfig",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigCookiesConfig
+    , (Just . ("HeadersConfig",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigHeadersConfig
+    , (Just . ("Name",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigName
+    , (Just . ("QueryStringsConfig",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigQueryStringsConfig
+    ]
+
+-- | Constructor for 'CloudFrontOriginRequestPolicyOriginRequestPolicyConfig'
+-- containing required fields as arguments.
+cloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+  :: CloudFrontOriginRequestPolicyCookiesConfig -- ^ 'cforporpcCookiesConfig'
+  -> CloudFrontOriginRequestPolicyHeadersConfig -- ^ 'cforporpcHeadersConfig'
+  -> Val Text -- ^ 'cforporpcName'
+  -> CloudFrontOriginRequestPolicyQueryStringsConfig -- ^ 'cforporpcQueryStringsConfig'
+  -> CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+cloudFrontOriginRequestPolicyOriginRequestPolicyConfig cookiesConfigarg headersConfigarg namearg queryStringsConfigarg =
+  CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+  { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigComment = Nothing
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigCookiesConfig = cookiesConfigarg
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigHeadersConfig = headersConfigarg
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigName = namearg
+  , _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigQueryStringsConfig = queryStringsConfigarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-comment
+cforporpcComment :: Lens' CloudFrontOriginRequestPolicyOriginRequestPolicyConfig (Maybe (Val Text))
+cforporpcComment = lens _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigComment (\s a -> s { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigComment = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-cookiesconfig
+cforporpcCookiesConfig :: Lens' CloudFrontOriginRequestPolicyOriginRequestPolicyConfig CloudFrontOriginRequestPolicyCookiesConfig
+cforporpcCookiesConfig = lens _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigCookiesConfig (\s a -> s { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigCookiesConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-headersconfig
+cforporpcHeadersConfig :: Lens' CloudFrontOriginRequestPolicyOriginRequestPolicyConfig CloudFrontOriginRequestPolicyHeadersConfig
+cforporpcHeadersConfig = lens _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigHeadersConfig (\s a -> s { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigHeadersConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-name
+cforporpcName :: Lens' CloudFrontOriginRequestPolicyOriginRequestPolicyConfig (Val Text)
+cforporpcName = lens _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigName (\s a -> s { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-querystringsconfig
+cforporpcQueryStringsConfig :: Lens' CloudFrontOriginRequestPolicyOriginRequestPolicyConfig CloudFrontOriginRequestPolicyQueryStringsConfig
+cforporpcQueryStringsConfig = lens _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigQueryStringsConfig (\s a -> s { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfigQueryStringsConfig = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyQueryStringsConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyQueryStringsConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontOriginRequestPolicyQueryStringsConfig.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyQueryStringsConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CloudFrontOriginRequestPolicyQueryStringsConfig. See
+-- 'cloudFrontOriginRequestPolicyQueryStringsConfig' for a more convenient
+-- constructor.
+data CloudFrontOriginRequestPolicyQueryStringsConfig =
+  CloudFrontOriginRequestPolicyQueryStringsConfig
+  { _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStringBehavior :: Val Text
+  , _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStrings :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontOriginRequestPolicyQueryStringsConfig where
+  toJSON CloudFrontOriginRequestPolicyQueryStringsConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("QueryStringBehavior",) . toJSON) _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStringBehavior
+    , fmap (("QueryStrings",) . toJSON) _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStrings
+    ]
+
+-- | Constructor for 'CloudFrontOriginRequestPolicyQueryStringsConfig'
+-- containing required fields as arguments.
+cloudFrontOriginRequestPolicyQueryStringsConfig
+  :: Val Text -- ^ 'cforpqscQueryStringBehavior'
+  -> CloudFrontOriginRequestPolicyQueryStringsConfig
+cloudFrontOriginRequestPolicyQueryStringsConfig queryStringBehaviorarg =
+  CloudFrontOriginRequestPolicyQueryStringsConfig
+  { _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStringBehavior = queryStringBehaviorarg
+  , _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStrings = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html#cfn-cloudfront-originrequestpolicy-querystringsconfig-querystringbehavior
+cforpqscQueryStringBehavior :: Lens' CloudFrontOriginRequestPolicyQueryStringsConfig (Val Text)
+cforpqscQueryStringBehavior = lens _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStringBehavior (\s a -> s { _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStringBehavior = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html#cfn-cloudfront-originrequestpolicy-querystringsconfig-querystrings
+cforpqscQueryStrings :: Lens' CloudFrontOriginRequestPolicyQueryStringsConfig (Maybe (ValList Text))
+cforpqscQueryStrings = lens _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStrings (\s a -> s { _cloudFrontOriginRequestPolicyQueryStringsConfigQueryStrings = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontRealtimeLogConfigEndPoint.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontRealtimeLogConfigEndPoint.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontRealtimeLogConfigEndPoint.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html
+
+module Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigEndPoint where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigKinesisStreamConfig
+
+-- | Full data type definition for CloudFrontRealtimeLogConfigEndPoint. See
+-- 'cloudFrontRealtimeLogConfigEndPoint' for a more convenient constructor.
+data CloudFrontRealtimeLogConfigEndPoint =
+  CloudFrontRealtimeLogConfigEndPoint
+  { _cloudFrontRealtimeLogConfigEndPointKinesisStreamConfig :: CloudFrontRealtimeLogConfigKinesisStreamConfig
+  , _cloudFrontRealtimeLogConfigEndPointStreamType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontRealtimeLogConfigEndPoint where
+  toJSON CloudFrontRealtimeLogConfigEndPoint{..} =
+    object $
+    catMaybes
+    [ (Just . ("KinesisStreamConfig",) . toJSON) _cloudFrontRealtimeLogConfigEndPointKinesisStreamConfig
+    , (Just . ("StreamType",) . toJSON) _cloudFrontRealtimeLogConfigEndPointStreamType
+    ]
+
+-- | Constructor for 'CloudFrontRealtimeLogConfigEndPoint' containing required
+-- fields as arguments.
+cloudFrontRealtimeLogConfigEndPoint
+  :: CloudFrontRealtimeLogConfigKinesisStreamConfig -- ^ 'cfrlcepKinesisStreamConfig'
+  -> Val Text -- ^ 'cfrlcepStreamType'
+  -> CloudFrontRealtimeLogConfigEndPoint
+cloudFrontRealtimeLogConfigEndPoint kinesisStreamConfigarg streamTypearg =
+  CloudFrontRealtimeLogConfigEndPoint
+  { _cloudFrontRealtimeLogConfigEndPointKinesisStreamConfig = kinesisStreamConfigarg
+  , _cloudFrontRealtimeLogConfigEndPointStreamType = streamTypearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html#cfn-cloudfront-realtimelogconfig-endpoint-kinesisstreamconfig
+cfrlcepKinesisStreamConfig :: Lens' CloudFrontRealtimeLogConfigEndPoint CloudFrontRealtimeLogConfigKinesisStreamConfig
+cfrlcepKinesisStreamConfig = lens _cloudFrontRealtimeLogConfigEndPointKinesisStreamConfig (\s a -> s { _cloudFrontRealtimeLogConfigEndPointKinesisStreamConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html#cfn-cloudfront-realtimelogconfig-endpoint-streamtype
+cfrlcepStreamType :: Lens' CloudFrontRealtimeLogConfigEndPoint (Val Text)
+cfrlcepStreamType = lens _cloudFrontRealtimeLogConfigEndPointStreamType (\s a -> s { _cloudFrontRealtimeLogConfigEndPointStreamType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontRealtimeLogConfigKinesisStreamConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontRealtimeLogConfigKinesisStreamConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontRealtimeLogConfigKinesisStreamConfig.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html
+
+module Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigKinesisStreamConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- CloudFrontRealtimeLogConfigKinesisStreamConfig. See
+-- 'cloudFrontRealtimeLogConfigKinesisStreamConfig' for a more convenient
+-- constructor.
+data CloudFrontRealtimeLogConfigKinesisStreamConfig =
+  CloudFrontRealtimeLogConfigKinesisStreamConfig
+  { _cloudFrontRealtimeLogConfigKinesisStreamConfigRoleArn :: Val Text
+  , _cloudFrontRealtimeLogConfigKinesisStreamConfigStreamArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON CloudFrontRealtimeLogConfigKinesisStreamConfig where
+  toJSON CloudFrontRealtimeLogConfigKinesisStreamConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("RoleArn",) . toJSON) _cloudFrontRealtimeLogConfigKinesisStreamConfigRoleArn
+    , (Just . ("StreamArn",) . toJSON) _cloudFrontRealtimeLogConfigKinesisStreamConfigStreamArn
+    ]
+
+-- | Constructor for 'CloudFrontRealtimeLogConfigKinesisStreamConfig'
+-- containing required fields as arguments.
+cloudFrontRealtimeLogConfigKinesisStreamConfig
+  :: Val Text -- ^ 'cfrlckscRoleArn'
+  -> Val Text -- ^ 'cfrlckscStreamArn'
+  -> CloudFrontRealtimeLogConfigKinesisStreamConfig
+cloudFrontRealtimeLogConfigKinesisStreamConfig roleArnarg streamArnarg =
+  CloudFrontRealtimeLogConfigKinesisStreamConfig
+  { _cloudFrontRealtimeLogConfigKinesisStreamConfigRoleArn = roleArnarg
+  , _cloudFrontRealtimeLogConfigKinesisStreamConfigStreamArn = streamArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html#cfn-cloudfront-realtimelogconfig-kinesisstreamconfig-rolearn
+cfrlckscRoleArn :: Lens' CloudFrontRealtimeLogConfigKinesisStreamConfig (Val Text)
+cfrlckscRoleArn = lens _cloudFrontRealtimeLogConfigKinesisStreamConfigRoleArn (\s a -> s { _cloudFrontRealtimeLogConfigKinesisStreamConfigRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html#cfn-cloudfront-realtimelogconfig-kinesisstreamconfig-streamarn
+cfrlckscStreamArn :: Lens' CloudFrontRealtimeLogConfigKinesisStreamConfig (Val Text)
+cfrlckscStreamArn = lens _cloudFrontRealtimeLogConfigKinesisStreamConfigStreamArn (\s a -> s { _cloudFrontRealtimeLogConfigKinesisStreamConfigStreamArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolClientTokenValidityUnits.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolClientTokenValidityUnits.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolClientTokenValidityUnits.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html
+
+module Stratosphere.ResourceProperties.CognitoUserPoolClientTokenValidityUnits where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CognitoUserPoolClientTokenValidityUnits.
+-- See 'cognitoUserPoolClientTokenValidityUnits' for a more convenient
+-- constructor.
+data CognitoUserPoolClientTokenValidityUnits =
+  CognitoUserPoolClientTokenValidityUnits
+  { _cognitoUserPoolClientTokenValidityUnitsAccessToken :: Maybe (Val Text)
+  , _cognitoUserPoolClientTokenValidityUnitsIdToken :: Maybe (Val Text)
+  , _cognitoUserPoolClientTokenValidityUnitsRefreshToken :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON CognitoUserPoolClientTokenValidityUnits where
+  toJSON CognitoUserPoolClientTokenValidityUnits{..} =
+    object $
+    catMaybes
+    [ fmap (("AccessToken",) . toJSON) _cognitoUserPoolClientTokenValidityUnitsAccessToken
+    , fmap (("IdToken",) . toJSON) _cognitoUserPoolClientTokenValidityUnitsIdToken
+    , fmap (("RefreshToken",) . toJSON) _cognitoUserPoolClientTokenValidityUnitsRefreshToken
+    ]
+
+-- | Constructor for 'CognitoUserPoolClientTokenValidityUnits' containing
+-- required fields as arguments.
+cognitoUserPoolClientTokenValidityUnits
+  :: CognitoUserPoolClientTokenValidityUnits
+cognitoUserPoolClientTokenValidityUnits  =
+  CognitoUserPoolClientTokenValidityUnits
+  { _cognitoUserPoolClientTokenValidityUnitsAccessToken = Nothing
+  , _cognitoUserPoolClientTokenValidityUnitsIdToken = Nothing
+  , _cognitoUserPoolClientTokenValidityUnitsRefreshToken = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-accesstoken
+cupctvuAccessToken :: Lens' CognitoUserPoolClientTokenValidityUnits (Maybe (Val Text))
+cupctvuAccessToken = lens _cognitoUserPoolClientTokenValidityUnitsAccessToken (\s a -> s { _cognitoUserPoolClientTokenValidityUnitsAccessToken = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-idtoken
+cupctvuIdToken :: Lens' CognitoUserPoolClientTokenValidityUnits (Maybe (Val Text))
+cupctvuIdToken = lens _cognitoUserPoolClientTokenValidityUnitsIdToken (\s a -> s { _cognitoUserPoolClientTokenValidityUnitsIdToken = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-refreshtoken
+cupctvuRefreshToken :: Lens' CognitoUserPoolClientTokenValidityUnits (Maybe (Val Text))
+cupctvuRefreshToken = lens _cognitoUserPoolClientTokenValidityUnitsRefreshToken (\s a -> s { _cognitoUserPoolClientTokenValidityUnitsRefreshToken = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/ECRRepositoryLifecyclePolicy.hs b/library-gen/Stratosphere/ResourceProperties/ECRRepositoryLifecyclePolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ECRRepositoryLifecyclePolicy.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html
+
+module Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ECRRepositoryLifecyclePolicy. See
+-- 'ecrRepositoryLifecyclePolicy' for a more convenient constructor.
+data ECRRepositoryLifecyclePolicy =
+  ECRRepositoryLifecyclePolicy
+  { _eCRRepositoryLifecyclePolicyLifecyclePolicyText :: Maybe (Val Text)
+  , _eCRRepositoryLifecyclePolicyRegistryId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ECRRepositoryLifecyclePolicy where
+  toJSON ECRRepositoryLifecyclePolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("LifecyclePolicyText",) . toJSON) _eCRRepositoryLifecyclePolicyLifecyclePolicyText
+    , fmap (("RegistryId",) . toJSON) _eCRRepositoryLifecyclePolicyRegistryId
+    ]
+
+-- | Constructor for 'ECRRepositoryLifecyclePolicy' containing required fields
+-- as arguments.
+ecrRepositoryLifecyclePolicy
+  :: ECRRepositoryLifecyclePolicy
+ecrRepositoryLifecyclePolicy  =
+  ECRRepositoryLifecyclePolicy
+  { _eCRRepositoryLifecyclePolicyLifecyclePolicyText = Nothing
+  , _eCRRepositoryLifecyclePolicyRegistryId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-lifecyclepolicytext
+ecrrlpLifecyclePolicyText :: Lens' ECRRepositoryLifecyclePolicy (Maybe (Val Text))
+ecrrlpLifecyclePolicyText = lens _eCRRepositoryLifecyclePolicyLifecyclePolicyText (\s a -> s { _eCRRepositoryLifecyclePolicyLifecyclePolicyText = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-registryid
+ecrrlpRegistryId :: Lens' ECRRepositoryLifecyclePolicy (Maybe (Val Text))
+ecrrlpRegistryId = lens _eCRRepositoryLifecyclePolicyRegistryId (\s a -> s { _eCRRepositoryLifecyclePolicyRegistryId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EKSFargateProfileLabel.hs b/library-gen/Stratosphere/ResourceProperties/EKSFargateProfileLabel.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EKSFargateProfileLabel.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-label.html
+
+module Stratosphere.ResourceProperties.EKSFargateProfileLabel where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EKSFargateProfileLabel. See
+-- 'eksFargateProfileLabel' for a more convenient constructor.
+data EKSFargateProfileLabel =
+  EKSFargateProfileLabel
+  { _eKSFargateProfileLabelKey :: Val Text
+  , _eKSFargateProfileLabelValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EKSFargateProfileLabel where
+  toJSON EKSFargateProfileLabel{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _eKSFargateProfileLabelKey
+    , (Just . ("Value",) . toJSON) _eKSFargateProfileLabelValue
+    ]
+
+-- | Constructor for 'EKSFargateProfileLabel' containing required fields as
+-- arguments.
+eksFargateProfileLabel
+  :: Val Text -- ^ 'eksfplKey'
+  -> Val Text -- ^ 'eksfplValue'
+  -> EKSFargateProfileLabel
+eksFargateProfileLabel keyarg valuearg =
+  EKSFargateProfileLabel
+  { _eKSFargateProfileLabelKey = keyarg
+  , _eKSFargateProfileLabelValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-label.html#cfn-eks-fargateprofile-label-key
+eksfplKey :: Lens' EKSFargateProfileLabel (Val Text)
+eksfplKey = lens _eKSFargateProfileLabelKey (\s a -> s { _eKSFargateProfileLabelKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-label.html#cfn-eks-fargateprofile-label-value
+eksfplValue :: Lens' EKSFargateProfileLabel (Val Text)
+eksfplValue = lens _eKSFargateProfileLabelValue (\s a -> s { _eKSFargateProfileLabelValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/EKSFargateProfileSelector.hs b/library-gen/Stratosphere/ResourceProperties/EKSFargateProfileSelector.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EKSFargateProfileSelector.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-selector.html
+
+module Stratosphere.ResourceProperties.EKSFargateProfileSelector where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EKSFargateProfileLabel
+
+-- | Full data type definition for EKSFargateProfileSelector. See
+-- 'eksFargateProfileSelector' for a more convenient constructor.
+data EKSFargateProfileSelector =
+  EKSFargateProfileSelector
+  { _eKSFargateProfileSelectorLabels :: Maybe [EKSFargateProfileLabel]
+  , _eKSFargateProfileSelectorNamespace :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON EKSFargateProfileSelector where
+  toJSON EKSFargateProfileSelector{..} =
+    object $
+    catMaybes
+    [ fmap (("Labels",) . toJSON) _eKSFargateProfileSelectorLabels
+    , (Just . ("Namespace",) . toJSON) _eKSFargateProfileSelectorNamespace
+    ]
+
+-- | Constructor for 'EKSFargateProfileSelector' containing required fields as
+-- arguments.
+eksFargateProfileSelector
+  :: Val Text -- ^ 'eksfpsNamespace'
+  -> EKSFargateProfileSelector
+eksFargateProfileSelector namespacearg =
+  EKSFargateProfileSelector
+  { _eKSFargateProfileSelectorLabels = Nothing
+  , _eKSFargateProfileSelectorNamespace = namespacearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-selector.html#cfn-eks-fargateprofile-selector-labels
+eksfpsLabels :: Lens' EKSFargateProfileSelector (Maybe [EKSFargateProfileLabel])
+eksfpsLabels = lens _eKSFargateProfileSelectorLabels (\s a -> s { _eKSFargateProfileSelectorLabels = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-selector.html#cfn-eks-fargateprofile-selector-namespace
+eksfpsNamespace :: Lens' EKSFargateProfileSelector (Val Text)
+eksfpsNamespace = lens _eKSFargateProfileSelectorNamespace (\s a -> s { _eKSFargateProfileSelectorNamespace = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs
--- a/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs
@@ -16,7 +16,7 @@
   GameLiftAliasRoutingStrategy
   { _gameLiftAliasRoutingStrategyFleetId :: Maybe (Val Text)
   , _gameLiftAliasRoutingStrategyMessage :: Maybe (Val Text)
-  , _gameLiftAliasRoutingStrategyType :: Val Text
+  , _gameLiftAliasRoutingStrategyType :: Maybe (Val Text)
   } deriving (Show, Eq)
 
 instance ToJSON GameLiftAliasRoutingStrategy where
@@ -25,19 +25,18 @@
     catMaybes
     [ fmap (("FleetId",) . toJSON) _gameLiftAliasRoutingStrategyFleetId
     , fmap (("Message",) . toJSON) _gameLiftAliasRoutingStrategyMessage
-    , (Just . ("Type",) . toJSON) _gameLiftAliasRoutingStrategyType
+    , fmap (("Type",) . toJSON) _gameLiftAliasRoutingStrategyType
     ]
 
 -- | Constructor for 'GameLiftAliasRoutingStrategy' containing required fields
 -- as arguments.
 gameLiftAliasRoutingStrategy
-  :: Val Text -- ^ 'glarsType'
-  -> GameLiftAliasRoutingStrategy
-gameLiftAliasRoutingStrategy typearg =
+  :: GameLiftAliasRoutingStrategy
+gameLiftAliasRoutingStrategy  =
   GameLiftAliasRoutingStrategy
   { _gameLiftAliasRoutingStrategyFleetId = Nothing
   , _gameLiftAliasRoutingStrategyMessage = Nothing
-  , _gameLiftAliasRoutingStrategyType = typearg
+  , _gameLiftAliasRoutingStrategyType = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-fleetid
@@ -49,5 +48,5 @@
 glarsMessage = lens _gameLiftAliasRoutingStrategyMessage (\s a -> s { _gameLiftAliasRoutingStrategyMessage = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-type
-glarsType :: Lens' GameLiftAliasRoutingStrategy (Val Text)
+glarsType :: Lens' GameLiftAliasRoutingStrategy (Maybe (Val Text))
 glarsType = lens _gameLiftAliasRoutingStrategyType (\s a -> s { _gameLiftAliasRoutingStrategyType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupAutoScalingPolicy.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupAutoScalingPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupAutoScalingPolicy.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupAutoScalingPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupTargetTrackingConfiguration
+
+-- | Full data type definition for GameLiftGameServerGroupAutoScalingPolicy.
+-- See 'gameLiftGameServerGroupAutoScalingPolicy' for a more convenient
+-- constructor.
+data GameLiftGameServerGroupAutoScalingPolicy =
+  GameLiftGameServerGroupAutoScalingPolicy
+  { _gameLiftGameServerGroupAutoScalingPolicyEstimatedInstanceWarmup :: Maybe (Val Double)
+  , _gameLiftGameServerGroupAutoScalingPolicyTargetTrackingConfiguration :: GameLiftGameServerGroupTargetTrackingConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupAutoScalingPolicy where
+  toJSON GameLiftGameServerGroupAutoScalingPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("EstimatedInstanceWarmup",) . toJSON) _gameLiftGameServerGroupAutoScalingPolicyEstimatedInstanceWarmup
+    , (Just . ("TargetTrackingConfiguration",) . toJSON) _gameLiftGameServerGroupAutoScalingPolicyTargetTrackingConfiguration
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupAutoScalingPolicy' containing
+-- required fields as arguments.
+gameLiftGameServerGroupAutoScalingPolicy
+  :: GameLiftGameServerGroupTargetTrackingConfiguration -- ^ 'glgsgaspTargetTrackingConfiguration'
+  -> GameLiftGameServerGroupAutoScalingPolicy
+gameLiftGameServerGroupAutoScalingPolicy targetTrackingConfigurationarg =
+  GameLiftGameServerGroupAutoScalingPolicy
+  { _gameLiftGameServerGroupAutoScalingPolicyEstimatedInstanceWarmup = Nothing
+  , _gameLiftGameServerGroupAutoScalingPolicyTargetTrackingConfiguration = targetTrackingConfigurationarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html#cfn-gamelift-gameservergroup-autoscalingpolicy-estimatedinstancewarmup
+glgsgaspEstimatedInstanceWarmup :: Lens' GameLiftGameServerGroupAutoScalingPolicy (Maybe (Val Double))
+glgsgaspEstimatedInstanceWarmup = lens _gameLiftGameServerGroupAutoScalingPolicyEstimatedInstanceWarmup (\s a -> s { _gameLiftGameServerGroupAutoScalingPolicyEstimatedInstanceWarmup = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html#cfn-gamelift-gameservergroup-autoscalingpolicy-targettrackingconfiguration
+glgsgaspTargetTrackingConfiguration :: Lens' GameLiftGameServerGroupAutoScalingPolicy GameLiftGameServerGroupTargetTrackingConfiguration
+glgsgaspTargetTrackingConfiguration = lens _gameLiftGameServerGroupAutoScalingPolicyTargetTrackingConfiguration (\s a -> s { _gameLiftGameServerGroupAutoScalingPolicyTargetTrackingConfiguration = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupInstanceDefinition.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupInstanceDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupInstanceDefinition.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinition where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftGameServerGroupInstanceDefinition.
+-- See 'gameLiftGameServerGroupInstanceDefinition' for a more convenient
+-- constructor.
+data GameLiftGameServerGroupInstanceDefinition =
+  GameLiftGameServerGroupInstanceDefinition
+  { _gameLiftGameServerGroupInstanceDefinitionInstanceType :: Val Text
+  , _gameLiftGameServerGroupInstanceDefinitionWeightedCapacity :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupInstanceDefinition where
+  toJSON GameLiftGameServerGroupInstanceDefinition{..} =
+    object $
+    catMaybes
+    [ (Just . ("InstanceType",) . toJSON) _gameLiftGameServerGroupInstanceDefinitionInstanceType
+    , fmap (("WeightedCapacity",) . toJSON) _gameLiftGameServerGroupInstanceDefinitionWeightedCapacity
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupInstanceDefinition' containing
+-- required fields as arguments.
+gameLiftGameServerGroupInstanceDefinition
+  :: Val Text -- ^ 'glgsgidInstanceType'
+  -> GameLiftGameServerGroupInstanceDefinition
+gameLiftGameServerGroupInstanceDefinition instanceTypearg =
+  GameLiftGameServerGroupInstanceDefinition
+  { _gameLiftGameServerGroupInstanceDefinitionInstanceType = instanceTypearg
+  , _gameLiftGameServerGroupInstanceDefinitionWeightedCapacity = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html#cfn-gamelift-gameservergroup-instancedefinition-instancetype
+glgsgidInstanceType :: Lens' GameLiftGameServerGroupInstanceDefinition (Val Text)
+glgsgidInstanceType = lens _gameLiftGameServerGroupInstanceDefinitionInstanceType (\s a -> s { _gameLiftGameServerGroupInstanceDefinitionInstanceType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html#cfn-gamelift-gameservergroup-instancedefinition-weightedcapacity
+glgsgidWeightedCapacity :: Lens' GameLiftGameServerGroupInstanceDefinition (Maybe (Val Text))
+glgsgidWeightedCapacity = lens _gameLiftGameServerGroupInstanceDefinitionWeightedCapacity (\s a -> s { _gameLiftGameServerGroupInstanceDefinitionWeightedCapacity = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupInstanceDefinitions.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupInstanceDefinitions.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupInstanceDefinitions.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinitions.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinitions where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinition
+
+-- | Full data type definition for GameLiftGameServerGroupInstanceDefinitions.
+-- See 'gameLiftGameServerGroupInstanceDefinitions' for a more convenient
+-- constructor.
+data GameLiftGameServerGroupInstanceDefinitions =
+  GameLiftGameServerGroupInstanceDefinitions
+  { _gameLiftGameServerGroupInstanceDefinitionsInstanceDefinitions :: Maybe [GameLiftGameServerGroupInstanceDefinition]
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupInstanceDefinitions where
+  toJSON GameLiftGameServerGroupInstanceDefinitions{..} =
+    object $
+    catMaybes
+    [ fmap (("InstanceDefinitions",) . toJSON) _gameLiftGameServerGroupInstanceDefinitionsInstanceDefinitions
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupInstanceDefinitions' containing
+-- required fields as arguments.
+gameLiftGameServerGroupInstanceDefinitions
+  :: GameLiftGameServerGroupInstanceDefinitions
+gameLiftGameServerGroupInstanceDefinitions  =
+  GameLiftGameServerGroupInstanceDefinitions
+  { _gameLiftGameServerGroupInstanceDefinitionsInstanceDefinitions = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinitions.html#cfn-gamelift-gameservergroup-instancedefinitions-instancedefinitions
+glgsgidInstanceDefinitions :: Lens' GameLiftGameServerGroupInstanceDefinitions (Maybe [GameLiftGameServerGroupInstanceDefinition])
+glgsgidInstanceDefinitions = lens _gameLiftGameServerGroupInstanceDefinitionsInstanceDefinitions (\s a -> s { _gameLiftGameServerGroupInstanceDefinitionsInstanceDefinitions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupLaunchTemplate.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupLaunchTemplate.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupLaunchTemplate.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupLaunchTemplate where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftGameServerGroupLaunchTemplate. See
+-- 'gameLiftGameServerGroupLaunchTemplate' for a more convenient
+-- constructor.
+data GameLiftGameServerGroupLaunchTemplate =
+  GameLiftGameServerGroupLaunchTemplate
+  { _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId :: Maybe (Val Text)
+  , _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName :: Maybe (Val Text)
+  , _gameLiftGameServerGroupLaunchTemplateVersion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupLaunchTemplate where
+  toJSON GameLiftGameServerGroupLaunchTemplate{..} =
+    object $
+    catMaybes
+    [ fmap (("LaunchTemplateId",) . toJSON) _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId
+    , fmap (("LaunchTemplateName",) . toJSON) _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName
+    , fmap (("Version",) . toJSON) _gameLiftGameServerGroupLaunchTemplateVersion
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupLaunchTemplate' containing
+-- required fields as arguments.
+gameLiftGameServerGroupLaunchTemplate
+  :: GameLiftGameServerGroupLaunchTemplate
+gameLiftGameServerGroupLaunchTemplate  =
+  GameLiftGameServerGroupLaunchTemplate
+  { _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId = Nothing
+  , _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName = Nothing
+  , _gameLiftGameServerGroupLaunchTemplateVersion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplateid
+glgsgltLaunchTemplateId :: Lens' GameLiftGameServerGroupLaunchTemplate (Maybe (Val Text))
+glgsgltLaunchTemplateId = lens _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId (\s a -> s { _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplatename
+glgsgltLaunchTemplateName :: Lens' GameLiftGameServerGroupLaunchTemplate (Maybe (Val Text))
+glgsgltLaunchTemplateName = lens _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName (\s a -> s { _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-version
+glgsgltVersion :: Lens' GameLiftGameServerGroupLaunchTemplate (Maybe (Val Text))
+glgsgltVersion = lens _gameLiftGameServerGroupLaunchTemplateVersion (\s a -> s { _gameLiftGameServerGroupLaunchTemplateVersion = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupTags.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupTags.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupTags.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-tags.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupTags where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for GameLiftGameServerGroupTags. See
+-- 'gameLiftGameServerGroupTags' for a more convenient constructor.
+data GameLiftGameServerGroupTags =
+  GameLiftGameServerGroupTags
+  { _gameLiftGameServerGroupTagsTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupTags where
+  toJSON GameLiftGameServerGroupTags{..} =
+    object $
+    catMaybes
+    [ fmap (("Tags",) . toJSON) _gameLiftGameServerGroupTagsTags
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupTags' containing required fields
+-- as arguments.
+gameLiftGameServerGroupTags
+  :: GameLiftGameServerGroupTags
+gameLiftGameServerGroupTags  =
+  GameLiftGameServerGroupTags
+  { _gameLiftGameServerGroupTagsTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-tags.html#cfn-gamelift-gameservergroup-tags-tags
+glgsgtTags :: Lens' GameLiftGameServerGroupTags (Maybe [Tag])
+glgsgtTags = lens _gameLiftGameServerGroupTagsTags (\s a -> s { _gameLiftGameServerGroupTagsTags = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupTargetTrackingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupTargetTrackingConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupTargetTrackingConfiguration.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupTargetTrackingConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GameLiftGameServerGroupTargetTrackingConfiguration. See
+-- 'gameLiftGameServerGroupTargetTrackingConfiguration' for a more
+-- convenient constructor.
+data GameLiftGameServerGroupTargetTrackingConfiguration =
+  GameLiftGameServerGroupTargetTrackingConfiguration
+  { _gameLiftGameServerGroupTargetTrackingConfigurationTargetValue :: Val Double
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupTargetTrackingConfiguration where
+  toJSON GameLiftGameServerGroupTargetTrackingConfiguration{..} =
+    object $
+    catMaybes
+    [ (Just . ("TargetValue",) . toJSON) _gameLiftGameServerGroupTargetTrackingConfigurationTargetValue
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupTargetTrackingConfiguration'
+-- containing required fields as arguments.
+gameLiftGameServerGroupTargetTrackingConfiguration
+  :: Val Double -- ^ 'glgsgttcTargetValue'
+  -> GameLiftGameServerGroupTargetTrackingConfiguration
+gameLiftGameServerGroupTargetTrackingConfiguration targetValuearg =
+  GameLiftGameServerGroupTargetTrackingConfiguration
+  { _gameLiftGameServerGroupTargetTrackingConfigurationTargetValue = targetValuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html#cfn-gamelift-gameservergroup-targettrackingconfiguration-targetvalue
+glgsgttcTargetValue :: Lens' GameLiftGameServerGroupTargetTrackingConfiguration (Val Double)
+glgsgttcTargetValue = lens _gameLiftGameServerGroupTargetTrackingConfigurationTargetValue (\s a -> s { _gameLiftGameServerGroupTargetTrackingConfigurationTargetValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupVpcSubnets.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupVpcSubnets.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupVpcSubnets.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-vpcsubnets.html
+
+module Stratosphere.ResourceProperties.GameLiftGameServerGroupVpcSubnets where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GameLiftGameServerGroupVpcSubnets. See
+-- 'gameLiftGameServerGroupVpcSubnets' for a more convenient constructor.
+data GameLiftGameServerGroupVpcSubnets =
+  GameLiftGameServerGroupVpcSubnets
+  { _gameLiftGameServerGroupVpcSubnetsVpcSubnets :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GameLiftGameServerGroupVpcSubnets where
+  toJSON GameLiftGameServerGroupVpcSubnets{..} =
+    object $
+    catMaybes
+    [ fmap (("VpcSubnets",) . toJSON) _gameLiftGameServerGroupVpcSubnetsVpcSubnets
+    ]
+
+-- | Constructor for 'GameLiftGameServerGroupVpcSubnets' containing required
+-- fields as arguments.
+gameLiftGameServerGroupVpcSubnets
+  :: GameLiftGameServerGroupVpcSubnets
+gameLiftGameServerGroupVpcSubnets  =
+  GameLiftGameServerGroupVpcSubnets
+  { _gameLiftGameServerGroupVpcSubnetsVpcSubnets = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-vpcsubnets.html#cfn-gamelift-gameservergroup-vpcsubnets-vpcsubnets
+glgsgvsVpcSubnets :: Lens' GameLiftGameServerGroupVpcSubnets (Maybe (ValList Text))
+glgsgvsVpcSubnets = lens _gameLiftGameServerGroupVpcSubnetsVpcSubnets (\s a -> s { _gameLiftGameServerGroupVpcSubnetsVpcSubnets = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GuardDutyDetectorCFNDataSourceConfigurations.hs b/library-gen/Stratosphere/ResourceProperties/GuardDutyDetectorCFNDataSourceConfigurations.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GuardDutyDetectorCFNDataSourceConfigurations.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html
+
+module Stratosphere.ResourceProperties.GuardDutyDetectorCFNDataSourceConfigurations where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GuardDutyDetectorCFNS3LogsConfiguration
+
+-- | Full data type definition for
+-- GuardDutyDetectorCFNDataSourceConfigurations. See
+-- 'guardDutyDetectorCFNDataSourceConfigurations' for a more convenient
+-- constructor.
+data GuardDutyDetectorCFNDataSourceConfigurations =
+  GuardDutyDetectorCFNDataSourceConfigurations
+  { _guardDutyDetectorCFNDataSourceConfigurationsS3Logs :: Maybe GuardDutyDetectorCFNS3LogsConfiguration
+  } deriving (Show, Eq)
+
+instance ToJSON GuardDutyDetectorCFNDataSourceConfigurations where
+  toJSON GuardDutyDetectorCFNDataSourceConfigurations{..} =
+    object $
+    catMaybes
+    [ fmap (("S3Logs",) . toJSON) _guardDutyDetectorCFNDataSourceConfigurationsS3Logs
+    ]
+
+-- | Constructor for 'GuardDutyDetectorCFNDataSourceConfigurations' containing
+-- required fields as arguments.
+guardDutyDetectorCFNDataSourceConfigurations
+  :: GuardDutyDetectorCFNDataSourceConfigurations
+guardDutyDetectorCFNDataSourceConfigurations  =
+  GuardDutyDetectorCFNDataSourceConfigurations
+  { _guardDutyDetectorCFNDataSourceConfigurationsS3Logs = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html#cfn-guardduty-detector-cfndatasourceconfigurations-s3logs
+gddcfndscS3Logs :: Lens' GuardDutyDetectorCFNDataSourceConfigurations (Maybe GuardDutyDetectorCFNS3LogsConfiguration)
+gddcfndscS3Logs = lens _guardDutyDetectorCFNDataSourceConfigurationsS3Logs (\s a -> s { _guardDutyDetectorCFNDataSourceConfigurationsS3Logs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GuardDutyDetectorCFNS3LogsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GuardDutyDetectorCFNS3LogsConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GuardDutyDetectorCFNS3LogsConfiguration.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfns3logsconfiguration.html
+
+module Stratosphere.ResourceProperties.GuardDutyDetectorCFNS3LogsConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GuardDutyDetectorCFNS3LogsConfiguration.
+-- See 'guardDutyDetectorCFNS3LogsConfiguration' for a more convenient
+-- constructor.
+data GuardDutyDetectorCFNS3LogsConfiguration =
+  GuardDutyDetectorCFNS3LogsConfiguration
+  { _guardDutyDetectorCFNS3LogsConfigurationEnable :: Maybe (Val Bool)
+  } deriving (Show, Eq)
+
+instance ToJSON GuardDutyDetectorCFNS3LogsConfiguration where
+  toJSON GuardDutyDetectorCFNS3LogsConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("Enable",) . toJSON) _guardDutyDetectorCFNS3LogsConfigurationEnable
+    ]
+
+-- | Constructor for 'GuardDutyDetectorCFNS3LogsConfiguration' containing
+-- required fields as arguments.
+guardDutyDetectorCFNS3LogsConfiguration
+  :: GuardDutyDetectorCFNS3LogsConfiguration
+guardDutyDetectorCFNS3LogsConfiguration  =
+  GuardDutyDetectorCFNS3LogsConfiguration
+  { _guardDutyDetectorCFNS3LogsConfigurationEnable = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfns3logsconfiguration.html#cfn-guardduty-detector-cfns3logsconfiguration-enable
+gddcfnslcEnable :: Lens' GuardDutyDetectorCFNS3LogsConfiguration (Maybe (Val Bool))
+gddcfnslcEnable = lens _guardDutyDetectorCFNS3LogsConfigurationEnable (\s a -> s { _guardDutyDetectorCFNS3LogsConfigurationEnable = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/MacieFindingsFilterFindingsFilterListItem.hs b/library-gen/Stratosphere/ResourceProperties/MacieFindingsFilterFindingsFilterListItem.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/MacieFindingsFilterFindingsFilterListItem.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingsfilterlistitem.html
+
+module Stratosphere.ResourceProperties.MacieFindingsFilterFindingsFilterListItem where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for MacieFindingsFilterFindingsFilterListItem.
+-- See 'macieFindingsFilterFindingsFilterListItem' for a more convenient
+-- constructor.
+data MacieFindingsFilterFindingsFilterListItem =
+  MacieFindingsFilterFindingsFilterListItem
+  { _macieFindingsFilterFindingsFilterListItemId :: Maybe (Val Text)
+  , _macieFindingsFilterFindingsFilterListItemName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON MacieFindingsFilterFindingsFilterListItem where
+  toJSON MacieFindingsFilterFindingsFilterListItem{..} =
+    object $
+    catMaybes
+    [ fmap (("Id",) . toJSON) _macieFindingsFilterFindingsFilterListItemId
+    , fmap (("Name",) . toJSON) _macieFindingsFilterFindingsFilterListItemName
+    ]
+
+-- | Constructor for 'MacieFindingsFilterFindingsFilterListItem' containing
+-- required fields as arguments.
+macieFindingsFilterFindingsFilterListItem
+  :: MacieFindingsFilterFindingsFilterListItem
+macieFindingsFilterFindingsFilterListItem  =
+  MacieFindingsFilterFindingsFilterListItem
+  { _macieFindingsFilterFindingsFilterListItemId = Nothing
+  , _macieFindingsFilterFindingsFilterListItemName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingsfilterlistitem.html#cfn-macie-findingsfilter-findingsfilterlistitem-id
+mffffliId :: Lens' MacieFindingsFilterFindingsFilterListItem (Maybe (Val Text))
+mffffliId = lens _macieFindingsFilterFindingsFilterListItemId (\s a -> s { _macieFindingsFilterFindingsFilterListItemId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingsfilterlistitem.html#cfn-macie-findingsfilter-findingsfilterlistitem-name
+mffffliName :: Lens' MacieFindingsFilterFindingsFilterListItem (Maybe (Val Text))
+mffffliName = lens _macieFindingsFilterFindingsFilterListItemName (\s a -> s { _macieFindingsFilterFindingsFilterListItemName = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/NeptuneDBClusterDBClusterRole.hs b/library-gen/Stratosphere/ResourceProperties/NeptuneDBClusterDBClusterRole.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/NeptuneDBClusterDBClusterRole.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html
+
+module Stratosphere.ResourceProperties.NeptuneDBClusterDBClusterRole where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for NeptuneDBClusterDBClusterRole. See
+-- 'neptuneDBClusterDBClusterRole' for a more convenient constructor.
+data NeptuneDBClusterDBClusterRole =
+  NeptuneDBClusterDBClusterRole
+  { _neptuneDBClusterDBClusterRoleFeatureName :: Maybe (Val Text)
+  , _neptuneDBClusterDBClusterRoleRoleArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON NeptuneDBClusterDBClusterRole where
+  toJSON NeptuneDBClusterDBClusterRole{..} =
+    object $
+    catMaybes
+    [ fmap (("FeatureName",) . toJSON) _neptuneDBClusterDBClusterRoleFeatureName
+    , (Just . ("RoleArn",) . toJSON) _neptuneDBClusterDBClusterRoleRoleArn
+    ]
+
+-- | Constructor for 'NeptuneDBClusterDBClusterRole' containing required
+-- fields as arguments.
+neptuneDBClusterDBClusterRole
+  :: Val Text -- ^ 'ndbcdbcrRoleArn'
+  -> NeptuneDBClusterDBClusterRole
+neptuneDBClusterDBClusterRole roleArnarg =
+  NeptuneDBClusterDBClusterRole
+  { _neptuneDBClusterDBClusterRoleFeatureName = Nothing
+  , _neptuneDBClusterDBClusterRoleRoleArn = roleArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html#cfn-neptune-dbcluster-dbclusterrole-featurename
+ndbcdbcrFeatureName :: Lens' NeptuneDBClusterDBClusterRole (Maybe (Val Text))
+ndbcdbcrFeatureName = lens _neptuneDBClusterDBClusterRoleFeatureName (\s a -> s { _neptuneDBClusterDBClusterRoleFeatureName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html#cfn-neptune-dbcluster-dbclusterrole-rolearn
+ndbcdbcrRoleArn :: Lens' NeptuneDBClusterDBClusterRole (Val Text)
+ndbcdbcrRoleArn = lens _neptuneDBClusterDBClusterRoleRoleArn (\s a -> s { _neptuneDBClusterDBClusterRoleRoleArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs b/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html
+
+module Stratosphere.ResourceProperties.SSMAssociationParameterValues where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for SSMAssociationParameterValues. See
+-- 'ssmAssociationParameterValues' for a more convenient constructor.
+data SSMAssociationParameterValues =
+  SSMAssociationParameterValues
+  { _sSMAssociationParameterValuesParameterValues :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON SSMAssociationParameterValues where
+  toJSON SSMAssociationParameterValues{..} =
+    object $
+    catMaybes
+    [ fmap (("ParameterValues",) . toJSON) _sSMAssociationParameterValuesParameterValues
+    ]
+
+-- | Constructor for 'SSMAssociationParameterValues' containing required
+-- fields as arguments.
+ssmAssociationParameterValues
+  :: SSMAssociationParameterValues
+ssmAssociationParameterValues  =
+  SSMAssociationParameterValues
+  { _sSMAssociationParameterValuesParameterValues = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html#cfn-ssm-association-parametervalues-parametervalues
+ssmapvParameterValues :: Lens' SSMAssociationParameterValues (Maybe (ValList Text))
+ssmapvParameterValues = lens _sSMAssociationParameterValuesParameterValues (\s a -> s { _sSMAssociationParameterValuesParameterValues = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs
--- a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineCloudWatchLogsLogGroup.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE StrictData #-}
 {-# LANGUAGE TupleSections #-}
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-cloudwatchlogsloggroup.html
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html
 
 module Stratosphere.ResourceProperties.StepFunctionsStateMachineCloudWatchLogsLogGroup where
 
@@ -16,25 +16,26 @@
 -- constructor.
 data StepFunctionsStateMachineCloudWatchLogsLogGroup =
   StepFunctionsStateMachineCloudWatchLogsLogGroup
-  { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn :: Maybe (Val Text)
+  { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn :: Val Text
   } deriving (Show, Eq)
 
 instance ToJSON StepFunctionsStateMachineCloudWatchLogsLogGroup where
   toJSON StepFunctionsStateMachineCloudWatchLogsLogGroup{..} =
     object $
     catMaybes
-    [ fmap (("LogGroupArn",) . toJSON) _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn
+    [ (Just . ("LogGroupArn",) . toJSON) _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn
     ]
 
 -- | Constructor for 'StepFunctionsStateMachineCloudWatchLogsLogGroup'
 -- containing required fields as arguments.
 stepFunctionsStateMachineCloudWatchLogsLogGroup
-  :: StepFunctionsStateMachineCloudWatchLogsLogGroup
-stepFunctionsStateMachineCloudWatchLogsLogGroup  =
+  :: Val Text -- ^ 'sfsmcwllgLogGroupArn'
+  -> StepFunctionsStateMachineCloudWatchLogsLogGroup
+stepFunctionsStateMachineCloudWatchLogsLogGroup logGroupArnarg =
   StepFunctionsStateMachineCloudWatchLogsLogGroup
-  { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn = Nothing
+  { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn = logGroupArnarg
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-cloudwatchlogsloggroup-loggrouparn
-sfsmcwllgLogGroupArn :: Lens' StepFunctionsStateMachineCloudWatchLogsLogGroup (Maybe (Val Text))
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup-loggrouparn
+sfsmcwllgLogGroupArn :: Lens' StepFunctionsStateMachineCloudWatchLogsLogGroup (Val Text)
 sfsmcwllgLogGroupArn = lens _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn (\s a -> s { _stepFunctionsStateMachineCloudWatchLogsLogGroupLogGroupArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTracingConfiguration.hs
@@ -16,25 +16,26 @@
 -- constructor.
 data StepFunctionsStateMachineTracingConfiguration =
   StepFunctionsStateMachineTracingConfiguration
-  { _stepFunctionsStateMachineTracingConfigurationEnabled :: Maybe (Val Bool)
+  { _stepFunctionsStateMachineTracingConfigurationEnabled :: Val Bool
   } deriving (Show, Eq)
 
 instance ToJSON StepFunctionsStateMachineTracingConfiguration where
   toJSON StepFunctionsStateMachineTracingConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON) _stepFunctionsStateMachineTracingConfigurationEnabled
+    [ (Just . ("Enabled",) . toJSON) _stepFunctionsStateMachineTracingConfigurationEnabled
     ]
 
 -- | Constructor for 'StepFunctionsStateMachineTracingConfiguration'
 -- containing required fields as arguments.
 stepFunctionsStateMachineTracingConfiguration
-  :: StepFunctionsStateMachineTracingConfiguration
-stepFunctionsStateMachineTracingConfiguration  =
+  :: Val Bool -- ^ 'sfsmtcEnabled'
+  -> StepFunctionsStateMachineTracingConfiguration
+stepFunctionsStateMachineTracingConfiguration enabledarg =
   StepFunctionsStateMachineTracingConfiguration
-  { _stepFunctionsStateMachineTracingConfigurationEnabled = Nothing
+  { _stepFunctionsStateMachineTracingConfigurationEnabled = enabledarg
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html#cfn-stepfunctions-statemachine-tracingconfiguration-enabled
-sfsmtcEnabled :: Lens' StepFunctionsStateMachineTracingConfiguration (Maybe (Val Bool))
+sfsmtcEnabled :: Lens' StepFunctionsStateMachineTracingConfiguration (Val Bool)
 sfsmtcEnabled = lens _stepFunctionsStateMachineTracingConfigurationEnabled (\s a -> s { _stepFunctionsStateMachineTracingConfigurationEnabled = 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
@@ -143,8 +143,11 @@
 import Stratosphere.Resources.CloudFormationStack as X
 import Stratosphere.Resources.CloudFormationWaitCondition as X
 import Stratosphere.Resources.CloudFormationWaitConditionHandle as X
+import Stratosphere.Resources.CloudFrontCachePolicy as X
 import Stratosphere.Resources.CloudFrontCloudFrontOriginAccessIdentity as X
 import Stratosphere.Resources.CloudFrontDistribution as X
+import Stratosphere.Resources.CloudFrontOriginRequestPolicy as X
+import Stratosphere.Resources.CloudFrontRealtimeLogConfig as X
 import Stratosphere.Resources.CloudFrontStreamingDistribution as X
 import Stratosphere.Resources.CloudTrailTrail as X
 import Stratosphere.Resources.CloudWatchAlarm as X
@@ -160,6 +163,7 @@
 import Stratosphere.Resources.CodeDeployDeploymentConfig as X
 import Stratosphere.Resources.CodeDeployDeploymentGroup as X
 import Stratosphere.Resources.CodeGuruProfilerProfilingGroup as X
+import Stratosphere.Resources.CodeGuruReviewerRepositoryAssociation as X
 import Stratosphere.Resources.CodePipelineCustomActionType as X
 import Stratosphere.Resources.CodePipelinePipeline as X
 import Stratosphere.Resources.CodePipelineWebhook as X
@@ -281,6 +285,7 @@
 import Stratosphere.Resources.EFSFileSystem as X
 import Stratosphere.Resources.EFSMountTarget as X
 import Stratosphere.Resources.EKSCluster as X
+import Stratosphere.Resources.EKSFargateProfile as X
 import Stratosphere.Resources.EKSNodegroup as X
 import Stratosphere.Resources.EMRCluster as X
 import Stratosphere.Resources.EMRInstanceFleetConfig as X
@@ -317,6 +322,7 @@
 import Stratosphere.Resources.GameLiftAlias as X
 import Stratosphere.Resources.GameLiftBuild as X
 import Stratosphere.Resources.GameLiftFleet as X
+import Stratosphere.Resources.GameLiftGameServerGroup as X
 import Stratosphere.Resources.GameLiftGameSessionQueue as X
 import Stratosphere.Resources.GameLiftMatchmakingConfiguration as X
 import Stratosphere.Resources.GameLiftMatchmakingRuleSet as X
@@ -508,6 +514,8 @@
 import Stratosphere.Resources.Route53RecordSet as X
 import Stratosphere.Resources.Route53RecordSetGroup as X
 import Stratosphere.Resources.Route53ResolverResolverEndpoint as X
+import Stratosphere.Resources.Route53ResolverResolverQueryLoggingConfig as X
+import Stratosphere.Resources.Route53ResolverResolverQueryLoggingConfigAssociation as X
 import Stratosphere.Resources.Route53ResolverResolverRule as X
 import Stratosphere.Resources.Route53ResolverResolverRuleAssociation as X
 import Stratosphere.Resources.S3AccessPoint as X
@@ -864,6 +872,11 @@
 import Stratosphere.ResourceProperties.CassandraTableProvisionedThroughput as X
 import Stratosphere.ResourceProperties.CertificateManagerCertificateDomainValidationOption as X
 import Stratosphere.ResourceProperties.Cloud9EnvironmentEC2Repository as X
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyCachePolicyConfig as X
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyCookiesConfig as X
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyHeadersConfig as X
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin as X
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyQueryStringsConfig as X
 import Stratosphere.ResourceProperties.CloudFrontCloudFrontOriginAccessIdentityCloudFrontOriginAccessIdentityConfig as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionCacheBehavior as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionCookies as X
@@ -886,6 +899,12 @@
 import Stratosphere.ResourceProperties.CloudFrontDistributionS3OriginConfig as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionStatusCodes as X
 import Stratosphere.ResourceProperties.CloudFrontDistributionViewerCertificate as X
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyCookiesConfig as X
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyHeadersConfig as X
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyOriginRequestPolicyConfig as X
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyQueryStringsConfig as X
+import Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigEndPoint as X
+import Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigKinesisStreamConfig as X
 import Stratosphere.ResourceProperties.CloudFrontStreamingDistributionLogging as X
 import Stratosphere.ResourceProperties.CloudFrontStreamingDistributionS3Origin as X
 import Stratosphere.ResourceProperties.CloudFrontStreamingDistributionStreamingDistributionConfig as X
@@ -984,6 +1003,7 @@
 import Stratosphere.ResourceProperties.CognitoUserPoolUsernameConfiguration as X
 import Stratosphere.ResourceProperties.CognitoUserPoolVerificationMessageTemplate as X
 import Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration as X
+import Stratosphere.ResourceProperties.CognitoUserPoolClientTokenValidityUnits as X
 import Stratosphere.ResourceProperties.CognitoUserPoolDomainCustomDomainConfigType as X
 import Stratosphere.ResourceProperties.CognitoUserPoolResourceServerResourceServerScopeType as X
 import Stratosphere.ResourceProperties.CognitoUserPoolRiskConfigurationAttachmentAccountTakeoverActionType as X
@@ -1129,6 +1149,7 @@
 import Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig as X
 import Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRange as X
 import Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification as X
+import Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy as X
 import Stratosphere.ResourceProperties.ECSCapacityProviderAutoScalingGroupProvider as X
 import Stratosphere.ResourceProperties.ECSCapacityProviderManagedScaling as X
 import Stratosphere.ResourceProperties.ECSClusterCapacityProviderStrategyItem as X
@@ -1184,6 +1205,8 @@
 import Stratosphere.ResourceProperties.EKSClusterEncryptionConfig as X
 import Stratosphere.ResourceProperties.EKSClusterProvider as X
 import Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig as X
+import Stratosphere.ResourceProperties.EKSFargateProfileLabel as X
+import Stratosphere.ResourceProperties.EKSFargateProfileSelector as X
 import Stratosphere.ResourceProperties.EKSNodegroupLaunchTemplateSpecification as X
 import Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess as X
 import Stratosphere.ResourceProperties.EKSNodegroupScalingConfig as X
@@ -1325,6 +1348,13 @@
 import Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy as X
 import Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration as X
 import Stratosphere.ResourceProperties.GameLiftFleetServerProcess as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupAutoScalingPolicy as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinition as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinitions as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupLaunchTemplate as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupTags as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupTargetTrackingConfiguration as X
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupVpcSubnets as X
 import Stratosphere.ResourceProperties.GameLiftGameSessionQueueDestination as X
 import Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy as X
 import Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty as X
@@ -1426,6 +1456,8 @@
 import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscription as X
 import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion as X
 import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription as X
+import Stratosphere.ResourceProperties.GuardDutyDetectorCFNDataSourceConfigurations as X
+import Stratosphere.ResourceProperties.GuardDutyDetectorCFNS3LogsConfiguration as X
 import Stratosphere.ResourceProperties.GuardDutyFilterCondition as X
 import Stratosphere.ResourceProperties.GuardDutyFilterFindingCriteria as X
 import Stratosphere.ResourceProperties.IAMGroupPolicy as X
@@ -1680,6 +1712,7 @@
 import Stratosphere.ResourceProperties.MSKClusterS3 as X
 import Stratosphere.ResourceProperties.MSKClusterStorageInfo as X
 import Stratosphere.ResourceProperties.MSKClusterTls as X
+import Stratosphere.ResourceProperties.MacieFindingsFilterFindingsFilterListItem as X
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy as X
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration as X
 import Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFabricConfiguration as X
@@ -1724,6 +1757,7 @@
 import Stratosphere.ResourceProperties.MediaStoreContainerCorsRule as X
 import Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicy as X
 import Stratosphere.ResourceProperties.MediaStoreContainerMetricPolicyRule as X
+import Stratosphere.ResourceProperties.NeptuneDBClusterDBClusterRole as X
 import Stratosphere.ResourceProperties.NetworkManagerDeviceLocation as X
 import Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth as X
 import Stratosphere.ResourceProperties.NetworkManagerSiteLocation as X
@@ -1897,6 +1931,7 @@
 import Stratosphere.ResourceProperties.SESTemplateTemplate as X
 import Stratosphere.ResourceProperties.SNSTopicSubscription as X
 import Stratosphere.ResourceProperties.SSMAssociationInstanceAssociationOutputLocation as X
+import Stratosphere.ResourceProperties.SSMAssociationParameterValues as X
 import Stratosphere.ResourceProperties.SSMAssociationS3OutputLocation as X
 import Stratosphere.ResourceProperties.SSMAssociationTarget as X
 import Stratosphere.ResourceProperties.SSMMaintenanceWindowTargetTargets 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
@@ -21,6 +21,7 @@
   , _apiGatewayV2IntegrationCredentialsArn :: Maybe (Val Text)
   , _apiGatewayV2IntegrationDescription :: Maybe (Val Text)
   , _apiGatewayV2IntegrationIntegrationMethod :: Maybe (Val Text)
+  , _apiGatewayV2IntegrationIntegrationSubtype :: Maybe (Val Text)
   , _apiGatewayV2IntegrationIntegrationType :: Val Text
   , _apiGatewayV2IntegrationIntegrationUri :: Maybe (Val Text)
   , _apiGatewayV2IntegrationPassthroughBehavior :: Maybe (Val Text)
@@ -45,6 +46,7 @@
         , fmap (("CredentialsArn",) . toJSON) _apiGatewayV2IntegrationCredentialsArn
         , fmap (("Description",) . toJSON) _apiGatewayV2IntegrationDescription
         , fmap (("IntegrationMethod",) . toJSON) _apiGatewayV2IntegrationIntegrationMethod
+        , fmap (("IntegrationSubtype",) . toJSON) _apiGatewayV2IntegrationIntegrationSubtype
         , (Just . ("IntegrationType",) . toJSON) _apiGatewayV2IntegrationIntegrationType
         , fmap (("IntegrationUri",) . toJSON) _apiGatewayV2IntegrationIntegrationUri
         , fmap (("PassthroughBehavior",) . toJSON) _apiGatewayV2IntegrationPassthroughBehavior
@@ -72,6 +74,7 @@
   , _apiGatewayV2IntegrationCredentialsArn = Nothing
   , _apiGatewayV2IntegrationDescription = Nothing
   , _apiGatewayV2IntegrationIntegrationMethod = Nothing
+  , _apiGatewayV2IntegrationIntegrationSubtype = Nothing
   , _apiGatewayV2IntegrationIntegrationType = integrationTypearg
   , _apiGatewayV2IntegrationIntegrationUri = Nothing
   , _apiGatewayV2IntegrationPassthroughBehavior = Nothing
@@ -110,6 +113,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationmethod
 agviIntegrationMethod :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
 agviIntegrationMethod = lens _apiGatewayV2IntegrationIntegrationMethod (\s a -> s { _apiGatewayV2IntegrationIntegrationMethod = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationsubtype
+agviIntegrationSubtype :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
+agviIntegrationSubtype = lens _apiGatewayV2IntegrationIntegrationSubtype (\s a -> s { _apiGatewayV2IntegrationIntegrationSubtype = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationtype
 agviIntegrationType :: Lens' ApiGatewayV2Integration (Val Text)
diff --git a/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs b/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html
+
+module Stratosphere.Resources.CloudFrontCachePolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontCachePolicyCachePolicyConfig
+
+-- | Full data type definition for CloudFrontCachePolicy. See
+-- 'cloudFrontCachePolicy' for a more convenient constructor.
+data CloudFrontCachePolicy =
+  CloudFrontCachePolicy
+  { _cloudFrontCachePolicyCachePolicyConfig :: CloudFrontCachePolicyCachePolicyConfig
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CloudFrontCachePolicy where
+  toResourceProperties CloudFrontCachePolicy{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CloudFront::CachePolicy"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("CachePolicyConfig",) . toJSON) _cloudFrontCachePolicyCachePolicyConfig
+        ]
+    }
+
+-- | Constructor for 'CloudFrontCachePolicy' containing required fields as
+-- arguments.
+cloudFrontCachePolicy
+  :: CloudFrontCachePolicyCachePolicyConfig -- ^ 'cfcpCachePolicyConfig'
+  -> CloudFrontCachePolicy
+cloudFrontCachePolicy cachePolicyConfigarg =
+  CloudFrontCachePolicy
+  { _cloudFrontCachePolicyCachePolicyConfig = cachePolicyConfigarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html#cfn-cloudfront-cachepolicy-cachepolicyconfig
+cfcpCachePolicyConfig :: Lens' CloudFrontCachePolicy CloudFrontCachePolicyCachePolicyConfig
+cfcpCachePolicyConfig = lens _cloudFrontCachePolicyCachePolicyConfig (\s a -> s { _cloudFrontCachePolicyCachePolicyConfig = a })
diff --git a/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs b/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html
+
+module Stratosphere.Resources.CloudFrontOriginRequestPolicy where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+
+-- | Full data type definition for CloudFrontOriginRequestPolicy. See
+-- 'cloudFrontOriginRequestPolicy' for a more convenient constructor.
+data CloudFrontOriginRequestPolicy =
+  CloudFrontOriginRequestPolicy
+  { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfig :: CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CloudFrontOriginRequestPolicy where
+  toResourceProperties CloudFrontOriginRequestPolicy{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CloudFront::OriginRequestPolicy"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("OriginRequestPolicyConfig",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+        ]
+    }
+
+-- | Constructor for 'CloudFrontOriginRequestPolicy' containing required
+-- fields as arguments.
+cloudFrontOriginRequestPolicy
+  :: CloudFrontOriginRequestPolicyOriginRequestPolicyConfig -- ^ 'cforpOriginRequestPolicyConfig'
+  -> CloudFrontOriginRequestPolicy
+cloudFrontOriginRequestPolicy originRequestPolicyConfigarg =
+  CloudFrontOriginRequestPolicy
+  { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfig = originRequestPolicyConfigarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig
+cforpOriginRequestPolicyConfig :: Lens' CloudFrontOriginRequestPolicy CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+cforpOriginRequestPolicyConfig = lens _cloudFrontOriginRequestPolicyOriginRequestPolicyConfig (\s a -> s { _cloudFrontOriginRequestPolicyOriginRequestPolicyConfig = a })
diff --git a/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs b/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html
+
+module Stratosphere.Resources.CloudFrontRealtimeLogConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigEndPoint
+
+-- | Full data type definition for CloudFrontRealtimeLogConfig. See
+-- 'cloudFrontRealtimeLogConfig' for a more convenient constructor.
+data CloudFrontRealtimeLogConfig =
+  CloudFrontRealtimeLogConfig
+  { _cloudFrontRealtimeLogConfigEndPoints :: [CloudFrontRealtimeLogConfigEndPoint]
+  , _cloudFrontRealtimeLogConfigFields :: ValList Text
+  , _cloudFrontRealtimeLogConfigName :: Val Text
+  , _cloudFrontRealtimeLogConfigSamplingRate :: Val Double
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CloudFrontRealtimeLogConfig where
+  toResourceProperties CloudFrontRealtimeLogConfig{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CloudFront::RealtimeLogConfig"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("EndPoints",) . toJSON) _cloudFrontRealtimeLogConfigEndPoints
+        , (Just . ("Fields",) . toJSON) _cloudFrontRealtimeLogConfigFields
+        , (Just . ("Name",) . toJSON) _cloudFrontRealtimeLogConfigName
+        , (Just . ("SamplingRate",) . toJSON) _cloudFrontRealtimeLogConfigSamplingRate
+        ]
+    }
+
+-- | Constructor for 'CloudFrontRealtimeLogConfig' containing required fields
+-- as arguments.
+cloudFrontRealtimeLogConfig
+  :: [CloudFrontRealtimeLogConfigEndPoint] -- ^ 'cfrlcEndPoints'
+  -> ValList Text -- ^ 'cfrlcFields'
+  -> Val Text -- ^ 'cfrlcName'
+  -> Val Double -- ^ 'cfrlcSamplingRate'
+  -> CloudFrontRealtimeLogConfig
+cloudFrontRealtimeLogConfig endPointsarg fieldsarg namearg samplingRatearg =
+  CloudFrontRealtimeLogConfig
+  { _cloudFrontRealtimeLogConfigEndPoints = endPointsarg
+  , _cloudFrontRealtimeLogConfigFields = fieldsarg
+  , _cloudFrontRealtimeLogConfigName = namearg
+  , _cloudFrontRealtimeLogConfigSamplingRate = samplingRatearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-endpoints
+cfrlcEndPoints :: Lens' CloudFrontRealtimeLogConfig [CloudFrontRealtimeLogConfigEndPoint]
+cfrlcEndPoints = lens _cloudFrontRealtimeLogConfigEndPoints (\s a -> s { _cloudFrontRealtimeLogConfigEndPoints = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-fields
+cfrlcFields :: Lens' CloudFrontRealtimeLogConfig (ValList Text)
+cfrlcFields = lens _cloudFrontRealtimeLogConfigFields (\s a -> s { _cloudFrontRealtimeLogConfigFields = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-name
+cfrlcName :: Lens' CloudFrontRealtimeLogConfig (Val Text)
+cfrlcName = lens _cloudFrontRealtimeLogConfigName (\s a -> s { _cloudFrontRealtimeLogConfigName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-samplingrate
+cfrlcSamplingRate :: Lens' CloudFrontRealtimeLogConfig (Val Double)
+cfrlcSamplingRate = lens _cloudFrontRealtimeLogConfigSamplingRate (\s a -> s { _cloudFrontRealtimeLogConfigSamplingRate = a })
diff --git a/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs b/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html
+
+module Stratosphere.Resources.CodeGuruReviewerRepositoryAssociation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeGuruReviewerRepositoryAssociation. See
+-- 'codeGuruReviewerRepositoryAssociation' for a more convenient
+-- constructor.
+data CodeGuruReviewerRepositoryAssociation =
+  CodeGuruReviewerRepositoryAssociation
+  { _codeGuruReviewerRepositoryAssociationConnectionArn :: Maybe (Val Text)
+  , _codeGuruReviewerRepositoryAssociationName :: Val Text
+  , _codeGuruReviewerRepositoryAssociationOwner :: Maybe (Val Text)
+  , _codeGuruReviewerRepositoryAssociationType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties CodeGuruReviewerRepositoryAssociation where
+  toResourceProperties CodeGuruReviewerRepositoryAssociation{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::CodeGuruReviewer::RepositoryAssociation"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("ConnectionArn",) . toJSON) _codeGuruReviewerRepositoryAssociationConnectionArn
+        , (Just . ("Name",) . toJSON) _codeGuruReviewerRepositoryAssociationName
+        , fmap (("Owner",) . toJSON) _codeGuruReviewerRepositoryAssociationOwner
+        , (Just . ("Type",) . toJSON) _codeGuruReviewerRepositoryAssociationType
+        ]
+    }
+
+-- | Constructor for 'CodeGuruReviewerRepositoryAssociation' containing
+-- required fields as arguments.
+codeGuruReviewerRepositoryAssociation
+  :: Val Text -- ^ 'cgrraName'
+  -> Val Text -- ^ 'cgrraType'
+  -> CodeGuruReviewerRepositoryAssociation
+codeGuruReviewerRepositoryAssociation namearg typearg =
+  CodeGuruReviewerRepositoryAssociation
+  { _codeGuruReviewerRepositoryAssociationConnectionArn = Nothing
+  , _codeGuruReviewerRepositoryAssociationName = namearg
+  , _codeGuruReviewerRepositoryAssociationOwner = Nothing
+  , _codeGuruReviewerRepositoryAssociationType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-connectionarn
+cgrraConnectionArn :: Lens' CodeGuruReviewerRepositoryAssociation (Maybe (Val Text))
+cgrraConnectionArn = lens _codeGuruReviewerRepositoryAssociationConnectionArn (\s a -> s { _codeGuruReviewerRepositoryAssociationConnectionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-name
+cgrraName :: Lens' CodeGuruReviewerRepositoryAssociation (Val Text)
+cgrraName = lens _codeGuruReviewerRepositoryAssociationName (\s a -> s { _codeGuruReviewerRepositoryAssociationName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-owner
+cgrraOwner :: Lens' CodeGuruReviewerRepositoryAssociation (Maybe (Val Text))
+cgrraOwner = lens _codeGuruReviewerRepositoryAssociationOwner (\s a -> s { _codeGuruReviewerRepositoryAssociationOwner = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-type
+cgrraType :: Lens' CodeGuruReviewerRepositoryAssociation (Val Text)
+cgrraType = lens _codeGuruReviewerRepositoryAssociationType (\s a -> s { _codeGuruReviewerRepositoryAssociationType = a })
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
@@ -14,7 +14,8 @@
 -- 'cognitoUserPoolClient' for a more convenient constructor.
 data CognitoUserPoolClient =
   CognitoUserPoolClient
-  { _cognitoUserPoolClientAllowedOAuthFlows :: Maybe (ValList Text)
+  { _cognitoUserPoolClientAccessTokenValidity :: Maybe (Val Integer)
+  , _cognitoUserPoolClientAllowedOAuthFlows :: Maybe (ValList Text)
   , _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient :: Maybe (Val Bool)
   , _cognitoUserPoolClientAllowedOAuthScopes :: Maybe (ValList Text)
   , _cognitoUserPoolClientAnalyticsConfiguration :: Maybe CognitoUserPoolClientAnalyticsConfiguration
@@ -23,6 +24,7 @@
   , _cognitoUserPoolClientDefaultRedirectURI :: Maybe (Val Text)
   , _cognitoUserPoolClientExplicitAuthFlows :: Maybe (ValList Text)
   , _cognitoUserPoolClientGenerateSecret :: Maybe (Val Bool)
+  , _cognitoUserPoolClientIdTokenValidity :: Maybe (Val Integer)
   , _cognitoUserPoolClientLogoutURLs :: Maybe (ValList Text)
   , _cognitoUserPoolClientPreventUserExistenceErrors :: Maybe (Val Text)
   , _cognitoUserPoolClientReadAttributes :: Maybe (ValList Text)
@@ -38,7 +40,8 @@
     { resourcePropertiesType = "AWS::Cognito::UserPoolClient"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllowedOAuthFlows",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlows
+        [ fmap (("AccessTokenValidity",) . toJSON) _cognitoUserPoolClientAccessTokenValidity
+        , fmap (("AllowedOAuthFlows",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlows
         , fmap (("AllowedOAuthFlowsUserPoolClient",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient
         , fmap (("AllowedOAuthScopes",) . toJSON) _cognitoUserPoolClientAllowedOAuthScopes
         , fmap (("AnalyticsConfiguration",) . toJSON) _cognitoUserPoolClientAnalyticsConfiguration
@@ -47,6 +50,7 @@
         , fmap (("DefaultRedirectURI",) . toJSON) _cognitoUserPoolClientDefaultRedirectURI
         , fmap (("ExplicitAuthFlows",) . toJSON) _cognitoUserPoolClientExplicitAuthFlows
         , fmap (("GenerateSecret",) . toJSON) _cognitoUserPoolClientGenerateSecret
+        , fmap (("IdTokenValidity",) . toJSON) _cognitoUserPoolClientIdTokenValidity
         , fmap (("LogoutURLs",) . toJSON) _cognitoUserPoolClientLogoutURLs
         , fmap (("PreventUserExistenceErrors",) . toJSON) _cognitoUserPoolClientPreventUserExistenceErrors
         , fmap (("ReadAttributes",) . toJSON) _cognitoUserPoolClientReadAttributes
@@ -64,7 +68,8 @@
   -> CognitoUserPoolClient
 cognitoUserPoolClient userPoolIdarg =
   CognitoUserPoolClient
-  { _cognitoUserPoolClientAllowedOAuthFlows = Nothing
+  { _cognitoUserPoolClientAccessTokenValidity = Nothing
+  , _cognitoUserPoolClientAllowedOAuthFlows = Nothing
   , _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient = Nothing
   , _cognitoUserPoolClientAllowedOAuthScopes = Nothing
   , _cognitoUserPoolClientAnalyticsConfiguration = Nothing
@@ -73,6 +78,7 @@
   , _cognitoUserPoolClientDefaultRedirectURI = Nothing
   , _cognitoUserPoolClientExplicitAuthFlows = Nothing
   , _cognitoUserPoolClientGenerateSecret = Nothing
+  , _cognitoUserPoolClientIdTokenValidity = Nothing
   , _cognitoUserPoolClientLogoutURLs = Nothing
   , _cognitoUserPoolClientPreventUserExistenceErrors = Nothing
   , _cognitoUserPoolClientReadAttributes = Nothing
@@ -82,6 +88,10 @@
   , _cognitoUserPoolClientWriteAttributes = Nothing
   }
 
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-accesstokenvalidity
+cupcAccessTokenValidity :: Lens' CognitoUserPoolClient (Maybe (Val Integer))
+cupcAccessTokenValidity = lens _cognitoUserPoolClientAccessTokenValidity (\s a -> s { _cognitoUserPoolClientAccessTokenValidity = a })
+
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflows
 cupcAllowedOAuthFlows :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
 cupcAllowedOAuthFlows = lens _cognitoUserPoolClientAllowedOAuthFlows (\s a -> s { _cognitoUserPoolClientAllowedOAuthFlows = a })
@@ -117,6 +127,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-generatesecret
 cupcGenerateSecret :: Lens' CognitoUserPoolClient (Maybe (Val Bool))
 cupcGenerateSecret = lens _cognitoUserPoolClientGenerateSecret (\s a -> s { _cognitoUserPoolClientGenerateSecret = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-idtokenvalidity
+cupcIdTokenValidity :: Lens' CognitoUserPoolClient (Maybe (Val Integer))
+cupcIdTokenValidity = lens _cognitoUserPoolClientIdTokenValidity (\s a -> s { _cognitoUserPoolClientIdTokenValidity = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-logouturls
 cupcLogoutURLs :: Lens' CognitoUserPoolClient (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/EKSFargateProfile.hs b/library-gen/Stratosphere/Resources/EKSFargateProfile.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EKSFargateProfile.hs
@@ -0,0 +1,80 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html
+
+module Stratosphere.Resources.EKSFargateProfile where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EKSFargateProfileSelector
+import Stratosphere.ResourceProperties.Tag
+
+-- | Full data type definition for EKSFargateProfile. See 'eksFargateProfile'
+-- for a more convenient constructor.
+data EKSFargateProfile =
+  EKSFargateProfile
+  { _eKSFargateProfileClusterName :: Val Text
+  , _eKSFargateProfileFargateProfileName :: Maybe (Val Text)
+  , _eKSFargateProfilePodExecutionRoleArn :: Val Text
+  , _eKSFargateProfileSelectors :: [EKSFargateProfileSelector]
+  , _eKSFargateProfileSubnets :: Maybe (ValList Text)
+  , _eKSFargateProfileTags :: Maybe [Tag]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties EKSFargateProfile where
+  toResourceProperties EKSFargateProfile{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::EKS::FargateProfile"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ClusterName",) . toJSON) _eKSFargateProfileClusterName
+        , fmap (("FargateProfileName",) . toJSON) _eKSFargateProfileFargateProfileName
+        , (Just . ("PodExecutionRoleArn",) . toJSON) _eKSFargateProfilePodExecutionRoleArn
+        , (Just . ("Selectors",) . toJSON) _eKSFargateProfileSelectors
+        , fmap (("Subnets",) . toJSON) _eKSFargateProfileSubnets
+        , fmap (("Tags",) . toJSON) _eKSFargateProfileTags
+        ]
+    }
+
+-- | Constructor for 'EKSFargateProfile' containing required fields as
+-- arguments.
+eksFargateProfile
+  :: Val Text -- ^ 'eksfpClusterName'
+  -> Val Text -- ^ 'eksfpPodExecutionRoleArn'
+  -> [EKSFargateProfileSelector] -- ^ 'eksfpSelectors'
+  -> EKSFargateProfile
+eksFargateProfile clusterNamearg podExecutionRoleArnarg selectorsarg =
+  EKSFargateProfile
+  { _eKSFargateProfileClusterName = clusterNamearg
+  , _eKSFargateProfileFargateProfileName = Nothing
+  , _eKSFargateProfilePodExecutionRoleArn = podExecutionRoleArnarg
+  , _eKSFargateProfileSelectors = selectorsarg
+  , _eKSFargateProfileSubnets = Nothing
+  , _eKSFargateProfileTags = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-clustername
+eksfpClusterName :: Lens' EKSFargateProfile (Val Text)
+eksfpClusterName = lens _eKSFargateProfileClusterName (\s a -> s { _eKSFargateProfileClusterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-fargateprofilename
+eksfpFargateProfileName :: Lens' EKSFargateProfile (Maybe (Val Text))
+eksfpFargateProfileName = lens _eKSFargateProfileFargateProfileName (\s a -> s { _eKSFargateProfileFargateProfileName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-podexecutionrolearn
+eksfpPodExecutionRoleArn :: Lens' EKSFargateProfile (Val Text)
+eksfpPodExecutionRoleArn = lens _eKSFargateProfilePodExecutionRoleArn (\s a -> s { _eKSFargateProfilePodExecutionRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-selectors
+eksfpSelectors :: Lens' EKSFargateProfile [EKSFargateProfileSelector]
+eksfpSelectors = lens _eKSFargateProfileSelectors (\s a -> s { _eKSFargateProfileSelectors = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-subnets
+eksfpSubnets :: Lens' EKSFargateProfile (Maybe (ValList Text))
+eksfpSubnets = lens _eKSFargateProfileSubnets (\s a -> s { _eKSFargateProfileSubnets = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-tags
+eksfpTags :: Lens' EKSFargateProfile (Maybe [Tag])
+eksfpTags = lens _eKSFargateProfileTags (\s a -> s { _eKSFargateProfileTags = a })
diff --git a/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs b/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs
@@ -0,0 +1,126 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html
+
+module Stratosphere.Resources.GameLiftGameServerGroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupAutoScalingPolicy
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinitions
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupLaunchTemplate
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupTags
+import Stratosphere.ResourceProperties.GameLiftGameServerGroupVpcSubnets
+
+-- | Full data type definition for GameLiftGameServerGroup. See
+-- 'gameLiftGameServerGroup' for a more convenient constructor.
+data GameLiftGameServerGroup =
+  GameLiftGameServerGroup
+  { _gameLiftGameServerGroupAutoScalingPolicy :: Maybe GameLiftGameServerGroupAutoScalingPolicy
+  , _gameLiftGameServerGroupBalancingStrategy :: Maybe (Val Text)
+  , _gameLiftGameServerGroupDeleteOption :: Maybe (Val Text)
+  , _gameLiftGameServerGroupGameServerGroupName :: Val Text
+  , _gameLiftGameServerGroupGameServerProtectionPolicy :: Maybe (Val Text)
+  , _gameLiftGameServerGroupInstanceDefinitions :: GameLiftGameServerGroupInstanceDefinitions
+  , _gameLiftGameServerGroupLaunchTemplate :: GameLiftGameServerGroupLaunchTemplate
+  , _gameLiftGameServerGroupMaxSize :: Maybe (Val Double)
+  , _gameLiftGameServerGroupMinSize :: Maybe (Val Double)
+  , _gameLiftGameServerGroupRoleArn :: Val Text
+  , _gameLiftGameServerGroupTags :: Maybe GameLiftGameServerGroupTags
+  , _gameLiftGameServerGroupVpcSubnets :: Maybe GameLiftGameServerGroupVpcSubnets
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GameLiftGameServerGroup where
+  toResourceProperties GameLiftGameServerGroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::GameLift::GameServerGroup"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("AutoScalingPolicy",) . toJSON) _gameLiftGameServerGroupAutoScalingPolicy
+        , fmap (("BalancingStrategy",) . toJSON) _gameLiftGameServerGroupBalancingStrategy
+        , fmap (("DeleteOption",) . toJSON) _gameLiftGameServerGroupDeleteOption
+        , (Just . ("GameServerGroupName",) . toJSON) _gameLiftGameServerGroupGameServerGroupName
+        , fmap (("GameServerProtectionPolicy",) . toJSON) _gameLiftGameServerGroupGameServerProtectionPolicy
+        , (Just . ("InstanceDefinitions",) . toJSON) _gameLiftGameServerGroupInstanceDefinitions
+        , (Just . ("LaunchTemplate",) . toJSON) _gameLiftGameServerGroupLaunchTemplate
+        , fmap (("MaxSize",) . toJSON) _gameLiftGameServerGroupMaxSize
+        , fmap (("MinSize",) . toJSON) _gameLiftGameServerGroupMinSize
+        , (Just . ("RoleArn",) . toJSON) _gameLiftGameServerGroupRoleArn
+        , fmap (("Tags",) . toJSON) _gameLiftGameServerGroupTags
+        , fmap (("VpcSubnets",) . toJSON) _gameLiftGameServerGroupVpcSubnets
+        ]
+    }
+
+-- | Constructor for 'GameLiftGameServerGroup' containing required fields as
+-- arguments.
+gameLiftGameServerGroup
+  :: Val Text -- ^ 'glgsgGameServerGroupName'
+  -> GameLiftGameServerGroupInstanceDefinitions -- ^ 'glgsgInstanceDefinitions'
+  -> GameLiftGameServerGroupLaunchTemplate -- ^ 'glgsgLaunchTemplate'
+  -> Val Text -- ^ 'glgsgRoleArn'
+  -> GameLiftGameServerGroup
+gameLiftGameServerGroup gameServerGroupNamearg instanceDefinitionsarg launchTemplatearg roleArnarg =
+  GameLiftGameServerGroup
+  { _gameLiftGameServerGroupAutoScalingPolicy = Nothing
+  , _gameLiftGameServerGroupBalancingStrategy = Nothing
+  , _gameLiftGameServerGroupDeleteOption = Nothing
+  , _gameLiftGameServerGroupGameServerGroupName = gameServerGroupNamearg
+  , _gameLiftGameServerGroupGameServerProtectionPolicy = Nothing
+  , _gameLiftGameServerGroupInstanceDefinitions = instanceDefinitionsarg
+  , _gameLiftGameServerGroupLaunchTemplate = launchTemplatearg
+  , _gameLiftGameServerGroupMaxSize = Nothing
+  , _gameLiftGameServerGroupMinSize = Nothing
+  , _gameLiftGameServerGroupRoleArn = roleArnarg
+  , _gameLiftGameServerGroupTags = Nothing
+  , _gameLiftGameServerGroupVpcSubnets = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-autoscalingpolicy
+glgsgAutoScalingPolicy :: Lens' GameLiftGameServerGroup (Maybe GameLiftGameServerGroupAutoScalingPolicy)
+glgsgAutoScalingPolicy = lens _gameLiftGameServerGroupAutoScalingPolicy (\s a -> s { _gameLiftGameServerGroupAutoScalingPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-balancingstrategy
+glgsgBalancingStrategy :: Lens' GameLiftGameServerGroup (Maybe (Val Text))
+glgsgBalancingStrategy = lens _gameLiftGameServerGroupBalancingStrategy (\s a -> s { _gameLiftGameServerGroupBalancingStrategy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-deleteoption
+glgsgDeleteOption :: Lens' GameLiftGameServerGroup (Maybe (Val Text))
+glgsgDeleteOption = lens _gameLiftGameServerGroupDeleteOption (\s a -> s { _gameLiftGameServerGroupDeleteOption = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-gameservergroupname
+glgsgGameServerGroupName :: Lens' GameLiftGameServerGroup (Val Text)
+glgsgGameServerGroupName = lens _gameLiftGameServerGroupGameServerGroupName (\s a -> s { _gameLiftGameServerGroupGameServerGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-gameserverprotectionpolicy
+glgsgGameServerProtectionPolicy :: Lens' GameLiftGameServerGroup (Maybe (Val Text))
+glgsgGameServerProtectionPolicy = lens _gameLiftGameServerGroupGameServerProtectionPolicy (\s a -> s { _gameLiftGameServerGroupGameServerProtectionPolicy = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-instancedefinitions
+glgsgInstanceDefinitions :: Lens' GameLiftGameServerGroup GameLiftGameServerGroupInstanceDefinitions
+glgsgInstanceDefinitions = lens _gameLiftGameServerGroupInstanceDefinitions (\s a -> s { _gameLiftGameServerGroupInstanceDefinitions = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-launchtemplate
+glgsgLaunchTemplate :: Lens' GameLiftGameServerGroup GameLiftGameServerGroupLaunchTemplate
+glgsgLaunchTemplate = lens _gameLiftGameServerGroupLaunchTemplate (\s a -> s { _gameLiftGameServerGroupLaunchTemplate = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-maxsize
+glgsgMaxSize :: Lens' GameLiftGameServerGroup (Maybe (Val Double))
+glgsgMaxSize = lens _gameLiftGameServerGroupMaxSize (\s a -> s { _gameLiftGameServerGroupMaxSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-minsize
+glgsgMinSize :: Lens' GameLiftGameServerGroup (Maybe (Val Double))
+glgsgMinSize = lens _gameLiftGameServerGroupMinSize (\s a -> s { _gameLiftGameServerGroupMinSize = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-rolearn
+glgsgRoleArn :: Lens' GameLiftGameServerGroup (Val Text)
+glgsgRoleArn = lens _gameLiftGameServerGroupRoleArn (\s a -> s { _gameLiftGameServerGroupRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-tags
+glgsgTags :: Lens' GameLiftGameServerGroup (Maybe GameLiftGameServerGroupTags)
+glgsgTags = lens _gameLiftGameServerGroupTags (\s a -> s { _gameLiftGameServerGroupTags = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-vpcsubnets
+glgsgVpcSubnets :: Lens' GameLiftGameServerGroup (Maybe GameLiftGameServerGroupVpcSubnets)
+glgsgVpcSubnets = lens _gameLiftGameServerGroupVpcSubnets (\s a -> s { _gameLiftGameServerGroupVpcSubnets = a })
diff --git a/library-gen/Stratosphere/Resources/GuardDutyDetector.hs b/library-gen/Stratosphere/Resources/GuardDutyDetector.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyDetector.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyDetector.hs
@@ -8,13 +8,14 @@
 module Stratosphere.Resources.GuardDutyDetector where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.GuardDutyDetectorCFNDataSourceConfigurations
 
 -- | Full data type definition for GuardDutyDetector. See 'guardDutyDetector'
 -- for a more convenient constructor.
 data GuardDutyDetector =
   GuardDutyDetector
-  { _guardDutyDetectorEnable :: Val Bool
+  { _guardDutyDetectorDataSources :: Maybe GuardDutyDetectorCFNDataSourceConfigurations
+  , _guardDutyDetectorEnable :: Val Bool
   , _guardDutyDetectorFindingPublishingFrequency :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -24,7 +25,8 @@
     { resourcePropertiesType = "AWS::GuardDuty::Detector"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("Enable",) . toJSON) _guardDutyDetectorEnable
+        [ fmap (("DataSources",) . toJSON) _guardDutyDetectorDataSources
+        , (Just . ("Enable",) . toJSON) _guardDutyDetectorEnable
         , fmap (("FindingPublishingFrequency",) . toJSON) _guardDutyDetectorFindingPublishingFrequency
         ]
     }
@@ -36,9 +38,14 @@
   -> GuardDutyDetector
 guardDutyDetector enablearg =
   GuardDutyDetector
-  { _guardDutyDetectorEnable = enablearg
+  { _guardDutyDetectorDataSources = Nothing
+  , _guardDutyDetectorEnable = enablearg
   , _guardDutyDetectorFindingPublishingFrequency = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html#cfn-guardduty-detector-datasources
+gddDataSources :: Lens' GuardDutyDetector (Maybe GuardDutyDetectorCFNDataSourceConfigurations)
+gddDataSources = lens _guardDutyDetectorDataSources (\s a -> s { _guardDutyDetectorDataSources = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html#cfn-guardduty-detector-enable
 gddEnable :: Lens' GuardDutyDetector (Val Bool)
diff --git a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
@@ -8,8 +8,8 @@
 module Stratosphere.Resources.GuardDutyFilter where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.GuardDutyFilterFindingCriteria
 
+
 -- | Full data type definition for GuardDutyFilter. See 'guardDutyFilter' for
 -- a more convenient constructor.
 data GuardDutyFilter =
@@ -17,7 +17,6 @@
   { _guardDutyFilterAction :: Val Text
   , _guardDutyFilterDescription :: Val Text
   , _guardDutyFilterDetectorId :: Val Text
-  , _guardDutyFilterFindingCriteria :: GuardDutyFilterFindingCriteria
   , _guardDutyFilterName :: Val Text
   , _guardDutyFilterRank :: Val Integer
   } deriving (Show, Eq)
@@ -31,7 +30,6 @@
         [ (Just . ("Action",) . toJSON) _guardDutyFilterAction
         , (Just . ("Description",) . toJSON) _guardDutyFilterDescription
         , (Just . ("DetectorId",) . toJSON) _guardDutyFilterDetectorId
-        , (Just . ("FindingCriteria",) . toJSON) _guardDutyFilterFindingCriteria
         , (Just . ("Name",) . toJSON) _guardDutyFilterName
         , (Just . ("Rank",) . toJSON) _guardDutyFilterRank
         ]
@@ -43,16 +41,14 @@
   :: Val Text -- ^ 'gdfAction'
   -> Val Text -- ^ 'gdfDescription'
   -> Val Text -- ^ 'gdfDetectorId'
-  -> GuardDutyFilterFindingCriteria -- ^ 'gdfFindingCriteria'
   -> Val Text -- ^ 'gdfName'
   -> Val Integer -- ^ 'gdfRank'
   -> GuardDutyFilter
-guardDutyFilter actionarg descriptionarg detectorIdarg findingCriteriaarg namearg rankarg =
+guardDutyFilter actionarg descriptionarg detectorIdarg namearg rankarg =
   GuardDutyFilter
   { _guardDutyFilterAction = actionarg
   , _guardDutyFilterDescription = descriptionarg
   , _guardDutyFilterDetectorId = detectorIdarg
-  , _guardDutyFilterFindingCriteria = findingCriteriaarg
   , _guardDutyFilterName = namearg
   , _guardDutyFilterRank = rankarg
   }
@@ -68,10 +64,6 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-detectorid
 gdfDetectorId :: Lens' GuardDutyFilter (Val Text)
 gdfDetectorId = lens _guardDutyFilterDetectorId (\s a -> s { _guardDutyFilterDetectorId = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-findingcriteria
-gdfFindingCriteria :: Lens' GuardDutyFilter GuardDutyFilterFindingCriteria
-gdfFindingCriteria = lens _guardDutyFilterFindingCriteria (\s a -> s { _guardDutyFilterFindingCriteria = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-name
 gdfName :: Lens' GuardDutyFilter (Val Text)
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs b/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
@@ -8,13 +8,15 @@
 module Stratosphere.Resources.NeptuneDBCluster where
 
 import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.NeptuneDBClusterDBClusterRole
 import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for NeptuneDBCluster. See 'neptuneDBCluster'
 -- for a more convenient constructor.
 data NeptuneDBCluster =
   NeptuneDBCluster
-  { _neptuneDBClusterAvailabilityZones :: Maybe (ValList Text)
+  { _neptuneDBClusterAssociatedRoles :: Maybe [NeptuneDBClusterDBClusterRole]
+  , _neptuneDBClusterAvailabilityZones :: Maybe (ValList Text)
   , _neptuneDBClusterBackupRetentionPeriod :: Maybe (Val Integer)
   , _neptuneDBClusterDBClusterIdentifier :: Maybe (Val Text)
   , _neptuneDBClusterDBClusterParameterGroupName :: Maybe (Val Text)
@@ -43,7 +45,8 @@
     { resourcePropertiesType = "AWS::Neptune::DBCluster"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AvailabilityZones",) . toJSON) _neptuneDBClusterAvailabilityZones
+        [ fmap (("AssociatedRoles",) . toJSON) _neptuneDBClusterAssociatedRoles
+        , fmap (("AvailabilityZones",) . toJSON) _neptuneDBClusterAvailabilityZones
         , fmap (("BackupRetentionPeriod",) . toJSON) _neptuneDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _neptuneDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _neptuneDBClusterDBClusterParameterGroupName
@@ -73,7 +76,8 @@
   :: NeptuneDBCluster
 neptuneDBCluster  =
   NeptuneDBCluster
-  { _neptuneDBClusterAvailabilityZones = Nothing
+  { _neptuneDBClusterAssociatedRoles = Nothing
+  , _neptuneDBClusterAvailabilityZones = Nothing
   , _neptuneDBClusterBackupRetentionPeriod = Nothing
   , _neptuneDBClusterDBClusterIdentifier = Nothing
   , _neptuneDBClusterDBClusterParameterGroupName = Nothing
@@ -95,6 +99,10 @@
   , _neptuneDBClusterUseLatestRestorableTime = Nothing
   , _neptuneDBClusterVpcSecurityGroupIds = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-associatedroles
+ndbcAssociatedRoles :: Lens' NeptuneDBCluster (Maybe [NeptuneDBClusterDBClusterRole])
+ndbcAssociatedRoles = lens _neptuneDBClusterAssociatedRoles (\s a -> s { _neptuneDBClusterAssociatedRoles = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-availabilityzones
 ndbcAvailabilityZones :: Lens' NeptuneDBCluster (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/Route53HealthCheck.hs b/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
--- a/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
+++ b/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
@@ -8,14 +8,13 @@
 module Stratosphere.Resources.Route53HealthCheck where
 
 import Stratosphere.ResourceImports
-import Stratosphere.ResourceProperties.Route53HealthCheckHealthCheckConfig
 import Stratosphere.ResourceProperties.Route53HealthCheckHealthCheckTag
 
 -- | Full data type definition for Route53HealthCheck. See
 -- 'route53HealthCheck' for a more convenient constructor.
 data Route53HealthCheck =
   Route53HealthCheck
-  { _route53HealthCheckHealthCheckConfig :: Route53HealthCheckHealthCheckConfig
+  { _route53HealthCheckHealthCheckConfig :: Object
   , _route53HealthCheckHealthCheckTags :: Maybe [Route53HealthCheckHealthCheckTag]
   } deriving (Show, Eq)
 
@@ -33,7 +32,7 @@
 -- | Constructor for 'Route53HealthCheck' containing required fields as
 -- arguments.
 route53HealthCheck
-  :: Route53HealthCheckHealthCheckConfig -- ^ 'rhcHealthCheckConfig'
+  :: Object -- ^ 'rhcHealthCheckConfig'
   -> Route53HealthCheck
 route53HealthCheck healthCheckConfigarg =
   Route53HealthCheck
@@ -42,7 +41,7 @@
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthcheckconfig
-rhcHealthCheckConfig :: Lens' Route53HealthCheck Route53HealthCheckHealthCheckConfig
+rhcHealthCheckConfig :: Lens' Route53HealthCheck Object
 rhcHealthCheckConfig = lens _route53HealthCheckHealthCheckConfig (\s a -> s { _route53HealthCheckHealthCheckConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthchecktags
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html
+
+module Stratosphere.Resources.Route53ResolverResolverQueryLoggingConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for Route53ResolverResolverQueryLoggingConfig.
+-- See 'route53ResolverResolverQueryLoggingConfig' for a more convenient
+-- constructor.
+data Route53ResolverResolverQueryLoggingConfig =
+  Route53ResolverResolverQueryLoggingConfig
+  { _route53ResolverResolverQueryLoggingConfigDestinationArn :: Maybe (Val Text)
+  , _route53ResolverResolverQueryLoggingConfigName :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties Route53ResolverResolverQueryLoggingConfig where
+  toResourceProperties Route53ResolverResolverQueryLoggingConfig{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Route53Resolver::ResolverQueryLoggingConfig"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DestinationArn",) . toJSON) _route53ResolverResolverQueryLoggingConfigDestinationArn
+        , fmap (("Name",) . toJSON) _route53ResolverResolverQueryLoggingConfigName
+        ]
+    }
+
+-- | Constructor for 'Route53ResolverResolverQueryLoggingConfig' containing
+-- required fields as arguments.
+route53ResolverResolverQueryLoggingConfig
+  :: Route53ResolverResolverQueryLoggingConfig
+route53ResolverResolverQueryLoggingConfig  =
+  Route53ResolverResolverQueryLoggingConfig
+  { _route53ResolverResolverQueryLoggingConfigDestinationArn = Nothing
+  , _route53ResolverResolverQueryLoggingConfigName = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html#cfn-route53resolver-resolverqueryloggingconfig-destinationarn
+rrrqlcDestinationArn :: Lens' Route53ResolverResolverQueryLoggingConfig (Maybe (Val Text))
+rrrqlcDestinationArn = lens _route53ResolverResolverQueryLoggingConfigDestinationArn (\s a -> s { _route53ResolverResolverQueryLoggingConfigDestinationArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html#cfn-route53resolver-resolverqueryloggingconfig-name
+rrrqlcName :: Lens' Route53ResolverResolverQueryLoggingConfig (Maybe (Val Text))
+rrrqlcName = lens _route53ResolverResolverQueryLoggingConfigName (\s a -> s { _route53ResolverResolverQueryLoggingConfigName = a })
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html
+
+module Stratosphere.Resources.Route53ResolverResolverQueryLoggingConfigAssociation where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- Route53ResolverResolverQueryLoggingConfigAssociation. See
+-- 'route53ResolverResolverQueryLoggingConfigAssociation' for a more
+-- convenient constructor.
+data Route53ResolverResolverQueryLoggingConfigAssociation =
+  Route53ResolverResolverQueryLoggingConfigAssociation
+  { _route53ResolverResolverQueryLoggingConfigAssociationResolverQueryLogConfigId :: Maybe (Val Text)
+  , _route53ResolverResolverQueryLoggingConfigAssociationResourceId :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties Route53ResolverResolverQueryLoggingConfigAssociation where
+  toResourceProperties Route53ResolverResolverQueryLoggingConfigAssociation{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("ResolverQueryLogConfigId",) . toJSON) _route53ResolverResolverQueryLoggingConfigAssociationResolverQueryLogConfigId
+        , fmap (("ResourceId",) . toJSON) _route53ResolverResolverQueryLoggingConfigAssociationResourceId
+        ]
+    }
+
+-- | Constructor for 'Route53ResolverResolverQueryLoggingConfigAssociation'
+-- containing required fields as arguments.
+route53ResolverResolverQueryLoggingConfigAssociation
+  :: Route53ResolverResolverQueryLoggingConfigAssociation
+route53ResolverResolverQueryLoggingConfigAssociation  =
+  Route53ResolverResolverQueryLoggingConfigAssociation
+  { _route53ResolverResolverQueryLoggingConfigAssociationResolverQueryLogConfigId = Nothing
+  , _route53ResolverResolverQueryLoggingConfigAssociationResourceId = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html#cfn-route53resolver-resolverqueryloggingconfigassociation-resolverquerylogconfigid
+rrrqlcaResolverQueryLogConfigId :: Lens' Route53ResolverResolverQueryLoggingConfigAssociation (Maybe (Val Text))
+rrrqlcaResolverQueryLogConfigId = lens _route53ResolverResolverQueryLoggingConfigAssociationResolverQueryLogConfigId (\s a -> s { _route53ResolverResolverQueryLoggingConfigAssociationResolverQueryLogConfigId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html#cfn-route53resolver-resolverqueryloggingconfigassociation-resourceid
+rrrqlcaResourceId :: Lens' Route53ResolverResolverQueryLoggingConfigAssociation (Maybe (Val Text))
+rrrqlcaResourceId = lens _route53ResolverResolverQueryLoggingConfigAssociationResourceId (\s a -> s { _route53ResolverResolverQueryLoggingConfigAssociationResourceId = a })
diff --git a/library-gen/Stratosphere/Resources/SSMAssociation.hs b/library-gen/Stratosphere/Resources/SSMAssociation.hs
--- a/library-gen/Stratosphere/Resources/SSMAssociation.hs
+++ b/library-gen/Stratosphere/Resources/SSMAssociation.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.SSMAssociationInstanceAssociationOutputLocation
+import Stratosphere.ResourceProperties.SSMAssociationParameterValues
 import Stratosphere.ResourceProperties.SSMAssociationTarget
 
 -- | Full data type definition for SSMAssociation. See 'ssmAssociation' for a
@@ -25,6 +26,7 @@
   , _sSMAssociationMaxErrors :: Maybe (Val Text)
   , _sSMAssociationName :: Val Text
   , _sSMAssociationOutputLocation :: Maybe SSMAssociationInstanceAssociationOutputLocation
+  , _sSMAssociationParameters :: Maybe (Map Text SSMAssociationParameterValues)
   , _sSMAssociationScheduleExpression :: Maybe (Val Text)
   , _sSMAssociationSyncCompliance :: Maybe (Val Text)
   , _sSMAssociationTargets :: Maybe [SSMAssociationTarget]
@@ -47,6 +49,7 @@
         , fmap (("MaxErrors",) . toJSON) _sSMAssociationMaxErrors
         , (Just . ("Name",) . toJSON) _sSMAssociationName
         , fmap (("OutputLocation",) . toJSON) _sSMAssociationOutputLocation
+        , fmap (("Parameters",) . toJSON) _sSMAssociationParameters
         , fmap (("ScheduleExpression",) . toJSON) _sSMAssociationScheduleExpression
         , fmap (("SyncCompliance",) . toJSON) _sSMAssociationSyncCompliance
         , fmap (("Targets",) . toJSON) _sSMAssociationTargets
@@ -70,6 +73,7 @@
   , _sSMAssociationMaxErrors = Nothing
   , _sSMAssociationName = namearg
   , _sSMAssociationOutputLocation = Nothing
+  , _sSMAssociationParameters = Nothing
   , _sSMAssociationScheduleExpression = Nothing
   , _sSMAssociationSyncCompliance = Nothing
   , _sSMAssociationTargets = Nothing
@@ -115,6 +119,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-outputlocation
 ssmaOutputLocation :: Lens' SSMAssociation (Maybe SSMAssociationInstanceAssociationOutputLocation)
 ssmaOutputLocation = lens _sSMAssociationOutputLocation (\s a -> s { _sSMAssociationOutputLocation = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-parameters
+ssmaParameters :: Lens' SSMAssociation (Maybe (Map Text SSMAssociationParameterValues))
+ssmaParameters = lens _sSMAssociationParameters (\s a -> s { _sSMAssociationParameters = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-scheduleexpression
 ssmaScheduleExpression :: Lens' SSMAssociation (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/Resources/SageMakerModel.hs b/library-gen/Stratosphere/Resources/SageMakerModel.hs
--- a/library-gen/Stratosphere/Resources/SageMakerModel.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerModel.hs
@@ -17,6 +17,7 @@
 data SageMakerModel =
   SageMakerModel
   { _sageMakerModelContainers :: Maybe [SageMakerModelContainerDefinition]
+  , _sageMakerModelEnableNetworkIsolation :: Maybe (Val Bool)
   , _sageMakerModelExecutionRoleArn :: Val Text
   , _sageMakerModelModelName :: Maybe (Val Text)
   , _sageMakerModelPrimaryContainer :: Maybe SageMakerModelContainerDefinition
@@ -31,6 +32,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Containers",) . toJSON) _sageMakerModelContainers
+        , fmap (("EnableNetworkIsolation",) . toJSON) _sageMakerModelEnableNetworkIsolation
         , (Just . ("ExecutionRoleArn",) . toJSON) _sageMakerModelExecutionRoleArn
         , fmap (("ModelName",) . toJSON) _sageMakerModelModelName
         , fmap (("PrimaryContainer",) . toJSON) _sageMakerModelPrimaryContainer
@@ -46,6 +48,7 @@
 sageMakerModel executionRoleArnarg =
   SageMakerModel
   { _sageMakerModelContainers = Nothing
+  , _sageMakerModelEnableNetworkIsolation = Nothing
   , _sageMakerModelExecutionRoleArn = executionRoleArnarg
   , _sageMakerModelModelName = Nothing
   , _sageMakerModelPrimaryContainer = Nothing
@@ -56,6 +59,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-containers
 smmContainers :: Lens' SageMakerModel (Maybe [SageMakerModelContainerDefinition])
 smmContainers = lens _sageMakerModelContainers (\s a -> s { _sageMakerModelContainers = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-enablenetworkisolation
+smmEnableNetworkIsolation :: Lens' SageMakerModel (Maybe (Val Bool))
+smmEnableNetworkIsolation = lens _sageMakerModelEnableNetworkIsolation (\s a -> s { _sageMakerModelEnableNetworkIsolation = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-executionrolearn
 smmExecutionRoleArn :: Lens' SageMakerModel (Val Text)
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
@@ -21,6 +21,7 @@
   { _serviceCatalogCloudFormationProvisionedProductAcceptLanguage :: Maybe (Val Text)
   , _serviceCatalogCloudFormationProvisionedProductNotificationArns :: Maybe (ValList Text)
   , _serviceCatalogCloudFormationProvisionedProductPathId :: Maybe (Val Text)
+  , _serviceCatalogCloudFormationProvisionedProductPathName :: Maybe (Val Text)
   , _serviceCatalogCloudFormationProvisionedProductProductId :: Maybe (Val Text)
   , _serviceCatalogCloudFormationProvisionedProductProductName :: Maybe (Val Text)
   , _serviceCatalogCloudFormationProvisionedProductProvisionedProductName :: Maybe (Val Text)
@@ -40,6 +41,7 @@
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogCloudFormationProvisionedProductAcceptLanguage
         , fmap (("NotificationArns",) . toJSON) _serviceCatalogCloudFormationProvisionedProductNotificationArns
         , fmap (("PathId",) . toJSON) _serviceCatalogCloudFormationProvisionedProductPathId
+        , fmap (("PathName",) . toJSON) _serviceCatalogCloudFormationProvisionedProductPathName
         , fmap (("ProductId",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProductId
         , fmap (("ProductName",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProductName
         , fmap (("ProvisionedProductName",) . toJSON) _serviceCatalogCloudFormationProvisionedProductProvisionedProductName
@@ -60,6 +62,7 @@
   { _serviceCatalogCloudFormationProvisionedProductAcceptLanguage = Nothing
   , _serviceCatalogCloudFormationProvisionedProductNotificationArns = Nothing
   , _serviceCatalogCloudFormationProvisionedProductPathId = Nothing
+  , _serviceCatalogCloudFormationProvisionedProductPathName = Nothing
   , _serviceCatalogCloudFormationProvisionedProductProductId = Nothing
   , _serviceCatalogCloudFormationProvisionedProductProductName = Nothing
   , _serviceCatalogCloudFormationProvisionedProductProvisionedProductName = Nothing
@@ -81,6 +84,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-pathid
 sccfppPathId :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
 sccfppPathId = lens _serviceCatalogCloudFormationProvisionedProductPathId (\s a -> s { _serviceCatalogCloudFormationProvisionedProductPathId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-pathname
+sccfppPathName :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
+sccfppPathName = lens _serviceCatalogCloudFormationProvisionedProductPathName (\s a -> s { _serviceCatalogCloudFormationProvisionedProductPathName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productid
 sccfppProductId :: Lens' ServiceCatalogCloudFormationProvisionedProduct (Maybe (Val Text))
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 6765ec959bba1c4110c24af5f8d27cdf62644e46306cf6d01cf0e5610210b434
+-- hash: eaef695309b7ff1c6bf5df07fb2d7b9333bd02eba54eaf6e23a5b6b7d3f354a3
 
 name:           stratosphere
-version:        0.58.0
+version:        0.59.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -321,6 +321,11 @@
       Stratosphere.ResourceProperties.CassandraTableProvisionedThroughput
       Stratosphere.ResourceProperties.CertificateManagerCertificateDomainValidationOption
       Stratosphere.ResourceProperties.Cloud9EnvironmentEC2Repository
+      Stratosphere.ResourceProperties.CloudFrontCachePolicyCachePolicyConfig
+      Stratosphere.ResourceProperties.CloudFrontCachePolicyCookiesConfig
+      Stratosphere.ResourceProperties.CloudFrontCachePolicyHeadersConfig
+      Stratosphere.ResourceProperties.CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
+      Stratosphere.ResourceProperties.CloudFrontCachePolicyQueryStringsConfig
       Stratosphere.ResourceProperties.CloudFrontCloudFrontOriginAccessIdentityCloudFrontOriginAccessIdentityConfig
       Stratosphere.ResourceProperties.CloudFrontDistributionCacheBehavior
       Stratosphere.ResourceProperties.CloudFrontDistributionCookies
@@ -343,6 +348,12 @@
       Stratosphere.ResourceProperties.CloudFrontDistributionS3OriginConfig
       Stratosphere.ResourceProperties.CloudFrontDistributionStatusCodes
       Stratosphere.ResourceProperties.CloudFrontDistributionViewerCertificate
+      Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyCookiesConfig
+      Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyHeadersConfig
+      Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyOriginRequestPolicyConfig
+      Stratosphere.ResourceProperties.CloudFrontOriginRequestPolicyQueryStringsConfig
+      Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigEndPoint
+      Stratosphere.ResourceProperties.CloudFrontRealtimeLogConfigKinesisStreamConfig
       Stratosphere.ResourceProperties.CloudFrontStreamingDistributionLogging
       Stratosphere.ResourceProperties.CloudFrontStreamingDistributionS3Origin
       Stratosphere.ResourceProperties.CloudFrontStreamingDistributionStreamingDistributionConfig
@@ -427,6 +438,7 @@
       Stratosphere.ResourceProperties.CognitoUserPoolAccountRecoverySetting
       Stratosphere.ResourceProperties.CognitoUserPoolAdminCreateUserConfig
       Stratosphere.ResourceProperties.CognitoUserPoolClientAnalyticsConfiguration
+      Stratosphere.ResourceProperties.CognitoUserPoolClientTokenValidityUnits
       Stratosphere.ResourceProperties.CognitoUserPoolDeviceConfiguration
       Stratosphere.ResourceProperties.CognitoUserPoolDomainCustomDomainConfigType
       Stratosphere.ResourceProperties.CognitoUserPoolEmailConfiguration
@@ -586,6 +598,7 @@
       Stratosphere.ResourceProperties.EC2SpotFleetTargetGroupsConfig
       Stratosphere.ResourceProperties.EC2TrafficMirrorFilterRuleTrafficMirrorPortRange
       Stratosphere.ResourceProperties.EC2VPNConnectionVpnTunnelOptionsSpecification
+      Stratosphere.ResourceProperties.ECRRepositoryLifecyclePolicy
       Stratosphere.ResourceProperties.ECSCapacityProviderAutoScalingGroupProvider
       Stratosphere.ResourceProperties.ECSCapacityProviderManagedScaling
       Stratosphere.ResourceProperties.ECSClusterCapacityProviderStrategyItem
@@ -641,6 +654,8 @@
       Stratosphere.ResourceProperties.EKSClusterEncryptionConfig
       Stratosphere.ResourceProperties.EKSClusterProvider
       Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig
+      Stratosphere.ResourceProperties.EKSFargateProfileLabel
+      Stratosphere.ResourceProperties.EKSFargateProfileSelector
       Stratosphere.ResourceProperties.EKSNodegroupLaunchTemplateSpecification
       Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess
       Stratosphere.ResourceProperties.EKSNodegroupScalingConfig
@@ -782,6 +797,13 @@
       Stratosphere.ResourceProperties.GameLiftFleetResourceCreationLimitPolicy
       Stratosphere.ResourceProperties.GameLiftFleetRuntimeConfiguration
       Stratosphere.ResourceProperties.GameLiftFleetServerProcess
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupAutoScalingPolicy
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinition
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupInstanceDefinitions
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupLaunchTemplate
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupTags
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupTargetTrackingConfiguration
+      Stratosphere.ResourceProperties.GameLiftGameServerGroupVpcSubnets
       Stratosphere.ResourceProperties.GameLiftGameSessionQueueDestination
       Stratosphere.ResourceProperties.GameLiftGameSessionQueuePlayerLatencyPolicy
       Stratosphere.ResourceProperties.GameLiftMatchmakingConfigurationGameProperty
@@ -883,6 +905,8 @@
       Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscription
       Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
       Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription
+      Stratosphere.ResourceProperties.GuardDutyDetectorCFNDataSourceConfigurations
+      Stratosphere.ResourceProperties.GuardDutyDetectorCFNS3LogsConfiguration
       Stratosphere.ResourceProperties.GuardDutyFilterCondition
       Stratosphere.ResourceProperties.GuardDutyFilterFindingCriteria
       Stratosphere.ResourceProperties.IAMGroupPolicy
@@ -1119,6 +1143,7 @@
       Stratosphere.ResourceProperties.LambdaLayerVersionContent
       Stratosphere.ResourceProperties.LambdaVersionProvisionedConcurrencyConfiguration
       Stratosphere.ResourceProperties.LogsMetricFilterMetricTransformation
+      Stratosphere.ResourceProperties.MacieFindingsFilterFindingsFilterListItem
       Stratosphere.ResourceProperties.ManagedBlockchainMemberApprovalThresholdPolicy
       Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberConfiguration
       Stratosphere.ResourceProperties.ManagedBlockchainMemberMemberFabricConfiguration
@@ -1181,6 +1206,7 @@
       Stratosphere.ResourceProperties.MSKClusterS3
       Stratosphere.ResourceProperties.MSKClusterStorageInfo
       Stratosphere.ResourceProperties.MSKClusterTls
+      Stratosphere.ResourceProperties.NeptuneDBClusterDBClusterRole
       Stratosphere.ResourceProperties.NetworkManagerDeviceLocation
       Stratosphere.ResourceProperties.NetworkManagerLinkBandwidth
       Stratosphere.ResourceProperties.NetworkManagerSiteLocation
@@ -1395,6 +1421,7 @@
       Stratosphere.ResourceProperties.SESTemplateTemplate
       Stratosphere.ResourceProperties.SNSTopicSubscription
       Stratosphere.ResourceProperties.SSMAssociationInstanceAssociationOutputLocation
+      Stratosphere.ResourceProperties.SSMAssociationParameterValues
       Stratosphere.ResourceProperties.SSMAssociationS3OutputLocation
       Stratosphere.ResourceProperties.SSMAssociationTarget
       Stratosphere.ResourceProperties.SSMMaintenanceWindowTargetTargets
@@ -1612,8 +1639,11 @@
       Stratosphere.Resources.CloudFormationStack
       Stratosphere.Resources.CloudFormationWaitCondition
       Stratosphere.Resources.CloudFormationWaitConditionHandle
+      Stratosphere.Resources.CloudFrontCachePolicy
       Stratosphere.Resources.CloudFrontCloudFrontOriginAccessIdentity
       Stratosphere.Resources.CloudFrontDistribution
+      Stratosphere.Resources.CloudFrontOriginRequestPolicy
+      Stratosphere.Resources.CloudFrontRealtimeLogConfig
       Stratosphere.Resources.CloudFrontStreamingDistribution
       Stratosphere.Resources.CloudTrailTrail
       Stratosphere.Resources.CloudWatchAlarm
@@ -1629,6 +1659,7 @@
       Stratosphere.Resources.CodeDeployDeploymentConfig
       Stratosphere.Resources.CodeDeployDeploymentGroup
       Stratosphere.Resources.CodeGuruProfilerProfilingGroup
+      Stratosphere.Resources.CodeGuruReviewerRepositoryAssociation
       Stratosphere.Resources.CodePipelineCustomActionType
       Stratosphere.Resources.CodePipelinePipeline
       Stratosphere.Resources.CodePipelineWebhook
@@ -1750,6 +1781,7 @@
       Stratosphere.Resources.EFSFileSystem
       Stratosphere.Resources.EFSMountTarget
       Stratosphere.Resources.EKSCluster
+      Stratosphere.Resources.EKSFargateProfile
       Stratosphere.Resources.EKSNodegroup
       Stratosphere.Resources.ElastiCacheCacheCluster
       Stratosphere.Resources.ElastiCacheParameterGroup
@@ -1786,6 +1818,7 @@
       Stratosphere.Resources.GameLiftAlias
       Stratosphere.Resources.GameLiftBuild
       Stratosphere.Resources.GameLiftFleet
+      Stratosphere.Resources.GameLiftGameServerGroup
       Stratosphere.Resources.GameLiftGameSessionQueue
       Stratosphere.Resources.GameLiftMatchmakingConfiguration
       Stratosphere.Resources.GameLiftMatchmakingRuleSet
@@ -1977,6 +2010,8 @@
       Stratosphere.Resources.Route53RecordSet
       Stratosphere.Resources.Route53RecordSetGroup
       Stratosphere.Resources.Route53ResolverResolverEndpoint
+      Stratosphere.Resources.Route53ResolverResolverQueryLoggingConfig
+      Stratosphere.Resources.Route53ResolverResolverQueryLoggingConfigAssociation
       Stratosphere.Resources.Route53ResolverResolverRule
       Stratosphere.Resources.Route53ResolverResolverRuleAssociation
       Stratosphere.Resources.S3AccessPoint
