diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Change Log
 
+## 0.34.0
+
+* Don't encode `Bool`, `Int`, and `Double` values as strings in JSON. See:
+  - https://github.com/frontrowed/stratosphere/pull/123 and
+  - https://github.com/frontrowed/stratosphere/issues/86
+* Use `-O0` when compiling `stratosphere`
+* Update resource specification document to version 2.28.0
+
 ## 0.33.0
 
 * **BREAKING CHANGE**: We nuked the huge `ResourceProperties` sum type, which
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerConfigurationId.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerConfigurationId.hs
--- a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerConfigurationId.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerConfigurationId.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("Id",) . toJSON) _amazonMQBrokerConfigurationIdId
-    , (Just . ("Revision",) . toJSON . fmap Integer') _amazonMQBrokerConfigurationIdRevision
+    , (Just . ("Revision",) . toJSON) _amazonMQBrokerConfigurationIdRevision
     ]
 
 -- | Constructor for 'AmazonMQBrokerConfigurationId' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerLogList.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerLogList.hs
--- a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerLogList.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerLogList.hs
@@ -22,8 +22,8 @@
   toJSON AmazonMQBrokerLogList{..} =
     object $
     catMaybes
-    [ fmap (("Audit",) . toJSON . fmap Bool') _amazonMQBrokerLogListAudit
-    , fmap (("General",) . toJSON . fmap Bool') _amazonMQBrokerLogListGeneral
+    [ fmap (("Audit",) . toJSON) _amazonMQBrokerLogListAudit
+    , fmap (("General",) . toJSON) _amazonMQBrokerLogListGeneral
     ]
 
 -- | Constructor for 'AmazonMQBrokerLogList' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerUser.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerUser.hs
--- a/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerUser.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerUser.hs
@@ -24,7 +24,7 @@
   toJSON AmazonMQBrokerUser{..} =
     object $
     catMaybes
-    [ fmap (("ConsoleAccess",) . toJSON . fmap Bool') _amazonMQBrokerUserConsoleAccess
+    [ fmap (("ConsoleAccess",) . toJSON) _amazonMQBrokerUserConsoleAccess
     , fmap (("Groups",) . toJSON) _amazonMQBrokerUserGroups
     , (Just . ("Password",) . toJSON) _amazonMQBrokerUserPassword
     , (Just . ("Username",) . toJSON) _amazonMQBrokerUserUsername
diff --git a/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationAssociationConfigurationId.hs b/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationAssociationConfigurationId.hs
--- a/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationAssociationConfigurationId.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AmazonMQConfigurationAssociationConfigurationId.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ (Just . ("Id",) . toJSON) _amazonMQConfigurationAssociationConfigurationIdId
-    , (Just . ("Revision",) . toJSON . fmap Integer') _amazonMQConfigurationAssociationConfigurationIdRevision
+    , (Just . ("Revision",) . toJSON) _amazonMQConfigurationAssociationConfigurationIdRevision
     ]
 
 -- | Constructor for 'AmazonMQConfigurationAssociationConfigurationId'
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentCanarySetting.hs
@@ -23,9 +23,9 @@
   toJSON ApiGatewayDeploymentCanarySetting{..} =
     object $
     catMaybes
-    [ fmap (("PercentTraffic",) . toJSON . fmap Double') _apiGatewayDeploymentCanarySettingPercentTraffic
+    [ fmap (("PercentTraffic",) . toJSON) _apiGatewayDeploymentCanarySettingPercentTraffic
     , fmap (("StageVariableOverrides",) . toJSON) _apiGatewayDeploymentCanarySettingStageVariableOverrides
-    , fmap (("UseStageCache",) . toJSON . fmap Bool') _apiGatewayDeploymentCanarySettingUseStageCache
+    , fmap (("UseStageCache",) . toJSON) _apiGatewayDeploymentCanarySettingUseStageCache
     ]
 
 -- | Constructor for 'ApiGatewayDeploymentCanarySetting' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentDeploymentCanarySettings.hs
@@ -25,9 +25,9 @@
   toJSON ApiGatewayDeploymentDeploymentCanarySettings{..} =
     object $
     catMaybes
-    [ fmap (("PercentTraffic",) . toJSON . fmap Double') _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic
+    [ fmap (("PercentTraffic",) . toJSON) _apiGatewayDeploymentDeploymentCanarySettingsPercentTraffic
     , fmap (("StageVariableOverrides",) . toJSON) _apiGatewayDeploymentDeploymentCanarySettingsStageVariableOverrides
-    , fmap (("UseStageCache",) . toJSON . fmap Bool') _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache
+    , fmap (("UseStageCache",) . toJSON) _apiGatewayDeploymentDeploymentCanarySettingsUseStageCache
     ]
 
 -- | Constructor for 'ApiGatewayDeploymentDeploymentCanarySettings' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentMethodSetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentMethodSetting.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentMethodSetting.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentMethodSetting.hs
@@ -30,16 +30,16 @@
   toJSON ApiGatewayDeploymentMethodSetting{..} =
     object $
     catMaybes
-    [ fmap (("CacheDataEncrypted",) . toJSON . fmap Bool') _apiGatewayDeploymentMethodSettingCacheDataEncrypted
-    , fmap (("CacheTtlInSeconds",) . toJSON . fmap Integer') _apiGatewayDeploymentMethodSettingCacheTtlInSeconds
-    , fmap (("CachingEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentMethodSettingCachingEnabled
-    , fmap (("DataTraceEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentMethodSettingDataTraceEnabled
+    [ fmap (("CacheDataEncrypted",) . toJSON) _apiGatewayDeploymentMethodSettingCacheDataEncrypted
+    , fmap (("CacheTtlInSeconds",) . toJSON) _apiGatewayDeploymentMethodSettingCacheTtlInSeconds
+    , fmap (("CachingEnabled",) . toJSON) _apiGatewayDeploymentMethodSettingCachingEnabled
+    , fmap (("DataTraceEnabled",) . toJSON) _apiGatewayDeploymentMethodSettingDataTraceEnabled
     , fmap (("HttpMethod",) . toJSON) _apiGatewayDeploymentMethodSettingHttpMethod
     , fmap (("LoggingLevel",) . toJSON) _apiGatewayDeploymentMethodSettingLoggingLevel
-    , fmap (("MetricsEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentMethodSettingMetricsEnabled
+    , fmap (("MetricsEnabled",) . toJSON) _apiGatewayDeploymentMethodSettingMetricsEnabled
     , fmap (("ResourcePath",) . toJSON) _apiGatewayDeploymentMethodSettingResourcePath
-    , fmap (("ThrottlingBurstLimit",) . toJSON . fmap Integer') _apiGatewayDeploymentMethodSettingThrottlingBurstLimit
-    , fmap (("ThrottlingRateLimit",) . toJSON . fmap Double') _apiGatewayDeploymentMethodSettingThrottlingRateLimit
+    , fmap (("ThrottlingBurstLimit",) . toJSON) _apiGatewayDeploymentMethodSettingThrottlingBurstLimit
+    , fmap (("ThrottlingRateLimit",) . toJSON) _apiGatewayDeploymentMethodSettingThrottlingRateLimit
     ]
 
 -- | Constructor for 'ApiGatewayDeploymentMethodSetting' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayDeploymentStageDescription.hs
@@ -44,23 +44,23 @@
     object $
     catMaybes
     [ fmap (("AccessLogSetting",) . toJSON) _apiGatewayDeploymentStageDescriptionAccessLogSetting
-    , fmap (("CacheClusterEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCacheClusterEnabled
+    , fmap (("CacheClusterEnabled",) . toJSON) _apiGatewayDeploymentStageDescriptionCacheClusterEnabled
     , fmap (("CacheClusterSize",) . toJSON) _apiGatewayDeploymentStageDescriptionCacheClusterSize
-    , fmap (("CacheDataEncrypted",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCacheDataEncrypted
-    , fmap (("CacheTtlInSeconds",) . toJSON . fmap Integer') _apiGatewayDeploymentStageDescriptionCacheTtlInSeconds
-    , fmap (("CachingEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionCachingEnabled
+    , fmap (("CacheDataEncrypted",) . toJSON) _apiGatewayDeploymentStageDescriptionCacheDataEncrypted
+    , fmap (("CacheTtlInSeconds",) . toJSON) _apiGatewayDeploymentStageDescriptionCacheTtlInSeconds
+    , fmap (("CachingEnabled",) . toJSON) _apiGatewayDeploymentStageDescriptionCachingEnabled
     , fmap (("CanarySetting",) . toJSON) _apiGatewayDeploymentStageDescriptionCanarySetting
     , fmap (("ClientCertificateId",) . toJSON) _apiGatewayDeploymentStageDescriptionClientCertificateId
-    , fmap (("DataTraceEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionDataTraceEnabled
+    , fmap (("DataTraceEnabled",) . toJSON) _apiGatewayDeploymentStageDescriptionDataTraceEnabled
     , fmap (("Description",) . toJSON) _apiGatewayDeploymentStageDescriptionDescription
     , fmap (("DocumentationVersion",) . toJSON) _apiGatewayDeploymentStageDescriptionDocumentationVersion
     , fmap (("LoggingLevel",) . toJSON) _apiGatewayDeploymentStageDescriptionLoggingLevel
     , fmap (("MethodSettings",) . toJSON) _apiGatewayDeploymentStageDescriptionMethodSettings
-    , fmap (("MetricsEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionMetricsEnabled
+    , fmap (("MetricsEnabled",) . toJSON) _apiGatewayDeploymentStageDescriptionMetricsEnabled
     , fmap (("Tags",) . toJSON) _apiGatewayDeploymentStageDescriptionTags
-    , fmap (("ThrottlingBurstLimit",) . toJSON . fmap Integer') _apiGatewayDeploymentStageDescriptionThrottlingBurstLimit
-    , fmap (("ThrottlingRateLimit",) . toJSON . fmap Double') _apiGatewayDeploymentStageDescriptionThrottlingRateLimit
-    , fmap (("TracingEnabled",) . toJSON . fmap Bool') _apiGatewayDeploymentStageDescriptionTracingEnabled
+    , fmap (("ThrottlingBurstLimit",) . toJSON) _apiGatewayDeploymentStageDescriptionThrottlingBurstLimit
+    , fmap (("ThrottlingRateLimit",) . toJSON) _apiGatewayDeploymentStageDescriptionThrottlingRateLimit
+    , fmap (("TracingEnabled",) . toJSON) _apiGatewayDeploymentStageDescriptionTracingEnabled
     , fmap (("Variables",) . toJSON) _apiGatewayDeploymentStageDescriptionVariables
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegration.hs
@@ -46,7 +46,7 @@
     , fmap (("PassthroughBehavior",) . toJSON) _apiGatewayMethodIntegrationPassthroughBehavior
     , fmap (("RequestParameters",) . toJSON) _apiGatewayMethodIntegrationRequestParameters
     , fmap (("RequestTemplates",) . toJSON) _apiGatewayMethodIntegrationRequestTemplates
-    , fmap (("TimeoutInMillis",) . toJSON . fmap Integer') _apiGatewayMethodIntegrationTimeoutInMillis
+    , fmap (("TimeoutInMillis",) . toJSON) _apiGatewayMethodIntegrationTimeoutInMillis
     , fmap (("Type",) . toJSON) _apiGatewayMethodIntegrationType
     , fmap (("Uri",) . toJSON) _apiGatewayMethodIntegrationUri
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageCanarySetting.hs
@@ -25,9 +25,9 @@
     object $
     catMaybes
     [ fmap (("DeploymentId",) . toJSON) _apiGatewayStageCanarySettingDeploymentId
-    , fmap (("PercentTraffic",) . toJSON . fmap Double') _apiGatewayStageCanarySettingPercentTraffic
+    , fmap (("PercentTraffic",) . toJSON) _apiGatewayStageCanarySettingPercentTraffic
     , fmap (("StageVariableOverrides",) . toJSON) _apiGatewayStageCanarySettingStageVariableOverrides
-    , fmap (("UseStageCache",) . toJSON . fmap Bool') _apiGatewayStageCanarySettingUseStageCache
+    , fmap (("UseStageCache",) . toJSON) _apiGatewayStageCanarySettingUseStageCache
     ]
 
 -- | Constructor for 'ApiGatewayStageCanarySetting' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageMethodSetting.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageMethodSetting.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageMethodSetting.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayStageMethodSetting.hs
@@ -30,16 +30,16 @@
   toJSON ApiGatewayStageMethodSetting{..} =
     object $
     catMaybes
-    [ fmap (("CacheDataEncrypted",) . toJSON . fmap Bool') _apiGatewayStageMethodSettingCacheDataEncrypted
-    , fmap (("CacheTtlInSeconds",) . toJSON . fmap Integer') _apiGatewayStageMethodSettingCacheTtlInSeconds
-    , fmap (("CachingEnabled",) . toJSON . fmap Bool') _apiGatewayStageMethodSettingCachingEnabled
-    , fmap (("DataTraceEnabled",) . toJSON . fmap Bool') _apiGatewayStageMethodSettingDataTraceEnabled
+    [ fmap (("CacheDataEncrypted",) . toJSON) _apiGatewayStageMethodSettingCacheDataEncrypted
+    , fmap (("CacheTtlInSeconds",) . toJSON) _apiGatewayStageMethodSettingCacheTtlInSeconds
+    , fmap (("CachingEnabled",) . toJSON) _apiGatewayStageMethodSettingCachingEnabled
+    , fmap (("DataTraceEnabled",) . toJSON) _apiGatewayStageMethodSettingDataTraceEnabled
     , fmap (("HttpMethod",) . toJSON) _apiGatewayStageMethodSettingHttpMethod
     , fmap (("LoggingLevel",) . toJSON) _apiGatewayStageMethodSettingLoggingLevel
-    , fmap (("MetricsEnabled",) . toJSON . fmap Bool') _apiGatewayStageMethodSettingMetricsEnabled
+    , fmap (("MetricsEnabled",) . toJSON) _apiGatewayStageMethodSettingMetricsEnabled
     , fmap (("ResourcePath",) . toJSON) _apiGatewayStageMethodSettingResourcePath
-    , fmap (("ThrottlingBurstLimit",) . toJSON . fmap Integer') _apiGatewayStageMethodSettingThrottlingBurstLimit
-    , fmap (("ThrottlingRateLimit",) . toJSON . fmap Double') _apiGatewayStageMethodSettingThrottlingRateLimit
+    , fmap (("ThrottlingBurstLimit",) . toJSON) _apiGatewayStageMethodSettingThrottlingBurstLimit
+    , fmap (("ThrottlingRateLimit",) . toJSON) _apiGatewayStageMethodSettingThrottlingRateLimit
     ]
 
 -- | Constructor for 'ApiGatewayStageMethodSetting' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanQuotaSettings.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanQuotaSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanQuotaSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanQuotaSettings.hs
@@ -23,8 +23,8 @@
   toJSON ApiGatewayUsagePlanQuotaSettings{..} =
     object $
     catMaybes
-    [ fmap (("Limit",) . toJSON . fmap Integer') _apiGatewayUsagePlanQuotaSettingsLimit
-    , fmap (("Offset",) . toJSON . fmap Integer') _apiGatewayUsagePlanQuotaSettingsOffset
+    [ fmap (("Limit",) . toJSON) _apiGatewayUsagePlanQuotaSettingsLimit
+    , fmap (("Offset",) . toJSON) _apiGatewayUsagePlanQuotaSettingsOffset
     , fmap (("Period",) . toJSON) _apiGatewayUsagePlanQuotaSettingsPeriod
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanThrottleSettings.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanThrottleSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanThrottleSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanThrottleSettings.hs
@@ -22,8 +22,8 @@
   toJSON ApiGatewayUsagePlanThrottleSettings{..} =
     object $
     catMaybes
-    [ fmap (("BurstLimit",) . toJSON . fmap Integer') _apiGatewayUsagePlanThrottleSettingsBurstLimit
-    , fmap (("RateLimit",) . toJSON . fmap Double') _apiGatewayUsagePlanThrottleSettingsRateLimit
+    [ fmap (("BurstLimit",) . toJSON) _apiGatewayUsagePlanThrottleSettingsBurstLimit
+    , fmap (("RateLimit",) . toJSON) _apiGatewayUsagePlanThrottleSettingsRateLimit
     ]
 
 -- | Constructor for 'ApiGatewayUsagePlanThrottleSettings' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteParameterConstraints.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteParameterConstraints.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteParameterConstraints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteParameterConstraints.hs
@@ -22,7 +22,7 @@
   toJSON ApiGatewayV2RouteParameterConstraints{..} =
     object $
     catMaybes
-    [ (Just . ("Required",) . toJSON . fmap Bool') _apiGatewayV2RouteParameterConstraintsRequired
+    [ (Just . ("Required",) . toJSON) _apiGatewayV2RouteParameterConstraintsRequired
     ]
 
 -- | Constructor for 'ApiGatewayV2RouteParameterConstraints' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteResponseParameterConstraints.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteResponseParameterConstraints.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteResponseParameterConstraints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2RouteResponseParameterConstraints.hs
@@ -23,7 +23,7 @@
   toJSON ApiGatewayV2RouteResponseParameterConstraints{..} =
     object $
     catMaybes
-    [ (Just . ("Required",) . toJSON . fmap Bool') _apiGatewayV2RouteResponseParameterConstraintsRequired
+    [ (Just . ("Required",) . toJSON) _apiGatewayV2RouteResponseParameterConstraintsRequired
     ]
 
 -- | Constructor for 'ApiGatewayV2RouteResponseParameterConstraints'
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2StageRouteSettings.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2StageRouteSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2StageRouteSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayV2StageRouteSettings.hs
@@ -25,11 +25,11 @@
   toJSON ApiGatewayV2StageRouteSettings{..} =
     object $
     catMaybes
-    [ fmap (("DataTraceEnabled",) . toJSON . fmap Bool') _apiGatewayV2StageRouteSettingsDataTraceEnabled
-    , fmap (("DetailedMetricsEnabled",) . toJSON . fmap Bool') _apiGatewayV2StageRouteSettingsDetailedMetricsEnabled
+    [ fmap (("DataTraceEnabled",) . toJSON) _apiGatewayV2StageRouteSettingsDataTraceEnabled
+    , fmap (("DetailedMetricsEnabled",) . toJSON) _apiGatewayV2StageRouteSettingsDetailedMetricsEnabled
     , fmap (("LoggingLevel",) . toJSON) _apiGatewayV2StageRouteSettingsLoggingLevel
-    , fmap (("ThrottlingBurstLimit",) . toJSON . fmap Integer') _apiGatewayV2StageRouteSettingsThrottlingBurstLimit
-    , fmap (("ThrottlingRateLimit",) . toJSON . fmap Double') _apiGatewayV2StageRouteSettingsThrottlingRateLimit
+    , fmap (("ThrottlingBurstLimit",) . toJSON) _apiGatewayV2StageRouteSettingsThrottlingBurstLimit
+    , fmap (("ThrottlingRateLimit",) . toJSON) _apiGatewayV2StageRouteSettingsThrottlingRateLimit
     ]
 
 -- | Constructor for 'ApiGatewayV2StageRouteSettings' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/AppStreamFleetComputeCapacity.hs b/library-gen/Stratosphere/ResourceProperties/AppStreamFleetComputeCapacity.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppStreamFleetComputeCapacity.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppStreamFleetComputeCapacity.hs
@@ -21,7 +21,7 @@
   toJSON AppStreamFleetComputeCapacity{..} =
     object $
     catMaybes
-    [ (Just . ("DesiredInstances",) . toJSON . fmap Integer') _appStreamFleetComputeCapacityDesiredInstances
+    [ (Just . ("DesiredInstances",) . toJSON) _appStreamFleetComputeCapacityDesiredInstances
     ]
 
 -- | Constructor for 'AppStreamFleetComputeCapacity' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/AppStreamStackApplicationSettings.hs b/library-gen/Stratosphere/ResourceProperties/AppStreamStackApplicationSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppStreamStackApplicationSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppStreamStackApplicationSettings.hs
@@ -22,7 +22,7 @@
   toJSON AppStreamStackApplicationSettings{..} =
     object $
     catMaybes
-    [ (Just . ("Enabled",) . toJSON . fmap Bool') _appStreamStackApplicationSettingsEnabled
+    [ (Just . ("Enabled",) . toJSON) _appStreamStackApplicationSettingsEnabled
     , fmap (("SettingsGroup",) . toJSON) _appStreamStackApplicationSettingsSettingsGroup
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncDataSourceDynamoDBConfig.hs
@@ -25,7 +25,7 @@
     catMaybes
     [ (Just . ("AwsRegion",) . toJSON) _appSyncDataSourceDynamoDBConfigAwsRegion
     , (Just . ("TableName",) . toJSON) _appSyncDataSourceDynamoDBConfigTableName
-    , fmap (("UseCallerCredentials",) . toJSON . fmap Bool') _appSyncDataSourceDynamoDBConfigUseCallerCredentials
+    , fmap (("UseCallerCredentials",) . toJSON) _appSyncDataSourceDynamoDBConfigUseCallerCredentials
     ]
 
 -- | Constructor for 'AppSyncDataSourceDynamoDBConfig' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiOpenIDConnectConfig.hs b/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiOpenIDConnectConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiOpenIDConnectConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AppSyncGraphQLApiOpenIDConnectConfig.hs
@@ -24,9 +24,9 @@
   toJSON AppSyncGraphQLApiOpenIDConnectConfig{..} =
     object $
     catMaybes
-    [ fmap (("AuthTTL",) . toJSON . fmap Double') _appSyncGraphQLApiOpenIDConnectConfigAuthTTL
+    [ fmap (("AuthTTL",) . toJSON) _appSyncGraphQLApiOpenIDConnectConfigAuthTTL
     , fmap (("ClientId",) . toJSON) _appSyncGraphQLApiOpenIDConnectConfigClientId
-    , fmap (("IatTTL",) . toJSON . fmap Double') _appSyncGraphQLApiOpenIDConnectConfigIatTTL
+    , fmap (("IatTTL",) . toJSON) _appSyncGraphQLApiOpenIDConnectConfigIatTTL
     , fmap (("Issuer",) . toJSON) _appSyncGraphQLApiOpenIDConnectConfigIssuer
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetScalableTargetAction.hs b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetScalableTargetAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetScalableTargetAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalableTargetScalableTargetAction.hs
@@ -24,8 +24,8 @@
   toJSON ApplicationAutoScalingScalableTargetScalableTargetAction{..} =
     object $
     catMaybes
-    [ fmap (("MaxCapacity",) . toJSON . fmap Integer') _applicationAutoScalingScalableTargetScalableTargetActionMaxCapacity
-    , fmap (("MinCapacity",) . toJSON . fmap Integer') _applicationAutoScalingScalableTargetScalableTargetActionMinCapacity
+    [ fmap (("MaxCapacity",) . toJSON) _applicationAutoScalingScalableTargetScalableTargetActionMaxCapacity
+    , fmap (("MinCapacity",) . toJSON) _applicationAutoScalingScalableTargetScalableTargetActionMinCapacity
     ]
 
 -- | Constructor for
diff --git a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepAdjustment.hs b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepAdjustment.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepAdjustment.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepAdjustment.hs
@@ -25,9 +25,9 @@
   toJSON ApplicationAutoScalingScalingPolicyStepAdjustment{..} =
     object $
     catMaybes
-    [ fmap (("MetricIntervalLowerBound",) . toJSON . fmap Double') _applicationAutoScalingScalingPolicyStepAdjustmentMetricIntervalLowerBound
-    , fmap (("MetricIntervalUpperBound",) . toJSON . fmap Double') _applicationAutoScalingScalingPolicyStepAdjustmentMetricIntervalUpperBound
-    , (Just . ("ScalingAdjustment",) . toJSON . fmap Integer') _applicationAutoScalingScalingPolicyStepAdjustmentScalingAdjustment
+    [ fmap (("MetricIntervalLowerBound",) . toJSON) _applicationAutoScalingScalingPolicyStepAdjustmentMetricIntervalLowerBound
+    , fmap (("MetricIntervalUpperBound",) . toJSON) _applicationAutoScalingScalingPolicyStepAdjustmentMetricIntervalUpperBound
+    , (Just . ("ScalingAdjustment",) . toJSON) _applicationAutoScalingScalingPolicyStepAdjustmentScalingAdjustment
     ]
 
 -- | Constructor for 'ApplicationAutoScalingScalingPolicyStepAdjustment'
diff --git a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration.hs
@@ -28,9 +28,9 @@
     object $
     catMaybes
     [ fmap (("AdjustmentType",) . toJSON) _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationAdjustmentType
-    , fmap (("Cooldown",) . toJSON . fmap Integer') _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationCooldown
+    , fmap (("Cooldown",) . toJSON) _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationCooldown
     , fmap (("MetricAggregationType",) . toJSON) _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationMetricAggregationType
-    , fmap (("MinAdjustmentMagnitude",) . toJSON . fmap Integer') _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationMinAdjustmentMagnitude
+    , fmap (("MinAdjustmentMagnitude",) . toJSON) _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationMinAdjustmentMagnitude
     , fmap (("StepAdjustments",) . toJSON) _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustments
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApplicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfiguration.hs
@@ -31,11 +31,11 @@
     object $
     catMaybes
     [ fmap (("CustomizedMetricSpecification",) . toJSON) _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification
-    , fmap (("DisableScaleIn",) . toJSON . fmap Bool') _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationDisableScaleIn
+    , fmap (("DisableScaleIn",) . toJSON) _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationDisableScaleIn
     , fmap (("PredefinedMetricSpecification",) . toJSON) _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecification
-    , fmap (("ScaleInCooldown",) . toJSON . fmap Integer') _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationScaleInCooldown
-    , fmap (("ScaleOutCooldown",) . toJSON . fmap Integer') _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationScaleOutCooldown
-    , (Just . ("TargetValue",) . toJSON . fmap Double') _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationTargetValue
+    , fmap (("ScaleInCooldown",) . toJSON) _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationScaleInCooldown
+    , fmap (("ScaleOutCooldown",) . toJSON) _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationScaleOutCooldown
+    , (Just . ("TargetValue",) . toJSON) _applicationAutoScalingScalingPolicyTargetTrackingScalingPolicyConfigurationTargetValue
     ]
 
 -- | Constructor for
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupInstancesDistribution.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupInstancesDistribution.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupInstancesDistribution.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupInstancesDistribution.hs
@@ -29,10 +29,10 @@
     object $
     catMaybes
     [ fmap (("OnDemandAllocationStrategy",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionOnDemandAllocationStrategy
-    , fmap (("OnDemandBaseCapacity",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity
-    , fmap (("OnDemandPercentageAboveBaseCapacity",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity
+    , fmap (("OnDemandBaseCapacity",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionOnDemandBaseCapacity
+    , fmap (("OnDemandPercentageAboveBaseCapacity",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionOnDemandPercentageAboveBaseCapacity
     , fmap (("SpotAllocationStrategy",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionSpotAllocationStrategy
-    , fmap (("SpotInstancePools",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools
+    , fmap (("SpotInstancePools",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionSpotInstancePools
     , fmap (("SpotMaxPrice",) . toJSON) _autoScalingAutoScalingGroupInstancesDistributionSpotMaxPrice
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLifecycleHookSpecification.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLifecycleHookSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLifecycleHookSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupLifecycleHookSpecification.hs
@@ -30,7 +30,7 @@
     object $
     catMaybes
     [ fmap (("DefaultResult",) . toJSON) _autoScalingAutoScalingGroupLifecycleHookSpecificationDefaultResult
-    , fmap (("HeartbeatTimeout",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupLifecycleHookSpecificationHeartbeatTimeout
+    , fmap (("HeartbeatTimeout",) . toJSON) _autoScalingAutoScalingGroupLifecycleHookSpecificationHeartbeatTimeout
     , (Just . ("LifecycleHookName",) . toJSON) _autoScalingAutoScalingGroupLifecycleHookSpecificationLifecycleHookName
     , (Just . ("LifecycleTransition",) . toJSON) _autoScalingAutoScalingGroupLifecycleHookSpecificationLifecycleTransition
     , fmap (("NotificationMetadata",) . toJSON) _autoScalingAutoScalingGroupLifecycleHookSpecificationNotificationMetadata
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupTagProperty.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupTagProperty.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupTagProperty.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupTagProperty.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ (Just . ("Key",) . toJSON) _autoScalingAutoScalingGroupTagPropertyKey
-    , (Just . ("PropagateAtLaunch",) . toJSON . fmap Bool') _autoScalingAutoScalingGroupTagPropertyPropagateAtLaunch
+    , (Just . ("PropagateAtLaunch",) . toJSON) _autoScalingAutoScalingGroupTagPropertyPropagateAtLaunch
     , (Just . ("Value",) . toJSON) _autoScalingAutoScalingGroupTagPropertyValue
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDevice.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDevice.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDevice.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDevice.hs
@@ -27,11 +27,11 @@
   toJSON AutoScalingLaunchConfigurationBlockDevice{..} =
     object $
     catMaybes
-    [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _autoScalingLaunchConfigurationBlockDeviceDeleteOnTermination
-    , fmap (("Encrypted",) . toJSON . fmap Bool') _autoScalingLaunchConfigurationBlockDeviceEncrypted
-    , fmap (("Iops",) . toJSON . fmap Integer') _autoScalingLaunchConfigurationBlockDeviceIops
+    [ fmap (("DeleteOnTermination",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceDeleteOnTermination
+    , fmap (("Encrypted",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceEncrypted
+    , fmap (("Iops",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceIops
     , fmap (("SnapshotId",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceSnapshotId
-    , fmap (("VolumeSize",) . toJSON . fmap Integer') _autoScalingLaunchConfigurationBlockDeviceVolumeSize
+    , fmap (("VolumeSize",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceVolumeSize
     , fmap (("VolumeType",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDeviceMapping.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDeviceMapping.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDeviceMapping.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingLaunchConfigurationBlockDeviceMapping.hs
@@ -28,7 +28,7 @@
     catMaybes
     [ (Just . ("DeviceName",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceMappingDeviceName
     , fmap (("Ebs",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceMappingEbs
-    , fmap (("NoDevice",) . toJSON . fmap Bool') _autoScalingLaunchConfigurationBlockDeviceMappingNoDevice
+    , fmap (("NoDevice",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceMappingNoDevice
     , fmap (("VirtualName",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceMappingVirtualName
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanScalingInstruction.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanScalingInstruction.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanScalingInstruction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanScalingInstruction.hs
@@ -39,17 +39,17 @@
     object $
     catMaybes
     [ fmap (("CustomizedLoadMetricSpecification",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionCustomizedLoadMetricSpecification
-    , fmap (("DisableDynamicScaling",) . toJSON . fmap Bool') _autoScalingPlansScalingPlanScalingInstructionDisableDynamicScaling
-    , (Just . ("MaxCapacity",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanScalingInstructionMaxCapacity
-    , (Just . ("MinCapacity",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanScalingInstructionMinCapacity
+    , fmap (("DisableDynamicScaling",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionDisableDynamicScaling
+    , (Just . ("MaxCapacity",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionMaxCapacity
+    , (Just . ("MinCapacity",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionMinCapacity
     , fmap (("PredefinedLoadMetricSpecification",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionPredefinedLoadMetricSpecification
     , fmap (("PredictiveScalingMaxCapacityBehavior",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionPredictiveScalingMaxCapacityBehavior
-    , fmap (("PredictiveScalingMaxCapacityBuffer",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanScalingInstructionPredictiveScalingMaxCapacityBuffer
+    , fmap (("PredictiveScalingMaxCapacityBuffer",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionPredictiveScalingMaxCapacityBuffer
     , fmap (("PredictiveScalingMode",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionPredictiveScalingMode
     , (Just . ("ResourceId",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionResourceId
     , (Just . ("ScalableDimension",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionScalableDimension
     , fmap (("ScalingPolicyUpdateBehavior",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionScalingPolicyUpdateBehavior
-    , fmap (("ScheduledActionBufferTime",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanScalingInstructionScheduledActionBufferTime
+    , fmap (("ScheduledActionBufferTime",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionScheduledActionBufferTime
     , (Just . ("ServiceNamespace",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionServiceNamespace
     , (Just . ("TargetTrackingConfigurations",) . toJSON) _autoScalingPlansScalingPlanScalingInstructionTargetTrackingConfigurations
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanTargetTrackingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanTargetTrackingConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanTargetTrackingConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingPlansScalingPlanTargetTrackingConfiguration.hs
@@ -31,12 +31,12 @@
     object $
     catMaybes
     [ fmap (("CustomizedScalingMetricSpecification",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationCustomizedScalingMetricSpecification
-    , fmap (("DisableScaleIn",) . toJSON . fmap Bool') _autoScalingPlansScalingPlanTargetTrackingConfigurationDisableScaleIn
-    , fmap (("EstimatedInstanceWarmup",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanTargetTrackingConfigurationEstimatedInstanceWarmup
+    , fmap (("DisableScaleIn",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationDisableScaleIn
+    , fmap (("EstimatedInstanceWarmup",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationEstimatedInstanceWarmup
     , fmap (("PredefinedScalingMetricSpecification",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationPredefinedScalingMetricSpecification
-    , fmap (("ScaleInCooldown",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanTargetTrackingConfigurationScaleInCooldown
-    , fmap (("ScaleOutCooldown",) . toJSON . fmap Integer') _autoScalingPlansScalingPlanTargetTrackingConfigurationScaleOutCooldown
-    , (Just . ("TargetValue",) . toJSON . fmap Double') _autoScalingPlansScalingPlanTargetTrackingConfigurationTargetValue
+    , fmap (("ScaleInCooldown",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationScaleInCooldown
+    , fmap (("ScaleOutCooldown",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationScaleOutCooldown
+    , (Just . ("TargetValue",) . toJSON) _autoScalingPlansScalingPlanTargetTrackingConfigurationTargetValue
     ]
 
 -- | Constructor for 'AutoScalingPlansScalingPlanTargetTrackingConfiguration'
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyStepAdjustment.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyStepAdjustment.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyStepAdjustment.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyStepAdjustment.hs
@@ -24,9 +24,9 @@
   toJSON AutoScalingScalingPolicyStepAdjustment{..} =
     object $
     catMaybes
-    [ fmap (("MetricIntervalLowerBound",) . toJSON . fmap Double') _autoScalingScalingPolicyStepAdjustmentMetricIntervalLowerBound
-    , fmap (("MetricIntervalUpperBound",) . toJSON . fmap Double') _autoScalingScalingPolicyStepAdjustmentMetricIntervalUpperBound
-    , (Just . ("ScalingAdjustment",) . toJSON . fmap Integer') _autoScalingScalingPolicyStepAdjustmentScalingAdjustment
+    [ fmap (("MetricIntervalLowerBound",) . toJSON) _autoScalingScalingPolicyStepAdjustmentMetricIntervalLowerBound
+    , fmap (("MetricIntervalUpperBound",) . toJSON) _autoScalingScalingPolicyStepAdjustmentMetricIntervalUpperBound
+    , (Just . ("ScalingAdjustment",) . toJSON) _autoScalingScalingPolicyStepAdjustmentScalingAdjustment
     ]
 
 -- | Constructor for 'AutoScalingScalingPolicyStepAdjustment' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyTargetTrackingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyTargetTrackingConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyTargetTrackingConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingScalingPolicyTargetTrackingConfiguration.hs
@@ -28,9 +28,9 @@
     object $
     catMaybes
     [ fmap (("CustomizedMetricSpecification",) . toJSON) _autoScalingScalingPolicyTargetTrackingConfigurationCustomizedMetricSpecification
-    , fmap (("DisableScaleIn",) . toJSON . fmap Bool') _autoScalingScalingPolicyTargetTrackingConfigurationDisableScaleIn
+    , fmap (("DisableScaleIn",) . toJSON) _autoScalingScalingPolicyTargetTrackingConfigurationDisableScaleIn
     , fmap (("PredefinedMetricSpecification",) . toJSON) _autoScalingScalingPolicyTargetTrackingConfigurationPredefinedMetricSpecification
-    , (Just . ("TargetValue",) . toJSON . fmap Double') _autoScalingScalingPolicyTargetTrackingConfigurationTargetValue
+    , (Just . ("TargetValue",) . toJSON) _autoScalingScalingPolicyTargetTrackingConfigurationTargetValue
     ]
 
 -- | Constructor for 'AutoScalingScalingPolicyTargetTrackingConfiguration'
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs b/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchComputeEnvironmentComputeResources.hs
@@ -36,15 +36,15 @@
   toJSON BatchComputeEnvironmentComputeResources{..} =
     object $
     catMaybes
-    [ fmap (("BidPercentage",) . toJSON . fmap Integer') _batchComputeEnvironmentComputeResourcesBidPercentage
-    , fmap (("DesiredvCpus",) . toJSON . fmap Integer') _batchComputeEnvironmentComputeResourcesDesiredvCpus
+    [ fmap (("BidPercentage",) . toJSON) _batchComputeEnvironmentComputeResourcesBidPercentage
+    , fmap (("DesiredvCpus",) . toJSON) _batchComputeEnvironmentComputeResourcesDesiredvCpus
     , fmap (("Ec2KeyPair",) . toJSON) _batchComputeEnvironmentComputeResourcesEc2KeyPair
     , fmap (("ImageId",) . toJSON) _batchComputeEnvironmentComputeResourcesImageId
     , (Just . ("InstanceRole",) . toJSON) _batchComputeEnvironmentComputeResourcesInstanceRole
     , (Just . ("InstanceTypes",) . toJSON) _batchComputeEnvironmentComputeResourcesInstanceTypes
     , fmap (("LaunchTemplate",) . toJSON) _batchComputeEnvironmentComputeResourcesLaunchTemplate
-    , (Just . ("MaxvCpus",) . toJSON . fmap Integer') _batchComputeEnvironmentComputeResourcesMaxvCpus
-    , (Just . ("MinvCpus",) . toJSON . fmap Integer') _batchComputeEnvironmentComputeResourcesMinvCpus
+    , (Just . ("MaxvCpus",) . toJSON) _batchComputeEnvironmentComputeResourcesMaxvCpus
+    , (Just . ("MinvCpus",) . toJSON) _batchComputeEnvironmentComputeResourcesMinvCpus
     , fmap (("PlacementGroup",) . toJSON) _batchComputeEnvironmentComputeResourcesPlacementGroup
     , (Just . ("SecurityGroupIds",) . toJSON) _batchComputeEnvironmentComputeResourcesSecurityGroupIds
     , fmap (("SpotIamFleetRole",) . toJSON) _batchComputeEnvironmentComputeResourcesSpotIamFleetRole
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
@@ -42,13 +42,13 @@
     , (Just . ("Image",) . toJSON) _batchJobDefinitionContainerPropertiesImage
     , fmap (("InstanceType",) . toJSON) _batchJobDefinitionContainerPropertiesInstanceType
     , fmap (("JobRoleArn",) . toJSON) _batchJobDefinitionContainerPropertiesJobRoleArn
-    , (Just . ("Memory",) . toJSON . fmap Integer') _batchJobDefinitionContainerPropertiesMemory
+    , (Just . ("Memory",) . toJSON) _batchJobDefinitionContainerPropertiesMemory
     , fmap (("MountPoints",) . toJSON) _batchJobDefinitionContainerPropertiesMountPoints
-    , fmap (("Privileged",) . toJSON . fmap Bool') _batchJobDefinitionContainerPropertiesPrivileged
-    , fmap (("ReadonlyRootFilesystem",) . toJSON . fmap Bool') _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem
+    , fmap (("Privileged",) . toJSON) _batchJobDefinitionContainerPropertiesPrivileged
+    , fmap (("ReadonlyRootFilesystem",) . toJSON) _batchJobDefinitionContainerPropertiesReadonlyRootFilesystem
     , fmap (("Ulimits",) . toJSON) _batchJobDefinitionContainerPropertiesUlimits
     , fmap (("User",) . toJSON) _batchJobDefinitionContainerPropertiesUser
-    , (Just . ("Vcpus",) . toJSON . fmap Integer') _batchJobDefinitionContainerPropertiesVcpus
+    , (Just . ("Vcpus",) . toJSON) _batchJobDefinitionContainerPropertiesVcpus
     , fmap (("Volumes",) . toJSON) _batchJobDefinitionContainerPropertiesVolumes
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionMountPoints.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionMountPoints.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionMountPoints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionMountPoints.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("ContainerPath",) . toJSON) _batchJobDefinitionMountPointsContainerPath
-    , fmap (("ReadOnly",) . toJSON . fmap Bool') _batchJobDefinitionMountPointsReadOnly
+    , fmap (("ReadOnly",) . toJSON) _batchJobDefinitionMountPointsReadOnly
     , fmap (("SourceVolume",) . toJSON) _batchJobDefinitionMountPointsSourceVolume
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionNodeProperties.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionNodeProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionNodeProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionNodeProperties.hs
@@ -23,9 +23,9 @@
   toJSON BatchJobDefinitionNodeProperties{..} =
     object $
     catMaybes
-    [ (Just . ("MainNode",) . toJSON . fmap Integer') _batchJobDefinitionNodePropertiesMainNode
+    [ (Just . ("MainNode",) . toJSON) _batchJobDefinitionNodePropertiesMainNode
     , (Just . ("NodeRangeProperties",) . toJSON) _batchJobDefinitionNodePropertiesNodeRangeProperties
-    , (Just . ("NumNodes",) . toJSON . fmap Integer') _batchJobDefinitionNodePropertiesNumNodes
+    , (Just . ("NumNodes",) . toJSON) _batchJobDefinitionNodePropertiesNumNodes
     ]
 
 -- | Constructor for 'BatchJobDefinitionNodeProperties' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionRetryStrategy.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionRetryStrategy.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionRetryStrategy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionRetryStrategy.hs
@@ -21,7 +21,7 @@
   toJSON BatchJobDefinitionRetryStrategy{..} =
     object $
     catMaybes
-    [ fmap (("Attempts",) . toJSON . fmap Integer') _batchJobDefinitionRetryStrategyAttempts
+    [ fmap (("Attempts",) . toJSON) _batchJobDefinitionRetryStrategyAttempts
     ]
 
 -- | Constructor for 'BatchJobDefinitionRetryStrategy' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionTimeout.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionTimeout.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionTimeout.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionTimeout.hs
@@ -21,7 +21,7 @@
   toJSON BatchJobDefinitionTimeout{..} =
     object $
     catMaybes
-    [ fmap (("AttemptDurationSeconds",) . toJSON . fmap Integer') _batchJobDefinitionTimeoutAttemptDurationSeconds
+    [ fmap (("AttemptDurationSeconds",) . toJSON) _batchJobDefinitionTimeoutAttemptDurationSeconds
     ]
 
 -- | Constructor for 'BatchJobDefinitionTimeout' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionUlimit.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionUlimit.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionUlimit.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobDefinitionUlimit.hs
@@ -23,9 +23,9 @@
   toJSON BatchJobDefinitionUlimit{..} =
     object $
     catMaybes
-    [ (Just . ("HardLimit",) . toJSON . fmap Integer') _batchJobDefinitionUlimitHardLimit
+    [ (Just . ("HardLimit",) . toJSON) _batchJobDefinitionUlimitHardLimit
     , (Just . ("Name",) . toJSON) _batchJobDefinitionUlimitName
-    , (Just . ("SoftLimit",) . toJSON . fmap Integer') _batchJobDefinitionUlimitSoftLimit
+    , (Just . ("SoftLimit",) . toJSON) _batchJobDefinitionUlimitSoftLimit
     ]
 
 -- | Constructor for 'BatchJobDefinitionUlimit' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/BatchJobQueueComputeEnvironmentOrder.hs b/library-gen/Stratosphere/ResourceProperties/BatchJobQueueComputeEnvironmentOrder.hs
--- a/library-gen/Stratosphere/ResourceProperties/BatchJobQueueComputeEnvironmentOrder.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BatchJobQueueComputeEnvironmentOrder.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("ComputeEnvironment",) . toJSON) _batchJobQueueComputeEnvironmentOrderComputeEnvironment
-    , (Just . ("Order",) . toJSON . fmap Integer') _batchJobQueueComputeEnvironmentOrderOrder
+    , (Just . ("Order",) . toJSON) _batchJobQueueComputeEnvironmentOrderOrder
     ]
 
 -- | Constructor for 'BatchJobQueueComputeEnvironmentOrder' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetCostTypes.hs b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetCostTypes.hs
--- a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetCostTypes.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetCostTypes.hs
@@ -31,17 +31,17 @@
   toJSON BudgetsBudgetCostTypes{..} =
     object $
     catMaybes
-    [ fmap (("IncludeCredit",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeCredit
-    , fmap (("IncludeDiscount",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeDiscount
-    , fmap (("IncludeOtherSubscription",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeOtherSubscription
-    , fmap (("IncludeRecurring",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeRecurring
-    , fmap (("IncludeRefund",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeRefund
-    , fmap (("IncludeSubscription",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeSubscription
-    , fmap (("IncludeSupport",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeSupport
-    , fmap (("IncludeTax",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeTax
-    , fmap (("IncludeUpfront",) . toJSON . fmap Bool') _budgetsBudgetCostTypesIncludeUpfront
-    , fmap (("UseAmortized",) . toJSON . fmap Bool') _budgetsBudgetCostTypesUseAmortized
-    , fmap (("UseBlended",) . toJSON . fmap Bool') _budgetsBudgetCostTypesUseBlended
+    [ fmap (("IncludeCredit",) . toJSON) _budgetsBudgetCostTypesIncludeCredit
+    , fmap (("IncludeDiscount",) . toJSON) _budgetsBudgetCostTypesIncludeDiscount
+    , fmap (("IncludeOtherSubscription",) . toJSON) _budgetsBudgetCostTypesIncludeOtherSubscription
+    , fmap (("IncludeRecurring",) . toJSON) _budgetsBudgetCostTypesIncludeRecurring
+    , fmap (("IncludeRefund",) . toJSON) _budgetsBudgetCostTypesIncludeRefund
+    , fmap (("IncludeSubscription",) . toJSON) _budgetsBudgetCostTypesIncludeSubscription
+    , fmap (("IncludeSupport",) . toJSON) _budgetsBudgetCostTypesIncludeSupport
+    , fmap (("IncludeTax",) . toJSON) _budgetsBudgetCostTypesIncludeTax
+    , fmap (("IncludeUpfront",) . toJSON) _budgetsBudgetCostTypesIncludeUpfront
+    , fmap (("UseAmortized",) . toJSON) _budgetsBudgetCostTypesUseAmortized
+    , fmap (("UseBlended",) . toJSON) _budgetsBudgetCostTypesUseBlended
     ]
 
 -- | Constructor for 'BudgetsBudgetCostTypes' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetNotification.hs b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetNotification.hs
--- a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetNotification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetNotification.hs
@@ -26,7 +26,7 @@
     catMaybes
     [ (Just . ("ComparisonOperator",) . toJSON) _budgetsBudgetNotificationComparisonOperator
     , (Just . ("NotificationType",) . toJSON) _budgetsBudgetNotificationNotificationType
-    , (Just . ("Threshold",) . toJSON . fmap Double') _budgetsBudgetNotificationThreshold
+    , (Just . ("Threshold",) . toJSON) _budgetsBudgetNotificationThreshold
     , fmap (("ThresholdType",) . toJSON) _budgetsBudgetNotificationThresholdType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetSpend.hs b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetSpend.hs
--- a/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetSpend.hs
+++ b/library-gen/Stratosphere/ResourceProperties/BudgetsBudgetSpend.hs
@@ -22,7 +22,7 @@
   toJSON BudgetsBudgetSpend{..} =
     object $
     catMaybes
-    [ (Just . ("Amount",) . toJSON . fmap Double') _budgetsBudgetSpendAmount
+    [ (Just . ("Amount",) . toJSON) _budgetsBudgetSpendAmount
     , (Just . ("Unit",) . toJSON) _budgetsBudgetSpendUnit
     ]
 
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
@@ -37,15 +37,15 @@
     catMaybes
     [ fmap (("AllowedMethods",) . toJSON) _cloudFrontDistributionCacheBehaviorAllowedMethods
     , fmap (("CachedMethods",) . toJSON) _cloudFrontDistributionCacheBehaviorCachedMethods
-    , fmap (("Compress",) . toJSON . fmap Bool') _cloudFrontDistributionCacheBehaviorCompress
-    , fmap (("DefaultTTL",) . toJSON . fmap Double') _cloudFrontDistributionCacheBehaviorDefaultTTL
+    , fmap (("Compress",) . toJSON) _cloudFrontDistributionCacheBehaviorCompress
+    , fmap (("DefaultTTL",) . toJSON) _cloudFrontDistributionCacheBehaviorDefaultTTL
     , fmap (("FieldLevelEncryptionId",) . toJSON) _cloudFrontDistributionCacheBehaviorFieldLevelEncryptionId
     , (Just . ("ForwardedValues",) . toJSON) _cloudFrontDistributionCacheBehaviorForwardedValues
     , fmap (("LambdaFunctionAssociations",) . toJSON) _cloudFrontDistributionCacheBehaviorLambdaFunctionAssociations
-    , fmap (("MaxTTL",) . toJSON . fmap Double') _cloudFrontDistributionCacheBehaviorMaxTTL
-    , fmap (("MinTTL",) . toJSON . fmap Double') _cloudFrontDistributionCacheBehaviorMinTTL
+    , fmap (("MaxTTL",) . toJSON) _cloudFrontDistributionCacheBehaviorMaxTTL
+    , fmap (("MinTTL",) . toJSON) _cloudFrontDistributionCacheBehaviorMinTTL
     , (Just . ("PathPattern",) . toJSON) _cloudFrontDistributionCacheBehaviorPathPattern
-    , fmap (("SmoothStreaming",) . toJSON . fmap Bool') _cloudFrontDistributionCacheBehaviorSmoothStreaming
+    , fmap (("SmoothStreaming",) . toJSON) _cloudFrontDistributionCacheBehaviorSmoothStreaming
     , (Just . ("TargetOriginId",) . toJSON) _cloudFrontDistributionCacheBehaviorTargetOriginId
     , fmap (("TrustedSigners",) . toJSON) _cloudFrontDistributionCacheBehaviorTrustedSigners
     , (Just . ("ViewerProtocolPolicy",) . toJSON) _cloudFrontDistributionCacheBehaviorViewerProtocolPolicy
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomErrorResponse.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomErrorResponse.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomErrorResponse.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomErrorResponse.hs
@@ -25,9 +25,9 @@
   toJSON CloudFrontDistributionCustomErrorResponse{..} =
     object $
     catMaybes
-    [ fmap (("ErrorCachingMinTTL",) . toJSON . fmap Double') _cloudFrontDistributionCustomErrorResponseErrorCachingMinTTL
-    , (Just . ("ErrorCode",) . toJSON . fmap Integer') _cloudFrontDistributionCustomErrorResponseErrorCode
-    , fmap (("ResponseCode",) . toJSON . fmap Integer') _cloudFrontDistributionCustomErrorResponseResponseCode
+    [ fmap (("ErrorCachingMinTTL",) . toJSON) _cloudFrontDistributionCustomErrorResponseErrorCachingMinTTL
+    , (Just . ("ErrorCode",) . toJSON) _cloudFrontDistributionCustomErrorResponseErrorCode
+    , fmap (("ResponseCode",) . toJSON) _cloudFrontDistributionCustomErrorResponseResponseCode
     , fmap (("ResponsePagePath",) . toJSON) _cloudFrontDistributionCustomErrorResponseResponsePagePath
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomOriginConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomOriginConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomOriginConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCustomOriginConfig.hs
@@ -27,11 +27,11 @@
   toJSON CloudFrontDistributionCustomOriginConfig{..} =
     object $
     catMaybes
-    [ fmap (("HTTPPort",) . toJSON . fmap Integer') _cloudFrontDistributionCustomOriginConfigHTTPPort
-    , fmap (("HTTPSPort",) . toJSON . fmap Integer') _cloudFrontDistributionCustomOriginConfigHTTPSPort
-    , fmap (("OriginKeepaliveTimeout",) . toJSON . fmap Integer') _cloudFrontDistributionCustomOriginConfigOriginKeepaliveTimeout
+    [ fmap (("HTTPPort",) . toJSON) _cloudFrontDistributionCustomOriginConfigHTTPPort
+    , fmap (("HTTPSPort",) . toJSON) _cloudFrontDistributionCustomOriginConfigHTTPSPort
+    , fmap (("OriginKeepaliveTimeout",) . toJSON) _cloudFrontDistributionCustomOriginConfigOriginKeepaliveTimeout
     , (Just . ("OriginProtocolPolicy",) . toJSON) _cloudFrontDistributionCustomOriginConfigOriginProtocolPolicy
-    , fmap (("OriginReadTimeout",) . toJSON . fmap Integer') _cloudFrontDistributionCustomOriginConfigOriginReadTimeout
+    , fmap (("OriginReadTimeout",) . toJSON) _cloudFrontDistributionCustomOriginConfigOriginReadTimeout
     , fmap (("OriginSSLProtocols",) . toJSON) _cloudFrontDistributionCustomOriginConfigOriginSSLProtocols
     ]
 
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
@@ -37,14 +37,14 @@
     catMaybes
     [ fmap (("AllowedMethods",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorAllowedMethods
     , fmap (("CachedMethods",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorCachedMethods
-    , fmap (("Compress",) . toJSON . fmap Bool') _cloudFrontDistributionDefaultCacheBehaviorCompress
-    , fmap (("DefaultTTL",) . toJSON . fmap Double') _cloudFrontDistributionDefaultCacheBehaviorDefaultTTL
+    , fmap (("Compress",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorCompress
+    , fmap (("DefaultTTL",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorDefaultTTL
     , fmap (("FieldLevelEncryptionId",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorFieldLevelEncryptionId
     , (Just . ("ForwardedValues",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorForwardedValues
     , fmap (("LambdaFunctionAssociations",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorLambdaFunctionAssociations
-    , fmap (("MaxTTL",) . toJSON . fmap Double') _cloudFrontDistributionDefaultCacheBehaviorMaxTTL
-    , fmap (("MinTTL",) . toJSON . fmap Double') _cloudFrontDistributionDefaultCacheBehaviorMinTTL
-    , fmap (("SmoothStreaming",) . toJSON . fmap Bool') _cloudFrontDistributionDefaultCacheBehaviorSmoothStreaming
+    , fmap (("MaxTTL",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorMaxTTL
+    , fmap (("MinTTL",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorMinTTL
+    , fmap (("SmoothStreaming",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorSmoothStreaming
     , (Just . ("TargetOriginId",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorTargetOriginId
     , fmap (("TrustedSigners",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorTrustedSigners
     , (Just . ("ViewerProtocolPolicy",) . toJSON) _cloudFrontDistributionDefaultCacheBehaviorViewerProtocolPolicy
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionDistributionConfig.hs
@@ -48,9 +48,9 @@
     , fmap (("CustomErrorResponses",) . toJSON) _cloudFrontDistributionDistributionConfigCustomErrorResponses
     , fmap (("DefaultCacheBehavior",) . toJSON) _cloudFrontDistributionDistributionConfigDefaultCacheBehavior
     , fmap (("DefaultRootObject",) . toJSON) _cloudFrontDistributionDistributionConfigDefaultRootObject
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _cloudFrontDistributionDistributionConfigEnabled
+    , (Just . ("Enabled",) . toJSON) _cloudFrontDistributionDistributionConfigEnabled
     , fmap (("HttpVersion",) . toJSON) _cloudFrontDistributionDistributionConfigHttpVersion
-    , fmap (("IPV6Enabled",) . toJSON . fmap Bool') _cloudFrontDistributionDistributionConfigIPV6Enabled
+    , fmap (("IPV6Enabled",) . toJSON) _cloudFrontDistributionDistributionConfigIPV6Enabled
     , fmap (("Logging",) . toJSON) _cloudFrontDistributionDistributionConfigLogging
     , fmap (("Origins",) . toJSON) _cloudFrontDistributionDistributionConfigOrigins
     , fmap (("PriceClass",) . toJSON) _cloudFrontDistributionDistributionConfigPriceClass
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionForwardedValues.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionForwardedValues.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionForwardedValues.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionForwardedValues.hs
@@ -27,7 +27,7 @@
     catMaybes
     [ fmap (("Cookies",) . toJSON) _cloudFrontDistributionForwardedValuesCookies
     , fmap (("Headers",) . toJSON) _cloudFrontDistributionForwardedValuesHeaders
-    , (Just . ("QueryString",) . toJSON . fmap Bool') _cloudFrontDistributionForwardedValuesQueryString
+    , (Just . ("QueryString",) . toJSON) _cloudFrontDistributionForwardedValuesQueryString
     , fmap (("QueryStringCacheKeys",) . toJSON) _cloudFrontDistributionForwardedValuesQueryStringCacheKeys
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLogging.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLogging.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLogging.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionLogging.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("Bucket",) . toJSON) _cloudFrontDistributionLoggingBucket
-    , fmap (("IncludeCookies",) . toJSON . fmap Bool') _cloudFrontDistributionLoggingIncludeCookies
+    , fmap (("IncludeCookies",) . toJSON) _cloudFrontDistributionLoggingIncludeCookies
     , fmap (("Prefix",) . toJSON) _cloudFrontDistributionLoggingPrefix
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionViewerCertificate.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionViewerCertificate.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionViewerCertificate.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionViewerCertificate.hs
@@ -27,7 +27,7 @@
     object $
     catMaybes
     [ fmap (("AcmCertificateArn",) . toJSON) _cloudFrontDistributionViewerCertificateAcmCertificateArn
-    , fmap (("CloudFrontDefaultCertificate",) . toJSON . fmap Bool') _cloudFrontDistributionViewerCertificateCloudFrontDefaultCertificate
+    , fmap (("CloudFrontDefaultCertificate",) . toJSON) _cloudFrontDistributionViewerCertificateCloudFrontDefaultCertificate
     , fmap (("IamCertificateId",) . toJSON) _cloudFrontDistributionViewerCertificateIamCertificateId
     , fmap (("MinimumProtocolVersion",) . toJSON) _cloudFrontDistributionViewerCertificateMinimumProtocolVersion
     , fmap (("SslSupportMethod",) . toJSON) _cloudFrontDistributionViewerCertificateSslSupportMethod
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionLogging.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionLogging.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionLogging.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionLogging.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ (Just . ("Bucket",) . toJSON) _cloudFrontStreamingDistributionLoggingBucket
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _cloudFrontStreamingDistributionLoggingEnabled
+    , (Just . ("Enabled",) . toJSON) _cloudFrontStreamingDistributionLoggingEnabled
     , (Just . ("Prefix",) . toJSON) _cloudFrontStreamingDistributionLoggingPrefix
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionStreamingDistributionConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionStreamingDistributionConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionStreamingDistributionConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionStreamingDistributionConfig.hs
@@ -33,7 +33,7 @@
     catMaybes
     [ fmap (("Aliases",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfigAliases
     , (Just . ("Comment",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfigComment
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _cloudFrontStreamingDistributionStreamingDistributionConfigEnabled
+    , (Just . ("Enabled",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfigEnabled
     , fmap (("Logging",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfigLogging
     , fmap (("PriceClass",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfigPriceClass
     , (Just . ("S3Origin",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfigS3Origin
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionTrustedSigners.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionTrustedSigners.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionTrustedSigners.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontStreamingDistributionTrustedSigners.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ fmap (("AwsAccountNumbers",) . toJSON) _cloudFrontStreamingDistributionTrustedSignersAwsAccountNumbers
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _cloudFrontStreamingDistributionTrustedSignersEnabled
+    , (Just . ("Enabled",) . toJSON) _cloudFrontStreamingDistributionTrustedSignersEnabled
     ]
 
 -- | Constructor for 'CloudFrontStreamingDistributionTrustedSigners'
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudTrailTrailEventSelector.hs b/library-gen/Stratosphere/ResourceProperties/CloudTrailTrailEventSelector.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudTrailTrailEventSelector.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudTrailTrailEventSelector.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("DataResources",) . toJSON) _cloudTrailTrailEventSelectorDataResources
-    , fmap (("IncludeManagementEvents",) . toJSON . fmap Bool') _cloudTrailTrailEventSelectorIncludeManagementEvents
+    , fmap (("IncludeManagementEvents",) . toJSON) _cloudTrailTrailEventSelectorIncludeManagementEvents
     , fmap (("ReadWriteType",) . toJSON) _cloudTrailTrailEventSelectorReadWriteType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricDataQuery.hs b/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricDataQuery.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricDataQuery.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricDataQuery.hs
@@ -29,7 +29,7 @@
     , (Just . ("Id",) . toJSON) _cloudWatchAlarmMetricDataQueryId
     , fmap (("Label",) . toJSON) _cloudWatchAlarmMetricDataQueryLabel
     , fmap (("MetricStat",) . toJSON) _cloudWatchAlarmMetricDataQueryMetricStat
-    , fmap (("ReturnData",) . toJSON . fmap Bool') _cloudWatchAlarmMetricDataQueryReturnData
+    , fmap (("ReturnData",) . toJSON) _cloudWatchAlarmMetricDataQueryReturnData
     ]
 
 -- | Constructor for 'CloudWatchAlarmMetricDataQuery' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricStat.hs b/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricStat.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricStat.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmMetricStat.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ (Just . ("Metric",) . toJSON) _cloudWatchAlarmMetricStatMetric
-    , (Just . ("Period",) . toJSON . fmap Integer') _cloudWatchAlarmMetricStatPeriod
+    , (Just . ("Period",) . toJSON) _cloudWatchAlarmMetricStatPeriod
     , (Just . ("Stat",) . toJSON) _cloudWatchAlarmMetricStatStat
     , fmap (("Unit",) . toJSON) _cloudWatchAlarmMetricStatUnit
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectArtifacts.hs
@@ -30,11 +30,11 @@
     object $
     catMaybes
     [ fmap (("ArtifactIdentifier",) . toJSON) _codeBuildProjectArtifactsArtifactIdentifier
-    , fmap (("EncryptionDisabled",) . toJSON . fmap Bool') _codeBuildProjectArtifactsEncryptionDisabled
+    , fmap (("EncryptionDisabled",) . toJSON) _codeBuildProjectArtifactsEncryptionDisabled
     , fmap (("Location",) . toJSON) _codeBuildProjectArtifactsLocation
     , fmap (("Name",) . toJSON) _codeBuildProjectArtifactsName
     , fmap (("NamespaceType",) . toJSON) _codeBuildProjectArtifactsNamespaceType
-    , fmap (("OverrideArtifactName",) . toJSON . fmap Bool') _codeBuildProjectArtifactsOverrideArtifactName
+    , fmap (("OverrideArtifactName",) . toJSON) _codeBuildProjectArtifactsOverrideArtifactName
     , fmap (("Packaging",) . toJSON) _codeBuildProjectArtifactsPackaging
     , fmap (("Path",) . toJSON) _codeBuildProjectArtifactsPath
     , (Just . ("Type",) . toJSON) _codeBuildProjectArtifactsType
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironment.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironment.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironment.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironment.hs
@@ -34,7 +34,7 @@
     , fmap (("EnvironmentVariables",) . toJSON) _codeBuildProjectEnvironmentEnvironmentVariables
     , (Just . ("Image",) . toJSON) _codeBuildProjectEnvironmentImage
     , fmap (("ImagePullCredentialsType",) . toJSON) _codeBuildProjectEnvironmentImagePullCredentialsType
-    , fmap (("PrivilegedMode",) . toJSON . fmap Bool') _codeBuildProjectEnvironmentPrivilegedMode
+    , fmap (("PrivilegedMode",) . toJSON) _codeBuildProjectEnvironmentPrivilegedMode
     , fmap (("RegistryCredential",) . toJSON) _codeBuildProjectEnvironmentRegistryCredential
     , (Just . ("Type",) . toJSON) _codeBuildProjectEnvironmentType
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectGitSubmodulesConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectGitSubmodulesConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectGitSubmodulesConfig.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html
+
+module Stratosphere.ResourceProperties.CodeBuildProjectGitSubmodulesConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for CodeBuildProjectGitSubmodulesConfig. See
+-- 'codeBuildProjectGitSubmodulesConfig' for a more convenient constructor.
+data CodeBuildProjectGitSubmodulesConfig =
+  CodeBuildProjectGitSubmodulesConfig
+  { _codeBuildProjectGitSubmodulesConfigFetchSubmodules :: Val Bool
+  } deriving (Show, Eq)
+
+instance ToJSON CodeBuildProjectGitSubmodulesConfig where
+  toJSON CodeBuildProjectGitSubmodulesConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("FetchSubmodules",) . toJSON) _codeBuildProjectGitSubmodulesConfigFetchSubmodules
+    ]
+
+-- | Constructor for 'CodeBuildProjectGitSubmodulesConfig' containing required
+-- fields as arguments.
+codeBuildProjectGitSubmodulesConfig
+  :: Val Bool -- ^ 'cbpgscFetchSubmodules'
+  -> CodeBuildProjectGitSubmodulesConfig
+codeBuildProjectGitSubmodulesConfig fetchSubmodulesarg =
+  CodeBuildProjectGitSubmodulesConfig
+  { _codeBuildProjectGitSubmodulesConfigFetchSubmodules = fetchSubmodulesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html#cfn-codebuild-project-gitsubmodulesconfig-fetchsubmodules
+cbpgscFetchSubmodules :: Lens' CodeBuildProjectGitSubmodulesConfig (Val Bool)
+cbpgscFetchSubmodules = lens _codeBuildProjectGitSubmodulesConfigFetchSubmodules (\s a -> s { _codeBuildProjectGitSubmodulesConfigFetchSubmodules = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectProjectTriggers.hs
@@ -21,7 +21,7 @@
   toJSON CodeBuildProjectProjectTriggers{..} =
     object $
     catMaybes
-    [ fmap (("Webhook",) . toJSON . fmap Bool') _codeBuildProjectProjectTriggersWebhook
+    [ fmap (("Webhook",) . toJSON) _codeBuildProjectProjectTriggersWebhook
     ]
 
 -- | Constructor for 'CodeBuildProjectProjectTriggers' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectS3LogsConfig.hs
@@ -14,7 +14,8 @@
 -- 'codeBuildProjectS3LogsConfig' for a more convenient constructor.
 data CodeBuildProjectS3LogsConfig =
   CodeBuildProjectS3LogsConfig
-  { _codeBuildProjectS3LogsConfigLocation :: Maybe (Val Text)
+  { _codeBuildProjectS3LogsConfigEncryptionDisabled :: Maybe (Val Bool)
+  , _codeBuildProjectS3LogsConfigLocation :: Maybe (Val Text)
   , _codeBuildProjectS3LogsConfigStatus :: Val Text
   } deriving (Show, Eq)
 
@@ -22,7 +23,8 @@
   toJSON CodeBuildProjectS3LogsConfig{..} =
     object $
     catMaybes
-    [ fmap (("Location",) . toJSON) _codeBuildProjectS3LogsConfigLocation
+    [ fmap (("EncryptionDisabled",) . toJSON) _codeBuildProjectS3LogsConfigEncryptionDisabled
+    , fmap (("Location",) . toJSON) _codeBuildProjectS3LogsConfigLocation
     , (Just . ("Status",) . toJSON) _codeBuildProjectS3LogsConfigStatus
     ]
 
@@ -33,9 +35,14 @@
   -> CodeBuildProjectS3LogsConfig
 codeBuildProjectS3LogsConfig statusarg =
   CodeBuildProjectS3LogsConfig
-  { _codeBuildProjectS3LogsConfigLocation = Nothing
+  { _codeBuildProjectS3LogsConfigEncryptionDisabled = Nothing
+  , _codeBuildProjectS3LogsConfigLocation = Nothing
   , _codeBuildProjectS3LogsConfigStatus = statusarg
   }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-encryptiondisabled
+cbpslcEncryptionDisabled :: Lens' CodeBuildProjectS3LogsConfig (Maybe (Val Bool))
+cbpslcEncryptionDisabled = lens _codeBuildProjectS3LogsConfigEncryptionDisabled (\s a -> s { _codeBuildProjectS3LogsConfigEncryptionDisabled = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-location
 cbpslcLocation :: Lens' CodeBuildProjectS3LogsConfig (Maybe (Val Text))
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSource.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.CodeBuildProjectSourceAuth
+import Stratosphere.ResourceProperties.CodeBuildProjectGitSubmodulesConfig
 
 -- | Full data type definition for CodeBuildProjectSource. See
 -- 'codeBuildProjectSource' for a more convenient constructor.
@@ -17,6 +18,7 @@
   { _codeBuildProjectSourceAuth :: Maybe CodeBuildProjectSourceAuth
   , _codeBuildProjectSourceBuildSpec :: Maybe (Val Text)
   , _codeBuildProjectSourceGitCloneDepth :: Maybe (Val Integer)
+  , _codeBuildProjectSourceGitSubmodulesConfig :: Maybe CodeBuildProjectGitSubmodulesConfig
   , _codeBuildProjectSourceInsecureSsl :: Maybe (Val Bool)
   , _codeBuildProjectSourceLocation :: Maybe (Val Text)
   , _codeBuildProjectSourceReportBuildStatus :: Maybe (Val Bool)
@@ -30,10 +32,11 @@
     catMaybes
     [ fmap (("Auth",) . toJSON) _codeBuildProjectSourceAuth
     , fmap (("BuildSpec",) . toJSON) _codeBuildProjectSourceBuildSpec
-    , fmap (("GitCloneDepth",) . toJSON . fmap Integer') _codeBuildProjectSourceGitCloneDepth
-    , fmap (("InsecureSsl",) . toJSON . fmap Bool') _codeBuildProjectSourceInsecureSsl
+    , fmap (("GitCloneDepth",) . toJSON) _codeBuildProjectSourceGitCloneDepth
+    , fmap (("GitSubmodulesConfig",) . toJSON) _codeBuildProjectSourceGitSubmodulesConfig
+    , fmap (("InsecureSsl",) . toJSON) _codeBuildProjectSourceInsecureSsl
     , fmap (("Location",) . toJSON) _codeBuildProjectSourceLocation
-    , fmap (("ReportBuildStatus",) . toJSON . fmap Bool') _codeBuildProjectSourceReportBuildStatus
+    , fmap (("ReportBuildStatus",) . toJSON) _codeBuildProjectSourceReportBuildStatus
     , fmap (("SourceIdentifier",) . toJSON) _codeBuildProjectSourceSourceIdentifier
     , (Just . ("Type",) . toJSON) _codeBuildProjectSourceType
     ]
@@ -48,6 +51,7 @@
   { _codeBuildProjectSourceAuth = Nothing
   , _codeBuildProjectSourceBuildSpec = Nothing
   , _codeBuildProjectSourceGitCloneDepth = Nothing
+  , _codeBuildProjectSourceGitSubmodulesConfig = Nothing
   , _codeBuildProjectSourceInsecureSsl = Nothing
   , _codeBuildProjectSourceLocation = Nothing
   , _codeBuildProjectSourceReportBuildStatus = Nothing
@@ -66,6 +70,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitclonedepth
 cbpsGitCloneDepth :: Lens' CodeBuildProjectSource (Maybe (Val Integer))
 cbpsGitCloneDepth = lens _codeBuildProjectSourceGitCloneDepth (\s a -> s { _codeBuildProjectSourceGitCloneDepth = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitsubmodulesconfig
+cbpsGitSubmodulesConfig :: Lens' CodeBuildProjectSource (Maybe CodeBuildProjectGitSubmodulesConfig)
+cbpsGitSubmodulesConfig = lens _codeBuildProjectSourceGitSubmodulesConfig (\s a -> s { _codeBuildProjectSourceGitSubmodulesConfig = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-insecuressl
 cbpsInsecureSsl :: Lens' CodeBuildProjectSource (Maybe (Val Bool))
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectWebhookFilter.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectWebhookFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectWebhookFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectWebhookFilter.hs
@@ -23,7 +23,7 @@
   toJSON CodeBuildProjectWebhookFilter{..} =
     object $
     catMaybes
-    [ fmap (("ExcludeMatchedPattern",) . toJSON . fmap Bool') _codeBuildProjectWebhookFilterExcludeMatchedPattern
+    [ fmap (("ExcludeMatchedPattern",) . toJSON) _codeBuildProjectWebhookFilterExcludeMatchedPattern
     , (Just . ("Pattern",) . toJSON) _codeBuildProjectWebhookFilterPattern
     , (Just . ("Type",) . toJSON) _codeBuildProjectWebhookFilterType
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentConfigMinimumHealthyHosts.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentConfigMinimumHealthyHosts.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentConfigMinimumHealthyHosts.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentConfigMinimumHealthyHosts.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ (Just . ("Type",) . toJSON) _codeDeployDeploymentConfigMinimumHealthyHostsType
-    , (Just . ("Value",) . toJSON . fmap Integer') _codeDeployDeploymentConfigMinimumHealthyHostsValue
+    , (Just . ("Value",) . toJSON) _codeDeployDeploymentConfigMinimumHealthyHostsValue
     ]
 
 -- | Constructor for 'CodeDeployDeploymentConfigMinimumHealthyHosts'
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAlarmConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAlarmConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAlarmConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAlarmConfiguration.hs
@@ -26,8 +26,8 @@
     object $
     catMaybes
     [ fmap (("Alarms",) . toJSON) _codeDeployDeploymentGroupAlarmConfigurationAlarms
-    , fmap (("Enabled",) . toJSON . fmap Bool') _codeDeployDeploymentGroupAlarmConfigurationEnabled
-    , fmap (("IgnorePollAlarmFailure",) . toJSON . fmap Bool') _codeDeployDeploymentGroupAlarmConfigurationIgnorePollAlarmFailure
+    , fmap (("Enabled",) . toJSON) _codeDeployDeploymentGroupAlarmConfigurationEnabled
+    , fmap (("IgnorePollAlarmFailure",) . toJSON) _codeDeployDeploymentGroupAlarmConfigurationIgnorePollAlarmFailure
     ]
 
 -- | Constructor for 'CodeDeployDeploymentGroupAlarmConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAutoRollbackConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAutoRollbackConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAutoRollbackConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAutoRollbackConfiguration.hs
@@ -24,7 +24,7 @@
   toJSON CodeDeployDeploymentGroupAutoRollbackConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _codeDeployDeploymentGroupAutoRollbackConfigurationEnabled
+    [ fmap (("Enabled",) . toJSON) _codeDeployDeploymentGroupAutoRollbackConfigurationEnabled
     , fmap (("Events",) . toJSON) _codeDeployDeploymentGroupAutoRollbackConfigurationEvents
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupDeployment.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupDeployment.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupDeployment.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupDeployment.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("Description",) . toJSON) _codeDeployDeploymentGroupDeploymentDescription
-    , fmap (("IgnoreApplicationStopFailures",) . toJSON . fmap Bool') _codeDeployDeploymentGroupDeploymentIgnoreApplicationStopFailures
+    , fmap (("IgnoreApplicationStopFailures",) . toJSON) _codeDeployDeploymentGroupDeploymentIgnoreApplicationStopFailures
     , (Just . ("Revision",) . toJSON) _codeDeployDeploymentGroupDeploymentRevision
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeArtifactDetails.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeArtifactDetails.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeArtifactDetails.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeArtifactDetails.hs
@@ -24,8 +24,8 @@
   toJSON CodePipelineCustomActionTypeArtifactDetails{..} =
     object $
     catMaybes
-    [ (Just . ("MaximumCount",) . toJSON . fmap Integer') _codePipelineCustomActionTypeArtifactDetailsMaximumCount
-    , (Just . ("MinimumCount",) . toJSON . fmap Integer') _codePipelineCustomActionTypeArtifactDetailsMinimumCount
+    [ (Just . ("MaximumCount",) . toJSON) _codePipelineCustomActionTypeArtifactDetailsMaximumCount
+    , (Just . ("MinimumCount",) . toJSON) _codePipelineCustomActionTypeArtifactDetailsMinimumCount
     ]
 
 -- | Constructor for 'CodePipelineCustomActionTypeArtifactDetails' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeConfigurationProperties.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeConfigurationProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeConfigurationProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeConfigurationProperties.hs
@@ -30,11 +30,11 @@
     object $
     catMaybes
     [ fmap (("Description",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesDescription
-    , (Just . ("Key",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesKey
+    , (Just . ("Key",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesKey
     , (Just . ("Name",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesName
-    , fmap (("Queryable",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesQueryable
-    , (Just . ("Required",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesRequired
-    , (Just . ("Secret",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesSecret
+    , fmap (("Queryable",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesQueryable
+    , (Just . ("Required",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesRequired
+    , (Just . ("Secret",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesSecret
     , fmap (("Type",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionDeclaration.hs
@@ -38,7 +38,7 @@
     , fmap (("OutputArtifacts",) . toJSON) _codePipelinePipelineActionDeclarationOutputArtifacts
     , fmap (("Region",) . toJSON) _codePipelinePipelineActionDeclarationRegion
     , fmap (("RoleArn",) . toJSON) _codePipelinePipelineActionDeclarationRoleArn
-    , fmap (("RunOrder",) . toJSON . fmap Integer') _codePipelinePipelineActionDeclarationRunOrder
+    , fmap (("RunOrder",) . toJSON) _codePipelinePipelineActionDeclarationRunOrder
     ]
 
 -- | Constructor for 'CodePipelinePipelineActionDeclaration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoIdentityPoolCognitoIdentityProvider.hs b/library-gen/Stratosphere/ResourceProperties/CognitoIdentityPoolCognitoIdentityProvider.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoIdentityPoolCognitoIdentityProvider.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoIdentityPoolCognitoIdentityProvider.hs
@@ -26,7 +26,7 @@
     catMaybes
     [ fmap (("ClientId",) . toJSON) _cognitoIdentityPoolCognitoIdentityProviderClientId
     , fmap (("ProviderName",) . toJSON) _cognitoIdentityPoolCognitoIdentityProviderProviderName
-    , fmap (("ServerSideTokenCheck",) . toJSON . fmap Bool') _cognitoIdentityPoolCognitoIdentityProviderServerSideTokenCheck
+    , fmap (("ServerSideTokenCheck",) . toJSON) _cognitoIdentityPoolCognitoIdentityProviderServerSideTokenCheck
     ]
 
 -- | Constructor for 'CognitoIdentityPoolCognitoIdentityProvider' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolAdminCreateUserConfig.hs
@@ -23,9 +23,9 @@
   toJSON CognitoUserPoolAdminCreateUserConfig{..} =
     object $
     catMaybes
-    [ fmap (("AllowAdminCreateUserOnly",) . toJSON . fmap Bool') _cognitoUserPoolAdminCreateUserConfigAllowAdminCreateUserOnly
+    [ fmap (("AllowAdminCreateUserOnly",) . toJSON) _cognitoUserPoolAdminCreateUserConfigAllowAdminCreateUserOnly
     , fmap (("InviteMessageTemplate",) . toJSON) _cognitoUserPoolAdminCreateUserConfigInviteMessageTemplate
-    , fmap (("UnusedAccountValidityDays",) . toJSON . fmap Double') _cognitoUserPoolAdminCreateUserConfigUnusedAccountValidityDays
+    , fmap (("UnusedAccountValidityDays",) . toJSON) _cognitoUserPoolAdminCreateUserConfigUnusedAccountValidityDays
     ]
 
 -- | Constructor for 'CognitoUserPoolAdminCreateUserConfig' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDeviceConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDeviceConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDeviceConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolDeviceConfiguration.hs
@@ -22,8 +22,8 @@
   toJSON CognitoUserPoolDeviceConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("ChallengeRequiredOnNewDevice",) . toJSON . fmap Bool') _cognitoUserPoolDeviceConfigurationChallengeRequiredOnNewDevice
-    , fmap (("DeviceOnlyRememberedOnUserPrompt",) . toJSON . fmap Bool') _cognitoUserPoolDeviceConfigurationDeviceOnlyRememberedOnUserPrompt
+    [ fmap (("ChallengeRequiredOnNewDevice",) . toJSON) _cognitoUserPoolDeviceConfigurationChallengeRequiredOnNewDevice
+    , fmap (("DeviceOnlyRememberedOnUserPrompt",) . toJSON) _cognitoUserPoolDeviceConfigurationDeviceOnlyRememberedOnUserPrompt
     ]
 
 -- | Constructor for 'CognitoUserPoolDeviceConfiguration' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolPasswordPolicy.hs
@@ -25,11 +25,11 @@
   toJSON CognitoUserPoolPasswordPolicy{..} =
     object $
     catMaybes
-    [ fmap (("MinimumLength",) . toJSON . fmap Integer') _cognitoUserPoolPasswordPolicyMinimumLength
-    , fmap (("RequireLowercase",) . toJSON . fmap Bool') _cognitoUserPoolPasswordPolicyRequireLowercase
-    , fmap (("RequireNumbers",) . toJSON . fmap Bool') _cognitoUserPoolPasswordPolicyRequireNumbers
-    , fmap (("RequireSymbols",) . toJSON . fmap Bool') _cognitoUserPoolPasswordPolicyRequireSymbols
-    , fmap (("RequireUppercase",) . toJSON . fmap Bool') _cognitoUserPoolPasswordPolicyRequireUppercase
+    [ fmap (("MinimumLength",) . toJSON) _cognitoUserPoolPasswordPolicyMinimumLength
+    , fmap (("RequireLowercase",) . toJSON) _cognitoUserPoolPasswordPolicyRequireLowercase
+    , fmap (("RequireNumbers",) . toJSON) _cognitoUserPoolPasswordPolicyRequireNumbers
+    , fmap (("RequireSymbols",) . toJSON) _cognitoUserPoolPasswordPolicyRequireSymbols
+    , fmap (("RequireUppercase",) . toJSON) _cognitoUserPoolPasswordPolicyRequireUppercase
     ]
 
 -- | Constructor for 'CognitoUserPoolPasswordPolicy' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolSchemaAttribute.hs b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolSchemaAttribute.hs
--- a/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolSchemaAttribute.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CognitoUserPoolSchemaAttribute.hs
@@ -29,11 +29,11 @@
     object $
     catMaybes
     [ fmap (("AttributeDataType",) . toJSON) _cognitoUserPoolSchemaAttributeAttributeDataType
-    , fmap (("DeveloperOnlyAttribute",) . toJSON . fmap Bool') _cognitoUserPoolSchemaAttributeDeveloperOnlyAttribute
-    , fmap (("Mutable",) . toJSON . fmap Bool') _cognitoUserPoolSchemaAttributeMutable
+    , fmap (("DeveloperOnlyAttribute",) . toJSON) _cognitoUserPoolSchemaAttributeDeveloperOnlyAttribute
+    , fmap (("Mutable",) . toJSON) _cognitoUserPoolSchemaAttributeMutable
     , fmap (("Name",) . toJSON) _cognitoUserPoolSchemaAttributeName
     , fmap (("NumberAttributeConstraints",) . toJSON) _cognitoUserPoolSchemaAttributeNumberAttributeConstraints
-    , fmap (("Required",) . toJSON . fmap Bool') _cognitoUserPoolSchemaAttributeRequired
+    , fmap (("Required",) . toJSON) _cognitoUserPoolSchemaAttributeRequired
     , fmap (("StringAttributeConstraints",) . toJSON) _cognitoUserPoolSchemaAttributeStringAttributeConstraints
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorAccountAggregationSource.hs b/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorAccountAggregationSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorAccountAggregationSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorAccountAggregationSource.hs
@@ -26,7 +26,7 @@
     object $
     catMaybes
     [ (Just . ("AccountIds",) . toJSON) _configConfigurationAggregatorAccountAggregationSourceAccountIds
-    , fmap (("AllAwsRegions",) . toJSON . fmap Bool') _configConfigurationAggregatorAccountAggregationSourceAllAwsRegions
+    , fmap (("AllAwsRegions",) . toJSON) _configConfigurationAggregatorAccountAggregationSourceAllAwsRegions
     , fmap (("AwsRegions",) . toJSON) _configConfigurationAggregatorAccountAggregationSourceAwsRegions
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorOrganizationAggregationSource.hs b/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorOrganizationAggregationSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorOrganizationAggregationSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationAggregatorOrganizationAggregationSource.hs
@@ -25,7 +25,7 @@
   toJSON ConfigConfigurationAggregatorOrganizationAggregationSource{..} =
     object $
     catMaybes
-    [ fmap (("AllAwsRegions",) . toJSON . fmap Bool') _configConfigurationAggregatorOrganizationAggregationSourceAllAwsRegions
+    [ fmap (("AllAwsRegions",) . toJSON) _configConfigurationAggregatorOrganizationAggregationSourceAllAwsRegions
     , fmap (("AwsRegions",) . toJSON) _configConfigurationAggregatorOrganizationAggregationSourceAwsRegions
     , (Just . ("RoleArn",) . toJSON) _configConfigurationAggregatorOrganizationAggregationSourceRoleArn
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationRecorderRecordingGroup.hs b/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationRecorderRecordingGroup.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationRecorderRecordingGroup.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigConfigurationRecorderRecordingGroup.hs
@@ -24,8 +24,8 @@
   toJSON ConfigConfigurationRecorderRecordingGroup{..} =
     object $
     catMaybes
-    [ fmap (("AllSupported",) . toJSON . fmap Bool') _configConfigurationRecorderRecordingGroupAllSupported
-    , fmap (("IncludeGlobalResourceTypes",) . toJSON . fmap Bool') _configConfigurationRecorderRecordingGroupIncludeGlobalResourceTypes
+    [ fmap (("AllSupported",) . toJSON) _configConfigurationRecorderRecordingGroupAllSupported
+    , fmap (("IncludeGlobalResourceTypes",) . toJSON) _configConfigurationRecorderRecordingGroupIncludeGlobalResourceTypes
     , fmap (("ResourceTypes",) . toJSON) _configConfigurationRecorderRecordingGroupResourceTypes
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/DAXClusterSSESpecification.hs b/library-gen/Stratosphere/ResourceProperties/DAXClusterSSESpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DAXClusterSSESpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DAXClusterSSESpecification.hs
@@ -21,7 +21,7 @@
   toJSON DAXClusterSSESpecification{..} =
     object $
     catMaybes
-    [ fmap (("SSEEnabled",) . toJSON . fmap Bool') _dAXClusterSSESpecificationSSEEnabled
+    [ fmap (("SSEEnabled",) . toJSON) _dAXClusterSSESpecificationSSEEnabled
     ]
 
 -- | Constructor for 'DAXClusterSSESpecification' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCreateRule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCreateRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCreateRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyCreateRule.hs
@@ -23,7 +23,7 @@
   toJSON DLMLifecyclePolicyCreateRule{..} =
     object $
     catMaybes
-    [ (Just . ("Interval",) . toJSON . fmap Integer') _dLMLifecyclePolicyCreateRuleInterval
+    [ (Just . ("Interval",) . toJSON) _dLMLifecyclePolicyCreateRuleInterval
     , (Just . ("IntervalUnit",) . toJSON) _dLMLifecyclePolicyCreateRuleIntervalUnit
     , fmap (("Times",) . toJSON) _dLMLifecyclePolicyCreateRuleTimes
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicyRetainRule.hs
@@ -21,7 +21,7 @@
   toJSON DLMLifecyclePolicyRetainRule{..} =
     object $
     catMaybes
-    [ (Just . ("Count",) . toJSON . fmap Integer') _dLMLifecyclePolicyRetainRuleCount
+    [ (Just . ("Count",) . toJSON) _dLMLifecyclePolicyRetainRuleCount
     ]
 
 -- | Constructor for 'DLMLifecyclePolicyRetainRule' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs
--- a/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DLMLifecyclePolicySchedule.hs
@@ -27,7 +27,7 @@
   toJSON DLMLifecyclePolicySchedule{..} =
     object $
     catMaybes
-    [ fmap (("CopyTags",) . toJSON . fmap Bool') _dLMLifecyclePolicyScheduleCopyTags
+    [ fmap (("CopyTags",) . toJSON) _dLMLifecyclePolicyScheduleCopyTags
     , fmap (("CreateRule",) . toJSON) _dLMLifecyclePolicyScheduleCreateRule
     , fmap (("Name",) . toJSON) _dLMLifecyclePolicyScheduleName
     , fmap (("RetainRule",) . toJSON) _dLMLifecyclePolicyScheduleRetainRule
diff --git a/library-gen/Stratosphere/ResourceProperties/DMSEndpointElasticsearchSettings.hs b/library-gen/Stratosphere/ResourceProperties/DMSEndpointElasticsearchSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/DMSEndpointElasticsearchSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DMSEndpointElasticsearchSettings.hs
@@ -25,8 +25,8 @@
     object $
     catMaybes
     [ fmap (("EndpointUri",) . toJSON) _dMSEndpointElasticsearchSettingsEndpointUri
-    , fmap (("ErrorRetryDuration",) . toJSON . fmap Integer') _dMSEndpointElasticsearchSettingsErrorRetryDuration
-    , fmap (("FullLoadErrorPercentage",) . toJSON . fmap Integer') _dMSEndpointElasticsearchSettingsFullLoadErrorPercentage
+    , fmap (("ErrorRetryDuration",) . toJSON) _dMSEndpointElasticsearchSettingsErrorRetryDuration
+    , fmap (("FullLoadErrorPercentage",) . toJSON) _dMSEndpointElasticsearchSettingsFullLoadErrorPercentage
     , fmap (("ServiceAccessRoleArn",) . toJSON) _dMSEndpointElasticsearchSettingsServiceAccessRoleArn
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/DMSEndpointMongoDbSettings.hs b/library-gen/Stratosphere/ResourceProperties/DMSEndpointMongoDbSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/DMSEndpointMongoDbSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DMSEndpointMongoDbSettings.hs
@@ -39,7 +39,7 @@
     , fmap (("ExtractDocId",) . toJSON) _dMSEndpointMongoDbSettingsExtractDocId
     , fmap (("NestingLevel",) . toJSON) _dMSEndpointMongoDbSettingsNestingLevel
     , fmap (("Password",) . toJSON) _dMSEndpointMongoDbSettingsPassword
-    , fmap (("Port",) . toJSON . fmap Integer') _dMSEndpointMongoDbSettingsPort
+    , fmap (("Port",) . toJSON) _dMSEndpointMongoDbSettingsPort
     , fmap (("ServerName",) . toJSON) _dMSEndpointMongoDbSettingsServerName
     , fmap (("Username",) . toJSON) _dMSEndpointMongoDbSettingsUsername
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTablePointInTimeRecoverySpecification.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTablePointInTimeRecoverySpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTablePointInTimeRecoverySpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTablePointInTimeRecoverySpecification.hs
@@ -23,7 +23,7 @@
   toJSON DynamoDBTablePointInTimeRecoverySpecification{..} =
     object $
     catMaybes
-    [ fmap (("PointInTimeRecoveryEnabled",) . toJSON . fmap Bool') _dynamoDBTablePointInTimeRecoverySpecificationPointInTimeRecoveryEnabled
+    [ fmap (("PointInTimeRecoveryEnabled",) . toJSON) _dynamoDBTablePointInTimeRecoverySpecificationPointInTimeRecoveryEnabled
     ]
 
 -- | Constructor for 'DynamoDBTablePointInTimeRecoverySpecification'
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProvisionedThroughput.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProvisionedThroughput.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProvisionedThroughput.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProvisionedThroughput.hs
@@ -22,8 +22,8 @@
   toJSON DynamoDBTableProvisionedThroughput{..} =
     object $
     catMaybes
-    [ (Just . ("ReadCapacityUnits",) . toJSON . fmap Integer') _dynamoDBTableProvisionedThroughputReadCapacityUnits
-    , (Just . ("WriteCapacityUnits",) . toJSON . fmap Integer') _dynamoDBTableProvisionedThroughputWriteCapacityUnits
+    [ (Just . ("ReadCapacityUnits",) . toJSON) _dynamoDBTableProvisionedThroughputReadCapacityUnits
+    , (Just . ("WriteCapacityUnits",) . toJSON) _dynamoDBTableProvisionedThroughputWriteCapacityUnits
     ]
 
 -- | Constructor for 'DynamoDBTableProvisionedThroughput' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableSSESpecification.hs
@@ -21,7 +21,7 @@
   toJSON DynamoDBTableSSESpecification{..} =
     object $
     catMaybes
-    [ (Just . ("SSEEnabled",) . toJSON . fmap Bool') _dynamoDBTableSSESpecificationSSEEnabled
+    [ (Just . ("SSEEnabled",) . toJSON) _dynamoDBTableSSESpecificationSSEEnabled
     ]
 
 -- | Constructor for 'DynamoDBTableSSESpecification' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableTimeToLiveSpecification.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableTimeToLiveSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableTimeToLiveSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableTimeToLiveSpecification.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("AttributeName",) . toJSON) _dynamoDBTableTimeToLiveSpecificationAttributeName
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _dynamoDBTableTimeToLiveSpecificationEnabled
+    , (Just . ("Enabled",) . toJSON) _dynamoDBTableTimeToLiveSpecificationEnabled
     ]
 
 -- | Constructor for 'DynamoDBTableTimeToLiveSpecification' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateOverridesRequest.hs b/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateOverridesRequest.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateOverridesRequest.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetFleetLaunchTemplateOverridesRequest.hs
@@ -31,9 +31,9 @@
     [ fmap (("AvailabilityZone",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestAvailabilityZone
     , fmap (("InstanceType",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestInstanceType
     , fmap (("MaxPrice",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestMaxPrice
-    , fmap (("Priority",) . toJSON . fmap Double') _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority
+    , fmap (("Priority",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestPriority
     , fmap (("SubnetId",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestSubnetId
-    , fmap (("WeightedCapacity",) . toJSON . fmap Double') _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity
+    , fmap (("WeightedCapacity",) . toJSON) _eC2EC2FleetFleetLaunchTemplateOverridesRequestWeightedCapacity
     ]
 
 -- | Constructor for 'EC2EC2FleetFleetLaunchTemplateOverridesRequest'
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetSpotOptionsRequest.hs b/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetSpotOptionsRequest.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetSpotOptionsRequest.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetSpotOptionsRequest.hs
@@ -25,7 +25,7 @@
     catMaybes
     [ fmap (("AllocationStrategy",) . toJSON) _eC2EC2FleetSpotOptionsRequestAllocationStrategy
     , fmap (("InstanceInterruptionBehavior",) . toJSON) _eC2EC2FleetSpotOptionsRequestInstanceInterruptionBehavior
-    , fmap (("InstancePoolsToUseCount",) . toJSON . fmap Integer') _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount
+    , fmap (("InstancePoolsToUseCount",) . toJSON) _eC2EC2FleetSpotOptionsRequestInstancePoolsToUseCount
     ]
 
 -- | Constructor for 'EC2EC2FleetSpotOptionsRequest' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTargetCapacitySpecificationRequest.hs b/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTargetCapacitySpecificationRequest.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTargetCapacitySpecificationRequest.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2EC2FleetTargetCapacitySpecificationRequest.hs
@@ -27,9 +27,9 @@
     object $
     catMaybes
     [ fmap (("DefaultTargetCapacityType",) . toJSON) _eC2EC2FleetTargetCapacitySpecificationRequestDefaultTargetCapacityType
-    , fmap (("OnDemandTargetCapacity",) . toJSON . fmap Integer') _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity
-    , fmap (("SpotTargetCapacity",) . toJSON . fmap Integer') _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity
-    , (Just . ("TotalTargetCapacity",) . toJSON . fmap Integer') _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity
+    , fmap (("OnDemandTargetCapacity",) . toJSON) _eC2EC2FleetTargetCapacitySpecificationRequestOnDemandTargetCapacity
+    , fmap (("SpotTargetCapacity",) . toJSON) _eC2EC2FleetTargetCapacitySpecificationRequestSpotTargetCapacity
+    , (Just . ("TotalTargetCapacity",) . toJSON) _eC2EC2FleetTargetCapacitySpecificationRequestTotalTargetCapacity
     ]
 
 -- | Constructor for 'EC2EC2FleetTargetCapacitySpecificationRequest'
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceEbs.hs
@@ -26,11 +26,11 @@
   toJSON EC2InstanceEbs{..} =
     object $
     catMaybes
-    [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2InstanceEbsDeleteOnTermination
-    , fmap (("Encrypted",) . toJSON . fmap Bool') _eC2InstanceEbsEncrypted
-    , fmap (("Iops",) . toJSON . fmap Integer') _eC2InstanceEbsIops
+    [ fmap (("DeleteOnTermination",) . toJSON) _eC2InstanceEbsDeleteOnTermination
+    , fmap (("Encrypted",) . toJSON) _eC2InstanceEbsEncrypted
+    , fmap (("Iops",) . toJSON) _eC2InstanceEbsIops
     , fmap (("SnapshotId",) . toJSON) _eC2InstanceEbsSnapshotId
-    , fmap (("VolumeSize",) . toJSON . fmap Integer') _eC2InstanceEbsVolumeSize
+    , fmap (("VolumeSize",) . toJSON) _eC2InstanceEbsVolumeSize
     , fmap (("VolumeType",) . toJSON) _eC2InstanceEbsVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceNetworkInterface.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceNetworkInterface.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceNetworkInterface.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceNetworkInterface.hs
@@ -33,17 +33,17 @@
   toJSON EC2InstanceNetworkInterface{..} =
     object $
     catMaybes
-    [ fmap (("AssociatePublicIpAddress",) . toJSON . fmap Bool') _eC2InstanceNetworkInterfaceAssociatePublicIpAddress
-    , fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2InstanceNetworkInterfaceDeleteOnTermination
+    [ fmap (("AssociatePublicIpAddress",) . toJSON) _eC2InstanceNetworkInterfaceAssociatePublicIpAddress
+    , fmap (("DeleteOnTermination",) . toJSON) _eC2InstanceNetworkInterfaceDeleteOnTermination
     , fmap (("Description",) . toJSON) _eC2InstanceNetworkInterfaceDescription
     , (Just . ("DeviceIndex",) . toJSON) _eC2InstanceNetworkInterfaceDeviceIndex
     , fmap (("GroupSet",) . toJSON) _eC2InstanceNetworkInterfaceGroupSet
-    , fmap (("Ipv6AddressCount",) . toJSON . fmap Integer') _eC2InstanceNetworkInterfaceIpv6AddressCount
+    , fmap (("Ipv6AddressCount",) . toJSON) _eC2InstanceNetworkInterfaceIpv6AddressCount
     , fmap (("Ipv6Addresses",) . toJSON) _eC2InstanceNetworkInterfaceIpv6Addresses
     , fmap (("NetworkInterfaceId",) . toJSON) _eC2InstanceNetworkInterfaceNetworkInterfaceId
     , fmap (("PrivateIpAddress",) . toJSON) _eC2InstanceNetworkInterfacePrivateIpAddress
     , fmap (("PrivateIpAddresses",) . toJSON) _eC2InstanceNetworkInterfacePrivateIpAddresses
-    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON . fmap Integer') _eC2InstanceNetworkInterfaceSecondaryPrivateIpAddressCount
+    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON) _eC2InstanceNetworkInterfaceSecondaryPrivateIpAddressCount
     , fmap (("SubnetId",) . toJSON) _eC2InstanceNetworkInterfaceSubnetId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstancePrivateIpAddressSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstancePrivateIpAddressSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstancePrivateIpAddressSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstancePrivateIpAddressSpecification.hs
@@ -23,7 +23,7 @@
   toJSON EC2InstancePrivateIpAddressSpecification{..} =
     object $
     catMaybes
-    [ (Just . ("Primary",) . toJSON . fmap Bool') _eC2InstancePrivateIpAddressSpecificationPrimary
+    [ (Just . ("Primary",) . toJSON) _eC2InstancePrivateIpAddressSpecificationPrimary
     , (Just . ("PrivateIpAddress",) . toJSON) _eC2InstancePrivateIpAddressSpecificationPrivateIpAddress
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCpuOptions.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCpuOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCpuOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateCpuOptions.hs
@@ -22,8 +22,8 @@
   toJSON EC2LaunchTemplateCpuOptions{..} =
     object $
     catMaybes
-    [ fmap (("CoreCount",) . toJSON . fmap Integer') _eC2LaunchTemplateCpuOptionsCoreCount
-    , fmap (("ThreadsPerCore",) . toJSON . fmap Integer') _eC2LaunchTemplateCpuOptionsThreadsPerCore
+    [ fmap (("CoreCount",) . toJSON) _eC2LaunchTemplateCpuOptionsCoreCount
+    , fmap (("ThreadsPerCore",) . toJSON) _eC2LaunchTemplateCpuOptionsThreadsPerCore
     ]
 
 -- | Constructor for 'EC2LaunchTemplateCpuOptions' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateEbs.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateEbs.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateEbs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateEbs.hs
@@ -27,12 +27,12 @@
   toJSON EC2LaunchTemplateEbs{..} =
     object $
     catMaybes
-    [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2LaunchTemplateEbsDeleteOnTermination
-    , fmap (("Encrypted",) . toJSON . fmap Bool') _eC2LaunchTemplateEbsEncrypted
-    , fmap (("Iops",) . toJSON . fmap Integer') _eC2LaunchTemplateEbsIops
+    [ fmap (("DeleteOnTermination",) . toJSON) _eC2LaunchTemplateEbsDeleteOnTermination
+    , fmap (("Encrypted",) . toJSON) _eC2LaunchTemplateEbsEncrypted
+    , fmap (("Iops",) . toJSON) _eC2LaunchTemplateEbsIops
     , fmap (("KmsKeyId",) . toJSON) _eC2LaunchTemplateEbsKmsKeyId
     , fmap (("SnapshotId",) . toJSON) _eC2LaunchTemplateEbsSnapshotId
-    , fmap (("VolumeSize",) . toJSON . fmap Integer') _eC2LaunchTemplateEbsVolumeSize
+    , fmap (("VolumeSize",) . toJSON) _eC2LaunchTemplateEbsVolumeSize
     , fmap (("VolumeType",) . toJSON) _eC2LaunchTemplateEbsVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateHibernationOptions.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateHibernationOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateHibernationOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateHibernationOptions.hs
@@ -21,7 +21,7 @@
   toJSON EC2LaunchTemplateHibernationOptions{..} =
     object $
     catMaybes
-    [ fmap (("Configured",) . toJSON . fmap Bool') _eC2LaunchTemplateHibernationOptionsConfigured
+    [ fmap (("Configured",) . toJSON) _eC2LaunchTemplateHibernationOptionsConfigured
     ]
 
 -- | Constructor for 'EC2LaunchTemplateHibernationOptions' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateLaunchTemplateData.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateLaunchTemplateData.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateLaunchTemplateData.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateLaunchTemplateData.hs
@@ -62,8 +62,8 @@
     , fmap (("CapacityReservationSpecification",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataCapacityReservationSpecification
     , fmap (("CpuOptions",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataCpuOptions
     , fmap (("CreditSpecification",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataCreditSpecification
-    , fmap (("DisableApiTermination",) . toJSON . fmap Bool') _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination
-    , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eC2LaunchTemplateLaunchTemplateDataEbsOptimized
+    , fmap (("DisableApiTermination",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataDisableApiTermination
+    , fmap (("EbsOptimized",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataEbsOptimized
     , fmap (("ElasticGpuSpecifications",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataElasticGpuSpecifications
     , fmap (("ElasticInferenceAccelerators",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataElasticInferenceAccelerators
     , fmap (("HibernationOptions",) . toJSON) _eC2LaunchTemplateLaunchTemplateDataHibernationOptions
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateMonitoring.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateMonitoring.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateMonitoring.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateMonitoring.hs
@@ -21,7 +21,7 @@
   toJSON EC2LaunchTemplateMonitoring{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _eC2LaunchTemplateMonitoringEnabled
+    [ fmap (("Enabled",) . toJSON) _eC2LaunchTemplateMonitoringEnabled
     ]
 
 -- | Constructor for 'EC2LaunchTemplateMonitoring' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateNetworkInterface.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateNetworkInterface.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateNetworkInterface.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplateNetworkInterface.hs
@@ -33,17 +33,17 @@
   toJSON EC2LaunchTemplateNetworkInterface{..} =
     object $
     catMaybes
-    [ fmap (("AssociatePublicIpAddress",) . toJSON . fmap Bool') _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress
-    , fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination
+    [ fmap (("AssociatePublicIpAddress",) . toJSON) _eC2LaunchTemplateNetworkInterfaceAssociatePublicIpAddress
+    , fmap (("DeleteOnTermination",) . toJSON) _eC2LaunchTemplateNetworkInterfaceDeleteOnTermination
     , fmap (("Description",) . toJSON) _eC2LaunchTemplateNetworkInterfaceDescription
-    , fmap (("DeviceIndex",) . toJSON . fmap Integer') _eC2LaunchTemplateNetworkInterfaceDeviceIndex
+    , fmap (("DeviceIndex",) . toJSON) _eC2LaunchTemplateNetworkInterfaceDeviceIndex
     , fmap (("Groups",) . toJSON) _eC2LaunchTemplateNetworkInterfaceGroups
-    , fmap (("Ipv6AddressCount",) . toJSON . fmap Integer') _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount
+    , fmap (("Ipv6AddressCount",) . toJSON) _eC2LaunchTemplateNetworkInterfaceIpv6AddressCount
     , fmap (("Ipv6Addresses",) . toJSON) _eC2LaunchTemplateNetworkInterfaceIpv6Addresses
     , fmap (("NetworkInterfaceId",) . toJSON) _eC2LaunchTemplateNetworkInterfaceNetworkInterfaceId
     , fmap (("PrivateIpAddress",) . toJSON) _eC2LaunchTemplateNetworkInterfacePrivateIpAddress
     , fmap (("PrivateIpAddresses",) . toJSON) _eC2LaunchTemplateNetworkInterfacePrivateIpAddresses
-    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON . fmap Integer') _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount
+    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON) _eC2LaunchTemplateNetworkInterfaceSecondaryPrivateIpAddressCount
     , fmap (("SubnetId",) . toJSON) _eC2LaunchTemplateNetworkInterfaceSubnetId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePrivateIpAdd.hs b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePrivateIpAdd.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePrivateIpAdd.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2LaunchTemplatePrivateIpAdd.hs
@@ -22,7 +22,7 @@
   toJSON EC2LaunchTemplatePrivateIpAdd{..} =
     object $
     catMaybes
-    [ fmap (("Primary",) . toJSON . fmap Bool') _eC2LaunchTemplatePrivateIpAddPrimary
+    [ fmap (("Primary",) . toJSON) _eC2LaunchTemplatePrivateIpAddPrimary
     , fmap (("PrivateIpAddress",) . toJSON) _eC2LaunchTemplatePrivateIpAddPrivateIpAddress
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryIcmp.hs b/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryIcmp.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryIcmp.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryIcmp.hs
@@ -22,8 +22,8 @@
   toJSON EC2NetworkAclEntryIcmp{..} =
     object $
     catMaybes
-    [ fmap (("Code",) . toJSON . fmap Integer') _eC2NetworkAclEntryIcmpCode
-    , fmap (("Type",) . toJSON . fmap Integer') _eC2NetworkAclEntryIcmpType
+    [ fmap (("Code",) . toJSON) _eC2NetworkAclEntryIcmpCode
+    , fmap (("Type",) . toJSON) _eC2NetworkAclEntryIcmpType
     ]
 
 -- | Constructor for 'EC2NetworkAclEntryIcmp' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryPortRange.hs b/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryPortRange.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryPortRange.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2NetworkAclEntryPortRange.hs
@@ -22,8 +22,8 @@
   toJSON EC2NetworkAclEntryPortRange{..} =
     object $
     catMaybes
-    [ fmap (("From",) . toJSON . fmap Integer') _eC2NetworkAclEntryPortRangeFrom
-    , fmap (("To",) . toJSON . fmap Integer') _eC2NetworkAclEntryPortRangeTo
+    [ fmap (("From",) . toJSON) _eC2NetworkAclEntryPortRangeFrom
+    , fmap (("To",) . toJSON) _eC2NetworkAclEntryPortRangeTo
     ]
 
 -- | Constructor for 'EC2NetworkAclEntryPortRange' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfacePrivateIpAddressSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfacePrivateIpAddressSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfacePrivateIpAddressSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfacePrivateIpAddressSpecification.hs
@@ -24,7 +24,7 @@
   toJSON EC2NetworkInterfacePrivateIpAddressSpecification{..} =
     object $
     catMaybes
-    [ (Just . ("Primary",) . toJSON . fmap Bool') _eC2NetworkInterfacePrivateIpAddressSpecificationPrimary
+    [ (Just . ("Primary",) . toJSON) _eC2NetworkInterfacePrivateIpAddressSpecificationPrimary
     , (Just . ("PrivateIpAddress",) . toJSON) _eC2NetworkInterfacePrivateIpAddressSpecificationPrivateIpAddress
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupEgressProperty.hs b/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupEgressProperty.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupEgressProperty.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupEgressProperty.hs
@@ -33,9 +33,9 @@
     , fmap (("Description",) . toJSON) _eC2SecurityGroupEgressPropertyDescription
     , fmap (("DestinationPrefixListId",) . toJSON) _eC2SecurityGroupEgressPropertyDestinationPrefixListId
     , fmap (("DestinationSecurityGroupId",) . toJSON) _eC2SecurityGroupEgressPropertyDestinationSecurityGroupId
-    , fmap (("FromPort",) . toJSON . fmap Integer') _eC2SecurityGroupEgressPropertyFromPort
+    , fmap (("FromPort",) . toJSON) _eC2SecurityGroupEgressPropertyFromPort
     , (Just . ("IpProtocol",) . toJSON) _eC2SecurityGroupEgressPropertyIpProtocol
-    , fmap (("ToPort",) . toJSON . fmap Integer') _eC2SecurityGroupEgressPropertyToPort
+    , fmap (("ToPort",) . toJSON) _eC2SecurityGroupEgressPropertyToPort
     ]
 
 -- | Constructor for 'EC2SecurityGroupEgressProperty' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupIngressProperty.hs b/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupIngressProperty.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupIngressProperty.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupIngressProperty.hs
@@ -33,13 +33,13 @@
     [ fmap (("CidrIp",) . toJSON) _eC2SecurityGroupIngressPropertyCidrIp
     , fmap (("CidrIpv6",) . toJSON) _eC2SecurityGroupIngressPropertyCidrIpv6
     , fmap (("Description",) . toJSON) _eC2SecurityGroupIngressPropertyDescription
-    , fmap (("FromPort",) . toJSON . fmap Integer') _eC2SecurityGroupIngressPropertyFromPort
+    , fmap (("FromPort",) . toJSON) _eC2SecurityGroupIngressPropertyFromPort
     , (Just . ("IpProtocol",) . toJSON) _eC2SecurityGroupIngressPropertyIpProtocol
     , fmap (("SourcePrefixListId",) . toJSON) _eC2SecurityGroupIngressPropertySourcePrefixListId
     , fmap (("SourceSecurityGroupId",) . toJSON) _eC2SecurityGroupIngressPropertySourceSecurityGroupId
     , fmap (("SourceSecurityGroupName",) . toJSON) _eC2SecurityGroupIngressPropertySourceSecurityGroupName
     , fmap (("SourceSecurityGroupOwnerId",) . toJSON) _eC2SecurityGroupIngressPropertySourceSecurityGroupOwnerId
-    , fmap (("ToPort",) . toJSON . fmap Integer') _eC2SecurityGroupIngressPropertyToPort
+    , fmap (("ToPort",) . toJSON) _eC2SecurityGroupIngressPropertyToPort
     ]
 
 -- | Constructor for 'EC2SecurityGroupIngressProperty' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbsBlockDevice.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbsBlockDevice.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbsBlockDevice.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbsBlockDevice.hs
@@ -26,11 +26,11 @@
   toJSON EC2SpotFleetEbsBlockDevice{..} =
     object $
     catMaybes
-    [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2SpotFleetEbsBlockDeviceDeleteOnTermination
-    , fmap (("Encrypted",) . toJSON . fmap Bool') _eC2SpotFleetEbsBlockDeviceEncrypted
-    , fmap (("Iops",) . toJSON . fmap Integer') _eC2SpotFleetEbsBlockDeviceIops
+    [ fmap (("DeleteOnTermination",) . toJSON) _eC2SpotFleetEbsBlockDeviceDeleteOnTermination
+    , fmap (("Encrypted",) . toJSON) _eC2SpotFleetEbsBlockDeviceEncrypted
+    , fmap (("Iops",) . toJSON) _eC2SpotFleetEbsBlockDeviceIops
     , fmap (("SnapshotId",) . toJSON) _eC2SpotFleetEbsBlockDeviceSnapshotId
-    , fmap (("VolumeSize",) . toJSON . fmap Integer') _eC2SpotFleetEbsBlockDeviceVolumeSize
+    , fmap (("VolumeSize",) . toJSON) _eC2SpotFleetEbsBlockDeviceVolumeSize
     , fmap (("VolumeType",) . toJSON) _eC2SpotFleetEbsBlockDeviceVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceNetworkInterfaceSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceNetworkInterfaceSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceNetworkInterfaceSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceNetworkInterfaceSpecification.hs
@@ -34,16 +34,16 @@
   toJSON EC2SpotFleetInstanceNetworkInterfaceSpecification{..} =
     object $
     catMaybes
-    [ fmap (("AssociatePublicIpAddress",) . toJSON . fmap Bool') _eC2SpotFleetInstanceNetworkInterfaceSpecificationAssociatePublicIpAddress
-    , fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2SpotFleetInstanceNetworkInterfaceSpecificationDeleteOnTermination
+    [ fmap (("AssociatePublicIpAddress",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationAssociatePublicIpAddress
+    , fmap (("DeleteOnTermination",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationDeleteOnTermination
     , fmap (("Description",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationDescription
-    , fmap (("DeviceIndex",) . toJSON . fmap Integer') _eC2SpotFleetInstanceNetworkInterfaceSpecificationDeviceIndex
+    , fmap (("DeviceIndex",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationDeviceIndex
     , fmap (("Groups",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationGroups
-    , fmap (("Ipv6AddressCount",) . toJSON . fmap Integer') _eC2SpotFleetInstanceNetworkInterfaceSpecificationIpv6AddressCount
+    , fmap (("Ipv6AddressCount",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationIpv6AddressCount
     , fmap (("Ipv6Addresses",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationIpv6Addresses
     , fmap (("NetworkInterfaceId",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationNetworkInterfaceId
     , fmap (("PrivateIpAddresses",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationPrivateIpAddresses
-    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON . fmap Integer') _eC2SpotFleetInstanceNetworkInterfaceSpecificationSecondaryPrivateIpAddressCount
+    , fmap (("SecondaryPrivateIpAddressCount",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationSecondaryPrivateIpAddressCount
     , fmap (("SubnetId",) . toJSON) _eC2SpotFleetInstanceNetworkInterfaceSpecificationSubnetId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchTemplateOverrides.hs
@@ -29,7 +29,7 @@
     , fmap (("InstanceType",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesInstanceType
     , fmap (("SpotPrice",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesSpotPrice
     , fmap (("SubnetId",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesSubnetId
-    , fmap (("WeightedCapacity",) . toJSON . fmap Double') _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity
+    , fmap (("WeightedCapacity",) . toJSON) _eC2SpotFleetLaunchTemplateOverridesWeightedCapacity
     ]
 
 -- | Constructor for 'EC2SpotFleetLaunchTemplateOverrides' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddressSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddressSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddressSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddressSpecification.hs
@@ -23,7 +23,7 @@
   toJSON EC2SpotFleetPrivateIpAddressSpecification{..} =
     object $
     catMaybes
-    [ fmap (("Primary",) . toJSON . fmap Bool') _eC2SpotFleetPrivateIpAddressSpecificationPrimary
+    [ fmap (("Primary",) . toJSON) _eC2SpotFleetPrivateIpAddressSpecificationPrimary
     , (Just . ("PrivateIpAddress",) . toJSON) _eC2SpotFleetPrivateIpAddressSpecificationPrivateIpAddress
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetLaunchSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetLaunchSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetLaunchSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetLaunchSpecification.hs
@@ -45,7 +45,7 @@
     object $
     catMaybes
     [ fmap (("BlockDeviceMappings",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationBlockDeviceMappings
-    , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eC2SpotFleetSpotFleetLaunchSpecificationEbsOptimized
+    , fmap (("EbsOptimized",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationEbsOptimized
     , fmap (("IamInstanceProfile",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationIamInstanceProfile
     , (Just . ("ImageId",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationImageId
     , (Just . ("InstanceType",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationInstanceType
@@ -60,7 +60,7 @@
     , fmap (("SubnetId",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationSubnetId
     , fmap (("TagSpecifications",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationTagSpecifications
     , fmap (("UserData",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationUserData
-    , fmap (("WeightedCapacity",) . toJSON . fmap Double') _eC2SpotFleetSpotFleetLaunchSpecificationWeightedCapacity
+    , fmap (("WeightedCapacity",) . toJSON) _eC2SpotFleetSpotFleetLaunchSpecificationWeightedCapacity
     ]
 
 -- | Constructor for 'EC2SpotFleetSpotFleetLaunchSpecification' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetMonitoring.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetMonitoring.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetMonitoring.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetMonitoring.hs
@@ -21,7 +21,7 @@
   toJSON EC2SpotFleetSpotFleetMonitoring{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _eC2SpotFleetSpotFleetMonitoringEnabled
+    [ fmap (("Enabled",) . toJSON) _eC2SpotFleetSpotFleetMonitoringEnabled
     ]
 
 -- | Constructor for 'EC2SpotFleetSpotFleetMonitoring' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSpotFleetRequestConfigData.hs
@@ -44,10 +44,10 @@
     , fmap (("LaunchSpecifications",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchSpecifications
     , fmap (("LaunchTemplateConfigs",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLaunchTemplateConfigs
     , fmap (("LoadBalancersConfig",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataLoadBalancersConfig
-    , fmap (("ReplaceUnhealthyInstances",) . toJSON . fmap Bool') _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances
+    , fmap (("ReplaceUnhealthyInstances",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataReplaceUnhealthyInstances
     , fmap (("SpotPrice",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataSpotPrice
-    , (Just . ("TargetCapacity",) . toJSON . fmap Integer') _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity
-    , fmap (("TerminateInstancesWithExpiration",) . toJSON . fmap Bool') _eC2SpotFleetSpotFleetRequestConfigDataTerminateInstancesWithExpiration
+    , (Just . ("TargetCapacity",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataTargetCapacity
+    , fmap (("TerminateInstancesWithExpiration",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataTerminateInstancesWithExpiration
     , fmap (("Type",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataType
     , fmap (("ValidFrom",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataValidFrom
     , fmap (("ValidUntil",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigDataValidUntil
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSServiceDeploymentConfiguration.hs
@@ -22,8 +22,8 @@
   toJSON ECSServiceDeploymentConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("MaximumPercent",) . toJSON . fmap Integer') _eCSServiceDeploymentConfigurationMaximumPercent
-    , fmap (("MinimumHealthyPercent",) . toJSON . fmap Integer') _eCSServiceDeploymentConfigurationMinimumHealthyPercent
+    [ fmap (("MaximumPercent",) . toJSON) _eCSServiceDeploymentConfigurationMaximumPercent
+    , fmap (("MinimumHealthyPercent",) . toJSON) _eCSServiceDeploymentConfigurationMinimumHealthyPercent
     ]
 
 -- | Constructor for 'ECSServiceDeploymentConfiguration' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSServiceLoadBalancer.hs b/library-gen/Stratosphere/ResourceProperties/ECSServiceLoadBalancer.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSServiceLoadBalancer.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSServiceLoadBalancer.hs
@@ -25,7 +25,7 @@
     object $
     catMaybes
     [ fmap (("ContainerName",) . toJSON) _eCSServiceLoadBalancerContainerName
-    , (Just . ("ContainerPort",) . toJSON . fmap Integer') _eCSServiceLoadBalancerContainerPort
+    , (Just . ("ContainerPort",) . toJSON) _eCSServiceLoadBalancerContainerPort
     , fmap (("LoadBalancerName",) . toJSON) _eCSServiceLoadBalancerLoadBalancerName
     , fmap (("TargetGroupArn",) . toJSON) _eCSServiceLoadBalancerTargetGroupArn
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs b/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSServiceServiceRegistry.hs
@@ -25,8 +25,8 @@
     object $
     catMaybes
     [ fmap (("ContainerName",) . toJSON) _eCSServiceServiceRegistryContainerName
-    , fmap (("ContainerPort",) . toJSON . fmap Integer') _eCSServiceServiceRegistryContainerPort
-    , fmap (("Port",) . toJSON . fmap Integer') _eCSServiceServiceRegistryPort
+    , fmap (("ContainerPort",) . toJSON) _eCSServiceServiceRegistryContainerPort
+    , fmap (("Port",) . toJSON) _eCSServiceServiceRegistryPort
     , fmap (("RegistryArn",) . toJSON) _eCSServiceServiceRegistryRegistryArn
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionContainerDefinition.hs
@@ -59,15 +59,15 @@
     object $
     catMaybes
     [ fmap (("Command",) . toJSON) _eCSTaskDefinitionContainerDefinitionCommand
-    , fmap (("Cpu",) . toJSON . fmap Integer') _eCSTaskDefinitionContainerDefinitionCpu
-    , fmap (("DisableNetworking",) . toJSON . fmap Bool') _eCSTaskDefinitionContainerDefinitionDisableNetworking
+    , fmap (("Cpu",) . toJSON) _eCSTaskDefinitionContainerDefinitionCpu
+    , fmap (("DisableNetworking",) . toJSON) _eCSTaskDefinitionContainerDefinitionDisableNetworking
     , fmap (("DnsSearchDomains",) . toJSON) _eCSTaskDefinitionContainerDefinitionDnsSearchDomains
     , fmap (("DnsServers",) . toJSON) _eCSTaskDefinitionContainerDefinitionDnsServers
     , fmap (("DockerLabels",) . toJSON) _eCSTaskDefinitionContainerDefinitionDockerLabels
     , fmap (("DockerSecurityOptions",) . toJSON) _eCSTaskDefinitionContainerDefinitionDockerSecurityOptions
     , fmap (("EntryPoint",) . toJSON) _eCSTaskDefinitionContainerDefinitionEntryPoint
     , fmap (("Environment",) . toJSON) _eCSTaskDefinitionContainerDefinitionEnvironment
-    , fmap (("Essential",) . toJSON . fmap Bool') _eCSTaskDefinitionContainerDefinitionEssential
+    , fmap (("Essential",) . toJSON) _eCSTaskDefinitionContainerDefinitionEssential
     , fmap (("ExtraHosts",) . toJSON) _eCSTaskDefinitionContainerDefinitionExtraHosts
     , fmap (("HealthCheck",) . toJSON) _eCSTaskDefinitionContainerDefinitionHealthCheck
     , fmap (("Hostname",) . toJSON) _eCSTaskDefinitionContainerDefinitionHostname
@@ -75,13 +75,13 @@
     , fmap (("Links",) . toJSON) _eCSTaskDefinitionContainerDefinitionLinks
     , fmap (("LinuxParameters",) . toJSON) _eCSTaskDefinitionContainerDefinitionLinuxParameters
     , fmap (("LogConfiguration",) . toJSON) _eCSTaskDefinitionContainerDefinitionLogConfiguration
-    , fmap (("Memory",) . toJSON . fmap Integer') _eCSTaskDefinitionContainerDefinitionMemory
-    , fmap (("MemoryReservation",) . toJSON . fmap Integer') _eCSTaskDefinitionContainerDefinitionMemoryReservation
+    , fmap (("Memory",) . toJSON) _eCSTaskDefinitionContainerDefinitionMemory
+    , fmap (("MemoryReservation",) . toJSON) _eCSTaskDefinitionContainerDefinitionMemoryReservation
     , fmap (("MountPoints",) . toJSON) _eCSTaskDefinitionContainerDefinitionMountPoints
     , (Just . ("Name",) . toJSON) _eCSTaskDefinitionContainerDefinitionName
     , fmap (("PortMappings",) . toJSON) _eCSTaskDefinitionContainerDefinitionPortMappings
-    , fmap (("Privileged",) . toJSON . fmap Bool') _eCSTaskDefinitionContainerDefinitionPrivileged
-    , fmap (("ReadonlyRootFilesystem",) . toJSON . fmap Bool') _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem
+    , fmap (("Privileged",) . toJSON) _eCSTaskDefinitionContainerDefinitionPrivileged
+    , fmap (("ReadonlyRootFilesystem",) . toJSON) _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem
     , fmap (("RepositoryCredentials",) . toJSON) _eCSTaskDefinitionContainerDefinitionRepositoryCredentials
     , fmap (("Ulimits",) . toJSON) _eCSTaskDefinitionContainerDefinitionUlimits
     , fmap (("User",) . toJSON) _eCSTaskDefinitionContainerDefinitionUser
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionDockerVolumeConfiguration.hs
@@ -26,7 +26,7 @@
   toJSON ECSTaskDefinitionDockerVolumeConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("Autoprovision",) . toJSON . fmap Bool') _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision
+    [ fmap (("Autoprovision",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationAutoprovision
     , fmap (("Driver",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationDriver
     , fmap (("DriverOpts",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationDriverOpts
     , fmap (("Labels",) . toJSON) _eCSTaskDefinitionDockerVolumeConfigurationLabels
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHealthCheck.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHealthCheck.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHealthCheck.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHealthCheck.hs
@@ -26,10 +26,10 @@
     object $
     catMaybes
     [ (Just . ("Command",) . toJSON) _eCSTaskDefinitionHealthCheckCommand
-    , fmap (("Interval",) . toJSON . fmap Integer') _eCSTaskDefinitionHealthCheckInterval
-    , fmap (("Retries",) . toJSON . fmap Integer') _eCSTaskDefinitionHealthCheckRetries
-    , fmap (("StartPeriod",) . toJSON . fmap Integer') _eCSTaskDefinitionHealthCheckStartPeriod
-    , fmap (("Timeout",) . toJSON . fmap Integer') _eCSTaskDefinitionHealthCheckTimeout
+    , fmap (("Interval",) . toJSON) _eCSTaskDefinitionHealthCheckInterval
+    , fmap (("Retries",) . toJSON) _eCSTaskDefinitionHealthCheckRetries
+    , fmap (("StartPeriod",) . toJSON) _eCSTaskDefinitionHealthCheckStartPeriod
+    , fmap (("Timeout",) . toJSON) _eCSTaskDefinitionHealthCheckTimeout
     ]
 
 -- | Constructor for 'ECSTaskDefinitionHealthCheck' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLinuxParameters.hs
@@ -29,8 +29,8 @@
     catMaybes
     [ fmap (("Capabilities",) . toJSON) _eCSTaskDefinitionLinuxParametersCapabilities
     , fmap (("Devices",) . toJSON) _eCSTaskDefinitionLinuxParametersDevices
-    , fmap (("InitProcessEnabled",) . toJSON . fmap Bool') _eCSTaskDefinitionLinuxParametersInitProcessEnabled
-    , fmap (("SharedMemorySize",) . toJSON . fmap Integer') _eCSTaskDefinitionLinuxParametersSharedMemorySize
+    , fmap (("InitProcessEnabled",) . toJSON) _eCSTaskDefinitionLinuxParametersInitProcessEnabled
+    , fmap (("SharedMemorySize",) . toJSON) _eCSTaskDefinitionLinuxParametersSharedMemorySize
     , fmap (("Tmpfs",) . toJSON) _eCSTaskDefinitionLinuxParametersTmpfs
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionMountPoint.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionMountPoint.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionMountPoint.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionMountPoint.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("ContainerPath",) . toJSON) _eCSTaskDefinitionMountPointContainerPath
-    , fmap (("ReadOnly",) . toJSON . fmap Bool') _eCSTaskDefinitionMountPointReadOnly
+    , fmap (("ReadOnly",) . toJSON) _eCSTaskDefinitionMountPointReadOnly
     , fmap (("SourceVolume",) . toJSON) _eCSTaskDefinitionMountPointSourceVolume
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionPortMapping.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionPortMapping.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionPortMapping.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionPortMapping.hs
@@ -23,8 +23,8 @@
   toJSON ECSTaskDefinitionPortMapping{..} =
     object $
     catMaybes
-    [ fmap (("ContainerPort",) . toJSON . fmap Integer') _eCSTaskDefinitionPortMappingContainerPort
-    , fmap (("HostPort",) . toJSON . fmap Integer') _eCSTaskDefinitionPortMappingHostPort
+    [ fmap (("ContainerPort",) . toJSON) _eCSTaskDefinitionPortMappingContainerPort
+    , fmap (("HostPort",) . toJSON) _eCSTaskDefinitionPortMappingHostPort
     , fmap (("Protocol",) . toJSON) _eCSTaskDefinitionPortMappingProtocol
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionTmpfs.hs
@@ -25,7 +25,7 @@
     catMaybes
     [ fmap (("ContainerPath",) . toJSON) _eCSTaskDefinitionTmpfsContainerPath
     , fmap (("MountOptions",) . toJSON) _eCSTaskDefinitionTmpfsMountOptions
-    , fmap (("Size",) . toJSON . fmap Integer') _eCSTaskDefinitionTmpfsSize
+    , fmap (("Size",) . toJSON) _eCSTaskDefinitionTmpfsSize
     ]
 
 -- | Constructor for 'ECSTaskDefinitionTmpfs' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionUlimit.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionUlimit.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionUlimit.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionUlimit.hs
@@ -23,9 +23,9 @@
   toJSON ECSTaskDefinitionUlimit{..} =
     object $
     catMaybes
-    [ (Just . ("HardLimit",) . toJSON . fmap Integer') _eCSTaskDefinitionUlimitHardLimit
+    [ (Just . ("HardLimit",) . toJSON) _eCSTaskDefinitionUlimitHardLimit
     , (Just . ("Name",) . toJSON) _eCSTaskDefinitionUlimitName
-    , (Just . ("SoftLimit",) . toJSON . fmap Integer') _eCSTaskDefinitionUlimitSoftLimit
+    , (Just . ("SoftLimit",) . toJSON) _eCSTaskDefinitionUlimitSoftLimit
     ]
 
 -- | Constructor for 'ECSTaskDefinitionUlimit' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolumeFrom.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolumeFrom.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolumeFrom.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolumeFrom.hs
@@ -22,7 +22,7 @@
   toJSON ECSTaskDefinitionVolumeFrom{..} =
     object $
     catMaybes
-    [ fmap (("ReadOnly",) . toJSON . fmap Bool') _eCSTaskDefinitionVolumeFromReadOnly
+    [ fmap (("ReadOnly",) . toJSON) _eCSTaskDefinitionVolumeFromReadOnly
     , fmap (("SourceContainer",) . toJSON) _eCSTaskDefinitionVolumeFromSourceContainer
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterCloudWatchAlarmDefinition.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterCloudWatchAlarmDefinition.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterCloudWatchAlarmDefinition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterCloudWatchAlarmDefinition.hs
@@ -31,12 +31,12 @@
     catMaybes
     [ (Just . ("ComparisonOperator",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionComparisonOperator
     , fmap (("Dimensions",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionDimensions
-    , fmap (("EvaluationPeriods",) . toJSON . fmap Integer') _eMRClusterCloudWatchAlarmDefinitionEvaluationPeriods
+    , fmap (("EvaluationPeriods",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionEvaluationPeriods
     , (Just . ("MetricName",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionMetricName
     , fmap (("Namespace",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionNamespace
-    , (Just . ("Period",) . toJSON . fmap Integer') _eMRClusterCloudWatchAlarmDefinitionPeriod
+    , (Just . ("Period",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionPeriod
     , fmap (("Statistic",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionStatistic
-    , (Just . ("Threshold",) . toJSON . fmap Double') _eMRClusterCloudWatchAlarmDefinitionThreshold
+    , (Just . ("Threshold",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionThreshold
     , fmap (("Unit",) . toJSON) _eMRClusterCloudWatchAlarmDefinitionUnit
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsBlockDeviceConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsBlockDeviceConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsBlockDeviceConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsBlockDeviceConfig.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("VolumeSpecification",) . toJSON) _eMRClusterEbsBlockDeviceConfigVolumeSpecification
-    , fmap (("VolumesPerInstance",) . toJSON . fmap Integer') _eMRClusterEbsBlockDeviceConfigVolumesPerInstance
+    , fmap (("VolumesPerInstance",) . toJSON) _eMRClusterEbsBlockDeviceConfigVolumesPerInstance
     ]
 
 -- | Constructor for 'EMRClusterEbsBlockDeviceConfig' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterEbsConfiguration.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ fmap (("EbsBlockDeviceConfigs",) . toJSON) _eMRClusterEbsConfigurationEbsBlockDeviceConfigs
-    , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eMRClusterEbsConfigurationEbsOptimized
+    , fmap (("EbsOptimized",) . toJSON) _eMRClusterEbsConfigurationEbsOptimized
     ]
 
 -- | Constructor for 'EMRClusterEbsConfiguration' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceFleetConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceFleetConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceFleetConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceFleetConfig.hs
@@ -29,8 +29,8 @@
     [ fmap (("InstanceTypeConfigs",) . toJSON) _eMRClusterInstanceFleetConfigInstanceTypeConfigs
     , fmap (("LaunchSpecifications",) . toJSON) _eMRClusterInstanceFleetConfigLaunchSpecifications
     , fmap (("Name",) . toJSON) _eMRClusterInstanceFleetConfigName
-    , fmap (("TargetOnDemandCapacity",) . toJSON . fmap Integer') _eMRClusterInstanceFleetConfigTargetOnDemandCapacity
-    , fmap (("TargetSpotCapacity",) . toJSON . fmap Integer') _eMRClusterInstanceFleetConfigTargetSpotCapacity
+    , fmap (("TargetOnDemandCapacity",) . toJSON) _eMRClusterInstanceFleetConfigTargetOnDemandCapacity
+    , fmap (("TargetSpotCapacity",) . toJSON) _eMRClusterInstanceFleetConfigTargetSpotCapacity
     ]
 
 -- | Constructor for 'EMRClusterInstanceFleetConfig' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceGroupConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceGroupConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceGroupConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceGroupConfig.hs
@@ -34,7 +34,7 @@
     , fmap (("BidPrice",) . toJSON) _eMRClusterInstanceGroupConfigBidPrice
     , fmap (("Configurations",) . toJSON) _eMRClusterInstanceGroupConfigConfigurations
     , fmap (("EbsConfiguration",) . toJSON) _eMRClusterInstanceGroupConfigEbsConfiguration
-    , (Just . ("InstanceCount",) . toJSON . fmap Integer') _eMRClusterInstanceGroupConfigInstanceCount
+    , (Just . ("InstanceCount",) . toJSON) _eMRClusterInstanceGroupConfigInstanceCount
     , (Just . ("InstanceType",) . toJSON) _eMRClusterInstanceGroupConfigInstanceType
     , fmap (("Market",) . toJSON) _eMRClusterInstanceGroupConfigMarket
     , fmap (("Name",) . toJSON) _eMRClusterInstanceGroupConfigName
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceTypeConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceTypeConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceTypeConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterInstanceTypeConfig.hs
@@ -28,11 +28,11 @@
     object $
     catMaybes
     [ fmap (("BidPrice",) . toJSON) _eMRClusterInstanceTypeConfigBidPrice
-    , fmap (("BidPriceAsPercentageOfOnDemandPrice",) . toJSON . fmap Double') _eMRClusterInstanceTypeConfigBidPriceAsPercentageOfOnDemandPrice
+    , fmap (("BidPriceAsPercentageOfOnDemandPrice",) . toJSON) _eMRClusterInstanceTypeConfigBidPriceAsPercentageOfOnDemandPrice
     , fmap (("Configurations",) . toJSON) _eMRClusterInstanceTypeConfigConfigurations
     , fmap (("EbsConfiguration",) . toJSON) _eMRClusterInstanceTypeConfigEbsConfiguration
     , (Just . ("InstanceType",) . toJSON) _eMRClusterInstanceTypeConfigInstanceType
-    , fmap (("WeightedCapacity",) . toJSON . fmap Integer') _eMRClusterInstanceTypeConfigWeightedCapacity
+    , fmap (("WeightedCapacity",) . toJSON) _eMRClusterInstanceTypeConfigWeightedCapacity
     ]
 
 -- | Constructor for 'EMRClusterInstanceTypeConfig' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterJobFlowInstancesConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterJobFlowInstancesConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterJobFlowInstancesConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterJobFlowInstancesConfig.hs
@@ -46,12 +46,12 @@
     , fmap (("EmrManagedMasterSecurityGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigEmrManagedMasterSecurityGroup
     , fmap (("EmrManagedSlaveSecurityGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigEmrManagedSlaveSecurityGroup
     , fmap (("HadoopVersion",) . toJSON) _eMRClusterJobFlowInstancesConfigHadoopVersion
-    , fmap (("KeepJobFlowAliveWhenNoSteps",) . toJSON . fmap Bool') _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps
+    , fmap (("KeepJobFlowAliveWhenNoSteps",) . toJSON) _eMRClusterJobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps
     , fmap (("MasterInstanceFleet",) . toJSON) _eMRClusterJobFlowInstancesConfigMasterInstanceFleet
     , fmap (("MasterInstanceGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigMasterInstanceGroup
     , fmap (("Placement",) . toJSON) _eMRClusterJobFlowInstancesConfigPlacement
     , fmap (("ServiceAccessSecurityGroup",) . toJSON) _eMRClusterJobFlowInstancesConfigServiceAccessSecurityGroup
-    , fmap (("TerminationProtected",) . toJSON . fmap Bool') _eMRClusterJobFlowInstancesConfigTerminationProtected
+    , fmap (("TerminationProtected",) . toJSON) _eMRClusterJobFlowInstancesConfigTerminationProtected
     ]
 
 -- | Constructor for 'EMRClusterJobFlowInstancesConfig' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterScalingConstraints.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterScalingConstraints.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterScalingConstraints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterScalingConstraints.hs
@@ -22,8 +22,8 @@
   toJSON EMRClusterScalingConstraints{..} =
     object $
     catMaybes
-    [ (Just . ("MaxCapacity",) . toJSON . fmap Integer') _eMRClusterScalingConstraintsMaxCapacity
-    , (Just . ("MinCapacity",) . toJSON . fmap Integer') _eMRClusterScalingConstraintsMinCapacity
+    [ (Just . ("MaxCapacity",) . toJSON) _eMRClusterScalingConstraintsMaxCapacity
+    , (Just . ("MinCapacity",) . toJSON) _eMRClusterScalingConstraintsMinCapacity
     ]
 
 -- | Constructor for 'EMRClusterScalingConstraints' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterSimpleScalingPolicyConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterSimpleScalingPolicyConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterSimpleScalingPolicyConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterSimpleScalingPolicyConfiguration.hs
@@ -25,8 +25,8 @@
     object $
     catMaybes
     [ fmap (("AdjustmentType",) . toJSON) _eMRClusterSimpleScalingPolicyConfigurationAdjustmentType
-    , fmap (("CoolDown",) . toJSON . fmap Integer') _eMRClusterSimpleScalingPolicyConfigurationCoolDown
-    , (Just . ("ScalingAdjustment",) . toJSON . fmap Integer') _eMRClusterSimpleScalingPolicyConfigurationScalingAdjustment
+    , fmap (("CoolDown",) . toJSON) _eMRClusterSimpleScalingPolicyConfigurationCoolDown
+    , (Just . ("ScalingAdjustment",) . toJSON) _eMRClusterSimpleScalingPolicyConfigurationScalingAdjustment
     ]
 
 -- | Constructor for 'EMRClusterSimpleScalingPolicyConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterSpotProvisioningSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterSpotProvisioningSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterSpotProvisioningSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterSpotProvisioningSpecification.hs
@@ -24,9 +24,9 @@
   toJSON EMRClusterSpotProvisioningSpecification{..} =
     object $
     catMaybes
-    [ fmap (("BlockDurationMinutes",) . toJSON . fmap Integer') _eMRClusterSpotProvisioningSpecificationBlockDurationMinutes
+    [ fmap (("BlockDurationMinutes",) . toJSON) _eMRClusterSpotProvisioningSpecificationBlockDurationMinutes
     , (Just . ("TimeoutAction",) . toJSON) _eMRClusterSpotProvisioningSpecificationTimeoutAction
-    , (Just . ("TimeoutDurationMinutes",) . toJSON . fmap Integer') _eMRClusterSpotProvisioningSpecificationTimeoutDurationMinutes
+    , (Just . ("TimeoutDurationMinutes",) . toJSON) _eMRClusterSpotProvisioningSpecificationTimeoutDurationMinutes
     ]
 
 -- | Constructor for 'EMRClusterSpotProvisioningSpecification' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterVolumeSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterVolumeSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterVolumeSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterVolumeSpecification.hs
@@ -23,8 +23,8 @@
   toJSON EMRClusterVolumeSpecification{..} =
     object $
     catMaybes
-    [ fmap (("Iops",) . toJSON . fmap Integer') _eMRClusterVolumeSpecificationIops
-    , (Just . ("SizeInGB",) . toJSON . fmap Integer') _eMRClusterVolumeSpecificationSizeInGB
+    [ fmap (("Iops",) . toJSON) _eMRClusterVolumeSpecificationIops
+    , (Just . ("SizeInGB",) . toJSON) _eMRClusterVolumeSpecificationSizeInGB
     , (Just . ("VolumeType",) . toJSON) _eMRClusterVolumeSpecificationVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsBlockDeviceConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsBlockDeviceConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsBlockDeviceConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsBlockDeviceConfig.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("VolumeSpecification",) . toJSON) _eMRInstanceFleetConfigEbsBlockDeviceConfigVolumeSpecification
-    , fmap (("VolumesPerInstance",) . toJSON . fmap Integer') _eMRInstanceFleetConfigEbsBlockDeviceConfigVolumesPerInstance
+    , fmap (("VolumesPerInstance",) . toJSON) _eMRInstanceFleetConfigEbsBlockDeviceConfigVolumesPerInstance
     ]
 
 -- | Constructor for 'EMRInstanceFleetConfigEbsBlockDeviceConfig' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigEbsConfiguration.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("EbsBlockDeviceConfigs",) . toJSON) _eMRInstanceFleetConfigEbsConfigurationEbsBlockDeviceConfigs
-    , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eMRInstanceFleetConfigEbsConfigurationEbsOptimized
+    , fmap (("EbsOptimized",) . toJSON) _eMRInstanceFleetConfigEbsConfigurationEbsOptimized
     ]
 
 -- | Constructor for 'EMRInstanceFleetConfigEbsConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigInstanceTypeConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigInstanceTypeConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigInstanceTypeConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigInstanceTypeConfig.hs
@@ -29,11 +29,11 @@
     object $
     catMaybes
     [ fmap (("BidPrice",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigBidPrice
-    , fmap (("BidPriceAsPercentageOfOnDemandPrice",) . toJSON . fmap Double') _eMRInstanceFleetConfigInstanceTypeConfigBidPriceAsPercentageOfOnDemandPrice
+    , fmap (("BidPriceAsPercentageOfOnDemandPrice",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigBidPriceAsPercentageOfOnDemandPrice
     , fmap (("Configurations",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigConfigurations
     , fmap (("EbsConfiguration",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigEbsConfiguration
     , (Just . ("InstanceType",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigInstanceType
-    , fmap (("WeightedCapacity",) . toJSON . fmap Integer') _eMRInstanceFleetConfigInstanceTypeConfigWeightedCapacity
+    , fmap (("WeightedCapacity",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigWeightedCapacity
     ]
 
 -- | Constructor for 'EMRInstanceFleetConfigInstanceTypeConfig' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigSpotProvisioningSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigSpotProvisioningSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigSpotProvisioningSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigSpotProvisioningSpecification.hs
@@ -25,9 +25,9 @@
   toJSON EMRInstanceFleetConfigSpotProvisioningSpecification{..} =
     object $
     catMaybes
-    [ fmap (("BlockDurationMinutes",) . toJSON . fmap Integer') _eMRInstanceFleetConfigSpotProvisioningSpecificationBlockDurationMinutes
+    [ fmap (("BlockDurationMinutes",) . toJSON) _eMRInstanceFleetConfigSpotProvisioningSpecificationBlockDurationMinutes
     , (Just . ("TimeoutAction",) . toJSON) _eMRInstanceFleetConfigSpotProvisioningSpecificationTimeoutAction
-    , (Just . ("TimeoutDurationMinutes",) . toJSON . fmap Integer') _eMRInstanceFleetConfigSpotProvisioningSpecificationTimeoutDurationMinutes
+    , (Just . ("TimeoutDurationMinutes",) . toJSON) _eMRInstanceFleetConfigSpotProvisioningSpecificationTimeoutDurationMinutes
     ]
 
 -- | Constructor for 'EMRInstanceFleetConfigSpotProvisioningSpecification'
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigVolumeSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigVolumeSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigVolumeSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceFleetConfigVolumeSpecification.hs
@@ -24,8 +24,8 @@
   toJSON EMRInstanceFleetConfigVolumeSpecification{..} =
     object $
     catMaybes
-    [ fmap (("Iops",) . toJSON . fmap Integer') _eMRInstanceFleetConfigVolumeSpecificationIops
-    , (Just . ("SizeInGB",) . toJSON . fmap Integer') _eMRInstanceFleetConfigVolumeSpecificationSizeInGB
+    [ fmap (("Iops",) . toJSON) _eMRInstanceFleetConfigVolumeSpecificationIops
+    , (Just . ("SizeInGB",) . toJSON) _eMRInstanceFleetConfigVolumeSpecificationSizeInGB
     , (Just . ("VolumeType",) . toJSON) _eMRInstanceFleetConfigVolumeSpecificationVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigCloudWatchAlarmDefinition.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigCloudWatchAlarmDefinition.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigCloudWatchAlarmDefinition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigCloudWatchAlarmDefinition.hs
@@ -33,12 +33,12 @@
     catMaybes
     [ (Just . ("ComparisonOperator",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionComparisonOperator
     , fmap (("Dimensions",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionDimensions
-    , fmap (("EvaluationPeriods",) . toJSON . fmap Integer') _eMRInstanceGroupConfigCloudWatchAlarmDefinitionEvaluationPeriods
+    , fmap (("EvaluationPeriods",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionEvaluationPeriods
     , (Just . ("MetricName",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionMetricName
     , fmap (("Namespace",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionNamespace
-    , (Just . ("Period",) . toJSON . fmap Integer') _eMRInstanceGroupConfigCloudWatchAlarmDefinitionPeriod
+    , (Just . ("Period",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionPeriod
     , fmap (("Statistic",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionStatistic
-    , (Just . ("Threshold",) . toJSON . fmap Double') _eMRInstanceGroupConfigCloudWatchAlarmDefinitionThreshold
+    , (Just . ("Threshold",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionThreshold
     , fmap (("Unit",) . toJSON) _eMRInstanceGroupConfigCloudWatchAlarmDefinitionUnit
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsBlockDeviceConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsBlockDeviceConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsBlockDeviceConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsBlockDeviceConfig.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("VolumeSpecification",) . toJSON) _eMRInstanceGroupConfigEbsBlockDeviceConfigVolumeSpecification
-    , fmap (("VolumesPerInstance",) . toJSON . fmap Integer') _eMRInstanceGroupConfigEbsBlockDeviceConfigVolumesPerInstance
+    , fmap (("VolumesPerInstance",) . toJSON) _eMRInstanceGroupConfigEbsBlockDeviceConfigVolumesPerInstance
     ]
 
 -- | Constructor for 'EMRInstanceGroupConfigEbsBlockDeviceConfig' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigEbsConfiguration.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("EbsBlockDeviceConfigs",) . toJSON) _eMRInstanceGroupConfigEbsConfigurationEbsBlockDeviceConfigs
-    , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eMRInstanceGroupConfigEbsConfigurationEbsOptimized
+    , fmap (("EbsOptimized",) . toJSON) _eMRInstanceGroupConfigEbsConfigurationEbsOptimized
     ]
 
 -- | Constructor for 'EMRInstanceGroupConfigEbsConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigScalingConstraints.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigScalingConstraints.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigScalingConstraints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigScalingConstraints.hs
@@ -23,8 +23,8 @@
   toJSON EMRInstanceGroupConfigScalingConstraints{..} =
     object $
     catMaybes
-    [ (Just . ("MaxCapacity",) . toJSON . fmap Integer') _eMRInstanceGroupConfigScalingConstraintsMaxCapacity
-    , (Just . ("MinCapacity",) . toJSON . fmap Integer') _eMRInstanceGroupConfigScalingConstraintsMinCapacity
+    [ (Just . ("MaxCapacity",) . toJSON) _eMRInstanceGroupConfigScalingConstraintsMaxCapacity
+    , (Just . ("MinCapacity",) . toJSON) _eMRInstanceGroupConfigScalingConstraintsMinCapacity
     ]
 
 -- | Constructor for 'EMRInstanceGroupConfigScalingConstraints' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigSimpleScalingPolicyConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigSimpleScalingPolicyConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigSimpleScalingPolicyConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigSimpleScalingPolicyConfiguration.hs
@@ -26,8 +26,8 @@
     object $
     catMaybes
     [ fmap (("AdjustmentType",) . toJSON) _eMRInstanceGroupConfigSimpleScalingPolicyConfigurationAdjustmentType
-    , fmap (("CoolDown",) . toJSON . fmap Integer') _eMRInstanceGroupConfigSimpleScalingPolicyConfigurationCoolDown
-    , (Just . ("ScalingAdjustment",) . toJSON . fmap Integer') _eMRInstanceGroupConfigSimpleScalingPolicyConfigurationScalingAdjustment
+    , fmap (("CoolDown",) . toJSON) _eMRInstanceGroupConfigSimpleScalingPolicyConfigurationCoolDown
+    , (Just . ("ScalingAdjustment",) . toJSON) _eMRInstanceGroupConfigSimpleScalingPolicyConfigurationScalingAdjustment
     ]
 
 -- | Constructor for 'EMRInstanceGroupConfigSimpleScalingPolicyConfiguration'
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigVolumeSpecification.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigVolumeSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigVolumeSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigVolumeSpecification.hs
@@ -24,8 +24,8 @@
   toJSON EMRInstanceGroupConfigVolumeSpecification{..} =
     object $
     catMaybes
-    [ fmap (("Iops",) . toJSON . fmap Integer') _eMRInstanceGroupConfigVolumeSpecificationIops
-    , (Just . ("SizeInGB",) . toJSON . fmap Integer') _eMRInstanceGroupConfigVolumeSpecificationSizeInGB
+    [ fmap (("Iops",) . toJSON) _eMRInstanceGroupConfigVolumeSpecificationIops
+    , (Just . ("SizeInGB",) . toJSON) _eMRInstanceGroupConfigVolumeSpecificationSizeInGB
     , (Just . ("VolumeType",) . toJSON) _eMRInstanceGroupConfigVolumeSpecificationVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElastiCacheReplicationGroupNodeGroupConfiguration.hs
@@ -30,7 +30,7 @@
     [ fmap (("NodeGroupId",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationNodeGroupId
     , fmap (("PrimaryAvailabilityZone",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationPrimaryAvailabilityZone
     , fmap (("ReplicaAvailabilityZones",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationReplicaAvailabilityZones
-    , fmap (("ReplicaCount",) . toJSON . fmap Integer') _elastiCacheReplicationGroupNodeGroupConfigurationReplicaCount
+    , fmap (("ReplicaCount",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationReplicaCount
     , fmap (("Slots",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfigurationSlots
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxAgeRule.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxAgeRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxAgeRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxAgeRule.hs
@@ -24,9 +24,9 @@
   toJSON ElasticBeanstalkApplicationMaxAgeRule{..} =
     object $
     catMaybes
-    [ fmap (("DeleteSourceFromS3",) . toJSON . fmap Bool') _elasticBeanstalkApplicationMaxAgeRuleDeleteSourceFromS3
-    , fmap (("Enabled",) . toJSON . fmap Bool') _elasticBeanstalkApplicationMaxAgeRuleEnabled
-    , fmap (("MaxAgeInDays",) . toJSON . fmap Integer') _elasticBeanstalkApplicationMaxAgeRuleMaxAgeInDays
+    [ fmap (("DeleteSourceFromS3",) . toJSON) _elasticBeanstalkApplicationMaxAgeRuleDeleteSourceFromS3
+    , fmap (("Enabled",) . toJSON) _elasticBeanstalkApplicationMaxAgeRuleEnabled
+    , fmap (("MaxAgeInDays",) . toJSON) _elasticBeanstalkApplicationMaxAgeRuleMaxAgeInDays
     ]
 
 -- | Constructor for 'ElasticBeanstalkApplicationMaxAgeRule' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxCountRule.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxCountRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxCountRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationMaxCountRule.hs
@@ -24,9 +24,9 @@
   toJSON ElasticBeanstalkApplicationMaxCountRule{..} =
     object $
     catMaybes
-    [ fmap (("DeleteSourceFromS3",) . toJSON . fmap Bool') _elasticBeanstalkApplicationMaxCountRuleDeleteSourceFromS3
-    , fmap (("Enabled",) . toJSON . fmap Bool') _elasticBeanstalkApplicationMaxCountRuleEnabled
-    , fmap (("MaxCount",) . toJSON . fmap Integer') _elasticBeanstalkApplicationMaxCountRuleMaxCount
+    [ fmap (("DeleteSourceFromS3",) . toJSON) _elasticBeanstalkApplicationMaxCountRuleDeleteSourceFromS3
+    , fmap (("Enabled",) . toJSON) _elasticBeanstalkApplicationMaxCountRuleEnabled
+    , fmap (("MaxCount",) . toJSON) _elasticBeanstalkApplicationMaxCountRuleMaxCount
     ]
 
 -- | Constructor for 'ElasticBeanstalkApplicationMaxCountRule' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAccessLoggingPolicy.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAccessLoggingPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAccessLoggingPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAccessLoggingPolicy.hs
@@ -26,8 +26,8 @@
   toJSON ElasticLoadBalancingLoadBalancerAccessLoggingPolicy{..} =
     object $
     catMaybes
-    [ fmap (("EmitInterval",) . toJSON . fmap Integer') _elasticLoadBalancingLoadBalancerAccessLoggingPolicyEmitInterval
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _elasticLoadBalancingLoadBalancerAccessLoggingPolicyEnabled
+    [ fmap (("EmitInterval",) . toJSON) _elasticLoadBalancingLoadBalancerAccessLoggingPolicyEmitInterval
+    , (Just . ("Enabled",) . toJSON) _elasticLoadBalancingLoadBalancerAccessLoggingPolicyEnabled
     , (Just . ("S3BucketName",) . toJSON) _elasticLoadBalancingLoadBalancerAccessLoggingPolicyS3BucketName
     , fmap (("S3BucketPrefix",) . toJSON) _elasticLoadBalancingLoadBalancerAccessLoggingPolicyS3BucketPrefix
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy.hs
@@ -24,8 +24,8 @@
   toJSON ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy{..} =
     object $
     catMaybes
-    [ (Just . ("Enabled",) . toJSON . fmap Bool') _elasticLoadBalancingLoadBalancerConnectionDrainingPolicyEnabled
-    , fmap (("Timeout",) . toJSON . fmap Integer') _elasticLoadBalancingLoadBalancerConnectionDrainingPolicyTimeout
+    [ (Just . ("Enabled",) . toJSON) _elasticLoadBalancingLoadBalancerConnectionDrainingPolicyEnabled
+    , fmap (("Timeout",) . toJSON) _elasticLoadBalancingLoadBalancerConnectionDrainingPolicyTimeout
     ]
 
 -- | Constructor for
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionSettings.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionSettings.hs
@@ -23,7 +23,7 @@
   toJSON ElasticLoadBalancingLoadBalancerConnectionSettings{..} =
     object $
     catMaybes
-    [ (Just . ("IdleTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout
+    [ (Just . ("IdleTimeout",) . toJSON) _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout
     ]
 
 -- | Constructor for 'ElasticLoadBalancingLoadBalancerConnectionSettings'
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAction.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAction.hs
@@ -33,7 +33,7 @@
     [ fmap (("AuthenticateCognitoConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionAuthenticateCognitoConfig
     , fmap (("AuthenticateOidcConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionAuthenticateOidcConfig
     , fmap (("FixedResponseConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionFixedResponseConfig
-    , fmap (("Order",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerActionOrder
+    , fmap (("Order",) . toJSON) _elasticLoadBalancingV2ListenerActionOrder
     , fmap (("RedirectConfig",) . toJSON) _elasticLoadBalancingV2ListenerActionRedirectConfig
     , fmap (("TargetGroupArn",) . toJSON) _elasticLoadBalancingV2ListenerActionTargetGroupArn
     , (Just . ("Type",) . toJSON) _elasticLoadBalancingV2ListenerActionType
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateCognitoConfig.hs
@@ -34,7 +34,7 @@
     , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigOnUnauthenticatedRequest
     , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigScope
     , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionCookieName
-    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout
+    , fmap (("SessionTimeout",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigSessionTimeout
     , (Just . ("UserPoolArn",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolArn
     , (Just . ("UserPoolClientId",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolClientId
     , (Just . ("UserPoolDomain",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateCognitoConfigUserPoolDomain
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateOidcConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateOidcConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateOidcConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerAuthenticateOidcConfig.hs
@@ -41,7 +41,7 @@
     , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigOnUnauthenticatedRequest
     , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigScope
     , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionCookieName
-    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout
+    , fmap (("SessionTimeout",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigSessionTimeout
     , (Just . ("TokenEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigTokenEndpoint
     , (Just . ("UserInfoEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerAuthenticateOidcConfigUserInfoEndpoint
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAction.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAction.hs
@@ -34,7 +34,7 @@
     [ fmap (("AuthenticateCognitoConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionAuthenticateCognitoConfig
     , fmap (("AuthenticateOidcConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionAuthenticateOidcConfig
     , fmap (("FixedResponseConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionFixedResponseConfig
-    , fmap (("Order",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRuleActionOrder
+    , fmap (("Order",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionOrder
     , fmap (("RedirectConfig",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionRedirectConfig
     , fmap (("TargetGroupArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn
     , (Just . ("Type",) . toJSON) _elasticLoadBalancingV2ListenerRuleActionType
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfig.hs
@@ -34,7 +34,7 @@
     , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigOnUnauthenticatedRequest
     , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigScope
     , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionCookieName
-    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout
+    , fmap (("SessionTimeout",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigSessionTimeout
     , (Just . ("UserPoolArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolArn
     , (Just . ("UserPoolClientId",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolClientId
     , (Just . ("UserPoolDomain",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateCognitoConfigUserPoolDomain
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleAuthenticateOidcConfig.hs
@@ -41,7 +41,7 @@
     , fmap (("OnUnauthenticatedRequest",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigOnUnauthenticatedRequest
     , fmap (("Scope",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigScope
     , fmap (("SessionCookieName",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionCookieName
-    , fmap (("SessionTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout
+    , fmap (("SessionTimeout",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigSessionTimeout
     , (Just . ("TokenEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigTokenEndpoint
     , (Just . ("UserInfoEndpoint",) . toJSON) _elasticLoadBalancingV2ListenerRuleAuthenticateOidcConfigUserInfoEndpoint
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetDescription.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetDescription.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetDescription.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetDescription.hs
@@ -27,7 +27,7 @@
     catMaybes
     [ fmap (("AvailabilityZone",) . toJSON) _elasticLoadBalancingV2TargetGroupTargetDescriptionAvailabilityZone
     , (Just . ("Id",) . toJSON) _elasticLoadBalancingV2TargetGroupTargetDescriptionId
-    , fmap (("Port",) . toJSON . fmap Integer') _elasticLoadBalancingV2TargetGroupTargetDescriptionPort
+    , fmap (("Port",) . toJSON) _elasticLoadBalancingV2TargetGroupTargetDescriptionPort
     ]
 
 -- | Constructor for 'ElasticLoadBalancingV2TargetGroupTargetDescription'
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEBSOptions.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEBSOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEBSOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEBSOptions.hs
@@ -24,9 +24,9 @@
   toJSON ElasticsearchDomainEBSOptions{..} =
     object $
     catMaybes
-    [ fmap (("EBSEnabled",) . toJSON . fmap Bool') _elasticsearchDomainEBSOptionsEBSEnabled
-    , fmap (("Iops",) . toJSON . fmap Integer') _elasticsearchDomainEBSOptionsIops
-    , fmap (("VolumeSize",) . toJSON . fmap Integer') _elasticsearchDomainEBSOptionsVolumeSize
+    [ fmap (("EBSEnabled",) . toJSON) _elasticsearchDomainEBSOptionsEBSEnabled
+    , fmap (("Iops",) . toJSON) _elasticsearchDomainEBSOptionsIops
+    , fmap (("VolumeSize",) . toJSON) _elasticsearchDomainEBSOptionsVolumeSize
     , fmap (("VolumeType",) . toJSON) _elasticsearchDomainEBSOptionsVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainElasticsearchClusterConfig.hs
@@ -28,12 +28,12 @@
   toJSON ElasticsearchDomainElasticsearchClusterConfig{..} =
     object $
     catMaybes
-    [ fmap (("DedicatedMasterCount",) . toJSON . fmap Integer') _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterCount
-    , fmap (("DedicatedMasterEnabled",) . toJSON . fmap Bool') _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterEnabled
+    [ fmap (("DedicatedMasterCount",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterCount
+    , fmap (("DedicatedMasterEnabled",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterEnabled
     , fmap (("DedicatedMasterType",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigDedicatedMasterType
-    , fmap (("InstanceCount",) . toJSON . fmap Integer') _elasticsearchDomainElasticsearchClusterConfigInstanceCount
+    , fmap (("InstanceCount",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigInstanceCount
     , fmap (("InstanceType",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigInstanceType
-    , fmap (("ZoneAwarenessEnabled",) . toJSON . fmap Bool') _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessEnabled
+    , fmap (("ZoneAwarenessEnabled",) . toJSON) _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessEnabled
     ]
 
 -- | Constructor for 'ElasticsearchDomainElasticsearchClusterConfig'
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEncryptionAtRestOptions.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEncryptionAtRestOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEncryptionAtRestOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainEncryptionAtRestOptions.hs
@@ -23,7 +23,7 @@
   toJSON ElasticsearchDomainEncryptionAtRestOptions{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _elasticsearchDomainEncryptionAtRestOptionsEnabled
+    [ fmap (("Enabled",) . toJSON) _elasticsearchDomainEncryptionAtRestOptionsEnabled
     , fmap (("KmsKeyId",) . toJSON) _elasticsearchDomainEncryptionAtRestOptionsKmsKeyId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainNodeToNodeEncryptionOptions.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainNodeToNodeEncryptionOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainNodeToNodeEncryptionOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainNodeToNodeEncryptionOptions.hs
@@ -23,7 +23,7 @@
   toJSON ElasticsearchDomainNodeToNodeEncryptionOptions{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _elasticsearchDomainNodeToNodeEncryptionOptionsEnabled
+    [ fmap (("Enabled",) . toJSON) _elasticsearchDomainNodeToNodeEncryptionOptionsEnabled
     ]
 
 -- | Constructor for 'ElasticsearchDomainNodeToNodeEncryptionOptions'
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainSnapshotOptions.hs b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainSnapshotOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainSnapshotOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainSnapshotOptions.hs
@@ -21,7 +21,7 @@
   toJSON ElasticsearchDomainSnapshotOptions{..} =
     object $
     catMaybes
-    [ fmap (("AutomatedSnapshotStartHour",) . toJSON . fmap Integer') _elasticsearchDomainSnapshotOptionsAutomatedSnapshotStartHour
+    [ fmap (("AutomatedSnapshotStartHour",) . toJSON) _elasticsearchDomainSnapshotOptionsAutomatedSnapshotStartHour
     ]
 
 -- | Constructor for 'ElasticsearchDomainSnapshotOptions' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleEcsParameters.hs
@@ -22,7 +22,7 @@
   toJSON EventsRuleEcsParameters{..} =
     object $
     catMaybes
-    [ fmap (("TaskCount",) . toJSON . fmap Integer') _eventsRuleEcsParametersTaskCount
+    [ fmap (("TaskCount",) . toJSON) _eventsRuleEcsParametersTaskCount
     , (Just . ("TaskDefinitionArn",) . toJSON) _eventsRuleEcsParametersTaskDefinitionArn
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemLustreConfiguration.hs
@@ -26,7 +26,7 @@
     catMaybes
     [ fmap (("ExportPath",) . toJSON) _fSxFileSystemLustreConfigurationExportPath
     , fmap (("ImportPath",) . toJSON) _fSxFileSystemLustreConfigurationImportPath
-    , fmap (("ImportedFileChunkSize",) . toJSON . fmap Integer') _fSxFileSystemLustreConfigurationImportedFileChunkSize
+    , fmap (("ImportedFileChunkSize",) . toJSON) _fSxFileSystemLustreConfigurationImportedFileChunkSize
     , fmap (("WeeklyMaintenanceStartTime",) . toJSON) _fSxFileSystemLustreConfigurationWeeklyMaintenanceStartTime
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/FSxFileSystemWindowsConfiguration.hs
@@ -27,10 +27,10 @@
     object $
     catMaybes
     [ fmap (("ActiveDirectoryId",) . toJSON) _fSxFileSystemWindowsConfigurationActiveDirectoryId
-    , fmap (("AutomaticBackupRetentionDays",) . toJSON . fmap Integer') _fSxFileSystemWindowsConfigurationAutomaticBackupRetentionDays
-    , fmap (("CopyTagsToBackups",) . toJSON . fmap Bool') _fSxFileSystemWindowsConfigurationCopyTagsToBackups
+    , fmap (("AutomaticBackupRetentionDays",) . toJSON) _fSxFileSystemWindowsConfigurationAutomaticBackupRetentionDays
+    , fmap (("CopyTagsToBackups",) . toJSON) _fSxFileSystemWindowsConfigurationCopyTagsToBackups
     , fmap (("DailyAutomaticBackupStartTime",) . toJSON) _fSxFileSystemWindowsConfigurationDailyAutomaticBackupStartTime
-    , fmap (("ThroughputCapacity",) . toJSON . fmap Integer') _fSxFileSystemWindowsConfigurationThroughputCapacity
+    , fmap (("ThroughputCapacity",) . toJSON) _fSxFileSystemWindowsConfigurationThroughputCapacity
     , fmap (("WeeklyMaintenanceStartTime",) . toJSON) _fSxFileSystemWindowsConfigurationWeeklyMaintenanceStartTime
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftFleetIpPermission.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetIpPermission.hs
--- a/library-gen/Stratosphere/ResourceProperties/GameLiftFleetIpPermission.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftFleetIpPermission.hs
@@ -24,10 +24,10 @@
   toJSON GameLiftFleetIpPermission{..} =
     object $
     catMaybes
-    [ (Just . ("FromPort",) . toJSON . fmap Integer') _gameLiftFleetIpPermissionFromPort
+    [ (Just . ("FromPort",) . toJSON) _gameLiftFleetIpPermissionFromPort
     , (Just . ("IpRange",) . toJSON) _gameLiftFleetIpPermissionIpRange
     , (Just . ("Protocol",) . toJSON) _gameLiftFleetIpPermissionProtocol
-    , (Just . ("ToPort",) . toJSON . fmap Integer') _gameLiftFleetIpPermissionToPort
+    , (Just . ("ToPort",) . toJSON) _gameLiftFleetIpPermissionToPort
     ]
 
 -- | Constructor for 'GameLiftFleetIpPermission' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueJobExecutionProperty.hs b/library-gen/Stratosphere/ResourceProperties/GlueJobExecutionProperty.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueJobExecutionProperty.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueJobExecutionProperty.hs
@@ -21,7 +21,7 @@
   toJSON GlueJobExecutionProperty{..} =
     object $
     catMaybes
-    [ fmap (("MaxConcurrentRuns",) . toJSON . fmap Double') _glueJobExecutionPropertyMaxConcurrentRuns
+    [ fmap (("MaxConcurrentRuns",) . toJSON) _glueJobExecutionPropertyMaxConcurrentRuns
     ]
 
 -- | Constructor for 'GlueJobExecutionProperty' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/GluePartitionOrder.hs b/library-gen/Stratosphere/ResourceProperties/GluePartitionOrder.hs
--- a/library-gen/Stratosphere/ResourceProperties/GluePartitionOrder.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GluePartitionOrder.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("Column",) . toJSON) _gluePartitionOrderColumn
-    , fmap (("SortOrder",) . toJSON . fmap Integer') _gluePartitionOrderSortOrder
+    , fmap (("SortOrder",) . toJSON) _gluePartitionOrderSortOrder
     ]
 
 -- | Constructor for 'GluePartitionOrder' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/GluePartitionStorageDescriptor.hs b/library-gen/Stratosphere/ResourceProperties/GluePartitionStorageDescriptor.hs
--- a/library-gen/Stratosphere/ResourceProperties/GluePartitionStorageDescriptor.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GluePartitionStorageDescriptor.hs
@@ -37,16 +37,16 @@
     catMaybes
     [ fmap (("BucketColumns",) . toJSON) _gluePartitionStorageDescriptorBucketColumns
     , fmap (("Columns",) . toJSON) _gluePartitionStorageDescriptorColumns
-    , fmap (("Compressed",) . toJSON . fmap Bool') _gluePartitionStorageDescriptorCompressed
+    , fmap (("Compressed",) . toJSON) _gluePartitionStorageDescriptorCompressed
     , fmap (("InputFormat",) . toJSON) _gluePartitionStorageDescriptorInputFormat
     , fmap (("Location",) . toJSON) _gluePartitionStorageDescriptorLocation
-    , fmap (("NumberOfBuckets",) . toJSON . fmap Integer') _gluePartitionStorageDescriptorNumberOfBuckets
+    , fmap (("NumberOfBuckets",) . toJSON) _gluePartitionStorageDescriptorNumberOfBuckets
     , fmap (("OutputFormat",) . toJSON) _gluePartitionStorageDescriptorOutputFormat
     , fmap (("Parameters",) . toJSON) _gluePartitionStorageDescriptorParameters
     , fmap (("SerdeInfo",) . toJSON) _gluePartitionStorageDescriptorSerdeInfo
     , fmap (("SkewedInfo",) . toJSON) _gluePartitionStorageDescriptorSkewedInfo
     , fmap (("SortColumns",) . toJSON) _gluePartitionStorageDescriptorSortColumns
-    , fmap (("StoredAsSubDirectories",) . toJSON . fmap Bool') _gluePartitionStorageDescriptorStoredAsSubDirectories
+    , fmap (("StoredAsSubDirectories",) . toJSON) _gluePartitionStorageDescriptorStoredAsSubDirectories
     ]
 
 -- | Constructor for 'GluePartitionStorageDescriptor' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueTableOrder.hs b/library-gen/Stratosphere/ResourceProperties/GlueTableOrder.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueTableOrder.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueTableOrder.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("Column",) . toJSON) _glueTableOrderColumn
-    , (Just . ("SortOrder",) . toJSON . fmap Integer') _glueTableOrderSortOrder
+    , (Just . ("SortOrder",) . toJSON) _glueTableOrderSortOrder
     ]
 
 -- | Constructor for 'GlueTableOrder' containing required fields as arguments.
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueTableStorageDescriptor.hs b/library-gen/Stratosphere/ResourceProperties/GlueTableStorageDescriptor.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueTableStorageDescriptor.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueTableStorageDescriptor.hs
@@ -37,16 +37,16 @@
     catMaybes
     [ fmap (("BucketColumns",) . toJSON) _glueTableStorageDescriptorBucketColumns
     , fmap (("Columns",) . toJSON) _glueTableStorageDescriptorColumns
-    , fmap (("Compressed",) . toJSON . fmap Bool') _glueTableStorageDescriptorCompressed
+    , fmap (("Compressed",) . toJSON) _glueTableStorageDescriptorCompressed
     , fmap (("InputFormat",) . toJSON) _glueTableStorageDescriptorInputFormat
     , fmap (("Location",) . toJSON) _glueTableStorageDescriptorLocation
-    , fmap (("NumberOfBuckets",) . toJSON . fmap Integer') _glueTableStorageDescriptorNumberOfBuckets
+    , fmap (("NumberOfBuckets",) . toJSON) _glueTableStorageDescriptorNumberOfBuckets
     , fmap (("OutputFormat",) . toJSON) _glueTableStorageDescriptorOutputFormat
     , fmap (("Parameters",) . toJSON) _glueTableStorageDescriptorParameters
     , fmap (("SerdeInfo",) . toJSON) _glueTableStorageDescriptorSerdeInfo
     , fmap (("SkewedInfo",) . toJSON) _glueTableStorageDescriptorSkewedInfo
     , fmap (("SortColumns",) . toJSON) _glueTableStorageDescriptorSortColumns
-    , fmap (("StoredAsSubDirectories",) . toJSON . fmap Bool') _glueTableStorageDescriptorStoredAsSubDirectories
+    , fmap (("StoredAsSubDirectories",) . toJSON) _glueTableStorageDescriptorStoredAsSubDirectories
     ]
 
 -- | Constructor for 'GlueTableStorageDescriptor' containing required fields
diff --git a/library-gen/Stratosphere/ResourceProperties/GlueTableTableInput.hs b/library-gen/Stratosphere/ResourceProperties/GlueTableTableInput.hs
--- a/library-gen/Stratosphere/ResourceProperties/GlueTableTableInput.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GlueTableTableInput.hs
@@ -36,7 +36,7 @@
     , fmap (("Owner",) . toJSON) _glueTableTableInputOwner
     , fmap (("Parameters",) . toJSON) _glueTableTableInputParameters
     , fmap (("PartitionKeys",) . toJSON) _glueTableTableInputPartitionKeys
-    , fmap (("Retention",) . toJSON . fmap Integer') _glueTableTableInputRetention
+    , fmap (("Retention",) . toJSON) _glueTableTableInputRetention
     , fmap (("StorageDescriptor",) . toJSON) _glueTableTableInputStorageDescriptor
     , fmap (("TableType",) . toJSON) _glueTableTableInputTableType
     , fmap (("ViewExpandedText",) . toJSON) _glueTableTableInputViewExpandedText
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionConnector.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionConnector.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionConnector.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html
+
+module Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnector where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassConnectorDefinitionConnector. See
+-- 'greengrassConnectorDefinitionConnector' for a more convenient
+-- constructor.
+data GreengrassConnectorDefinitionConnector =
+  GreengrassConnectorDefinitionConnector
+  { _greengrassConnectorDefinitionConnectorConnectorArn :: Val Text
+  , _greengrassConnectorDefinitionConnectorId :: Val Text
+  , _greengrassConnectorDefinitionConnectorParameters :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassConnectorDefinitionConnector where
+  toJSON GreengrassConnectorDefinitionConnector{..} =
+    object $
+    catMaybes
+    [ (Just . ("ConnectorArn",) . toJSON) _greengrassConnectorDefinitionConnectorConnectorArn
+    , (Just . ("Id",) . toJSON) _greengrassConnectorDefinitionConnectorId
+    , fmap (("Parameters",) . toJSON) _greengrassConnectorDefinitionConnectorParameters
+    ]
+
+-- | Constructor for 'GreengrassConnectorDefinitionConnector' containing
+-- required fields as arguments.
+greengrassConnectorDefinitionConnector
+  :: Val Text -- ^ 'gcdcnConnectorArn'
+  -> Val Text -- ^ 'gcdcnId'
+  -> GreengrassConnectorDefinitionConnector
+greengrassConnectorDefinitionConnector connectorArnarg idarg =
+  GreengrassConnectorDefinitionConnector
+  { _greengrassConnectorDefinitionConnectorConnectorArn = connectorArnarg
+  , _greengrassConnectorDefinitionConnectorId = idarg
+  , _greengrassConnectorDefinitionConnectorParameters = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-connectorarn
+gcdcnConnectorArn :: Lens' GreengrassConnectorDefinitionConnector (Val Text)
+gcdcnConnectorArn = lens _greengrassConnectorDefinitionConnectorConnectorArn (\s a -> s { _greengrassConnectorDefinitionConnectorConnectorArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-id
+gcdcnId :: Lens' GreengrassConnectorDefinitionConnector (Val Text)
+gcdcnId = lens _greengrassConnectorDefinitionConnectorId (\s a -> s { _greengrassConnectorDefinitionConnectorId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-parameters
+gcdcnParameters :: Lens' GreengrassConnectorDefinitionConnector (Maybe Object)
+gcdcnParameters = lens _greengrassConnectorDefinitionConnectorParameters (\s a -> s { _greengrassConnectorDefinitionConnectorParameters = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionConnectorDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionConnectorDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionConnectorDefinitionVersion.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnectorDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnector
+
+-- | Full data type definition for
+-- GreengrassConnectorDefinitionConnectorDefinitionVersion. See
+-- 'greengrassConnectorDefinitionConnectorDefinitionVersion' for a more
+-- convenient constructor.
+data GreengrassConnectorDefinitionConnectorDefinitionVersion =
+  GreengrassConnectorDefinitionConnectorDefinitionVersion
+  { _greengrassConnectorDefinitionConnectorDefinitionVersionConnectors :: [GreengrassConnectorDefinitionConnector]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassConnectorDefinitionConnectorDefinitionVersion where
+  toJSON GreengrassConnectorDefinitionConnectorDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ (Just . ("Connectors",) . toJSON) _greengrassConnectorDefinitionConnectorDefinitionVersionConnectors
+    ]
+
+-- | Constructor for 'GreengrassConnectorDefinitionConnectorDefinitionVersion'
+-- containing required fields as arguments.
+greengrassConnectorDefinitionConnectorDefinitionVersion
+  :: [GreengrassConnectorDefinitionConnector] -- ^ 'gcdcdvConnectors'
+  -> GreengrassConnectorDefinitionConnectorDefinitionVersion
+greengrassConnectorDefinitionConnectorDefinitionVersion connectorsarg =
+  GreengrassConnectorDefinitionConnectorDefinitionVersion
+  { _greengrassConnectorDefinitionConnectorDefinitionVersionConnectors = connectorsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html#cfn-greengrass-connectordefinition-connectordefinitionversion-connectors
+gcdcdvConnectors :: Lens' GreengrassConnectorDefinitionConnectorDefinitionVersion [GreengrassConnectorDefinitionConnector]
+gcdcdvConnectors = lens _greengrassConnectorDefinitionConnectorDefinitionVersionConnectors (\s a -> s { _greengrassConnectorDefinitionConnectorDefinitionVersionConnectors = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionVersionConnector.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionVersionConnector.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassConnectorDefinitionVersionConnector.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html
+
+module Stratosphere.ResourceProperties.GreengrassConnectorDefinitionVersionConnector where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassConnectorDefinitionVersionConnector. See
+-- 'greengrassConnectorDefinitionVersionConnector' for a more convenient
+-- constructor.
+data GreengrassConnectorDefinitionVersionConnector =
+  GreengrassConnectorDefinitionVersionConnector
+  { _greengrassConnectorDefinitionVersionConnectorConnectorArn :: Val Text
+  , _greengrassConnectorDefinitionVersionConnectorId :: Val Text
+  , _greengrassConnectorDefinitionVersionConnectorParameters :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassConnectorDefinitionVersionConnector where
+  toJSON GreengrassConnectorDefinitionVersionConnector{..} =
+    object $
+    catMaybes
+    [ (Just . ("ConnectorArn",) . toJSON) _greengrassConnectorDefinitionVersionConnectorConnectorArn
+    , (Just . ("Id",) . toJSON) _greengrassConnectorDefinitionVersionConnectorId
+    , fmap (("Parameters",) . toJSON) _greengrassConnectorDefinitionVersionConnectorParameters
+    ]
+
+-- | Constructor for 'GreengrassConnectorDefinitionVersionConnector'
+-- containing required fields as arguments.
+greengrassConnectorDefinitionVersionConnector
+  :: Val Text -- ^ 'gcdvcnConnectorArn'
+  -> Val Text -- ^ 'gcdvcnId'
+  -> GreengrassConnectorDefinitionVersionConnector
+greengrassConnectorDefinitionVersionConnector connectorArnarg idarg =
+  GreengrassConnectorDefinitionVersionConnector
+  { _greengrassConnectorDefinitionVersionConnectorConnectorArn = connectorArnarg
+  , _greengrassConnectorDefinitionVersionConnectorId = idarg
+  , _greengrassConnectorDefinitionVersionConnectorParameters = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-connectorarn
+gcdvcnConnectorArn :: Lens' GreengrassConnectorDefinitionVersionConnector (Val Text)
+gcdvcnConnectorArn = lens _greengrassConnectorDefinitionVersionConnectorConnectorArn (\s a -> s { _greengrassConnectorDefinitionVersionConnectorConnectorArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-id
+gcdvcnId :: Lens' GreengrassConnectorDefinitionVersionConnector (Val Text)
+gcdvcnId = lens _greengrassConnectorDefinitionVersionConnectorId (\s a -> s { _greengrassConnectorDefinitionVersionConnectorId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-parameters
+gcdvcnParameters :: Lens' GreengrassConnectorDefinitionVersionConnector (Maybe Object)
+gcdvcnParameters = lens _greengrassConnectorDefinitionVersionConnectorParameters (\s a -> s { _greengrassConnectorDefinitionVersionConnectorParameters = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionCore.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionCore.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionCore.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html
+
+module Stratosphere.ResourceProperties.GreengrassCoreDefinitionCore where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassCoreDefinitionCore. See
+-- 'greengrassCoreDefinitionCore' for a more convenient constructor.
+data GreengrassCoreDefinitionCore =
+  GreengrassCoreDefinitionCore
+  { _greengrassCoreDefinitionCoreCertificateArn :: Val Text
+  , _greengrassCoreDefinitionCoreId :: Val Text
+  , _greengrassCoreDefinitionCoreSyncShadow :: Maybe (Val Bool)
+  , _greengrassCoreDefinitionCoreThingArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassCoreDefinitionCore where
+  toJSON GreengrassCoreDefinitionCore{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateArn",) . toJSON) _greengrassCoreDefinitionCoreCertificateArn
+    , (Just . ("Id",) . toJSON) _greengrassCoreDefinitionCoreId
+    , fmap (("SyncShadow",) . toJSON) _greengrassCoreDefinitionCoreSyncShadow
+    , (Just . ("ThingArn",) . toJSON) _greengrassCoreDefinitionCoreThingArn
+    ]
+
+-- | Constructor for 'GreengrassCoreDefinitionCore' containing required fields
+-- as arguments.
+greengrassCoreDefinitionCore
+  :: Val Text -- ^ 'gcdcrCertificateArn'
+  -> Val Text -- ^ 'gcdcrId'
+  -> Val Text -- ^ 'gcdcrThingArn'
+  -> GreengrassCoreDefinitionCore
+greengrassCoreDefinitionCore certificateArnarg idarg thingArnarg =
+  GreengrassCoreDefinitionCore
+  { _greengrassCoreDefinitionCoreCertificateArn = certificateArnarg
+  , _greengrassCoreDefinitionCoreId = idarg
+  , _greengrassCoreDefinitionCoreSyncShadow = Nothing
+  , _greengrassCoreDefinitionCoreThingArn = thingArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-certificatearn
+gcdcrCertificateArn :: Lens' GreengrassCoreDefinitionCore (Val Text)
+gcdcrCertificateArn = lens _greengrassCoreDefinitionCoreCertificateArn (\s a -> s { _greengrassCoreDefinitionCoreCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-id
+gcdcrId :: Lens' GreengrassCoreDefinitionCore (Val Text)
+gcdcrId = lens _greengrassCoreDefinitionCoreId (\s a -> s { _greengrassCoreDefinitionCoreId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-syncshadow
+gcdcrSyncShadow :: Lens' GreengrassCoreDefinitionCore (Maybe (Val Bool))
+gcdcrSyncShadow = lens _greengrassCoreDefinitionCoreSyncShadow (\s a -> s { _greengrassCoreDefinitionCoreSyncShadow = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-thingarn
+gcdcrThingArn :: Lens' GreengrassCoreDefinitionCore (Val Text)
+gcdcrThingArn = lens _greengrassCoreDefinitionCoreThingArn (\s a -> s { _greengrassCoreDefinitionCoreThingArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionCoreDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionCoreDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionCoreDefinitionVersion.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassCoreDefinitionCoreDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassCoreDefinitionCore
+
+-- | Full data type definition for
+-- GreengrassCoreDefinitionCoreDefinitionVersion. See
+-- 'greengrassCoreDefinitionCoreDefinitionVersion' for a more convenient
+-- constructor.
+data GreengrassCoreDefinitionCoreDefinitionVersion =
+  GreengrassCoreDefinitionCoreDefinitionVersion
+  { _greengrassCoreDefinitionCoreDefinitionVersionCores :: [GreengrassCoreDefinitionCore]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassCoreDefinitionCoreDefinitionVersion where
+  toJSON GreengrassCoreDefinitionCoreDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ (Just . ("Cores",) . toJSON) _greengrassCoreDefinitionCoreDefinitionVersionCores
+    ]
+
+-- | Constructor for 'GreengrassCoreDefinitionCoreDefinitionVersion'
+-- containing required fields as arguments.
+greengrassCoreDefinitionCoreDefinitionVersion
+  :: [GreengrassCoreDefinitionCore] -- ^ 'gcdcdvCores'
+  -> GreengrassCoreDefinitionCoreDefinitionVersion
+greengrassCoreDefinitionCoreDefinitionVersion coresarg =
+  GreengrassCoreDefinitionCoreDefinitionVersion
+  { _greengrassCoreDefinitionCoreDefinitionVersionCores = coresarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html#cfn-greengrass-coredefinition-coredefinitionversion-cores
+gcdcdvCores :: Lens' GreengrassCoreDefinitionCoreDefinitionVersion [GreengrassCoreDefinitionCore]
+gcdcdvCores = lens _greengrassCoreDefinitionCoreDefinitionVersionCores (\s a -> s { _greengrassCoreDefinitionCoreDefinitionVersionCores = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionVersionCore.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionVersionCore.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionVersionCore.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html
+
+module Stratosphere.ResourceProperties.GreengrassCoreDefinitionVersionCore where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassCoreDefinitionVersionCore. See
+-- 'greengrassCoreDefinitionVersionCore' for a more convenient constructor.
+data GreengrassCoreDefinitionVersionCore =
+  GreengrassCoreDefinitionVersionCore
+  { _greengrassCoreDefinitionVersionCoreCertificateArn :: Val Text
+  , _greengrassCoreDefinitionVersionCoreId :: Val Text
+  , _greengrassCoreDefinitionVersionCoreSyncShadow :: Maybe (Val Bool)
+  , _greengrassCoreDefinitionVersionCoreThingArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassCoreDefinitionVersionCore where
+  toJSON GreengrassCoreDefinitionVersionCore{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateArn",) . toJSON) _greengrassCoreDefinitionVersionCoreCertificateArn
+    , (Just . ("Id",) . toJSON) _greengrassCoreDefinitionVersionCoreId
+    , fmap (("SyncShadow",) . toJSON) _greengrassCoreDefinitionVersionCoreSyncShadow
+    , (Just . ("ThingArn",) . toJSON) _greengrassCoreDefinitionVersionCoreThingArn
+    ]
+
+-- | Constructor for 'GreengrassCoreDefinitionVersionCore' containing required
+-- fields as arguments.
+greengrassCoreDefinitionVersionCore
+  :: Val Text -- ^ 'gcdvcrCertificateArn'
+  -> Val Text -- ^ 'gcdvcrId'
+  -> Val Text -- ^ 'gcdvcrThingArn'
+  -> GreengrassCoreDefinitionVersionCore
+greengrassCoreDefinitionVersionCore certificateArnarg idarg thingArnarg =
+  GreengrassCoreDefinitionVersionCore
+  { _greengrassCoreDefinitionVersionCoreCertificateArn = certificateArnarg
+  , _greengrassCoreDefinitionVersionCoreId = idarg
+  , _greengrassCoreDefinitionVersionCoreSyncShadow = Nothing
+  , _greengrassCoreDefinitionVersionCoreThingArn = thingArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-certificatearn
+gcdvcrCertificateArn :: Lens' GreengrassCoreDefinitionVersionCore (Val Text)
+gcdvcrCertificateArn = lens _greengrassCoreDefinitionVersionCoreCertificateArn (\s a -> s { _greengrassCoreDefinitionVersionCoreCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-id
+gcdvcrId :: Lens' GreengrassCoreDefinitionVersionCore (Val Text)
+gcdvcrId = lens _greengrassCoreDefinitionVersionCoreId (\s a -> s { _greengrassCoreDefinitionVersionCoreId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-syncshadow
+gcdvcrSyncShadow :: Lens' GreengrassCoreDefinitionVersionCore (Maybe (Val Bool))
+gcdvcrSyncShadow = lens _greengrassCoreDefinitionVersionCoreSyncShadow (\s a -> s { _greengrassCoreDefinitionVersionCoreSyncShadow = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-thingarn
+gcdvcrThingArn :: Lens' GreengrassCoreDefinitionVersionCore (Val Text)
+gcdvcrThingArn = lens _greengrassCoreDefinitionVersionCoreThingArn (\s a -> s { _greengrassCoreDefinitionVersionCoreThingArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionDevice.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionDevice.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionDevice.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html
+
+module Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDevice where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassDeviceDefinitionDevice. See
+-- 'greengrassDeviceDefinitionDevice' for a more convenient constructor.
+data GreengrassDeviceDefinitionDevice =
+  GreengrassDeviceDefinitionDevice
+  { _greengrassDeviceDefinitionDeviceCertificateArn :: Val Text
+  , _greengrassDeviceDefinitionDeviceId :: Val Text
+  , _greengrassDeviceDefinitionDeviceSyncShadow :: Maybe (Val Bool)
+  , _greengrassDeviceDefinitionDeviceThingArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassDeviceDefinitionDevice where
+  toJSON GreengrassDeviceDefinitionDevice{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateArn",) . toJSON) _greengrassDeviceDefinitionDeviceCertificateArn
+    , (Just . ("Id",) . toJSON) _greengrassDeviceDefinitionDeviceId
+    , fmap (("SyncShadow",) . toJSON) _greengrassDeviceDefinitionDeviceSyncShadow
+    , (Just . ("ThingArn",) . toJSON) _greengrassDeviceDefinitionDeviceThingArn
+    ]
+
+-- | Constructor for 'GreengrassDeviceDefinitionDevice' containing required
+-- fields as arguments.
+greengrassDeviceDefinitionDevice
+  :: Val Text -- ^ 'gdddCertificateArn'
+  -> Val Text -- ^ 'gdddId'
+  -> Val Text -- ^ 'gdddThingArn'
+  -> GreengrassDeviceDefinitionDevice
+greengrassDeviceDefinitionDevice certificateArnarg idarg thingArnarg =
+  GreengrassDeviceDefinitionDevice
+  { _greengrassDeviceDefinitionDeviceCertificateArn = certificateArnarg
+  , _greengrassDeviceDefinitionDeviceId = idarg
+  , _greengrassDeviceDefinitionDeviceSyncShadow = Nothing
+  , _greengrassDeviceDefinitionDeviceThingArn = thingArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-certificatearn
+gdddCertificateArn :: Lens' GreengrassDeviceDefinitionDevice (Val Text)
+gdddCertificateArn = lens _greengrassDeviceDefinitionDeviceCertificateArn (\s a -> s { _greengrassDeviceDefinitionDeviceCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-id
+gdddId :: Lens' GreengrassDeviceDefinitionDevice (Val Text)
+gdddId = lens _greengrassDeviceDefinitionDeviceId (\s a -> s { _greengrassDeviceDefinitionDeviceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-syncshadow
+gdddSyncShadow :: Lens' GreengrassDeviceDefinitionDevice (Maybe (Val Bool))
+gdddSyncShadow = lens _greengrassDeviceDefinitionDeviceSyncShadow (\s a -> s { _greengrassDeviceDefinitionDeviceSyncShadow = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-thingarn
+gdddThingArn :: Lens' GreengrassDeviceDefinitionDevice (Val Text)
+gdddThingArn = lens _greengrassDeviceDefinitionDeviceThingArn (\s a -> s { _greengrassDeviceDefinitionDeviceThingArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionDeviceDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionDeviceDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionDeviceDefinitionVersion.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDeviceDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDevice
+
+-- | Full data type definition for
+-- GreengrassDeviceDefinitionDeviceDefinitionVersion. See
+-- 'greengrassDeviceDefinitionDeviceDefinitionVersion' for a more convenient
+-- constructor.
+data GreengrassDeviceDefinitionDeviceDefinitionVersion =
+  GreengrassDeviceDefinitionDeviceDefinitionVersion
+  { _greengrassDeviceDefinitionDeviceDefinitionVersionDevices :: [GreengrassDeviceDefinitionDevice]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassDeviceDefinitionDeviceDefinitionVersion where
+  toJSON GreengrassDeviceDefinitionDeviceDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ (Just . ("Devices",) . toJSON) _greengrassDeviceDefinitionDeviceDefinitionVersionDevices
+    ]
+
+-- | Constructor for 'GreengrassDeviceDefinitionDeviceDefinitionVersion'
+-- containing required fields as arguments.
+greengrassDeviceDefinitionDeviceDefinitionVersion
+  :: [GreengrassDeviceDefinitionDevice] -- ^ 'gddddvDevices'
+  -> GreengrassDeviceDefinitionDeviceDefinitionVersion
+greengrassDeviceDefinitionDeviceDefinitionVersion devicesarg =
+  GreengrassDeviceDefinitionDeviceDefinitionVersion
+  { _greengrassDeviceDefinitionDeviceDefinitionVersionDevices = devicesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html#cfn-greengrass-devicedefinition-devicedefinitionversion-devices
+gddddvDevices :: Lens' GreengrassDeviceDefinitionDeviceDefinitionVersion [GreengrassDeviceDefinitionDevice]
+gddddvDevices = lens _greengrassDeviceDefinitionDeviceDefinitionVersionDevices (\s a -> s { _greengrassDeviceDefinitionDeviceDefinitionVersionDevices = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionVersionDevice.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionVersionDevice.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassDeviceDefinitionVersionDevice.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html
+
+module Stratosphere.ResourceProperties.GreengrassDeviceDefinitionVersionDevice where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassDeviceDefinitionVersionDevice.
+-- See 'greengrassDeviceDefinitionVersionDevice' for a more convenient
+-- constructor.
+data GreengrassDeviceDefinitionVersionDevice =
+  GreengrassDeviceDefinitionVersionDevice
+  { _greengrassDeviceDefinitionVersionDeviceCertificateArn :: Val Text
+  , _greengrassDeviceDefinitionVersionDeviceId :: Val Text
+  , _greengrassDeviceDefinitionVersionDeviceSyncShadow :: Maybe (Val Bool)
+  , _greengrassDeviceDefinitionVersionDeviceThingArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassDeviceDefinitionVersionDevice where
+  toJSON GreengrassDeviceDefinitionVersionDevice{..} =
+    object $
+    catMaybes
+    [ (Just . ("CertificateArn",) . toJSON) _greengrassDeviceDefinitionVersionDeviceCertificateArn
+    , (Just . ("Id",) . toJSON) _greengrassDeviceDefinitionVersionDeviceId
+    , fmap (("SyncShadow",) . toJSON) _greengrassDeviceDefinitionVersionDeviceSyncShadow
+    , (Just . ("ThingArn",) . toJSON) _greengrassDeviceDefinitionVersionDeviceThingArn
+    ]
+
+-- | Constructor for 'GreengrassDeviceDefinitionVersionDevice' containing
+-- required fields as arguments.
+greengrassDeviceDefinitionVersionDevice
+  :: Val Text -- ^ 'gddvdCertificateArn'
+  -> Val Text -- ^ 'gddvdId'
+  -> Val Text -- ^ 'gddvdThingArn'
+  -> GreengrassDeviceDefinitionVersionDevice
+greengrassDeviceDefinitionVersionDevice certificateArnarg idarg thingArnarg =
+  GreengrassDeviceDefinitionVersionDevice
+  { _greengrassDeviceDefinitionVersionDeviceCertificateArn = certificateArnarg
+  , _greengrassDeviceDefinitionVersionDeviceId = idarg
+  , _greengrassDeviceDefinitionVersionDeviceSyncShadow = Nothing
+  , _greengrassDeviceDefinitionVersionDeviceThingArn = thingArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-certificatearn
+gddvdCertificateArn :: Lens' GreengrassDeviceDefinitionVersionDevice (Val Text)
+gddvdCertificateArn = lens _greengrassDeviceDefinitionVersionDeviceCertificateArn (\s a -> s { _greengrassDeviceDefinitionVersionDeviceCertificateArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-id
+gddvdId :: Lens' GreengrassDeviceDefinitionVersionDevice (Val Text)
+gddvdId = lens _greengrassDeviceDefinitionVersionDeviceId (\s a -> s { _greengrassDeviceDefinitionVersionDeviceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-syncshadow
+gddvdSyncShadow :: Lens' GreengrassDeviceDefinitionVersionDevice (Maybe (Val Bool))
+gddvdSyncShadow = lens _greengrassDeviceDefinitionVersionDeviceSyncShadow (\s a -> s { _greengrassDeviceDefinitionVersionDeviceSyncShadow = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-thingarn
+gddvdThingArn :: Lens' GreengrassDeviceDefinitionVersionDevice (Val Text)
+gddvdThingArn = lens _greengrassDeviceDefinitionVersionDeviceThingArn (\s a -> s { _greengrassDeviceDefinitionVersionDeviceThingArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionDefaultConfig.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionDefaultConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionDefaultConfig.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionDefaultConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionExecution
+
+-- | Full data type definition for GreengrassFunctionDefinitionDefaultConfig.
+-- See 'greengrassFunctionDefinitionDefaultConfig' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionDefaultConfig =
+  GreengrassFunctionDefinitionDefaultConfig
+  { _greengrassFunctionDefinitionDefaultConfigExecution :: GreengrassFunctionDefinitionExecution
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionDefaultConfig where
+  toJSON GreengrassFunctionDefinitionDefaultConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("Execution",) . toJSON) _greengrassFunctionDefinitionDefaultConfigExecution
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionDefaultConfig' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionDefaultConfig
+  :: GreengrassFunctionDefinitionExecution -- ^ 'gfddcExecution'
+  -> GreengrassFunctionDefinitionDefaultConfig
+greengrassFunctionDefinitionDefaultConfig executionarg =
+  GreengrassFunctionDefinitionDefaultConfig
+  { _greengrassFunctionDefinitionDefaultConfigExecution = executionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html#cfn-greengrass-functiondefinition-defaultconfig-execution
+gfddcExecution :: Lens' GreengrassFunctionDefinitionDefaultConfig GreengrassFunctionDefinitionExecution
+gfddcExecution = lens _greengrassFunctionDefinitionDefaultConfigExecution (\s a -> s { _greengrassFunctionDefinitionDefaultConfigExecution = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionEnvironment.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionEnvironment.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionEnvironment.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionEnvironment where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionExecution
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionResourceAccessPolicy
+
+-- | Full data type definition for GreengrassFunctionDefinitionEnvironment.
+-- See 'greengrassFunctionDefinitionEnvironment' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionEnvironment =
+  GreengrassFunctionDefinitionEnvironment
+  { _greengrassFunctionDefinitionEnvironmentAccessSysfs :: Maybe (Val Bool)
+  , _greengrassFunctionDefinitionEnvironmentExecution :: Maybe GreengrassFunctionDefinitionExecution
+  , _greengrassFunctionDefinitionEnvironmentResourceAccessPolicies :: Maybe [GreengrassFunctionDefinitionResourceAccessPolicy]
+  , _greengrassFunctionDefinitionEnvironmentVariables :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionEnvironment where
+  toJSON GreengrassFunctionDefinitionEnvironment{..} =
+    object $
+    catMaybes
+    [ fmap (("AccessSysfs",) . toJSON) _greengrassFunctionDefinitionEnvironmentAccessSysfs
+    , fmap (("Execution",) . toJSON) _greengrassFunctionDefinitionEnvironmentExecution
+    , fmap (("ResourceAccessPolicies",) . toJSON) _greengrassFunctionDefinitionEnvironmentResourceAccessPolicies
+    , fmap (("Variables",) . toJSON) _greengrassFunctionDefinitionEnvironmentVariables
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionEnvironment' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionEnvironment
+  :: GreengrassFunctionDefinitionEnvironment
+greengrassFunctionDefinitionEnvironment  =
+  GreengrassFunctionDefinitionEnvironment
+  { _greengrassFunctionDefinitionEnvironmentAccessSysfs = Nothing
+  , _greengrassFunctionDefinitionEnvironmentExecution = Nothing
+  , _greengrassFunctionDefinitionEnvironmentResourceAccessPolicies = Nothing
+  , _greengrassFunctionDefinitionEnvironmentVariables = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-accesssysfs
+gfdeAccessSysfs :: Lens' GreengrassFunctionDefinitionEnvironment (Maybe (Val Bool))
+gfdeAccessSysfs = lens _greengrassFunctionDefinitionEnvironmentAccessSysfs (\s a -> s { _greengrassFunctionDefinitionEnvironmentAccessSysfs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-execution
+gfdeExecution :: Lens' GreengrassFunctionDefinitionEnvironment (Maybe GreengrassFunctionDefinitionExecution)
+gfdeExecution = lens _greengrassFunctionDefinitionEnvironmentExecution (\s a -> s { _greengrassFunctionDefinitionEnvironmentExecution = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-resourceaccesspolicies
+gfdeResourceAccessPolicies :: Lens' GreengrassFunctionDefinitionEnvironment (Maybe [GreengrassFunctionDefinitionResourceAccessPolicy])
+gfdeResourceAccessPolicies = lens _greengrassFunctionDefinitionEnvironmentResourceAccessPolicies (\s a -> s { _greengrassFunctionDefinitionEnvironmentResourceAccessPolicies = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-variables
+gfdeVariables :: Lens' GreengrassFunctionDefinitionEnvironment (Maybe Object)
+gfdeVariables = lens _greengrassFunctionDefinitionEnvironmentVariables (\s a -> s { _greengrassFunctionDefinitionEnvironmentVariables = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionExecution.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionExecution.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionExecution.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionExecution where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionRunAs
+
+-- | Full data type definition for GreengrassFunctionDefinitionExecution. See
+-- 'greengrassFunctionDefinitionExecution' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionExecution =
+  GreengrassFunctionDefinitionExecution
+  { _greengrassFunctionDefinitionExecutionIsolationMode :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionExecutionRunAs :: Maybe GreengrassFunctionDefinitionRunAs
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionExecution where
+  toJSON GreengrassFunctionDefinitionExecution{..} =
+    object $
+    catMaybes
+    [ fmap (("IsolationMode",) . toJSON) _greengrassFunctionDefinitionExecutionIsolationMode
+    , fmap (("RunAs",) . toJSON) _greengrassFunctionDefinitionExecutionRunAs
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionExecution' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionExecution
+  :: GreengrassFunctionDefinitionExecution
+greengrassFunctionDefinitionExecution  =
+  GreengrassFunctionDefinitionExecution
+  { _greengrassFunctionDefinitionExecutionIsolationMode = Nothing
+  , _greengrassFunctionDefinitionExecutionRunAs = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-isolationmode
+gfdeIsolationMode :: Lens' GreengrassFunctionDefinitionExecution (Maybe (Val Text))
+gfdeIsolationMode = lens _greengrassFunctionDefinitionExecutionIsolationMode (\s a -> s { _greengrassFunctionDefinitionExecutionIsolationMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-runas
+gfdeRunAs :: Lens' GreengrassFunctionDefinitionExecution (Maybe GreengrassFunctionDefinitionRunAs)
+gfdeRunAs = lens _greengrassFunctionDefinitionExecutionRunAs (\s a -> s { _greengrassFunctionDefinitionExecutionRunAs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunction.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunction.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunction.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunction where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionConfiguration
+
+-- | Full data type definition for GreengrassFunctionDefinitionFunction. See
+-- 'greengrassFunctionDefinitionFunction' for a more convenient constructor.
+data GreengrassFunctionDefinitionFunction =
+  GreengrassFunctionDefinitionFunction
+  { _greengrassFunctionDefinitionFunctionFunctionArn :: Val Text
+  , _greengrassFunctionDefinitionFunctionFunctionConfiguration :: GreengrassFunctionDefinitionFunctionConfiguration
+  , _greengrassFunctionDefinitionFunctionId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionFunction where
+  toJSON GreengrassFunctionDefinitionFunction{..} =
+    object $
+    catMaybes
+    [ (Just . ("FunctionArn",) . toJSON) _greengrassFunctionDefinitionFunctionFunctionArn
+    , (Just . ("FunctionConfiguration",) . toJSON) _greengrassFunctionDefinitionFunctionFunctionConfiguration
+    , (Just . ("Id",) . toJSON) _greengrassFunctionDefinitionFunctionId
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionFunction' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionFunction
+  :: Val Text -- ^ 'gfdfFunctionArn'
+  -> GreengrassFunctionDefinitionFunctionConfiguration -- ^ 'gfdfFunctionConfiguration'
+  -> Val Text -- ^ 'gfdfId'
+  -> GreengrassFunctionDefinitionFunction
+greengrassFunctionDefinitionFunction functionArnarg functionConfigurationarg idarg =
+  GreengrassFunctionDefinitionFunction
+  { _greengrassFunctionDefinitionFunctionFunctionArn = functionArnarg
+  , _greengrassFunctionDefinitionFunctionFunctionConfiguration = functionConfigurationarg
+  , _greengrassFunctionDefinitionFunctionId = idarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionarn
+gfdfFunctionArn :: Lens' GreengrassFunctionDefinitionFunction (Val Text)
+gfdfFunctionArn = lens _greengrassFunctionDefinitionFunctionFunctionArn (\s a -> s { _greengrassFunctionDefinitionFunctionFunctionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionconfiguration
+gfdfFunctionConfiguration :: Lens' GreengrassFunctionDefinitionFunction GreengrassFunctionDefinitionFunctionConfiguration
+gfdfFunctionConfiguration = lens _greengrassFunctionDefinitionFunctionFunctionConfiguration (\s a -> s { _greengrassFunctionDefinitionFunctionFunctionConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-id
+gfdfId :: Lens' GreengrassFunctionDefinitionFunction (Val Text)
+gfdfId = lens _greengrassFunctionDefinitionFunctionId (\s a -> s { _greengrassFunctionDefinitionFunctionId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionConfiguration.hs
@@ -0,0 +1,84 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionEnvironment
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionFunctionConfiguration. See
+-- 'greengrassFunctionDefinitionFunctionConfiguration' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionFunctionConfiguration =
+  GreengrassFunctionDefinitionFunctionConfiguration
+  { _greengrassFunctionDefinitionFunctionConfigurationEncodingType :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionFunctionConfigurationEnvironment :: Maybe GreengrassFunctionDefinitionEnvironment
+  , _greengrassFunctionDefinitionFunctionConfigurationExecArgs :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionFunctionConfigurationExecutable :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionFunctionConfigurationMemorySize :: Val Integer
+  , _greengrassFunctionDefinitionFunctionConfigurationPinned :: Maybe (Val Bool)
+  , _greengrassFunctionDefinitionFunctionConfigurationTimeout :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionFunctionConfiguration where
+  toJSON GreengrassFunctionDefinitionFunctionConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("EncodingType",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationEncodingType
+    , fmap (("Environment",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationEnvironment
+    , fmap (("ExecArgs",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationExecArgs
+    , fmap (("Executable",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationExecutable
+    , (Just . ("MemorySize",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationMemorySize
+    , fmap (("Pinned",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationPinned
+    , (Just . ("Timeout",) . toJSON) _greengrassFunctionDefinitionFunctionConfigurationTimeout
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionFunctionConfiguration'
+-- containing required fields as arguments.
+greengrassFunctionDefinitionFunctionConfiguration
+  :: Val Integer -- ^ 'gfdfcMemorySize'
+  -> Val Integer -- ^ 'gfdfcTimeout'
+  -> GreengrassFunctionDefinitionFunctionConfiguration
+greengrassFunctionDefinitionFunctionConfiguration memorySizearg timeoutarg =
+  GreengrassFunctionDefinitionFunctionConfiguration
+  { _greengrassFunctionDefinitionFunctionConfigurationEncodingType = Nothing
+  , _greengrassFunctionDefinitionFunctionConfigurationEnvironment = Nothing
+  , _greengrassFunctionDefinitionFunctionConfigurationExecArgs = Nothing
+  , _greengrassFunctionDefinitionFunctionConfigurationExecutable = Nothing
+  , _greengrassFunctionDefinitionFunctionConfigurationMemorySize = memorySizearg
+  , _greengrassFunctionDefinitionFunctionConfigurationPinned = Nothing
+  , _greengrassFunctionDefinitionFunctionConfigurationTimeout = timeoutarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-encodingtype
+gfdfcEncodingType :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe (Val Text))
+gfdfcEncodingType = lens _greengrassFunctionDefinitionFunctionConfigurationEncodingType (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationEncodingType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-environment
+gfdfcEnvironment :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe GreengrassFunctionDefinitionEnvironment)
+gfdfcEnvironment = lens _greengrassFunctionDefinitionFunctionConfigurationEnvironment (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationEnvironment = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-execargs
+gfdfcExecArgs :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe (Val Text))
+gfdfcExecArgs = lens _greengrassFunctionDefinitionFunctionConfigurationExecArgs (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationExecArgs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-executable
+gfdfcExecutable :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe (Val Text))
+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 _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
+gfdfcPinned :: Lens' GreengrassFunctionDefinitionFunctionConfiguration (Maybe (Val Bool))
+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 _greengrassFunctionDefinitionFunctionConfigurationTimeout (\s a -> s { _greengrassFunctionDefinitionFunctionConfigurationTimeout = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionFunctionDefinitionVersion.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionDefaultConfig
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunction
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionFunctionDefinitionVersion. See
+-- 'greengrassFunctionDefinitionFunctionDefinitionVersion' for a more
+-- convenient constructor.
+data GreengrassFunctionDefinitionFunctionDefinitionVersion =
+  GreengrassFunctionDefinitionFunctionDefinitionVersion
+  { _greengrassFunctionDefinitionFunctionDefinitionVersionDefaultConfig :: Maybe GreengrassFunctionDefinitionDefaultConfig
+  , _greengrassFunctionDefinitionFunctionDefinitionVersionFunctions :: [GreengrassFunctionDefinitionFunction]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionFunctionDefinitionVersion where
+  toJSON GreengrassFunctionDefinitionFunctionDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ fmap (("DefaultConfig",) . toJSON) _greengrassFunctionDefinitionFunctionDefinitionVersionDefaultConfig
+    , (Just . ("Functions",) . toJSON) _greengrassFunctionDefinitionFunctionDefinitionVersionFunctions
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionFunctionDefinitionVersion'
+-- containing required fields as arguments.
+greengrassFunctionDefinitionFunctionDefinitionVersion
+  :: [GreengrassFunctionDefinitionFunction] -- ^ 'gfdfdvFunctions'
+  -> GreengrassFunctionDefinitionFunctionDefinitionVersion
+greengrassFunctionDefinitionFunctionDefinitionVersion functionsarg =
+  GreengrassFunctionDefinitionFunctionDefinitionVersion
+  { _greengrassFunctionDefinitionFunctionDefinitionVersionDefaultConfig = Nothing
+  , _greengrassFunctionDefinitionFunctionDefinitionVersionFunctions = functionsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-defaultconfig
+gfdfdvDefaultConfig :: Lens' GreengrassFunctionDefinitionFunctionDefinitionVersion (Maybe GreengrassFunctionDefinitionDefaultConfig)
+gfdfdvDefaultConfig = lens _greengrassFunctionDefinitionFunctionDefinitionVersionDefaultConfig (\s a -> s { _greengrassFunctionDefinitionFunctionDefinitionVersionDefaultConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-functions
+gfdfdvFunctions :: Lens' GreengrassFunctionDefinitionFunctionDefinitionVersion [GreengrassFunctionDefinitionFunction]
+gfdfdvFunctions = lens _greengrassFunctionDefinitionFunctionDefinitionVersionFunctions (\s a -> s { _greengrassFunctionDefinitionFunctionDefinitionVersionFunctions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionResourceAccessPolicy.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionResourceAccessPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionResourceAccessPolicy.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionResourceAccessPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionResourceAccessPolicy. See
+-- 'greengrassFunctionDefinitionResourceAccessPolicy' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionResourceAccessPolicy =
+  GreengrassFunctionDefinitionResourceAccessPolicy
+  { _greengrassFunctionDefinitionResourceAccessPolicyPermission :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionResourceAccessPolicyResourceId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionResourceAccessPolicy where
+  toJSON GreengrassFunctionDefinitionResourceAccessPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("Permission",) . toJSON) _greengrassFunctionDefinitionResourceAccessPolicyPermission
+    , (Just . ("ResourceId",) . toJSON) _greengrassFunctionDefinitionResourceAccessPolicyResourceId
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionResourceAccessPolicy'
+-- containing required fields as arguments.
+greengrassFunctionDefinitionResourceAccessPolicy
+  :: Val Text -- ^ 'gfdrapResourceId'
+  -> GreengrassFunctionDefinitionResourceAccessPolicy
+greengrassFunctionDefinitionResourceAccessPolicy resourceIdarg =
+  GreengrassFunctionDefinitionResourceAccessPolicy
+  { _greengrassFunctionDefinitionResourceAccessPolicyPermission = Nothing
+  , _greengrassFunctionDefinitionResourceAccessPolicyResourceId = resourceIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-permission
+gfdrapPermission :: Lens' GreengrassFunctionDefinitionResourceAccessPolicy (Maybe (Val Text))
+gfdrapPermission = lens _greengrassFunctionDefinitionResourceAccessPolicyPermission (\s a -> s { _greengrassFunctionDefinitionResourceAccessPolicyPermission = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-resourceid
+gfdrapResourceId :: Lens' GreengrassFunctionDefinitionResourceAccessPolicy (Val Text)
+gfdrapResourceId = lens _greengrassFunctionDefinitionResourceAccessPolicyResourceId (\s a -> s { _greengrassFunctionDefinitionResourceAccessPolicyResourceId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionRunAs.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionRunAs.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionRunAs.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionRunAs where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassFunctionDefinitionRunAs. See
+-- 'greengrassFunctionDefinitionRunAs' for a more convenient constructor.
+data GreengrassFunctionDefinitionRunAs =
+  GreengrassFunctionDefinitionRunAs
+  { _greengrassFunctionDefinitionRunAsGid :: Maybe (Val Integer)
+  , _greengrassFunctionDefinitionRunAsUid :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionRunAs where
+  toJSON GreengrassFunctionDefinitionRunAs{..} =
+    object $
+    catMaybes
+    [ fmap (("Gid",) . toJSON) _greengrassFunctionDefinitionRunAsGid
+    , fmap (("Uid",) . toJSON) _greengrassFunctionDefinitionRunAsUid
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionRunAs' containing required
+-- fields as arguments.
+greengrassFunctionDefinitionRunAs
+  :: GreengrassFunctionDefinitionRunAs
+greengrassFunctionDefinitionRunAs  =
+  GreengrassFunctionDefinitionRunAs
+  { _greengrassFunctionDefinitionRunAsGid = Nothing
+  , _greengrassFunctionDefinitionRunAsUid = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-gid
+gfdraGid :: Lens' GreengrassFunctionDefinitionRunAs (Maybe (Val Integer))
+gfdraGid = lens _greengrassFunctionDefinitionRunAsGid (\s a -> s { _greengrassFunctionDefinitionRunAsGid = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-uid
+gfdraUid :: Lens' GreengrassFunctionDefinitionRunAs (Maybe (Val Integer))
+gfdraUid = lens _greengrassFunctionDefinitionRunAsUid (\s a -> s { _greengrassFunctionDefinitionRunAsUid = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionDefaultConfig.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionDefaultConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionDefaultConfig.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionDefaultConfig where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionExecution
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionVersionDefaultConfig. See
+-- 'greengrassFunctionDefinitionVersionDefaultConfig' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionVersionDefaultConfig =
+  GreengrassFunctionDefinitionVersionDefaultConfig
+  { _greengrassFunctionDefinitionVersionDefaultConfigExecution :: GreengrassFunctionDefinitionVersionExecution
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionDefaultConfig where
+  toJSON GreengrassFunctionDefinitionVersionDefaultConfig{..} =
+    object $
+    catMaybes
+    [ (Just . ("Execution",) . toJSON) _greengrassFunctionDefinitionVersionDefaultConfigExecution
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersionDefaultConfig'
+-- containing required fields as arguments.
+greengrassFunctionDefinitionVersionDefaultConfig
+  :: GreengrassFunctionDefinitionVersionExecution -- ^ 'gfdvdcExecution'
+  -> GreengrassFunctionDefinitionVersionDefaultConfig
+greengrassFunctionDefinitionVersionDefaultConfig executionarg =
+  GreengrassFunctionDefinitionVersionDefaultConfig
+  { _greengrassFunctionDefinitionVersionDefaultConfigExecution = executionarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html#cfn-greengrass-functiondefinitionversion-defaultconfig-execution
+gfdvdcExecution :: Lens' GreengrassFunctionDefinitionVersionDefaultConfig GreengrassFunctionDefinitionVersionExecution
+gfdvdcExecution = lens _greengrassFunctionDefinitionVersionDefaultConfigExecution (\s a -> s { _greengrassFunctionDefinitionVersionDefaultConfigExecution = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionEnvironment.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionEnvironment.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionEnvironment.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionEnvironment where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionExecution
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionResourceAccessPolicy
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionVersionEnvironment. See
+-- 'greengrassFunctionDefinitionVersionEnvironment' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionVersionEnvironment =
+  GreengrassFunctionDefinitionVersionEnvironment
+  { _greengrassFunctionDefinitionVersionEnvironmentAccessSysfs :: Maybe (Val Bool)
+  , _greengrassFunctionDefinitionVersionEnvironmentExecution :: Maybe GreengrassFunctionDefinitionVersionExecution
+  , _greengrassFunctionDefinitionVersionEnvironmentResourceAccessPolicies :: Maybe [GreengrassFunctionDefinitionVersionResourceAccessPolicy]
+  , _greengrassFunctionDefinitionVersionEnvironmentVariables :: Maybe Object
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionEnvironment where
+  toJSON GreengrassFunctionDefinitionVersionEnvironment{..} =
+    object $
+    catMaybes
+    [ fmap (("AccessSysfs",) . toJSON) _greengrassFunctionDefinitionVersionEnvironmentAccessSysfs
+    , fmap (("Execution",) . toJSON) _greengrassFunctionDefinitionVersionEnvironmentExecution
+    , fmap (("ResourceAccessPolicies",) . toJSON) _greengrassFunctionDefinitionVersionEnvironmentResourceAccessPolicies
+    , fmap (("Variables",) . toJSON) _greengrassFunctionDefinitionVersionEnvironmentVariables
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersionEnvironment'
+-- containing required fields as arguments.
+greengrassFunctionDefinitionVersionEnvironment
+  :: GreengrassFunctionDefinitionVersionEnvironment
+greengrassFunctionDefinitionVersionEnvironment  =
+  GreengrassFunctionDefinitionVersionEnvironment
+  { _greengrassFunctionDefinitionVersionEnvironmentAccessSysfs = Nothing
+  , _greengrassFunctionDefinitionVersionEnvironmentExecution = Nothing
+  , _greengrassFunctionDefinitionVersionEnvironmentResourceAccessPolicies = Nothing
+  , _greengrassFunctionDefinitionVersionEnvironmentVariables = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-accesssysfs
+gfdveAccessSysfs :: Lens' GreengrassFunctionDefinitionVersionEnvironment (Maybe (Val Bool))
+gfdveAccessSysfs = lens _greengrassFunctionDefinitionVersionEnvironmentAccessSysfs (\s a -> s { _greengrassFunctionDefinitionVersionEnvironmentAccessSysfs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-execution
+gfdveExecution :: Lens' GreengrassFunctionDefinitionVersionEnvironment (Maybe GreengrassFunctionDefinitionVersionExecution)
+gfdveExecution = lens _greengrassFunctionDefinitionVersionEnvironmentExecution (\s a -> s { _greengrassFunctionDefinitionVersionEnvironmentExecution = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-resourceaccesspolicies
+gfdveResourceAccessPolicies :: Lens' GreengrassFunctionDefinitionVersionEnvironment (Maybe [GreengrassFunctionDefinitionVersionResourceAccessPolicy])
+gfdveResourceAccessPolicies = lens _greengrassFunctionDefinitionVersionEnvironmentResourceAccessPolicies (\s a -> s { _greengrassFunctionDefinitionVersionEnvironmentResourceAccessPolicies = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-variables
+gfdveVariables :: Lens' GreengrassFunctionDefinitionVersionEnvironment (Maybe Object)
+gfdveVariables = lens _greengrassFunctionDefinitionVersionEnvironmentVariables (\s a -> s { _greengrassFunctionDefinitionVersionEnvironmentVariables = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionExecution.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionExecution.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionExecution.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionExecution where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionRunAs
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionVersionExecution. See
+-- 'greengrassFunctionDefinitionVersionExecution' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionVersionExecution =
+  GreengrassFunctionDefinitionVersionExecution
+  { _greengrassFunctionDefinitionVersionExecutionIsolationMode :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionVersionExecutionRunAs :: Maybe GreengrassFunctionDefinitionVersionRunAs
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionExecution where
+  toJSON GreengrassFunctionDefinitionVersionExecution{..} =
+    object $
+    catMaybes
+    [ fmap (("IsolationMode",) . toJSON) _greengrassFunctionDefinitionVersionExecutionIsolationMode
+    , fmap (("RunAs",) . toJSON) _greengrassFunctionDefinitionVersionExecutionRunAs
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersionExecution' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionVersionExecution
+  :: GreengrassFunctionDefinitionVersionExecution
+greengrassFunctionDefinitionVersionExecution  =
+  GreengrassFunctionDefinitionVersionExecution
+  { _greengrassFunctionDefinitionVersionExecutionIsolationMode = Nothing
+  , _greengrassFunctionDefinitionVersionExecutionRunAs = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-isolationmode
+gfdveIsolationMode :: Lens' GreengrassFunctionDefinitionVersionExecution (Maybe (Val Text))
+gfdveIsolationMode = lens _greengrassFunctionDefinitionVersionExecutionIsolationMode (\s a -> s { _greengrassFunctionDefinitionVersionExecutionIsolationMode = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-runas
+gfdveRunAs :: Lens' GreengrassFunctionDefinitionVersionExecution (Maybe GreengrassFunctionDefinitionVersionRunAs)
+gfdveRunAs = lens _greengrassFunctionDefinitionVersionExecutionRunAs (\s a -> s { _greengrassFunctionDefinitionVersionExecutionRunAs = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunction.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunction.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunction.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunction where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunctionConfiguration
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionVersionFunction. See
+-- 'greengrassFunctionDefinitionVersionFunction' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionVersionFunction =
+  GreengrassFunctionDefinitionVersionFunction
+  { _greengrassFunctionDefinitionVersionFunctionFunctionArn :: Val Text
+  , _greengrassFunctionDefinitionVersionFunctionFunctionConfiguration :: GreengrassFunctionDefinitionVersionFunctionConfiguration
+  , _greengrassFunctionDefinitionVersionFunctionId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionFunction where
+  toJSON GreengrassFunctionDefinitionVersionFunction{..} =
+    object $
+    catMaybes
+    [ (Just . ("FunctionArn",) . toJSON) _greengrassFunctionDefinitionVersionFunctionFunctionArn
+    , (Just . ("FunctionConfiguration",) . toJSON) _greengrassFunctionDefinitionVersionFunctionFunctionConfiguration
+    , (Just . ("Id",) . toJSON) _greengrassFunctionDefinitionVersionFunctionId
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersionFunction' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionVersionFunction
+  :: Val Text -- ^ 'gfdvfFunctionArn'
+  -> GreengrassFunctionDefinitionVersionFunctionConfiguration -- ^ 'gfdvfFunctionConfiguration'
+  -> Val Text -- ^ 'gfdvfId'
+  -> GreengrassFunctionDefinitionVersionFunction
+greengrassFunctionDefinitionVersionFunction functionArnarg functionConfigurationarg idarg =
+  GreengrassFunctionDefinitionVersionFunction
+  { _greengrassFunctionDefinitionVersionFunctionFunctionArn = functionArnarg
+  , _greengrassFunctionDefinitionVersionFunctionFunctionConfiguration = functionConfigurationarg
+  , _greengrassFunctionDefinitionVersionFunctionId = idarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionarn
+gfdvfFunctionArn :: Lens' GreengrassFunctionDefinitionVersionFunction (Val Text)
+gfdvfFunctionArn = lens _greengrassFunctionDefinitionVersionFunctionFunctionArn (\s a -> s { _greengrassFunctionDefinitionVersionFunctionFunctionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionconfiguration
+gfdvfFunctionConfiguration :: Lens' GreengrassFunctionDefinitionVersionFunction GreengrassFunctionDefinitionVersionFunctionConfiguration
+gfdvfFunctionConfiguration = lens _greengrassFunctionDefinitionVersionFunctionFunctionConfiguration (\s a -> s { _greengrassFunctionDefinitionVersionFunctionFunctionConfiguration = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-id
+gfdvfId :: Lens' GreengrassFunctionDefinitionVersionFunction (Val Text)
+gfdvfId = lens _greengrassFunctionDefinitionVersionFunctionId (\s a -> s { _greengrassFunctionDefinitionVersionFunctionId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionFunctionConfiguration.hs
@@ -0,0 +1,85 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunctionConfiguration where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionEnvironment
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionVersionFunctionConfiguration. See
+-- 'greengrassFunctionDefinitionVersionFunctionConfiguration' for a more
+-- convenient constructor.
+data GreengrassFunctionDefinitionVersionFunctionConfiguration =
+  GreengrassFunctionDefinitionVersionFunctionConfiguration
+  { _greengrassFunctionDefinitionVersionFunctionConfigurationEncodingType :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment :: Maybe GreengrassFunctionDefinitionVersionEnvironment
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize :: Val Integer
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationPinned :: Maybe (Val Bool)
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout :: Val Integer
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionFunctionConfiguration where
+  toJSON GreengrassFunctionDefinitionVersionFunctionConfiguration{..} =
+    object $
+    catMaybes
+    [ fmap (("EncodingType",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationEncodingType
+    , fmap (("Environment",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment
+    , fmap (("ExecArgs",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs
+    , fmap (("Executable",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable
+    , (Just . ("MemorySize",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize
+    , fmap (("Pinned",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationPinned
+    , (Just . ("Timeout",) . toJSON) _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout
+    ]
+
+-- | Constructor for
+-- 'GreengrassFunctionDefinitionVersionFunctionConfiguration' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionVersionFunctionConfiguration
+  :: Val Integer -- ^ 'gfdvfcMemorySize'
+  -> Val Integer -- ^ 'gfdvfcTimeout'
+  -> GreengrassFunctionDefinitionVersionFunctionConfiguration
+greengrassFunctionDefinitionVersionFunctionConfiguration memorySizearg timeoutarg =
+  GreengrassFunctionDefinitionVersionFunctionConfiguration
+  { _greengrassFunctionDefinitionVersionFunctionConfigurationEncodingType = Nothing
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment = Nothing
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs = Nothing
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationExecutable = Nothing
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationMemorySize = memorySizearg
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationPinned = Nothing
+  , _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout = timeoutarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-encodingtype
+gfdvfcEncodingType :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe (Val Text))
+gfdvfcEncodingType = lens _greengrassFunctionDefinitionVersionFunctionConfigurationEncodingType (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationEncodingType = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-environment
+gfdvfcEnvironment :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe GreengrassFunctionDefinitionVersionEnvironment)
+gfdvfcEnvironment = lens _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationEnvironment = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-execargs
+gfdvfcExecArgs :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe (Val Text))
+gfdvfcExecArgs = lens _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationExecArgs = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-executable
+gfdvfcExecutable :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe (Val Text))
+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 _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
+gfdvfcPinned :: Lens' GreengrassFunctionDefinitionVersionFunctionConfiguration (Maybe (Val Bool))
+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 _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout (\s a -> s { _greengrassFunctionDefinitionVersionFunctionConfigurationTimeout = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionResourceAccessPolicy.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionResourceAccessPolicy.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionResourceAccessPolicy.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionResourceAccessPolicy where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassFunctionDefinitionVersionResourceAccessPolicy. See
+-- 'greengrassFunctionDefinitionVersionResourceAccessPolicy' for a more
+-- convenient constructor.
+data GreengrassFunctionDefinitionVersionResourceAccessPolicy =
+  GreengrassFunctionDefinitionVersionResourceAccessPolicy
+  { _greengrassFunctionDefinitionVersionResourceAccessPolicyPermission :: Maybe (Val Text)
+  , _greengrassFunctionDefinitionVersionResourceAccessPolicyResourceId :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionResourceAccessPolicy where
+  toJSON GreengrassFunctionDefinitionVersionResourceAccessPolicy{..} =
+    object $
+    catMaybes
+    [ fmap (("Permission",) . toJSON) _greengrassFunctionDefinitionVersionResourceAccessPolicyPermission
+    , (Just . ("ResourceId",) . toJSON) _greengrassFunctionDefinitionVersionResourceAccessPolicyResourceId
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersionResourceAccessPolicy'
+-- containing required fields as arguments.
+greengrassFunctionDefinitionVersionResourceAccessPolicy
+  :: Val Text -- ^ 'gfdvrapResourceId'
+  -> GreengrassFunctionDefinitionVersionResourceAccessPolicy
+greengrassFunctionDefinitionVersionResourceAccessPolicy resourceIdarg =
+  GreengrassFunctionDefinitionVersionResourceAccessPolicy
+  { _greengrassFunctionDefinitionVersionResourceAccessPolicyPermission = Nothing
+  , _greengrassFunctionDefinitionVersionResourceAccessPolicyResourceId = resourceIdarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-permission
+gfdvrapPermission :: Lens' GreengrassFunctionDefinitionVersionResourceAccessPolicy (Maybe (Val Text))
+gfdvrapPermission = lens _greengrassFunctionDefinitionVersionResourceAccessPolicyPermission (\s a -> s { _greengrassFunctionDefinitionVersionResourceAccessPolicyPermission = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-resourceid
+gfdvrapResourceId :: Lens' GreengrassFunctionDefinitionVersionResourceAccessPolicy (Val Text)
+gfdvrapResourceId = lens _greengrassFunctionDefinitionVersionResourceAccessPolicyResourceId (\s a -> s { _greengrassFunctionDefinitionVersionResourceAccessPolicyResourceId = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionRunAs.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionRunAs.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassFunctionDefinitionVersionRunAs.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html
+
+module Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionRunAs where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassFunctionDefinitionVersionRunAs.
+-- See 'greengrassFunctionDefinitionVersionRunAs' for a more convenient
+-- constructor.
+data GreengrassFunctionDefinitionVersionRunAs =
+  GreengrassFunctionDefinitionVersionRunAs
+  { _greengrassFunctionDefinitionVersionRunAsGid :: Maybe (Val Integer)
+  , _greengrassFunctionDefinitionVersionRunAsUid :: Maybe (Val Integer)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassFunctionDefinitionVersionRunAs where
+  toJSON GreengrassFunctionDefinitionVersionRunAs{..} =
+    object $
+    catMaybes
+    [ fmap (("Gid",) . toJSON) _greengrassFunctionDefinitionVersionRunAsGid
+    , fmap (("Uid",) . toJSON) _greengrassFunctionDefinitionVersionRunAsUid
+    ]
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersionRunAs' containing
+-- required fields as arguments.
+greengrassFunctionDefinitionVersionRunAs
+  :: GreengrassFunctionDefinitionVersionRunAs
+greengrassFunctionDefinitionVersionRunAs  =
+  GreengrassFunctionDefinitionVersionRunAs
+  { _greengrassFunctionDefinitionVersionRunAsGid = Nothing
+  , _greengrassFunctionDefinitionVersionRunAsUid = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-gid
+gfdvraGid :: Lens' GreengrassFunctionDefinitionVersionRunAs (Maybe (Val Integer))
+gfdvraGid = lens _greengrassFunctionDefinitionVersionRunAsGid (\s a -> s { _greengrassFunctionDefinitionVersionRunAsGid = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-uid
+gfdvraUid :: Lens' GreengrassFunctionDefinitionVersionRunAs (Maybe (Val Integer))
+gfdvraUid = lens _greengrassFunctionDefinitionVersionRunAsUid (\s a -> s { _greengrassFunctionDefinitionVersionRunAsUid = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassGroupGroupVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassGroupGroupVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassGroupGroupVersion.hs
@@ -0,0 +1,80 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html
+
+module Stratosphere.ResourceProperties.GreengrassGroupGroupVersion where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassGroupGroupVersion. See
+-- 'greengrassGroupGroupVersion' for a more convenient constructor.
+data GreengrassGroupGroupVersion =
+  GreengrassGroupGroupVersion
+  { _greengrassGroupGroupVersionConnectorDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupGroupVersionCoreDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupGroupVersionDeviceDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupGroupVersionFunctionDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupGroupVersionLoggerDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupGroupVersionResourceDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupGroupVersionSubscriptionDefinitionVersionArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassGroupGroupVersion where
+  toJSON GreengrassGroupGroupVersion{..} =
+    object $
+    catMaybes
+    [ fmap (("ConnectorDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionConnectorDefinitionVersionArn
+    , fmap (("CoreDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionCoreDefinitionVersionArn
+    , fmap (("DeviceDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionDeviceDefinitionVersionArn
+    , fmap (("FunctionDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionFunctionDefinitionVersionArn
+    , fmap (("LoggerDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionLoggerDefinitionVersionArn
+    , fmap (("ResourceDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionResourceDefinitionVersionArn
+    , fmap (("SubscriptionDefinitionVersionArn",) . toJSON) _greengrassGroupGroupVersionSubscriptionDefinitionVersionArn
+    ]
+
+-- | Constructor for 'GreengrassGroupGroupVersion' containing required fields
+-- as arguments.
+greengrassGroupGroupVersion
+  :: GreengrassGroupGroupVersion
+greengrassGroupGroupVersion  =
+  GreengrassGroupGroupVersion
+  { _greengrassGroupGroupVersionConnectorDefinitionVersionArn = Nothing
+  , _greengrassGroupGroupVersionCoreDefinitionVersionArn = Nothing
+  , _greengrassGroupGroupVersionDeviceDefinitionVersionArn = Nothing
+  , _greengrassGroupGroupVersionFunctionDefinitionVersionArn = Nothing
+  , _greengrassGroupGroupVersionLoggerDefinitionVersionArn = Nothing
+  , _greengrassGroupGroupVersionResourceDefinitionVersionArn = Nothing
+  , _greengrassGroupGroupVersionSubscriptionDefinitionVersionArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-connectordefinitionversionarn
+gggvConnectorDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvConnectorDefinitionVersionArn = lens _greengrassGroupGroupVersionConnectorDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionConnectorDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-coredefinitionversionarn
+gggvCoreDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvCoreDefinitionVersionArn = lens _greengrassGroupGroupVersionCoreDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionCoreDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-devicedefinitionversionarn
+gggvDeviceDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvDeviceDefinitionVersionArn = lens _greengrassGroupGroupVersionDeviceDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionDeviceDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-functiondefinitionversionarn
+gggvFunctionDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvFunctionDefinitionVersionArn = lens _greengrassGroupGroupVersionFunctionDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionFunctionDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-loggerdefinitionversionarn
+gggvLoggerDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvLoggerDefinitionVersionArn = lens _greengrassGroupGroupVersionLoggerDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionLoggerDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-resourcedefinitionversionarn
+gggvResourceDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvResourceDefinitionVersionArn = lens _greengrassGroupGroupVersionResourceDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionResourceDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-subscriptiondefinitionversionarn
+gggvSubscriptionDefinitionVersionArn :: Lens' GreengrassGroupGroupVersion (Maybe (Val Text))
+gggvSubscriptionDefinitionVersionArn = lens _greengrassGroupGroupVersionSubscriptionDefinitionVersionArn (\s a -> s { _greengrassGroupGroupVersionSubscriptionDefinitionVersionArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionLogger.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionLogger.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionLogger.hs
@@ -0,0 +1,70 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html
+
+module Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLogger where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassLoggerDefinitionLogger. See
+-- 'greengrassLoggerDefinitionLogger' for a more convenient constructor.
+data GreengrassLoggerDefinitionLogger =
+  GreengrassLoggerDefinitionLogger
+  { _greengrassLoggerDefinitionLoggerComponent :: Val Text
+  , _greengrassLoggerDefinitionLoggerId :: Val Text
+  , _greengrassLoggerDefinitionLoggerLevel :: Val Text
+  , _greengrassLoggerDefinitionLoggerSpace :: Maybe (Val Integer)
+  , _greengrassLoggerDefinitionLoggerType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassLoggerDefinitionLogger where
+  toJSON GreengrassLoggerDefinitionLogger{..} =
+    object $
+    catMaybes
+    [ (Just . ("Component",) . toJSON) _greengrassLoggerDefinitionLoggerComponent
+    , (Just . ("Id",) . toJSON) _greengrassLoggerDefinitionLoggerId
+    , (Just . ("Level",) . toJSON) _greengrassLoggerDefinitionLoggerLevel
+    , fmap (("Space",) . toJSON) _greengrassLoggerDefinitionLoggerSpace
+    , (Just . ("Type",) . toJSON) _greengrassLoggerDefinitionLoggerType
+    ]
+
+-- | Constructor for 'GreengrassLoggerDefinitionLogger' containing required
+-- fields as arguments.
+greengrassLoggerDefinitionLogger
+  :: Val Text -- ^ 'gldlComponent'
+  -> Val Text -- ^ 'gldlId'
+  -> Val Text -- ^ 'gldlLevel'
+  -> Val Text -- ^ 'gldlType'
+  -> GreengrassLoggerDefinitionLogger
+greengrassLoggerDefinitionLogger componentarg idarg levelarg typearg =
+  GreengrassLoggerDefinitionLogger
+  { _greengrassLoggerDefinitionLoggerComponent = componentarg
+  , _greengrassLoggerDefinitionLoggerId = idarg
+  , _greengrassLoggerDefinitionLoggerLevel = levelarg
+  , _greengrassLoggerDefinitionLoggerSpace = Nothing
+  , _greengrassLoggerDefinitionLoggerType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-component
+gldlComponent :: Lens' GreengrassLoggerDefinitionLogger (Val Text)
+gldlComponent = lens _greengrassLoggerDefinitionLoggerComponent (\s a -> s { _greengrassLoggerDefinitionLoggerComponent = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-id
+gldlId :: Lens' GreengrassLoggerDefinitionLogger (Val Text)
+gldlId = lens _greengrassLoggerDefinitionLoggerId (\s a -> s { _greengrassLoggerDefinitionLoggerId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-level
+gldlLevel :: Lens' GreengrassLoggerDefinitionLogger (Val Text)
+gldlLevel = lens _greengrassLoggerDefinitionLoggerLevel (\s a -> s { _greengrassLoggerDefinitionLoggerLevel = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-space
+gldlSpace :: Lens' GreengrassLoggerDefinitionLogger (Maybe (Val Integer))
+gldlSpace = lens _greengrassLoggerDefinitionLoggerSpace (\s a -> s { _greengrassLoggerDefinitionLoggerSpace = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-type
+gldlType :: Lens' GreengrassLoggerDefinitionLogger (Val Text)
+gldlType = lens _greengrassLoggerDefinitionLoggerType (\s a -> s { _greengrassLoggerDefinitionLoggerType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionLoggerDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionLoggerDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionLoggerDefinitionVersion.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLoggerDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLogger
+
+-- | Full data type definition for
+-- GreengrassLoggerDefinitionLoggerDefinitionVersion. See
+-- 'greengrassLoggerDefinitionLoggerDefinitionVersion' for a more convenient
+-- constructor.
+data GreengrassLoggerDefinitionLoggerDefinitionVersion =
+  GreengrassLoggerDefinitionLoggerDefinitionVersion
+  { _greengrassLoggerDefinitionLoggerDefinitionVersionLoggers :: [GreengrassLoggerDefinitionLogger]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassLoggerDefinitionLoggerDefinitionVersion where
+  toJSON GreengrassLoggerDefinitionLoggerDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ (Just . ("Loggers",) . toJSON) _greengrassLoggerDefinitionLoggerDefinitionVersionLoggers
+    ]
+
+-- | Constructor for 'GreengrassLoggerDefinitionLoggerDefinitionVersion'
+-- containing required fields as arguments.
+greengrassLoggerDefinitionLoggerDefinitionVersion
+  :: [GreengrassLoggerDefinitionLogger] -- ^ 'gldldvLoggers'
+  -> GreengrassLoggerDefinitionLoggerDefinitionVersion
+greengrassLoggerDefinitionLoggerDefinitionVersion loggersarg =
+  GreengrassLoggerDefinitionLoggerDefinitionVersion
+  { _greengrassLoggerDefinitionLoggerDefinitionVersionLoggers = loggersarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html#cfn-greengrass-loggerdefinition-loggerdefinitionversion-loggers
+gldldvLoggers :: Lens' GreengrassLoggerDefinitionLoggerDefinitionVersion [GreengrassLoggerDefinitionLogger]
+gldldvLoggers = lens _greengrassLoggerDefinitionLoggerDefinitionVersionLoggers (\s a -> s { _greengrassLoggerDefinitionLoggerDefinitionVersionLoggers = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionVersionLogger.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionVersionLogger.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassLoggerDefinitionVersionLogger.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html
+
+module Stratosphere.ResourceProperties.GreengrassLoggerDefinitionVersionLogger where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassLoggerDefinitionVersionLogger.
+-- See 'greengrassLoggerDefinitionVersionLogger' for a more convenient
+-- constructor.
+data GreengrassLoggerDefinitionVersionLogger =
+  GreengrassLoggerDefinitionVersionLogger
+  { _greengrassLoggerDefinitionVersionLoggerComponent :: Val Text
+  , _greengrassLoggerDefinitionVersionLoggerId :: Val Text
+  , _greengrassLoggerDefinitionVersionLoggerLevel :: Val Text
+  , _greengrassLoggerDefinitionVersionLoggerSpace :: Maybe (Val Integer)
+  , _greengrassLoggerDefinitionVersionLoggerType :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassLoggerDefinitionVersionLogger where
+  toJSON GreengrassLoggerDefinitionVersionLogger{..} =
+    object $
+    catMaybes
+    [ (Just . ("Component",) . toJSON) _greengrassLoggerDefinitionVersionLoggerComponent
+    , (Just . ("Id",) . toJSON) _greengrassLoggerDefinitionVersionLoggerId
+    , (Just . ("Level",) . toJSON) _greengrassLoggerDefinitionVersionLoggerLevel
+    , fmap (("Space",) . toJSON) _greengrassLoggerDefinitionVersionLoggerSpace
+    , (Just . ("Type",) . toJSON) _greengrassLoggerDefinitionVersionLoggerType
+    ]
+
+-- | Constructor for 'GreengrassLoggerDefinitionVersionLogger' containing
+-- required fields as arguments.
+greengrassLoggerDefinitionVersionLogger
+  :: Val Text -- ^ 'gldvlComponent'
+  -> Val Text -- ^ 'gldvlId'
+  -> Val Text -- ^ 'gldvlLevel'
+  -> Val Text -- ^ 'gldvlType'
+  -> GreengrassLoggerDefinitionVersionLogger
+greengrassLoggerDefinitionVersionLogger componentarg idarg levelarg typearg =
+  GreengrassLoggerDefinitionVersionLogger
+  { _greengrassLoggerDefinitionVersionLoggerComponent = componentarg
+  , _greengrassLoggerDefinitionVersionLoggerId = idarg
+  , _greengrassLoggerDefinitionVersionLoggerLevel = levelarg
+  , _greengrassLoggerDefinitionVersionLoggerSpace = Nothing
+  , _greengrassLoggerDefinitionVersionLoggerType = typearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-component
+gldvlComponent :: Lens' GreengrassLoggerDefinitionVersionLogger (Val Text)
+gldvlComponent = lens _greengrassLoggerDefinitionVersionLoggerComponent (\s a -> s { _greengrassLoggerDefinitionVersionLoggerComponent = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-id
+gldvlId :: Lens' GreengrassLoggerDefinitionVersionLogger (Val Text)
+gldvlId = lens _greengrassLoggerDefinitionVersionLoggerId (\s a -> s { _greengrassLoggerDefinitionVersionLoggerId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-level
+gldvlLevel :: Lens' GreengrassLoggerDefinitionVersionLogger (Val Text)
+gldvlLevel = lens _greengrassLoggerDefinitionVersionLoggerLevel (\s a -> s { _greengrassLoggerDefinitionVersionLoggerLevel = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-space
+gldvlSpace :: Lens' GreengrassLoggerDefinitionVersionLogger (Maybe (Val Integer))
+gldvlSpace = lens _greengrassLoggerDefinitionVersionLoggerSpace (\s a -> s { _greengrassLoggerDefinitionVersionLoggerSpace = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-type
+gldvlType :: Lens' GreengrassLoggerDefinitionVersionLogger (Val Text)
+gldvlType = lens _greengrassLoggerDefinitionVersionLoggerType (\s a -> s { _greengrassLoggerDefinitionVersionLoggerType = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionGroupOwnerSetting.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionGroupOwnerSetting.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionGroupOwnerSetting.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionGroupOwnerSetting. See
+-- 'greengrassResourceDefinitionVersionGroupOwnerSetting' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionVersionGroupOwnerSetting =
+  GreengrassResourceDefinitionVersionGroupOwnerSetting
+  { _greengrassResourceDefinitionVersionGroupOwnerSettingAutoAddGroupOwner :: Val Bool
+  , _greengrassResourceDefinitionVersionGroupOwnerSettingGroupOwner :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionGroupOwnerSetting where
+  toJSON GreengrassResourceDefinitionVersionGroupOwnerSetting{..} =
+    object $
+    catMaybes
+    [ (Just . ("AutoAddGroupOwner",) . toJSON) _greengrassResourceDefinitionVersionGroupOwnerSettingAutoAddGroupOwner
+    , fmap (("GroupOwner",) . toJSON) _greengrassResourceDefinitionVersionGroupOwnerSettingGroupOwner
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionVersionGroupOwnerSetting'
+-- containing required fields as arguments.
+greengrassResourceDefinitionVersionGroupOwnerSetting
+  :: Val Bool -- ^ 'grdvgosAutoAddGroupOwner'
+  -> GreengrassResourceDefinitionVersionGroupOwnerSetting
+greengrassResourceDefinitionVersionGroupOwnerSetting autoAddGroupOwnerarg =
+  GreengrassResourceDefinitionVersionGroupOwnerSetting
+  { _greengrassResourceDefinitionVersionGroupOwnerSettingAutoAddGroupOwner = autoAddGroupOwnerarg
+  , _greengrassResourceDefinitionVersionGroupOwnerSettingGroupOwner = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-autoaddgroupowner
+grdvgosAutoAddGroupOwner :: Lens' GreengrassResourceDefinitionVersionGroupOwnerSetting (Val Bool)
+grdvgosAutoAddGroupOwner = lens _greengrassResourceDefinitionVersionGroupOwnerSettingAutoAddGroupOwner (\s a -> s { _greengrassResourceDefinitionVersionGroupOwnerSettingAutoAddGroupOwner = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-groupowner
+grdvgosGroupOwner :: Lens' GreengrassResourceDefinitionVersionGroupOwnerSetting (Maybe (Val Text))
+grdvgosGroupOwner = lens _greengrassResourceDefinitionVersionGroupOwnerSettingGroupOwner (\s a -> s { _greengrassResourceDefinitionVersionGroupOwnerSettingGroupOwner = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionLocalDeviceResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionLocalDeviceResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionLocalDeviceResourceData.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalDeviceResourceData where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionLocalDeviceResourceData. See
+-- 'greengrassResourceDefinitionVersionLocalDeviceResourceData' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionVersionLocalDeviceResourceData =
+  GreengrassResourceDefinitionVersionLocalDeviceResourceData
+  { _greengrassResourceDefinitionVersionLocalDeviceResourceDataGroupOwnerSetting :: Maybe GreengrassResourceDefinitionVersionGroupOwnerSetting
+  , _greengrassResourceDefinitionVersionLocalDeviceResourceDataSourcePath :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionLocalDeviceResourceData where
+  toJSON GreengrassResourceDefinitionVersionLocalDeviceResourceData{..} =
+    object $
+    catMaybes
+    [ fmap (("GroupOwnerSetting",) . toJSON) _greengrassResourceDefinitionVersionLocalDeviceResourceDataGroupOwnerSetting
+    , (Just . ("SourcePath",) . toJSON) _greengrassResourceDefinitionVersionLocalDeviceResourceDataSourcePath
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionVersionLocalDeviceResourceData' containing
+-- required fields as arguments.
+greengrassResourceDefinitionVersionLocalDeviceResourceData
+  :: Val Text -- ^ 'grdvldrdSourcePath'
+  -> GreengrassResourceDefinitionVersionLocalDeviceResourceData
+greengrassResourceDefinitionVersionLocalDeviceResourceData sourcePatharg =
+  GreengrassResourceDefinitionVersionLocalDeviceResourceData
+  { _greengrassResourceDefinitionVersionLocalDeviceResourceDataGroupOwnerSetting = Nothing
+  , _greengrassResourceDefinitionVersionLocalDeviceResourceDataSourcePath = sourcePatharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-groupownersetting
+grdvldrdGroupOwnerSetting :: Lens' GreengrassResourceDefinitionVersionLocalDeviceResourceData (Maybe GreengrassResourceDefinitionVersionGroupOwnerSetting)
+grdvldrdGroupOwnerSetting = lens _greengrassResourceDefinitionVersionLocalDeviceResourceDataGroupOwnerSetting (\s a -> s { _greengrassResourceDefinitionVersionLocalDeviceResourceDataGroupOwnerSetting = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-sourcepath
+grdvldrdSourcePath :: Lens' GreengrassResourceDefinitionVersionLocalDeviceResourceData (Val Text)
+grdvldrdSourcePath = lens _greengrassResourceDefinitionVersionLocalDeviceResourceDataSourcePath (\s a -> s { _greengrassResourceDefinitionVersionLocalDeviceResourceDataSourcePath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionLocalVolumeResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionLocalVolumeResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionLocalVolumeResourceData.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalVolumeResourceData where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionLocalVolumeResourceData. See
+-- 'greengrassResourceDefinitionVersionLocalVolumeResourceData' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionVersionLocalVolumeResourceData =
+  GreengrassResourceDefinitionVersionLocalVolumeResourceData
+  { _greengrassResourceDefinitionVersionLocalVolumeResourceDataDestinationPath :: Val Text
+  , _greengrassResourceDefinitionVersionLocalVolumeResourceDataGroupOwnerSetting :: Maybe GreengrassResourceDefinitionVersionGroupOwnerSetting
+  , _greengrassResourceDefinitionVersionLocalVolumeResourceDataSourcePath :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionLocalVolumeResourceData where
+  toJSON GreengrassResourceDefinitionVersionLocalVolumeResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("DestinationPath",) . toJSON) _greengrassResourceDefinitionVersionLocalVolumeResourceDataDestinationPath
+    , fmap (("GroupOwnerSetting",) . toJSON) _greengrassResourceDefinitionVersionLocalVolumeResourceDataGroupOwnerSetting
+    , (Just . ("SourcePath",) . toJSON) _greengrassResourceDefinitionVersionLocalVolumeResourceDataSourcePath
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionVersionLocalVolumeResourceData' containing
+-- required fields as arguments.
+greengrassResourceDefinitionVersionLocalVolumeResourceData
+  :: Val Text -- ^ 'grdvlvrdDestinationPath'
+  -> Val Text -- ^ 'grdvlvrdSourcePath'
+  -> GreengrassResourceDefinitionVersionLocalVolumeResourceData
+greengrassResourceDefinitionVersionLocalVolumeResourceData destinationPatharg sourcePatharg =
+  GreengrassResourceDefinitionVersionLocalVolumeResourceData
+  { _greengrassResourceDefinitionVersionLocalVolumeResourceDataDestinationPath = destinationPatharg
+  , _greengrassResourceDefinitionVersionLocalVolumeResourceDataGroupOwnerSetting = Nothing
+  , _greengrassResourceDefinitionVersionLocalVolumeResourceDataSourcePath = sourcePatharg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-destinationpath
+grdvlvrdDestinationPath :: Lens' GreengrassResourceDefinitionVersionLocalVolumeResourceData (Val Text)
+grdvlvrdDestinationPath = lens _greengrassResourceDefinitionVersionLocalVolumeResourceDataDestinationPath (\s a -> s { _greengrassResourceDefinitionVersionLocalVolumeResourceDataDestinationPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-groupownersetting
+grdvlvrdGroupOwnerSetting :: Lens' GreengrassResourceDefinitionVersionLocalVolumeResourceData (Maybe GreengrassResourceDefinitionVersionGroupOwnerSetting)
+grdvlvrdGroupOwnerSetting = lens _greengrassResourceDefinitionVersionLocalVolumeResourceDataGroupOwnerSetting (\s a -> s { _greengrassResourceDefinitionVersionLocalVolumeResourceDataGroupOwnerSetting = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-sourcepath
+grdvlvrdSourcePath :: Lens' GreengrassResourceDefinitionVersionLocalVolumeResourceData (Val Text)
+grdvlvrdSourcePath = lens _greengrassResourceDefinitionVersionLocalVolumeResourceDataSourcePath (\s a -> s { _greengrassResourceDefinitionVersionLocalVolumeResourceDataSourcePath = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionResourceDataContainer.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionResourceDataContainer.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionResourceDataContainer.hs
@@ -0,0 +1,73 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceDataContainer where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalDeviceResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalVolumeResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionResourceDataContainer. See
+-- 'greengrassResourceDefinitionVersionResourceDataContainer' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionVersionResourceDataContainer =
+  GreengrassResourceDefinitionVersionResourceDataContainer
+  { _greengrassResourceDefinitionVersionResourceDataContainerLocalDeviceResourceData :: Maybe GreengrassResourceDefinitionVersionLocalDeviceResourceData
+  , _greengrassResourceDefinitionVersionResourceDataContainerLocalVolumeResourceData :: Maybe GreengrassResourceDefinitionVersionLocalVolumeResourceData
+  , _greengrassResourceDefinitionVersionResourceDataContainerS3MachineLearningModelResourceData :: Maybe GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+  , _greengrassResourceDefinitionVersionResourceDataContainerSageMakerMachineLearningModelResourceData :: Maybe GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+  , _greengrassResourceDefinitionVersionResourceDataContainerSecretsManagerSecretResourceData :: Maybe GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionResourceDataContainer where
+  toJSON GreengrassResourceDefinitionVersionResourceDataContainer{..} =
+    object $
+    catMaybes
+    [ fmap (("LocalDeviceResourceData",) . toJSON) _greengrassResourceDefinitionVersionResourceDataContainerLocalDeviceResourceData
+    , fmap (("LocalVolumeResourceData",) . toJSON) _greengrassResourceDefinitionVersionResourceDataContainerLocalVolumeResourceData
+    , fmap (("S3MachineLearningModelResourceData",) . toJSON) _greengrassResourceDefinitionVersionResourceDataContainerS3MachineLearningModelResourceData
+    , fmap (("SageMakerMachineLearningModelResourceData",) . toJSON) _greengrassResourceDefinitionVersionResourceDataContainerSageMakerMachineLearningModelResourceData
+    , fmap (("SecretsManagerSecretResourceData",) . toJSON) _greengrassResourceDefinitionVersionResourceDataContainerSecretsManagerSecretResourceData
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionVersionResourceDataContainer' containing
+-- required fields as arguments.
+greengrassResourceDefinitionVersionResourceDataContainer
+  :: GreengrassResourceDefinitionVersionResourceDataContainer
+greengrassResourceDefinitionVersionResourceDataContainer  =
+  GreengrassResourceDefinitionVersionResourceDataContainer
+  { _greengrassResourceDefinitionVersionResourceDataContainerLocalDeviceResourceData = Nothing
+  , _greengrassResourceDefinitionVersionResourceDataContainerLocalVolumeResourceData = Nothing
+  , _greengrassResourceDefinitionVersionResourceDataContainerS3MachineLearningModelResourceData = Nothing
+  , _greengrassResourceDefinitionVersionResourceDataContainerSageMakerMachineLearningModelResourceData = Nothing
+  , _greengrassResourceDefinitionVersionResourceDataContainerSecretsManagerSecretResourceData = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localdeviceresourcedata
+grdvrdcLocalDeviceResourceData :: Lens' GreengrassResourceDefinitionVersionResourceDataContainer (Maybe GreengrassResourceDefinitionVersionLocalDeviceResourceData)
+grdvrdcLocalDeviceResourceData = lens _greengrassResourceDefinitionVersionResourceDataContainerLocalDeviceResourceData (\s a -> s { _greengrassResourceDefinitionVersionResourceDataContainerLocalDeviceResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localvolumeresourcedata
+grdvrdcLocalVolumeResourceData :: Lens' GreengrassResourceDefinitionVersionResourceDataContainer (Maybe GreengrassResourceDefinitionVersionLocalVolumeResourceData)
+grdvrdcLocalVolumeResourceData = lens _greengrassResourceDefinitionVersionResourceDataContainerLocalVolumeResourceData (\s a -> s { _greengrassResourceDefinitionVersionResourceDataContainerLocalVolumeResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-s3machinelearningmodelresourcedata
+grdvrdcS3MachineLearningModelResourceData :: Lens' GreengrassResourceDefinitionVersionResourceDataContainer (Maybe GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData)
+grdvrdcS3MachineLearningModelResourceData = lens _greengrassResourceDefinitionVersionResourceDataContainerS3MachineLearningModelResourceData (\s a -> s { _greengrassResourceDefinitionVersionResourceDataContainerS3MachineLearningModelResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-sagemakermachinelearningmodelresourcedata
+grdvrdcSageMakerMachineLearningModelResourceData :: Lens' GreengrassResourceDefinitionVersionResourceDataContainer (Maybe GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData)
+grdvrdcSageMakerMachineLearningModelResourceData = lens _greengrassResourceDefinitionVersionResourceDataContainerSageMakerMachineLearningModelResourceData (\s a -> s { _greengrassResourceDefinitionVersionResourceDataContainerSageMakerMachineLearningModelResourceData = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-secretsmanagersecretresourcedata
+grdvrdcSecretsManagerSecretResourceData :: Lens' GreengrassResourceDefinitionVersionResourceDataContainer (Maybe GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData)
+grdvrdcSecretsManagerSecretResourceData = lens _greengrassResourceDefinitionVersionResourceDataContainerSecretsManagerSecretResourceData (\s a -> s { _greengrassResourceDefinitionVersionResourceDataContainerSecretsManagerSecretResourceData = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionResourceInstance.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionResourceInstance.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionResourceInstance.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceInstance where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceDataContainer
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionResourceInstance. See
+-- 'greengrassResourceDefinitionVersionResourceInstance' for a more
+-- convenient constructor.
+data GreengrassResourceDefinitionVersionResourceInstance =
+  GreengrassResourceDefinitionVersionResourceInstance
+  { _greengrassResourceDefinitionVersionResourceInstanceId :: Val Text
+  , _greengrassResourceDefinitionVersionResourceInstanceName :: Val Text
+  , _greengrassResourceDefinitionVersionResourceInstanceResourceDataContainer :: GreengrassResourceDefinitionVersionResourceDataContainer
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionResourceInstance where
+  toJSON GreengrassResourceDefinitionVersionResourceInstance{..} =
+    object $
+    catMaybes
+    [ (Just . ("Id",) . toJSON) _greengrassResourceDefinitionVersionResourceInstanceId
+    , (Just . ("Name",) . toJSON) _greengrassResourceDefinitionVersionResourceInstanceName
+    , (Just . ("ResourceDataContainer",) . toJSON) _greengrassResourceDefinitionVersionResourceInstanceResourceDataContainer
+    ]
+
+-- | Constructor for 'GreengrassResourceDefinitionVersionResourceInstance'
+-- containing required fields as arguments.
+greengrassResourceDefinitionVersionResourceInstance
+  :: Val Text -- ^ 'grdvriId'
+  -> Val Text -- ^ 'grdvriName'
+  -> GreengrassResourceDefinitionVersionResourceDataContainer -- ^ 'grdvriResourceDataContainer'
+  -> GreengrassResourceDefinitionVersionResourceInstance
+greengrassResourceDefinitionVersionResourceInstance idarg namearg resourceDataContainerarg =
+  GreengrassResourceDefinitionVersionResourceInstance
+  { _greengrassResourceDefinitionVersionResourceInstanceId = idarg
+  , _greengrassResourceDefinitionVersionResourceInstanceName = namearg
+  , _greengrassResourceDefinitionVersionResourceInstanceResourceDataContainer = resourceDataContainerarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-id
+grdvriId :: Lens' GreengrassResourceDefinitionVersionResourceInstance (Val Text)
+grdvriId = lens _greengrassResourceDefinitionVersionResourceInstanceId (\s a -> s { _greengrassResourceDefinitionVersionResourceInstanceId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-name
+grdvriName :: Lens' GreengrassResourceDefinitionVersionResourceInstance (Val Text)
+grdvriName = lens _greengrassResourceDefinitionVersionResourceInstanceName (\s a -> s { _greengrassResourceDefinitionVersionResourceInstanceName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-resourcedatacontainer
+grdvriResourceDataContainer :: Lens' GreengrassResourceDefinitionVersionResourceInstance GreengrassResourceDefinitionVersionResourceDataContainer
+grdvriResourceDataContainer = lens _greengrassResourceDefinitionVersionResourceInstanceResourceDataContainer (\s a -> s { _greengrassResourceDefinitionVersionResourceInstanceResourceDataContainer = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData.
+-- See
+-- 'greengrassResourceDefinitionVersionS3MachineLearningModelResourceData'
+-- for a more convenient constructor.
+data GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData =
+  GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+  { _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataDestinationPath :: Val Text
+  , _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataS3Uri :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData where
+  toJSON GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("DestinationPath",) . toJSON) _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataDestinationPath
+    , (Just . ("S3Uri",) . toJSON) _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataS3Uri
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+  :: Val Text -- ^ 'grdvsmlmrdDestinationPath'
+  -> Val Text -- ^ 'grdvsmlmrdS3Uri'
+  -> GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+greengrassResourceDefinitionVersionS3MachineLearningModelResourceData destinationPatharg s3Uriarg =
+  GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+  { _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataDestinationPath = destinationPatharg
+  , _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataS3Uri = s3Uriarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-destinationpath
+grdvsmlmrdDestinationPath :: Lens' GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData (Val Text)
+grdvsmlmrdDestinationPath = lens _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataDestinationPath (\s a -> s { _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataDestinationPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-s3uri
+grdvsmlmrdS3Uri :: Lens' GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData (Val Text)
+grdvsmlmrdS3Uri = lens _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataS3Uri (\s a -> s { _greengrassResourceDefinitionVersionS3MachineLearningModelResourceDataS3Uri = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData.
+-- See
+-- 'greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData'
+-- for a more convenient constructor.
+data GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData =
+  GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+  { _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataDestinationPath :: Val Text
+  , _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataSageMakerJobArn :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData where
+  toJSON GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("DestinationPath",) . toJSON) _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataDestinationPath
+    , (Just . ("SageMakerJobArn",) . toJSON) _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataSageMakerJobArn
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+  :: Val Text -- ^ 'grdvsmmlmrdDestinationPath'
+  -> Val Text -- ^ 'grdvsmmlmrdSageMakerJobArn'
+  -> GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData destinationPatharg sageMakerJobArnarg =
+  GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+  { _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataDestinationPath = destinationPatharg
+  , _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataSageMakerJobArn = sageMakerJobArnarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-destinationpath
+grdvsmmlmrdDestinationPath :: Lens' GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData (Val Text)
+grdvsmmlmrdDestinationPath = lens _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataDestinationPath (\s a -> s { _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataDestinationPath = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-sagemakerjobarn
+grdvsmmlmrdSageMakerJobArn :: Lens' GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData (Val Text)
+grdvsmmlmrdSageMakerJobArn = lens _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataSageMakerJobArn (\s a -> s { _greengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceDataSageMakerJobArn = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html
+
+module Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData. See
+-- 'greengrassResourceDefinitionVersionSecretsManagerSecretResourceData' for
+-- a more convenient constructor.
+data GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData =
+  GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+  { _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataARN :: Val Text
+  , _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload :: Maybe (ValList Text)
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData where
+  toJSON GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData{..} =
+    object $
+    catMaybes
+    [ (Just . ("ARN",) . toJSON) _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataARN
+    , fmap (("AdditionalStagingLabelsToDownload",) . toJSON) _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload
+    ]
+
+-- | Constructor for
+-- 'GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData'
+-- containing required fields as arguments.
+greengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+  :: Val Text -- ^ 'grdvsmsrdARN'
+  -> GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+greengrassResourceDefinitionVersionSecretsManagerSecretResourceData aRNarg =
+  GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+  { _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataARN = aRNarg
+  , _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-arn
+grdvsmsrdARN :: Lens' GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData (Val Text)
+grdvsmsrdARN = lens _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataARN (\s a -> s { _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataARN = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-additionalstaginglabelstodownload
+grdvsmsrdAdditionalStagingLabelsToDownload :: Lens' GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData (Maybe (ValList Text))
+grdvsmsrdAdditionalStagingLabelsToDownload = lens _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload (\s a -> s { _greengrassResourceDefinitionVersionSecretsManagerSecretResourceDataAdditionalStagingLabelsToDownload = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionSubscription.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionSubscription.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionSubscription.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html
+
+module Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscription where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassSubscriptionDefinitionSubscription. See
+-- 'greengrassSubscriptionDefinitionSubscription' for a more convenient
+-- constructor.
+data GreengrassSubscriptionDefinitionSubscription =
+  GreengrassSubscriptionDefinitionSubscription
+  { _greengrassSubscriptionDefinitionSubscriptionId :: Val Text
+  , _greengrassSubscriptionDefinitionSubscriptionSource :: Val Text
+  , _greengrassSubscriptionDefinitionSubscriptionSubject :: Val Text
+  , _greengrassSubscriptionDefinitionSubscriptionTarget :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassSubscriptionDefinitionSubscription where
+  toJSON GreengrassSubscriptionDefinitionSubscription{..} =
+    object $
+    catMaybes
+    [ (Just . ("Id",) . toJSON) _greengrassSubscriptionDefinitionSubscriptionId
+    , (Just . ("Source",) . toJSON) _greengrassSubscriptionDefinitionSubscriptionSource
+    , (Just . ("Subject",) . toJSON) _greengrassSubscriptionDefinitionSubscriptionSubject
+    , (Just . ("Target",) . toJSON) _greengrassSubscriptionDefinitionSubscriptionTarget
+    ]
+
+-- | Constructor for 'GreengrassSubscriptionDefinitionSubscription' containing
+-- required fields as arguments.
+greengrassSubscriptionDefinitionSubscription
+  :: Val Text -- ^ 'gsdsId'
+  -> Val Text -- ^ 'gsdsSource'
+  -> Val Text -- ^ 'gsdsSubject'
+  -> Val Text -- ^ 'gsdsTarget'
+  -> GreengrassSubscriptionDefinitionSubscription
+greengrassSubscriptionDefinitionSubscription idarg sourcearg subjectarg targetarg =
+  GreengrassSubscriptionDefinitionSubscription
+  { _greengrassSubscriptionDefinitionSubscriptionId = idarg
+  , _greengrassSubscriptionDefinitionSubscriptionSource = sourcearg
+  , _greengrassSubscriptionDefinitionSubscriptionSubject = subjectarg
+  , _greengrassSubscriptionDefinitionSubscriptionTarget = targetarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-id
+gsdsId :: Lens' GreengrassSubscriptionDefinitionSubscription (Val Text)
+gsdsId = lens _greengrassSubscriptionDefinitionSubscriptionId (\s a -> s { _greengrassSubscriptionDefinitionSubscriptionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-source
+gsdsSource :: Lens' GreengrassSubscriptionDefinitionSubscription (Val Text)
+gsdsSource = lens _greengrassSubscriptionDefinitionSubscriptionSource (\s a -> s { _greengrassSubscriptionDefinitionSubscriptionSource = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-subject
+gsdsSubject :: Lens' GreengrassSubscriptionDefinitionSubscription (Val Text)
+gsdsSubject = lens _greengrassSubscriptionDefinitionSubscriptionSubject (\s a -> s { _greengrassSubscriptionDefinitionSubscriptionSubject = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-target
+gsdsTarget :: Lens' GreengrassSubscriptionDefinitionSubscription (Val Text)
+gsdsTarget = lens _greengrassSubscriptionDefinitionSubscriptionTarget (\s a -> s { _greengrassSubscriptionDefinitionSubscriptionTarget = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html
+
+module Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscription
+
+-- | Full data type definition for
+-- GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion. See
+-- 'greengrassSubscriptionDefinitionSubscriptionDefinitionVersion' for a
+-- more convenient constructor.
+data GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion =
+  GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+  { _greengrassSubscriptionDefinitionSubscriptionDefinitionVersionSubscriptions :: [GreengrassSubscriptionDefinitionSubscription]
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion where
+  toJSON GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion{..} =
+    object $
+    catMaybes
+    [ (Just . ("Subscriptions",) . toJSON) _greengrassSubscriptionDefinitionSubscriptionDefinitionVersionSubscriptions
+    ]
+
+-- | Constructor for
+-- 'GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion'
+-- containing required fields as arguments.
+greengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+  :: [GreengrassSubscriptionDefinitionSubscription] -- ^ 'gsdsdvSubscriptions'
+  -> GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+greengrassSubscriptionDefinitionSubscriptionDefinitionVersion subscriptionsarg =
+  GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+  { _greengrassSubscriptionDefinitionSubscriptionDefinitionVersionSubscriptions = subscriptionsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinition-subscriptiondefinitionversion-subscriptions
+gsdsdvSubscriptions :: Lens' GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion [GreengrassSubscriptionDefinitionSubscription]
+gsdsdvSubscriptions = lens _greengrassSubscriptionDefinitionSubscriptionDefinitionVersionSubscriptions (\s a -> s { _greengrassSubscriptionDefinitionSubscriptionDefinitionVersionSubscriptions = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionVersionSubscription.hs b/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionVersionSubscription.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionVersionSubscription.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html
+
+module Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for
+-- GreengrassSubscriptionDefinitionVersionSubscription. See
+-- 'greengrassSubscriptionDefinitionVersionSubscription' for a more
+-- convenient constructor.
+data GreengrassSubscriptionDefinitionVersionSubscription =
+  GreengrassSubscriptionDefinitionVersionSubscription
+  { _greengrassSubscriptionDefinitionVersionSubscriptionId :: Val Text
+  , _greengrassSubscriptionDefinitionVersionSubscriptionSource :: Val Text
+  , _greengrassSubscriptionDefinitionVersionSubscriptionSubject :: Val Text
+  , _greengrassSubscriptionDefinitionVersionSubscriptionTarget :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON GreengrassSubscriptionDefinitionVersionSubscription where
+  toJSON GreengrassSubscriptionDefinitionVersionSubscription{..} =
+    object $
+    catMaybes
+    [ (Just . ("Id",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionId
+    , (Just . ("Source",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionSource
+    , (Just . ("Subject",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionSubject
+    , (Just . ("Target",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionTarget
+    ]
+
+-- | Constructor for 'GreengrassSubscriptionDefinitionVersionSubscription'
+-- containing required fields as arguments.
+greengrassSubscriptionDefinitionVersionSubscription
+  :: Val Text -- ^ 'gsdvsId'
+  -> Val Text -- ^ 'gsdvsSource'
+  -> Val Text -- ^ 'gsdvsSubject'
+  -> Val Text -- ^ 'gsdvsTarget'
+  -> GreengrassSubscriptionDefinitionVersionSubscription
+greengrassSubscriptionDefinitionVersionSubscription idarg sourcearg subjectarg targetarg =
+  GreengrassSubscriptionDefinitionVersionSubscription
+  { _greengrassSubscriptionDefinitionVersionSubscriptionId = idarg
+  , _greengrassSubscriptionDefinitionVersionSubscriptionSource = sourcearg
+  , _greengrassSubscriptionDefinitionVersionSubscriptionSubject = subjectarg
+  , _greengrassSubscriptionDefinitionVersionSubscriptionTarget = targetarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-id
+gsdvsId :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
+gsdvsId = lens _greengrassSubscriptionDefinitionVersionSubscriptionId (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-source
+gsdvsSource :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
+gsdvsSource = lens _greengrassSubscriptionDefinitionVersionSubscriptionSource (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionSource = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-subject
+gsdvsSubject :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
+gsdvsSubject = lens _greengrassSubscriptionDefinitionVersionSubscriptionSubject (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionSubject = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-target
+gsdvsTarget :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
+gsdvsTarget = lens _greengrassSubscriptionDefinitionVersionSubscriptionTarget (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionTarget = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/GuardDutyFilterCondition.hs b/library-gen/Stratosphere/ResourceProperties/GuardDutyFilterCondition.hs
--- a/library-gen/Stratosphere/ResourceProperties/GuardDutyFilterCondition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GuardDutyFilterCondition.hs
@@ -26,9 +26,9 @@
     object $
     catMaybes
     [ fmap (("Eq",) . toJSON) _guardDutyFilterConditionEq
-    , fmap (("Gte",) . toJSON . fmap Integer') _guardDutyFilterConditionGte
-    , fmap (("Lt",) . toJSON . fmap Integer') _guardDutyFilterConditionLt
-    , fmap (("Lte",) . toJSON . fmap Integer') _guardDutyFilterConditionLte
+    , fmap (("Gte",) . toJSON) _guardDutyFilterConditionGte
+    , fmap (("Lt",) . toJSON) _guardDutyFilterConditionLt
+    , fmap (("Lte",) . toJSON) _guardDutyFilterConditionLte
     , fmap (("Neq",) . toJSON) _guardDutyFilterConditionNeq
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/IAMUserLoginProfile.hs b/library-gen/Stratosphere/ResourceProperties/IAMUserLoginProfile.hs
--- a/library-gen/Stratosphere/ResourceProperties/IAMUserLoginProfile.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IAMUserLoginProfile.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("Password",) . toJSON) _iAMUserLoginProfilePassword
-    , fmap (("PasswordResetRequired",) . toJSON . fmap Bool') _iAMUserLoginProfilePasswordResetRequired
+    , fmap (("PasswordResetRequired",) . toJSON) _iAMUserLoginProfilePasswordResetRequired
     ]
 
 -- | Constructor for 'IAMUserLoginProfile' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsChannelRetentionPeriod.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsChannelRetentionPeriod.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsChannelRetentionPeriod.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsChannelRetentionPeriod.hs
@@ -22,8 +22,8 @@
   toJSON IoTAnalyticsChannelRetentionPeriod{..} =
     object $
     catMaybes
-    [ fmap (("NumberOfDays",) . toJSON . fmap Integer') _ioTAnalyticsChannelRetentionPeriodNumberOfDays
-    , fmap (("Unlimited",) . toJSON . fmap Bool') _ioTAnalyticsChannelRetentionPeriodUnlimited
+    [ fmap (("NumberOfDays",) . toJSON) _ioTAnalyticsChannelRetentionPeriodNumberOfDays
+    , fmap (("Unlimited",) . toJSON) _ioTAnalyticsChannelRetentionPeriodUnlimited
     ]
 
 -- | Constructor for 'IoTAnalyticsChannelRetentionPeriod' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetDeltaTime.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetDeltaTime.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetDeltaTime.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetDeltaTime.hs
@@ -22,7 +22,7 @@
   toJSON IoTAnalyticsDatasetDeltaTime{..} =
     object $
     catMaybes
-    [ (Just . ("OffsetSeconds",) . toJSON . fmap Integer') _ioTAnalyticsDatasetDeltaTimeOffsetSeconds
+    [ (Just . ("OffsetSeconds",) . toJSON) _ioTAnalyticsDatasetDeltaTimeOffsetSeconds
     , (Just . ("TimeExpression",) . toJSON) _ioTAnalyticsDatasetDeltaTimeTimeExpression
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetResourceConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetResourceConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetResourceConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetResourceConfiguration.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("ComputeType",) . toJSON) _ioTAnalyticsDatasetResourceConfigurationComputeType
-    , (Just . ("VolumeSizeInGB",) . toJSON . fmap Integer') _ioTAnalyticsDatasetResourceConfigurationVolumeSizeInGB
+    , (Just . ("VolumeSizeInGB",) . toJSON) _ioTAnalyticsDatasetResourceConfigurationVolumeSizeInGB
     ]
 
 -- | Constructor for 'IoTAnalyticsDatasetResourceConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetRetentionPeriod.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetRetentionPeriod.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetRetentionPeriod.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetRetentionPeriod.hs
@@ -22,8 +22,8 @@
   toJSON IoTAnalyticsDatasetRetentionPeriod{..} =
     object $
     catMaybes
-    [ (Just . ("NumberOfDays",) . toJSON . fmap Integer') _ioTAnalyticsDatasetRetentionPeriodNumberOfDays
-    , (Just . ("Unlimited",) . toJSON . fmap Bool') _ioTAnalyticsDatasetRetentionPeriodUnlimited
+    [ (Just . ("NumberOfDays",) . toJSON) _ioTAnalyticsDatasetRetentionPeriodNumberOfDays
+    , (Just . ("Unlimited",) . toJSON) _ioTAnalyticsDatasetRetentionPeriodUnlimited
     ]
 
 -- | Constructor for 'IoTAnalyticsDatasetRetentionPeriod' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetVariable.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetVariable.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetVariable.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetVariable.hs
@@ -27,7 +27,7 @@
     object $
     catMaybes
     [ fmap (("DatasetContentVersionValue",) . toJSON) _ioTAnalyticsDatasetVariableDatasetContentVersionValue
-    , fmap (("DoubleValue",) . toJSON . fmap Double') _ioTAnalyticsDatasetVariableDoubleValue
+    , fmap (("DoubleValue",) . toJSON) _ioTAnalyticsDatasetVariableDoubleValue
     , fmap (("OutputFileUriValue",) . toJSON) _ioTAnalyticsDatasetVariableOutputFileUriValue
     , fmap (("StringValue",) . toJSON) _ioTAnalyticsDatasetVariableStringValue
     , (Just . ("VariableName",) . toJSON) _ioTAnalyticsDatasetVariableVariableName
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatastoreRetentionPeriod.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatastoreRetentionPeriod.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatastoreRetentionPeriod.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatastoreRetentionPeriod.hs
@@ -22,8 +22,8 @@
   toJSON IoTAnalyticsDatastoreRetentionPeriod{..} =
     object $
     catMaybes
-    [ fmap (("NumberOfDays",) . toJSON . fmap Integer') _ioTAnalyticsDatastoreRetentionPeriodNumberOfDays
-    , fmap (("Unlimited",) . toJSON . fmap Bool') _ioTAnalyticsDatastoreRetentionPeriodUnlimited
+    [ fmap (("NumberOfDays",) . toJSON) _ioTAnalyticsDatastoreRetentionPeriodNumberOfDays
+    , fmap (("Unlimited",) . toJSON) _ioTAnalyticsDatastoreRetentionPeriodUnlimited
     ]
 
 -- | Constructor for 'IoTAnalyticsDatastoreRetentionPeriod' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsPipelineLambda.hs b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsPipelineLambda.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsPipelineLambda.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTAnalyticsPipelineLambda.hs
@@ -24,7 +24,7 @@
   toJSON IoTAnalyticsPipelineLambda{..} =
     object $
     catMaybes
-    [ fmap (("BatchSize",) . toJSON . fmap Integer') _ioTAnalyticsPipelineLambdaBatchSize
+    [ fmap (("BatchSize",) . toJSON) _ioTAnalyticsPipelineLambdaBatchSize
     , fmap (("LambdaName",) . toJSON) _ioTAnalyticsPipelineLambdaLambdaName
     , fmap (("Name",) . toJSON) _ioTAnalyticsPipelineLambdaName
     , fmap (("Next",) . toJSON) _ioTAnalyticsPipelineLambdaNext
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSqsAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSqsAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSqsAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSqsAction.hs
@@ -25,7 +25,7 @@
     catMaybes
     [ (Just . ("QueueUrl",) . toJSON) _ioTTopicRuleSqsActionQueueUrl
     , (Just . ("RoleArn",) . toJSON) _ioTTopicRuleSqsActionRoleArn
-    , fmap (("UseBase64",) . toJSON . fmap Bool') _ioTTopicRuleSqsActionUseBase64
+    , fmap (("UseBase64",) . toJSON) _ioTTopicRuleSqsActionUseBase64
     ]
 
 -- | Constructor for 'IoTTopicRuleSqsAction' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleTopicRulePayload.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleTopicRulePayload.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleTopicRulePayload.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleTopicRulePayload.hs
@@ -30,7 +30,7 @@
     , fmap (("AwsIotSqlVersion",) . toJSON) _ioTTopicRuleTopicRulePayloadAwsIotSqlVersion
     , fmap (("Description",) . toJSON) _ioTTopicRuleTopicRulePayloadDescription
     , fmap (("ErrorAction",) . toJSON) _ioTTopicRuleTopicRulePayloadErrorAction
-    , (Just . ("RuleDisabled",) . toJSON . fmap Bool') _ioTTopicRuleTopicRulePayloadRuleDisabled
+    , (Just . ("RuleDisabled",) . toJSON) _ioTTopicRuleTopicRulePayloadRuleDisabled
     , (Just . ("Sql",) . toJSON) _ioTTopicRuleTopicRulePayloadSql
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsApplicationInputParallelism.hs b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsApplicationInputParallelism.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsApplicationInputParallelism.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsApplicationInputParallelism.hs
@@ -23,7 +23,7 @@
   toJSON KinesisAnalyticsApplicationInputParallelism{..} =
     object $
     catMaybes
-    [ fmap (("Count",) . toJSON . fmap Integer') _kinesisAnalyticsApplicationInputParallelismCount
+    [ fmap (("Count",) . toJSON) _kinesisAnalyticsApplicationInputParallelismCount
     ]
 
 -- | Constructor for 'KinesisAnalyticsApplicationInputParallelism' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationApplicationSnapshotConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationApplicationSnapshotConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationApplicationSnapshotConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationApplicationSnapshotConfiguration.hs
@@ -23,7 +23,7 @@
   toJSON KinesisAnalyticsV2ApplicationApplicationSnapshotConfiguration{..} =
     object $
     catMaybes
-    [ (Just . ("SnapshotsEnabled",) . toJSON . fmap Bool') _kinesisAnalyticsV2ApplicationApplicationSnapshotConfigurationSnapshotsEnabled
+    [ (Just . ("SnapshotsEnabled",) . toJSON) _kinesisAnalyticsV2ApplicationApplicationSnapshotConfigurationSnapshotsEnabled
     ]
 
 -- | Constructor for
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationCheckpointConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationCheckpointConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationCheckpointConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationCheckpointConfiguration.hs
@@ -26,10 +26,10 @@
   toJSON KinesisAnalyticsV2ApplicationCheckpointConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("CheckpointInterval",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval
-    , fmap (("CheckpointingEnabled",) . toJSON . fmap Bool') _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled
+    [ fmap (("CheckpointInterval",) . toJSON) _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval
+    , fmap (("CheckpointingEnabled",) . toJSON) _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled
     , (Just . ("ConfigurationType",) . toJSON) _kinesisAnalyticsV2ApplicationCheckpointConfigurationConfigurationType
-    , fmap (("MinPauseBetweenCheckpoints",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints
+    , fmap (("MinPauseBetweenCheckpoints",) . toJSON) _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints
     ]
 
 -- | Constructor for 'KinesisAnalyticsV2ApplicationCheckpointConfiguration'
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationInputParallelism.hs b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationInputParallelism.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationInputParallelism.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationInputParallelism.hs
@@ -23,7 +23,7 @@
   toJSON KinesisAnalyticsV2ApplicationInputParallelism{..} =
     object $
     catMaybes
-    [ fmap (("Count",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationInputParallelismCount
+    [ fmap (("Count",) . toJSON) _kinesisAnalyticsV2ApplicationInputParallelismCount
     ]
 
 -- | Constructor for 'KinesisAnalyticsV2ApplicationInputParallelism'
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationParallelismConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationParallelismConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationParallelismConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationParallelismConfiguration.hs
@@ -26,10 +26,10 @@
   toJSON KinesisAnalyticsV2ApplicationParallelismConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("AutoScalingEnabled",) . toJSON . fmap Bool') _kinesisAnalyticsV2ApplicationParallelismConfigurationAutoScalingEnabled
+    [ fmap (("AutoScalingEnabled",) . toJSON) _kinesisAnalyticsV2ApplicationParallelismConfigurationAutoScalingEnabled
     , (Just . ("ConfigurationType",) . toJSON) _kinesisAnalyticsV2ApplicationParallelismConfigurationConfigurationType
-    , fmap (("Parallelism",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationParallelismConfigurationParallelism
-    , fmap (("ParallelismPerKPU",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationParallelismConfigurationParallelismPerKPU
+    , fmap (("Parallelism",) . toJSON) _kinesisAnalyticsV2ApplicationParallelismConfigurationParallelism
+    , fmap (("ParallelismPerKPU",) . toJSON) _kinesisAnalyticsV2ApplicationParallelismConfigurationParallelismPerKPU
     ]
 
 -- | Constructor for 'KinesisAnalyticsV2ApplicationParallelismConfiguration'
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamBufferingHints.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamBufferingHints.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamBufferingHints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamBufferingHints.hs
@@ -24,8 +24,8 @@
   toJSON KinesisFirehoseDeliveryStreamBufferingHints{..} =
     object $
     catMaybes
-    [ (Just . ("IntervalInSeconds",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamBufferingHintsIntervalInSeconds
-    , (Just . ("SizeInMBs",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamBufferingHintsSizeInMBs
+    [ (Just . ("IntervalInSeconds",) . toJSON) _kinesisFirehoseDeliveryStreamBufferingHintsIntervalInSeconds
+    , (Just . ("SizeInMBs",) . toJSON) _kinesisFirehoseDeliveryStreamBufferingHintsSizeInMBs
     ]
 
 -- | Constructor for 'KinesisFirehoseDeliveryStreamBufferingHints' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions.hs
@@ -25,7 +25,7 @@
   toJSON KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsEnabled
+    [ fmap (("Enabled",) . toJSON) _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsEnabled
     , fmap (("LogGroupName",) . toJSON) _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsLogGroupName
     , fmap (("LogStreamName",) . toJSON) _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsLogStreamName
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchBufferingHints.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchBufferingHints.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchBufferingHints.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchBufferingHints.hs
@@ -24,8 +24,8 @@
   toJSON KinesisFirehoseDeliveryStreamElasticsearchBufferingHints{..} =
     object $
     catMaybes
-    [ (Just . ("IntervalInSeconds",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamElasticsearchBufferingHintsIntervalInSeconds
-    , (Just . ("SizeInMBs",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamElasticsearchBufferingHintsSizeInMBs
+    [ (Just . ("IntervalInSeconds",) . toJSON) _kinesisFirehoseDeliveryStreamElasticsearchBufferingHintsIntervalInSeconds
+    , (Just . ("SizeInMBs",) . toJSON) _kinesisFirehoseDeliveryStreamElasticsearchBufferingHintsSizeInMBs
     ]
 
 -- | Constructor for
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchRetryOptions.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchRetryOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchRetryOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchRetryOptions.hs
@@ -23,7 +23,7 @@
   toJSON KinesisFirehoseDeliveryStreamElasticsearchRetryOptions{..} =
     object $
     catMaybes
-    [ (Just . ("DurationInSeconds",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds
+    [ (Just . ("DurationInSeconds",) . toJSON) _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds
     ]
 
 -- | Constructor for 'KinesisFirehoseDeliveryStreamElasticsearchRetryOptions'
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamProcessingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamProcessingConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamProcessingConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamProcessingConfiguration.hs
@@ -24,7 +24,7 @@
   toJSON KinesisFirehoseDeliveryStreamProcessingConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("Enabled",) . toJSON . fmap Bool') _kinesisFirehoseDeliveryStreamProcessingConfigurationEnabled
+    [ fmap (("Enabled",) . toJSON) _kinesisFirehoseDeliveryStreamProcessingConfigurationEnabled
     , fmap (("Processors",) . toJSON) _kinesisFirehoseDeliveryStreamProcessingConfigurationProcessors
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration.hs
@@ -35,7 +35,7 @@
     object $
     catMaybes
     [ fmap (("CloudWatchLoggingOptions",) . toJSON) _kinesisFirehoseDeliveryStreamSplunkDestinationConfigurationCloudWatchLoggingOptions
-    , fmap (("HECAcknowledgmentTimeoutInSeconds",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamSplunkDestinationConfigurationHECAcknowledgmentTimeoutInSeconds
+    , fmap (("HECAcknowledgmentTimeoutInSeconds",) . toJSON) _kinesisFirehoseDeliveryStreamSplunkDestinationConfigurationHECAcknowledgmentTimeoutInSeconds
     , (Just . ("HECEndpoint",) . toJSON) _kinesisFirehoseDeliveryStreamSplunkDestinationConfigurationHECEndpoint
     , (Just . ("HECEndpointType",) . toJSON) _kinesisFirehoseDeliveryStreamSplunkDestinationConfigurationHECEndpointType
     , (Just . ("HECToken",) . toJSON) _kinesisFirehoseDeliveryStreamSplunkDestinationConfigurationHECToken
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkRetryOptions.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkRetryOptions.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkRetryOptions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamSplunkRetryOptions.hs
@@ -23,7 +23,7 @@
   toJSON KinesisFirehoseDeliveryStreamSplunkRetryOptions{..} =
     object $
     catMaybes
-    [ (Just . ("DurationInSeconds",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamSplunkRetryOptionsDurationInSeconds
+    [ (Just . ("DurationInSeconds",) . toJSON) _kinesisFirehoseDeliveryStreamSplunkRetryOptionsDurationInSeconds
     ]
 
 -- | Constructor for 'KinesisFirehoseDeliveryStreamSplunkRetryOptions'
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaAliasVersionWeight.hs b/library-gen/Stratosphere/ResourceProperties/LambdaAliasVersionWeight.hs
--- a/library-gen/Stratosphere/ResourceProperties/LambdaAliasVersionWeight.hs
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaAliasVersionWeight.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("FunctionVersion",) . toJSON) _lambdaAliasVersionWeightFunctionVersion
-    , (Just . ("FunctionWeight",) . toJSON . fmap Double') _lambdaAliasVersionWeightFunctionWeight
+    , (Just . ("FunctionWeight",) . toJSON) _lambdaAliasVersionWeightFunctionWeight
     ]
 
 -- | Constructor for 'LambdaAliasVersionWeight' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/LogsMetricFilterMetricTransformation.hs b/library-gen/Stratosphere/ResourceProperties/LogsMetricFilterMetricTransformation.hs
--- a/library-gen/Stratosphere/ResourceProperties/LogsMetricFilterMetricTransformation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/LogsMetricFilterMetricTransformation.hs
@@ -24,7 +24,7 @@
   toJSON LogsMetricFilterMetricTransformation{..} =
     object $
     catMaybes
-    [ fmap (("DefaultValue",) . toJSON . fmap Double') _logsMetricFilterMetricTransformationDefaultValue
+    [ fmap (("DefaultValue",) . toJSON) _logsMetricFilterMetricTransformationDefaultValue
     , (Just . ("MetricName",) . toJSON) _logsMetricFilterMetricTransformationMetricName
     , (Just . ("MetricNamespace",) . toJSON) _logsMetricFilterMetricTransformationMetricNamespace
     , (Just . ("MetricValue",) . toJSON) _logsMetricFilterMetricTransformationMetricValue
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppEnvironmentVariable.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppEnvironmentVariable.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppEnvironmentVariable.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppEnvironmentVariable.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("Key",) . toJSON) _opsWorksAppEnvironmentVariableKey
-    , fmap (("Secure",) . toJSON . fmap Bool') _opsWorksAppEnvironmentVariableSecure
+    , fmap (("Secure",) . toJSON) _opsWorksAppEnvironmentVariableSecure
     , (Just . ("Value",) . toJSON) _opsWorksAppEnvironmentVariableValue
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceEbsBlockDevice.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceEbsBlockDevice.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceEbsBlockDevice.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceEbsBlockDevice.hs
@@ -25,10 +25,10 @@
   toJSON OpsWorksInstanceEbsBlockDevice{..} =
     object $
     catMaybes
-    [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _opsWorksInstanceEbsBlockDeviceDeleteOnTermination
-    , fmap (("Iops",) . toJSON . fmap Integer') _opsWorksInstanceEbsBlockDeviceIops
+    [ fmap (("DeleteOnTermination",) . toJSON) _opsWorksInstanceEbsBlockDeviceDeleteOnTermination
+    , fmap (("Iops",) . toJSON) _opsWorksInstanceEbsBlockDeviceIops
     , fmap (("SnapshotId",) . toJSON) _opsWorksInstanceEbsBlockDeviceSnapshotId
-    , fmap (("VolumeSize",) . toJSON . fmap Integer') _opsWorksInstanceEbsBlockDeviceVolumeSize
+    , fmap (("VolumeSize",) . toJSON) _opsWorksInstanceEbsBlockDeviceVolumeSize
     , fmap (("VolumeType",) . toJSON) _opsWorksInstanceEbsBlockDeviceVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerAutoScalingThresholds.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerAutoScalingThresholds.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerAutoScalingThresholds.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerAutoScalingThresholds.hs
@@ -26,12 +26,12 @@
   toJSON OpsWorksLayerAutoScalingThresholds{..} =
     object $
     catMaybes
-    [ fmap (("CpuThreshold",) . toJSON . fmap Double') _opsWorksLayerAutoScalingThresholdsCpuThreshold
-    , fmap (("IgnoreMetricsTime",) . toJSON . fmap Integer') _opsWorksLayerAutoScalingThresholdsIgnoreMetricsTime
-    , fmap (("InstanceCount",) . toJSON . fmap Integer') _opsWorksLayerAutoScalingThresholdsInstanceCount
-    , fmap (("LoadThreshold",) . toJSON . fmap Double') _opsWorksLayerAutoScalingThresholdsLoadThreshold
-    , fmap (("MemoryThreshold",) . toJSON . fmap Double') _opsWorksLayerAutoScalingThresholdsMemoryThreshold
-    , fmap (("ThresholdsWaitTime",) . toJSON . fmap Integer') _opsWorksLayerAutoScalingThresholdsThresholdsWaitTime
+    [ fmap (("CpuThreshold",) . toJSON) _opsWorksLayerAutoScalingThresholdsCpuThreshold
+    , fmap (("IgnoreMetricsTime",) . toJSON) _opsWorksLayerAutoScalingThresholdsIgnoreMetricsTime
+    , fmap (("InstanceCount",) . toJSON) _opsWorksLayerAutoScalingThresholdsInstanceCount
+    , fmap (("LoadThreshold",) . toJSON) _opsWorksLayerAutoScalingThresholdsLoadThreshold
+    , fmap (("MemoryThreshold",) . toJSON) _opsWorksLayerAutoScalingThresholdsMemoryThreshold
+    , fmap (("ThresholdsWaitTime",) . toJSON) _opsWorksLayerAutoScalingThresholdsThresholdsWaitTime
     ]
 
 -- | Constructor for 'OpsWorksLayerAutoScalingThresholds' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLoadBasedAutoScaling.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLoadBasedAutoScaling.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLoadBasedAutoScaling.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLoadBasedAutoScaling.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("DownScaling",) . toJSON) _opsWorksLayerLoadBasedAutoScalingDownScaling
-    , fmap (("Enable",) . toJSON . fmap Bool') _opsWorksLayerLoadBasedAutoScalingEnable
+    , fmap (("Enable",) . toJSON) _opsWorksLayerLoadBasedAutoScalingEnable
     , fmap (("UpScaling",) . toJSON) _opsWorksLayerLoadBasedAutoScalingUpScaling
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerShutdownEventConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerShutdownEventConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerShutdownEventConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerShutdownEventConfiguration.hs
@@ -23,8 +23,8 @@
   toJSON OpsWorksLayerShutdownEventConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("DelayUntilElbConnectionsDrained",) . toJSON . fmap Bool') _opsWorksLayerShutdownEventConfigurationDelayUntilElbConnectionsDrained
-    , fmap (("ExecutionTimeout",) . toJSON . fmap Integer') _opsWorksLayerShutdownEventConfigurationExecutionTimeout
+    [ fmap (("DelayUntilElbConnectionsDrained",) . toJSON) _opsWorksLayerShutdownEventConfigurationDelayUntilElbConnectionsDrained
+    , fmap (("ExecutionTimeout",) . toJSON) _opsWorksLayerShutdownEventConfigurationExecutionTimeout
     ]
 
 -- | Constructor for 'OpsWorksLayerShutdownEventConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerVolumeConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerVolumeConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerVolumeConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerVolumeConfiguration.hs
@@ -27,12 +27,12 @@
   toJSON OpsWorksLayerVolumeConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("Encrypted",) . toJSON . fmap Bool') _opsWorksLayerVolumeConfigurationEncrypted
-    , fmap (("Iops",) . toJSON . fmap Integer') _opsWorksLayerVolumeConfigurationIops
+    [ fmap (("Encrypted",) . toJSON) _opsWorksLayerVolumeConfigurationEncrypted
+    , fmap (("Iops",) . toJSON) _opsWorksLayerVolumeConfigurationIops
     , fmap (("MountPoint",) . toJSON) _opsWorksLayerVolumeConfigurationMountPoint
-    , fmap (("NumberOfDisks",) . toJSON . fmap Integer') _opsWorksLayerVolumeConfigurationNumberOfDisks
-    , fmap (("RaidLevel",) . toJSON . fmap Integer') _opsWorksLayerVolumeConfigurationRaidLevel
-    , fmap (("Size",) . toJSON . fmap Integer') _opsWorksLayerVolumeConfigurationSize
+    , fmap (("NumberOfDisks",) . toJSON) _opsWorksLayerVolumeConfigurationNumberOfDisks
+    , fmap (("RaidLevel",) . toJSON) _opsWorksLayerVolumeConfigurationRaidLevel
+    , fmap (("Size",) . toJSON) _opsWorksLayerVolumeConfigurationSize
     , fmap (("VolumeType",) . toJSON) _opsWorksLayerVolumeConfigurationVolumeType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackChefConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackChefConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackChefConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackChefConfiguration.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ fmap (("BerkshelfVersion",) . toJSON) _opsWorksStackChefConfigurationBerkshelfVersion
-    , fmap (("ManageBerkshelf",) . toJSON . fmap Bool') _opsWorksStackChefConfigurationManageBerkshelf
+    , fmap (("ManageBerkshelf",) . toJSON) _opsWorksStackChefConfigurationManageBerkshelf
     ]
 
 -- | Constructor for 'OpsWorksStackChefConfiguration' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBClusterScalingConfiguration.hs
@@ -24,10 +24,10 @@
   toJSON RDSDBClusterScalingConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("AutoPause",) . toJSON . fmap Bool') _rDSDBClusterScalingConfigurationAutoPause
-    , fmap (("MaxCapacity",) . toJSON . fmap Integer') _rDSDBClusterScalingConfigurationMaxCapacity
-    , fmap (("MinCapacity",) . toJSON . fmap Integer') _rDSDBClusterScalingConfigurationMinCapacity
-    , fmap (("SecondsUntilAutoPause",) . toJSON . fmap Integer') _rDSDBClusterScalingConfigurationSecondsUntilAutoPause
+    [ fmap (("AutoPause",) . toJSON) _rDSDBClusterScalingConfigurationAutoPause
+    , fmap (("MaxCapacity",) . toJSON) _rDSDBClusterScalingConfigurationMaxCapacity
+    , fmap (("MinCapacity",) . toJSON) _rDSDBClusterScalingConfigurationMinCapacity
+    , fmap (("SecondsUntilAutoPause",) . toJSON) _rDSDBClusterScalingConfigurationSecondsUntilAutoPause
     ]
 
 -- | Constructor for 'RDSDBClusterScalingConfiguration' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionConfiguration.hs
@@ -30,7 +30,7 @@
     , (Just . ("OptionName",) . toJSON) _rDSOptionGroupOptionConfigurationOptionName
     , fmap (("OptionSettings",) . toJSON) _rDSOptionGroupOptionConfigurationOptionSettings
     , fmap (("OptionVersion",) . toJSON) _rDSOptionGroupOptionConfigurationOptionVersion
-    , fmap (("Port",) . toJSON . fmap Integer') _rDSOptionGroupOptionConfigurationPort
+    , fmap (("Port",) . toJSON) _rDSOptionGroupOptionConfigurationPort
     , fmap (("VpcSecurityGroupMemberships",) . toJSON) _rDSOptionGroupOptionConfigurationVpcSecurityGroupMemberships
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckConfig.hs b/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckConfig.hs
@@ -38,17 +38,17 @@
     catMaybes
     [ fmap (("AlarmIdentifier",) . toJSON) _route53HealthCheckHealthCheckConfigAlarmIdentifier
     , fmap (("ChildHealthChecks",) . toJSON) _route53HealthCheckHealthCheckConfigChildHealthChecks
-    , fmap (("EnableSNI",) . toJSON . fmap Bool') _route53HealthCheckHealthCheckConfigEnableSNI
-    , fmap (("FailureThreshold",) . toJSON . fmap Integer') _route53HealthCheckHealthCheckConfigFailureThreshold
+    , fmap (("EnableSNI",) . toJSON) _route53HealthCheckHealthCheckConfigEnableSNI
+    , fmap (("FailureThreshold",) . toJSON) _route53HealthCheckHealthCheckConfigFailureThreshold
     , fmap (("FullyQualifiedDomainName",) . toJSON) _route53HealthCheckHealthCheckConfigFullyQualifiedDomainName
-    , fmap (("HealthThreshold",) . toJSON . fmap Integer') _route53HealthCheckHealthCheckConfigHealthThreshold
+    , fmap (("HealthThreshold",) . toJSON) _route53HealthCheckHealthCheckConfigHealthThreshold
     , fmap (("IPAddress",) . toJSON) _route53HealthCheckHealthCheckConfigIPAddress
     , fmap (("InsufficientDataHealthStatus",) . toJSON) _route53HealthCheckHealthCheckConfigInsufficientDataHealthStatus
-    , fmap (("Inverted",) . toJSON . fmap Bool') _route53HealthCheckHealthCheckConfigInverted
-    , fmap (("MeasureLatency",) . toJSON . fmap Bool') _route53HealthCheckHealthCheckConfigMeasureLatency
-    , fmap (("Port",) . toJSON . fmap Integer') _route53HealthCheckHealthCheckConfigPort
+    , fmap (("Inverted",) . toJSON) _route53HealthCheckHealthCheckConfigInverted
+    , fmap (("MeasureLatency",) . toJSON) _route53HealthCheckHealthCheckConfigMeasureLatency
+    , fmap (("Port",) . toJSON) _route53HealthCheckHealthCheckConfigPort
     , fmap (("Regions",) . toJSON) _route53HealthCheckHealthCheckConfigRegions
-    , fmap (("RequestInterval",) . toJSON . fmap Integer') _route53HealthCheckHealthCheckConfigRequestInterval
+    , fmap (("RequestInterval",) . toJSON) _route53HealthCheckHealthCheckConfigRequestInterval
     , fmap (("ResourcePath",) . toJSON) _route53HealthCheckHealthCheckConfigResourcePath
     , fmap (("SearchString",) . toJSON) _route53HealthCheckHealthCheckConfigSearchString
     , (Just . ("Type",) . toJSON) _route53HealthCheckHealthCheckConfigType
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetAliasTarget.hs b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetAliasTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetAliasTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetAliasTarget.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("DNSName",) . toJSON) _route53RecordSetAliasTargetDNSName
-    , fmap (("EvaluateTargetHealth",) . toJSON . fmap Bool') _route53RecordSetAliasTargetEvaluateTargetHealth
+    , fmap (("EvaluateTargetHealth",) . toJSON) _route53RecordSetAliasTargetEvaluateTargetHealth
     , (Just . ("HostedZoneId",) . toJSON) _route53RecordSetAliasTargetHostedZoneId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupAliasTarget.hs b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupAliasTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupAliasTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupAliasTarget.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("DNSName",) . toJSON) _route53RecordSetGroupAliasTargetDNSName
-    , fmap (("EvaluateTargetHealth",) . toJSON . fmap Bool') _route53RecordSetGroupAliasTargetEvaluateTargetHealth
+    , fmap (("EvaluateTargetHealth",) . toJSON) _route53RecordSetGroupAliasTargetEvaluateTargetHealth
     , (Just . ("HostedZoneId",) . toJSON) _route53RecordSetGroupAliasTargetHostedZoneId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupRecordSet.hs b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupRecordSet.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupRecordSet.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupRecordSet.hs
@@ -43,14 +43,14 @@
     , fmap (("HealthCheckId",) . toJSON) _route53RecordSetGroupRecordSetHealthCheckId
     , fmap (("HostedZoneId",) . toJSON) _route53RecordSetGroupRecordSetHostedZoneId
     , fmap (("HostedZoneName",) . toJSON) _route53RecordSetGroupRecordSetHostedZoneName
-    , fmap (("MultiValueAnswer",) . toJSON . fmap Bool') _route53RecordSetGroupRecordSetMultiValueAnswer
+    , fmap (("MultiValueAnswer",) . toJSON) _route53RecordSetGroupRecordSetMultiValueAnswer
     , (Just . ("Name",) . toJSON) _route53RecordSetGroupRecordSetName
     , fmap (("Region",) . toJSON) _route53RecordSetGroupRecordSetRegion
     , fmap (("ResourceRecords",) . toJSON) _route53RecordSetGroupRecordSetResourceRecords
     , fmap (("SetIdentifier",) . toJSON) _route53RecordSetGroupRecordSetSetIdentifier
     , fmap (("TTL",) . toJSON) _route53RecordSetGroupRecordSetTTL
     , (Just . ("Type",) . toJSON) _route53RecordSetGroupRecordSetType
-    , fmap (("Weight",) . toJSON . fmap Integer') _route53RecordSetGroupRecordSetWeight
+    , fmap (("Weight",) . toJSON) _route53RecordSetGroupRecordSetWeight
     ]
 
 -- | Constructor for 'Route53RecordSetGroupRecordSet' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketAbortIncompleteMultipartUpload.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketAbortIncompleteMultipartUpload.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketAbortIncompleteMultipartUpload.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketAbortIncompleteMultipartUpload.hs
@@ -22,7 +22,7 @@
   toJSON S3BucketAbortIncompleteMultipartUpload{..} =
     object $
     catMaybes
-    [ (Just . ("DaysAfterInitiation",) . toJSON . fmap Integer') _s3BucketAbortIncompleteMultipartUploadDaysAfterInitiation
+    [ (Just . ("DaysAfterInitiation",) . toJSON) _s3BucketAbortIncompleteMultipartUploadDaysAfterInitiation
     ]
 
 -- | Constructor for 'S3BucketAbortIncompleteMultipartUpload' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketCorsRule.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketCorsRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketCorsRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketCorsRule.hs
@@ -31,7 +31,7 @@
     , (Just . ("AllowedOrigins",) . toJSON) _s3BucketCorsRuleAllowedOrigins
     , fmap (("ExposedHeaders",) . toJSON) _s3BucketCorsRuleExposedHeaders
     , fmap (("Id",) . toJSON) _s3BucketCorsRuleId
-    , fmap (("MaxAge",) . toJSON . fmap Integer') _s3BucketCorsRuleMaxAge
+    , fmap (("MaxAge",) . toJSON) _s3BucketCorsRuleMaxAge
     ]
 
 -- | Constructor for 'S3BucketCorsRule' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketInventoryConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketInventoryConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketInventoryConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketInventoryConfiguration.hs
@@ -28,7 +28,7 @@
     object $
     catMaybes
     [ (Just . ("Destination",) . toJSON) _s3BucketInventoryConfigurationDestination
-    , (Just . ("Enabled",) . toJSON . fmap Bool') _s3BucketInventoryConfigurationEnabled
+    , (Just . ("Enabled",) . toJSON) _s3BucketInventoryConfigurationEnabled
     , (Just . ("Id",) . toJSON) _s3BucketInventoryConfigurationId
     , (Just . ("IncludedObjectVersions",) . toJSON) _s3BucketInventoryConfigurationIncludedObjectVersions
     , fmap (("OptionalFields",) . toJSON) _s3BucketInventoryConfigurationOptionalFields
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketNoncurrentVersionTransition.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketNoncurrentVersionTransition.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketNoncurrentVersionTransition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketNoncurrentVersionTransition.hs
@@ -23,7 +23,7 @@
     object $
     catMaybes
     [ (Just . ("StorageClass",) . toJSON) _s3BucketNoncurrentVersionTransitionStorageClass
-    , (Just . ("TransitionInDays",) . toJSON . fmap Integer') _s3BucketNoncurrentVersionTransitionTransitionInDays
+    , (Just . ("TransitionInDays",) . toJSON) _s3BucketNoncurrentVersionTransitionTransitionInDays
     ]
 
 -- | Constructor for 'S3BucketNoncurrentVersionTransition' containing required
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketPublicAccessBlockConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketPublicAccessBlockConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketPublicAccessBlockConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketPublicAccessBlockConfiguration.hs
@@ -25,10 +25,10 @@
   toJSON S3BucketPublicAccessBlockConfiguration{..} =
     object $
     catMaybes
-    [ fmap (("BlockPublicAcls",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationBlockPublicAcls
-    , fmap (("BlockPublicPolicy",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy
-    , fmap (("IgnorePublicAcls",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls
-    , fmap (("RestrictPublicBuckets",) . toJSON . fmap Bool') _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets
+    [ fmap (("BlockPublicAcls",) . toJSON) _s3BucketPublicAccessBlockConfigurationBlockPublicAcls
+    , fmap (("BlockPublicPolicy",) . toJSON) _s3BucketPublicAccessBlockConfigurationBlockPublicPolicy
+    , fmap (("IgnorePublicAcls",) . toJSON) _s3BucketPublicAccessBlockConfigurationIgnorePublicAcls
+    , fmap (("RestrictPublicBuckets",) . toJSON) _s3BucketPublicAccessBlockConfigurationRestrictPublicBuckets
     ]
 
 -- | Constructor for 'S3BucketPublicAccessBlockConfiguration' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketRule.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketRule.hs
@@ -37,9 +37,9 @@
     catMaybes
     [ fmap (("AbortIncompleteMultipartUpload",) . toJSON) _s3BucketRuleAbortIncompleteMultipartUpload
     , fmap (("ExpirationDate",) . toJSON) _s3BucketRuleExpirationDate
-    , fmap (("ExpirationInDays",) . toJSON . fmap Integer') _s3BucketRuleExpirationInDays
+    , fmap (("ExpirationInDays",) . toJSON) _s3BucketRuleExpirationInDays
     , fmap (("Id",) . toJSON) _s3BucketRuleId
-    , fmap (("NoncurrentVersionExpirationInDays",) . toJSON . fmap Integer') _s3BucketRuleNoncurrentVersionExpirationInDays
+    , fmap (("NoncurrentVersionExpirationInDays",) . toJSON) _s3BucketRuleNoncurrentVersionExpirationInDays
     , fmap (("NoncurrentVersionTransition",) . toJSON) _s3BucketRuleNoncurrentVersionTransition
     , fmap (("NoncurrentVersionTransitions",) . toJSON) _s3BucketRuleNoncurrentVersionTransitions
     , fmap (("Prefix",) . toJSON) _s3BucketRulePrefix
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketTransition.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketTransition.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketTransition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketTransition.hs
@@ -25,7 +25,7 @@
     catMaybes
     [ (Just . ("StorageClass",) . toJSON) _s3BucketTransitionStorageClass
     , fmap (("TransitionDate",) . toJSON) _s3BucketTransitionTransitionDate
-    , fmap (("TransitionInDays",) . toJSON . fmap Integer') _s3BucketTransitionTransitionInDays
+    , fmap (("TransitionInDays",) . toJSON) _s3BucketTransitionTransitionInDays
     ]
 
 -- | Constructor for 'S3BucketTransition' containing required fields as
diff --git a/library-gen/Stratosphere/ResourceProperties/SESConfigurationSetEventDestinationEventDestination.hs b/library-gen/Stratosphere/ResourceProperties/SESConfigurationSetEventDestinationEventDestination.hs
--- a/library-gen/Stratosphere/ResourceProperties/SESConfigurationSetEventDestinationEventDestination.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SESConfigurationSetEventDestinationEventDestination.hs
@@ -29,7 +29,7 @@
     object $
     catMaybes
     [ fmap (("CloudWatchDestination",) . toJSON) _sESConfigurationSetEventDestinationEventDestinationCloudWatchDestination
-    , fmap (("Enabled",) . toJSON . fmap Bool') _sESConfigurationSetEventDestinationEventDestinationEnabled
+    , fmap (("Enabled",) . toJSON) _sESConfigurationSetEventDestinationEventDestinationEnabled
     , fmap (("KinesisFirehoseDestination",) . toJSON) _sESConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination
     , (Just . ("MatchingEventTypes",) . toJSON) _sESConfigurationSetEventDestinationEventDestinationMatchingEventTypes
     , fmap (("Name",) . toJSON) _sESConfigurationSetEventDestinationEventDestinationName
diff --git a/library-gen/Stratosphere/ResourceProperties/SESReceiptRuleRule.hs b/library-gen/Stratosphere/ResourceProperties/SESReceiptRuleRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/SESReceiptRuleRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SESReceiptRuleRule.hs
@@ -27,10 +27,10 @@
     object $
     catMaybes
     [ fmap (("Actions",) . toJSON) _sESReceiptRuleRuleActions
-    , fmap (("Enabled",) . toJSON . fmap Bool') _sESReceiptRuleRuleEnabled
+    , fmap (("Enabled",) . toJSON) _sESReceiptRuleRuleEnabled
     , fmap (("Name",) . toJSON) _sESReceiptRuleRuleName
     , fmap (("Recipients",) . toJSON) _sESReceiptRuleRuleRecipients
-    , fmap (("ScanEnabled",) . toJSON . fmap Bool') _sESReceiptRuleRuleScanEnabled
+    , fmap (("ScanEnabled",) . toJSON) _sESReceiptRuleRuleScanEnabled
     , fmap (("TlsPolicy",) . toJSON) _sESReceiptRuleRuleTlsPolicy
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskMaintenanceWindowRunCommandParameters.hs b/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskMaintenanceWindowRunCommandParameters.hs
--- a/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskMaintenanceWindowRunCommandParameters.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SSMMaintenanceWindowTaskMaintenanceWindowRunCommandParameters.hs
@@ -39,7 +39,7 @@
     , fmap (("OutputS3KeyPrefix",) . toJSON) _sSMMaintenanceWindowTaskMaintenanceWindowRunCommandParametersOutputS3KeyPrefix
     , fmap (("Parameters",) . toJSON) _sSMMaintenanceWindowTaskMaintenanceWindowRunCommandParametersParameters
     , fmap (("ServiceRoleArn",) . toJSON) _sSMMaintenanceWindowTaskMaintenanceWindowRunCommandParametersServiceRoleArn
-    , fmap (("TimeoutSeconds",) . toJSON . fmap Integer') _sSMMaintenanceWindowTaskMaintenanceWindowRunCommandParametersTimeoutSeconds
+    , fmap (("TimeoutSeconds",) . toJSON) _sSMMaintenanceWindowTaskMaintenanceWindowRunCommandParametersTimeoutSeconds
     ]
 
 -- | Constructor for
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMPatchBaselineRule.hs b/library-gen/Stratosphere/ResourceProperties/SSMPatchBaselineRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/SSMPatchBaselineRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SSMPatchBaselineRule.hs
@@ -24,9 +24,9 @@
   toJSON SSMPatchBaselineRule{..} =
     object $
     catMaybes
-    [ fmap (("ApproveAfterDays",) . toJSON . fmap Integer') _sSMPatchBaselineRuleApproveAfterDays
+    [ fmap (("ApproveAfterDays",) . toJSON) _sSMPatchBaselineRuleApproveAfterDays
     , fmap (("ComplianceLevel",) . toJSON) _sSMPatchBaselineRuleComplianceLevel
-    , fmap (("EnableNonSecurity",) . toJSON . fmap Bool') _sSMPatchBaselineRuleEnableNonSecurity
+    , fmap (("EnableNonSecurity",) . toJSON) _sSMPatchBaselineRuleEnableNonSecurity
     , fmap (("PatchFilterGroup",) . toJSON) _sSMPatchBaselineRulePatchFilterGroup
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointConfigProductionVariant.hs b/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointConfigProductionVariant.hs
--- a/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointConfigProductionVariant.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SageMakerEndpointConfigProductionVariant.hs
@@ -28,8 +28,8 @@
     object $
     catMaybes
     [ fmap (("AcceleratorType",) . toJSON) _sageMakerEndpointConfigProductionVariantAcceleratorType
-    , (Just . ("InitialInstanceCount",) . toJSON . fmap Integer') _sageMakerEndpointConfigProductionVariantInitialInstanceCount
-    , (Just . ("InitialVariantWeight",) . toJSON . fmap Double') _sageMakerEndpointConfigProductionVariantInitialVariantWeight
+    , (Just . ("InitialInstanceCount",) . toJSON) _sageMakerEndpointConfigProductionVariantInitialInstanceCount
+    , (Just . ("InitialVariantWeight",) . toJSON) _sageMakerEndpointConfigProductionVariantInitialVariantWeight
     , (Just . ("InstanceType",) . toJSON) _sageMakerEndpointConfigProductionVariantInstanceType
     , (Just . ("ModelName",) . toJSON) _sageMakerEndpointConfigProductionVariantModelName
     , (Just . ("VariantName",) . toJSON) _sageMakerEndpointConfigProductionVariantVariantName
diff --git a/library-gen/Stratosphere/ResourceProperties/SecretsManagerRotationScheduleRotationRules.hs b/library-gen/Stratosphere/ResourceProperties/SecretsManagerRotationScheduleRotationRules.hs
--- a/library-gen/Stratosphere/ResourceProperties/SecretsManagerRotationScheduleRotationRules.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SecretsManagerRotationScheduleRotationRules.hs
@@ -23,7 +23,7 @@
   toJSON SecretsManagerRotationScheduleRotationRules{..} =
     object $
     catMaybes
-    [ fmap (("AutomaticallyAfterDays",) . toJSON . fmap Integer') _secretsManagerRotationScheduleRotationRulesAutomaticallyAfterDays
+    [ fmap (("AutomaticallyAfterDays",) . toJSON) _secretsManagerRotationScheduleRotationRulesAutomaticallyAfterDays
     ]
 
 -- | Constructor for 'SecretsManagerRotationScheduleRotationRules' containing
diff --git a/library-gen/Stratosphere/ResourceProperties/SecretsManagerSecretGenerateSecretString.hs b/library-gen/Stratosphere/ResourceProperties/SecretsManagerSecretGenerateSecretString.hs
--- a/library-gen/Stratosphere/ResourceProperties/SecretsManagerSecretGenerateSecretString.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SecretsManagerSecretGenerateSecretString.hs
@@ -32,14 +32,14 @@
     object $
     catMaybes
     [ fmap (("ExcludeCharacters",) . toJSON) _secretsManagerSecretGenerateSecretStringExcludeCharacters
-    , fmap (("ExcludeLowercase",) . toJSON . fmap Bool') _secretsManagerSecretGenerateSecretStringExcludeLowercase
-    , fmap (("ExcludeNumbers",) . toJSON . fmap Bool') _secretsManagerSecretGenerateSecretStringExcludeNumbers
-    , fmap (("ExcludePunctuation",) . toJSON . fmap Bool') _secretsManagerSecretGenerateSecretStringExcludePunctuation
-    , fmap (("ExcludeUppercase",) . toJSON . fmap Bool') _secretsManagerSecretGenerateSecretStringExcludeUppercase
+    , fmap (("ExcludeLowercase",) . toJSON) _secretsManagerSecretGenerateSecretStringExcludeLowercase
+    , fmap (("ExcludeNumbers",) . toJSON) _secretsManagerSecretGenerateSecretStringExcludeNumbers
+    , fmap (("ExcludePunctuation",) . toJSON) _secretsManagerSecretGenerateSecretStringExcludePunctuation
+    , fmap (("ExcludeUppercase",) . toJSON) _secretsManagerSecretGenerateSecretStringExcludeUppercase
     , fmap (("GenerateStringKey",) . toJSON) _secretsManagerSecretGenerateSecretStringGenerateStringKey
-    , fmap (("IncludeSpace",) . toJSON . fmap Bool') _secretsManagerSecretGenerateSecretStringIncludeSpace
-    , fmap (("PasswordLength",) . toJSON . fmap Integer') _secretsManagerSecretGenerateSecretStringPasswordLength
-    , fmap (("RequireEachIncludedType",) . toJSON . fmap Bool') _secretsManagerSecretGenerateSecretStringRequireEachIncludedType
+    , fmap (("IncludeSpace",) . toJSON) _secretsManagerSecretGenerateSecretStringIncludeSpace
+    , fmap (("PasswordLength",) . toJSON) _secretsManagerSecretGenerateSecretStringPasswordLength
+    , fmap (("RequireEachIncludedType",) . toJSON) _secretsManagerSecretGenerateSecretStringRequireEachIncludedType
     , fmap (("SecretStringTemplate",) . toJSON) _secretsManagerSecretGenerateSecretStringSecretStringTemplate
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckConfig.hs b/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckConfig.hs
@@ -24,7 +24,7 @@
   toJSON ServiceDiscoveryServiceHealthCheckConfig{..} =
     object $
     catMaybes
-    [ fmap (("FailureThreshold",) . toJSON . fmap Double') _serviceDiscoveryServiceHealthCheckConfigFailureThreshold
+    [ fmap (("FailureThreshold",) . toJSON) _serviceDiscoveryServiceHealthCheckConfigFailureThreshold
     , fmap (("ResourcePath",) . toJSON) _serviceDiscoveryServiceHealthCheckConfigResourcePath
     , (Just . ("Type",) . toJSON) _serviceDiscoveryServiceHealthCheckConfigType
     ]
diff --git a/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckCustomConfig.hs b/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckCustomConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckCustomConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ServiceDiscoveryServiceHealthCheckCustomConfig.hs
@@ -23,7 +23,7 @@
   toJSON ServiceDiscoveryServiceHealthCheckCustomConfig{..} =
     object $
     catMaybes
-    [ fmap (("FailureThreshold",) . toJSON . fmap Double') _serviceDiscoveryServiceHealthCheckCustomConfigFailureThreshold
+    [ fmap (("FailureThreshold",) . toJSON) _serviceDiscoveryServiceHealthCheckCustomConfigFailureThreshold
     ]
 
 -- | Constructor for 'ServiceDiscoveryServiceHealthCheckCustomConfig'
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsActivityTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsActivityTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsActivityTagsEntry.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html
+
+module Stratosphere.ResourceProperties.StepFunctionsActivityTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for StepFunctionsActivityTagsEntry. See
+-- 'stepFunctionsActivityTagsEntry' for a more convenient constructor.
+data StepFunctionsActivityTagsEntry =
+  StepFunctionsActivityTagsEntry
+  { _stepFunctionsActivityTagsEntryKey :: Val Text
+  , _stepFunctionsActivityTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON StepFunctionsActivityTagsEntry where
+  toJSON StepFunctionsActivityTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _stepFunctionsActivityTagsEntryKey
+    , (Just . ("Value",) . toJSON) _stepFunctionsActivityTagsEntryValue
+    ]
+
+-- | Constructor for 'StepFunctionsActivityTagsEntry' containing required
+-- fields as arguments.
+stepFunctionsActivityTagsEntry
+  :: Val Text -- ^ 'sfateKey'
+  -> Val Text -- ^ 'sfateValue'
+  -> StepFunctionsActivityTagsEntry
+stepFunctionsActivityTagsEntry keyarg valuearg =
+  StepFunctionsActivityTagsEntry
+  { _stepFunctionsActivityTagsEntryKey = keyarg
+  , _stepFunctionsActivityTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html#cfn-stepfunctions-activity-tagsentry-key
+sfateKey :: Lens' StepFunctionsActivityTagsEntry (Val Text)
+sfateKey = lens _stepFunctionsActivityTagsEntryKey (\s a -> s { _stepFunctionsActivityTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html#cfn-stepfunctions-activity-tagsentry-value
+sfateValue :: Lens' StepFunctionsActivityTagsEntry (Val Text)
+sfateValue = lens _stepFunctionsActivityTagsEntryValue (\s a -> s { _stepFunctionsActivityTagsEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTagsEntry.hs b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTagsEntry.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/StepFunctionsStateMachineTagsEntry.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html
+
+module Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for StepFunctionsStateMachineTagsEntry. See
+-- 'stepFunctionsStateMachineTagsEntry' for a more convenient constructor.
+data StepFunctionsStateMachineTagsEntry =
+  StepFunctionsStateMachineTagsEntry
+  { _stepFunctionsStateMachineTagsEntryKey :: Val Text
+  , _stepFunctionsStateMachineTagsEntryValue :: Val Text
+  } deriving (Show, Eq)
+
+instance ToJSON StepFunctionsStateMachineTagsEntry where
+  toJSON StepFunctionsStateMachineTagsEntry{..} =
+    object $
+    catMaybes
+    [ (Just . ("Key",) . toJSON) _stepFunctionsStateMachineTagsEntryKey
+    , (Just . ("Value",) . toJSON) _stepFunctionsStateMachineTagsEntryValue
+    ]
+
+-- | Constructor for 'StepFunctionsStateMachineTagsEntry' containing required
+-- fields as arguments.
+stepFunctionsStateMachineTagsEntry
+  :: Val Text -- ^ 'sfsmteKey'
+  -> Val Text -- ^ 'sfsmteValue'
+  -> StepFunctionsStateMachineTagsEntry
+stepFunctionsStateMachineTagsEntry keyarg valuearg =
+  StepFunctionsStateMachineTagsEntry
+  { _stepFunctionsStateMachineTagsEntryKey = keyarg
+  , _stepFunctionsStateMachineTagsEntryValue = valuearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html#cfn-stepfunctions-statemachine-tagsentry-key
+sfsmteKey :: Lens' StepFunctionsStateMachineTagsEntry (Val Text)
+sfsmteKey = lens _stepFunctionsStateMachineTagsEntryKey (\s a -> s { _stepFunctionsStateMachineTagsEntryKey = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html#cfn-stepfunctions-statemachine-tagsentry-value
+sfsmteValue :: Lens' StepFunctionsStateMachineTagsEntry (Val Text)
+sfsmteValue = lens _stepFunctionsStateMachineTagsEntryValue (\s a -> s { _stepFunctionsStateMachineTagsEntryValue = a })
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFRegionalRulePredicate.hs b/library-gen/Stratosphere/ResourceProperties/WAFRegionalRulePredicate.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFRegionalRulePredicate.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFRegionalRulePredicate.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("DataId",) . toJSON) _wAFRegionalRulePredicateDataId
-    , (Just . ("Negated",) . toJSON . fmap Bool') _wAFRegionalRulePredicateNegated
+    , (Just . ("Negated",) . toJSON) _wAFRegionalRulePredicateNegated
     , (Just . ("Type",) . toJSON) _wAFRegionalRulePredicateType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFRegionalSizeConstraintSetSizeConstraint.hs b/library-gen/Stratosphere/ResourceProperties/WAFRegionalSizeConstraintSetSizeConstraint.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFRegionalSizeConstraintSetSizeConstraint.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFRegionalSizeConstraintSetSizeConstraint.hs
@@ -27,7 +27,7 @@
     catMaybes
     [ (Just . ("ComparisonOperator",) . toJSON) _wAFRegionalSizeConstraintSetSizeConstraintComparisonOperator
     , (Just . ("FieldToMatch",) . toJSON) _wAFRegionalSizeConstraintSetSizeConstraintFieldToMatch
-    , (Just . ("Size",) . toJSON . fmap Integer') _wAFRegionalSizeConstraintSetSizeConstraintSize
+    , (Just . ("Size",) . toJSON) _wAFRegionalSizeConstraintSetSizeConstraintSize
     , (Just . ("TextTransformation",) . toJSON) _wAFRegionalSizeConstraintSetSizeConstraintTextTransformation
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFRegionalWebACLRule.hs b/library-gen/Stratosphere/ResourceProperties/WAFRegionalWebACLRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFRegionalWebACLRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFRegionalWebACLRule.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("Action",) . toJSON) _wAFRegionalWebACLRuleAction
-    , (Just . ("Priority",) . toJSON . fmap Integer') _wAFRegionalWebACLRulePriority
+    , (Just . ("Priority",) . toJSON) _wAFRegionalWebACLRulePriority
     , (Just . ("RuleId",) . toJSON) _wAFRegionalWebACLRuleRuleId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFRulePredicate.hs b/library-gen/Stratosphere/ResourceProperties/WAFRulePredicate.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFRulePredicate.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFRulePredicate.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ (Just . ("DataId",) . toJSON) _wAFRulePredicateDataId
-    , (Just . ("Negated",) . toJSON . fmap Bool') _wAFRulePredicateNegated
+    , (Just . ("Negated",) . toJSON) _wAFRulePredicateNegated
     , (Just . ("Type",) . toJSON) _wAFRulePredicateType
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetSizeConstraint.hs b/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetSizeConstraint.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetSizeConstraint.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetSizeConstraint.hs
@@ -26,7 +26,7 @@
     catMaybes
     [ (Just . ("ComparisonOperator",) . toJSON) _wAFSizeConstraintSetSizeConstraintComparisonOperator
     , (Just . ("FieldToMatch",) . toJSON) _wAFSizeConstraintSetSizeConstraintFieldToMatch
-    , (Just . ("Size",) . toJSON . fmap Integer') _wAFSizeConstraintSetSizeConstraintSize
+    , (Just . ("Size",) . toJSON) _wAFSizeConstraintSetSizeConstraintSize
     , (Just . ("TextTransformation",) . toJSON) _wAFSizeConstraintSetSizeConstraintTextTransformation
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFWebACLActivatedRule.hs b/library-gen/Stratosphere/ResourceProperties/WAFWebACLActivatedRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFWebACLActivatedRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFWebACLActivatedRule.hs
@@ -24,7 +24,7 @@
     object $
     catMaybes
     [ fmap (("Action",) . toJSON) _wAFWebACLActivatedRuleAction
-    , (Just . ("Priority",) . toJSON . fmap Integer') _wAFWebACLActivatedRulePriority
+    , (Just . ("Priority",) . toJSON) _wAFWebACLActivatedRulePriority
     , (Just . ("RuleId",) . toJSON) _wAFWebACLActivatedRuleRuleId
     ]
 
diff --git a/library-gen/Stratosphere/ResourceProperties/WorkSpacesWorkspaceWorkspaceProperties.hs b/library-gen/Stratosphere/ResourceProperties/WorkSpacesWorkspaceWorkspaceProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/WorkSpacesWorkspaceWorkspaceProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WorkSpacesWorkspaceWorkspaceProperties.hs
@@ -27,10 +27,10 @@
     object $
     catMaybes
     [ fmap (("ComputeTypeName",) . toJSON) _workSpacesWorkspaceWorkspacePropertiesComputeTypeName
-    , fmap (("RootVolumeSizeGib",) . toJSON . fmap Integer') _workSpacesWorkspaceWorkspacePropertiesRootVolumeSizeGib
+    , fmap (("RootVolumeSizeGib",) . toJSON) _workSpacesWorkspaceWorkspacePropertiesRootVolumeSizeGib
     , fmap (("RunningMode",) . toJSON) _workSpacesWorkspaceWorkspacePropertiesRunningMode
-    , fmap (("RunningModeAutoStopTimeoutInMinutes",) . toJSON . fmap Integer') _workSpacesWorkspaceWorkspacePropertiesRunningModeAutoStopTimeoutInMinutes
-    , fmap (("UserVolumeSizeGib",) . toJSON . fmap Integer') _workSpacesWorkspaceWorkspacePropertiesUserVolumeSizeGib
+    , fmap (("RunningModeAutoStopTimeoutInMinutes",) . toJSON) _workSpacesWorkspaceWorkspacePropertiesRunningModeAutoStopTimeoutInMinutes
+    , fmap (("UserVolumeSizeGib",) . toJSON) _workSpacesWorkspaceWorkspacePropertiesUserVolumeSizeGib
     ]
 
 -- | Constructor for 'WorkSpacesWorkspaceWorkspaceProperties' containing
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
@@ -245,6 +245,21 @@
 import Stratosphere.Resources.GluePartition as X
 import Stratosphere.Resources.GlueTable as X
 import Stratosphere.Resources.GlueTrigger as X
+import Stratosphere.Resources.GreengrassConnectorDefinition as X
+import Stratosphere.Resources.GreengrassConnectorDefinitionVersion as X
+import Stratosphere.Resources.GreengrassCoreDefinition as X
+import Stratosphere.Resources.GreengrassCoreDefinitionVersion as X
+import Stratosphere.Resources.GreengrassDeviceDefinition as X
+import Stratosphere.Resources.GreengrassDeviceDefinitionVersion as X
+import Stratosphere.Resources.GreengrassFunctionDefinition as X
+import Stratosphere.Resources.GreengrassFunctionDefinitionVersion as X
+import Stratosphere.Resources.GreengrassGroup as X
+import Stratosphere.Resources.GreengrassGroupVersion as X
+import Stratosphere.Resources.GreengrassLoggerDefinition as X
+import Stratosphere.Resources.GreengrassLoggerDefinitionVersion as X
+import Stratosphere.Resources.GreengrassResourceDefinitionVersion as X
+import Stratosphere.Resources.GreengrassSubscriptionDefinition as X
+import Stratosphere.Resources.GreengrassSubscriptionDefinitionVersion as X
 import Stratosphere.Resources.GuardDutyDetector as X
 import Stratosphere.Resources.GuardDutyFilter as X
 import Stratosphere.Resources.GuardDutyIPSet as X
@@ -543,6 +558,7 @@
 import Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironment as X
 import Stratosphere.ResourceProperties.CodeBuildProjectEnvironmentVariable as X
+import Stratosphere.ResourceProperties.CodeBuildProjectGitSubmodulesConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectCache as X
 import Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers as X
@@ -869,6 +885,45 @@
 import Stratosphere.ResourceProperties.GlueTriggerAction as X
 import Stratosphere.ResourceProperties.GlueTriggerCondition as X
 import Stratosphere.ResourceProperties.GlueTriggerPredicate as X
+import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnector as X
+import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnectorDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionVersionConnector as X
+import Stratosphere.ResourceProperties.GreengrassCoreDefinitionCore as X
+import Stratosphere.ResourceProperties.GreengrassCoreDefinitionCoreDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassCoreDefinitionVersionCore as X
+import Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDevice as X
+import Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDeviceDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassDeviceDefinitionVersionDevice as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionDefaultConfig as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionEnvironment as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionExecution as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunction as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionConfiguration as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionResourceAccessPolicy as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionRunAs as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionDefaultConfig as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionEnvironment as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionExecution as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunction as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunctionConfiguration as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionResourceAccessPolicy as X
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionRunAs as X
+import Stratosphere.ResourceProperties.GreengrassGroupGroupVersion as X
+import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLogger as X
+import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLoggerDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionVersionLogger as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalDeviceResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalVolumeResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceDataContainer as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceInstance as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData as X
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData as X
+import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscription as X
+import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion as X
+import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription as X
 import Stratosphere.ResourceProperties.GuardDutyFilterCondition as X
 import Stratosphere.ResourceProperties.GuardDutyFilterFindingCriteria as X
 import Stratosphere.ResourceProperties.IAMGroupPolicy as X
@@ -1143,6 +1198,8 @@
 import Stratosphere.ResourceProperties.ServiceDiscoveryServiceDnsRecord as X
 import Stratosphere.ResourceProperties.ServiceDiscoveryServiceHealthCheckConfig as X
 import Stratosphere.ResourceProperties.ServiceDiscoveryServiceHealthCheckCustomConfig as X
+import Stratosphere.ResourceProperties.StepFunctionsActivityTagsEntry as X
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry as X
 import Stratosphere.ResourceProperties.WAFByteMatchSetByteMatchTuple as X
 import Stratosphere.ResourceProperties.WAFByteMatchSetFieldToMatch as X
 import Stratosphere.ResourceProperties.WAFIPSetIPSetDescriptor as X
diff --git a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
@@ -40,7 +40,7 @@
     { resourcePropertiesType = "AWS::AmazonMQ::Broker"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _amazonMQBrokerAutoMinorVersionUpgrade
+        [ (Just . ("AutoMinorVersionUpgrade",) . toJSON) _amazonMQBrokerAutoMinorVersionUpgrade
         , (Just . ("BrokerName",) . toJSON) _amazonMQBrokerBrokerName
         , fmap (("Configuration",) . toJSON) _amazonMQBrokerConfiguration
         , (Just . ("DeploymentMode",) . toJSON) _amazonMQBrokerDeploymentMode
@@ -49,7 +49,7 @@
         , (Just . ("HostInstanceType",) . toJSON) _amazonMQBrokerHostInstanceType
         , fmap (("Logs",) . toJSON) _amazonMQBrokerLogs
         , fmap (("MaintenanceWindowStartTime",) . toJSON) _amazonMQBrokerMaintenanceWindowStartTime
-        , (Just . ("PubliclyAccessible",) . toJSON . fmap Bool') _amazonMQBrokerPubliclyAccessible
+        , (Just . ("PubliclyAccessible",) . toJSON) _amazonMQBrokerPubliclyAccessible
         , fmap (("SecurityGroups",) . toJSON) _amazonMQBrokerSecurityGroups
         , fmap (("SubnetIds",) . toJSON) _amazonMQBrokerSubnetIds
         , fmap (("Tags",) . toJSON) _amazonMQBrokerTags
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs b/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
@@ -31,8 +31,8 @@
         hashMapFromList $ catMaybes
         [ fmap (("CustomerId",) . toJSON) _apiGatewayApiKeyCustomerId
         , fmap (("Description",) . toJSON) _apiGatewayApiKeyDescription
-        , fmap (("Enabled",) . toJSON . fmap Bool') _apiGatewayApiKeyEnabled
-        , fmap (("GenerateDistinctId",) . toJSON . fmap Bool') _apiGatewayApiKeyGenerateDistinctId
+        , fmap (("Enabled",) . toJSON) _apiGatewayApiKeyEnabled
+        , fmap (("GenerateDistinctId",) . toJSON) _apiGatewayApiKeyGenerateDistinctId
         , fmap (("Name",) . toJSON) _apiGatewayApiKeyName
         , fmap (("StageKeys",) . toJSON) _apiGatewayApiKeyStageKeys
         , fmap (("Value",) . toJSON) _apiGatewayApiKeyValue
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs b/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs
@@ -34,7 +34,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("AuthType",) . toJSON) _apiGatewayAuthorizerAuthType
         , fmap (("AuthorizerCredentials",) . toJSON) _apiGatewayAuthorizerAuthorizerCredentials
-        , fmap (("AuthorizerResultTtlInSeconds",) . toJSON . fmap Integer') _apiGatewayAuthorizerAuthorizerResultTtlInSeconds
+        , fmap (("AuthorizerResultTtlInSeconds",) . toJSON) _apiGatewayAuthorizerAuthorizerResultTtlInSeconds
         , fmap (("AuthorizerUri",) . toJSON) _apiGatewayAuthorizerAuthorizerUri
         , fmap (("IdentitySource",) . toJSON) _apiGatewayAuthorizerIdentitySource
         , fmap (("IdentityValidationExpression",) . toJSON) _apiGatewayAuthorizerIdentityValidationExpression
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs b/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
@@ -37,7 +37,7 @@
     { resourcePropertiesType = "AWS::ApiGateway::Method"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("ApiKeyRequired",) . toJSON . fmap Bool') _apiGatewayMethodApiKeyRequired
+        [ fmap (("ApiKeyRequired",) . toJSON) _apiGatewayMethodApiKeyRequired
         , fmap (("AuthorizationScopes",) . toJSON) _apiGatewayMethodAuthorizationScopes
         , fmap (("AuthorizationType",) . toJSON) _apiGatewayMethodAuthorizationType
         , fmap (("AuthorizerId",) . toJSON) _apiGatewayMethodAuthorizerId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs b/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs
@@ -28,8 +28,8 @@
         hashMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _apiGatewayRequestValidatorName
         , (Just . ("RestApiId",) . toJSON) _apiGatewayRequestValidatorRestApiId
-        , fmap (("ValidateRequestBody",) . toJSON . fmap Bool') _apiGatewayRequestValidatorValidateRequestBody
-        , fmap (("ValidateRequestParameters",) . toJSON . fmap Bool') _apiGatewayRequestValidatorValidateRequestParameters
+        , fmap (("ValidateRequestBody",) . toJSON) _apiGatewayRequestValidatorValidateRequestBody
+        , fmap (("ValidateRequestParameters",) . toJSON) _apiGatewayRequestValidatorValidateRequestParameters
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs b/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
@@ -42,8 +42,8 @@
         , fmap (("CloneFrom",) . toJSON) _apiGatewayRestApiCloneFrom
         , fmap (("Description",) . toJSON) _apiGatewayRestApiDescription
         , fmap (("EndpointConfiguration",) . toJSON) _apiGatewayRestApiEndpointConfiguration
-        , fmap (("FailOnWarnings",) . toJSON . fmap Bool') _apiGatewayRestApiFailOnWarnings
-        , fmap (("MinimumCompressionSize",) . toJSON . fmap Integer') _apiGatewayRestApiMinimumCompressionSize
+        , fmap (("FailOnWarnings",) . toJSON) _apiGatewayRestApiFailOnWarnings
+        , fmap (("MinimumCompressionSize",) . toJSON) _apiGatewayRestApiMinimumCompressionSize
         , fmap (("Name",) . toJSON) _apiGatewayRestApiName
         , fmap (("Parameters",) . toJSON) _apiGatewayRestApiParameters
         , fmap (("Policy",) . toJSON) _apiGatewayRestApiPolicy
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayStage.hs b/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
@@ -40,7 +40,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AccessLogSetting",) . toJSON) _apiGatewayStageAccessLogSetting
-        , fmap (("CacheClusterEnabled",) . toJSON . fmap Bool') _apiGatewayStageCacheClusterEnabled
+        , fmap (("CacheClusterEnabled",) . toJSON) _apiGatewayStageCacheClusterEnabled
         , fmap (("CacheClusterSize",) . toJSON) _apiGatewayStageCacheClusterSize
         , fmap (("CanarySetting",) . toJSON) _apiGatewayStageCanarySetting
         , fmap (("ClientCertificateId",) . toJSON) _apiGatewayStageClientCertificateId
@@ -51,7 +51,7 @@
         , (Just . ("RestApiId",) . toJSON) _apiGatewayStageRestApiId
         , fmap (("StageName",) . toJSON) _apiGatewayStageStageName
         , fmap (("Tags",) . toJSON) _apiGatewayStageTags
-        , fmap (("TracingEnabled",) . toJSON . fmap Bool') _apiGatewayStageTracingEnabled
+        , fmap (("TracingEnabled",) . toJSON) _apiGatewayStageTracingEnabled
         , fmap (("Variables",) . toJSON) _apiGatewayStageVariables
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
@@ -31,7 +31,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("ApiKeySelectionExpression",) . toJSON) _apiGatewayV2ApiApiKeySelectionExpression
         , fmap (("Description",) . toJSON) _apiGatewayV2ApiDescription
-        , fmap (("DisableSchemaValidation",) . toJSON . fmap Bool') _apiGatewayV2ApiDisableSchemaValidation
+        , fmap (("DisableSchemaValidation",) . toJSON) _apiGatewayV2ApiDisableSchemaValidation
         , (Just . ("Name",) . toJSON) _apiGatewayV2ApiName
         , (Just . ("ProtocolType",) . toJSON) _apiGatewayV2ApiProtocolType
         , (Just . ("RouteSelectionExpression",) . toJSON) _apiGatewayV2ApiRouteSelectionExpression
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
@@ -32,7 +32,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2AuthorizerApiId
         , fmap (("AuthorizerCredentialsArn",) . toJSON) _apiGatewayV2AuthorizerAuthorizerCredentialsArn
-        , fmap (("AuthorizerResultTtlInSeconds",) . toJSON . fmap Integer') _apiGatewayV2AuthorizerAuthorizerResultTtlInSeconds
+        , fmap (("AuthorizerResultTtlInSeconds",) . toJSON) _apiGatewayV2AuthorizerAuthorizerResultTtlInSeconds
         , (Just . ("AuthorizerType",) . toJSON) _apiGatewayV2AuthorizerAuthorizerType
         , (Just . ("AuthorizerUri",) . toJSON) _apiGatewayV2AuthorizerAuthorizerUri
         , (Just . ("IdentitySource",) . toJSON) _apiGatewayV2AuthorizerIdentitySource
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
@@ -47,7 +47,7 @@
         , fmap (("RequestParameters",) . toJSON) _apiGatewayV2IntegrationRequestParameters
         , fmap (("RequestTemplates",) . toJSON) _apiGatewayV2IntegrationRequestTemplates
         , fmap (("TemplateSelectionExpression",) . toJSON) _apiGatewayV2IntegrationTemplateSelectionExpression
-        , fmap (("TimeoutInMillis",) . toJSON . fmap Integer') _apiGatewayV2IntegrationTimeoutInMillis
+        , fmap (("TimeoutInMillis",) . toJSON) _apiGatewayV2IntegrationTimeoutInMillis
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs
@@ -35,7 +35,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2RouteApiId
-        , fmap (("ApiKeyRequired",) . toJSON . fmap Bool') _apiGatewayV2RouteApiKeyRequired
+        , fmap (("ApiKeyRequired",) . toJSON) _apiGatewayV2RouteApiKeyRequired
         , fmap (("AuthorizationScopes",) . toJSON) _apiGatewayV2RouteAuthorizationScopes
         , fmap (("AuthorizationType",) . toJSON) _apiGatewayV2RouteAuthorizationType
         , fmap (("AuthorizerId",) . toJSON) _apiGatewayV2RouteAuthorizerId
diff --git a/library-gen/Stratosphere/Resources/AppStreamFleet.hs b/library-gen/Stratosphere/Resources/AppStreamFleet.hs
--- a/library-gen/Stratosphere/Resources/AppStreamFleet.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamFleet.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.AppStreamFleetComputeCapacity
 import Stratosphere.ResourceProperties.AppStreamFleetDomainJoinInfo
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.AppStreamFleetVpcConfig
 
 -- | Full data type definition for AppStreamFleet. See 'appStreamFleet' for a
@@ -28,6 +29,7 @@
   , _appStreamFleetInstanceType :: Val Text
   , _appStreamFleetMaxUserDurationInSeconds :: Maybe (Val Integer)
   , _appStreamFleetName :: Maybe (Val Text)
+  , _appStreamFleetTags :: Maybe [Tag]
   , _appStreamFleetVpcConfig :: Maybe AppStreamFleetVpcConfig
   } deriving (Show, Eq)
 
@@ -39,16 +41,17 @@
         hashMapFromList $ catMaybes
         [ (Just . ("ComputeCapacity",) . toJSON) _appStreamFleetComputeCapacity
         , fmap (("Description",) . toJSON) _appStreamFleetDescription
-        , fmap (("DisconnectTimeoutInSeconds",) . toJSON . fmap Integer') _appStreamFleetDisconnectTimeoutInSeconds
+        , fmap (("DisconnectTimeoutInSeconds",) . toJSON) _appStreamFleetDisconnectTimeoutInSeconds
         , fmap (("DisplayName",) . toJSON) _appStreamFleetDisplayName
         , fmap (("DomainJoinInfo",) . toJSON) _appStreamFleetDomainJoinInfo
-        , fmap (("EnableDefaultInternetAccess",) . toJSON . fmap Bool') _appStreamFleetEnableDefaultInternetAccess
+        , fmap (("EnableDefaultInternetAccess",) . toJSON) _appStreamFleetEnableDefaultInternetAccess
         , fmap (("FleetType",) . toJSON) _appStreamFleetFleetType
         , fmap (("ImageArn",) . toJSON) _appStreamFleetImageArn
         , fmap (("ImageName",) . toJSON) _appStreamFleetImageName
         , (Just . ("InstanceType",) . toJSON) _appStreamFleetInstanceType
-        , fmap (("MaxUserDurationInSeconds",) . toJSON . fmap Integer') _appStreamFleetMaxUserDurationInSeconds
+        , fmap (("MaxUserDurationInSeconds",) . toJSON) _appStreamFleetMaxUserDurationInSeconds
         , fmap (("Name",) . toJSON) _appStreamFleetName
+        , fmap (("Tags",) . toJSON) _appStreamFleetTags
         , fmap (("VpcConfig",) . toJSON) _appStreamFleetVpcConfig
         ]
     }
@@ -72,6 +75,7 @@
   , _appStreamFleetInstanceType = instanceTypearg
   , _appStreamFleetMaxUserDurationInSeconds = Nothing
   , _appStreamFleetName = Nothing
+  , _appStreamFleetTags = Nothing
   , _appStreamFleetVpcConfig = Nothing
   }
 
@@ -122,6 +126,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-name
 asfName :: Lens' AppStreamFleet (Maybe (Val Text))
 asfName = lens _appStreamFleetName (\s a -> s { _appStreamFleetName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-tags
+asfTags :: Lens' AppStreamFleet (Maybe [Tag])
+asfTags = lens _appStreamFleetTags (\s a -> s { _appStreamFleetTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-vpcconfig
 asfVpcConfig :: Lens' AppStreamFleet (Maybe AppStreamFleetVpcConfig)
diff --git a/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs b/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
--- a/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
@@ -9,6 +9,7 @@
 
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.AppStreamImageBuilderDomainJoinInfo
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.AppStreamImageBuilderVpcConfig
 
 -- | Full data type definition for AppStreamImageBuilder. See
@@ -24,6 +25,7 @@
   , _appStreamImageBuilderImageName :: Maybe (Val Text)
   , _appStreamImageBuilderInstanceType :: Val Text
   , _appStreamImageBuilderName :: Maybe (Val Text)
+  , _appStreamImageBuilderTags :: Maybe [Tag]
   , _appStreamImageBuilderVpcConfig :: Maybe AppStreamImageBuilderVpcConfig
   } deriving (Show, Eq)
 
@@ -37,11 +39,12 @@
         , fmap (("Description",) . toJSON) _appStreamImageBuilderDescription
         , fmap (("DisplayName",) . toJSON) _appStreamImageBuilderDisplayName
         , fmap (("DomainJoinInfo",) . toJSON) _appStreamImageBuilderDomainJoinInfo
-        , fmap (("EnableDefaultInternetAccess",) . toJSON . fmap Bool') _appStreamImageBuilderEnableDefaultInternetAccess
+        , fmap (("EnableDefaultInternetAccess",) . toJSON) _appStreamImageBuilderEnableDefaultInternetAccess
         , fmap (("ImageArn",) . toJSON) _appStreamImageBuilderImageArn
         , fmap (("ImageName",) . toJSON) _appStreamImageBuilderImageName
         , (Just . ("InstanceType",) . toJSON) _appStreamImageBuilderInstanceType
         , fmap (("Name",) . toJSON) _appStreamImageBuilderName
+        , fmap (("Tags",) . toJSON) _appStreamImageBuilderTags
         , fmap (("VpcConfig",) . toJSON) _appStreamImageBuilderVpcConfig
         ]
     }
@@ -62,6 +65,7 @@
   , _appStreamImageBuilderImageName = Nothing
   , _appStreamImageBuilderInstanceType = instanceTypearg
   , _appStreamImageBuilderName = Nothing
+  , _appStreamImageBuilderTags = Nothing
   , _appStreamImageBuilderVpcConfig = Nothing
   }
 
@@ -100,6 +104,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name
 asibName :: Lens' AppStreamImageBuilder (Maybe (Val Text))
 asibName = lens _appStreamImageBuilderName (\s a -> s { _appStreamImageBuilderName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags
+asibTags :: Lens' AppStreamImageBuilder (Maybe [Tag])
+asibTags = lens _appStreamImageBuilderTags (\s a -> s { _appStreamImageBuilderTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig
 asibVpcConfig :: Lens' AppStreamImageBuilder (Maybe AppStreamImageBuilderVpcConfig)
diff --git a/library-gen/Stratosphere/Resources/AppStreamStack.hs b/library-gen/Stratosphere/Resources/AppStreamStack.hs
--- a/library-gen/Stratosphere/Resources/AppStreamStack.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamStack.hs
@@ -10,6 +10,7 @@
 import Stratosphere.ResourceImports
 import Stratosphere.ResourceProperties.AppStreamStackApplicationSettings
 import Stratosphere.ResourceProperties.AppStreamStackStorageConnector
+import Stratosphere.ResourceProperties.Tag
 import Stratosphere.ResourceProperties.AppStreamStackUserSetting
 
 -- | Full data type definition for AppStreamStack. See 'appStreamStack' for a
@@ -25,6 +26,7 @@
   , _appStreamStackName :: Maybe (Val Text)
   , _appStreamStackRedirectURL :: Maybe (Val Text)
   , _appStreamStackStorageConnectors :: Maybe [AppStreamStackStorageConnector]
+  , _appStreamStackTags :: Maybe [Tag]
   , _appStreamStackUserSettings :: Maybe [AppStreamStackUserSetting]
   } deriving (Show, Eq)
 
@@ -36,13 +38,14 @@
         hashMapFromList $ catMaybes
         [ fmap (("ApplicationSettings",) . toJSON) _appStreamStackApplicationSettings
         , fmap (("AttributesToDelete",) . toJSON) _appStreamStackAttributesToDelete
-        , fmap (("DeleteStorageConnectors",) . toJSON . fmap Bool') _appStreamStackDeleteStorageConnectors
+        , fmap (("DeleteStorageConnectors",) . toJSON) _appStreamStackDeleteStorageConnectors
         , fmap (("Description",) . toJSON) _appStreamStackDescription
         , fmap (("DisplayName",) . toJSON) _appStreamStackDisplayName
         , fmap (("FeedbackURL",) . toJSON) _appStreamStackFeedbackURL
         , fmap (("Name",) . toJSON) _appStreamStackName
         , fmap (("RedirectURL",) . toJSON) _appStreamStackRedirectURL
         , fmap (("StorageConnectors",) . toJSON) _appStreamStackStorageConnectors
+        , fmap (("Tags",) . toJSON) _appStreamStackTags
         , fmap (("UserSettings",) . toJSON) _appStreamStackUserSettings
         ]
     }
@@ -61,6 +64,7 @@
   , _appStreamStackName = Nothing
   , _appStreamStackRedirectURL = Nothing
   , _appStreamStackStorageConnectors = Nothing
+  , _appStreamStackTags = Nothing
   , _appStreamStackUserSettings = Nothing
   }
 
@@ -99,6 +103,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-storageconnectors
 assStorageConnectors :: Lens' AppStreamStack (Maybe [AppStreamStackStorageConnector])
 assStorageConnectors = lens _appStreamStackStorageConnectors (\s a -> s { _appStreamStackStorageConnectors = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-tags
+assTags :: Lens' AppStreamStack (Maybe [Tag])
+assTags = lens _appStreamStackTags (\s a -> s { _appStreamStackTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-usersettings
 assUserSettings :: Lens' AppStreamStack (Maybe [AppStreamStackUserSetting])
diff --git a/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs b/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs
--- a/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs
@@ -27,7 +27,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("AuthenticationType",) . toJSON) _appStreamStackUserAssociationAuthenticationType
-        , fmap (("SendEmailNotification",) . toJSON . fmap Bool') _appStreamStackUserAssociationSendEmailNotification
+        , fmap (("SendEmailNotification",) . toJSON) _appStreamStackUserAssociationSendEmailNotification
         , (Just . ("StackName",) . toJSON) _appStreamStackUserAssociationStackName
         , (Just . ("UserName",) . toJSON) _appStreamStackUserAssociationUserName
         ]
diff --git a/library-gen/Stratosphere/Resources/AppSyncApiKey.hs b/library-gen/Stratosphere/Resources/AppSyncApiKey.hs
--- a/library-gen/Stratosphere/Resources/AppSyncApiKey.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncApiKey.hs
@@ -27,7 +27,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncApiKeyApiId
         , fmap (("Description",) . toJSON) _appSyncApiKeyDescription
-        , fmap (("Expires",) . toJSON . fmap Double') _appSyncApiKeyExpires
+        , fmap (("Expires",) . toJSON) _appSyncApiKeyExpires
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
--- a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
+++ b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
@@ -29,8 +29,8 @@
     { resourcePropertiesType = "AWS::ApplicationAutoScaling::ScalableTarget"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("MaxCapacity",) . toJSON . fmap Integer') _applicationAutoScalingScalableTargetMaxCapacity
-        , (Just . ("MinCapacity",) . toJSON . fmap Integer') _applicationAutoScalingScalableTargetMinCapacity
+        [ (Just . ("MaxCapacity",) . toJSON) _applicationAutoScalingScalableTargetMaxCapacity
+        , (Just . ("MinCapacity",) . toJSON) _applicationAutoScalingScalableTargetMinCapacity
         , (Just . ("ResourceId",) . toJSON) _applicationAutoScalingScalableTargetResourceId
         , (Just . ("RoleARN",) . toJSON) _applicationAutoScalingScalableTargetRoleARN
         , (Just . ("ScalableDimension",) . toJSON) _applicationAutoScalingScalableTargetScalableDimension
diff --git a/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs b/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
@@ -53,7 +53,7 @@
         , fmap (("AvailabilityZones",) . toJSON) _autoScalingAutoScalingGroupAvailabilityZones
         , fmap (("Cooldown",) . toJSON) _autoScalingAutoScalingGroupCooldown
         , fmap (("DesiredCapacity",) . toJSON) _autoScalingAutoScalingGroupDesiredCapacity
-        , fmap (("HealthCheckGracePeriod",) . toJSON . fmap Integer') _autoScalingAutoScalingGroupHealthCheckGracePeriod
+        , fmap (("HealthCheckGracePeriod",) . toJSON) _autoScalingAutoScalingGroupHealthCheckGracePeriod
         , fmap (("HealthCheckType",) . toJSON) _autoScalingAutoScalingGroupHealthCheckType
         , fmap (("InstanceId",) . toJSON) _autoScalingAutoScalingGroupInstanceId
         , fmap (("LaunchConfigurationName",) . toJSON) _autoScalingAutoScalingGroupLaunchConfigurationName
diff --git a/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs b/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs
@@ -40,15 +40,15 @@
     { resourcePropertiesType = "AWS::AutoScaling::LaunchConfiguration"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AssociatePublicIpAddress",) . toJSON . fmap Bool') _autoScalingLaunchConfigurationAssociatePublicIpAddress
+        [ fmap (("AssociatePublicIpAddress",) . toJSON) _autoScalingLaunchConfigurationAssociatePublicIpAddress
         , fmap (("BlockDeviceMappings",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceMappings
         , fmap (("ClassicLinkVPCId",) . toJSON) _autoScalingLaunchConfigurationClassicLinkVPCId
         , fmap (("ClassicLinkVPCSecurityGroups",) . toJSON) _autoScalingLaunchConfigurationClassicLinkVPCSecurityGroups
-        , fmap (("EbsOptimized",) . toJSON . fmap Bool') _autoScalingLaunchConfigurationEbsOptimized
+        , fmap (("EbsOptimized",) . toJSON) _autoScalingLaunchConfigurationEbsOptimized
         , fmap (("IamInstanceProfile",) . toJSON) _autoScalingLaunchConfigurationIamInstanceProfile
         , (Just . ("ImageId",) . toJSON) _autoScalingLaunchConfigurationImageId
         , fmap (("InstanceId",) . toJSON) _autoScalingLaunchConfigurationInstanceId
-        , fmap (("InstanceMonitoring",) . toJSON . fmap Bool') _autoScalingLaunchConfigurationInstanceMonitoring
+        , fmap (("InstanceMonitoring",) . toJSON) _autoScalingLaunchConfigurationInstanceMonitoring
         , (Just . ("InstanceType",) . toJSON) _autoScalingLaunchConfigurationInstanceType
         , fmap (("KernelId",) . toJSON) _autoScalingLaunchConfigurationKernelId
         , fmap (("KeyName",) . toJSON) _autoScalingLaunchConfigurationKeyName
diff --git a/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs b/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs
@@ -32,7 +32,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("AutoScalingGroupName",) . toJSON) _autoScalingLifecycleHookAutoScalingGroupName
         , fmap (("DefaultResult",) . toJSON) _autoScalingLifecycleHookDefaultResult
-        , fmap (("HeartbeatTimeout",) . toJSON . fmap Integer') _autoScalingLifecycleHookHeartbeatTimeout
+        , fmap (("HeartbeatTimeout",) . toJSON) _autoScalingLifecycleHookHeartbeatTimeout
         , fmap (("LifecycleHookName",) . toJSON) _autoScalingLifecycleHookLifecycleHookName
         , (Just . ("LifecycleTransition",) . toJSON) _autoScalingLifecycleHookLifecycleTransition
         , fmap (("NotificationMetadata",) . toJSON) _autoScalingLifecycleHookNotificationMetadata
diff --git a/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs b/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs
@@ -36,11 +36,11 @@
         [ fmap (("AdjustmentType",) . toJSON) _autoScalingScalingPolicyAdjustmentType
         , (Just . ("AutoScalingGroupName",) . toJSON) _autoScalingScalingPolicyAutoScalingGroupName
         , fmap (("Cooldown",) . toJSON) _autoScalingScalingPolicyCooldown
-        , fmap (("EstimatedInstanceWarmup",) . toJSON . fmap Integer') _autoScalingScalingPolicyEstimatedInstanceWarmup
+        , fmap (("EstimatedInstanceWarmup",) . toJSON) _autoScalingScalingPolicyEstimatedInstanceWarmup
         , fmap (("MetricAggregationType",) . toJSON) _autoScalingScalingPolicyMetricAggregationType
-        , fmap (("MinAdjustmentMagnitude",) . toJSON . fmap Integer') _autoScalingScalingPolicyMinAdjustmentMagnitude
+        , fmap (("MinAdjustmentMagnitude",) . toJSON) _autoScalingScalingPolicyMinAdjustmentMagnitude
         , fmap (("PolicyType",) . toJSON) _autoScalingScalingPolicyPolicyType
-        , fmap (("ScalingAdjustment",) . toJSON . fmap Integer') _autoScalingScalingPolicyScalingAdjustment
+        , fmap (("ScalingAdjustment",) . toJSON) _autoScalingScalingPolicyScalingAdjustment
         , fmap (("StepAdjustments",) . toJSON) _autoScalingScalingPolicyStepAdjustments
         , fmap (("TargetTrackingConfiguration",) . toJSON) _autoScalingScalingPolicyTargetTrackingConfiguration
         ]
diff --git a/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs b/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs
@@ -30,10 +30,10 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("AutoScalingGroupName",) . toJSON) _autoScalingScheduledActionAutoScalingGroupName
-        , fmap (("DesiredCapacity",) . toJSON . fmap Integer') _autoScalingScheduledActionDesiredCapacity
+        , fmap (("DesiredCapacity",) . toJSON) _autoScalingScheduledActionDesiredCapacity
         , fmap (("EndTime",) . toJSON) _autoScalingScheduledActionEndTime
-        , fmap (("MaxSize",) . toJSON . fmap Integer') _autoScalingScheduledActionMaxSize
-        , fmap (("MinSize",) . toJSON . fmap Integer') _autoScalingScheduledActionMinSize
+        , fmap (("MaxSize",) . toJSON) _autoScalingScheduledActionMaxSize
+        , fmap (("MinSize",) . toJSON) _autoScalingScheduledActionMinSize
         , fmap (("Recurrence",) . toJSON) _autoScalingScheduledActionRecurrence
         , fmap (("StartTime",) . toJSON) _autoScalingScheduledActionStartTime
         ]
diff --git a/library-gen/Stratosphere/Resources/BatchJobQueue.hs b/library-gen/Stratosphere/Resources/BatchJobQueue.hs
--- a/library-gen/Stratosphere/Resources/BatchJobQueue.hs
+++ b/library-gen/Stratosphere/Resources/BatchJobQueue.hs
@@ -28,7 +28,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("ComputeEnvironmentOrder",) . toJSON) _batchJobQueueComputeEnvironmentOrder
         , fmap (("JobQueueName",) . toJSON) _batchJobQueueJobQueueName
-        , (Just . ("Priority",) . toJSON . fmap Integer') _batchJobQueuePriority
+        , (Just . ("Priority",) . toJSON) _batchJobQueuePriority
         , fmap (("State",) . toJSON) _batchJobQueueState
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
--- a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
+++ b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
@@ -29,7 +29,7 @@
     { resourcePropertiesType = "AWS::Cloud9::EnvironmentEC2"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AutomaticStopTimeMinutes",) . toJSON . fmap Integer') _cloud9EnvironmentEC2AutomaticStopTimeMinutes
+        [ fmap (("AutomaticStopTimeMinutes",) . toJSON) _cloud9EnvironmentEC2AutomaticStopTimeMinutes
         , fmap (("Description",) . toJSON) _cloud9EnvironmentEC2Description
         , (Just . ("InstanceType",) . toJSON) _cloud9EnvironmentEC2InstanceType
         , fmap (("Name",) . toJSON) _cloud9EnvironmentEC2Name
diff --git a/library-gen/Stratosphere/Resources/CloudFormationStack.hs b/library-gen/Stratosphere/Resources/CloudFormationStack.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationStack.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationStack.hs
@@ -31,7 +31,7 @@
         , fmap (("Parameters",) . toJSON) _cloudFormationStackParameters
         , fmap (("Tags",) . toJSON) _cloudFormationStackTags
         , (Just . ("TemplateURL",) . toJSON) _cloudFormationStackTemplateURL
-        , fmap (("TimeoutInMinutes",) . toJSON . fmap Integer') _cloudFormationStackTimeoutInMinutes
+        , fmap (("TimeoutInMinutes",) . toJSON) _cloudFormationStackTimeoutInMinutes
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs b/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs
@@ -25,7 +25,7 @@
     { resourcePropertiesType = "AWS::CloudFormation::WaitCondition"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Count",) . toJSON . fmap Integer') _cloudFormationWaitConditionCount
+        [ fmap (("Count",) . toJSON) _cloudFormationWaitConditionCount
         , fmap (("Handle",) . toJSON) _cloudFormationWaitConditionHandle
         , fmap (("Timeout",) . toJSON) _cloudFormationWaitConditionTimeout
         ]
diff --git a/library-gen/Stratosphere/Resources/CloudTrailTrail.hs b/library-gen/Stratosphere/Resources/CloudTrailTrail.hs
--- a/library-gen/Stratosphere/Resources/CloudTrailTrail.hs
+++ b/library-gen/Stratosphere/Resources/CloudTrailTrail.hs
@@ -38,11 +38,11 @@
         hashMapFromList $ catMaybes
         [ fmap (("CloudWatchLogsLogGroupArn",) . toJSON) _cloudTrailTrailCloudWatchLogsLogGroupArn
         , fmap (("CloudWatchLogsRoleArn",) . toJSON) _cloudTrailTrailCloudWatchLogsRoleArn
-        , fmap (("EnableLogFileValidation",) . toJSON . fmap Bool') _cloudTrailTrailEnableLogFileValidation
+        , fmap (("EnableLogFileValidation",) . toJSON) _cloudTrailTrailEnableLogFileValidation
         , fmap (("EventSelectors",) . toJSON) _cloudTrailTrailEventSelectors
-        , fmap (("IncludeGlobalServiceEvents",) . toJSON . fmap Bool') _cloudTrailTrailIncludeGlobalServiceEvents
-        , (Just . ("IsLogging",) . toJSON . fmap Bool') _cloudTrailTrailIsLogging
-        , fmap (("IsMultiRegionTrail",) . toJSON . fmap Bool') _cloudTrailTrailIsMultiRegionTrail
+        , fmap (("IncludeGlobalServiceEvents",) . toJSON) _cloudTrailTrailIncludeGlobalServiceEvents
+        , (Just . ("IsLogging",) . toJSON) _cloudTrailTrailIsLogging
+        , fmap (("IsMultiRegionTrail",) . toJSON) _cloudTrailTrailIsMultiRegionTrail
         , fmap (("KMSKeyId",) . toJSON) _cloudTrailTrailKMSKeyId
         , (Just . ("S3BucketName",) . toJSON) _cloudTrailTrailS3BucketName
         , fmap (("S3KeyPrefix",) . toJSON) _cloudTrailTrailS3KeyPrefix
diff --git a/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs b/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
@@ -43,24 +43,24 @@
     { resourcePropertiesType = "AWS::CloudWatch::Alarm"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("ActionsEnabled",) . toJSON . fmap Bool') _cloudWatchAlarmActionsEnabled
+        [ fmap (("ActionsEnabled",) . toJSON) _cloudWatchAlarmActionsEnabled
         , fmap (("AlarmActions",) . toJSON) _cloudWatchAlarmAlarmActions
         , fmap (("AlarmDescription",) . toJSON) _cloudWatchAlarmAlarmDescription
         , fmap (("AlarmName",) . toJSON) _cloudWatchAlarmAlarmName
         , (Just . ("ComparisonOperator",) . toJSON) _cloudWatchAlarmComparisonOperator
-        , fmap (("DatapointsToAlarm",) . toJSON . fmap Integer') _cloudWatchAlarmDatapointsToAlarm
+        , fmap (("DatapointsToAlarm",) . toJSON) _cloudWatchAlarmDatapointsToAlarm
         , fmap (("Dimensions",) . toJSON) _cloudWatchAlarmDimensions
         , fmap (("EvaluateLowSampleCountPercentile",) . toJSON) _cloudWatchAlarmEvaluateLowSampleCountPercentile
-        , (Just . ("EvaluationPeriods",) . toJSON . fmap Integer') _cloudWatchAlarmEvaluationPeriods
+        , (Just . ("EvaluationPeriods",) . toJSON) _cloudWatchAlarmEvaluationPeriods
         , fmap (("ExtendedStatistic",) . toJSON) _cloudWatchAlarmExtendedStatistic
         , fmap (("InsufficientDataActions",) . toJSON) _cloudWatchAlarmInsufficientDataActions
         , fmap (("MetricName",) . toJSON) _cloudWatchAlarmMetricName
         , fmap (("Metrics",) . toJSON) _cloudWatchAlarmMetrics
         , fmap (("Namespace",) . toJSON) _cloudWatchAlarmNamespace
         , fmap (("OKActions",) . toJSON) _cloudWatchAlarmOKActions
-        , fmap (("Period",) . toJSON . fmap Integer') _cloudWatchAlarmPeriod
+        , fmap (("Period",) . toJSON) _cloudWatchAlarmPeriod
         , fmap (("Statistic",) . toJSON) _cloudWatchAlarmStatistic
-        , (Just . ("Threshold",) . toJSON . fmap Double') _cloudWatchAlarmThreshold
+        , (Just . ("Threshold",) . toJSON) _cloudWatchAlarmThreshold
         , fmap (("TreatMissingData",) . toJSON) _cloudWatchAlarmTreatMissingData
         , fmap (("Unit",) . toJSON) _cloudWatchAlarmUnit
         ]
diff --git a/library-gen/Stratosphere/Resources/CodeBuildProject.hs b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
--- a/library-gen/Stratosphere/Resources/CodeBuildProject.hs
+++ b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
@@ -47,20 +47,20 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("Artifacts",) . toJSON) _codeBuildProjectArtifacts
-        , fmap (("BadgeEnabled",) . toJSON . fmap Bool') _codeBuildProjectBadgeEnabled
+        , fmap (("BadgeEnabled",) . toJSON) _codeBuildProjectBadgeEnabled
         , fmap (("Cache",) . toJSON) _codeBuildProjectCache
         , fmap (("Description",) . toJSON) _codeBuildProjectDescription
         , fmap (("EncryptionKey",) . toJSON) _codeBuildProjectEncryptionKey
         , (Just . ("Environment",) . toJSON) _codeBuildProjectEnvironment
         , fmap (("LogsConfig",) . toJSON) _codeBuildProjectLogsConfig
         , fmap (("Name",) . toJSON) _codeBuildProjectName
-        , fmap (("QueuedTimeoutInMinutes",) . toJSON . fmap Integer') _codeBuildProjectQueuedTimeoutInMinutes
+        , fmap (("QueuedTimeoutInMinutes",) . toJSON) _codeBuildProjectQueuedTimeoutInMinutes
         , fmap (("SecondaryArtifacts",) . toJSON) _codeBuildProjectSecondaryArtifacts
         , fmap (("SecondarySources",) . toJSON) _codeBuildProjectSecondarySources
         , (Just . ("ServiceRole",) . toJSON) _codeBuildProjectServiceRole
         , (Just . ("Source",) . toJSON) _codeBuildProjectSource
         , fmap (("Tags",) . toJSON) _codeBuildProjectTags
-        , fmap (("TimeoutInMinutes",) . toJSON . fmap Integer') _codeBuildProjectTimeoutInMinutes
+        , fmap (("TimeoutInMinutes",) . toJSON) _codeBuildProjectTimeoutInMinutes
         , fmap (("Triggers",) . toJSON) _codeBuildProjectTriggers
         , fmap (("VpcConfig",) . toJSON) _codeBuildProjectVpcConfig
         ]
diff --git a/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs b/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
--- a/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
@@ -36,7 +36,7 @@
         , fmap (("ArtifactStores",) . toJSON) _codePipelinePipelineArtifactStores
         , fmap (("DisableInboundStageTransitions",) . toJSON) _codePipelinePipelineDisableInboundStageTransitions
         , fmap (("Name",) . toJSON) _codePipelinePipelineName
-        , fmap (("RestartExecutionOnUpdate",) . toJSON . fmap Bool') _codePipelinePipelineRestartExecutionOnUpdate
+        , fmap (("RestartExecutionOnUpdate",) . toJSON) _codePipelinePipelineRestartExecutionOnUpdate
         , (Just . ("RoleArn",) . toJSON) _codePipelinePipelineRoleArn
         , (Just . ("Stages",) . toJSON) _codePipelinePipelineStages
         ]
diff --git a/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs b/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs
--- a/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs
@@ -35,10 +35,10 @@
         , (Just . ("AuthenticationConfiguration",) . toJSON) _codePipelineWebhookAuthenticationConfiguration
         , (Just . ("Filters",) . toJSON) _codePipelineWebhookFilters
         , fmap (("Name",) . toJSON) _codePipelineWebhookName
-        , fmap (("RegisterWithThirdParty",) . toJSON . fmap Bool') _codePipelineWebhookRegisterWithThirdParty
+        , fmap (("RegisterWithThirdParty",) . toJSON) _codePipelineWebhookRegisterWithThirdParty
         , (Just . ("TargetAction",) . toJSON) _codePipelineWebhookTargetAction
         , (Just . ("TargetPipeline",) . toJSON) _codePipelineWebhookTargetPipeline
-        , (Just . ("TargetPipelineVersion",) . toJSON . fmap Integer') _codePipelineWebhookTargetPipelineVersion
+        , (Just . ("TargetPipelineVersion",) . toJSON) _codePipelineWebhookTargetPipelineVersion
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs b/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
--- a/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
+++ b/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
@@ -34,7 +34,7 @@
     { resourcePropertiesType = "AWS::Cognito::IdentityPool"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("AllowUnauthenticatedIdentities",) . toJSON . fmap Bool') _cognitoIdentityPoolAllowUnauthenticatedIdentities
+        [ (Just . ("AllowUnauthenticatedIdentities",) . toJSON) _cognitoIdentityPoolAllowUnauthenticatedIdentities
         , fmap (("CognitoEvents",) . toJSON) _cognitoIdentityPoolCognitoEvents
         , fmap (("CognitoIdentityProviders",) . toJSON) _cognitoIdentityPoolCognitoIdentityProviders
         , fmap (("CognitoStreams",) . toJSON) _cognitoIdentityPoolCognitoStreams
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
@@ -31,9 +31,9 @@
         hashMapFromList $ catMaybes
         [ fmap (("ClientName",) . toJSON) _cognitoUserPoolClientClientName
         , fmap (("ExplicitAuthFlows",) . toJSON) _cognitoUserPoolClientExplicitAuthFlows
-        , fmap (("GenerateSecret",) . toJSON . fmap Bool') _cognitoUserPoolClientGenerateSecret
+        , fmap (("GenerateSecret",) . toJSON) _cognitoUserPoolClientGenerateSecret
         , fmap (("ReadAttributes",) . toJSON) _cognitoUserPoolClientReadAttributes
-        , fmap (("RefreshTokenValidity",) . toJSON . fmap Double') _cognitoUserPoolClientRefreshTokenValidity
+        , fmap (("RefreshTokenValidity",) . toJSON) _cognitoUserPoolClientRefreshTokenValidity
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolClientUserPoolId
         , fmap (("WriteAttributes",) . toJSON) _cognitoUserPoolClientWriteAttributes
         ]
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs
@@ -29,7 +29,7 @@
         hashMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _cognitoUserPoolGroupDescription
         , fmap (("GroupName",) . toJSON) _cognitoUserPoolGroupGroupName
-        , fmap (("Precedence",) . toJSON . fmap Double') _cognitoUserPoolGroupPrecedence
+        , fmap (("Precedence",) . toJSON) _cognitoUserPoolGroupPrecedence
         , fmap (("RoleArn",) . toJSON) _cognitoUserPoolGroupRoleArn
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolGroupUserPoolId
         ]
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
@@ -30,7 +30,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("DesiredDeliveryMediums",) . toJSON) _cognitoUserPoolUserDesiredDeliveryMediums
-        , fmap (("ForceAliasCreation",) . toJSON . fmap Bool') _cognitoUserPoolUserForceAliasCreation
+        , fmap (("ForceAliasCreation",) . toJSON) _cognitoUserPoolUserForceAliasCreation
         , fmap (("MessageAction",) . toJSON) _cognitoUserPoolUserMessageAction
         , fmap (("UserAttributes",) . toJSON) _cognitoUserPoolUserUserAttributes
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolUserUserPoolId
diff --git a/library-gen/Stratosphere/Resources/DAXCluster.hs b/library-gen/Stratosphere/Resources/DAXCluster.hs
--- a/library-gen/Stratosphere/Resources/DAXCluster.hs
+++ b/library-gen/Stratosphere/Resources/DAXCluster.hs
@@ -43,7 +43,7 @@
         , fmap (("NotificationTopicARN",) . toJSON) _dAXClusterNotificationTopicARN
         , fmap (("ParameterGroupName",) . toJSON) _dAXClusterParameterGroupName
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _dAXClusterPreferredMaintenanceWindow
-        , (Just . ("ReplicationFactor",) . toJSON . fmap Integer') _dAXClusterReplicationFactor
+        , (Just . ("ReplicationFactor",) . toJSON) _dAXClusterReplicationFactor
         , fmap (("SSESpecification",) . toJSON) _dAXClusterSSESpecification
         , fmap (("SecurityGroupIds",) . toJSON) _dAXClusterSecurityGroupIds
         , fmap (("SubnetGroupName",) . toJSON) _dAXClusterSubnetGroupName
diff --git a/library-gen/Stratosphere/Resources/DMSEndpoint.hs b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
--- a/library-gen/Stratosphere/Resources/DMSEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
@@ -57,7 +57,7 @@
         , fmap (("KmsKeyId",) . toJSON) _dMSEndpointKmsKeyId
         , fmap (("MongoDbSettings",) . toJSON) _dMSEndpointMongoDbSettings
         , fmap (("Password",) . toJSON) _dMSEndpointPassword
-        , fmap (("Port",) . toJSON . fmap Integer') _dMSEndpointPort
+        , fmap (("Port",) . toJSON) _dMSEndpointPort
         , fmap (("S3Settings",) . toJSON) _dMSEndpointS3Settings
         , fmap (("ServerName",) . toJSON) _dMSEndpointServerName
         , fmap (("SslMode",) . toJSON) _dMSEndpointSslMode
diff --git a/library-gen/Stratosphere/Resources/DMSEventSubscription.hs b/library-gen/Stratosphere/Resources/DMSEventSubscription.hs
--- a/library-gen/Stratosphere/Resources/DMSEventSubscription.hs
+++ b/library-gen/Stratosphere/Resources/DMSEventSubscription.hs
@@ -29,7 +29,7 @@
     { resourcePropertiesType = "AWS::DMS::EventSubscription"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Enabled",) . toJSON . fmap Bool') _dMSEventSubscriptionEnabled
+        [ fmap (("Enabled",) . toJSON) _dMSEventSubscriptionEnabled
         , fmap (("EventCategories",) . toJSON) _dMSEventSubscriptionEventCategories
         , (Just . ("SnsTopicArn",) . toJSON) _dMSEventSubscriptionSnsTopicArn
         , fmap (("SourceIds",) . toJSON) _dMSEventSubscriptionSourceIds
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs b/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs
@@ -36,15 +36,15 @@
     { resourcePropertiesType = "AWS::DMS::ReplicationInstance"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllocatedStorage",) . toJSON . fmap Integer') _dMSReplicationInstanceAllocatedStorage
-        , fmap (("AllowMajorVersionUpgrade",) . toJSON . fmap Bool') _dMSReplicationInstanceAllowMajorVersionUpgrade
-        , fmap (("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _dMSReplicationInstanceAutoMinorVersionUpgrade
+        [ fmap (("AllocatedStorage",) . toJSON) _dMSReplicationInstanceAllocatedStorage
+        , fmap (("AllowMajorVersionUpgrade",) . toJSON) _dMSReplicationInstanceAllowMajorVersionUpgrade
+        , fmap (("AutoMinorVersionUpgrade",) . toJSON) _dMSReplicationInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _dMSReplicationInstanceAvailabilityZone
         , fmap (("EngineVersion",) . toJSON) _dMSReplicationInstanceEngineVersion
         , fmap (("KmsKeyId",) . toJSON) _dMSReplicationInstanceKmsKeyId
-        , fmap (("MultiAZ",) . toJSON . fmap Bool') _dMSReplicationInstanceMultiAZ
+        , fmap (("MultiAZ",) . toJSON) _dMSReplicationInstanceMultiAZ
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _dMSReplicationInstancePreferredMaintenanceWindow
-        , fmap (("PubliclyAccessible",) . toJSON . fmap Bool') _dMSReplicationInstancePubliclyAccessible
+        , fmap (("PubliclyAccessible",) . toJSON) _dMSReplicationInstancePubliclyAccessible
         , (Just . ("ReplicationInstanceClass",) . toJSON) _dMSReplicationInstanceReplicationInstanceClass
         , fmap (("ReplicationInstanceIdentifier",) . toJSON) _dMSReplicationInstanceReplicationInstanceIdentifier
         , fmap (("ReplicationSubnetGroupIdentifier",) . toJSON) _dMSReplicationInstanceReplicationSubnetGroupIdentifier
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
@@ -31,7 +31,7 @@
     { resourcePropertiesType = "AWS::DMS::ReplicationTask"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("CdcStartTime",) . toJSON . fmap Double') _dMSReplicationTaskCdcStartTime
+        [ fmap (("CdcStartTime",) . toJSON) _dMSReplicationTaskCdcStartTime
         , (Just . ("MigrationType",) . toJSON) _dMSReplicationTaskMigrationType
         , (Just . ("ReplicationInstanceArn",) . toJSON) _dMSReplicationTaskReplicationInstanceArn
         , fmap (("ReplicationTaskIdentifier",) . toJSON) _dMSReplicationTaskReplicationTaskIdentifier
diff --git a/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs b/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs
--- a/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs
+++ b/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs
@@ -32,7 +32,7 @@
     { resourcePropertiesType = "AWS::DataPipeline::Pipeline"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Activate",) . toJSON . fmap Bool') _dataPipelinePipelineActivate
+        [ fmap (("Activate",) . toJSON) _dataPipelinePipelineActivate
         , fmap (("Description",) . toJSON) _dataPipelinePipelineDescription
         , (Just . ("Name",) . toJSON) _dataPipelinePipelineName
         , (Just . ("ParameterObjects",) . toJSON) _dataPipelinePipelineParameterObjects
diff --git a/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs b/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs
--- a/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs
+++ b/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs
@@ -29,9 +29,9 @@
     { resourcePropertiesType = "AWS::DirectoryService::MicrosoftAD"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("CreateAlias",) . toJSON . fmap Bool') _directoryServiceMicrosoftADCreateAlias
+        [ fmap (("CreateAlias",) . toJSON) _directoryServiceMicrosoftADCreateAlias
         , fmap (("Edition",) . toJSON) _directoryServiceMicrosoftADEdition
-        , fmap (("EnableSso",) . toJSON . fmap Bool') _directoryServiceMicrosoftADEnableSso
+        , fmap (("EnableSso",) . toJSON) _directoryServiceMicrosoftADEnableSso
         , (Just . ("Name",) . toJSON) _directoryServiceMicrosoftADName
         , (Just . ("Password",) . toJSON) _directoryServiceMicrosoftADPassword
         , fmap (("ShortName",) . toJSON) _directoryServiceMicrosoftADShortName
diff --git a/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs b/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs
--- a/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs
+++ b/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs
@@ -30,9 +30,9 @@
     { resourcePropertiesType = "AWS::DirectoryService::SimpleAD"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("CreateAlias",) . toJSON . fmap Bool') _directoryServiceSimpleADCreateAlias
+        [ fmap (("CreateAlias",) . toJSON) _directoryServiceSimpleADCreateAlias
         , fmap (("Description",) . toJSON) _directoryServiceSimpleADDescription
-        , fmap (("EnableSso",) . toJSON . fmap Bool') _directoryServiceSimpleADEnableSso
+        , fmap (("EnableSso",) . toJSON) _directoryServiceSimpleADEnableSso
         , (Just . ("Name",) . toJSON) _directoryServiceSimpleADName
         , (Just . ("Password",) . toJSON) _directoryServiceSimpleADPassword
         , fmap (("ShortName",) . toJSON) _directoryServiceSimpleADShortName
diff --git a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
@@ -39,7 +39,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AvailabilityZones",) . toJSON) _docDBDBClusterAvailabilityZones
-        , fmap (("BackupRetentionPeriod",) . toJSON . fmap Integer') _docDBDBClusterBackupRetentionPeriod
+        , fmap (("BackupRetentionPeriod",) . toJSON) _docDBDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _docDBDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _docDBDBClusterDBClusterParameterGroupName
         , fmap (("DBSubnetGroupName",) . toJSON) _docDBDBClusterDBSubnetGroupName
@@ -47,11 +47,11 @@
         , fmap (("KmsKeyId",) . toJSON) _docDBDBClusterKmsKeyId
         , fmap (("MasterUserPassword",) . toJSON) _docDBDBClusterMasterUserPassword
         , fmap (("MasterUsername",) . toJSON) _docDBDBClusterMasterUsername
-        , fmap (("Port",) . toJSON . fmap Integer') _docDBDBClusterPort
+        , fmap (("Port",) . toJSON) _docDBDBClusterPort
         , fmap (("PreferredBackupWindow",) . toJSON) _docDBDBClusterPreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _docDBDBClusterPreferredMaintenanceWindow
         , fmap (("SnapshotIdentifier",) . toJSON) _docDBDBClusterSnapshotIdentifier
-        , fmap (("StorageEncrypted",) . toJSON . fmap Bool') _docDBDBClusterStorageEncrypted
+        , fmap (("StorageEncrypted",) . toJSON) _docDBDBClusterStorageEncrypted
         , fmap (("Tags",) . toJSON) _docDBDBClusterTags
         , fmap (("VpcSecurityGroupIds",) . toJSON) _docDBDBClusterVpcSecurityGroupIds
         ]
diff --git a/library-gen/Stratosphere/Resources/DocDBDBInstance.hs b/library-gen/Stratosphere/Resources/DocDBDBInstance.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBInstance.hs
@@ -29,7 +29,7 @@
     { resourcePropertiesType = "AWS::DocDB::DBInstance"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _docDBDBInstanceAutoMinorVersionUpgrade
+        [ fmap (("AutoMinorVersionUpgrade",) . toJSON) _docDBDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _docDBDBInstanceAvailabilityZone
         , (Just . ("DBClusterIdentifier",) . toJSON) _docDBDBInstanceDBClusterIdentifier
         , (Just . ("DBInstanceClass",) . toJSON) _docDBDBInstanceDBInstanceClass
diff --git a/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs b/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs
@@ -26,7 +26,7 @@
     { resourcePropertiesType = "AWS::EC2::CustomerGateway"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("BgpAsn",) . toJSON . fmap Integer') _eC2CustomerGatewayBgpAsn
+        [ (Just . ("BgpAsn",) . toJSON) _eC2CustomerGatewayBgpAsn
         , (Just . ("IpAddress",) . toJSON) _eC2CustomerGatewayIpAddress
         , fmap (("Tags",) . toJSON) _eC2CustomerGatewayTags
         , (Just . ("Type",) . toJSON) _eC2CustomerGatewayType
diff --git a/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs b/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs
--- a/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs
+++ b/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs
@@ -31,7 +31,7 @@
         [ fmap (("DomainName",) . toJSON) _eC2DHCPOptionsDomainName
         , fmap (("DomainNameServers",) . toJSON) _eC2DHCPOptionsDomainNameServers
         , fmap (("NetbiosNameServers",) . toJSON) _eC2DHCPOptionsNetbiosNameServers
-        , fmap (("NetbiosNodeType",) . toJSON . fmap Integer') _eC2DHCPOptionsNetbiosNodeType
+        , fmap (("NetbiosNodeType",) . toJSON) _eC2DHCPOptionsNetbiosNodeType
         , fmap (("NtpServers",) . toJSON) _eC2DHCPOptionsNtpServers
         , fmap (("Tags",) . toJSON) _eC2DHCPOptionsTags
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs b/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs
--- a/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs
+++ b/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs
@@ -40,11 +40,11 @@
         [ fmap (("ExcessCapacityTerminationPolicy",) . toJSON) _eC2EC2FleetExcessCapacityTerminationPolicy
         , (Just . ("LaunchTemplateConfigs",) . toJSON) _eC2EC2FleetLaunchTemplateConfigs
         , fmap (("OnDemandOptions",) . toJSON) _eC2EC2FleetOnDemandOptions
-        , fmap (("ReplaceUnhealthyInstances",) . toJSON . fmap Bool') _eC2EC2FleetReplaceUnhealthyInstances
+        , fmap (("ReplaceUnhealthyInstances",) . toJSON) _eC2EC2FleetReplaceUnhealthyInstances
         , fmap (("SpotOptions",) . toJSON) _eC2EC2FleetSpotOptions
         , fmap (("TagSpecifications",) . toJSON) _eC2EC2FleetTagSpecifications
         , (Just . ("TargetCapacitySpecification",) . toJSON) _eC2EC2FleetTargetCapacitySpecification
-        , fmap (("TerminateInstancesWithExpiration",) . toJSON . fmap Bool') _eC2EC2FleetTerminateInstancesWithExpiration
+        , fmap (("TerminateInstancesWithExpiration",) . toJSON) _eC2EC2FleetTerminateInstancesWithExpiration
         , fmap (("Type",) . toJSON) _eC2EC2FleetType
         , fmap (("ValidFrom",) . toJSON) _eC2EC2FleetValidFrom
         , fmap (("ValidUntil",) . toJSON) _eC2EC2FleetValidUntil
diff --git a/library-gen/Stratosphere/Resources/EC2Instance.hs b/library-gen/Stratosphere/Resources/EC2Instance.hs
--- a/library-gen/Stratosphere/Resources/EC2Instance.hs
+++ b/library-gen/Stratosphere/Resources/EC2Instance.hs
@@ -71,8 +71,8 @@
         , fmap (("AvailabilityZone",) . toJSON) _eC2InstanceAvailabilityZone
         , fmap (("BlockDeviceMappings",) . toJSON) _eC2InstanceBlockDeviceMappings
         , fmap (("CreditSpecification",) . toJSON) _eC2InstanceCreditSpecification
-        , fmap (("DisableApiTermination",) . toJSON . fmap Bool') _eC2InstanceDisableApiTermination
-        , fmap (("EbsOptimized",) . toJSON . fmap Bool') _eC2InstanceEbsOptimized
+        , fmap (("DisableApiTermination",) . toJSON) _eC2InstanceDisableApiTermination
+        , fmap (("EbsOptimized",) . toJSON) _eC2InstanceEbsOptimized
         , fmap (("ElasticGpuSpecifications",) . toJSON) _eC2InstanceElasticGpuSpecifications
         , fmap (("ElasticInferenceAccelerators",) . toJSON) _eC2InstanceElasticInferenceAccelerators
         , fmap (("HostId",) . toJSON) _eC2InstanceHostId
@@ -80,20 +80,20 @@
         , fmap (("ImageId",) . toJSON) _eC2InstanceImageId
         , fmap (("InstanceInitiatedShutdownBehavior",) . toJSON) _eC2InstanceInstanceInitiatedShutdownBehavior
         , fmap (("InstanceType",) . toJSON) _eC2InstanceInstanceType
-        , fmap (("Ipv6AddressCount",) . toJSON . fmap Integer') _eC2InstanceIpv6AddressCount
+        , fmap (("Ipv6AddressCount",) . toJSON) _eC2InstanceIpv6AddressCount
         , fmap (("Ipv6Addresses",) . toJSON) _eC2InstanceIpv6Addresses
         , fmap (("KernelId",) . toJSON) _eC2InstanceKernelId
         , fmap (("KeyName",) . toJSON) _eC2InstanceKeyName
         , fmap (("LaunchTemplate",) . toJSON) _eC2InstanceLaunchTemplate
         , fmap (("LicenseSpecifications",) . toJSON) _eC2InstanceLicenseSpecifications
-        , fmap (("Monitoring",) . toJSON . fmap Bool') _eC2InstanceMonitoring
+        , fmap (("Monitoring",) . toJSON) _eC2InstanceMonitoring
         , fmap (("NetworkInterfaces",) . toJSON) _eC2InstanceNetworkInterfaces
         , fmap (("PlacementGroupName",) . toJSON) _eC2InstancePlacementGroupName
         , fmap (("PrivateIpAddress",) . toJSON) _eC2InstancePrivateIpAddress
         , fmap (("RamdiskId",) . toJSON) _eC2InstanceRamdiskId
         , fmap (("SecurityGroupIds",) . toJSON) _eC2InstanceSecurityGroupIds
         , fmap (("SecurityGroups",) . toJSON) _eC2InstanceSecurityGroups
-        , fmap (("SourceDestCheck",) . toJSON . fmap Bool') _eC2InstanceSourceDestCheck
+        , fmap (("SourceDestCheck",) . toJSON) _eC2InstanceSourceDestCheck
         , fmap (("SsmAssociations",) . toJSON) _eC2InstanceSsmAssociations
         , fmap (("SubnetId",) . toJSON) _eC2InstanceSubnetId
         , fmap (("Tags",) . toJSON) _eC2InstanceTags
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs b/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
@@ -33,14 +33,14 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("CidrBlock",) . toJSON) _eC2NetworkAclEntryCidrBlock
-        , fmap (("Egress",) . toJSON . fmap Bool') _eC2NetworkAclEntryEgress
+        , fmap (("Egress",) . toJSON) _eC2NetworkAclEntryEgress
         , fmap (("Icmp",) . toJSON) _eC2NetworkAclEntryIcmp
         , fmap (("Ipv6CidrBlock",) . toJSON) _eC2NetworkAclEntryIpv6CidrBlock
         , (Just . ("NetworkAclId",) . toJSON) _eC2NetworkAclEntryNetworkAclId
         , fmap (("PortRange",) . toJSON) _eC2NetworkAclEntryPortRange
-        , (Just . ("Protocol",) . toJSON . fmap Integer') _eC2NetworkAclEntryProtocol
+        , (Just . ("Protocol",) . toJSON) _eC2NetworkAclEntryProtocol
         , (Just . ("RuleAction",) . toJSON) _eC2NetworkAclEntryRuleAction
-        , (Just . ("RuleNumber",) . toJSON . fmap Integer') _eC2NetworkAclEntryRuleNumber
+        , (Just . ("RuleNumber",) . toJSON) _eC2NetworkAclEntryRuleNumber
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs b/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs
@@ -38,12 +38,12 @@
         [ fmap (("Description",) . toJSON) _eC2NetworkInterfaceDescription
         , fmap (("GroupSet",) . toJSON) _eC2NetworkInterfaceGroupSet
         , fmap (("InterfaceType",) . toJSON) _eC2NetworkInterfaceInterfaceType
-        , fmap (("Ipv6AddressCount",) . toJSON . fmap Integer') _eC2NetworkInterfaceIpv6AddressCount
+        , fmap (("Ipv6AddressCount",) . toJSON) _eC2NetworkInterfaceIpv6AddressCount
         , fmap (("Ipv6Addresses",) . toJSON) _eC2NetworkInterfaceIpv6Addresses
         , fmap (("PrivateIpAddress",) . toJSON) _eC2NetworkInterfacePrivateIpAddress
         , fmap (("PrivateIpAddresses",) . toJSON) _eC2NetworkInterfacePrivateIpAddresses
-        , fmap (("SecondaryPrivateIpAddressCount",) . toJSON . fmap Integer') _eC2NetworkInterfaceSecondaryPrivateIpAddressCount
-        , fmap (("SourceDestCheck",) . toJSON . fmap Bool') _eC2NetworkInterfaceSourceDestCheck
+        , fmap (("SecondaryPrivateIpAddressCount",) . toJSON) _eC2NetworkInterfaceSecondaryPrivateIpAddressCount
+        , fmap (("SourceDestCheck",) . toJSON) _eC2NetworkInterfaceSourceDestCheck
         , (Just . ("SubnetId",) . toJSON) _eC2NetworkInterfaceSubnetId
         , fmap (("Tags",) . toJSON) _eC2NetworkInterfaceTags
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs b/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs
@@ -26,7 +26,7 @@
     { resourcePropertiesType = "AWS::EC2::NetworkInterfaceAttachment"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("DeleteOnTermination",) . toJSON . fmap Bool') _eC2NetworkInterfaceAttachmentDeleteOnTermination
+        [ fmap (("DeleteOnTermination",) . toJSON) _eC2NetworkInterfaceAttachmentDeleteOnTermination
         , (Just . ("DeviceIndex",) . toJSON) _eC2NetworkInterfaceAttachmentDeviceIndex
         , (Just . ("InstanceId",) . toJSON) _eC2NetworkInterfaceAttachmentInstanceId
         , (Just . ("NetworkInterfaceId",) . toJSON) _eC2NetworkInterfaceAttachmentNetworkInterfaceId
diff --git a/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs b/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs
--- a/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs
+++ b/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs
@@ -36,10 +36,10 @@
         , fmap (("Description",) . toJSON) _eC2SecurityGroupEgressDescription
         , fmap (("DestinationPrefixListId",) . toJSON) _eC2SecurityGroupEgressDestinationPrefixListId
         , fmap (("DestinationSecurityGroupId",) . toJSON) _eC2SecurityGroupEgressDestinationSecurityGroupId
-        , fmap (("FromPort",) . toJSON . fmap Integer') _eC2SecurityGroupEgressFromPort
+        , fmap (("FromPort",) . toJSON) _eC2SecurityGroupEgressFromPort
         , (Just . ("GroupId",) . toJSON) _eC2SecurityGroupEgressGroupId
         , (Just . ("IpProtocol",) . toJSON) _eC2SecurityGroupEgressIpProtocol
-        , fmap (("ToPort",) . toJSON . fmap Integer') _eC2SecurityGroupEgressToPort
+        , fmap (("ToPort",) . toJSON) _eC2SecurityGroupEgressToPort
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs
@@ -37,7 +37,7 @@
         [ fmap (("CidrIp",) . toJSON) _eC2SecurityGroupIngressCidrIp
         , fmap (("CidrIpv6",) . toJSON) _eC2SecurityGroupIngressCidrIpv6
         , fmap (("Description",) . toJSON) _eC2SecurityGroupIngressDescription
-        , fmap (("FromPort",) . toJSON . fmap Integer') _eC2SecurityGroupIngressFromPort
+        , fmap (("FromPort",) . toJSON) _eC2SecurityGroupIngressFromPort
         , fmap (("GroupId",) . toJSON) _eC2SecurityGroupIngressGroupId
         , fmap (("GroupName",) . toJSON) _eC2SecurityGroupIngressGroupName
         , (Just . ("IpProtocol",) . toJSON) _eC2SecurityGroupIngressIpProtocol
@@ -45,7 +45,7 @@
         , fmap (("SourceSecurityGroupId",) . toJSON) _eC2SecurityGroupIngressSourceSecurityGroupId
         , fmap (("SourceSecurityGroupName",) . toJSON) _eC2SecurityGroupIngressSourceSecurityGroupName
         , fmap (("SourceSecurityGroupOwnerId",) . toJSON) _eC2SecurityGroupIngressSourceSecurityGroupOwnerId
-        , fmap (("ToPort",) . toJSON . fmap Integer') _eC2SecurityGroupIngressToPort
+        , fmap (("ToPort",) . toJSON) _eC2SecurityGroupIngressToPort
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/EC2Subnet.hs b/library-gen/Stratosphere/Resources/EC2Subnet.hs
--- a/library-gen/Stratosphere/Resources/EC2Subnet.hs
+++ b/library-gen/Stratosphere/Resources/EC2Subnet.hs
@@ -29,11 +29,11 @@
     { resourcePropertiesType = "AWS::EC2::Subnet"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AssignIpv6AddressOnCreation",) . toJSON . fmap Bool') _eC2SubnetAssignIpv6AddressOnCreation
+        [ fmap (("AssignIpv6AddressOnCreation",) . toJSON) _eC2SubnetAssignIpv6AddressOnCreation
         , fmap (("AvailabilityZone",) . toJSON) _eC2SubnetAvailabilityZone
         , (Just . ("CidrBlock",) . toJSON) _eC2SubnetCidrBlock
         , fmap (("Ipv6CidrBlock",) . toJSON) _eC2SubnetIpv6CidrBlock
-        , fmap (("MapPublicIpOnLaunch",) . toJSON . fmap Bool') _eC2SubnetMapPublicIpOnLaunch
+        , fmap (("MapPublicIpOnLaunch",) . toJSON) _eC2SubnetMapPublicIpOnLaunch
         , fmap (("Tags",) . toJSON) _eC2SubnetTags
         , (Just . ("VpcId",) . toJSON) _eC2SubnetVpcId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGateway.hs b/library-gen/Stratosphere/Resources/EC2TransitGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGateway.hs
@@ -30,7 +30,7 @@
     { resourcePropertiesType = "AWS::EC2::TransitGateway"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AmazonSideAsn",) . toJSON . fmap Integer') _eC2TransitGatewayAmazonSideAsn
+        [ fmap (("AmazonSideAsn",) . toJSON) _eC2TransitGatewayAmazonSideAsn
         , fmap (("AutoAcceptSharedAttachments",) . toJSON) _eC2TransitGatewayAutoAcceptSharedAttachments
         , fmap (("DefaultRouteTableAssociation",) . toJSON) _eC2TransitGatewayDefaultRouteTableAssociation
         , fmap (("DefaultRouteTablePropagation",) . toJSON) _eC2TransitGatewayDefaultRouteTablePropagation
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs b/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs
@@ -26,7 +26,7 @@
     { resourcePropertiesType = "AWS::EC2::TransitGatewayRoute"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Blackhole",) . toJSON . fmap Bool') _eC2TransitGatewayRouteBlackhole
+        [ fmap (("Blackhole",) . toJSON) _eC2TransitGatewayRouteBlackhole
         , fmap (("DestinationCidrBlock",) . toJSON) _eC2TransitGatewayRouteDestinationCidrBlock
         , fmap (("TransitGatewayAttachmentId",) . toJSON) _eC2TransitGatewayRouteTransitGatewayAttachmentId
         , (Just . ("TransitGatewayRouteTableId",) . toJSON) _eC2TransitGatewayRouteTransitGatewayRouteTableId
diff --git a/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs b/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2TrunkInterfaceAssociation.hs
@@ -27,9 +27,9 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("BranchInterfaceId",) . toJSON) _eC2TrunkInterfaceAssociationBranchInterfaceId
-        , fmap (("GREKey",) . toJSON . fmap Integer') _eC2TrunkInterfaceAssociationGREKey
+        , fmap (("GREKey",) . toJSON) _eC2TrunkInterfaceAssociationGREKey
         , (Just . ("TrunkInterfaceId",) . toJSON) _eC2TrunkInterfaceAssociationTrunkInterfaceId
-        , fmap (("VLANId",) . toJSON . fmap Integer') _eC2TrunkInterfaceAssociationVLANId
+        , fmap (("VLANId",) . toJSON) _eC2TrunkInterfaceAssociationVLANId
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/EC2VPC.hs b/library-gen/Stratosphere/Resources/EC2VPC.hs
--- a/library-gen/Stratosphere/Resources/EC2VPC.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPC.hs
@@ -28,8 +28,8 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("CidrBlock",) . toJSON) _eC2VPCCidrBlock
-        , fmap (("EnableDnsHostnames",) . toJSON . fmap Bool') _eC2VPCEnableDnsHostnames
-        , fmap (("EnableDnsSupport",) . toJSON . fmap Bool') _eC2VPCEnableDnsSupport
+        , fmap (("EnableDnsHostnames",) . toJSON) _eC2VPCEnableDnsHostnames
+        , fmap (("EnableDnsSupport",) . toJSON) _eC2VPCEnableDnsSupport
         , fmap (("InstanceTenancy",) . toJSON) _eC2VPCInstanceTenancy
         , fmap (("Tags",) . toJSON) _eC2VPCTags
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs b/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs
@@ -25,7 +25,7 @@
     { resourcePropertiesType = "AWS::EC2::VPCCidrBlock"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AmazonProvidedIpv6CidrBlock",) . toJSON . fmap Bool') _eC2VPCCidrBlockAmazonProvidedIpv6CidrBlock
+        [ fmap (("AmazonProvidedIpv6CidrBlock",) . toJSON) _eC2VPCCidrBlockAmazonProvidedIpv6CidrBlock
         , fmap (("CidrBlock",) . toJSON) _eC2VPCCidrBlockCidrBlock
         , (Just . ("VpcId",) . toJSON) _eC2VPCCidrBlockVpcId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
@@ -31,7 +31,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("PolicyDocument",) . toJSON) _eC2VPCEndpointPolicyDocument
-        , fmap (("PrivateDnsEnabled",) . toJSON . fmap Bool') _eC2VPCEndpointPrivateDnsEnabled
+        , fmap (("PrivateDnsEnabled",) . toJSON) _eC2VPCEndpointPrivateDnsEnabled
         , fmap (("RouteTableIds",) . toJSON) _eC2VPCEndpointRouteTableIds
         , fmap (("SecurityGroupIds",) . toJSON) _eC2VPCEndpointSecurityGroupIds
         , (Just . ("ServiceName",) . toJSON) _eC2VPCEndpointServiceName
diff --git a/library-gen/Stratosphere/Resources/EC2VPNConnection.hs b/library-gen/Stratosphere/Resources/EC2VPNConnection.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNConnection.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNConnection.hs
@@ -30,7 +30,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("CustomerGatewayId",) . toJSON) _eC2VPNConnectionCustomerGatewayId
-        , fmap (("StaticRoutesOnly",) . toJSON . fmap Bool') _eC2VPNConnectionStaticRoutesOnly
+        , fmap (("StaticRoutesOnly",) . toJSON) _eC2VPNConnectionStaticRoutesOnly
         , fmap (("Tags",) . toJSON) _eC2VPNConnectionTags
         , (Just . ("Type",) . toJSON) _eC2VPNConnectionType
         , (Just . ("VpnGatewayId",) . toJSON) _eC2VPNConnectionVpnGatewayId
diff --git a/library-gen/Stratosphere/Resources/EC2VPNGateway.hs b/library-gen/Stratosphere/Resources/EC2VPNGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNGateway.hs
@@ -25,7 +25,7 @@
     { resourcePropertiesType = "AWS::EC2::VPNGateway"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AmazonSideAsn",) . toJSON . fmap Integer') _eC2VPNGatewayAmazonSideAsn
+        [ fmap (("AmazonSideAsn",) . toJSON) _eC2VPNGatewayAmazonSideAsn
         , fmap (("Tags",) . toJSON) _eC2VPNGatewayTags
         , (Just . ("Type",) . toJSON) _eC2VPNGatewayType
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2Volume.hs b/library-gen/Stratosphere/Resources/EC2Volume.hs
--- a/library-gen/Stratosphere/Resources/EC2Volume.hs
+++ b/library-gen/Stratosphere/Resources/EC2Volume.hs
@@ -31,12 +31,12 @@
     { resourcePropertiesType = "AWS::EC2::Volume"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AutoEnableIO",) . toJSON . fmap Bool') _eC2VolumeAutoEnableIO
+        [ fmap (("AutoEnableIO",) . toJSON) _eC2VolumeAutoEnableIO
         , (Just . ("AvailabilityZone",) . toJSON) _eC2VolumeAvailabilityZone
-        , fmap (("Encrypted",) . toJSON . fmap Bool') _eC2VolumeEncrypted
-        , fmap (("Iops",) . toJSON . fmap Integer') _eC2VolumeIops
+        , fmap (("Encrypted",) . toJSON) _eC2VolumeEncrypted
+        , fmap (("Iops",) . toJSON) _eC2VolumeIops
         , fmap (("KmsKeyId",) . toJSON) _eC2VolumeKmsKeyId
-        , fmap (("Size",) . toJSON . fmap Integer') _eC2VolumeSize
+        , fmap (("Size",) . toJSON) _eC2VolumeSize
         , fmap (("SnapshotId",) . toJSON) _eC2VolumeSnapshotId
         , fmap (("Tags",) . toJSON) _eC2VolumeTags
         , fmap (("VolumeType",) . toJSON) _eC2VolumeVolumeType
diff --git a/library-gen/Stratosphere/Resources/ECSService.hs b/library-gen/Stratosphere/Resources/ECSService.hs
--- a/library-gen/Stratosphere/Resources/ECSService.hs
+++ b/library-gen/Stratosphere/Resources/ECSService.hs
@@ -44,8 +44,8 @@
         hashMapFromList $ catMaybes
         [ fmap (("Cluster",) . toJSON) _eCSServiceCluster
         , fmap (("DeploymentConfiguration",) . toJSON) _eCSServiceDeploymentConfiguration
-        , fmap (("DesiredCount",) . toJSON . fmap Integer') _eCSServiceDesiredCount
-        , fmap (("HealthCheckGracePeriodSeconds",) . toJSON . fmap Integer') _eCSServiceHealthCheckGracePeriodSeconds
+        , fmap (("DesiredCount",) . toJSON) _eCSServiceDesiredCount
+        , fmap (("HealthCheckGracePeriodSeconds",) . toJSON) _eCSServiceHealthCheckGracePeriodSeconds
         , fmap (("LaunchType",) . toJSON) _eCSServiceLaunchType
         , fmap (("LoadBalancers",) . toJSON) _eCSServiceLoadBalancers
         , fmap (("NetworkConfiguration",) . toJSON) _eCSServiceNetworkConfiguration
diff --git a/library-gen/Stratosphere/Resources/EFSFileSystem.hs b/library-gen/Stratosphere/Resources/EFSFileSystem.hs
--- a/library-gen/Stratosphere/Resources/EFSFileSystem.hs
+++ b/library-gen/Stratosphere/Resources/EFSFileSystem.hs
@@ -28,11 +28,11 @@
     { resourcePropertiesType = "AWS::EFS::FileSystem"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Encrypted",) . toJSON . fmap Bool') _eFSFileSystemEncrypted
+        [ fmap (("Encrypted",) . toJSON) _eFSFileSystemEncrypted
         , fmap (("FileSystemTags",) . toJSON) _eFSFileSystemFileSystemTags
         , fmap (("KmsKeyId",) . toJSON) _eFSFileSystemKmsKeyId
         , fmap (("PerformanceMode",) . toJSON) _eFSFileSystemPerformanceMode
-        , fmap (("ProvisionedThroughputInMibps",) . toJSON . fmap Double') _eFSFileSystemProvisionedThroughputInMibps
+        , fmap (("ProvisionedThroughputInMibps",) . toJSON) _eFSFileSystemProvisionedThroughputInMibps
         , fmap (("ThroughputMode",) . toJSON) _eFSFileSystemThroughputMode
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/EMRCluster.hs b/library-gen/Stratosphere/Resources/EMRCluster.hs
--- a/library-gen/Stratosphere/Resources/EMRCluster.hs
+++ b/library-gen/Stratosphere/Resources/EMRCluster.hs
@@ -53,7 +53,7 @@
         , fmap (("BootstrapActions",) . toJSON) _eMRClusterBootstrapActions
         , fmap (("Configurations",) . toJSON) _eMRClusterConfigurations
         , fmap (("CustomAmiId",) . toJSON) _eMRClusterCustomAmiId
-        , fmap (("EbsRootVolumeSize",) . toJSON . fmap Integer') _eMRClusterEbsRootVolumeSize
+        , fmap (("EbsRootVolumeSize",) . toJSON) _eMRClusterEbsRootVolumeSize
         , (Just . ("Instances",) . toJSON) _eMRClusterInstances
         , (Just . ("JobFlowRole",) . toJSON) _eMRClusterJobFlowRole
         , fmap (("KerberosAttributes",) . toJSON) _eMRClusterKerberosAttributes
@@ -65,7 +65,7 @@
         , (Just . ("ServiceRole",) . toJSON) _eMRClusterServiceRole
         , fmap (("Steps",) . toJSON) _eMRClusterSteps
         , fmap (("Tags",) . toJSON) _eMRClusterTags
-        , fmap (("VisibleToAllUsers",) . toJSON . fmap Bool') _eMRClusterVisibleToAllUsers
+        , fmap (("VisibleToAllUsers",) . toJSON) _eMRClusterVisibleToAllUsers
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs b/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs
--- a/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs
+++ b/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs
@@ -35,8 +35,8 @@
         , fmap (("InstanceTypeConfigs",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigs
         , fmap (("LaunchSpecifications",) . toJSON) _eMRInstanceFleetConfigLaunchSpecifications
         , fmap (("Name",) . toJSON) _eMRInstanceFleetConfigName
-        , fmap (("TargetOnDemandCapacity",) . toJSON . fmap Integer') _eMRInstanceFleetConfigTargetOnDemandCapacity
-        , fmap (("TargetSpotCapacity",) . toJSON . fmap Integer') _eMRInstanceFleetConfigTargetSpotCapacity
+        , fmap (("TargetOnDemandCapacity",) . toJSON) _eMRInstanceFleetConfigTargetOnDemandCapacity
+        , fmap (("TargetSpotCapacity",) . toJSON) _eMRInstanceFleetConfigTargetSpotCapacity
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs b/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs
--- a/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs
+++ b/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs
@@ -38,7 +38,7 @@
         , fmap (("BidPrice",) . toJSON) _eMRInstanceGroupConfigBidPrice
         , fmap (("Configurations",) . toJSON) _eMRInstanceGroupConfigConfigurations
         , fmap (("EbsConfiguration",) . toJSON) _eMRInstanceGroupConfigEbsConfiguration
-        , (Just . ("InstanceCount",) . toJSON . fmap Integer') _eMRInstanceGroupConfigInstanceCount
+        , (Just . ("InstanceCount",) . toJSON) _eMRInstanceGroupConfigInstanceCount
         , (Just . ("InstanceRole",) . toJSON) _eMRInstanceGroupConfigInstanceRole
         , (Just . ("InstanceType",) . toJSON) _eMRInstanceGroupConfigInstanceType
         , (Just . ("JobFlowId",) . toJSON) _eMRInstanceGroupConfigJobFlowId
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs b/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs
@@ -44,7 +44,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AZMode",) . toJSON) _elastiCacheCacheClusterAZMode
-        , fmap (("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _elastiCacheCacheClusterAutoMinorVersionUpgrade
+        , fmap (("AutoMinorVersionUpgrade",) . toJSON) _elastiCacheCacheClusterAutoMinorVersionUpgrade
         , (Just . ("CacheNodeType",) . toJSON) _elastiCacheCacheClusterCacheNodeType
         , fmap (("CacheParameterGroupName",) . toJSON) _elastiCacheCacheClusterCacheParameterGroupName
         , fmap (("CacheSecurityGroupNames",) . toJSON) _elastiCacheCacheClusterCacheSecurityGroupNames
@@ -53,14 +53,14 @@
         , (Just . ("Engine",) . toJSON) _elastiCacheCacheClusterEngine
         , fmap (("EngineVersion",) . toJSON) _elastiCacheCacheClusterEngineVersion
         , fmap (("NotificationTopicArn",) . toJSON) _elastiCacheCacheClusterNotificationTopicArn
-        , (Just . ("NumCacheNodes",) . toJSON . fmap Integer') _elastiCacheCacheClusterNumCacheNodes
-        , fmap (("Port",) . toJSON . fmap Integer') _elastiCacheCacheClusterPort
+        , (Just . ("NumCacheNodes",) . toJSON) _elastiCacheCacheClusterNumCacheNodes
+        , fmap (("Port",) . toJSON) _elastiCacheCacheClusterPort
         , fmap (("PreferredAvailabilityZone",) . toJSON) _elastiCacheCacheClusterPreferredAvailabilityZone
         , fmap (("PreferredAvailabilityZones",) . toJSON) _elastiCacheCacheClusterPreferredAvailabilityZones
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _elastiCacheCacheClusterPreferredMaintenanceWindow
         , fmap (("SnapshotArns",) . toJSON) _elastiCacheCacheClusterSnapshotArns
         , fmap (("SnapshotName",) . toJSON) _elastiCacheCacheClusterSnapshotName
-        , fmap (("SnapshotRetentionLimit",) . toJSON . fmap Integer') _elastiCacheCacheClusterSnapshotRetentionLimit
+        , fmap (("SnapshotRetentionLimit",) . toJSON) _elastiCacheCacheClusterSnapshotRetentionLimit
         , fmap (("SnapshotWindow",) . toJSON) _elastiCacheCacheClusterSnapshotWindow
         , fmap (("Tags",) . toJSON) _elastiCacheCacheClusterTags
         , fmap (("VpcSecurityGroupIds",) . toJSON) _elastiCacheCacheClusterVpcSecurityGroupIds
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
@@ -52,10 +52,10 @@
     { resourcePropertiesType = "AWS::ElastiCache::ReplicationGroup"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AtRestEncryptionEnabled",) . toJSON . fmap Bool') _elastiCacheReplicationGroupAtRestEncryptionEnabled
+        [ fmap (("AtRestEncryptionEnabled",) . toJSON) _elastiCacheReplicationGroupAtRestEncryptionEnabled
         , fmap (("AuthToken",) . toJSON) _elastiCacheReplicationGroupAuthToken
-        , fmap (("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _elastiCacheReplicationGroupAutoMinorVersionUpgrade
-        , fmap (("AutomaticFailoverEnabled",) . toJSON . fmap Bool') _elastiCacheReplicationGroupAutomaticFailoverEnabled
+        , fmap (("AutoMinorVersionUpgrade",) . toJSON) _elastiCacheReplicationGroupAutoMinorVersionUpgrade
+        , fmap (("AutomaticFailoverEnabled",) . toJSON) _elastiCacheReplicationGroupAutomaticFailoverEnabled
         , fmap (("CacheNodeType",) . toJSON) _elastiCacheReplicationGroupCacheNodeType
         , fmap (("CacheParameterGroupName",) . toJSON) _elastiCacheReplicationGroupCacheParameterGroupName
         , fmap (("CacheSecurityGroupNames",) . toJSON) _elastiCacheReplicationGroupCacheSecurityGroupNames
@@ -64,23 +64,23 @@
         , fmap (("EngineVersion",) . toJSON) _elastiCacheReplicationGroupEngineVersion
         , fmap (("NodeGroupConfiguration",) . toJSON) _elastiCacheReplicationGroupNodeGroupConfiguration
         , fmap (("NotificationTopicArn",) . toJSON) _elastiCacheReplicationGroupNotificationTopicArn
-        , fmap (("NumCacheClusters",) . toJSON . fmap Integer') _elastiCacheReplicationGroupNumCacheClusters
-        , fmap (("NumNodeGroups",) . toJSON . fmap Integer') _elastiCacheReplicationGroupNumNodeGroups
-        , fmap (("Port",) . toJSON . fmap Integer') _elastiCacheReplicationGroupPort
+        , fmap (("NumCacheClusters",) . toJSON) _elastiCacheReplicationGroupNumCacheClusters
+        , fmap (("NumNodeGroups",) . toJSON) _elastiCacheReplicationGroupNumNodeGroups
+        , fmap (("Port",) . toJSON) _elastiCacheReplicationGroupPort
         , fmap (("PreferredCacheClusterAZs",) . toJSON) _elastiCacheReplicationGroupPreferredCacheClusterAZs
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _elastiCacheReplicationGroupPreferredMaintenanceWindow
         , fmap (("PrimaryClusterId",) . toJSON) _elastiCacheReplicationGroupPrimaryClusterId
-        , fmap (("ReplicasPerNodeGroup",) . toJSON . fmap Integer') _elastiCacheReplicationGroupReplicasPerNodeGroup
+        , fmap (("ReplicasPerNodeGroup",) . toJSON) _elastiCacheReplicationGroupReplicasPerNodeGroup
         , (Just . ("ReplicationGroupDescription",) . toJSON) _elastiCacheReplicationGroupReplicationGroupDescription
         , fmap (("ReplicationGroupId",) . toJSON) _elastiCacheReplicationGroupReplicationGroupId
         , fmap (("SecurityGroupIds",) . toJSON) _elastiCacheReplicationGroupSecurityGroupIds
         , fmap (("SnapshotArns",) . toJSON) _elastiCacheReplicationGroupSnapshotArns
         , fmap (("SnapshotName",) . toJSON) _elastiCacheReplicationGroupSnapshotName
-        , fmap (("SnapshotRetentionLimit",) . toJSON . fmap Integer') _elastiCacheReplicationGroupSnapshotRetentionLimit
+        , fmap (("SnapshotRetentionLimit",) . toJSON) _elastiCacheReplicationGroupSnapshotRetentionLimit
         , fmap (("SnapshotWindow",) . toJSON) _elastiCacheReplicationGroupSnapshotWindow
         , fmap (("SnapshottingClusterId",) . toJSON) _elastiCacheReplicationGroupSnapshottingClusterId
         , fmap (("Tags",) . toJSON) _elastiCacheReplicationGroupTags
-        , fmap (("TransitEncryptionEnabled",) . toJSON . fmap Bool') _elastiCacheReplicationGroupTransitEncryptionEnabled
+        , fmap (("TransitEncryptionEnabled",) . toJSON) _elastiCacheReplicationGroupTransitEncryptionEnabled
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs
@@ -51,7 +51,7 @@
         , fmap (("AvailabilityZones",) . toJSON) _elasticLoadBalancingLoadBalancerAvailabilityZones
         , fmap (("ConnectionDrainingPolicy",) . toJSON) _elasticLoadBalancingLoadBalancerConnectionDrainingPolicy
         , fmap (("ConnectionSettings",) . toJSON) _elasticLoadBalancingLoadBalancerConnectionSettings
-        , fmap (("CrossZone",) . toJSON . fmap Bool') _elasticLoadBalancingLoadBalancerCrossZone
+        , fmap (("CrossZone",) . toJSON) _elasticLoadBalancingLoadBalancerCrossZone
         , fmap (("HealthCheck",) . toJSON) _elasticLoadBalancingLoadBalancerHealthCheck
         , fmap (("Instances",) . toJSON) _elasticLoadBalancingLoadBalancerInstances
         , fmap (("LBCookieStickinessPolicy",) . toJSON) _elasticLoadBalancingLoadBalancerLBCookieStickinessPolicy
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs
@@ -32,7 +32,7 @@
         [ fmap (("Certificates",) . toJSON) _elasticLoadBalancingV2ListenerCertificates
         , (Just . ("DefaultActions",) . toJSON) _elasticLoadBalancingV2ListenerDefaultActions
         , (Just . ("LoadBalancerArn",) . toJSON) _elasticLoadBalancingV2ListenerLoadBalancerArn
-        , (Just . ("Port",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerPort
+        , (Just . ("Port",) . toJSON) _elasticLoadBalancingV2ListenerPort
         , (Just . ("Protocol",) . toJSON) _elasticLoadBalancingV2ListenerProtocol
         , fmap (("SslPolicy",) . toJSON) _elasticLoadBalancingV2ListenerSslPolicy
         ]
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs
@@ -30,7 +30,7 @@
         [ (Just . ("Actions",) . toJSON) _elasticLoadBalancingV2ListenerRuleActions
         , (Just . ("Conditions",) . toJSON) _elasticLoadBalancingV2ListenerRuleConditions
         , (Just . ("ListenerArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleListenerArn
-        , (Just . ("Priority",) . toJSON . fmap Integer') _elasticLoadBalancingV2ListenerRulePriority
+        , (Just . ("Priority",) . toJSON) _elasticLoadBalancingV2ListenerRulePriority
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs
@@ -42,22 +42,22 @@
     { resourcePropertiesType = "AWS::ElasticLoadBalancingV2::TargetGroup"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("HealthCheckEnabled",) . toJSON . fmap Bool') _elasticLoadBalancingV2TargetGroupHealthCheckEnabled
-        , fmap (("HealthCheckIntervalSeconds",) . toJSON . fmap Integer') _elasticLoadBalancingV2TargetGroupHealthCheckIntervalSeconds
+        [ fmap (("HealthCheckEnabled",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckEnabled
+        , fmap (("HealthCheckIntervalSeconds",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckIntervalSeconds
         , fmap (("HealthCheckPath",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckPath
         , fmap (("HealthCheckPort",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckPort
         , fmap (("HealthCheckProtocol",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckProtocol
-        , fmap (("HealthCheckTimeoutSeconds",) . toJSON . fmap Integer') _elasticLoadBalancingV2TargetGroupHealthCheckTimeoutSeconds
-        , fmap (("HealthyThresholdCount",) . toJSON . fmap Integer') _elasticLoadBalancingV2TargetGroupHealthyThresholdCount
+        , fmap (("HealthCheckTimeoutSeconds",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckTimeoutSeconds
+        , fmap (("HealthyThresholdCount",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthyThresholdCount
         , fmap (("Matcher",) . toJSON) _elasticLoadBalancingV2TargetGroupMatcher
         , fmap (("Name",) . toJSON) _elasticLoadBalancingV2TargetGroupName
-        , fmap (("Port",) . toJSON . fmap Integer') _elasticLoadBalancingV2TargetGroupPort
+        , fmap (("Port",) . toJSON) _elasticLoadBalancingV2TargetGroupPort
         , fmap (("Protocol",) . toJSON) _elasticLoadBalancingV2TargetGroupProtocol
         , fmap (("Tags",) . toJSON) _elasticLoadBalancingV2TargetGroupTags
         , fmap (("TargetGroupAttributes",) . toJSON) _elasticLoadBalancingV2TargetGroupTargetGroupAttributes
         , fmap (("TargetType",) . toJSON) _elasticLoadBalancingV2TargetGroupTargetType
         , fmap (("Targets",) . toJSON) _elasticLoadBalancingV2TargetGroupTargets
-        , fmap (("UnhealthyThresholdCount",) . toJSON . fmap Integer') _elasticLoadBalancingV2TargetGroupUnhealthyThresholdCount
+        , fmap (("UnhealthyThresholdCount",) . toJSON) _elasticLoadBalancingV2TargetGroupUnhealthyThresholdCount
         , fmap (("VpcId",) . toJSON) _elasticLoadBalancingV2TargetGroupVpcId
         ]
     }
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
@@ -38,7 +38,7 @@
         , fmap (("KmsKeyId",) . toJSON) _fSxFileSystemKmsKeyId
         , fmap (("LustreConfiguration",) . toJSON) _fSxFileSystemLustreConfiguration
         , fmap (("SecurityGroupIds",) . toJSON) _fSxFileSystemSecurityGroupIds
-        , fmap (("StorageCapacity",) . toJSON . fmap Integer') _fSxFileSystemStorageCapacity
+        , fmap (("StorageCapacity",) . toJSON) _fSxFileSystemStorageCapacity
         , fmap (("SubnetIds",) . toJSON) _fSxFileSystemSubnetIds
         , fmap (("Tags",) . toJSON) _fSxFileSystemTags
         , fmap (("WindowsConfiguration",) . toJSON) _fSxFileSystemWindowsConfiguration
diff --git a/library-gen/Stratosphere/Resources/GameLiftFleet.hs b/library-gen/Stratosphere/Resources/GameLiftFleet.hs
--- a/library-gen/Stratosphere/Resources/GameLiftFleet.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftFleet.hs
@@ -35,12 +35,12 @@
         hashMapFromList $ catMaybes
         [ (Just . ("BuildId",) . toJSON) _gameLiftFleetBuildId
         , fmap (("Description",) . toJSON) _gameLiftFleetDescription
-        , (Just . ("DesiredEC2Instances",) . toJSON . fmap Integer') _gameLiftFleetDesiredEC2Instances
+        , (Just . ("DesiredEC2Instances",) . toJSON) _gameLiftFleetDesiredEC2Instances
         , fmap (("EC2InboundPermissions",) . toJSON) _gameLiftFleetEC2InboundPermissions
         , (Just . ("EC2InstanceType",) . toJSON) _gameLiftFleetEC2InstanceType
         , fmap (("LogPaths",) . toJSON) _gameLiftFleetLogPaths
-        , fmap (("MaxSize",) . toJSON . fmap Integer') _gameLiftFleetMaxSize
-        , fmap (("MinSize",) . toJSON . fmap Integer') _gameLiftFleetMinSize
+        , fmap (("MaxSize",) . toJSON) _gameLiftFleetMaxSize
+        , fmap (("MinSize",) . toJSON) _gameLiftFleetMinSize
         , (Just . ("Name",) . toJSON) _gameLiftFleetName
         , fmap (("ServerLaunchParameters",) . toJSON) _gameLiftFleetServerLaunchParameters
         , (Just . ("ServerLaunchPath",) . toJSON) _gameLiftFleetServerLaunchPath
diff --git a/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs b/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
--- a/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
@@ -33,7 +33,7 @@
         [ fmap (("EndpointName",) . toJSON) _glueDevEndpointEndpointName
         , fmap (("ExtraJarsS3Path",) . toJSON) _glueDevEndpointExtraJarsS3Path
         , fmap (("ExtraPythonLibsS3Path",) . toJSON) _glueDevEndpointExtraPythonLibsS3Path
-        , fmap (("NumberOfNodes",) . toJSON . fmap Integer') _glueDevEndpointNumberOfNodes
+        , fmap (("NumberOfNodes",) . toJSON) _glueDevEndpointNumberOfNodes
         , (Just . ("PublicKey",) . toJSON) _glueDevEndpointPublicKey
         , (Just . ("RoleArn",) . toJSON) _glueDevEndpointRoleArn
         , fmap (("SecurityGroupIds",) . toJSON) _glueDevEndpointSecurityGroupIds
diff --git a/library-gen/Stratosphere/Resources/GlueJob.hs b/library-gen/Stratosphere/Resources/GlueJob.hs
--- a/library-gen/Stratosphere/Resources/GlueJob.hs
+++ b/library-gen/Stratosphere/Resources/GlueJob.hs
@@ -34,14 +34,14 @@
     { resourcePropertiesType = "AWS::Glue::Job"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllocatedCapacity",) . toJSON . fmap Double') _glueJobAllocatedCapacity
+        [ fmap (("AllocatedCapacity",) . toJSON) _glueJobAllocatedCapacity
         , (Just . ("Command",) . toJSON) _glueJobCommand
         , fmap (("Connections",) . toJSON) _glueJobConnections
         , fmap (("DefaultArguments",) . toJSON) _glueJobDefaultArguments
         , fmap (("Description",) . toJSON) _glueJobDescription
         , fmap (("ExecutionProperty",) . toJSON) _glueJobExecutionProperty
         , fmap (("LogUri",) . toJSON) _glueJobLogUri
-        , fmap (("MaxRetries",) . toJSON . fmap Double') _glueJobMaxRetries
+        , fmap (("MaxRetries",) . toJSON) _glueJobMaxRetries
         , fmap (("Name",) . toJSON) _glueJobName
         , (Just . ("Role",) . toJSON) _glueJobRole
         ]
diff --git a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html
+
+module Stratosphere.Resources.GreengrassConnectorDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnectorDefinitionVersion
+
+-- | Full data type definition for GreengrassConnectorDefinition. See
+-- 'greengrassConnectorDefinition' for a more convenient constructor.
+data GreengrassConnectorDefinition =
+  GreengrassConnectorDefinition
+  { _greengrassConnectorDefinitionInitialVersion :: Maybe GreengrassConnectorDefinitionConnectorDefinitionVersion
+  , _greengrassConnectorDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassConnectorDefinition where
+  toResourceProperties GreengrassConnectorDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::ConnectorDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassConnectorDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassConnectorDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassConnectorDefinition' containing required
+-- fields as arguments.
+greengrassConnectorDefinition
+  :: Val Text -- ^ 'gcdnName'
+  -> GreengrassConnectorDefinition
+greengrassConnectorDefinition namearg =
+  GreengrassConnectorDefinition
+  { _greengrassConnectorDefinitionInitialVersion = Nothing
+  , _greengrassConnectorDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-initialversion
+gcdnInitialVersion :: Lens' GreengrassConnectorDefinition (Maybe GreengrassConnectorDefinitionConnectorDefinitionVersion)
+gcdnInitialVersion = lens _greengrassConnectorDefinitionInitialVersion (\s a -> s { _greengrassConnectorDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-name
+gcdnName :: Lens' GreengrassConnectorDefinition (Val Text)
+gcdnName = lens _greengrassConnectorDefinitionName (\s a -> s { _greengrassConnectorDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html
+
+module Stratosphere.Resources.GreengrassConnectorDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassConnectorDefinitionVersionConnector
+
+-- | Full data type definition for GreengrassConnectorDefinitionVersion. See
+-- 'greengrassConnectorDefinitionVersion' for a more convenient constructor.
+data GreengrassConnectorDefinitionVersion =
+  GreengrassConnectorDefinitionVersion
+  { _greengrassConnectorDefinitionVersionConnectorDefinitionId :: Val Text
+  , _greengrassConnectorDefinitionVersionConnectors :: [GreengrassConnectorDefinitionVersionConnector]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassConnectorDefinitionVersion where
+  toResourceProperties GreengrassConnectorDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::ConnectorDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ConnectorDefinitionId",) . toJSON) _greengrassConnectorDefinitionVersionConnectorDefinitionId
+        , (Just . ("Connectors",) . toJSON) _greengrassConnectorDefinitionVersionConnectors
+        ]
+    }
+
+-- | Constructor for 'GreengrassConnectorDefinitionVersion' containing
+-- required fields as arguments.
+greengrassConnectorDefinitionVersion
+  :: Val Text -- ^ 'gcdvConnectorDefinitionId'
+  -> [GreengrassConnectorDefinitionVersionConnector] -- ^ 'gcdvConnectors'
+  -> GreengrassConnectorDefinitionVersion
+greengrassConnectorDefinitionVersion connectorDefinitionIdarg connectorsarg =
+  GreengrassConnectorDefinitionVersion
+  { _greengrassConnectorDefinitionVersionConnectorDefinitionId = connectorDefinitionIdarg
+  , _greengrassConnectorDefinitionVersionConnectors = connectorsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectordefinitionid
+gcdvConnectorDefinitionId :: Lens' GreengrassConnectorDefinitionVersion (Val Text)
+gcdvConnectorDefinitionId = lens _greengrassConnectorDefinitionVersionConnectorDefinitionId (\s a -> s { _greengrassConnectorDefinitionVersionConnectorDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectors
+gcdvConnectors :: Lens' GreengrassConnectorDefinitionVersion [GreengrassConnectorDefinitionVersionConnector]
+gcdvConnectors = lens _greengrassConnectorDefinitionVersionConnectors (\s a -> s { _greengrassConnectorDefinitionVersionConnectors = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html
+
+module Stratosphere.Resources.GreengrassCoreDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassCoreDefinitionCoreDefinitionVersion
+
+-- | Full data type definition for GreengrassCoreDefinition. See
+-- 'greengrassCoreDefinition' for a more convenient constructor.
+data GreengrassCoreDefinition =
+  GreengrassCoreDefinition
+  { _greengrassCoreDefinitionInitialVersion :: Maybe GreengrassCoreDefinitionCoreDefinitionVersion
+  , _greengrassCoreDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassCoreDefinition where
+  toResourceProperties GreengrassCoreDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::CoreDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassCoreDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassCoreDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassCoreDefinition' containing required fields as
+-- arguments.
+greengrassCoreDefinition
+  :: Val Text -- ^ 'gcdrName'
+  -> GreengrassCoreDefinition
+greengrassCoreDefinition namearg =
+  GreengrassCoreDefinition
+  { _greengrassCoreDefinitionInitialVersion = Nothing
+  , _greengrassCoreDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-initialversion
+gcdrInitialVersion :: Lens' GreengrassCoreDefinition (Maybe GreengrassCoreDefinitionCoreDefinitionVersion)
+gcdrInitialVersion = lens _greengrassCoreDefinitionInitialVersion (\s a -> s { _greengrassCoreDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-name
+gcdrName :: Lens' GreengrassCoreDefinition (Val Text)
+gcdrName = lens _greengrassCoreDefinitionName (\s a -> s { _greengrassCoreDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html
+
+module Stratosphere.Resources.GreengrassCoreDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassCoreDefinitionVersionCore
+
+-- | Full data type definition for GreengrassCoreDefinitionVersion. See
+-- 'greengrassCoreDefinitionVersion' for a more convenient constructor.
+data GreengrassCoreDefinitionVersion =
+  GreengrassCoreDefinitionVersion
+  { _greengrassCoreDefinitionVersionCoreDefinitionId :: Val Text
+  , _greengrassCoreDefinitionVersionCores :: [GreengrassCoreDefinitionVersionCore]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassCoreDefinitionVersion where
+  toResourceProperties GreengrassCoreDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::CoreDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("CoreDefinitionId",) . toJSON) _greengrassCoreDefinitionVersionCoreDefinitionId
+        , (Just . ("Cores",) . toJSON) _greengrassCoreDefinitionVersionCores
+        ]
+    }
+
+-- | Constructor for 'GreengrassCoreDefinitionVersion' containing required
+-- fields as arguments.
+greengrassCoreDefinitionVersion
+  :: Val Text -- ^ 'gcdvCoreDefinitionId'
+  -> [GreengrassCoreDefinitionVersionCore] -- ^ 'gcdvCores'
+  -> GreengrassCoreDefinitionVersion
+greengrassCoreDefinitionVersion coreDefinitionIdarg coresarg =
+  GreengrassCoreDefinitionVersion
+  { _greengrassCoreDefinitionVersionCoreDefinitionId = coreDefinitionIdarg
+  , _greengrassCoreDefinitionVersionCores = coresarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-coredefinitionid
+gcdvCoreDefinitionId :: Lens' GreengrassCoreDefinitionVersion (Val Text)
+gcdvCoreDefinitionId = lens _greengrassCoreDefinitionVersionCoreDefinitionId (\s a -> s { _greengrassCoreDefinitionVersionCoreDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-cores
+gcdvCores :: Lens' GreengrassCoreDefinitionVersion [GreengrassCoreDefinitionVersionCore]
+gcdvCores = lens _greengrassCoreDefinitionVersionCores (\s a -> s { _greengrassCoreDefinitionVersionCores = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html
+
+module Stratosphere.Resources.GreengrassDeviceDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDeviceDefinitionVersion
+
+-- | Full data type definition for GreengrassDeviceDefinition. See
+-- 'greengrassDeviceDefinition' for a more convenient constructor.
+data GreengrassDeviceDefinition =
+  GreengrassDeviceDefinition
+  { _greengrassDeviceDefinitionInitialVersion :: Maybe GreengrassDeviceDefinitionDeviceDefinitionVersion
+  , _greengrassDeviceDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassDeviceDefinition where
+  toResourceProperties GreengrassDeviceDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::DeviceDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassDeviceDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassDeviceDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassDeviceDefinition' containing required fields
+-- as arguments.
+greengrassDeviceDefinition
+  :: Val Text -- ^ 'gddName'
+  -> GreengrassDeviceDefinition
+greengrassDeviceDefinition namearg =
+  GreengrassDeviceDefinition
+  { _greengrassDeviceDefinitionInitialVersion = Nothing
+  , _greengrassDeviceDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-initialversion
+gddInitialVersion :: Lens' GreengrassDeviceDefinition (Maybe GreengrassDeviceDefinitionDeviceDefinitionVersion)
+gddInitialVersion = lens _greengrassDeviceDefinitionInitialVersion (\s a -> s { _greengrassDeviceDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-name
+gddName :: Lens' GreengrassDeviceDefinition (Val Text)
+gddName = lens _greengrassDeviceDefinitionName (\s a -> s { _greengrassDeviceDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html
+
+module Stratosphere.Resources.GreengrassDeviceDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassDeviceDefinitionVersionDevice
+
+-- | Full data type definition for GreengrassDeviceDefinitionVersion. See
+-- 'greengrassDeviceDefinitionVersion' for a more convenient constructor.
+data GreengrassDeviceDefinitionVersion =
+  GreengrassDeviceDefinitionVersion
+  { _greengrassDeviceDefinitionVersionDeviceDefinitionId :: Val Text
+  , _greengrassDeviceDefinitionVersionDevices :: [GreengrassDeviceDefinitionVersionDevice]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassDeviceDefinitionVersion where
+  toResourceProperties GreengrassDeviceDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::DeviceDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("DeviceDefinitionId",) . toJSON) _greengrassDeviceDefinitionVersionDeviceDefinitionId
+        , (Just . ("Devices",) . toJSON) _greengrassDeviceDefinitionVersionDevices
+        ]
+    }
+
+-- | Constructor for 'GreengrassDeviceDefinitionVersion' containing required
+-- fields as arguments.
+greengrassDeviceDefinitionVersion
+  :: Val Text -- ^ 'gddvDeviceDefinitionId'
+  -> [GreengrassDeviceDefinitionVersionDevice] -- ^ 'gddvDevices'
+  -> GreengrassDeviceDefinitionVersion
+greengrassDeviceDefinitionVersion deviceDefinitionIdarg devicesarg =
+  GreengrassDeviceDefinitionVersion
+  { _greengrassDeviceDefinitionVersionDeviceDefinitionId = deviceDefinitionIdarg
+  , _greengrassDeviceDefinitionVersionDevices = devicesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devicedefinitionid
+gddvDeviceDefinitionId :: Lens' GreengrassDeviceDefinitionVersion (Val Text)
+gddvDeviceDefinitionId = lens _greengrassDeviceDefinitionVersionDeviceDefinitionId (\s a -> s { _greengrassDeviceDefinitionVersionDeviceDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devices
+gddvDevices :: Lens' GreengrassDeviceDefinitionVersion [GreengrassDeviceDefinitionVersionDevice]
+gddvDevices = lens _greengrassDeviceDefinitionVersionDevices (\s a -> s { _greengrassDeviceDefinitionVersionDevices = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html
+
+module Stratosphere.Resources.GreengrassFunctionDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionDefinitionVersion
+
+-- | Full data type definition for GreengrassFunctionDefinition. See
+-- 'greengrassFunctionDefinition' for a more convenient constructor.
+data GreengrassFunctionDefinition =
+  GreengrassFunctionDefinition
+  { _greengrassFunctionDefinitionInitialVersion :: Maybe GreengrassFunctionDefinitionFunctionDefinitionVersion
+  , _greengrassFunctionDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassFunctionDefinition where
+  toResourceProperties GreengrassFunctionDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::FunctionDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassFunctionDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassFunctionDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassFunctionDefinition' containing required fields
+-- as arguments.
+greengrassFunctionDefinition
+  :: Val Text -- ^ 'gfdName'
+  -> GreengrassFunctionDefinition
+greengrassFunctionDefinition namearg =
+  GreengrassFunctionDefinition
+  { _greengrassFunctionDefinitionInitialVersion = Nothing
+  , _greengrassFunctionDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-initialversion
+gfdInitialVersion :: Lens' GreengrassFunctionDefinition (Maybe GreengrassFunctionDefinitionFunctionDefinitionVersion)
+gfdInitialVersion = lens _greengrassFunctionDefinitionInitialVersion (\s a -> s { _greengrassFunctionDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-name
+gfdName :: Lens' GreengrassFunctionDefinition (Val Text)
+gfdName = lens _greengrassFunctionDefinitionName (\s a -> s { _greengrassFunctionDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html
+
+module Stratosphere.Resources.GreengrassFunctionDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionDefaultConfig
+import Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunction
+
+-- | Full data type definition for GreengrassFunctionDefinitionVersion. See
+-- 'greengrassFunctionDefinitionVersion' for a more convenient constructor.
+data GreengrassFunctionDefinitionVersion =
+  GreengrassFunctionDefinitionVersion
+  { _greengrassFunctionDefinitionVersionDefaultConfig :: Maybe GreengrassFunctionDefinitionVersionDefaultConfig
+  , _greengrassFunctionDefinitionVersionFunctionDefinitionId :: Val Text
+  , _greengrassFunctionDefinitionVersionFunctions :: [GreengrassFunctionDefinitionVersionFunction]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassFunctionDefinitionVersion where
+  toResourceProperties GreengrassFunctionDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::FunctionDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("DefaultConfig",) . toJSON) _greengrassFunctionDefinitionVersionDefaultConfig
+        , (Just . ("FunctionDefinitionId",) . toJSON) _greengrassFunctionDefinitionVersionFunctionDefinitionId
+        , (Just . ("Functions",) . toJSON) _greengrassFunctionDefinitionVersionFunctions
+        ]
+    }
+
+-- | Constructor for 'GreengrassFunctionDefinitionVersion' containing required
+-- fields as arguments.
+greengrassFunctionDefinitionVersion
+  :: Val Text -- ^ 'gfdvFunctionDefinitionId'
+  -> [GreengrassFunctionDefinitionVersionFunction] -- ^ 'gfdvFunctions'
+  -> GreengrassFunctionDefinitionVersion
+greengrassFunctionDefinitionVersion functionDefinitionIdarg functionsarg =
+  GreengrassFunctionDefinitionVersion
+  { _greengrassFunctionDefinitionVersionDefaultConfig = Nothing
+  , _greengrassFunctionDefinitionVersionFunctionDefinitionId = functionDefinitionIdarg
+  , _greengrassFunctionDefinitionVersionFunctions = functionsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-defaultconfig
+gfdvDefaultConfig :: Lens' GreengrassFunctionDefinitionVersion (Maybe GreengrassFunctionDefinitionVersionDefaultConfig)
+gfdvDefaultConfig = lens _greengrassFunctionDefinitionVersionDefaultConfig (\s a -> s { _greengrassFunctionDefinitionVersionDefaultConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functiondefinitionid
+gfdvFunctionDefinitionId :: Lens' GreengrassFunctionDefinitionVersion (Val Text)
+gfdvFunctionDefinitionId = lens _greengrassFunctionDefinitionVersionFunctionDefinitionId (\s a -> s { _greengrassFunctionDefinitionVersionFunctionDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functions
+gfdvFunctions :: Lens' GreengrassFunctionDefinitionVersion [GreengrassFunctionDefinitionVersionFunction]
+gfdvFunctions = lens _greengrassFunctionDefinitionVersionFunctions (\s a -> s { _greengrassFunctionDefinitionVersionFunctions = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassGroup.hs b/library-gen/Stratosphere/Resources/GreengrassGroup.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassGroup.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html
+
+module Stratosphere.Resources.GreengrassGroup where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassGroupGroupVersion
+
+-- | Full data type definition for GreengrassGroup. See 'greengrassGroup' for
+-- a more convenient constructor.
+data GreengrassGroup =
+  GreengrassGroup
+  { _greengrassGroupInitialVersion :: Maybe GreengrassGroupGroupVersion
+  , _greengrassGroupName :: Val Text
+  , _greengrassGroupRoleArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassGroup where
+  toResourceProperties GreengrassGroup{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::Group"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassGroupInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassGroupName
+        , fmap (("RoleArn",) . toJSON) _greengrassGroupRoleArn
+        ]
+    }
+
+-- | Constructor for 'GreengrassGroup' containing required fields as
+-- arguments.
+greengrassGroup
+  :: Val Text -- ^ 'ggName'
+  -> GreengrassGroup
+greengrassGroup namearg =
+  GreengrassGroup
+  { _greengrassGroupInitialVersion = Nothing
+  , _greengrassGroupName = namearg
+  , _greengrassGroupRoleArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-initialversion
+ggInitialVersion :: Lens' GreengrassGroup (Maybe GreengrassGroupGroupVersion)
+ggInitialVersion = lens _greengrassGroupInitialVersion (\s a -> s { _greengrassGroupInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-name
+ggName :: Lens' GreengrassGroup (Val Text)
+ggName = lens _greengrassGroupName (\s a -> s { _greengrassGroupName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-rolearn
+ggRoleArn :: Lens' GreengrassGroup (Maybe (Val Text))
+ggRoleArn = lens _greengrassGroupRoleArn (\s a -> s { _greengrassGroupRoleArn = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs b/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html
+
+module Stratosphere.Resources.GreengrassGroupVersion where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for GreengrassGroupVersion. See
+-- 'greengrassGroupVersion' for a more convenient constructor.
+data GreengrassGroupVersion =
+  GreengrassGroupVersion
+  { _greengrassGroupVersionConnectorDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupVersionCoreDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupVersionDeviceDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupVersionFunctionDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupVersionGroupId :: Val Text
+  , _greengrassGroupVersionLoggerDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupVersionResourceDefinitionVersionArn :: Maybe (Val Text)
+  , _greengrassGroupVersionSubscriptionDefinitionVersionArn :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassGroupVersion where
+  toResourceProperties GreengrassGroupVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::GroupVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("ConnectorDefinitionVersionArn",) . toJSON) _greengrassGroupVersionConnectorDefinitionVersionArn
+        , fmap (("CoreDefinitionVersionArn",) . toJSON) _greengrassGroupVersionCoreDefinitionVersionArn
+        , fmap (("DeviceDefinitionVersionArn",) . toJSON) _greengrassGroupVersionDeviceDefinitionVersionArn
+        , fmap (("FunctionDefinitionVersionArn",) . toJSON) _greengrassGroupVersionFunctionDefinitionVersionArn
+        , (Just . ("GroupId",) . toJSON) _greengrassGroupVersionGroupId
+        , fmap (("LoggerDefinitionVersionArn",) . toJSON) _greengrassGroupVersionLoggerDefinitionVersionArn
+        , fmap (("ResourceDefinitionVersionArn",) . toJSON) _greengrassGroupVersionResourceDefinitionVersionArn
+        , fmap (("SubscriptionDefinitionVersionArn",) . toJSON) _greengrassGroupVersionSubscriptionDefinitionVersionArn
+        ]
+    }
+
+-- | Constructor for 'GreengrassGroupVersion' containing required fields as
+-- arguments.
+greengrassGroupVersion
+  :: Val Text -- ^ 'ggvGroupId'
+  -> GreengrassGroupVersion
+greengrassGroupVersion groupIdarg =
+  GreengrassGroupVersion
+  { _greengrassGroupVersionConnectorDefinitionVersionArn = Nothing
+  , _greengrassGroupVersionCoreDefinitionVersionArn = Nothing
+  , _greengrassGroupVersionDeviceDefinitionVersionArn = Nothing
+  , _greengrassGroupVersionFunctionDefinitionVersionArn = Nothing
+  , _greengrassGroupVersionGroupId = groupIdarg
+  , _greengrassGroupVersionLoggerDefinitionVersionArn = Nothing
+  , _greengrassGroupVersionResourceDefinitionVersionArn = Nothing
+  , _greengrassGroupVersionSubscriptionDefinitionVersionArn = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn
+ggvConnectorDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvConnectorDefinitionVersionArn = lens _greengrassGroupVersionConnectorDefinitionVersionArn (\s a -> s { _greengrassGroupVersionConnectorDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn
+ggvCoreDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvCoreDefinitionVersionArn = lens _greengrassGroupVersionCoreDefinitionVersionArn (\s a -> s { _greengrassGroupVersionCoreDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn
+ggvDeviceDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvDeviceDefinitionVersionArn = lens _greengrassGroupVersionDeviceDefinitionVersionArn (\s a -> s { _greengrassGroupVersionDeviceDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn
+ggvFunctionDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvFunctionDefinitionVersionArn = lens _greengrassGroupVersionFunctionDefinitionVersionArn (\s a -> s { _greengrassGroupVersionFunctionDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-groupid
+ggvGroupId :: Lens' GreengrassGroupVersion (Val Text)
+ggvGroupId = lens _greengrassGroupVersionGroupId (\s a -> s { _greengrassGroupVersionGroupId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn
+ggvLoggerDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvLoggerDefinitionVersionArn = lens _greengrassGroupVersionLoggerDefinitionVersionArn (\s a -> s { _greengrassGroupVersionLoggerDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn
+ggvResourceDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvResourceDefinitionVersionArn = lens _greengrassGroupVersionResourceDefinitionVersionArn (\s a -> s { _greengrassGroupVersionResourceDefinitionVersionArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn
+ggvSubscriptionDefinitionVersionArn :: Lens' GreengrassGroupVersion (Maybe (Val Text))
+ggvSubscriptionDefinitionVersionArn = lens _greengrassGroupVersionSubscriptionDefinitionVersionArn (\s a -> s { _greengrassGroupVersionSubscriptionDefinitionVersionArn = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html
+
+module Stratosphere.Resources.GreengrassLoggerDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLoggerDefinitionVersion
+
+-- | Full data type definition for GreengrassLoggerDefinition. See
+-- 'greengrassLoggerDefinition' for a more convenient constructor.
+data GreengrassLoggerDefinition =
+  GreengrassLoggerDefinition
+  { _greengrassLoggerDefinitionInitialVersion :: Maybe GreengrassLoggerDefinitionLoggerDefinitionVersion
+  , _greengrassLoggerDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassLoggerDefinition where
+  toResourceProperties GreengrassLoggerDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::LoggerDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassLoggerDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassLoggerDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassLoggerDefinition' containing required fields
+-- as arguments.
+greengrassLoggerDefinition
+  :: Val Text -- ^ 'gldName'
+  -> GreengrassLoggerDefinition
+greengrassLoggerDefinition namearg =
+  GreengrassLoggerDefinition
+  { _greengrassLoggerDefinitionInitialVersion = Nothing
+  , _greengrassLoggerDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-initialversion
+gldInitialVersion :: Lens' GreengrassLoggerDefinition (Maybe GreengrassLoggerDefinitionLoggerDefinitionVersion)
+gldInitialVersion = lens _greengrassLoggerDefinitionInitialVersion (\s a -> s { _greengrassLoggerDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-name
+gldName :: Lens' GreengrassLoggerDefinition (Val Text)
+gldName = lens _greengrassLoggerDefinitionName (\s a -> s { _greengrassLoggerDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html
+
+module Stratosphere.Resources.GreengrassLoggerDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassLoggerDefinitionVersionLogger
+
+-- | Full data type definition for GreengrassLoggerDefinitionVersion. See
+-- 'greengrassLoggerDefinitionVersion' for a more convenient constructor.
+data GreengrassLoggerDefinitionVersion =
+  GreengrassLoggerDefinitionVersion
+  { _greengrassLoggerDefinitionVersionLoggerDefinitionId :: Val Text
+  , _greengrassLoggerDefinitionVersionLoggers :: [GreengrassLoggerDefinitionVersionLogger]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassLoggerDefinitionVersion where
+  toResourceProperties GreengrassLoggerDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::LoggerDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("LoggerDefinitionId",) . toJSON) _greengrassLoggerDefinitionVersionLoggerDefinitionId
+        , (Just . ("Loggers",) . toJSON) _greengrassLoggerDefinitionVersionLoggers
+        ]
+    }
+
+-- | Constructor for 'GreengrassLoggerDefinitionVersion' containing required
+-- fields as arguments.
+greengrassLoggerDefinitionVersion
+  :: Val Text -- ^ 'gldvLoggerDefinitionId'
+  -> [GreengrassLoggerDefinitionVersionLogger] -- ^ 'gldvLoggers'
+  -> GreengrassLoggerDefinitionVersion
+greengrassLoggerDefinitionVersion loggerDefinitionIdarg loggersarg =
+  GreengrassLoggerDefinitionVersion
+  { _greengrassLoggerDefinitionVersionLoggerDefinitionId = loggerDefinitionIdarg
+  , _greengrassLoggerDefinitionVersionLoggers = loggersarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggerdefinitionid
+gldvLoggerDefinitionId :: Lens' GreengrassLoggerDefinitionVersion (Val Text)
+gldvLoggerDefinitionId = lens _greengrassLoggerDefinitionVersionLoggerDefinitionId (\s a -> s { _greengrassLoggerDefinitionVersionLoggerDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggers
+gldvLoggers :: Lens' GreengrassLoggerDefinitionVersion [GreengrassLoggerDefinitionVersionLogger]
+gldvLoggers = lens _greengrassLoggerDefinitionVersionLoggers (\s a -> s { _greengrassLoggerDefinitionVersionLoggers = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html
+
+module Stratosphere.Resources.GreengrassResourceDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceInstance
+
+-- | Full data type definition for GreengrassResourceDefinitionVersion. See
+-- 'greengrassResourceDefinitionVersion' for a more convenient constructor.
+data GreengrassResourceDefinitionVersion =
+  GreengrassResourceDefinitionVersion
+  { _greengrassResourceDefinitionVersionResourceDefinitionId :: Val Text
+  , _greengrassResourceDefinitionVersionResources :: [GreengrassResourceDefinitionVersionResourceInstance]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassResourceDefinitionVersion where
+  toResourceProperties GreengrassResourceDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::ResourceDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("ResourceDefinitionId",) . toJSON) _greengrassResourceDefinitionVersionResourceDefinitionId
+        , (Just . ("Resources",) . toJSON) _greengrassResourceDefinitionVersionResources
+        ]
+    }
+
+-- | Constructor for 'GreengrassResourceDefinitionVersion' containing required
+-- fields as arguments.
+greengrassResourceDefinitionVersion
+  :: Val Text -- ^ 'grdvResourceDefinitionId'
+  -> [GreengrassResourceDefinitionVersionResourceInstance] -- ^ 'grdvResources'
+  -> GreengrassResourceDefinitionVersion
+greengrassResourceDefinitionVersion resourceDefinitionIdarg resourcesarg =
+  GreengrassResourceDefinitionVersion
+  { _greengrassResourceDefinitionVersionResourceDefinitionId = resourceDefinitionIdarg
+  , _greengrassResourceDefinitionVersionResources = resourcesarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resourcedefinitionid
+grdvResourceDefinitionId :: Lens' GreengrassResourceDefinitionVersion (Val Text)
+grdvResourceDefinitionId = lens _greengrassResourceDefinitionVersionResourceDefinitionId (\s a -> s { _greengrassResourceDefinitionVersionResourceDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resources
+grdvResources :: Lens' GreengrassResourceDefinitionVersion [GreengrassResourceDefinitionVersionResourceInstance]
+grdvResources = lens _greengrassResourceDefinitionVersionResources (\s a -> s { _greengrassResourceDefinitionVersionResources = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html
+
+module Stratosphere.Resources.GreengrassSubscriptionDefinition where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+
+-- | Full data type definition for GreengrassSubscriptionDefinition. See
+-- 'greengrassSubscriptionDefinition' for a more convenient constructor.
+data GreengrassSubscriptionDefinition =
+  GreengrassSubscriptionDefinition
+  { _greengrassSubscriptionDefinitionInitialVersion :: Maybe GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+  , _greengrassSubscriptionDefinitionName :: Val Text
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassSubscriptionDefinition where
+  toResourceProperties GreengrassSubscriptionDefinition{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::SubscriptionDefinition"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ fmap (("InitialVersion",) . toJSON) _greengrassSubscriptionDefinitionInitialVersion
+        , (Just . ("Name",) . toJSON) _greengrassSubscriptionDefinitionName
+        ]
+    }
+
+-- | Constructor for 'GreengrassSubscriptionDefinition' containing required
+-- fields as arguments.
+greengrassSubscriptionDefinition
+  :: Val Text -- ^ 'gsdName'
+  -> GreengrassSubscriptionDefinition
+greengrassSubscriptionDefinition namearg =
+  GreengrassSubscriptionDefinition
+  { _greengrassSubscriptionDefinitionInitialVersion = Nothing
+  , _greengrassSubscriptionDefinitionName = namearg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-initialversion
+gsdInitialVersion :: Lens' GreengrassSubscriptionDefinition (Maybe GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion)
+gsdInitialVersion = lens _greengrassSubscriptionDefinitionInitialVersion (\s a -> s { _greengrassSubscriptionDefinitionInitialVersion = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-name
+gsdName :: Lens' GreengrassSubscriptionDefinition (Val Text)
+gsdName = lens _greengrassSubscriptionDefinitionName (\s a -> s { _greengrassSubscriptionDefinitionName = a })
diff --git a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html
+
+module Stratosphere.Resources.GreengrassSubscriptionDefinitionVersion where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription
+
+-- | Full data type definition for GreengrassSubscriptionDefinitionVersion.
+-- See 'greengrassSubscriptionDefinitionVersion' for a more convenient
+-- constructor.
+data GreengrassSubscriptionDefinitionVersion =
+  GreengrassSubscriptionDefinitionVersion
+  { _greengrassSubscriptionDefinitionVersionSubscriptionDefinitionId :: Val Text
+  , _greengrassSubscriptionDefinitionVersionSubscriptions :: [GreengrassSubscriptionDefinitionVersionSubscription]
+  } deriving (Show, Eq)
+
+instance ToResourceProperties GreengrassSubscriptionDefinitionVersion where
+  toResourceProperties GreengrassSubscriptionDefinitionVersion{..} =
+    ResourceProperties
+    { resourcePropertiesType = "AWS::Greengrass::SubscriptionDefinitionVersion"
+    , resourcePropertiesProperties =
+        hashMapFromList $ catMaybes
+        [ (Just . ("SubscriptionDefinitionId",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionDefinitionId
+        , (Just . ("Subscriptions",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptions
+        ]
+    }
+
+-- | Constructor for 'GreengrassSubscriptionDefinitionVersion' containing
+-- required fields as arguments.
+greengrassSubscriptionDefinitionVersion
+  :: Val Text -- ^ 'gsdvSubscriptionDefinitionId'
+  -> [GreengrassSubscriptionDefinitionVersionSubscription] -- ^ 'gsdvSubscriptions'
+  -> GreengrassSubscriptionDefinitionVersion
+greengrassSubscriptionDefinitionVersion subscriptionDefinitionIdarg subscriptionsarg =
+  GreengrassSubscriptionDefinitionVersion
+  { _greengrassSubscriptionDefinitionVersionSubscriptionDefinitionId = subscriptionDefinitionIdarg
+  , _greengrassSubscriptionDefinitionVersionSubscriptions = subscriptionsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptiondefinitionid
+gsdvSubscriptionDefinitionId :: Lens' GreengrassSubscriptionDefinitionVersion (Val Text)
+gsdvSubscriptionDefinitionId = lens _greengrassSubscriptionDefinitionVersionSubscriptionDefinitionId (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionDefinitionId = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptions
+gsdvSubscriptions :: Lens' GreengrassSubscriptionDefinitionVersion [GreengrassSubscriptionDefinitionVersionSubscription]
+gsdvSubscriptions = lens _greengrassSubscriptionDefinitionVersionSubscriptions (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptions = 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
@@ -24,7 +24,7 @@
     { resourcePropertiesType = "AWS::GuardDuty::Detector"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("Enable",) . toJSON . fmap Bool') _guardDutyDetectorEnable
+        [ (Just . ("Enable",) . toJSON) _guardDutyDetectorEnable
         , fmap (("FindingPublishingFrequency",) . toJSON) _guardDutyDetectorFindingPublishingFrequency
         ]
     }
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
@@ -33,7 +33,7 @@
         , (Just . ("DetectorId",) . toJSON) _guardDutyFilterDetectorId
         , (Just . ("FindingCriteria",) . toJSON) _guardDutyFilterFindingCriteria
         , fmap (("Name",) . toJSON) _guardDutyFilterName
-        , (Just . ("Rank",) . toJSON . fmap Integer') _guardDutyFilterRank
+        , (Just . ("Rank",) . toJSON) _guardDutyFilterRank
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs b/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs
@@ -27,7 +27,7 @@
     { resourcePropertiesType = "AWS::GuardDuty::IPSet"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("Activate",) . toJSON . fmap Bool') _guardDutyIPSetActivate
+        [ (Just . ("Activate",) . toJSON) _guardDutyIPSetActivate
         , (Just . ("DetectorId",) . toJSON) _guardDutyIPSetDetectorId
         , (Just . ("Format",) . toJSON) _guardDutyIPSetFormat
         , (Just . ("Location",) . toJSON) _guardDutyIPSetLocation
diff --git a/library-gen/Stratosphere/Resources/GuardDutyMember.hs b/library-gen/Stratosphere/Resources/GuardDutyMember.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyMember.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyMember.hs
@@ -29,7 +29,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("DetectorId",) . toJSON) _guardDutyMemberDetectorId
-        , fmap (("DisableEmailNotification",) . toJSON . fmap Bool') _guardDutyMemberDisableEmailNotification
+        , fmap (("DisableEmailNotification",) . toJSON) _guardDutyMemberDisableEmailNotification
         , (Just . ("Email",) . toJSON) _guardDutyMemberEmail
         , (Just . ("MemberId",) . toJSON) _guardDutyMemberMemberId
         , fmap (("Message",) . toJSON) _guardDutyMemberMessage
diff --git a/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs b/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs
@@ -27,7 +27,7 @@
     { resourcePropertiesType = "AWS::GuardDuty::ThreatIntelSet"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("Activate",) . toJSON . fmap Bool') _guardDutyThreatIntelSetActivate
+        [ (Just . ("Activate",) . toJSON) _guardDutyThreatIntelSetActivate
         , (Just . ("DetectorId",) . toJSON) _guardDutyThreatIntelSetDetectorId
         , (Just . ("Format",) . toJSON) _guardDutyThreatIntelSetFormat
         , (Just . ("Location",) . toJSON) _guardDutyThreatIntelSetLocation
diff --git a/library-gen/Stratosphere/Resources/IAMAccessKey.hs b/library-gen/Stratosphere/Resources/IAMAccessKey.hs
--- a/library-gen/Stratosphere/Resources/IAMAccessKey.hs
+++ b/library-gen/Stratosphere/Resources/IAMAccessKey.hs
@@ -25,7 +25,7 @@
     { resourcePropertiesType = "AWS::IAM::AccessKey"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Serial",) . toJSON . fmap Integer') _iAMAccessKeySerial
+        [ fmap (("Serial",) . toJSON) _iAMAccessKeySerial
         , fmap (("Status",) . toJSON) _iAMAccessKeyStatus
         , (Just . ("UserName",) . toJSON) _iAMAccessKeyUserName
         ]
diff --git a/library-gen/Stratosphere/Resources/IAMRole.hs b/library-gen/Stratosphere/Resources/IAMRole.hs
--- a/library-gen/Stratosphere/Resources/IAMRole.hs
+++ b/library-gen/Stratosphere/Resources/IAMRole.hs
@@ -31,7 +31,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("AssumeRolePolicyDocument",) . toJSON) _iAMRoleAssumeRolePolicyDocument
         , fmap (("ManagedPolicyArns",) . toJSON) _iAMRoleManagedPolicyArns
-        , fmap (("MaxSessionDuration",) . toJSON . fmap Integer') _iAMRoleMaxSessionDuration
+        , fmap (("MaxSessionDuration",) . toJSON) _iAMRoleMaxSessionDuration
         , fmap (("Path",) . toJSON) _iAMRolePath
         , fmap (("PermissionsBoundary",) . toJSON) _iAMRolePermissionsBoundary
         , fmap (("Policies",) . toJSON) _iAMRolePolicies
diff --git a/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs b/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs
--- a/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs
+++ b/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs
@@ -29,7 +29,7 @@
         hashMapFromList $ catMaybes
         [ (Just . ("AssessmentTargetArn",) . toJSON) _inspectorAssessmentTemplateAssessmentTargetArn
         , fmap (("AssessmentTemplateName",) . toJSON) _inspectorAssessmentTemplateAssessmentTemplateName
-        , (Just . ("DurationInSeconds",) . toJSON . fmap Integer') _inspectorAssessmentTemplateDurationInSeconds
+        , (Just . ("DurationInSeconds",) . toJSON) _inspectorAssessmentTemplateDurationInSeconds
         , (Just . ("RulesPackageArns",) . toJSON) _inspectorAssessmentTemplateRulesPackageArns
         , fmap (("UserAttributesForFindings",) . toJSON) _inspectorAssessmentTemplateUserAttributesForFindings
         ]
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs b/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
--- a/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
+++ b/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
@@ -25,7 +25,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("DeviceId",) . toJSON) _ioT1ClickDeviceDeviceId
-        , (Just . ("Enabled",) . toJSON . fmap Bool') _ioT1ClickDeviceEnabled
+        , (Just . ("Enabled",) . toJSON) _ioT1ClickDeviceEnabled
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/KMSKey.hs b/library-gen/Stratosphere/Resources/KMSKey.hs
--- a/library-gen/Stratosphere/Resources/KMSKey.hs
+++ b/library-gen/Stratosphere/Resources/KMSKey.hs
@@ -30,11 +30,11 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _kMSKeyDescription
-        , fmap (("EnableKeyRotation",) . toJSON . fmap Bool') _kMSKeyEnableKeyRotation
-        , fmap (("Enabled",) . toJSON . fmap Bool') _kMSKeyEnabled
+        , fmap (("EnableKeyRotation",) . toJSON) _kMSKeyEnableKeyRotation
+        , fmap (("Enabled",) . toJSON) _kMSKeyEnabled
         , (Just . ("KeyPolicy",) . toJSON) _kMSKeyKeyPolicy
         , fmap (("KeyUsage",) . toJSON) _kMSKeyKeyUsage
-        , fmap (("PendingWindowInDays",) . toJSON . fmap Integer') _kMSKeyPendingWindowInDays
+        , fmap (("PendingWindowInDays",) . toJSON) _kMSKeyPendingWindowInDays
         , fmap (("Tags",) . toJSON) _kMSKeyTags
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/KinesisStream.hs b/library-gen/Stratosphere/Resources/KinesisStream.hs
--- a/library-gen/Stratosphere/Resources/KinesisStream.hs
+++ b/library-gen/Stratosphere/Resources/KinesisStream.hs
@@ -29,8 +29,8 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _kinesisStreamName
-        , fmap (("RetentionPeriodHours",) . toJSON . fmap Integer') _kinesisStreamRetentionPeriodHours
-        , (Just . ("ShardCount",) . toJSON . fmap Integer') _kinesisStreamShardCount
+        , fmap (("RetentionPeriodHours",) . toJSON) _kinesisStreamRetentionPeriodHours
+        , (Just . ("ShardCount",) . toJSON) _kinesisStreamShardCount
         , fmap (("StreamEncryption",) . toJSON) _kinesisStreamStreamEncryption
         , fmap (("Tags",) . toJSON) _kinesisStreamTags
         ]
diff --git a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
--- a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
+++ b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
@@ -27,8 +27,8 @@
     { resourcePropertiesType = "AWS::Lambda::EventSourceMapping"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("BatchSize",) . toJSON . fmap Integer') _lambdaEventSourceMappingBatchSize
-        , fmap (("Enabled",) . toJSON . fmap Bool') _lambdaEventSourceMappingEnabled
+        [ fmap (("BatchSize",) . toJSON) _lambdaEventSourceMappingBatchSize
+        , fmap (("Enabled",) . toJSON) _lambdaEventSourceMappingEnabled
         , (Just . ("EventSourceArn",) . toJSON) _lambdaEventSourceMappingEventSourceArn
         , (Just . ("FunctionName",) . toJSON) _lambdaEventSourceMappingFunctionName
         , fmap (("StartingPosition",) . toJSON) _lambdaEventSourceMappingStartingPosition
diff --git a/library-gen/Stratosphere/Resources/LambdaFunction.hs b/library-gen/Stratosphere/Resources/LambdaFunction.hs
--- a/library-gen/Stratosphere/Resources/LambdaFunction.hs
+++ b/library-gen/Stratosphere/Resources/LambdaFunction.hs
@@ -52,12 +52,12 @@
         , (Just . ("Handler",) . toJSON) _lambdaFunctionHandler
         , fmap (("KmsKeyArn",) . toJSON) _lambdaFunctionKmsKeyArn
         , fmap (("Layers",) . toJSON) _lambdaFunctionLayers
-        , fmap (("MemorySize",) . toJSON . fmap Integer') _lambdaFunctionMemorySize
-        , fmap (("ReservedConcurrentExecutions",) . toJSON . fmap Integer') _lambdaFunctionReservedConcurrentExecutions
+        , fmap (("MemorySize",) . toJSON) _lambdaFunctionMemorySize
+        , fmap (("ReservedConcurrentExecutions",) . toJSON) _lambdaFunctionReservedConcurrentExecutions
         , (Just . ("Role",) . toJSON) _lambdaFunctionRole
         , (Just . ("Runtime",) . toJSON) _lambdaFunctionRuntime
         , fmap (("Tags",) . toJSON) _lambdaFunctionTags
-        , fmap (("Timeout",) . toJSON . fmap Integer') _lambdaFunctionTimeout
+        , fmap (("Timeout",) . toJSON) _lambdaFunctionTimeout
         , fmap (("TracingConfig",) . toJSON) _lambdaFunctionTracingConfig
         , fmap (("VpcConfig",) . toJSON) _lambdaFunctionVpcConfig
         ]
diff --git a/library-gen/Stratosphere/Resources/LogsLogGroup.hs b/library-gen/Stratosphere/Resources/LogsLogGroup.hs
--- a/library-gen/Stratosphere/Resources/LogsLogGroup.hs
+++ b/library-gen/Stratosphere/Resources/LogsLogGroup.hs
@@ -25,7 +25,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("LogGroupName",) . toJSON) _logsLogGroupLogGroupName
-        , fmap (("RetentionInDays",) . toJSON . fmap Integer') _logsLogGroupRetentionInDays
+        , fmap (("RetentionInDays",) . toJSON) _logsLogGroupRetentionInDays
         ]
     }
 
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
@@ -37,17 +37,17 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AvailabilityZones",) . toJSON) _neptuneDBClusterAvailabilityZones
-        , fmap (("BackupRetentionPeriod",) . toJSON . fmap Integer') _neptuneDBClusterBackupRetentionPeriod
+        , fmap (("BackupRetentionPeriod",) . toJSON) _neptuneDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _neptuneDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _neptuneDBClusterDBClusterParameterGroupName
         , fmap (("DBSubnetGroupName",) . toJSON) _neptuneDBClusterDBSubnetGroupName
-        , fmap (("IamAuthEnabled",) . toJSON . fmap Bool') _neptuneDBClusterIamAuthEnabled
+        , fmap (("IamAuthEnabled",) . toJSON) _neptuneDBClusterIamAuthEnabled
         , fmap (("KmsKeyId",) . toJSON) _neptuneDBClusterKmsKeyId
-        , fmap (("Port",) . toJSON . fmap Integer') _neptuneDBClusterPort
+        , fmap (("Port",) . toJSON) _neptuneDBClusterPort
         , fmap (("PreferredBackupWindow",) . toJSON) _neptuneDBClusterPreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _neptuneDBClusterPreferredMaintenanceWindow
         , fmap (("SnapshotIdentifier",) . toJSON) _neptuneDBClusterSnapshotIdentifier
-        , fmap (("StorageEncrypted",) . toJSON . fmap Bool') _neptuneDBClusterStorageEncrypted
+        , fmap (("StorageEncrypted",) . toJSON) _neptuneDBClusterStorageEncrypted
         , fmap (("Tags",) . toJSON) _neptuneDBClusterTags
         , fmap (("VpcSecurityGroupIds",) . toJSON) _neptuneDBClusterVpcSecurityGroupIds
         ]
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs b/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs
@@ -33,8 +33,8 @@
     { resourcePropertiesType = "AWS::Neptune::DBInstance"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllowMajorVersionUpgrade",) . toJSON . fmap Bool') _neptuneDBInstanceAllowMajorVersionUpgrade
-        , fmap (("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _neptuneDBInstanceAutoMinorVersionUpgrade
+        [ fmap (("AllowMajorVersionUpgrade",) . toJSON) _neptuneDBInstanceAllowMajorVersionUpgrade
+        , fmap (("AutoMinorVersionUpgrade",) . toJSON) _neptuneDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _neptuneDBInstanceAvailabilityZone
         , fmap (("DBClusterIdentifier",) . toJSON) _neptuneDBInstanceDBClusterIdentifier
         , (Just . ("DBInstanceClass",) . toJSON) _neptuneDBInstanceDBInstanceClass
diff --git a/library-gen/Stratosphere/Resources/OpsWorksApp.hs b/library-gen/Stratosphere/Resources/OpsWorksApp.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksApp.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksApp.hs
@@ -42,7 +42,7 @@
         , fmap (("DataSources",) . toJSON) _opsWorksAppDataSources
         , fmap (("Description",) . toJSON) _opsWorksAppDescription
         , fmap (("Domains",) . toJSON) _opsWorksAppDomains
-        , fmap (("EnableSsl",) . toJSON . fmap Bool') _opsWorksAppEnableSsl
+        , fmap (("EnableSsl",) . toJSON) _opsWorksAppEnableSsl
         , fmap (("Environment",) . toJSON) _opsWorksAppEnvironment
         , (Just . ("Name",) . toJSON) _opsWorksAppName
         , fmap (("Shortname",) . toJSON) _opsWorksAppShortname
diff --git a/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs b/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
@@ -39,10 +39,10 @@
     { resourcePropertiesType = "AWS::OpsWorksCM::Server"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AssociatePublicIpAddress",) . toJSON . fmap Bool') _opsWorksCMServerAssociatePublicIpAddress
+        [ fmap (("AssociatePublicIpAddress",) . toJSON) _opsWorksCMServerAssociatePublicIpAddress
         , fmap (("BackupId",) . toJSON) _opsWorksCMServerBackupId
-        , fmap (("BackupRetentionCount",) . toJSON . fmap Integer') _opsWorksCMServerBackupRetentionCount
-        , fmap (("DisableAutomatedBackup",) . toJSON . fmap Bool') _opsWorksCMServerDisableAutomatedBackup
+        , fmap (("BackupRetentionCount",) . toJSON) _opsWorksCMServerBackupRetentionCount
+        , fmap (("DisableAutomatedBackup",) . toJSON) _opsWorksCMServerDisableAutomatedBackup
         , fmap (("Engine",) . toJSON) _opsWorksCMServerEngine
         , fmap (("EngineAttributes",) . toJSON) _opsWorksCMServerEngineAttributes
         , fmap (("EngineModel",) . toJSON) _opsWorksCMServerEngineModel
diff --git a/library-gen/Stratosphere/Resources/OpsWorksInstance.hs b/library-gen/Stratosphere/Resources/OpsWorksInstance.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksInstance.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksInstance.hs
@@ -50,10 +50,10 @@
         , fmap (("AutoScalingType",) . toJSON) _opsWorksInstanceAutoScalingType
         , fmap (("AvailabilityZone",) . toJSON) _opsWorksInstanceAvailabilityZone
         , fmap (("BlockDeviceMappings",) . toJSON) _opsWorksInstanceBlockDeviceMappings
-        , fmap (("EbsOptimized",) . toJSON . fmap Bool') _opsWorksInstanceEbsOptimized
+        , fmap (("EbsOptimized",) . toJSON) _opsWorksInstanceEbsOptimized
         , fmap (("ElasticIps",) . toJSON) _opsWorksInstanceElasticIps
         , fmap (("Hostname",) . toJSON) _opsWorksInstanceHostname
-        , fmap (("InstallUpdatesOnBoot",) . toJSON . fmap Bool') _opsWorksInstanceInstallUpdatesOnBoot
+        , fmap (("InstallUpdatesOnBoot",) . toJSON) _opsWorksInstanceInstallUpdatesOnBoot
         , (Just . ("InstanceType",) . toJSON) _opsWorksInstanceInstanceType
         , (Just . ("LayerIds",) . toJSON) _opsWorksInstanceLayerIds
         , fmap (("Os",) . toJSON) _opsWorksInstanceOs
diff --git a/library-gen/Stratosphere/Resources/OpsWorksLayer.hs b/library-gen/Stratosphere/Resources/OpsWorksLayer.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksLayer.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksLayer.hs
@@ -46,14 +46,14 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("Attributes",) . toJSON) _opsWorksLayerAttributes
-        , (Just . ("AutoAssignElasticIps",) . toJSON . fmap Bool') _opsWorksLayerAutoAssignElasticIps
-        , (Just . ("AutoAssignPublicIps",) . toJSON . fmap Bool') _opsWorksLayerAutoAssignPublicIps
+        , (Just . ("AutoAssignElasticIps",) . toJSON) _opsWorksLayerAutoAssignElasticIps
+        , (Just . ("AutoAssignPublicIps",) . toJSON) _opsWorksLayerAutoAssignPublicIps
         , fmap (("CustomInstanceProfileArn",) . toJSON) _opsWorksLayerCustomInstanceProfileArn
         , fmap (("CustomJson",) . toJSON) _opsWorksLayerCustomJson
         , fmap (("CustomRecipes",) . toJSON) _opsWorksLayerCustomRecipes
         , fmap (("CustomSecurityGroupIds",) . toJSON) _opsWorksLayerCustomSecurityGroupIds
-        , (Just . ("EnableAutoHealing",) . toJSON . fmap Bool') _opsWorksLayerEnableAutoHealing
-        , fmap (("InstallUpdatesOnBoot",) . toJSON . fmap Bool') _opsWorksLayerInstallUpdatesOnBoot
+        , (Just . ("EnableAutoHealing",) . toJSON) _opsWorksLayerEnableAutoHealing
+        , fmap (("InstallUpdatesOnBoot",) . toJSON) _opsWorksLayerInstallUpdatesOnBoot
         , fmap (("LifecycleEventConfiguration",) . toJSON) _opsWorksLayerLifecycleEventConfiguration
         , fmap (("LoadBasedAutoScaling",) . toJSON) _opsWorksLayerLoadBasedAutoScaling
         , (Just . ("Name",) . toJSON) _opsWorksLayerName
@@ -62,7 +62,7 @@
         , (Just . ("StackId",) . toJSON) _opsWorksLayerStackId
         , fmap (("Tags",) . toJSON) _opsWorksLayerTags
         , (Just . ("Type",) . toJSON) _opsWorksLayerType
-        , fmap (("UseEbsOptimizedInstances",) . toJSON . fmap Bool') _opsWorksLayerUseEbsOptimizedInstances
+        , fmap (("UseEbsOptimizedInstances",) . toJSON) _opsWorksLayerUseEbsOptimizedInstances
         , fmap (("VolumeConfigurations",) . toJSON) _opsWorksLayerVolumeConfigurations
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/OpsWorksStack.hs b/library-gen/Stratosphere/Resources/OpsWorksStack.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksStack.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksStack.hs
@@ -56,7 +56,7 @@
         , fmap (("Attributes",) . toJSON) _opsWorksStackAttributes
         , fmap (("ChefConfiguration",) . toJSON) _opsWorksStackChefConfiguration
         , fmap (("CloneAppIds",) . toJSON) _opsWorksStackCloneAppIds
-        , fmap (("ClonePermissions",) . toJSON . fmap Bool') _opsWorksStackClonePermissions
+        , fmap (("ClonePermissions",) . toJSON) _opsWorksStackClonePermissions
         , fmap (("ConfigurationManager",) . toJSON) _opsWorksStackConfigurationManager
         , fmap (("CustomCookbooksSource",) . toJSON) _opsWorksStackCustomCookbooksSource
         , fmap (("CustomJson",) . toJSON) _opsWorksStackCustomJson
@@ -74,8 +74,8 @@
         , (Just . ("ServiceRoleArn",) . toJSON) _opsWorksStackServiceRoleArn
         , fmap (("SourceStackId",) . toJSON) _opsWorksStackSourceStackId
         , fmap (("Tags",) . toJSON) _opsWorksStackTags
-        , fmap (("UseCustomCookbooks",) . toJSON . fmap Bool') _opsWorksStackUseCustomCookbooks
-        , fmap (("UseOpsworksSecurityGroups",) . toJSON . fmap Bool') _opsWorksStackUseOpsworksSecurityGroups
+        , fmap (("UseCustomCookbooks",) . toJSON) _opsWorksStackUseCustomCookbooks
+        , fmap (("UseOpsworksSecurityGroups",) . toJSON) _opsWorksStackUseOpsworksSecurityGroups
         , fmap (("VpcId",) . toJSON) _opsWorksStackVpcId
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs b/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs
@@ -26,7 +26,7 @@
     { resourcePropertiesType = "AWS::OpsWorks::UserProfile"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllowSelfManagement",) . toJSON . fmap Bool') _opsWorksUserProfileAllowSelfManagement
+        [ fmap (("AllowSelfManagement",) . toJSON) _opsWorksUserProfileAllowSelfManagement
         , (Just . ("IamUserArn",) . toJSON) _opsWorksUserProfileIamUserArn
         , fmap (("SshPublicKey",) . toJSON) _opsWorksUserProfileSshPublicKey
         , fmap (("SshUsername",) . toJSON) _opsWorksUserProfileSshUsername
diff --git a/library-gen/Stratosphere/Resources/RAMResourceShare.hs b/library-gen/Stratosphere/Resources/RAMResourceShare.hs
--- a/library-gen/Stratosphere/Resources/RAMResourceShare.hs
+++ b/library-gen/Stratosphere/Resources/RAMResourceShare.hs
@@ -27,7 +27,7 @@
     { resourcePropertiesType = "AWS::RAM::ResourceShare"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllowExternalPrincipals",) . toJSON . fmap Bool') _rAMResourceShareAllowExternalPrincipals
+        [ fmap (("AllowExternalPrincipals",) . toJSON) _rAMResourceShareAllowExternalPrincipals
         , (Just . ("Name",) . toJSON) _rAMResourceShareName
         , fmap (("Principals",) . toJSON) _rAMResourceSharePrincipals
         , fmap (("ResourceArns",) . toJSON) _rAMResourceShareResourceArns
diff --git a/library-gen/Stratosphere/Resources/RDSDBCluster.hs b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
--- a/library-gen/Stratosphere/Resources/RDSDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
@@ -50,29 +50,29 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AvailabilityZones",) . toJSON) _rDSDBClusterAvailabilityZones
-        , fmap (("BacktrackWindow",) . toJSON . fmap Integer') _rDSDBClusterBacktrackWindow
-        , fmap (("BackupRetentionPeriod",) . toJSON . fmap Integer') _rDSDBClusterBackupRetentionPeriod
+        , fmap (("BacktrackWindow",) . toJSON) _rDSDBClusterBacktrackWindow
+        , fmap (("BackupRetentionPeriod",) . toJSON) _rDSDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _rDSDBClusterDBClusterIdentifier
         , fmap (("DBClusterParameterGroupName",) . toJSON) _rDSDBClusterDBClusterParameterGroupName
         , fmap (("DBSubnetGroupName",) . toJSON) _rDSDBClusterDBSubnetGroupName
         , fmap (("DatabaseName",) . toJSON) _rDSDBClusterDatabaseName
-        , fmap (("DeletionProtection",) . toJSON . fmap Bool') _rDSDBClusterDeletionProtection
+        , fmap (("DeletionProtection",) . toJSON) _rDSDBClusterDeletionProtection
         , fmap (("EnableCloudwatchLogsExports",) . toJSON) _rDSDBClusterEnableCloudwatchLogsExports
-        , fmap (("EnableIAMDatabaseAuthentication",) . toJSON . fmap Bool') _rDSDBClusterEnableIAMDatabaseAuthentication
+        , fmap (("EnableIAMDatabaseAuthentication",) . toJSON) _rDSDBClusterEnableIAMDatabaseAuthentication
         , (Just . ("Engine",) . toJSON) _rDSDBClusterEngine
         , fmap (("EngineMode",) . toJSON) _rDSDBClusterEngineMode
         , fmap (("EngineVersion",) . toJSON) _rDSDBClusterEngineVersion
         , fmap (("KmsKeyId",) . toJSON) _rDSDBClusterKmsKeyId
         , fmap (("MasterUserPassword",) . toJSON) _rDSDBClusterMasterUserPassword
         , fmap (("MasterUsername",) . toJSON) _rDSDBClusterMasterUsername
-        , fmap (("Port",) . toJSON . fmap Integer') _rDSDBClusterPort
+        , fmap (("Port",) . toJSON) _rDSDBClusterPort
         , fmap (("PreferredBackupWindow",) . toJSON) _rDSDBClusterPreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _rDSDBClusterPreferredMaintenanceWindow
         , fmap (("ReplicationSourceIdentifier",) . toJSON) _rDSDBClusterReplicationSourceIdentifier
         , fmap (("ScalingConfiguration",) . toJSON) _rDSDBClusterScalingConfiguration
         , fmap (("SnapshotIdentifier",) . toJSON) _rDSDBClusterSnapshotIdentifier
         , fmap (("SourceRegion",) . toJSON) _rDSDBClusterSourceRegion
-        , fmap (("StorageEncrypted",) . toJSON . fmap Bool') _rDSDBClusterStorageEncrypted
+        , fmap (("StorageEncrypted",) . toJSON) _rDSDBClusterStorageEncrypted
         , fmap (("Tags",) . toJSON) _rDSDBClusterTags
         , fmap (("VpcSecurityGroupIds",) . toJSON) _rDSDBClusterVpcSecurityGroupIds
         ]
diff --git a/library-gen/Stratosphere/Resources/RDSDBInstance.hs b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
--- a/library-gen/Stratosphere/Resources/RDSDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
@@ -73,12 +73,12 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ fmap (("AllocatedStorage",) . toJSON) _rDSDBInstanceAllocatedStorage
-        , fmap (("AllowMajorVersionUpgrade",) . toJSON . fmap Bool') _rDSDBInstanceAllowMajorVersionUpgrade
-        , fmap (("AutoMinorVersionUpgrade",) . toJSON . fmap Bool') _rDSDBInstanceAutoMinorVersionUpgrade
+        , fmap (("AllowMajorVersionUpgrade",) . toJSON) _rDSDBInstanceAllowMajorVersionUpgrade
+        , fmap (("AutoMinorVersionUpgrade",) . toJSON) _rDSDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _rDSDBInstanceAvailabilityZone
         , fmap (("BackupRetentionPeriod",) . toJSON) _rDSDBInstanceBackupRetentionPeriod
         , fmap (("CharacterSetName",) . toJSON) _rDSDBInstanceCharacterSetName
-        , fmap (("CopyTagsToSnapshot",) . toJSON . fmap Bool') _rDSDBInstanceCopyTagsToSnapshot
+        , fmap (("CopyTagsToSnapshot",) . toJSON) _rDSDBInstanceCopyTagsToSnapshot
         , fmap (("DBClusterIdentifier",) . toJSON) _rDSDBInstanceDBClusterIdentifier
         , (Just . ("DBInstanceClass",) . toJSON) _rDSDBInstanceDBInstanceClass
         , fmap (("DBInstanceIdentifier",) . toJSON) _rDSDBInstanceDBInstanceIdentifier
@@ -87,39 +87,39 @@
         , fmap (("DBSecurityGroups",) . toJSON) _rDSDBInstanceDBSecurityGroups
         , fmap (("DBSnapshotIdentifier",) . toJSON) _rDSDBInstanceDBSnapshotIdentifier
         , fmap (("DBSubnetGroupName",) . toJSON) _rDSDBInstanceDBSubnetGroupName
-        , fmap (("DeleteAutomatedBackups",) . toJSON . fmap Bool') _rDSDBInstanceDeleteAutomatedBackups
-        , fmap (("DeletionProtection",) . toJSON . fmap Bool') _rDSDBInstanceDeletionProtection
+        , fmap (("DeleteAutomatedBackups",) . toJSON) _rDSDBInstanceDeleteAutomatedBackups
+        , fmap (("DeletionProtection",) . toJSON) _rDSDBInstanceDeletionProtection
         , fmap (("Domain",) . toJSON) _rDSDBInstanceDomain
         , fmap (("DomainIAMRoleName",) . toJSON) _rDSDBInstanceDomainIAMRoleName
         , fmap (("EnableCloudwatchLogsExports",) . toJSON) _rDSDBInstanceEnableCloudwatchLogsExports
-        , fmap (("EnableIAMDatabaseAuthentication",) . toJSON . fmap Bool') _rDSDBInstanceEnableIAMDatabaseAuthentication
-        , fmap (("EnablePerformanceInsights",) . toJSON . fmap Bool') _rDSDBInstanceEnablePerformanceInsights
+        , fmap (("EnableIAMDatabaseAuthentication",) . toJSON) _rDSDBInstanceEnableIAMDatabaseAuthentication
+        , fmap (("EnablePerformanceInsights",) . toJSON) _rDSDBInstanceEnablePerformanceInsights
         , fmap (("Engine",) . toJSON) _rDSDBInstanceEngine
         , fmap (("EngineVersion",) . toJSON) _rDSDBInstanceEngineVersion
-        , fmap (("Iops",) . toJSON . fmap Integer') _rDSDBInstanceIops
+        , fmap (("Iops",) . toJSON) _rDSDBInstanceIops
         , fmap (("KmsKeyId",) . toJSON) _rDSDBInstanceKmsKeyId
         , fmap (("LicenseModel",) . toJSON) _rDSDBInstanceLicenseModel
         , fmap (("MasterUserPassword",) . toJSON) _rDSDBInstanceMasterUserPassword
         , fmap (("MasterUsername",) . toJSON) _rDSDBInstanceMasterUsername
-        , fmap (("MonitoringInterval",) . toJSON . fmap Integer') _rDSDBInstanceMonitoringInterval
+        , fmap (("MonitoringInterval",) . toJSON) _rDSDBInstanceMonitoringInterval
         , fmap (("MonitoringRoleArn",) . toJSON) _rDSDBInstanceMonitoringRoleArn
-        , fmap (("MultiAZ",) . toJSON . fmap Bool') _rDSDBInstanceMultiAZ
+        , fmap (("MultiAZ",) . toJSON) _rDSDBInstanceMultiAZ
         , fmap (("OptionGroupName",) . toJSON) _rDSDBInstanceOptionGroupName
         , fmap (("PerformanceInsightsKMSKeyId",) . toJSON) _rDSDBInstancePerformanceInsightsKMSKeyId
-        , fmap (("PerformanceInsightsRetentionPeriod",) . toJSON . fmap Integer') _rDSDBInstancePerformanceInsightsRetentionPeriod
+        , fmap (("PerformanceInsightsRetentionPeriod",) . toJSON) _rDSDBInstancePerformanceInsightsRetentionPeriod
         , fmap (("Port",) . toJSON) _rDSDBInstancePort
         , fmap (("PreferredBackupWindow",) . toJSON) _rDSDBInstancePreferredBackupWindow
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _rDSDBInstancePreferredMaintenanceWindow
         , fmap (("ProcessorFeatures",) . toJSON) _rDSDBInstanceProcessorFeatures
-        , fmap (("PromotionTier",) . toJSON . fmap Integer') _rDSDBInstancePromotionTier
-        , fmap (("PubliclyAccessible",) . toJSON . fmap Bool') _rDSDBInstancePubliclyAccessible
+        , fmap (("PromotionTier",) . toJSON) _rDSDBInstancePromotionTier
+        , fmap (("PubliclyAccessible",) . toJSON) _rDSDBInstancePubliclyAccessible
         , fmap (("SourceDBInstanceIdentifier",) . toJSON) _rDSDBInstanceSourceDBInstanceIdentifier
         , fmap (("SourceRegion",) . toJSON) _rDSDBInstanceSourceRegion
-        , fmap (("StorageEncrypted",) . toJSON . fmap Bool') _rDSDBInstanceStorageEncrypted
+        , fmap (("StorageEncrypted",) . toJSON) _rDSDBInstanceStorageEncrypted
         , fmap (("StorageType",) . toJSON) _rDSDBInstanceStorageType
         , fmap (("Tags",) . toJSON) _rDSDBInstanceTags
         , fmap (("Timezone",) . toJSON) _rDSDBInstanceTimezone
-        , fmap (("UseDefaultProcessorFeatures",) . toJSON . fmap Bool') _rDSDBInstanceUseDefaultProcessorFeatures
+        , fmap (("UseDefaultProcessorFeatures",) . toJSON) _rDSDBInstanceUseDefaultProcessorFeatures
         , fmap (("VPCSecurityGroups",) . toJSON) _rDSDBInstanceVPCSecurityGroups
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/RDSEventSubscription.hs b/library-gen/Stratosphere/Resources/RDSEventSubscription.hs
--- a/library-gen/Stratosphere/Resources/RDSEventSubscription.hs
+++ b/library-gen/Stratosphere/Resources/RDSEventSubscription.hs
@@ -27,7 +27,7 @@
     { resourcePropertiesType = "AWS::RDS::EventSubscription"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Enabled",) . toJSON . fmap Bool') _rDSEventSubscriptionEnabled
+        [ fmap (("Enabled",) . toJSON) _rDSEventSubscriptionEnabled
         , fmap (("EventCategories",) . toJSON) _rDSEventSubscriptionEventCategories
         , (Just . ("SnsTopicArn",) . toJSON) _rDSEventSubscriptionSnsTopicArn
         , fmap (("SourceIds",) . toJSON) _rDSEventSubscriptionSourceIds
diff --git a/library-gen/Stratosphere/Resources/RedshiftCluster.hs b/library-gen/Stratosphere/Resources/RedshiftCluster.hs
--- a/library-gen/Stratosphere/Resources/RedshiftCluster.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftCluster.hs
@@ -52,8 +52,8 @@
     { resourcePropertiesType = "AWS::Redshift::Cluster"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("AllowVersionUpgrade",) . toJSON . fmap Bool') _redshiftClusterAllowVersionUpgrade
-        , fmap (("AutomatedSnapshotRetentionPeriod",) . toJSON . fmap Integer') _redshiftClusterAutomatedSnapshotRetentionPeriod
+        [ fmap (("AllowVersionUpgrade",) . toJSON) _redshiftClusterAllowVersionUpgrade
+        , fmap (("AutomatedSnapshotRetentionPeriod",) . toJSON) _redshiftClusterAutomatedSnapshotRetentionPeriod
         , fmap (("AvailabilityZone",) . toJSON) _redshiftClusterAvailabilityZone
         , fmap (("ClusterIdentifier",) . toJSON) _redshiftClusterClusterIdentifier
         , fmap (("ClusterParameterGroupName",) . toJSON) _redshiftClusterClusterParameterGroupName
@@ -63,7 +63,7 @@
         , fmap (("ClusterVersion",) . toJSON) _redshiftClusterClusterVersion
         , (Just . ("DBName",) . toJSON) _redshiftClusterDBName
         , fmap (("ElasticIp",) . toJSON) _redshiftClusterElasticIp
-        , fmap (("Encrypted",) . toJSON . fmap Bool') _redshiftClusterEncrypted
+        , fmap (("Encrypted",) . toJSON) _redshiftClusterEncrypted
         , fmap (("HsmClientCertificateIdentifier",) . toJSON) _redshiftClusterHsmClientCertificateIdentifier
         , fmap (("HsmConfigurationIdentifier",) . toJSON) _redshiftClusterHsmConfigurationIdentifier
         , fmap (("IamRoles",) . toJSON) _redshiftClusterIamRoles
@@ -72,11 +72,11 @@
         , (Just . ("MasterUserPassword",) . toJSON) _redshiftClusterMasterUserPassword
         , (Just . ("MasterUsername",) . toJSON) _redshiftClusterMasterUsername
         , (Just . ("NodeType",) . toJSON) _redshiftClusterNodeType
-        , fmap (("NumberOfNodes",) . toJSON . fmap Integer') _redshiftClusterNumberOfNodes
+        , fmap (("NumberOfNodes",) . toJSON) _redshiftClusterNumberOfNodes
         , fmap (("OwnerAccount",) . toJSON) _redshiftClusterOwnerAccount
-        , fmap (("Port",) . toJSON . fmap Integer') _redshiftClusterPort
+        , fmap (("Port",) . toJSON) _redshiftClusterPort
         , fmap (("PreferredMaintenanceWindow",) . toJSON) _redshiftClusterPreferredMaintenanceWindow
-        , fmap (("PubliclyAccessible",) . toJSON . fmap Bool') _redshiftClusterPubliclyAccessible
+        , fmap (("PubliclyAccessible",) . toJSON) _redshiftClusterPubliclyAccessible
         , fmap (("SnapshotClusterIdentifier",) . toJSON) _redshiftClusterSnapshotClusterIdentifier
         , fmap (("SnapshotIdentifier",) . toJSON) _redshiftClusterSnapshotIdentifier
         , fmap (("Tags",) . toJSON) _redshiftClusterTags
diff --git a/library-gen/Stratosphere/Resources/Route53RecordSet.hs b/library-gen/Stratosphere/Resources/Route53RecordSet.hs
--- a/library-gen/Stratosphere/Resources/Route53RecordSet.hs
+++ b/library-gen/Stratosphere/Resources/Route53RecordSet.hs
@@ -45,14 +45,14 @@
         , fmap (("HealthCheckId",) . toJSON) _route53RecordSetHealthCheckId
         , fmap (("HostedZoneId",) . toJSON) _route53RecordSetHostedZoneId
         , fmap (("HostedZoneName",) . toJSON) _route53RecordSetHostedZoneName
-        , fmap (("MultiValueAnswer",) . toJSON . fmap Bool') _route53RecordSetMultiValueAnswer
+        , fmap (("MultiValueAnswer",) . toJSON) _route53RecordSetMultiValueAnswer
         , (Just . ("Name",) . toJSON) _route53RecordSetName
         , fmap (("Region",) . toJSON) _route53RecordSetRegion
         , fmap (("ResourceRecords",) . toJSON) _route53RecordSetResourceRecords
         , fmap (("SetIdentifier",) . toJSON) _route53RecordSetSetIdentifier
         , fmap (("TTL",) . toJSON) _route53RecordSetTTL
         , (Just . ("Type",) . toJSON) _route53RecordSetType
-        , fmap (("Weight",) . toJSON . fmap Integer') _route53RecordSetWeight
+        , fmap (("Weight",) . toJSON) _route53RecordSetWeight
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/SNSSubscription.hs b/library-gen/Stratosphere/Resources/SNSSubscription.hs
--- a/library-gen/Stratosphere/Resources/SNSSubscription.hs
+++ b/library-gen/Stratosphere/Resources/SNSSubscription.hs
@@ -33,7 +33,7 @@
         , fmap (("Endpoint",) . toJSON) _sNSSubscriptionEndpoint
         , fmap (("FilterPolicy",) . toJSON) _sNSSubscriptionFilterPolicy
         , (Just . ("Protocol",) . toJSON) _sNSSubscriptionProtocol
-        , fmap (("RawMessageDelivery",) . toJSON . fmap Bool') _sNSSubscriptionRawMessageDelivery
+        , fmap (("RawMessageDelivery",) . toJSON) _sNSSubscriptionRawMessageDelivery
         , fmap (("Region",) . toJSON) _sNSSubscriptionRegion
         , (Just . ("TopicArn",) . toJSON) _sNSSubscriptionTopicArn
         ]
diff --git a/library-gen/Stratosphere/Resources/SQSQueue.hs b/library-gen/Stratosphere/Resources/SQSQueue.hs
--- a/library-gen/Stratosphere/Resources/SQSQueue.hs
+++ b/library-gen/Stratosphere/Resources/SQSQueue.hs
@@ -34,18 +34,18 @@
     { resourcePropertiesType = "AWS::SQS::Queue"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("ContentBasedDeduplication",) . toJSON . fmap Bool') _sQSQueueContentBasedDeduplication
-        , fmap (("DelaySeconds",) . toJSON . fmap Integer') _sQSQueueDelaySeconds
-        , fmap (("FifoQueue",) . toJSON . fmap Bool') _sQSQueueFifoQueue
-        , fmap (("KmsDataKeyReusePeriodSeconds",) . toJSON . fmap Integer') _sQSQueueKmsDataKeyReusePeriodSeconds
+        [ fmap (("ContentBasedDeduplication",) . toJSON) _sQSQueueContentBasedDeduplication
+        , fmap (("DelaySeconds",) . toJSON) _sQSQueueDelaySeconds
+        , fmap (("FifoQueue",) . toJSON) _sQSQueueFifoQueue
+        , fmap (("KmsDataKeyReusePeriodSeconds",) . toJSON) _sQSQueueKmsDataKeyReusePeriodSeconds
         , fmap (("KmsMasterKeyId",) . toJSON) _sQSQueueKmsMasterKeyId
-        , fmap (("MaximumMessageSize",) . toJSON . fmap Integer') _sQSQueueMaximumMessageSize
-        , fmap (("MessageRetentionPeriod",) . toJSON . fmap Integer') _sQSQueueMessageRetentionPeriod
+        , fmap (("MaximumMessageSize",) . toJSON) _sQSQueueMaximumMessageSize
+        , fmap (("MessageRetentionPeriod",) . toJSON) _sQSQueueMessageRetentionPeriod
         , fmap (("QueueName",) . toJSON) _sQSQueueQueueName
-        , fmap (("ReceiveMessageWaitTimeSeconds",) . toJSON . fmap Integer') _sQSQueueReceiveMessageWaitTimeSeconds
+        , fmap (("ReceiveMessageWaitTimeSeconds",) . toJSON) _sQSQueueReceiveMessageWaitTimeSeconds
         , fmap (("RedrivePolicy",) . toJSON) _sQSQueueRedrivePolicy
         , fmap (("Tags",) . toJSON) _sQSQueueTags
-        , fmap (("VisibilityTimeout",) . toJSON . fmap Integer') _sQSQueueVisibilityTimeout
+        , fmap (("VisibilityTimeout",) . toJSON) _sQSQueueVisibilityTimeout
         ]
     }
 
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs
@@ -32,10 +32,10 @@
     { resourcePropertiesType = "AWS::SSM::MaintenanceWindow"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ (Just . ("AllowUnassociatedTargets",) . toJSON . fmap Bool') _sSMMaintenanceWindowAllowUnassociatedTargets
-        , (Just . ("Cutoff",) . toJSON . fmap Integer') _sSMMaintenanceWindowCutoff
+        [ (Just . ("AllowUnassociatedTargets",) . toJSON) _sSMMaintenanceWindowAllowUnassociatedTargets
+        , (Just . ("Cutoff",) . toJSON) _sSMMaintenanceWindowCutoff
         , fmap (("Description",) . toJSON) _sSMMaintenanceWindowDescription
-        , (Just . ("Duration",) . toJSON . fmap Integer') _sSMMaintenanceWindowDuration
+        , (Just . ("Duration",) . toJSON) _sSMMaintenanceWindowDuration
         , fmap (("EndDate",) . toJSON) _sSMMaintenanceWindowEndDate
         , (Just . ("Name",) . toJSON) _sSMMaintenanceWindowName
         , (Just . ("Schedule",) . toJSON) _sSMMaintenanceWindowSchedule
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
@@ -42,7 +42,7 @@
         , (Just . ("MaxConcurrency",) . toJSON) _sSMMaintenanceWindowTaskMaxConcurrency
         , (Just . ("MaxErrors",) . toJSON) _sSMMaintenanceWindowTaskMaxErrors
         , fmap (("Name",) . toJSON) _sSMMaintenanceWindowTaskName
-        , (Just . ("Priority",) . toJSON . fmap Integer') _sSMMaintenanceWindowTaskPriority
+        , (Just . ("Priority",) . toJSON) _sSMMaintenanceWindowTaskPriority
         , (Just . ("ServiceRoleArn",) . toJSON) _sSMMaintenanceWindowTaskServiceRoleArn
         , (Just . ("Targets",) . toJSON) _sSMMaintenanceWindowTaskTargets
         , (Just . ("TaskArn",) . toJSON) _sSMMaintenanceWindowTaskTaskArn
diff --git a/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs b/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs
--- a/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs
+++ b/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs
@@ -11,6 +11,7 @@
 import Stratosphere.ResourceProperties.SSMPatchBaselineRuleGroup
 import Stratosphere.ResourceProperties.SSMPatchBaselinePatchFilterGroup
 import Stratosphere.ResourceProperties.SSMPatchBaselinePatchSource
+import Stratosphere.ResourceProperties.Tag
 
 -- | Full data type definition for SSMPatchBaseline. See 'ssmPatchBaseline'
 -- for a more convenient constructor.
@@ -28,6 +29,7 @@
   , _sSMPatchBaselineRejectedPatches :: Maybe (ValList Text)
   , _sSMPatchBaselineRejectedPatchesAction :: Maybe (Val Text)
   , _sSMPatchBaselineSources :: Maybe [SSMPatchBaselinePatchSource]
+  , _sSMPatchBaselineTags :: Maybe [Tag]
   } deriving (Show, Eq)
 
 instance ToResourceProperties SSMPatchBaseline where
@@ -39,7 +41,7 @@
         [ fmap (("ApprovalRules",) . toJSON) _sSMPatchBaselineApprovalRules
         , fmap (("ApprovedPatches",) . toJSON) _sSMPatchBaselineApprovedPatches
         , fmap (("ApprovedPatchesComplianceLevel",) . toJSON) _sSMPatchBaselineApprovedPatchesComplianceLevel
-        , fmap (("ApprovedPatchesEnableNonSecurity",) . toJSON . fmap Bool') _sSMPatchBaselineApprovedPatchesEnableNonSecurity
+        , fmap (("ApprovedPatchesEnableNonSecurity",) . toJSON) _sSMPatchBaselineApprovedPatchesEnableNonSecurity
         , fmap (("Description",) . toJSON) _sSMPatchBaselineDescription
         , fmap (("GlobalFilters",) . toJSON) _sSMPatchBaselineGlobalFilters
         , (Just . ("Name",) . toJSON) _sSMPatchBaselineName
@@ -48,6 +50,7 @@
         , fmap (("RejectedPatches",) . toJSON) _sSMPatchBaselineRejectedPatches
         , fmap (("RejectedPatchesAction",) . toJSON) _sSMPatchBaselineRejectedPatchesAction
         , fmap (("Sources",) . toJSON) _sSMPatchBaselineSources
+        , fmap (("Tags",) . toJSON) _sSMPatchBaselineTags
         ]
     }
 
@@ -70,6 +73,7 @@
   , _sSMPatchBaselineRejectedPatches = Nothing
   , _sSMPatchBaselineRejectedPatchesAction = Nothing
   , _sSMPatchBaselineSources = Nothing
+  , _sSMPatchBaselineTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvalrules
@@ -119,3 +123,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-sources
 ssmpbSources :: Lens' SSMPatchBaseline (Maybe [SSMPatchBaselinePatchSource])
 ssmpbSources = lens _sSMPatchBaselineSources (\s a -> s { _sSMPatchBaselineSources = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-tags
+ssmpbTags :: Lens' SSMPatchBaseline (Maybe [Tag])
+ssmpbTags = lens _sSMPatchBaselineTags (\s a -> s { _sSMPatchBaselineTags = a })
diff --git a/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs b/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs
--- a/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs
@@ -20,6 +20,7 @@
   , _sageMakerNotebookInstanceLifecycleConfigName :: Maybe (Val Text)
   , _sageMakerNotebookInstanceNotebookInstanceName :: Maybe (Val Text)
   , _sageMakerNotebookInstanceRoleArn :: Val Text
+  , _sageMakerNotebookInstanceRootAccess :: Maybe (Val Text)
   , _sageMakerNotebookInstanceSecurityGroupIds :: Maybe (ValList Text)
   , _sageMakerNotebookInstanceSubnetId :: Maybe (Val Text)
   , _sageMakerNotebookInstanceTags :: Maybe [Tag]
@@ -38,10 +39,11 @@
         , fmap (("LifecycleConfigName",) . toJSON) _sageMakerNotebookInstanceLifecycleConfigName
         , fmap (("NotebookInstanceName",) . toJSON) _sageMakerNotebookInstanceNotebookInstanceName
         , (Just . ("RoleArn",) . toJSON) _sageMakerNotebookInstanceRoleArn
+        , fmap (("RootAccess",) . toJSON) _sageMakerNotebookInstanceRootAccess
         , fmap (("SecurityGroupIds",) . toJSON) _sageMakerNotebookInstanceSecurityGroupIds
         , fmap (("SubnetId",) . toJSON) _sageMakerNotebookInstanceSubnetId
         , fmap (("Tags",) . toJSON) _sageMakerNotebookInstanceTags
-        , fmap (("VolumeSizeInGB",) . toJSON . fmap Integer') _sageMakerNotebookInstanceVolumeSizeInGB
+        , fmap (("VolumeSizeInGB",) . toJSON) _sageMakerNotebookInstanceVolumeSizeInGB
         ]
     }
 
@@ -59,6 +61,7 @@
   , _sageMakerNotebookInstanceLifecycleConfigName = Nothing
   , _sageMakerNotebookInstanceNotebookInstanceName = Nothing
   , _sageMakerNotebookInstanceRoleArn = roleArnarg
+  , _sageMakerNotebookInstanceRootAccess = Nothing
   , _sageMakerNotebookInstanceSecurityGroupIds = Nothing
   , _sageMakerNotebookInstanceSubnetId = Nothing
   , _sageMakerNotebookInstanceTags = Nothing
@@ -88,6 +91,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rolearn
 smniRoleArn :: Lens' SageMakerNotebookInstance (Val Text)
 smniRoleArn = lens _sageMakerNotebookInstanceRoleArn (\s a -> s { _sageMakerNotebookInstanceRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rootaccess
+smniRootAccess :: Lens' SageMakerNotebookInstance (Maybe (Val Text))
+smniRootAccess = lens _sageMakerNotebookInstanceRootAccess (\s a -> s { _sageMakerNotebookInstanceRootAccess = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-securitygroupids
 smniSecurityGroupIds :: Lens' SageMakerNotebookInstance (Maybe (ValList Text))
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs b/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs
@@ -25,7 +25,7 @@
     { resourcePropertiesType = "AWS::ServiceCatalog::TagOption"
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
-        [ fmap (("Active",) . toJSON . fmap Bool') _serviceCatalogTagOptionActive
+        [ fmap (("Active",) . toJSON) _serviceCatalogTagOptionActive
         , (Just . ("Key",) . toJSON) _serviceCatalogTagOptionKey
         , (Just . ("Value",) . toJSON) _serviceCatalogTagOptionValue
         ]
diff --git a/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs b/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs
--- a/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs
+++ b/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs
@@ -8,13 +8,14 @@
 module Stratosphere.Resources.StepFunctionsActivity where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.StepFunctionsActivityTagsEntry
 
 -- | Full data type definition for StepFunctionsActivity. See
 -- 'stepFunctionsActivity' for a more convenient constructor.
 data StepFunctionsActivity =
   StepFunctionsActivity
   { _stepFunctionsActivityName :: Val Text
+  , _stepFunctionsActivityTags :: Maybe [StepFunctionsActivityTagsEntry]
   } deriving (Show, Eq)
 
 instance ToResourceProperties StepFunctionsActivity where
@@ -24,6 +25,7 @@
     , resourcePropertiesProperties =
         hashMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _stepFunctionsActivityName
+        , fmap (("Tags",) . toJSON) _stepFunctionsActivityTags
         ]
     }
 
@@ -35,8 +37,13 @@
 stepFunctionsActivity namearg =
   StepFunctionsActivity
   { _stepFunctionsActivityName = namearg
+  , _stepFunctionsActivityTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html#cfn-stepfunctions-activity-name
 sfaName :: Lens' StepFunctionsActivity (Val Text)
 sfaName = lens _stepFunctionsActivityName (\s a -> s { _stepFunctionsActivityName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html#cfn-stepfunctions-activity-tags
+sfaTags :: Lens' StepFunctionsActivity (Maybe [StepFunctionsActivityTagsEntry])
+sfaTags = lens _stepFunctionsActivityTags (\s a -> s { _stepFunctionsActivityTags = a })
diff --git a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
--- a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
+++ b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
@@ -8,7 +8,7 @@
 module Stratosphere.Resources.StepFunctionsStateMachine where
 
 import Stratosphere.ResourceImports
-
+import Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry
 
 -- | Full data type definition for StepFunctionsStateMachine. See
 -- 'stepFunctionsStateMachine' for a more convenient constructor.
@@ -17,6 +17,7 @@
   { _stepFunctionsStateMachineDefinitionString :: Val Text
   , _stepFunctionsStateMachineRoleArn :: Val Text
   , _stepFunctionsStateMachineStateMachineName :: Maybe (Val Text)
+  , _stepFunctionsStateMachineTags :: Maybe [StepFunctionsStateMachineTagsEntry]
   } deriving (Show, Eq)
 
 instance ToResourceProperties StepFunctionsStateMachine where
@@ -28,6 +29,7 @@
         [ (Just . ("DefinitionString",) . toJSON) _stepFunctionsStateMachineDefinitionString
         , (Just . ("RoleArn",) . toJSON) _stepFunctionsStateMachineRoleArn
         , fmap (("StateMachineName",) . toJSON) _stepFunctionsStateMachineStateMachineName
+        , fmap (("Tags",) . toJSON) _stepFunctionsStateMachineTags
         ]
     }
 
@@ -42,6 +44,7 @@
   { _stepFunctionsStateMachineDefinitionString = definitionStringarg
   , _stepFunctionsStateMachineRoleArn = roleArnarg
   , _stepFunctionsStateMachineStateMachineName = Nothing
+  , _stepFunctionsStateMachineTags = Nothing
   }
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionstring
@@ -55,3 +58,7 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename
 sfsmStateMachineName :: Lens' StepFunctionsStateMachine (Maybe (Val Text))
 sfsmStateMachineName = lens _stepFunctionsStateMachineStateMachineName (\s a -> s { _stepFunctionsStateMachineStateMachineName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags
+sfsmTags :: Lens' StepFunctionsStateMachine (Maybe [StepFunctionsStateMachineTagsEntry])
+sfsmTags = lens _stepFunctionsStateMachineTags (\s a -> s { _stepFunctionsStateMachineTags = a })
diff --git a/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs b/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs
--- a/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs
+++ b/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs
@@ -33,10 +33,10 @@
         hashMapFromList $ catMaybes
         [ (Just . ("BundleId",) . toJSON) _workSpacesWorkspaceBundleId
         , (Just . ("DirectoryId",) . toJSON) _workSpacesWorkspaceDirectoryId
-        , fmap (("RootVolumeEncryptionEnabled",) . toJSON . fmap Bool') _workSpacesWorkspaceRootVolumeEncryptionEnabled
+        , fmap (("RootVolumeEncryptionEnabled",) . toJSON) _workSpacesWorkspaceRootVolumeEncryptionEnabled
         , fmap (("Tags",) . toJSON) _workSpacesWorkspaceTags
         , (Just . ("UserName",) . toJSON) _workSpacesWorkspaceUserName
-        , fmap (("UserVolumeEncryptionEnabled",) . toJSON . fmap Bool') _workSpacesWorkspaceUserVolumeEncryptionEnabled
+        , fmap (("UserVolumeEncryptionEnabled",) . toJSON) _workSpacesWorkspaceUserVolumeEncryptionEnabled
         , fmap (("VolumeEncryptionKey",) . toJSON) _workSpacesWorkspaceVolumeEncryptionKey
         , fmap (("WorkspaceProperties",) . toJSON) _workSpacesWorkspaceWorkspaceProperties
         ]
diff --git a/library/Stratosphere/Parameters.hs b/library/Stratosphere/Parameters.hs
--- a/library/Stratosphere/Parameters.hs
+++ b/library/Stratosphere/Parameters.hs
@@ -40,7 +40,7 @@
     -- ^ A value of the appropriate type for the template to use if no value is
     -- specified when a stack is created. If you define constraints for the
     -- parameter, you must specify a value that adheres to those constraints.
-  , _parameterNoEcho :: Maybe Bool'
+  , _parameterNoEcho :: Maybe Bool
     -- ^ Whether to mask the parameter value whenever anyone makes a call that
     -- describes the stack. If you set the value to true, the parameter value
     -- is masked with asterisks (*****).
@@ -80,10 +80,10 @@
   , maybeField "NoEcho" _parameterNoEcho
   , maybeField "AllowedValues" _parameterAllowedValues
   , maybeField "AllowedPattern" _parameterAllowedPattern
-  , maybeField "MaxLength" (Integer' <$> _parameterMaxLength)
-  , maybeField "MinLength" (Integer' <$> _parameterMinLength)
-  , maybeField "MaxValue" (Integer' <$> _parameterMaxValue)
-  , maybeField "MinValue" (Integer' <$> _parameterMinValue)
+  , maybeField "MaxLength" _parameterMaxLength
+  , maybeField "MinLength" _parameterMinLength
+  , maybeField "MaxValue" _parameterMaxValue
+  , maybeField "MinValue" _parameterMinValue
   , maybeField "Description" _parameterDescription
   , maybeField "ConstraintDescription" _parameterConstraintDescription
   ]
diff --git a/library/Stratosphere/ResourceAttributes/AutoScalingReplacingUpdatePolicy.hs b/library/Stratosphere/ResourceAttributes/AutoScalingReplacingUpdatePolicy.hs
--- a/library/Stratosphere/ResourceAttributes/AutoScalingReplacingUpdatePolicy.hs
+++ b/library/Stratosphere/ResourceAttributes/AutoScalingReplacingUpdatePolicy.hs
@@ -21,7 +21,7 @@
   toJSON AutoScalingReplacingUpdatePolicy{..} =
     object $
     catMaybes
-    [ fmap (("WillReplace",) . toJSON . fmap Bool') _autoScalingReplacingUpdatePolicyWillReplace
+    [ fmap (("WillReplace",) . toJSON) _autoScalingReplacingUpdatePolicyWillReplace
     ]
 
 -- | Constructor for 'AutoScalingReplacingUpdatePolicy' containing required fields
diff --git a/library/Stratosphere/ResourceAttributes/AutoScalingRollingUpdatePolicy.hs b/library/Stratosphere/ResourceAttributes/AutoScalingRollingUpdatePolicy.hs
--- a/library/Stratosphere/ResourceAttributes/AutoScalingRollingUpdatePolicy.hs
+++ b/library/Stratosphere/ResourceAttributes/AutoScalingRollingUpdatePolicy.hs
@@ -26,12 +26,12 @@
   toJSON AutoScalingRollingUpdatePolicy{..} =
     object $
     catMaybes
-    [ fmap (("MaxBatchSize",) . toJSON . fmap Integer') _autoScalingRollingUpdatePolicyMaxBatchSize
-    , fmap (("MinInstancesInService",) . toJSON . fmap Integer') _autoScalingRollingUpdatePolicyMinInstancesInService
-    , fmap (("MinSuccessfulInstancesPercent",) . toJSON . fmap Integer') _autoScalingRollingUpdatePolicyMinSuccessfulInstancesPercent
+    [ fmap (("MaxBatchSize",) . toJSON) _autoScalingRollingUpdatePolicyMaxBatchSize
+    , fmap (("MinInstancesInService",) . toJSON) _autoScalingRollingUpdatePolicyMinInstancesInService
+    , fmap (("MinSuccessfulInstancesPercent",) . toJSON) _autoScalingRollingUpdatePolicyMinSuccessfulInstancesPercent
     , fmap (("PauseTime",) . toJSON) _autoScalingRollingUpdatePolicyPauseTime
     , fmap (("SuspendProcesses",) . toJSON) _autoScalingRollingUpdatePolicySuspendProcesses
-    , fmap (("WaitOnResourceSignals",) . toJSON . fmap Bool') _autoScalingRollingUpdatePolicyWaitOnResourceSignals
+    , fmap (("WaitOnResourceSignals",) . toJSON) _autoScalingRollingUpdatePolicyWaitOnResourceSignals
     ]
 
 -- | Constructor for 'AutoScalingRollingUpdatePolicy' containing required fields as
diff --git a/library/Stratosphere/ResourceAttributes/AutoScalingScheduledActionPolicy.hs b/library/Stratosphere/ResourceAttributes/AutoScalingScheduledActionPolicy.hs
--- a/library/Stratosphere/ResourceAttributes/AutoScalingScheduledActionPolicy.hs
+++ b/library/Stratosphere/ResourceAttributes/AutoScalingScheduledActionPolicy.hs
@@ -34,7 +34,7 @@
   toJSON AutoScalingScheduledActionPolicy{..} =
     object $
     catMaybes
-    [ fmap (("IgnoreUnmodifiedGroupSizeProperties",) . toJSON . fmap Bool') _autoScalingScheduledActionPolicyIgnoreUnmodifiedGroupSizeProperties
+    [ fmap (("IgnoreUnmodifiedGroupSizeProperties",) . toJSON) _autoScalingScheduledActionPolicyIgnoreUnmodifiedGroupSizeProperties
     ]
 
 -- | Constructor for 'AutoScalingScheduledActionPolicy' containing required fields
diff --git a/library/Stratosphere/ResourceAttributes/ResourceSignal.hs b/library/Stratosphere/ResourceAttributes/ResourceSignal.hs
--- a/library/Stratosphere/ResourceAttributes/ResourceSignal.hs
+++ b/library/Stratosphere/ResourceAttributes/ResourceSignal.hs
@@ -21,7 +21,7 @@
   toJSON ResourceSignal{..} =
     object $
     catMaybes
-    [ fmap (("Count",) . toJSON . fmap Integer') _resourceSignalCount
+    [ fmap (("Count",) . toJSON) _resourceSignalCount
     , fmap (("Timeout",) . toJSON) _resourceSignalTimeout
     ]
 
diff --git a/library/Stratosphere/Values.hs b/library/Stratosphere/Values.hs
--- a/library/Stratosphere/Values.hs
+++ b/library/Stratosphere/Values.hs
@@ -10,9 +10,6 @@
   ( Val (..)
   , sub
   , ValList (..)
-  , Integer' (..)
-  , Bool' (..)
-  , Double' (..)
   , ToRef (..)
   ) where
 
@@ -62,13 +59,13 @@
   toJSON (Literal v) = toJSON v
   toJSON (Ref r) = refToJSON r
   toJSON (If i x y) = mkFunc "Fn::If" [toJSON i, toJSON x, toJSON y]
-  toJSON (And x y) = mkFunc "Fn::And" [toJSON (Bool' <$> x), toJSON (Bool' <$> y)]
+  toJSON (And x y) = mkFunc "Fn::And" [toJSON x, toJSON y]
   toJSON (Equals x y) = mkFunc "Fn::Equals" [toJSON x, toJSON y]
-  toJSON (Or x y) = mkFunc "Fn::Or" [toJSON (Bool' <$> x), toJSON (Bool' <$> y)]
+  toJSON (Or x y) = mkFunc "Fn::Or" [toJSON x, toJSON y]
   toJSON (GetAtt x y) = mkFunc "Fn::GetAtt" [toJSON x, toJSON y]
   toJSON (Base64 v) = object [("Fn::Base64", toJSON v)]
   toJSON (Join d vs) = mkFunc "Fn::Join" [toJSON d, toJSON vs]
-  toJSON (Select i vs) = mkFunc "Fn::Select" [toJSON (Integer' i), toJSON vs]
+  toJSON (Select i vs) = mkFunc "Fn::Select" [toJSON i, toJSON vs]
   toJSON (FindInMap mapName topKey secondKey) =
     object [("Fn::FindInMap", toJSON [toJSON mapName, toJSON topKey, toJSON secondKey])]
   toJSON (ImportValue t) = importValueToJSON t
@@ -121,30 +118,6 @@
   toJSON (Split d s) = mkFunc "Fn::Split" [toJSON d, toJSON s]
   toJSON (GetAZs r) = object [("Fn::GetAZs", toJSON r)]
 
--- | We need to wrap integers so we can override the Aeson type-classes. This
--- is necessary because CloudFront made the silly decision to represent numbers
--- as JSON strings.
-newtype Integer' = Integer' { unInteger' :: Integer }
-  deriving (Show, Eq, Num)
-
-instance ToJSON Integer' where
-  toJSON (Integer' i) = toJSON $ show i
-
--- | We need to wrap Bools for the same reason we need to wrap Ints.
-newtype Bool' = Bool' { unBool' :: Bool }
-  deriving (Show, Bounded, Enum, Eq, Ord)
-
-instance ToJSON Bool' where
-  toJSON (Bool' True) = "true"
-  toJSON (Bool' False) = "false"
-
 -- | Class used to create a 'Ref' from another type.
 class ToRef a b where
   toRef :: a -> Val b
-
--- | We need to wrap Doubles for the same reason we need to wrap Ints.
-newtype Double' = Double' { unDouble' :: Double }
-  deriving (Show, Eq, Num)
-
-instance ToJSON Double' where
-  toJSON (Double' i) = toJSON $ show i
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: 6ff77e8e3bd40e985dc748a7c22623e7996ea7e968eee12559ca1900207a0e68
+-- hash: 10ff95d8a3bd9b30a8bd0d461d1de0b4309dd157ef361b2855e113cbbf8995dd
 
 name:           stratosphere
-version:        0.33.0
+version:        0.34.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -188,6 +188,7 @@
       Stratosphere.ResourceProperties.CodeBuildProjectCloudWatchLogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironment
       Stratosphere.ResourceProperties.CodeBuildProjectEnvironmentVariable
+      Stratosphere.ResourceProperties.CodeBuildProjectGitSubmodulesConfig
       Stratosphere.ResourceProperties.CodeBuildProjectLogsConfig
       Stratosphere.ResourceProperties.CodeBuildProjectProjectCache
       Stratosphere.ResourceProperties.CodeBuildProjectProjectTriggers
@@ -514,6 +515,45 @@
       Stratosphere.ResourceProperties.GlueTriggerAction
       Stratosphere.ResourceProperties.GlueTriggerCondition
       Stratosphere.ResourceProperties.GlueTriggerPredicate
+      Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnector
+      Stratosphere.ResourceProperties.GreengrassConnectorDefinitionConnectorDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassConnectorDefinitionVersionConnector
+      Stratosphere.ResourceProperties.GreengrassCoreDefinitionCore
+      Stratosphere.ResourceProperties.GreengrassCoreDefinitionCoreDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassCoreDefinitionVersionCore
+      Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDevice
+      Stratosphere.ResourceProperties.GreengrassDeviceDefinitionDeviceDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassDeviceDefinitionVersionDevice
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionDefaultConfig
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionEnvironment
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionExecution
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunction
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionConfiguration
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionFunctionDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionResourceAccessPolicy
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionRunAs
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionDefaultConfig
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionEnvironment
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionExecution
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunction
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionFunctionConfiguration
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionResourceAccessPolicy
+      Stratosphere.ResourceProperties.GreengrassFunctionDefinitionVersionRunAs
+      Stratosphere.ResourceProperties.GreengrassGroupGroupVersion
+      Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLogger
+      Stratosphere.ResourceProperties.GreengrassLoggerDefinitionLoggerDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassLoggerDefinitionVersionLogger
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionGroupOwnerSetting
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalDeviceResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionLocalVolumeResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceDataContainer
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionResourceInstance
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionS3MachineLearningModelResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSageMakerMachineLearningModelResourceData
+      Stratosphere.ResourceProperties.GreengrassResourceDefinitionVersionSecretsManagerSecretResourceData
+      Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscription
+      Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionSubscriptionDefinitionVersion
+      Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription
       Stratosphere.ResourceProperties.GuardDutyFilterCondition
       Stratosphere.ResourceProperties.GuardDutyFilterFindingCriteria
       Stratosphere.ResourceProperties.IAMGroupPolicy
@@ -788,6 +828,8 @@
       Stratosphere.ResourceProperties.SSMPatchBaselinePatchSource
       Stratosphere.ResourceProperties.SSMPatchBaselineRule
       Stratosphere.ResourceProperties.SSMPatchBaselineRuleGroup
+      Stratosphere.ResourceProperties.StepFunctionsActivityTagsEntry
+      Stratosphere.ResourceProperties.StepFunctionsStateMachineTagsEntry
       Stratosphere.ResourceProperties.Tag
       Stratosphere.ResourceProperties.WAFByteMatchSetByteMatchTuple
       Stratosphere.ResourceProperties.WAFByteMatchSetFieldToMatch
@@ -1017,6 +1059,21 @@
       Stratosphere.Resources.GluePartition
       Stratosphere.Resources.GlueTable
       Stratosphere.Resources.GlueTrigger
+      Stratosphere.Resources.GreengrassConnectorDefinition
+      Stratosphere.Resources.GreengrassConnectorDefinitionVersion
+      Stratosphere.Resources.GreengrassCoreDefinition
+      Stratosphere.Resources.GreengrassCoreDefinitionVersion
+      Stratosphere.Resources.GreengrassDeviceDefinition
+      Stratosphere.Resources.GreengrassDeviceDefinitionVersion
+      Stratosphere.Resources.GreengrassFunctionDefinition
+      Stratosphere.Resources.GreengrassFunctionDefinitionVersion
+      Stratosphere.Resources.GreengrassGroup
+      Stratosphere.Resources.GreengrassGroupVersion
+      Stratosphere.Resources.GreengrassLoggerDefinition
+      Stratosphere.Resources.GreengrassLoggerDefinitionVersion
+      Stratosphere.Resources.GreengrassResourceDefinitionVersion
+      Stratosphere.Resources.GreengrassSubscriptionDefinition
+      Stratosphere.Resources.GreengrassSubscriptionDefinitionVersion
       Stratosphere.Resources.GuardDutyDetector
       Stratosphere.Resources.GuardDutyFilter
       Stratosphere.Resources.GuardDutyIPSet
@@ -1183,7 +1240,7 @@
   hs-source-dirs:
       library
       library-gen
-  ghc-options: -Wall
+  ghc-options: -Wall -O0
   build-depends:
       aeson >=0.11
     , aeson-pretty >=0.8
