diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.37.0
+
+* Update resource specification document to version 3.0.0
+
 ## 0.36.0
 
 * Update resource specification document to version 2.29.0
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2DomainNameDomainNameConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2DomainNameDomainNameConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2DomainNameDomainNameConfiguration.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html
+
+module Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- ApiGatewayV2DomainNameDomainNameConfiguration. See
+-- 'apiGatewayV2DomainNameDomainNameConfiguration' for a more convenient
+-- constructor.
+data ApiGatewayV2DomainNameDomainNameConfiguration =
+  ApiGatewayV2DomainNameDomainNameConfiguration
+  { _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn :: Maybe (Val Text)
+  , _apiGatewayV2DomainNameDomainNameConfigurationCertificateName :: Maybe (Val Text)
+  , _apiGatewayV2DomainNameDomainNameConfigurationEndpointType :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON ApiGatewayV2DomainNameDomainNameConfiguration where
+  toJSON ApiGatewayV2DomainNameDomainNameConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("CertificateArn",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn
+    , fmap (("CertificateName",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurationCertificateName
+    , fmap (("EndpointType",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurationEndpointType
+    ]
+
+-- | Constructor for 'ApiGatewayV2DomainNameDomainNameConfiguration'
+-- containing required fields as arguments.
+apiGatewayV2DomainNameDomainNameConfiguration
+  :: ApiGatewayV2DomainNameDomainNameConfiguration
+apiGatewayV2DomainNameDomainNameConfiguration  =
+  ApiGatewayV2DomainNameDomainNameConfiguration
+  { _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn = Nothing
+  , _apiGatewayV2DomainNameDomainNameConfigurationCertificateName = Nothing
+  , _apiGatewayV2DomainNameDomainNameConfigurationEndpointType = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn
+agvdndncCertificateArn :: Lens' ApiGatewayV2DomainNameDomainNameConfiguration (Maybe (Val Text))
+agvdndncCertificateArn = lens _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatename
+agvdndncCertificateName :: Lens' ApiGatewayV2DomainNameDomainNameConfiguration (Maybe (Val Text))
+agvdndncCertificateName = lens _apiGatewayV2DomainNameDomainNameConfigurationCertificateName (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurationCertificateName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-endpointtype
+agvdndncEndpointType :: Lens' ApiGatewayV2DomainNameDomainNameConfiguration (Maybe (Val Text))
+agvdndncEndpointType = lens _apiGatewayV2DomainNameDomainNameConfigurationEndpointType (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurationEndpointType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionContainerProperties.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.BatchJobDefinitionEnvironment
 import Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints
+import Stratosphere.ResourceProperties.BatchJobDefinitionResourceRequirement
 import Stratosphere.ResourceProperties.BatchJobDefinitionUlimit
 import Stratosphere.ResourceProperties.BatchJobDefinitionVolumes
 
@@ -27,6 +28,7 @@
   , _batchJobDefinitionContainerPropertiesMountPoints :: Maybe [BatchJobDefinitionMountPoints]
   , _batchJobDefinitionContainerPropertiesPrivileged :: Maybe (Val Bool)
   , _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem :: Maybe (Val Bool)
+  , _batchJobDefinitionContainerPropertiesResourceRequirements :: Maybe [BatchJobDefinitionResourceRequirement]
   , _batchJobDefinitionContainerPropertiesUlimits :: Maybe [BatchJobDefinitionUlimit]
   , _batchJobDefinitionContainerPropertiesUser :: Maybe (Val Text)
   , _batchJobDefinitionContainerPropertiesVcpus :: Val Integer
@@ -46,6 +48,7 @@
     , fmap (("MountPoints",) . toJSON) _batchJobDefinitionContainerPropertiesMountPoints
     , fmap (("Privileged",) . toJSON) _batchJobDefinitionContainerPropertiesPrivileged
     , fmap (("ReadonlyRootFilesystem",) . toJSON) _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem
+    , fmap (("ResourceRequirements",) . toJSON) _batchJobDefinitionContainerPropertiesResourceRequirements
     , fmap (("Ulimits",) . toJSON) _batchJobDefinitionContainerPropertiesUlimits
     , fmap (("User",) . toJSON) _batchJobDefinitionContainerPropertiesUser
     , (Just . ("Vcpus",) . toJSON) _batchJobDefinitionContainerPropertiesVcpus
@@ -70,6 +73,7 @@
   , _batchJobDefinitionContainerPropertiesMountPoints = Nothing
   , _batchJobDefinitionContainerPropertiesPrivileged = Nothing
   , _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem = Nothing
+  , _batchJobDefinitionContainerPropertiesResourceRequirements = Nothing
   , _batchJobDefinitionContainerPropertiesUlimits = Nothing
   , _batchJobDefinitionContainerPropertiesUser = Nothing
   , _batchJobDefinitionContainerPropertiesVcpus = vcpusarg
@@ -111,6 +115,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-readonlyrootfilesystem
 bjdcpReadonlyRootFilesystem :: Lens' BatchJobDefinitionContainerProperties (Maybe (Val Bool))
 bjdcpReadonlyRootFilesystem = lens _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem (\s a -> s { _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-resourcerequirements
+bjdcpResourceRequirements :: Lens' BatchJobDefinitionContainerProperties (Maybe [BatchJobDefinitionResourceRequirement])
+bjdcpResourceRequirements = lens _batchJobDefinitionContainerPropertiesResourceRequirements (\s a -> s { _batchJobDefinitionContainerPropertiesResourceRequirements = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-ulimits
 bjdcpUlimits :: Lens' BatchJobDefinitionContainerProperties (Maybe [BatchJobDefinitionUlimit])
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionResourceRequirement.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionResourceRequirement.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionResourceRequirement.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html
+
+module Stratosphere.ResourceProperties.BatchJobDefinitionResourceRequirement where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for BatchJobDefinitionResourceRequirement. See
+-- 'batchJobDefinitionResourceRequirement' for a more convenient
+-- constructor.
+data BatchJobDefinitionResourceRequirement =
+  BatchJobDefinitionResourceRequirement
+  { _batchJobDefinitionResourceRequirementType :: Maybe (Val Text)
+  , _batchJobDefinitionResourceRequirementValue :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON BatchJobDefinitionResourceRequirement where
+  toJSON BatchJobDefinitionResourceRequirement{..} =
+    object $
+    catMaybes
+    [ fmap (("Type",) . toJSON) _batchJobDefinitionResourceRequirementType
+    , fmap (("Value",) . toJSON) _batchJobDefinitionResourceRequirementValue
+    ]
+
+-- | Constructor for 'BatchJobDefinitionResourceRequirement' containing
+-- required fields as arguments.
+batchJobDefinitionResourceRequirement
+  :: BatchJobDefinitionResourceRequirement
+batchJobDefinitionResourceRequirement  =
+  BatchJobDefinitionResourceRequirement
+  { _batchJobDefinitionResourceRequirementType = Nothing
+  , _batchJobDefinitionResourceRequirementValue = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html#cfn-batch-jobdefinition-resourcerequirement-type
+bjdrrType :: Lens' BatchJobDefinitionResourceRequirement (Maybe (Val Text))
+bjdrrType = lens _batchJobDefinitionResourceRequirementType (\s a -> s { _batchJobDefinitionResourceRequirementType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html#cfn-batch-jobdefinition-resourcerequirement-value
+bjdrrValue :: Lens' BatchJobDefinitionResourceRequirement (Maybe (Val Text))
+bjdrrValue = lens _batchJobDefinitionResourceRequirementValue (\s a -> s { _batchJobDefinitionResourceRequirementValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolEmailConfiguration.hs
@@ -14,7 +14,8 @@
 -- 'cognitoUserPoolEmailConfiguration' for a more convenient constructor.
 data CognitoUserPoolEmailConfiguration =
   CognitoUserPoolEmailConfiguration
-  { _cognitoUserPoolEmailConfigurationReplyToEmailAddress :: Maybe (Val Text)
+  { _cognitoUserPoolEmailConfigurationEmailSendingAccount :: Maybe (Val Text)
+  , _cognitoUserPoolEmailConfigurationReplyToEmailAddress :: Maybe (Val Text)
   , _cognitoUserPoolEmailConfigurationSourceArn :: Maybe (Val Text)
   } deriving (Show, Eq)
 
@@ -22,7 +23,8 @@
   toJSON CognitoUserPoolEmailConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("ReplyToEmailAddress",) . toJSON) _cognitoUserPoolEmailConfigurationReplyToEmailAddress
+    [ fmap (("EmailSendingAccount",) . toJSON) _cognitoUserPoolEmailConfigurationEmailSendingAccount
+    , fmap (("ReplyToEmailAddress",) . toJSON) _cognitoUserPoolEmailConfigurationReplyToEmailAddress
     , fmap (("SourceArn",) . toJSON) _cognitoUserPoolEmailConfigurationSourceArn
     ]
 
@@ -32,9 +34,14 @@
   :: CognitoUserPoolEmailConfiguration
 cognitoUserPoolEmailConfiguration  =
   CognitoUserPoolEmailConfiguration
-  { _cognitoUserPoolEmailConfigurationReplyToEmailAddress = Nothing
+  { _cognitoUserPoolEmailConfigurationEmailSendingAccount = Nothing
+  , _cognitoUserPoolEmailConfigurationReplyToEmailAddress = Nothing
   , _cognitoUserPoolEmailConfigurationSourceArn = Nothing
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-emailsendingaccount
+cupecEmailSendingAccount :: Lens' CognitoUserPoolEmailConfiguration (Maybe (Val Text))
+cupecEmailSendingAccount = lens _cognitoUserPoolEmailConfigurationEmailSendingAccount (\s a -> s { _cognitoUserPoolEmailConfigurationEmailSendingAccount = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress
 cupecReplyToEmailAddress :: Lens' CognitoUserPoolEmailConfiguration (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemTagEntry.hs b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemTagEntry.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemTagEntry.hs
+++ /dev/null
@@ -1,47 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-tagentry.html
-
-module Stratosphere.ResourceProperties.FSxFileSystemTagEntry where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for FSxFileSystemTagEntry. See
--- 'fSxFileSystemTagEntry' for a more convenient constructor.
-data FSxFileSystemTagEntry =
-  FSxFileSystemTagEntry
-  { _fSxFileSystemTagEntryKey :: Val Text
-  , _fSxFileSystemTagEntryValue :: Val Text
-  } deriving (Show, Eq)
-
-instance ToJSON FSxFileSystemTagEntry where
-  toJSON FSxFileSystemTagEntry{..} =
-    object $
-    catMaybes
-    [ (Just . ("Key",) . toJSON) _fSxFileSystemTagEntryKey
-    , (Just . ("Value",) . toJSON) _fSxFileSystemTagEntryValue
-    ]
-
--- | Constructor for 'FSxFileSystemTagEntry' containing required fields as
--- arguments.
-fSxFileSystemTagEntry
-  :: Val Text -- ^ 'fsfsteKey'
-  -> Val Text -- ^ 'fsfsteValue'
-  -> FSxFileSystemTagEntry
-fSxFileSystemTagEntry keyarg valuearg =
-  FSxFileSystemTagEntry
-  { _fSxFileSystemTagEntryKey = keyarg
-  , _fSxFileSystemTagEntryValue = valuearg
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-tagentry.html#cfn-fsx-filesystem-tagentry-key
-fsfsteKey :: Lens' FSxFileSystemTagEntry (Val Text)
-fsfsteKey = lens _fSxFileSystemTagEntryKey (\s a -> s { _fSxFileSystemTagEntryKey = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-tagentry.html#cfn-fsx-filesystem-tagentry-value
-fsfsteValue :: Lens' FSxFileSystemTagEntry (Val Text)
-fsfsteValue = lens _fSxFileSystemTagEntryValue (\s a -> s { _fSxFileSystemTagEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs
@@ -20,9 +20,9 @@
   , _greengrassFunctionDefinitionFunctionConfigurationEnvironment :: Maybe GreengrassFunctionDefinitionEnvironment
   , _greengrassFunctionDefinitionFunctionConfigurationExecArgs :: Maybe (Val Text)
   , _greengrassFunctionDefinitionFunctionConfigurationExecutable :: Maybe (Val Text)
-  , _greengrassFunctionDefinitionFunctionConfigurationMemorySize :: Val Integer
+  , _greengrassFunctionDefinitionFunctionConfigurationMemorySize :: Maybe (Val Integer)
   , _greengrassFunctionDefinitionFunctionConfigurationPinned :: Maybe (Val Bool)
-  , _greengrassFunctionDefinitionFunctionConfigurationTimeout :: Val Integer
+  , _greengrassFunctionDefinitionFunctionConfigurationTimeout :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToJSON GreengrassFunctionDefinitionFunctionConfiguration where
@@ -33,26 +33,24 @@
     , fmap (("Environment",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationEnvironment
     , fmap (("ExecArgs",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationExecArgs
     , fmap (("Executable",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationExecutable
-    , (Just . ("MemorySize",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationMemorySize
+    , fmap (("MemorySize",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationMemorySize
     , fmap (("Pinned",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationPinned
-    , (Just . ("Timeout",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationTimeout
+    , fmap (("Timeout",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationTimeout
     ]
 
 -- | Constructor for 'GreengrassFunctionDefinitionFunctionConfiguration'
 -- containing required fields as arguments.
 greengrassFunctionDefinitionFunctionConfiguration
-  :: Val Integer -- ^ 'gfdfcMemorySize'
-  -> Val Integer -- ^ 'gfdfcTimeout'
-  -> GreengrassFunctionDefinitionFunctionConfiguration
-greengrassFunctionDefinitionFunctionConfiguration memorySizearg timeoutarg =
+  :: GreengrassFunctionDefinitionFunctionConfiguration
+greengrassFunctionDefinitionFunctionConfiguration  =
   GreengrassFunctionDefinitionFunctionConfiguration
   { _greengrassFunctionDefinitionFunctionConfigurationEncodingType = Nothing
   , _greengrassFunctionDefinitionFunctionConfigurationEnvironment = Nothing
   , _greengrassFunctionDefinitionFunctionConfigurationExecArgs = Nothing
   , _greengrassFunctionDefinitionFunctionConfigurationExecutable = Nothing
-  , _greengrassFunctionDefinitionFunctionConfigurationMemorySize = memorySizearg
+  , _greengrassFunctionDefinitionFunctionConfigurationMemorySize = Nothing
   , _greengrassFunctionDefinitionFunctionConfigurationPinned = Nothing
-  , _greengrassFunctionDefinitionFunctionConfigurationTimeout = timeoutarg
+  , _greengrassFunctionDefinitionFunctionConfigurationTimeout = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-encodingtype
@@ -72,7 +70,7 @@
 gfdfcExecutable = lens _greengrassFunctionDefinitionFunctionConfigurationExecutable (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationExecutable = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-memorysize
-gfdfcMemorySize :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Val Integer)
+gfdfcMemorySize :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe (Val Integer))
 gfdfcMemorySize = lens _greengrassFunctionDefinitionFunctionConfigurationMemorySize (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationMemorySize = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-pinned
@@ -80,5 +78,5 @@
 gfdfcPinned = lens _greengrassFunctionDefinitionFunctionConfigurationPinned (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationPinned = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-timeout
-gfdfcTimeout :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Val Integer)
+gfdfcTimeout :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe (Val Integer))
 gfdfcTimeout = lens _greengrassFunctionDefinitionFunctionConfigurationTimeout (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationTimeout = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs
@@ -20,9 +20,9 @@
   , _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment :: Maybe GreengrassFunctionDefinitionVersionEnvironment
   , _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs :: Maybe (Val Text)
   , _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable :: Maybe (Val Text)
-  , _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize :: Val Integer
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize :: Maybe (Val Integer)
   , _greengrassFunctionDefinitionVersionFunctionConfigurationPinned :: Maybe (Val Bool)
-  , _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout :: Val Integer
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout :: Maybe (Val Integer)
   } deriving (Show, Eq)
 
 instance ToJSON GreengrassFunctionDefinitionVersionFunctionConfiguration where
@@ -33,27 +33,25 @@
     , fmap (("Environment",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment
     , fmap (("ExecArgs",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs
     , fmap (("Executable",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable
-    , (Just . ("MemorySize",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize
+    , fmap (("MemorySize",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize
     , fmap (("Pinned",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationPinned
-    , (Just . ("Timeout",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout
+    , fmap (("Timeout",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout
     ]
 
 -- | Constructor for
 -- 'GreengrassFunctionDefinitionVersionFunctionConfiguration' containing
 -- required fields as arguments.
 greengrassFunctionDefinitionVersionFunctionConfiguration
-  :: Val Integer -- ^ 'gfdvfcMemorySize'
-  -> Val Integer -- ^ 'gfdvfcTimeout'
-  -> GreengrassFunctionDefinitionVersionFunctionConfiguration
-greengrassFunctionDefinitionVersionFunctionConfiguration memorySizearg timeoutarg =
+  :: GreengrassFunctionDefinitionVersionFunctionConfiguration
+greengrassFunctionDefinitionVersionFunctionConfiguration  =
   GreengrassFunctionDefinitionVersionFunctionConfiguration
   { _greengrassFunctionDefinitionVersionFunctionConfigurationEncodingType = Nothing
   , _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment = Nothing
   , _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs = Nothing
   , _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable = Nothing
-  , _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize = memorySizearg
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize = Nothing
   , _greengrassFunctionDefinitionVersionFunctionConfigurationPinned = Nothing
-  , _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout = timeoutarg
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-encodingtype
@@ -73,7 +71,7 @@
 gfdvfcExecutable = lens _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-memorysize
-gfdvfcMemorySize :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Val Integer)
+gfdvfcMemorySize :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe (Val Integer))
 gfdvfcMemorySize = lens _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-pinned
@@ -81,5 +79,5 @@
 gfdvfcPinned = lens _greengrassFunctionDefinitionVersionFunctionConfigurationPinned (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationPinned = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-timeout
-gfdvfcTimeout :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Val Integer)
+gfdvfcTimeout :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe (Val Integer))
 gfdvfcTimeout = lens _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionGroupOwnerSetting.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionGroupOwnerSetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionGroupOwnerSetting.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionGroupOwnerSetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionGroupOwnerSetting. See
+-- 'greengrassResourceDefinitionGroupOwnerSetting' for a more convenient
+-- constructor.
+data GreengrassResourceDefinitionGroupOwnerSetting =
+  GreengrassResourceDefinitionGroupOwnerSetting
+  { _greengrassResourceDefinitionGroupOwnerSettingAutoAddGroupOwner :: Val Bool
+  , _greengrassResourceDefinitionGroupOwnerSettingGroupOwner :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionGroupOwnerSetting where
+  toJSON GreengrassResourceDefinitionGroupOwnerSetting{..} =
+    object $
+    catMaybes
+    [ (Just . ("AutoAddGroupOwner",) . toJSON) _greengrassResourceDefinitionGroupOwnerSettingAutoAddGroupOwner
+    , fmap (("GroupOwner",) . toJSON) _greengrassResourceDefinitionGroupOwnerSettingGroupOwner
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionGroupOwnerSetting'
+-- containing required fields as arguments.
+greengrassResourceDefinitionGroupOwnerSetting
+  :: Val Bool -- ^ 'grdgosAutoAddGroupOwner'
+  -> GreengrassResourceDefinitionGroupOwnerSetting
+greengrassResourceDefinitionGroupOwnerSetting autoAddGroupOwnerarg =
+  GreengrassResourceDefinitionGroupOwnerSetting
+  { _greengrassResourceDefinitionGroupOwnerSettingAutoAddGroupOwner = autoAddGroupOwnerarg
+  , _greengrassResourceDefinitionGroupOwnerSettingGroupOwner = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-autoaddgroupowner
+grdgosAutoAddGroupOwner :: Lens' GreengrassResourceDefinitionGroupOwnerSetting (Val Bool)
+grdgosAutoAddGroupOwner = lens _greengrassResourceDefinitionGroupOwnerSettingAutoAddGroupOwner (\s a -> s { _greengrassResourceDefinitionGroupOwnerSettingAutoAddGroupOwner = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-groupowner
+grdgosGroupOwner :: Lens' GreengrassResourceDefinitionGroupOwnerSetting (Maybe (Val Text))
+grdgosGroupOwner = lens _greengrassResourceDefinitionGroupOwnerSettingGroupOwner (\s a -> s { _greengrassResourceDefinitionGroupOwnerSettingGroupOwner = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionLocalDeviceResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionLocalDeviceResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionLocalDeviceResourceData.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalDeviceResourceData where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionGroupOwnerSetting
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionLocalDeviceResourceData. See
+-- 'greengrassResourceDefinitionLocalDeviceResourceData' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionLocalDeviceResourceData =
+  GreengrassResourceDefinitionLocalDeviceResourceData
+  { _greengrassResourceDefinitionLocalDeviceResourceDataGroupOwnerSetting :: Maybe GreengrassResourceDefinitionGroupOwnerSetting
+  , _greengrassResourceDefinitionLocalDeviceResourceDataSourcePath :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionLocalDeviceResourceData where
+  toJSON GreengrassResourceDefinitionLocalDeviceResourceData{..} =
+    object $
+    catMaybes
+    [ fmap (("GroupOwnerSetting",) . toJSON) _greengrassResourceDefinitionLocalDeviceResourceDataGroupOwnerSetting
+    , (Just . ("SourcePath",) . toJSON) _greengrassResourceDefinitionLocalDeviceResourceDataSourcePath
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionLocalDeviceResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionLocalDeviceResourceData
+  :: Val Text -- ^ 'grdldrdSourcePath'
+  -> GreengrassResourceDefinitionLocalDeviceResourceData
+greengrassResourceDefinitionLocalDeviceResourceData sourcePatharg =
+  GreengrassResourceDefinitionLocalDeviceResourceData
+  { _greengrassResourceDefinitionLocalDeviceResourceDataGroupOwnerSetting = Nothing
+  , _greengrassResourceDefinitionLocalDeviceResourceDataSourcePath = sourcePatharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-groupownersetting
+grdldrdGroupOwnerSetting :: Lens' GreengrassResourceDefinitionLocalDeviceResourceData (Maybe GreengrassResourceDefinitionGroupOwnerSetting)
+grdldrdGroupOwnerSetting = lens _greengrassResourceDefinitionLocalDeviceResourceDataGroupOwnerSetting (\s a -> s { _greengrassResourceDefinitionLocalDeviceResourceDataGroupOwnerSetting = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-sourcepath
+grdldrdSourcePath :: Lens' GreengrassResourceDefinitionLocalDeviceResourceData (Val Text)
+grdldrdSourcePath = lens _greengrassResourceDefinitionLocalDeviceResourceDataSourcePath (\s a -> s { _greengrassResourceDefinitionLocalDeviceResourceDataSourcePath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionLocalVolumeResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionLocalVolumeResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionLocalVolumeResourceData.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalVolumeResourceData where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionGroupOwnerSetting
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionLocalVolumeResourceData. See
+-- 'greengrassResourceDefinitionLocalVolumeResourceData' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionLocalVolumeResourceData =
+  GreengrassResourceDefinitionLocalVolumeResourceData
+  { _greengrassResourceDefinitionLocalVolumeResourceDataDestinationPath :: Val Text
+  , _greengrassResourceDefinitionLocalVolumeResourceDataGroupOwnerSetting :: Maybe GreengrassResourceDefinitionGroupOwnerSetting
+  , _greengrassResourceDefinitionLocalVolumeResourceDataSourcePath :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionLocalVolumeResourceData where
+  toJSON GreengrassResourceDefinitionLocalVolumeResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("DestinationPath",) . toJSON) _greengrassResourceDefinitionLocalVolumeResourceDataDestinationPath
+    , fmap (("GroupOwnerSetting",) . toJSON) _greengrassResourceDefinitionLocalVolumeResourceDataGroupOwnerSetting
+    , (Just . ("SourcePath",) . toJSON) _greengrassResourceDefinitionLocalVolumeResourceDataSourcePath
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionLocalVolumeResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionLocalVolumeResourceData
+  :: Val Text -- ^ 'grdlvrdDestinationPath'
+  -> Val Text -- ^ 'grdlvrdSourcePath'
+  -> GreengrassResourceDefinitionLocalVolumeResourceData
+greengrassResourceDefinitionLocalVolumeResourceData destinationPatharg sourcePatharg =
+  GreengrassResourceDefinitionLocalVolumeResourceData
+  { _greengrassResourceDefinitionLocalVolumeResourceDataDestinationPath = destinationPatharg
+  , _greengrassResourceDefinitionLocalVolumeResourceDataGroupOwnerSetting = Nothing
+  , _greengrassResourceDefinitionLocalVolumeResourceDataSourcePath = sourcePatharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-destinationpath
+grdlvrdDestinationPath :: Lens' GreengrassResourceDefinitionLocalVolumeResourceData (Val Text)
+grdlvrdDestinationPath = lens _greengrassResourceDefinitionLocalVolumeResourceDataDestinationPath (\s a -> s { _greengrassResourceDefinitionLocalVolumeResourceDataDestinationPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-groupownersetting
+grdlvrdGroupOwnerSetting :: Lens' GreengrassResourceDefinitionLocalVolumeResourceData (Maybe GreengrassResourceDefinitionGroupOwnerSetting)
+grdlvrdGroupOwnerSetting = lens _greengrassResourceDefinitionLocalVolumeResourceDataGroupOwnerSetting (\s a -> s { _greengrassResourceDefinitionLocalVolumeResourceDataGroupOwnerSetting = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-sourcepath
+grdlvrdSourcePath :: Lens' GreengrassResourceDefinitionLocalVolumeResourceData (Val Text)
+grdlvrdSourcePath = lens _greengrassResourceDefinitionLocalVolumeResourceDataSourcePath (\s a -> s { _greengrassResourceDefinitionLocalVolumeResourceDataSourcePath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceDataContainer.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceDataContainer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceDataContainer.hs
@@ -0,0 +1,72 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDataContainer where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalDeviceResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalVolumeResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionS3MachineLearningModelResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionSecretsManagerSecretResourceData
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionResourceDataContainer. See
+-- 'greengrassResourceDefinitionResourceDataContainer' for a more convenient
+-- constructor.
+data GreengrassResourceDefinitionResourceDataContainer =
+  GreengrassResourceDefinitionResourceDataContainer
+  { _greengrassResourceDefinitionResourceDataContainerLocalDeviceResourceData :: Maybe GreengrassResourceDefinitionLocalDeviceResourceData
+  , _greengrassResourceDefinitionResourceDataContainerLocalVolumeResourceData :: Maybe GreengrassResourceDefinitionLocalVolumeResourceData
+  , _greengrassResourceDefinitionResourceDataContainerS3MachineLearningModelResourceData :: Maybe GreengrassResourceDefinitionS3MachineLearningModelResourceData
+  , _greengrassResourceDefinitionResourceDataContainerSageMakerMachineLearningModelResourceData :: Maybe GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+  , _greengrassResourceDefinitionResourceDataContainerSecretsManagerSecretResourceData :: Maybe GreengrassResourceDefinitionSecretsManagerSecretResourceData
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionResourceDataContainer where
+  toJSON GreengrassResourceDefinitionResourceDataContainer{..} =
+    object $
+    catMaybes
+    [ fmap (("LocalDeviceResourceData",) . toJSON) _greengrassResourceDefinitionResourceDataContainerLocalDeviceResourceData
+    , fmap (("LocalVolumeResourceData",) . toJSON) _greengrassResourceDefinitionResourceDataContainerLocalVolumeResourceData
+    , fmap (("S3MachineLearningModelResourceData",) . toJSON) _greengrassResourceDefinitionResourceDataContainerS3MachineLearningModelResourceData
+    , fmap (("SageMakerMachineLearningModelResourceData",) . toJSON) _greengrassResourceDefinitionResourceDataContainerSageMakerMachineLearningModelResourceData
+    , fmap (("SecretsManagerSecretResourceData",) . toJSON) _greengrassResourceDefinitionResourceDataContainerSecretsManagerSecretResourceData
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionResourceDataContainer'
+-- containing required fields as arguments.
+greengrassResourceDefinitionResourceDataContainer
+  :: GreengrassResourceDefinitionResourceDataContainer
+greengrassResourceDefinitionResourceDataContainer  =
+  GreengrassResourceDefinitionResourceDataContainer
+  { _greengrassResourceDefinitionResourceDataContainerLocalDeviceResourceData = Nothing
+  , _greengrassResourceDefinitionResourceDataContainerLocalVolumeResourceData = Nothing
+  , _greengrassResourceDefinitionResourceDataContainerS3MachineLearningModelResourceData = Nothing
+  , _greengrassResourceDefinitionResourceDataContainerSageMakerMachineLearningModelResourceData = Nothing
+  , _greengrassResourceDefinitionResourceDataContainerSecretsManagerSecretResourceData = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localdeviceresourcedata
+grdrdcLocalDeviceResourceData :: Lens' GreengrassResourceDefinitionResourceDataContainer (Maybe GreengrassResourceDefinitionLocalDeviceResourceData)
+grdrdcLocalDeviceResourceData = lens _greengrassResourceDefinitionResourceDataContainerLocalDeviceResourceData (\s a -> s { _greengrassResourceDefinitionResourceDataContainerLocalDeviceResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localvolumeresourcedata
+grdrdcLocalVolumeResourceData :: Lens' GreengrassResourceDefinitionResourceDataContainer (Maybe GreengrassResourceDefinitionLocalVolumeResourceData)
+grdrdcLocalVolumeResourceData = lens _greengrassResourceDefinitionResourceDataContainerLocalVolumeResourceData (\s a -> s { _greengrassResourceDefinitionResourceDataContainerLocalVolumeResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-s3machinelearningmodelresourcedata
+grdrdcS3MachineLearningModelResourceData :: Lens' GreengrassResourceDefinitionResourceDataContainer (Maybe GreengrassResourceDefinitionS3MachineLearningModelResourceData)
+grdrdcS3MachineLearningModelResourceData = lens _greengrassResourceDefinitionResourceDataContainerS3MachineLearningModelResourceData (\s a -> s { _greengrassResourceDefinitionResourceDataContainerS3MachineLearningModelResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-sagemakermachinelearningmodelresourcedata
+grdrdcSageMakerMachineLearningModelResourceData :: Lens' GreengrassResourceDefinitionResourceDataContainer (Maybe GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData)
+grdrdcSageMakerMachineLearningModelResourceData = lens _greengrassResourceDefinitionResourceDataContainerSageMakerMachineLearningModelResourceData (\s a -> s { _greengrassResourceDefinitionResourceDataContainerSageMakerMachineLearningModelResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-secretsmanagersecretresourcedata
+grdrdcSecretsManagerSecretResourceData :: Lens' GreengrassResourceDefinitionResourceDataContainer (Maybe GreengrassResourceDefinitionSecretsManagerSecretResourceData)
+grdrdcSecretsManagerSecretResourceData = lens _greengrassResourceDefinitionResourceDataContainerSecretsManagerSecretResourceData (\s a -> s { _greengrassResourceDefinitionResourceDataContainerSecretsManagerSecretResourceData = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceDefinitionVersion.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceInstance
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionResourceDefinitionVersion. See
+-- 'greengrassResourceDefinitionResourceDefinitionVersion' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionResourceDefinitionVersion =
+  GreengrassResourceDefinitionResourceDefinitionVersion
+  { _greengrassResourceDefinitionResourceDefinitionVersionResources :: [GreengrassResourceDefinitionResourceInstance]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionResourceDefinitionVersion where
+  toJSON GreengrassResourceDefinitionResourceDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ (Just . ("Resources",) . toJSON) _greengrassResourceDefinitionResourceDefinitionVersionResources
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionResourceDefinitionVersion'
+-- containing required fields as arguments.
+greengrassResourceDefinitionResourceDefinitionVersion
+  :: [GreengrassResourceDefinitionResourceInstance] -- ^ 'grdrdvResources'
+  -> GreengrassResourceDefinitionResourceDefinitionVersion
+greengrassResourceDefinitionResourceDefinitionVersion resourcesarg =
+  GreengrassResourceDefinitionResourceDefinitionVersion
+  { _greengrassResourceDefinitionResourceDefinitionVersionResources = resourcesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedefinitionversion.html#cfn-greengrass-resourcedefinition-resourcedefinitionversion-resources
+grdrdvResources :: Lens' GreengrassResourceDefinitionResourceDefinitionVersion [GreengrassResourceDefinitionResourceInstance]
+grdrdvResources = lens _greengrassResourceDefinitionResourceDefinitionVersionResources (\s a -> s { _greengrassResourceDefinitionResourceDefinitionVersionResources = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceInstance.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceInstance.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionResourceInstance.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceInstance where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDataContainer
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionResourceInstance. See
+-- 'greengrassResourceDefinitionResourceInstance' for a more convenient
+-- constructor.
+data GreengrassResourceDefinitionResourceInstance =
+  GreengrassResourceDefinitionResourceInstance
+  { _greengrassResourceDefinitionResourceInstanceId :: Val Text
+  , _greengrassResourceDefinitionResourceInstanceName :: Val Text
+  , _greengrassResourceDefinitionResourceInstanceResourceDataContainer :: GreengrassResourceDefinitionResourceDataContainer
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionResourceInstance where
+  toJSON GreengrassResourceDefinitionResourceInstance{..} =
+    object $
+    catMaybes
+    [ (Just . ("Id",) . toJSON) _greengrassResourceDefinitionResourceInstanceId
+    , (Just . ("Name",) . toJSON) _greengrassResourceDefinitionResourceInstanceName
+    , (Just . ("ResourceDataContainer",) . toJSON) _greengrassResourceDefinitionResourceInstanceResourceDataContainer
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionResourceInstance' containing
+-- required fields as arguments.
+greengrassResourceDefinitionResourceInstance
+  :: Val Text -- ^ 'grdriId'
+  -> Val Text -- ^ 'grdriName'
+  -> GreengrassResourceDefinitionResourceDataContainer -- ^ 'grdriResourceDataContainer'
+  -> GreengrassResourceDefinitionResourceInstance
+greengrassResourceDefinitionResourceInstance idarg namearg resourceDataContainerarg =
+  GreengrassResourceDefinitionResourceInstance
+  { _greengrassResourceDefinitionResourceInstanceId = idarg
+  , _greengrassResourceDefinitionResourceInstanceName = namearg
+  , _greengrassResourceDefinitionResourceInstanceResourceDataContainer = resourceDataContainerarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-id
+grdriId :: Lens' GreengrassResourceDefinitionResourceInstance (Val Text)
+grdriId = lens _greengrassResourceDefinitionResourceInstanceId (\s a -> s { _greengrassResourceDefinitionResourceInstanceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-name
+grdriName :: Lens' GreengrassResourceDefinitionResourceInstance (Val Text)
+grdriName = lens _greengrassResourceDefinitionResourceInstanceName (\s a -> s { _greengrassResourceDefinitionResourceInstanceName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-resourcedatacontainer
+grdriResourceDataContainer :: Lens' GreengrassResourceDefinitionResourceInstance GreengrassResourceDefinitionResourceDataContainer
+grdriResourceDataContainer = lens _greengrassResourceDefinitionResourceInstanceResourceDataContainer (\s a -> s { _greengrassResourceDefinitionResourceInstanceResourceDataContainer = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionS3MachineLearningModelResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionS3MachineLearningModelResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionS3MachineLearningModelResourceData.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionS3MachineLearningModelResourceData where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionS3MachineLearningModelResourceData. See
+-- 'greengrassResourceDefinitionS3MachineLearningModelResourceData' for a
+-- more convenient constructor.
+data GreengrassResourceDefinitionS3MachineLearningModelResourceData =
+  GreengrassResourceDefinitionS3MachineLearningModelResourceData
+  { _greengrassResourceDefinitionS3MachineLearningModelResourceDataDestinationPath :: Val Text
+  , _greengrassResourceDefinitionS3MachineLearningModelResourceDataS3Uri :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionS3MachineLearningModelResourceData where
+  toJSON GreengrassResourceDefinitionS3MachineLearningModelResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("DestinationPath",) . toJSON) _greengrassResourceDefinitionS3MachineLearningModelResourceDataDestinationPath
+    , (Just . ("S3Uri",) . toJSON) _greengrassResourceDefinitionS3MachineLearningModelResourceDataS3Uri
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionS3MachineLearningModelResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionS3MachineLearningModelResourceData
+  :: Val Text -- ^ 'grdsmlmrdDestinationPath'
+  -> Val Text -- ^ 'grdsmlmrdS3Uri'
+  -> GreengrassResourceDefinitionS3MachineLearningModelResourceData
+greengrassResourceDefinitionS3MachineLearningModelResourceData destinationPatharg s3Uriarg =
+  GreengrassResourceDefinitionS3MachineLearningModelResourceData
+  { _greengrassResourceDefinitionS3MachineLearningModelResourceDataDestinationPath = destinationPatharg
+  , _greengrassResourceDefinitionS3MachineLearningModelResourceDataS3Uri = s3Uriarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-destinationpath
+grdsmlmrdDestinationPath :: Lens' GreengrassResourceDefinitionS3MachineLearningModelResourceData (Val Text)
+grdsmlmrdDestinationPath = lens _greengrassResourceDefinitionS3MachineLearningModelResourceDataDestinationPath (\s a -> s { _greengrassResourceDefinitionS3MachineLearningModelResourceDataDestinationPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-s3uri
+grdsmlmrdS3Uri :: Lens' GreengrassResourceDefinitionS3MachineLearningModelResourceData (Val Text)
+grdsmlmrdS3Uri = lens _greengrassResourceDefinitionS3MachineLearningModelResourceDataS3Uri (\s a -> s { _greengrassResourceDefinitionS3MachineLearningModelResourceDataS3Uri = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData.
+-- See
+-- 'greengrassResourceDefinitionSageMakerMachineLearningModelResourceData'
+-- for a more convenient constructor.
+data GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData =
+  GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+  { _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataDestinationPath :: Val Text
+  , _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataSageMakerJobArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData where
+  toJSON GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("DestinationPath",) . toJSON) _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataDestinationPath
+    , (Just . ("SageMakerJobArn",) . toJSON) _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataSageMakerJobArn
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+  :: Val Text -- ^ 'grdsmmlmrdDestinationPath'
+  -> Val Text -- ^ 'grdsmmlmrdSageMakerJobArn'
+  -> GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+greengrassResourceDefinitionSageMakerMachineLearningModelResourceData destinationPatharg sageMakerJobArnarg =
+  GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+  { _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataDestinationPath = destinationPatharg
+  , _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataSageMakerJobArn = sageMakerJobArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-destinationpath
+grdsmmlmrdDestinationPath :: Lens' GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData (Val Text)
+grdsmmlmrdDestinationPath = lens _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataDestinationPath (\s a -> s { _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataDestinationPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-sagemakerjobarn
+grdsmmlmrdSageMakerJobArn :: Lens' GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData (Val Text)
+grdsmmlmrdSageMakerJobArn = lens _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataSageMakerJobArn (\s a -> s { _greengrassResourceDefinitionSageMakerMachineLearningModelResourceDataSageMakerJobArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionSecretsManagerSecretResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionSecretsManagerSecretResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionSecretsManagerSecretResourceData.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionSecretsManagerSecretResourceData where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionSecretsManagerSecretResourceData. See
+-- 'greengrassResourceDefinitionSecretsManagerSecretResourceData' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionSecretsManagerSecretResourceData =
+  GreengrassResourceDefinitionSecretsManagerSecretResourceData
+  { _greengrassResourceDefinitionSecretsManagerSecretResourceDataARN :: Val Text
+  , _greengrassResourceDefinitionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionSecretsManagerSecretResourceData where
+  toJSON GreengrassResourceDefinitionSecretsManagerSecretResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("ARN",) . toJSON) _greengrassResourceDefinitionSecretsManagerSecretResourceDataARN
+    , fmap (("AdditionalStagingLabelsToDownload",) . toJSON) _greengrassResourceDefinitionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionSecretsManagerSecretResourceData' containing
+-- required fields as arguments.
+greengrassResourceDefinitionSecretsManagerSecretResourceData
+  :: Val Text -- ^ 'grdsmsrdARN'
+  -> GreengrassResourceDefinitionSecretsManagerSecretResourceData
+greengrassResourceDefinitionSecretsManagerSecretResourceData aRNarg =
+  GreengrassResourceDefinitionSecretsManagerSecretResourceData
+  { _greengrassResourceDefinitionSecretsManagerSecretResourceDataARN = aRNarg
+  , _greengrassResourceDefinitionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-arn
+grdsmsrdARN :: Lens' GreengrassResourceDefinitionSecretsManagerSecretResourceData (Val Text)
+grdsmsrdARN = lens _greengrassResourceDefinitionSecretsManagerSecretResourceDataARN (\s a -> s { _greengrassResourceDefinitionSecretsManagerSecretResourceDataARN = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-additionalstaginglabelstodownload
+grdsmsrdAdditionalStagingLabelsToDownload :: Lens' GreengrassResourceDefinitionSecretsManagerSecretResourceData (Maybe (ValList Text))
+grdsmsrdAdditionalStagingLabelsToDownload = lens _greengrassResourceDefinitionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload (\s a -> s { _greengrassResourceDefinitionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload = 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
@@ -67,8 +67,10 @@
 import Stratosphere.Resources.ApiGatewayUsagePlanKey as X
 import Stratosphere.Resources.ApiGatewayVpcLink as X
 import Stratosphere.Resources.ApiGatewayV2Api as X
+import Stratosphere.Resources.ApiGatewayV2ApiMapping as X
 import Stratosphere.Resources.ApiGatewayV2Authorizer as X
 import Stratosphere.Resources.ApiGatewayV2Deployment as X
+import Stratosphere.Resources.ApiGatewayV2DomainName as X
 import Stratosphere.Resources.ApiGatewayV2Integration as X
 import Stratosphere.Resources.ApiGatewayV2IntegrationResponse as X
 import Stratosphere.Resources.ApiGatewayV2Model as X
@@ -191,7 +193,6 @@
 import Stratosphere.Resources.EC2TransitGatewayRouteTable as X
 import Stratosphere.Resources.EC2TransitGatewayRouteTableAssociation as X
 import Stratosphere.Resources.EC2TransitGatewayRouteTablePropagation as X
-import Stratosphere.Resources.EC2TrunkInterfaceAssociation as X
 import Stratosphere.Resources.EC2VPC as X
 import Stratosphere.Resources.EC2VPCCidrBlock as X
 import Stratosphere.Resources.EC2VPCDHCPOptionsAssociation as X
@@ -262,6 +263,7 @@
 import Stratosphere.Resources.GreengrassGroupVersion as X
 import Stratosphere.Resources.GreengrassLoggerDefinition as X
 import Stratosphere.Resources.GreengrassLoggerDefinitionVersion as X
+import Stratosphere.Resources.GreengrassResourceDefinition as X
 import Stratosphere.Resources.GreengrassResourceDefinitionVersion as X
 import Stratosphere.Resources.GreengrassSubscriptionDefinition as X
 import Stratosphere.Resources.GreengrassSubscriptionDefinitionVersion as X
@@ -453,6 +455,7 @@
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage as X
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings as X
 import Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings as X
+import Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration as X
 import Stratosphere.ResourceProperties.ApiGatewayV2RouteParameterConstraints as X
 import Stratosphere.ResourceProperties.ApiGatewayV2RouteResponseParameterConstraints as X
 import Stratosphere.ResourceProperties.ApiGatewayV2StageAccessLogSettings as X
@@ -550,6 +553,7 @@
 import Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty as X
+import Stratosphere.ResourceProperties.BatchJobDefinitionResourceRequirement as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionRetryStrategy as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionTimeout as X
 import Stratosphere.ResourceProperties.BatchJobDefinitionUlimit as X
@@ -888,7 +892,6 @@
 import Stratosphere.ResourceProperties.EventsRuleSqsParameters as X
 import Stratosphere.ResourceProperties.EventsRuleTarget as X
 import Stratosphere.ResourceProperties.FSxFileSystemLustreConfiguration as X
-import Stratosphere.ResourceProperties.FSxFileSystemTagEntry as X
 import Stratosphere.ResourceProperties.FSxFileSystemWindowsConfiguration as X
 import Stratosphere.ResourceProperties.GameLiftAliasRoutingStrategy as X
 import Stratosphere.ResourceProperties.GameLiftBuildS3Location as X
@@ -950,6 +953,15 @@
 import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLogger as X
 import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLoggerDefinitionVersion as X
 import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionVersionLogger as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionGroupOwnerSetting as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalDeviceResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalVolumeResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDataContainer as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceInstance as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionS3MachineLearningModelResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionSecretsManagerSecretResourceData as X
 import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting as X
 import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalDeviceResourceData as X
 import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalVolumeResourceData as X
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html
+
+module Stratosphere.Resources.ApiGatewayV2ApiMapping where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for ApiGatewayV2ApiMapping. See
+-- 'apiGatewayV2ApiMapping' for a more convenient constructor.
+data ApiGatewayV2ApiMapping =
+  ApiGatewayV2ApiMapping
+  { _apiGatewayV2ApiMappingApiId :: Val Text
+  , _apiGatewayV2ApiMappingApiMappingKey :: Maybe (Val Text)
+  , _apiGatewayV2ApiMappingDomainName :: Val Text
+  , _apiGatewayV2ApiMappingStage :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ApiGatewayV2ApiMapping where
+  toResourceProperties ApiGatewayV2ApiMapping{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ApiGatewayV2::ApiMapping"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ApiId",) . toJSON) _apiGatewayV2ApiMappingApiId
+        , fmap (("ApiMappingKey",) . toJSON) _apiGatewayV2ApiMappingApiMappingKey
+        , (Just . ("DomainName",) . toJSON) _apiGatewayV2ApiMappingDomainName
+        , (Just . ("Stage",) . toJSON) _apiGatewayV2ApiMappingStage
+        ]
+    }
+
+-- | Constructor for 'ApiGatewayV2ApiMapping' containing required fields as
+-- arguments.
+apiGatewayV2ApiMapping
+  :: Val Text -- ^ 'agvamApiId'
+  -> Val Text -- ^ 'agvamDomainName'
+  -> Val Text -- ^ 'agvamStage'
+  -> ApiGatewayV2ApiMapping
+apiGatewayV2ApiMapping apiIdarg domainNamearg stagearg =
+  ApiGatewayV2ApiMapping
+  { _apiGatewayV2ApiMappingApiId = apiIdarg
+  , _apiGatewayV2ApiMappingApiMappingKey = Nothing
+  , _apiGatewayV2ApiMappingDomainName = domainNamearg
+  , _apiGatewayV2ApiMappingStage = stagearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apiid
+agvamApiId :: Lens' ApiGatewayV2ApiMapping (Val Text)
+agvamApiId = lens _apiGatewayV2ApiMappingApiId (\s a -> s { _apiGatewayV2ApiMappingApiId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey
+agvamApiMappingKey :: Lens' ApiGatewayV2ApiMapping (Maybe (Val Text))
+agvamApiMappingKey = lens _apiGatewayV2ApiMappingApiMappingKey (\s a -> s { _apiGatewayV2ApiMappingApiMappingKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-domainname
+agvamDomainName :: Lens' ApiGatewayV2ApiMapping (Val Text)
+agvamDomainName = lens _apiGatewayV2ApiMappingDomainName (\s a -> s { _apiGatewayV2ApiMappingDomainName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-stage
+agvamStage :: Lens' ApiGatewayV2ApiMapping (Val Text)
+agvamStage = lens _apiGatewayV2ApiMappingStage (\s a -> s { _apiGatewayV2ApiMappingStage = a })
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html
+
+module Stratosphere.Resources.ApiGatewayV2DomainName where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration
+
+-- | Full data type definition for ApiGatewayV2DomainName. See
+-- 'apiGatewayV2DomainName' for a more convenient constructor.
+data ApiGatewayV2DomainName =
+  ApiGatewayV2DomainName
+  { _apiGatewayV2DomainNameDomainName :: Val Text
+  , _apiGatewayV2DomainNameDomainNameConfigurations :: Maybe [ApiGatewayV2DomainNameDomainNameConfiguration]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties ApiGatewayV2DomainName where
+  toResourceProperties ApiGatewayV2DomainName{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::ApiGatewayV2::DomainName"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("DomainName",) . toJSON) _apiGatewayV2DomainNameDomainName
+        , fmap (("DomainNameConfigurations",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurations
+        ]
+    }
+
+-- | Constructor for 'ApiGatewayV2DomainName' containing required fields as
+-- arguments.
+apiGatewayV2DomainName
+  :: Val Text -- ^ 'agvdnDomainName'
+  -> ApiGatewayV2DomainName
+apiGatewayV2DomainName domainNamearg =
+  ApiGatewayV2DomainName
+  { _apiGatewayV2DomainNameDomainName = domainNamearg
+  , _apiGatewayV2DomainNameDomainNameConfigurations = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname
+agvdnDomainName :: Lens' ApiGatewayV2DomainName (Val Text)
+agvdnDomainName = lens _apiGatewayV2DomainNameDomainName (\s a -> s { _apiGatewayV2DomainNameDomainName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainnameconfigurations
+agvdnDomainNameConfigurations :: Lens' ApiGatewayV2DomainName (Maybe [ApiGatewayV2DomainNameDomainNameConfiguration])
+agvdnDomainNameConfigurations = lens _apiGatewayV2DomainNameDomainNameConfigurations (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurations = a })
diff --git a/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs b/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs
deleted file mode 100644
--- a/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs
+++ /dev/null
@@ -1,64 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StrictData #-}
-{-# LANGUAGE TupleSections #-}
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trunkinterfaceassociation.html
-
-module Stratosphere.Resources.EC2TrunkInterfaceAssociation where
-
-import Stratosphere.ResourceImports
-
-
--- | Full data type definition for EC2TrunkInterfaceAssociation. See
--- 'ec2TrunkInterfaceAssociation' for a more convenient constructor.
-data EC2TrunkInterfaceAssociation =
-  EC2TrunkInterfaceAssociation
-  { _eC2TrunkInterfaceAssociationBranchInterfaceId :: Val Text
-  , _eC2TrunkInterfaceAssociationGREKey :: Maybe (Val Integer)
-  , _eC2TrunkInterfaceAssociationTrunkInterfaceId :: Val Text
-  , _eC2TrunkInterfaceAssociationVLANId :: Maybe (Val Integer)
-  } deriving (Show, Eq)
-
-instance ToResourceProperties EC2TrunkInterfaceAssociation where
-  toResourceProperties EC2TrunkInterfaceAssociation{..} =
-    ResourceProperties
-    { resourcePropertiesType = "AWS::EC2::TrunkInterfaceAssociation"
-    , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
-        [ (Just . ("BranchInterfaceId",) . toJSON) _eC2TrunkInterfaceAssociationBranchInterfaceId
-        , fmap (("GREKey",) . toJSON) _eC2TrunkInterfaceAssociationGREKey
-        , (Just . ("TrunkInterfaceId",) . toJSON) _eC2TrunkInterfaceAssociationTrunkInterfaceId
-        , fmap (("VLANId",) . toJSON) _eC2TrunkInterfaceAssociationVLANId
-        ]
-    }
-
--- | Constructor for 'EC2TrunkInterfaceAssociation' containing required fields
--- as arguments.
-ec2TrunkInterfaceAssociation
-  :: Val Text -- ^ 'ectiaBranchInterfaceId'
-  -> Val Text -- ^ 'ectiaTrunkInterfaceId'
-  -> EC2TrunkInterfaceAssociation
-ec2TrunkInterfaceAssociation branchInterfaceIdarg trunkInterfaceIdarg =
-  EC2TrunkInterfaceAssociation
-  { _eC2TrunkInterfaceAssociationBranchInterfaceId = branchInterfaceIdarg
-  , _eC2TrunkInterfaceAssociationGREKey = Nothing
-  , _eC2TrunkInterfaceAssociationTrunkInterfaceId = trunkInterfaceIdarg
-  , _eC2TrunkInterfaceAssociationVLANId = Nothing
-  }
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trunkinterfaceassociation.html#cfn-ec2-trunkinterfaceassociation-branchinterfaceid
-ectiaBranchInterfaceId :: Lens' EC2TrunkInterfaceAssociation (Val Text)
-ectiaBranchInterfaceId = lens _eC2TrunkInterfaceAssociationBranchInterfaceId (\s a -> s { _eC2TrunkInterfaceAssociationBranchInterfaceId = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trunkinterfaceassociation.html#cfn-ec2-trunkinterfaceassociation-grekey
-ectiaGREKey :: Lens' EC2TrunkInterfaceAssociation (Maybe (Val Integer))
-ectiaGREKey = lens _eC2TrunkInterfaceAssociationGREKey (\s a -> s { _eC2TrunkInterfaceAssociationGREKey = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trunkinterfaceassociation.html#cfn-ec2-trunkinterfaceassociation-trunkinterfaceid
-ectiaTrunkInterfaceId :: Lens' EC2TrunkInterfaceAssociation (Val Text)
-ectiaTrunkInterfaceId = lens _eC2TrunkInterfaceAssociationTrunkInterfaceId (\s a -> s { _eC2TrunkInterfaceAssociationTrunkInterfaceId = a })
-
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trunkinterfaceassociation.html#cfn-ec2-trunkinterfaceassociation-vlanid
-ectiaVLANId :: Lens' EC2TrunkInterfaceAssociation (Maybe (Val Integer))
-ectiaVLANId = lens _eC2TrunkInterfaceAssociationVLANId (\s a -> s { _eC2TrunkInterfaceAssociationVLANId = a })
diff --git a/library-gen/Stratosphere/Resources/FSxFileSystem.hs b/library-gen/Stratosphere/Resources/FSxFileSystem.hs
--- a/library-gen/Stratosphere/Resources/FSxFileSystem.hs
+++ b/library-gen/Stratosphere/Resources/FSxFileSystem.hs
@@ -9,7 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.FSxFileSystemLustreConfiguration
-import Stratosphere.ResourceProperties.FSxFileSystemTagEntry
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.FSxFileSystemWindowsConfiguration
 
 -- | Full data type definition for FSxFileSystem. See 'fSxFileSystem' for a
@@ -23,7 +23,7 @@
   , _fSxFileSystemSecurityGroupIds :: Maybe (ValList Text)
   , _fSxFileSystemStorageCapacity :: Maybe (Val Integer)
   , _fSxFileSystemSubnetIds :: Maybe (ValList Text)
-  , _fSxFileSystemTags :: Maybe [FSxFileSystemTagEntry]
+  , _fSxFileSystemTags :: Maybe [Tag]
   , _fSxFileSystemWindowsConfiguration :: Maybe FSxFileSystemWindowsConfiguration
   } deriving (Show, Eq)
 
@@ -90,7 +90,7 @@
 fsfsSubnetIds = lens _fSxFileSystemSubnetIds (\s a -> s { _fSxFileSystemSubnetIds = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-tags
-fsfsTags :: Lens' FSxFileSystem (Maybe [FSxFileSystemTagEntry])
+fsfsTags :: Lens' FSxFileSystem (Maybe [Tag])
 fsfsTags = lens _fSxFileSystemTags (\s a -> s { _fSxFileSystemTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-windowsconfiguration
diff --git a/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html
+
+module Stratosphere.Resources.GreengrassResourceDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDefinitionVersion
+
+-- | Full data type definition for GreengrassResourceDefinition. See
+-- 'greengrassResourceDefinition' for a more convenient constructor.
+data GreengrassResourceDefinition =
+  GreengrassResourceDefinition
+  { _greengrassResourceDefinitionInitialVersion :: Maybe GreengrassResourceDefinitionResourceDefinitionVersion
+  , _greengrassResourceDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassResourceDefinition where
+  toResourceProperties GreengrassResourceDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::ResourceDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassResourceDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassResourceDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassResourceDefinition' containing required fields
+-- as arguments.
+greengrassResourceDefinition
+  :: Val Text -- ^ 'grdName'
+  -> GreengrassResourceDefinition
+greengrassResourceDefinition namearg =
+  GreengrassResourceDefinition
+  { _greengrassResourceDefinitionInitialVersion = Nothing
+  , _greengrassResourceDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-initialversion
+grdInitialVersion :: Lens' GreengrassResourceDefinition (Maybe GreengrassResourceDefinitionResourceDefinitionVersion)
+grdInitialVersion = lens _greengrassResourceDefinitionInitialVersion (\s a -> s { _greengrassResourceDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-name
+grdName :: Lens' GreengrassResourceDefinition (Val Text)
+grdName = lens _greengrassResourceDefinitionName (\s a -> s { _greengrassResourceDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/SSMParameter.hs b/library-gen/Stratosphere/Resources/SSMParameter.hs
--- a/library-gen/Stratosphere/Resources/SSMParameter.hs
+++ b/library-gen/Stratosphere/Resources/SSMParameter.hs
@@ -17,6 +17,7 @@
   { _sSMParameterAllowedPattern :: Maybe (Val Text)
   , _sSMParameterDescription :: Maybe (Val Text)
   , _sSMParameterName :: Maybe (Val Text)
+  , _sSMParameterTags :: Maybe Object
   , _sSMParameterType :: Val Text
   , _sSMParameterValue :: Val Text
   } deriving (Show, Eq)
@@ -30,6 +31,7 @@
         [ fmap (("AllowedPattern",) . toJSON) _sSMParameterAllowedPattern
         , fmap (("Description",) . toJSON) _sSMParameterDescription
         , fmap (("Name",) . toJSON) _sSMParameterName
+        , fmap (("Tags",) . toJSON) _sSMParameterTags
         , (Just . ("Type",) . toJSON) _sSMParameterType
         , (Just . ("Value",) . toJSON) _sSMParameterValue
         ]
@@ -45,6 +47,7 @@
   { _sSMParameterAllowedPattern = Nothing
   , _sSMParameterDescription = Nothing
   , _sSMParameterName = Nothing
+  , _sSMParameterTags = Nothing
   , _sSMParameterType = typearg
   , _sSMParameterValue = valuearg
   }
@@ -60,6 +63,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-name
 ssmpName :: Lens' SSMParameter (Maybe (Val Text))
 ssmpName = lens _sSMParameterName (\s a -> s { _sSMParameterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tags
+ssmpTags :: Lens' SSMParameter (Maybe Object)
+ssmpTags = lens _sSMParameterTags (\s a -> s { _sSMParameterTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-type
 ssmpType :: Lens' SSMParameter (Val Text)
diff --git a/library/Stratosphere/Types.hs b/library/Stratosphere/Types.hs
--- a/library/Stratosphere/Types.hs
+++ b/library/Stratosphere/Types.hs
@@ -59,6 +59,7 @@
   | HEAD
   | DELETE
   | OPTIONS
+  | ANY
   deriving (Show, Read, Eq, Generic, ToJSON)
 
 data LoggingLevel
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: 112dc6cf41a7ab376e8d4417b3842f7a21e8db0e1cd6f09377ccc096fffe9a8b
+-- hash: f0835a7de25f869d86ff57e164902e61d6a729a6306f6c1b10c577e05936b42c
 
 name:           stratosphere
-version:        0.36.0
+version:        0.37.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -75,6 +75,7 @@
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanApiStage
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanQuotaSettings
       Stratosphere.ResourceProperties.ApiGatewayUsagePlanThrottleSettings
+      Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration
       Stratosphere.ResourceProperties.ApiGatewayV2RouteParameterConstraints
       Stratosphere.ResourceProperties.ApiGatewayV2RouteResponseParameterConstraints
       Stratosphere.ResourceProperties.ApiGatewayV2StageAccessLogSettings
@@ -175,6 +176,7 @@
       Stratosphere.ResourceProperties.BatchJobDefinitionMountPoints
       Stratosphere.ResourceProperties.BatchJobDefinitionNodeProperties
       Stratosphere.ResourceProperties.BatchJobDefinitionNodeRangeProperty
+      Stratosphere.ResourceProperties.BatchJobDefinitionResourceRequirement
       Stratosphere.ResourceProperties.BatchJobDefinitionRetryStrategy
       Stratosphere.ResourceProperties.BatchJobDefinitionTimeout
       Stratosphere.ResourceProperties.BatchJobDefinitionUlimit
@@ -513,7 +515,6 @@
       Stratosphere.ResourceProperties.EventsRuleSqsParameters
       Stratosphere.ResourceProperties.EventsRuleTarget
       Stratosphere.ResourceProperties.FSxFileSystemLustreConfiguration
-      Stratosphere.ResourceProperties.FSxFileSystemTagEntry
       Stratosphere.ResourceProperties.FSxFileSystemWindowsConfiguration
       Stratosphere.ResourceProperties.GameLiftAliasRoutingStrategy
       Stratosphere.ResourceProperties.GameLiftBuildS3Location
@@ -575,6 +576,15 @@
       Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLogger
       Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLoggerDefinitionVersion
       Stratosphere.ResourceProperties.GreengrassLoggerDefinitionVersionLogger
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionGroupOwnerSetting
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalDeviceResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionLocalVolumeResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDataContainer
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionResourceInstance
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionS3MachineLearningModelResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionSageMakerMachineLearningModelResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionSecretsManagerSecretResourceData
       Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting
       Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalDeviceResourceData
       Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalVolumeResourceData
@@ -911,8 +921,10 @@
       Stratosphere.Resources.ApiGatewayUsagePlan
       Stratosphere.Resources.ApiGatewayUsagePlanKey
       Stratosphere.Resources.ApiGatewayV2Api
+      Stratosphere.Resources.ApiGatewayV2ApiMapping
       Stratosphere.Resources.ApiGatewayV2Authorizer
       Stratosphere.Resources.ApiGatewayV2Deployment
+      Stratosphere.Resources.ApiGatewayV2DomainName
       Stratosphere.Resources.ApiGatewayV2Integration
       Stratosphere.Resources.ApiGatewayV2IntegrationResponse
       Stratosphere.Resources.ApiGatewayV2Model
@@ -1037,7 +1049,6 @@
       Stratosphere.Resources.EC2TransitGatewayRouteTable
       Stratosphere.Resources.EC2TransitGatewayRouteTableAssociation
       Stratosphere.Resources.EC2TransitGatewayRouteTablePropagation
-      Stratosphere.Resources.EC2TrunkInterfaceAssociation
       Stratosphere.Resources.EC2Volume
       Stratosphere.Resources.EC2VolumeAttachment
       Stratosphere.Resources.EC2VPC
@@ -1108,6 +1119,7 @@
       Stratosphere.Resources.GreengrassGroupVersion
       Stratosphere.Resources.GreengrassLoggerDefinition
       Stratosphere.Resources.GreengrassLoggerDefinitionVersion
+      Stratosphere.Resources.GreengrassResourceDefinition
       Stratosphere.Resources.GreengrassResourceDefinitionVersion
       Stratosphere.Resources.GreengrassSubscriptionDefinition
       Stratosphere.Resources.GreengrassSubscriptionDefinitionVersion
