diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
 # Change Log
 
+## 0.4.0
+
+* Derive the `Eq` type class for everything. This is useful when comparing two
+  templates.
+* Added the new `Fn::Split` function.
+* Fix error in resource specification document where
+  `AWS::AutoScaling::AutoScalingGroup.Tags` was mistakenly called `AsTags`.
+* Fix error in resource specification document where the two properties `Image`
+  and `Name` in `AWS::ECS::TaskDefinition.ContainerDefinition` were incorrectly
+  marked as *not* required, even though they are required.
+* Fix JSON instances for auto scaling group update policies
+
 ## 0.3.1
 
 * Updated resource specification document to version 1.1.1.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -137,12 +137,6 @@
 
 ## Future Work
 
-The library is usable in its current state and it is already much more
-enjoyable to work with than writing JSON templates by hand, but there are of
-course a few possible future improvements:
-
-* Not all resources implemented. Adding resources is very easy though. Just
-  request them and I will implement them :)
 * Implement basic checker for things like undefined Refs and duplicate field
   names. This stuff would be too unwieldy to do in types, and performing a
   checking pass over a template should be pretty straightforward.
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayApiKeyStageKey.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayApiKeyStageKey.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayApiKeyStageKey.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayApiKeyStageKey.hs
@@ -20,7 +20,7 @@
   ApiGatewayApiKeyStageKey
   { _apiGatewayApiKeyStageKeyRestApiId :: Maybe (Val Text)
   , _apiGatewayApiKeyStageKeyStageName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayApiKeyStageKey where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _apiGatewayDeploymentMethodSettingResourcePath :: Maybe (Val Text)
   , _apiGatewayDeploymentMethodSettingThrottlingBurstLimit :: Maybe (Val Integer')
   , _apiGatewayDeploymentMethodSettingThrottlingRateLimit :: Maybe (Val Double')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayDeploymentMethodSetting where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
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
@@ -34,7 +34,7 @@
   , _apiGatewayDeploymentStageDescriptionThrottlingBurstLimit :: Maybe (Val Integer')
   , _apiGatewayDeploymentStageDescriptionThrottlingRateLimit :: Maybe (Val Double')
   , _apiGatewayDeploymentStageDescriptionVariables :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayDeploymentStageDescription where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
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
@@ -29,7 +29,7 @@
   , _apiGatewayMethodIntegrationRequestTemplates :: Maybe Object
   , _apiGatewayMethodIntegrationType :: Maybe (Val ApiBackendType)
   , _apiGatewayMethodIntegrationUri :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayMethodIntegration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegrationResponse.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegrationResponse.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegrationResponse.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodIntegrationResponse.hs
@@ -22,7 +22,7 @@
   , _apiGatewayMethodIntegrationResponseResponseTemplates :: Maybe Object
   , _apiGatewayMethodIntegrationResponseSelectionPattern :: Maybe (Val Text)
   , _apiGatewayMethodIntegrationResponseStatusCode :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayMethodIntegrationResponse where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodMethodResponse.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodMethodResponse.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodMethodResponse.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayMethodMethodResponse.hs
@@ -21,7 +21,7 @@
   { _apiGatewayMethodMethodResponseResponseModels :: Maybe Object
   , _apiGatewayMethodMethodResponseResponseParameters :: Maybe Object
   , _apiGatewayMethodMethodResponseStatusCode :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayMethodMethodResponse where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiS3Location.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiS3Location.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiS3Location.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayRestApiS3Location.hs
@@ -22,7 +22,7 @@
   , _apiGatewayRestApiS3LocationETag :: Maybe (Val Text)
   , _apiGatewayRestApiS3LocationKey :: Maybe (Val Text)
   , _apiGatewayRestApiS3LocationVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayRestApiS3Location where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _apiGatewayStageMethodSettingResourcePath :: Maybe (Val Text)
   , _apiGatewayStageMethodSettingThrottlingBurstLimit :: Maybe (Val Integer')
   , _apiGatewayStageMethodSettingThrottlingRateLimit :: Maybe (Val Double')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayStageMethodSetting where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs
--- a/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ApiGatewayUsagePlanApiStage.hs
@@ -20,7 +20,7 @@
   ApiGatewayUsagePlanApiStage
   { _apiGatewayUsagePlanApiStageApiId :: Maybe (Val Text)
   , _apiGatewayUsagePlanApiStageStage :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayUsagePlanApiStage where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _apiGatewayUsagePlanQuotaSettingsLimit :: Maybe (Val Integer')
   , _apiGatewayUsagePlanQuotaSettingsOffset :: Maybe (Val Integer')
   , _apiGatewayUsagePlanQuotaSettingsPeriod :: Maybe (Val Period)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayUsagePlanQuotaSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   ApiGatewayUsagePlanThrottleSettings
   { _apiGatewayUsagePlanThrottleSettingsBurstLimit :: Maybe (Val Integer')
   , _apiGatewayUsagePlanThrottleSettingsRateLimit :: Maybe (Val Double')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayUsagePlanThrottleSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   { _applicationAutoScalingScalingPolicyStepAdjustmentMetricIntervalLowerBound :: Maybe (Val Double')
   , _applicationAutoScalingScalingPolicyStepAdjustmentMetricIntervalUpperBound :: Maybe (Val Double')
   , _applicationAutoScalingScalingPolicyStepAdjustmentScalingAdjustment :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApplicationAutoScalingScalingPolicyStepAdjustment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 50, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationMetricAggregationType :: Maybe (Val Text)
   , _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationMinAdjustmentMagnitude :: Maybe (Val Integer')
   , _applicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustments :: Maybe [ApplicationAutoScalingScalingPolicyStepAdjustment]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 66, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupMetricsCollection.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupMetricsCollection.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupMetricsCollection.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupMetricsCollection.hs
@@ -22,7 +22,7 @@
   AutoScalingAutoScalingGroupMetricsCollection
   { _autoScalingAutoScalingGroupMetricsCollectionGranularity :: Val Text
   , _autoScalingAutoScalingGroupMetricsCollectionMetrics :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingAutoScalingGroupMetricsCollection where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 45, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupNotificationConfigurations.hs b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupNotificationConfigurations.hs
--- a/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupNotificationConfigurations.hs
+++ b/library-gen/Stratosphere/ResourceProperties/AutoScalingAutoScalingGroupNotificationConfigurations.hs
@@ -22,7 +22,7 @@
   AutoScalingAutoScalingGroupNotificationConfigurations
   { _autoScalingAutoScalingGroupNotificationConfigurationsNotificationTypes :: Maybe [Val Text]
   , _autoScalingAutoScalingGroupNotificationConfigurationsTopicARN :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingAutoScalingGroupNotificationConfigurations where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 54, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   { _autoScalingAutoScalingGroupTagPropertyKey :: Val Text
   , _autoScalingAutoScalingGroupTagPropertyPropagateAtLaunch :: Val Bool'
   , _autoScalingAutoScalingGroupTagPropertyValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingAutoScalingGroupTagProperty where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _autoScalingLaunchConfigurationBlockDeviceSnapshotId :: Maybe (Val Text)
   , _autoScalingLaunchConfigurationBlockDeviceVolumeSize :: Maybe (Val Text)
   , _autoScalingLaunchConfigurationBlockDeviceVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingLaunchConfigurationBlockDevice where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _autoScalingLaunchConfigurationBlockDeviceMappingEbs :: Maybe AutoScalingLaunchConfigurationBlockDevice
   , _autoScalingLaunchConfigurationBlockDeviceMappingNoDevice :: Maybe (Val Bool')
   , _autoScalingLaunchConfigurationBlockDeviceMappingVirtualName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingLaunchConfigurationBlockDeviceMapping where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 49, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   { _autoScalingScalingPolicyStepAdjustmentMetricIntervalLowerBound :: Maybe (Val Double')
   , _autoScalingScalingPolicyStepAdjustmentMetricIntervalUpperBound :: Maybe (Val Double')
   , _autoScalingScalingPolicyStepAdjustmentScalingAdjustment :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingScalingPolicyStepAdjustment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CertificateManagerCertificateDomainValidationOption.hs b/library-gen/Stratosphere/ResourceProperties/CertificateManagerCertificateDomainValidationOption.hs
--- a/library-gen/Stratosphere/ResourceProperties/CertificateManagerCertificateDomainValidationOption.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CertificateManagerCertificateDomainValidationOption.hs
@@ -22,7 +22,7 @@
   CertificateManagerCertificateDomainValidationOption
   { _certificateManagerCertificateDomainValidationOptionDomainName :: Val Text
   , _certificateManagerCertificateDomainValidationOptionValidationDomain :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CertificateManagerCertificateDomainValidationOption where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 52, omitNothingFields = True }
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
@@ -30,7 +30,7 @@
   , _cloudFrontDistributionCacheBehaviorTargetOriginId :: Val Text
   , _cloudFrontDistributionCacheBehaviorTrustedSigners :: Maybe [Val Text]
   , _cloudFrontDistributionCacheBehaviorViewerProtocolPolicy :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionCacheBehavior where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCookies.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCookies.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCookies.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionCookies.hs
@@ -20,7 +20,7 @@
   CloudFrontDistributionCookies
   { _cloudFrontDistributionCookiesForward :: Val Text
   , _cloudFrontDistributionCookiesWhitelistedNames :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionCookies where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _cloudFrontDistributionCustomErrorResponseErrorCode :: Val Integer'
   , _cloudFrontDistributionCustomErrorResponseResponseCode :: Maybe (Val Integer')
   , _cloudFrontDistributionCustomErrorResponseResponsePagePath :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionCustomErrorResponse where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _cloudFrontDistributionCustomOriginConfigHTTPSPort :: Maybe (Val Integer')
   , _cloudFrontDistributionCustomOriginConfigOriginProtocolPolicy :: Val Text
   , _cloudFrontDistributionCustomOriginConfigOriginSSLProtocols :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionCustomOriginConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
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
@@ -30,7 +30,7 @@
   , _cloudFrontDistributionDefaultCacheBehaviorTargetOriginId :: Val Text
   , _cloudFrontDistributionDefaultCacheBehaviorTrustedSigners :: Maybe [Val Text]
   , _cloudFrontDistributionDefaultCacheBehaviorViewerProtocolPolicy :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionDefaultCacheBehavior where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 43, omitNothingFields = True }
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
@@ -39,7 +39,7 @@
   , _cloudFrontDistributionDistributionConfigRestrictions :: Maybe CloudFrontDistributionRestrictions
   , _cloudFrontDistributionDistributionConfigViewerCertificate :: Maybe CloudFrontDistributionViewerCertificate
   , _cloudFrontDistributionDistributionConfigWebACLId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionDistributionConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _cloudFrontDistributionForwardedValuesHeaders :: Maybe [Val Text]
   , _cloudFrontDistributionForwardedValuesQueryString :: Val Bool'
   , _cloudFrontDistributionForwardedValuesQueryStringCacheKeys :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionForwardedValues where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionGeoRestriction.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionGeoRestriction.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionGeoRestriction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionGeoRestriction.hs
@@ -20,7 +20,7 @@
   CloudFrontDistributionGeoRestriction
   { _cloudFrontDistributionGeoRestrictionLocations :: Maybe [Val Text]
   , _cloudFrontDistributionGeoRestrictionRestrictionType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionGeoRestriction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _cloudFrontDistributionLoggingBucket :: Val Text
   , _cloudFrontDistributionLoggingIncludeCookies :: Maybe (Val Bool')
   , _cloudFrontDistributionLoggingPrefix :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionLogging where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOrigin.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOrigin.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOrigin.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOrigin.hs
@@ -26,7 +26,7 @@
   , _cloudFrontDistributionOriginOriginCustomHeaders :: Maybe [CloudFrontDistributionOriginCustomHeader]
   , _cloudFrontDistributionOriginOriginPath :: Maybe (Val Text)
   , _cloudFrontDistributionOriginS3OriginConfig :: Maybe CloudFrontDistributionS3OriginConfig
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionOrigin where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginCustomHeader.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginCustomHeader.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginCustomHeader.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionOriginCustomHeader.hs
@@ -21,7 +21,7 @@
   CloudFrontDistributionOriginCustomHeader
   { _cloudFrontDistributionOriginCustomHeaderHeaderName :: Val Text
   , _cloudFrontDistributionOriginCustomHeaderHeaderValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionOriginCustomHeader where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionRestrictions.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionRestrictions.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionRestrictions.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionRestrictions.hs
@@ -19,7 +19,7 @@
 data CloudFrontDistributionRestrictions =
   CloudFrontDistributionRestrictions
   { _cloudFrontDistributionRestrictionsGeoRestriction :: CloudFrontDistributionGeoRestriction
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionRestrictions where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionS3OriginConfig.hs b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionS3OriginConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionS3OriginConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudFrontDistributionS3OriginConfig.hs
@@ -19,7 +19,7 @@
 data CloudFrontDistributionS3OriginConfig =
   CloudFrontDistributionS3OriginConfig
   { _cloudFrontDistributionS3OriginConfigOriginAccessIdentity :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionS3OriginConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _cloudFrontDistributionViewerCertificateIamCertificateId :: Maybe (Val Text)
   , _cloudFrontDistributionViewerCertificateMinimumProtocolVersion :: Maybe (Val Text)
   , _cloudFrontDistributionViewerCertificateSslSupportMethod :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistributionViewerCertificate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 40, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmDimension.hs b/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmDimension.hs
--- a/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmDimension.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CloudWatchAlarmDimension.hs
@@ -20,7 +20,7 @@
   CloudWatchAlarmDimension
   { _cloudWatchAlarmDimensionName :: Val Text
   , _cloudWatchAlarmDimensionValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudWatchAlarmDimension where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _codeBuildProjectArtifactsPackaging :: Maybe (Val Text)
   , _codeBuildProjectArtifactsPath :: Maybe (Val Text)
   , _codeBuildProjectArtifactsType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeBuildProjectArtifacts where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _codeBuildProjectEnvironmentEnvironmentVariables :: Maybe [CodeBuildProjectEnvironmentVariable]
   , _codeBuildProjectEnvironmentImage :: Maybe (Val Text)
   , _codeBuildProjectEnvironmentType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeBuildProjectEnvironment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironmentVariable.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironmentVariable.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironmentVariable.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectEnvironmentVariable.hs
@@ -20,7 +20,7 @@
   CodeBuildProjectEnvironmentVariable
   { _codeBuildProjectEnvironmentVariableName :: Maybe (Val Text)
   , _codeBuildProjectEnvironmentVariableValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeBuildProjectEnvironmentVariable where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _codeBuildProjectSourceBuildSpec :: Maybe (Val Text)
   , _codeBuildProjectSourceLocation :: Maybe (Val Text)
   , _codeBuildProjectSourceType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeBuildProjectSource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSourceAuth.hs b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSourceAuth.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSourceAuth.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeBuildProjectSourceAuth.hs
@@ -20,7 +20,7 @@
   CodeBuildProjectSourceAuth
   { _codeBuildProjectSourceAuthResource :: Maybe (Val Text)
   , _codeBuildProjectSourceAuthType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeBuildProjectSourceAuth where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs b/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeCommitRepositoryRepositoryTrigger.hs
@@ -24,7 +24,7 @@
   , _codeCommitRepositoryRepositoryTriggerDestinationArn :: Maybe (Val Text)
   , _codeCommitRepositoryRepositoryTriggerEvents :: Maybe [Val Text]
   , _codeCommitRepositoryRepositoryTriggerName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeCommitRepositoryRepositoryTrigger where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   CodeDeployDeploymentConfigMinimumHealthyHosts
   { _codeDeployDeploymentConfigMinimumHealthyHostsType :: Maybe (Val Text)
   , _codeDeployDeploymentConfigMinimumHealthyHostsValue :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentConfigMinimumHealthyHosts where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 46, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _codeDeployDeploymentGroupDeploymentDescription :: Maybe (Val Text)
   , _codeDeployDeploymentGroupDeploymentIgnoreApplicationStopFailures :: Maybe (Val Bool')
   , _codeDeployDeploymentGroupDeploymentRevision :: CodeDeployDeploymentGroupRevision
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroupDeployment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEc2TagFilter.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEc2TagFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEc2TagFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupEc2TagFilter.hs
@@ -22,7 +22,7 @@
   { _codeDeployDeploymentGroupEc2TagFilterKey :: Maybe (Val Text)
   , _codeDeployDeploymentGroupEc2TagFilterType :: Val Text
   , _codeDeployDeploymentGroupEc2TagFilterValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroupEc2TagFilter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupGitHubLocation.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupGitHubLocation.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupGitHubLocation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupGitHubLocation.hs
@@ -21,7 +21,7 @@
   CodeDeployDeploymentGroupGitHubLocation
   { _codeDeployDeploymentGroupGitHubLocationCommitId :: Val Text
   , _codeDeployDeploymentGroupGitHubLocationRepository :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroupGitHubLocation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 40, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesInstanceTagFilter.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesInstanceTagFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesInstanceTagFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupOnPremisesInstanceTagFilter.hs
@@ -23,7 +23,7 @@
   { _codeDeployDeploymentGroupOnPremisesInstanceTagFilterKey :: Maybe (Val Text)
   , _codeDeployDeploymentGroupOnPremisesInstanceTagFilterType :: Maybe (Val Text)
   , _codeDeployDeploymentGroupOnPremisesInstanceTagFilterValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroupOnPremisesInstanceTagFilter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 53, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupRevision.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupRevision.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupRevision.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupRevision.hs
@@ -22,7 +22,7 @@
   { _codeDeployDeploymentGroupRevisionGitHubLocation :: Maybe CodeDeployDeploymentGroupGitHubLocation
   , _codeDeployDeploymentGroupRevisionRevisionType :: Maybe (Val Text)
   , _codeDeployDeploymentGroupRevisionS3Location :: Maybe CodeDeployDeploymentGroupS3Location
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroupRevision where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupS3Location.hs b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupS3Location.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupS3Location.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupS3Location.hs
@@ -23,7 +23,7 @@
   , _codeDeployDeploymentGroupS3LocationETag :: Maybe (Val Text)
   , _codeDeployDeploymentGroupS3LocationKey :: Val Text
   , _codeDeployDeploymentGroupS3LocationVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroupS3Location where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   CodePipelineCustomActionTypeArtifactDetails
   { _codePipelineCustomActionTypeArtifactDetailsMaximumCount :: Val Integer'
   , _codePipelineCustomActionTypeArtifactDetailsMinimumCount :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelineCustomActionTypeArtifactDetails where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 44, omitNothingFields = True }
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
@@ -27,7 +27,7 @@
   , _codePipelineCustomActionTypeConfigurationPropertiesRequired :: Val Bool'
   , _codePipelineCustomActionTypeConfigurationPropertiesSecret :: Val Bool'
   , _codePipelineCustomActionTypeConfigurationPropertiesType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelineCustomActionTypeConfigurationProperties where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 52, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeSettings.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeSettings.hs
@@ -22,7 +22,7 @@
   , _codePipelineCustomActionTypeSettingsExecutionUrlTemplate :: Maybe (Val Text)
   , _codePipelineCustomActionTypeSettingsRevisionUrlTemplate :: Maybe (Val Text)
   , _codePipelineCustomActionTypeSettingsThirdPartyConfigurationUrl :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelineCustomActionTypeSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _codePipelinePipelineActionDeclarationOutputArtifacts :: Maybe [CodePipelinePipelineOutputArtifact]
   , _codePipelinePipelineActionDeclarationRoleArn :: Maybe (Val Text)
   , _codePipelinePipelineActionDeclarationRunOrder :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineActionDeclaration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionTypeId.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionTypeId.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionTypeId.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineActionTypeId.hs
@@ -22,7 +22,7 @@
   , _codePipelinePipelineActionTypeIdOwner :: Val Text
   , _codePipelinePipelineActionTypeIdProvider :: Val Text
   , _codePipelinePipelineActionTypeIdVersion :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineActionTypeId where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineArtifactStore.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineArtifactStore.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineArtifactStore.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineArtifactStore.hs
@@ -21,7 +21,7 @@
   { _codePipelinePipelineArtifactStoreEncryptionKey :: Maybe CodePipelinePipelineEncryptionKey
   , _codePipelinePipelineArtifactStoreLocation :: Val Text
   , _codePipelinePipelineArtifactStoreType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineArtifactStore where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineBlockerDeclaration.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineBlockerDeclaration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineBlockerDeclaration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineBlockerDeclaration.hs
@@ -21,7 +21,7 @@
   CodePipelinePipelineBlockerDeclaration
   { _codePipelinePipelineBlockerDeclarationName :: Val Text
   , _codePipelinePipelineBlockerDeclarationType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineBlockerDeclaration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineEncryptionKey.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineEncryptionKey.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineEncryptionKey.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineEncryptionKey.hs
@@ -20,7 +20,7 @@
   CodePipelinePipelineEncryptionKey
   { _codePipelinePipelineEncryptionKeyId :: Val Text
   , _codePipelinePipelineEncryptionKeyType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineEncryptionKey where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineInputArtifact.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineInputArtifact.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineInputArtifact.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineInputArtifact.hs
@@ -19,7 +19,7 @@
 data CodePipelinePipelineInputArtifact =
   CodePipelinePipelineInputArtifact
   { _codePipelinePipelineInputArtifactName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineInputArtifact where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineOutputArtifact.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineOutputArtifact.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineOutputArtifact.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineOutputArtifact.hs
@@ -19,7 +19,7 @@
 data CodePipelinePipelineOutputArtifact =
   CodePipelinePipelineOutputArtifact
   { _codePipelinePipelineOutputArtifactName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineOutputArtifact where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageDeclaration.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageDeclaration.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageDeclaration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageDeclaration.hs
@@ -22,7 +22,7 @@
   { _codePipelinePipelineStageDeclarationActions :: [CodePipelinePipelineActionDeclaration]
   , _codePipelinePipelineStageDeclarationBlockers :: Maybe [CodePipelinePipelineBlockerDeclaration]
   , _codePipelinePipelineStageDeclarationName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineStageDeclaration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageTransition.hs b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageTransition.hs
--- a/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageTransition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/CodePipelinePipelineStageTransition.hs
@@ -20,7 +20,7 @@
   CodePipelinePipelineStageTransition
   { _codePipelinePipelineStageTransitionReason :: Val Text
   , _codePipelinePipelineStageTransitionStageName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipelineStageTransition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleScope.hs b/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleScope.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleScope.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleScope.hs
@@ -22,7 +22,7 @@
   , _configConfigRuleScopeComplianceResourceTypes :: Maybe [Val Text]
   , _configConfigRuleScopeTagKey :: Maybe (Val Text)
   , _configConfigRuleScopeTagValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigConfigRuleScope where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSource.hs b/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSource.hs
@@ -21,7 +21,7 @@
   { _configConfigRuleSourceOwner :: Val Text
   , _configConfigRuleSourceSourceDetails :: Maybe [ConfigConfigRuleSourceDetail]
   , _configConfigRuleSourceSourceIdentifier :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigConfigRuleSource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSourceDetail.hs b/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSourceDetail.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSourceDetail.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigConfigRuleSourceDetail.hs
@@ -20,7 +20,7 @@
   ConfigConfigRuleSourceDetail
   { _configConfigRuleSourceDetailEventSource :: Val Text
   , _configConfigRuleSourceDetailMessageType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigConfigRuleSourceDetail where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   { _configConfigurationRecorderRecordingGroupAllSupported :: Maybe (Val Bool')
   , _configConfigurationRecorderRecordingGroupIncludeGlobalResourceTypes :: Maybe (Val Bool')
   , _configConfigurationRecorderRecordingGroupResourceTypes :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigConfigurationRecorderRecordingGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ConfigDeliveryChannelConfigSnapshotDeliveryProperties.hs b/library-gen/Stratosphere/ResourceProperties/ConfigDeliveryChannelConfigSnapshotDeliveryProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/ConfigDeliveryChannelConfigSnapshotDeliveryProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ConfigDeliveryChannelConfigSnapshotDeliveryProperties.hs
@@ -21,7 +21,7 @@
 data ConfigDeliveryChannelConfigSnapshotDeliveryProperties =
   ConfigDeliveryChannelConfigSnapshotDeliveryProperties
   { _configDeliveryChannelConfigSnapshotDeliveryPropertiesDeliveryFrequency :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigDeliveryChannelConfigSnapshotDeliveryProperties where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 54, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineField.hs b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineField.hs
--- a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineField.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineField.hs
@@ -21,7 +21,7 @@
   { _dataPipelinePipelineFieldKey :: Val Text
   , _dataPipelinePipelineFieldRefValue :: Maybe (Val Text)
   , _dataPipelinePipelineFieldStringValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipelineField where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterAttribute.hs b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterAttribute.hs
--- a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterAttribute.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterAttribute.hs
@@ -21,7 +21,7 @@
   DataPipelinePipelineParameterAttribute
   { _dataPipelinePipelineParameterAttributeKey :: Val Text
   , _dataPipelinePipelineParameterAttributeStringValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipelineParameterAttribute where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterObject.hs b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterObject.hs
--- a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterObject.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterObject.hs
@@ -20,7 +20,7 @@
   DataPipelinePipelineParameterObject
   { _dataPipelinePipelineParameterObjectAttributes :: [DataPipelinePipelineParameterAttribute]
   , _dataPipelinePipelineParameterObjectId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipelineParameterObject where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterValue.hs b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterValue.hs
--- a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterValue.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelineParameterValue.hs
@@ -20,7 +20,7 @@
   DataPipelinePipelineParameterValue
   { _dataPipelinePipelineParameterValueId :: Val Text
   , _dataPipelinePipelineParameterValueStringValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipelineParameterValue where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineObject.hs b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineObject.hs
--- a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineObject.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineObject.hs
@@ -21,7 +21,7 @@
   { _dataPipelinePipelinePipelineObjectFields :: [DataPipelinePipelineField]
   , _dataPipelinePipelinePipelineObjectId :: Val Text
   , _dataPipelinePipelinePipelineObjectName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipelinePipelineObject where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineTag.hs b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineTag.hs
--- a/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineTag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DataPipelinePipelinePipelineTag.hs
@@ -20,7 +20,7 @@
   DataPipelinePipelinePipelineTag
   { _dataPipelinePipelinePipelineTagKey :: Val Text
   , _dataPipelinePipelinePipelineTagValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipelinePipelineTag where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DirectoryServiceMicrosoftADVpcSettings.hs b/library-gen/Stratosphere/ResourceProperties/DirectoryServiceMicrosoftADVpcSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/DirectoryServiceMicrosoftADVpcSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DirectoryServiceMicrosoftADVpcSettings.hs
@@ -21,7 +21,7 @@
   DirectoryServiceMicrosoftADVpcSettings
   { _directoryServiceMicrosoftADVpcSettingsSubnetIds :: [Val Text]
   , _directoryServiceMicrosoftADVpcSettingsVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DirectoryServiceMicrosoftADVpcSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DirectoryServiceSimpleADVpcSettings.hs b/library-gen/Stratosphere/ResourceProperties/DirectoryServiceSimpleADVpcSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/DirectoryServiceSimpleADVpcSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DirectoryServiceSimpleADVpcSettings.hs
@@ -20,7 +20,7 @@
   DirectoryServiceSimpleADVpcSettings
   { _directoryServiceSimpleADVpcSettingsSubnetIds :: [Val Text]
   , _directoryServiceSimpleADVpcSettingsVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DirectoryServiceSimpleADVpcSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableAttributeDefinition.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableAttributeDefinition.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableAttributeDefinition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableAttributeDefinition.hs
@@ -20,7 +20,7 @@
   DynamoDBTableAttributeDefinition
   { _dynamoDBTableAttributeDefinitionAttributeName :: Val Text
   , _dynamoDBTableAttributeDefinitionAttributeType :: Val AttributeType
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableAttributeDefinition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableGlobalSecondaryIndex.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableGlobalSecondaryIndex.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableGlobalSecondaryIndex.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableGlobalSecondaryIndex.hs
@@ -24,7 +24,7 @@
   , _dynamoDBTableGlobalSecondaryIndexKeySchema :: [DynamoDBTableKeySchema]
   , _dynamoDBTableGlobalSecondaryIndexProjection :: DynamoDBTableProjection
   , _dynamoDBTableGlobalSecondaryIndexProvisionedThroughput :: DynamoDBTableProvisionedThroughput
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableGlobalSecondaryIndex where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableKeySchema.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableKeySchema.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableKeySchema.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableKeySchema.hs
@@ -20,7 +20,7 @@
   DynamoDBTableKeySchema
   { _dynamoDBTableKeySchemaAttributeName :: Val Text
   , _dynamoDBTableKeySchemaKeyType :: Val KeyType
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableKeySchema where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableLocalSecondaryIndex.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableLocalSecondaryIndex.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableLocalSecondaryIndex.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableLocalSecondaryIndex.hs
@@ -22,7 +22,7 @@
   { _dynamoDBTableLocalSecondaryIndexIndexName :: Val Text
   , _dynamoDBTableLocalSecondaryIndexKeySchema :: [DynamoDBTableKeySchema]
   , _dynamoDBTableLocalSecondaryIndexProjection :: DynamoDBTableProjection
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableLocalSecondaryIndex where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProjection.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProjection.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProjection.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableProjection.hs
@@ -20,7 +20,7 @@
   DynamoDBTableProjection
   { _dynamoDBTableProjectionNonKeyAttributes :: Maybe [Val Text]
   , _dynamoDBTableProjectionProjectionType :: Maybe (Val ProjectionType)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableProjection where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   DynamoDBTableProvisionedThroughput
   { _dynamoDBTableProvisionedThroughputReadCapacityUnits :: Val Integer'
   , _dynamoDBTableProvisionedThroughputWriteCapacityUnits :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableProvisionedThroughput where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableStreamSpecification.hs b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableStreamSpecification.hs
--- a/library-gen/Stratosphere/ResourceProperties/DynamoDBTableStreamSpecification.hs
+++ b/library-gen/Stratosphere/ResourceProperties/DynamoDBTableStreamSpecification.hs
@@ -19,7 +19,7 @@
 data DynamoDBTableStreamSpecification =
   DynamoDBTableStreamSpecification
   { _dynamoDBTableStreamSpecificationStreamViewType :: Val StreamViewType
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTableStreamSpecification where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceAssociationParameter.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceAssociationParameter.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceAssociationParameter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceAssociationParameter.hs
@@ -20,7 +20,7 @@
   EC2InstanceAssociationParameter
   { _eC2InstanceAssociationParameterKey :: Val Text
   , _eC2InstanceAssociationParameterValue :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceAssociationParameter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceBlockDeviceMapping.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceBlockDeviceMapping.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceBlockDeviceMapping.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceBlockDeviceMapping.hs
@@ -23,7 +23,7 @@
   , _eC2InstanceBlockDeviceMappingEbs :: Maybe EC2InstanceEbs
   , _eC2InstanceBlockDeviceMappingNoDevice :: Maybe EC2InstanceNoDevice
   , _eC2InstanceBlockDeviceMappingVirtualName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceBlockDeviceMapping where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _eC2InstanceEbsSnapshotId :: Maybe (Val Text)
   , _eC2InstanceEbsVolumeSize :: Maybe (Val Integer')
   , _eC2InstanceEbsVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceEbs where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceInstanceIpv6Address.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceInstanceIpv6Address.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceInstanceIpv6Address.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceInstanceIpv6Address.hs
@@ -19,7 +19,7 @@
 data EC2InstanceInstanceIpv6Address =
   EC2InstanceInstanceIpv6Address
   { _eC2InstanceInstanceIpv6AddressIpv6Address :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceInstanceIpv6Address where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
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
@@ -31,7 +31,7 @@
   , _eC2InstanceNetworkInterfacePrivateIpAddresses :: Maybe [EC2InstancePrivateIpAddressSpecification]
   , _eC2InstanceNetworkInterfaceSecondaryPrivateIpAddressCount :: Maybe (Val Integer')
   , _eC2InstanceNetworkInterfaceSubnetId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceNetworkInterface where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceNoDevice.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceNoDevice.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceNoDevice.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceNoDevice.hs
@@ -19,7 +19,7 @@
 data EC2InstanceNoDevice =
   EC2InstanceNoDevice
   { 
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceNoDevice where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   EC2InstancePrivateIpAddressSpecification
   { _eC2InstancePrivateIpAddressSpecificationPrimary :: Val Bool'
   , _eC2InstancePrivateIpAddressSpecificationPrivateIpAddress :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstancePrivateIpAddressSpecification where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceSsmAssociation.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceSsmAssociation.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceSsmAssociation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceSsmAssociation.hs
@@ -20,7 +20,7 @@
   EC2InstanceSsmAssociation
   { _eC2InstanceSsmAssociationAssociationParameters :: Maybe [EC2InstanceAssociationParameter]
   , _eC2InstanceSsmAssociationDocumentName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceSsmAssociation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2InstanceVolume.hs b/library-gen/Stratosphere/ResourceProperties/EC2InstanceVolume.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2InstanceVolume.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2InstanceVolume.hs
@@ -20,7 +20,7 @@
   EC2InstanceVolume
   { _eC2InstanceVolumeDevice :: Val Text
   , _eC2InstanceVolumeVolumeId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InstanceVolume where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EC2NetworkAclEntryIcmp
   { _eC2NetworkAclEntryIcmpCode :: Maybe (Val Integer')
   , _eC2NetworkAclEntryIcmpType :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkAclEntryIcmp where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EC2NetworkAclEntryPortRange
   { _eC2NetworkAclEntryPortRangeFrom :: Maybe (Val Integer')
   , _eC2NetworkAclEntryPortRangeTo :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkAclEntryPortRange where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfaceInstanceIpv6Address.hs b/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfaceInstanceIpv6Address.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfaceInstanceIpv6Address.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2NetworkInterfaceInstanceIpv6Address.hs
@@ -20,7 +20,7 @@
 data EC2NetworkInterfaceInstanceIpv6Address =
   EC2NetworkInterfaceInstanceIpv6Address
   { _eC2NetworkInterfaceInstanceIpv6AddressIpv6Address :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkInterfaceInstanceIpv6Address where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   EC2NetworkInterfacePrivateIpAddressSpecification
   { _eC2NetworkInterfacePrivateIpAddressSpecificationPrimary :: Val Bool'
   , _eC2NetworkInterfacePrivateIpAddressSpecificationPrivateIpAddress :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkInterfacePrivateIpAddressSpecification where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 49, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupRule.hs b/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SecurityGroupRule.hs
@@ -25,7 +25,7 @@
   , _eC2SecurityGroupRuleSourceSecurityGroupName :: Maybe (Val Text)
   , _eC2SecurityGroupRuleSourceSecurityGroupOwnerId :: Maybe (Val Text)
   , _eC2SecurityGroupRuleToPort :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SecurityGroupRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetBlockDeviceMappings.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetBlockDeviceMappings.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetBlockDeviceMappings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetBlockDeviceMappings.hs
@@ -22,7 +22,7 @@
   , _eC2SpotFleetBlockDeviceMappingsEbs :: Maybe EC2SpotFleetEbs
   , _eC2SpotFleetBlockDeviceMappingsNoDevice :: Maybe (Val Bool')
   , _eC2SpotFleetBlockDeviceMappingsVirtualName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetBlockDeviceMappings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbs.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbs.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbs.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetEbs.hs
@@ -24,7 +24,7 @@
   , _eC2SpotFleetEbsSnapshotId :: Maybe (Val Text)
   , _eC2SpotFleetEbsVolumeSize :: Maybe (Val Integer')
   , _eC2SpotFleetEbsVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetEbs where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetIamInstanceProfile.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetIamInstanceProfile.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetIamInstanceProfile.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetIamInstanceProfile.hs
@@ -19,7 +19,7 @@
 data EC2SpotFleetIamInstanceProfile =
   EC2SpotFleetIamInstanceProfile
   { _eC2SpotFleetIamInstanceProfileArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetIamInstanceProfile where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceIpv6Address.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceIpv6Address.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceIpv6Address.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetInstanceIpv6Address.hs
@@ -19,7 +19,7 @@
 data EC2SpotFleetInstanceIpv6Address =
   EC2SpotFleetInstanceIpv6Address
   { _eC2SpotFleetInstanceIpv6AddressIpv6Address :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetInstanceIpv6Address where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchSpecifications.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchSpecifications.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchSpecifications.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetLaunchSpecifications.hs
@@ -39,7 +39,7 @@
   , _eC2SpotFleetLaunchSpecificationsSubnetId :: Maybe (Val Text)
   , _eC2SpotFleetLaunchSpecificationsUserData :: Maybe (Val Text)
   , _eC2SpotFleetLaunchSpecificationsWeightedCapacity :: Maybe (Val Double')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetLaunchSpecifications where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetMonitoring.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetMonitoring.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetMonitoring.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetMonitoring.hs
@@ -19,7 +19,7 @@
 data EC2SpotFleetMonitoring =
   EC2SpotFleetMonitoring
   { _eC2SpotFleetMonitoringEnabled :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetMonitoring where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetNetworkInterfaces.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetNetworkInterfaces.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetNetworkInterfaces.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetNetworkInterfaces.hs
@@ -30,7 +30,7 @@
   , _eC2SpotFleetNetworkInterfacesPrivateIpAddresses :: Maybe [EC2SpotFleetPrivateIpAddresses]
   , _eC2SpotFleetNetworkInterfacesSecondaryPrivateIpAddressCount :: Maybe (Val Integer')
   , _eC2SpotFleetNetworkInterfacesSubnetId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetNetworkInterfaces where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPlacement.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPlacement.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPlacement.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPlacement.hs
@@ -20,7 +20,7 @@
   EC2SpotFleetPlacement
   { _eC2SpotFleetPlacementAvailabilityZone :: Maybe (Val Text)
   , _eC2SpotFleetPlacementGroupName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetPlacement where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddresses.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddresses.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddresses.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetPrivateIpAddresses.hs
@@ -20,7 +20,7 @@
   EC2SpotFleetPrivateIpAddresses
   { _eC2SpotFleetPrivateIpAddressesPrimary :: Maybe (Val Bool')
   , _eC2SpotFleetPrivateIpAddressesPrivateIpAddress :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetPrivateIpAddresses where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSecurityGroups.hs b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSecurityGroups.hs
--- a/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSecurityGroups.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EC2SpotFleetSecurityGroups.hs
@@ -19,7 +19,7 @@
 data EC2SpotFleetSecurityGroups =
   EC2SpotFleetSecurityGroups
   { _eC2SpotFleetSecurityGroupsGroupId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetSecurityGroups where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _eC2SpotFleetSpotFleetRequestConfigDataTerminateInstancesWithExpiration :: Maybe (Val Bool')
   , _eC2SpotFleetSpotFleetRequestConfigDataValidFrom :: Maybe (Val Text)
   , _eC2SpotFleetSpotFleetRequestConfigDataValidUntil :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleetSpotFleetRequestConfigData where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   ECSServiceDeploymentConfiguration
   { _eCSServiceDeploymentConfigurationMaximumPercent :: Maybe (Val Integer')
   , _eCSServiceDeploymentConfigurationMinimumHealthyPercent :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSServiceDeploymentConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _eCSServiceLoadBalancerContainerPort :: Val Integer'
   , _eCSServiceLoadBalancerLoadBalancerName :: Maybe (Val Text)
   , _eCSServiceLoadBalancerTargetGroupArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSServiceLoadBalancer where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
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
@@ -36,13 +36,13 @@
   , _eCSTaskDefinitionContainerDefinitionEssential :: Maybe (Val Bool')
   , _eCSTaskDefinitionContainerDefinitionExtraHosts :: Maybe [ECSTaskDefinitionHostEntry]
   , _eCSTaskDefinitionContainerDefinitionHostname :: Maybe (Val Text)
-  , _eCSTaskDefinitionContainerDefinitionImage :: Maybe (Val Text)
+  , _eCSTaskDefinitionContainerDefinitionImage :: Val Text
   , _eCSTaskDefinitionContainerDefinitionLinks :: Maybe [Val Text]
   , _eCSTaskDefinitionContainerDefinitionLogConfiguration :: Maybe ECSTaskDefinitionLogConfiguration
   , _eCSTaskDefinitionContainerDefinitionMemory :: Maybe (Val Integer')
   , _eCSTaskDefinitionContainerDefinitionMemoryReservation :: Maybe (Val Integer')
   , _eCSTaskDefinitionContainerDefinitionMountPoints :: Maybe [ECSTaskDefinitionMountPoint]
-  , _eCSTaskDefinitionContainerDefinitionName :: Maybe (Val Text)
+  , _eCSTaskDefinitionContainerDefinitionName :: Val Text
   , _eCSTaskDefinitionContainerDefinitionPortMappings :: Maybe [ECSTaskDefinitionPortMapping]
   , _eCSTaskDefinitionContainerDefinitionPrivileged :: Maybe (Val Bool')
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem :: Maybe (Val Bool')
@@ -50,7 +50,7 @@
   , _eCSTaskDefinitionContainerDefinitionUser :: Maybe (Val Text)
   , _eCSTaskDefinitionContainerDefinitionVolumesFrom :: Maybe [ECSTaskDefinitionVolumeFrom]
   , _eCSTaskDefinitionContainerDefinitionWorkingDirectory :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionContainerDefinition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
@@ -61,8 +61,10 @@
 -- | Constructor for 'ECSTaskDefinitionContainerDefinition' containing
 -- | required fields as arguments.
 ecsTaskDefinitionContainerDefinition
-  :: ECSTaskDefinitionContainerDefinition
-ecsTaskDefinitionContainerDefinition  =
+  :: Val Text -- ^ 'ecstdcdImage'
+  -> Val Text -- ^ 'ecstdcdName'
+  -> ECSTaskDefinitionContainerDefinition
+ecsTaskDefinitionContainerDefinition imagearg namearg =
   ECSTaskDefinitionContainerDefinition
   { _eCSTaskDefinitionContainerDefinitionCommand = Nothing
   , _eCSTaskDefinitionContainerDefinitionCpu = Nothing
@@ -76,13 +78,13 @@
   , _eCSTaskDefinitionContainerDefinitionEssential = Nothing
   , _eCSTaskDefinitionContainerDefinitionExtraHosts = Nothing
   , _eCSTaskDefinitionContainerDefinitionHostname = Nothing
-  , _eCSTaskDefinitionContainerDefinitionImage = Nothing
+  , _eCSTaskDefinitionContainerDefinitionImage = imagearg
   , _eCSTaskDefinitionContainerDefinitionLinks = Nothing
   , _eCSTaskDefinitionContainerDefinitionLogConfiguration = Nothing
   , _eCSTaskDefinitionContainerDefinitionMemory = Nothing
   , _eCSTaskDefinitionContainerDefinitionMemoryReservation = Nothing
   , _eCSTaskDefinitionContainerDefinitionMountPoints = Nothing
-  , _eCSTaskDefinitionContainerDefinitionName = Nothing
+  , _eCSTaskDefinitionContainerDefinitionName = namearg
   , _eCSTaskDefinitionContainerDefinitionPortMappings = Nothing
   , _eCSTaskDefinitionContainerDefinitionPrivileged = Nothing
   , _eCSTaskDefinitionContainerDefinitionReadonlyRootFilesystem = Nothing
@@ -141,7 +143,7 @@
 ecstdcdHostname = lens _eCSTaskDefinitionContainerDefinitionHostname (\s a -> s { _eCSTaskDefinitionContainerDefinitionHostname = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-image
-ecstdcdImage :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Text))
+ecstdcdImage :: Lens' ECSTaskDefinitionContainerDefinition (Val Text)
 ecstdcdImage = lens _eCSTaskDefinitionContainerDefinitionImage (\s a -> s { _eCSTaskDefinitionContainerDefinitionImage = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-links
@@ -165,7 +167,7 @@
 ecstdcdMountPoints = lens _eCSTaskDefinitionContainerDefinitionMountPoints (\s a -> s { _eCSTaskDefinitionContainerDefinitionMountPoints = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-name
-ecstdcdName :: Lens' ECSTaskDefinitionContainerDefinition (Maybe (Val Text))
+ecstdcdName :: Lens' ECSTaskDefinitionContainerDefinition (Val Text)
 ecstdcdName = lens _eCSTaskDefinitionContainerDefinitionName (\s a -> s { _eCSTaskDefinitionContainerDefinitionName = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-portmappings
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostEntry.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostEntry.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostEntry.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostEntry.hs
@@ -20,7 +20,7 @@
   ECSTaskDefinitionHostEntry
   { _eCSTaskDefinitionHostEntryHostname :: Val Text
   , _eCSTaskDefinitionHostEntryIpAddress :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionHostEntry where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostVolumeProperties.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostVolumeProperties.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostVolumeProperties.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionHostVolumeProperties.hs
@@ -20,7 +20,7 @@
 data ECSTaskDefinitionHostVolumeProperties =
   ECSTaskDefinitionHostVolumeProperties
   { _eCSTaskDefinitionHostVolumePropertiesSourcePath :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionHostVolumeProperties where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionKeyValuePair.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionKeyValuePair.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionKeyValuePair.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionKeyValuePair.hs
@@ -20,7 +20,7 @@
   ECSTaskDefinitionKeyValuePair
   { _eCSTaskDefinitionKeyValuePairName :: Maybe (Val Text)
   , _eCSTaskDefinitionKeyValuePairValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionKeyValuePair where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionLogConfiguration.hs
@@ -20,7 +20,7 @@
   ECSTaskDefinitionLogConfiguration
   { _eCSTaskDefinitionLogConfigurationLogDriver :: Val Text
   , _eCSTaskDefinitionLogConfigurationOptions :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionLogConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _eCSTaskDefinitionMountPointContainerPath :: Maybe (Val Text)
   , _eCSTaskDefinitionMountPointReadOnly :: Maybe (Val Bool')
   , _eCSTaskDefinitionMountPointSourceVolume :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionMountPoint where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _eCSTaskDefinitionPortMappingContainerPort :: Maybe (Val Integer')
   , _eCSTaskDefinitionPortMappingHostPort :: Maybe (Val Integer')
   , _eCSTaskDefinitionPortMappingProtocol :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionPortMapping where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _eCSTaskDefinitionUlimitHardLimit :: Val Integer'
   , _eCSTaskDefinitionUlimitName :: Val Text
   , _eCSTaskDefinitionUlimitSoftLimit :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionUlimit where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs
--- a/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionVolume.hs
@@ -20,7 +20,7 @@
   ECSTaskDefinitionVolume
   { _eCSTaskDefinitionVolumeHost :: Maybe ECSTaskDefinitionHostVolumeProperties
   , _eCSTaskDefinitionVolumeName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionVolume where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   ECSTaskDefinitionVolumeFrom
   { _eCSTaskDefinitionVolumeFromReadOnly :: Maybe (Val Bool')
   , _eCSTaskDefinitionVolumeFromSourceContainer :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinitionVolumeFrom where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EFSFileSystemElasticFileSystemTag.hs b/library-gen/Stratosphere/ResourceProperties/EFSFileSystemElasticFileSystemTag.hs
--- a/library-gen/Stratosphere/ResourceProperties/EFSFileSystemElasticFileSystemTag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EFSFileSystemElasticFileSystemTag.hs
@@ -20,7 +20,7 @@
   EFSFileSystemElasticFileSystemTag
   { _eFSFileSystemElasticFileSystemTagKey :: Val Text
   , _eFSFileSystemElasticFileSystemTagValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EFSFileSystemElasticFileSystemTag where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterApplication.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterApplication.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterApplication.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterApplication.hs
@@ -22,7 +22,7 @@
   , _eMRClusterApplicationArgs :: Maybe [Val Text]
   , _eMRClusterApplicationName :: Maybe (Val Text)
   , _eMRClusterApplicationVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterApplication where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterBootstrapActionConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterBootstrapActionConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterBootstrapActionConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterBootstrapActionConfig.hs
@@ -20,7 +20,7 @@
   EMRClusterBootstrapActionConfig
   { _eMRClusterBootstrapActionConfigName :: Val Text
   , _eMRClusterBootstrapActionConfigScriptBootstrapAction :: EMRClusterScriptBootstrapActionConfig
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterBootstrapActionConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterConfiguration.hs
@@ -21,7 +21,7 @@
   { _eMRClusterConfigurationClassification :: Maybe (Val Text)
   , _eMRClusterConfigurationConfigurationProperties :: Maybe Object
   , _eMRClusterConfigurationConfigurations :: Maybe [EMRClusterConfiguration]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EMRClusterEbsBlockDeviceConfig
   { _eMRClusterEbsBlockDeviceConfigVolumeSpecification :: EMRClusterVolumeSpecification
   , _eMRClusterEbsBlockDeviceConfigVolumesPerInstance :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterEbsBlockDeviceConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EMRClusterEbsConfiguration
   { _eMRClusterEbsConfigurationEbsBlockDeviceConfigs :: Maybe [EMRClusterEbsBlockDeviceConfig]
   , _eMRClusterEbsConfigurationEbsOptimized :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterEbsConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _eMRClusterInstanceGroupConfigInstanceType :: Val Text
   , _eMRClusterInstanceGroupConfigMarket :: Maybe (Val Text)
   , _eMRClusterInstanceGroupConfigName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterInstanceGroupConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
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
@@ -31,7 +31,7 @@
   , _eMRClusterJobFlowInstancesConfigPlacement :: Maybe EMRClusterPlacementType
   , _eMRClusterJobFlowInstancesConfigServiceAccessSecurityGroup :: Maybe (Val Text)
   , _eMRClusterJobFlowInstancesConfigTerminationProtected :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterJobFlowInstancesConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterPlacementType.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterPlacementType.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterPlacementType.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterPlacementType.hs
@@ -19,7 +19,7 @@
 data EMRClusterPlacementType =
   EMRClusterPlacementType
   { _eMRClusterPlacementTypeAvailabilityZone :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterPlacementType where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRClusterScriptBootstrapActionConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRClusterScriptBootstrapActionConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRClusterScriptBootstrapActionConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRClusterScriptBootstrapActionConfig.hs
@@ -21,7 +21,7 @@
   EMRClusterScriptBootstrapActionConfig
   { _eMRClusterScriptBootstrapActionConfigArgs :: Maybe [Val Text]
   , _eMRClusterScriptBootstrapActionConfigPath :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterScriptBootstrapActionConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _eMRClusterVolumeSpecificationIops :: Maybe (Val Integer')
   , _eMRClusterVolumeSpecificationSizeInGB :: Val Integer'
   , _eMRClusterVolumeSpecificationVolumeType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRClusterVolumeSpecification where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRInstanceGroupConfigConfiguration.hs
@@ -21,7 +21,7 @@
   { _eMRInstanceGroupConfigConfigurationClassification :: Maybe (Val Text)
   , _eMRInstanceGroupConfigConfigurationConfigurationProperties :: Maybe Object
   , _eMRInstanceGroupConfigConfigurationConfigurations :: Maybe [EMRInstanceGroupConfigConfiguration]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRInstanceGroupConfigConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   EMRInstanceGroupConfigEbsBlockDeviceConfig
   { _eMRInstanceGroupConfigEbsBlockDeviceConfigVolumeSpecification :: EMRInstanceGroupConfigVolumeSpecification
   , _eMRInstanceGroupConfigEbsBlockDeviceConfigVolumesPerInstance :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRInstanceGroupConfigEbsBlockDeviceConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 43, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   EMRInstanceGroupConfigEbsConfiguration
   { _eMRInstanceGroupConfigEbsConfigurationEbsBlockDeviceConfigs :: Maybe [EMRInstanceGroupConfigEbsBlockDeviceConfig]
   , _eMRInstanceGroupConfigEbsConfigurationEbsOptimized :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRInstanceGroupConfigEbsConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   { _eMRInstanceGroupConfigVolumeSpecificationIops :: Maybe (Val Integer')
   , _eMRInstanceGroupConfigVolumeSpecificationSizeInGB :: Val Integer'
   , _eMRInstanceGroupConfigVolumeSpecificationVolumeType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRInstanceGroupConfigVolumeSpecification where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRStepHadoopJarStepConfig.hs b/library-gen/Stratosphere/ResourceProperties/EMRStepHadoopJarStepConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRStepHadoopJarStepConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRStepHadoopJarStepConfig.hs
@@ -22,7 +22,7 @@
   , _eMRStepHadoopJarStepConfigJar :: Val Text
   , _eMRStepHadoopJarStepConfigMainClass :: Maybe (Val Text)
   , _eMRStepHadoopJarStepConfigStepProperties :: Maybe [EMRStepKeyValue]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRStepHadoopJarStepConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EMRStepKeyValue.hs b/library-gen/Stratosphere/ResourceProperties/EMRStepKeyValue.hs
--- a/library-gen/Stratosphere/ResourceProperties/EMRStepKeyValue.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EMRStepKeyValue.hs
@@ -20,7 +20,7 @@
   EMRStepKeyValue
   { _eMRStepKeyValueKey :: Maybe (Val Text)
   , _eMRStepKeyValueValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRStepKeyValue where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _elastiCacheReplicationGroupNodeGroupConfigurationReplicaAvailabilityZones :: Maybe [Val Text]
   , _elastiCacheReplicationGroupNodeGroupConfigurationReplicaCount :: Maybe (Val Integer')
   , _elastiCacheReplicationGroupNodeGroupConfigurationSlots :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheReplicationGroupNodeGroupConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 50, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationVersionSourceBundle.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationVersionSourceBundle.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationVersionSourceBundle.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkApplicationVersionSourceBundle.hs
@@ -22,7 +22,7 @@
   ElasticBeanstalkApplicationVersionSourceBundle
   { _elasticBeanstalkApplicationVersionSourceBundleS3Bucket :: Val Text
   , _elasticBeanstalkApplicationVersionSourceBundleS3Key :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkApplicationVersionSourceBundle where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 47, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting.hs
@@ -23,7 +23,7 @@
   { _elasticBeanstalkConfigurationTemplateConfigurationOptionSettingNamespace :: Val Text
   , _elasticBeanstalkConfigurationTemplateConfigurationOptionSettingOptionName :: Val Text
   , _elasticBeanstalkConfigurationTemplateConfigurationOptionSettingValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 64, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateSourceConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateSourceConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateSourceConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkConfigurationTemplateSourceConfiguration.hs
@@ -22,7 +22,7 @@
   ElasticBeanstalkConfigurationTemplateSourceConfiguration
   { _elasticBeanstalkConfigurationTemplateSourceConfigurationApplicationName :: Val Text
   , _elasticBeanstalkConfigurationTemplateSourceConfigurationTemplateName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkConfigurationTemplateSourceConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 57, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentOptionSettings.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentOptionSettings.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentOptionSettings.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentOptionSettings.hs
@@ -22,7 +22,7 @@
   { _elasticBeanstalkEnvironmentOptionSettingsNamespace :: Val Text
   , _elasticBeanstalkEnvironmentOptionSettingsOptionName :: Val Text
   , _elasticBeanstalkEnvironmentOptionSettingsValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkEnvironmentOptionSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentTier.hs b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentTier.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentTier.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticBeanstalkEnvironmentTier.hs
@@ -21,7 +21,7 @@
   { _elasticBeanstalkEnvironmentTierName :: Maybe (Val Text)
   , _elasticBeanstalkEnvironmentTierType :: Maybe (Val Text)
   , _elasticBeanstalkEnvironmentTierVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkEnvironmentTier where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _elasticLoadBalancingLoadBalancerAccessLoggingPolicyEnabled :: Val Bool'
   , _elasticLoadBalancingLoadBalancerAccessLoggingPolicyS3BucketName :: Val Text
   , _elasticLoadBalancingLoadBalancerAccessLoggingPolicyS3BucketPrefix :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerAccessLoggingPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 52, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAppCookieStickinessPolicy.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAppCookieStickinessPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAppCookieStickinessPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerAppCookieStickinessPolicy.hs
@@ -22,7 +22,7 @@
   ElasticLoadBalancingLoadBalancerAppCookieStickinessPolicy
   { _elasticLoadBalancingLoadBalancerAppCookieStickinessPolicyCookieName :: Val Text
   , _elasticLoadBalancingLoadBalancerAppCookieStickinessPolicyPolicyName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerAppCookieStickinessPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 58, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy
   { _elasticLoadBalancingLoadBalancerConnectionDrainingPolicyEnabled :: Val Bool'
   , _elasticLoadBalancingLoadBalancerConnectionDrainingPolicyTimeout :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerConnectionDrainingPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 57, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
 data ElasticLoadBalancingLoadBalancerConnectionSettings =
   ElasticLoadBalancingLoadBalancerConnectionSettings
   { _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerConnectionSettings where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 51, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerHealthCheck.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerHealthCheck.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerHealthCheck.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerHealthCheck.hs
@@ -25,7 +25,7 @@
   , _elasticLoadBalancingLoadBalancerHealthCheckTarget :: Val Text
   , _elasticLoadBalancingLoadBalancerHealthCheckTimeout :: Val Text
   , _elasticLoadBalancingLoadBalancerHealthCheckUnhealthyThreshold :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerHealthCheck where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 44, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerLBCookieStickinessPolicy.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerLBCookieStickinessPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerLBCookieStickinessPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerLBCookieStickinessPolicy.hs
@@ -22,7 +22,7 @@
   ElasticLoadBalancingLoadBalancerLBCookieStickinessPolicy
   { _elasticLoadBalancingLoadBalancerLBCookieStickinessPolicyCookieExpirationPeriod :: Maybe (Val Text)
   , _elasticLoadBalancingLoadBalancerLBCookieStickinessPolicyPolicyName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerLBCookieStickinessPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 57, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerListeners.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerListeners.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerListeners.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerListeners.hs
@@ -25,7 +25,7 @@
   , _elasticLoadBalancingLoadBalancerListenersPolicyNames :: Maybe [Val Text]
   , _elasticLoadBalancingLoadBalancerListenersProtocol :: Val Text
   , _elasticLoadBalancingLoadBalancerListenersSSLCertificateId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerListeners where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerPolicies.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerPolicies.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerPolicies.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerPolicies.hs
@@ -24,7 +24,7 @@
   , _elasticLoadBalancingLoadBalancerPoliciesLoadBalancerPorts :: Maybe [Val Text]
   , _elasticLoadBalancingLoadBalancerPoliciesPolicyName :: Val Text
   , _elasticLoadBalancingLoadBalancerPoliciesPolicyType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancerPolicies where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   ElasticLoadBalancingV2ListenerAction
   { _elasticLoadBalancingV2ListenerActionTargetGroupArn :: Val Text
   , _elasticLoadBalancingV2ListenerActionType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2ListenerAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerCertificate.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerCertificate.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerCertificate.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerCertificate.hs
@@ -20,7 +20,7 @@
 data ElasticLoadBalancingV2ListenerCertificate =
   ElasticLoadBalancingV2ListenerCertificate
   { _elasticLoadBalancingV2ListenerCertificateCertificateArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2ListenerCertificate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   ElasticLoadBalancingV2ListenerRuleAction
   { _elasticLoadBalancingV2ListenerRuleActionTargetGroupArn :: Val Text
   , _elasticLoadBalancingV2ListenerRuleActionType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2ListenerRuleAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleRuleCondition.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleRuleCondition.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleRuleCondition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2ListenerRuleRuleCondition.hs
@@ -22,7 +22,7 @@
   ElasticLoadBalancingV2ListenerRuleRuleCondition
   { _elasticLoadBalancingV2ListenerRuleRuleConditionField :: Maybe (Val Text)
   , _elasticLoadBalancingV2ListenerRuleRuleConditionValues :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2ListenerRuleRuleCondition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 48, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute.hs
@@ -22,7 +22,7 @@
   ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute
   { _elasticLoadBalancingV2LoadBalancerLoadBalancerAttributeKey :: Maybe (Val Text)
   , _elasticLoadBalancingV2LoadBalancerLoadBalancerAttributeValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2LoadBalancerLoadBalancerAttribute where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 56, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupMatcher.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupMatcher.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupMatcher.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupMatcher.hs
@@ -20,7 +20,7 @@
 data ElasticLoadBalancingV2TargetGroupMatcher =
   ElasticLoadBalancingV2TargetGroupMatcher
   { _elasticLoadBalancingV2TargetGroupMatcherHttpCode :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2TargetGroupMatcher where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   ElasticLoadBalancingV2TargetGroupTargetDescription
   { _elasticLoadBalancingV2TargetGroupTargetDescriptionId :: Val Text
   , _elasticLoadBalancingV2TargetGroupTargetDescriptionPort :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2TargetGroupTargetDescription where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 51, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetGroupAttribute.hs b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetGroupAttribute.hs
--- a/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetGroupAttribute.hs
+++ b/library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingV2TargetGroupTargetGroupAttribute.hs
@@ -22,7 +22,7 @@
   ElasticLoadBalancingV2TargetGroupTargetGroupAttribute
   { _elasticLoadBalancingV2TargetGroupTargetGroupAttributeKey :: Maybe (Val Text)
   , _elasticLoadBalancingV2TargetGroupTargetGroupAttributeValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2TargetGroupTargetGroupAttribute where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 54, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _elasticsearchDomainEBSOptionsIops :: Maybe (Val Integer')
   , _elasticsearchDomainEBSOptionsVolumeSize :: Maybe (Val Integer')
   , _elasticsearchDomainEBSOptionsVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticsearchDomainEBSOptions where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _elasticsearchDomainElasticsearchClusterConfigInstanceCount :: Maybe (Val Integer')
   , _elasticsearchDomainElasticsearchClusterConfigInstanceType :: Maybe (Val Text)
   , _elasticsearchDomainElasticsearchClusterConfigZoneAwarenessEnabled :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticsearchDomainElasticsearchClusterConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 46, omitNothingFields = True }
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
@@ -19,7 +19,7 @@
 data ElasticsearchDomainSnapshotOptions =
   ElasticsearchDomainSnapshotOptions
   { _elasticsearchDomainSnapshotOptionsAutomatedSnapshotStartHour :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticsearchDomainSnapshotOptions where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs b/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/EventsRuleTarget.hs
@@ -22,7 +22,7 @@
   , _eventsRuleTargetId :: Val Text
   , _eventsRuleTargetInput :: Maybe (Val Text)
   , _eventsRuleTargetInputPath :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EventsRuleTarget where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs
--- a/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftAliasRoutingStrategy.hs
@@ -21,7 +21,7 @@
   { _gameLiftAliasRoutingStrategyFleetId :: Maybe (Val Text)
   , _gameLiftAliasRoutingStrategyMessage :: Maybe (Val Text)
   , _gameLiftAliasRoutingStrategyType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON GameLiftAliasRoutingStrategy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs b/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs
--- a/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs
+++ b/library-gen/Stratosphere/ResourceProperties/GameLiftBuildS3Location.hs
@@ -21,7 +21,7 @@
   { _gameLiftBuildS3LocationBucket :: Val Text
   , _gameLiftBuildS3LocationKey :: Val Text
   , _gameLiftBuildS3LocationRoleArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON GameLiftBuildS3Location where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _gameLiftFleetIpPermissionIpRange :: Val Text
   , _gameLiftFleetIpPermissionProtocol :: Val Text
   , _gameLiftFleetIpPermissionToPort :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON GameLiftFleetIpPermission where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IAMGroupPolicy.hs b/library-gen/Stratosphere/ResourceProperties/IAMGroupPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/IAMGroupPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IAMGroupPolicy.hs
@@ -20,7 +20,7 @@
   IAMGroupPolicy
   { _iAMGroupPolicyPolicyDocument :: Object
   , _iAMGroupPolicyPolicyName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMGroupPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IAMRolePolicy.hs b/library-gen/Stratosphere/ResourceProperties/IAMRolePolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/IAMRolePolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IAMRolePolicy.hs
@@ -20,7 +20,7 @@
   IAMRolePolicy
   { _iAMRolePolicyPolicyDocument :: Object
   , _iAMRolePolicyPolicyName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMRolePolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   IAMUserLoginProfile
   { _iAMUserLoginProfilePassword :: Val Text
   , _iAMUserLoginProfilePasswordResetRequired :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMUserLoginProfile where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IAMUserPolicy.hs b/library-gen/Stratosphere/ResourceProperties/IAMUserPolicy.hs
--- a/library-gen/Stratosphere/ResourceProperties/IAMUserPolicy.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IAMUserPolicy.hs
@@ -20,7 +20,7 @@
   IAMUserPolicy
   { _iAMUserPolicyPolicyDocument :: Object
   , _iAMUserPolicyPolicyName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMUserPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTThingAttributePayload.hs b/library-gen/Stratosphere/ResourceProperties/IoTThingAttributePayload.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTThingAttributePayload.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTThingAttributePayload.hs
@@ -19,7 +19,7 @@
 data IoTThingAttributePayload =
   IoTThingAttributePayload
   { _ioTThingAttributePayloadAttributes :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTThingAttributePayload where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleAction.hs
@@ -39,7 +39,7 @@
   , _ioTTopicRuleActionS3 :: Maybe IoTTopicRuleS3Action
   , _ioTTopicRuleActionSns :: Maybe IoTTopicRuleSnsAction
   , _ioTTopicRuleActionSqs :: Maybe IoTTopicRuleSqsAction
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchAlarmAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchAlarmAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchAlarmAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchAlarmAction.hs
@@ -22,7 +22,7 @@
   , _ioTTopicRuleCloudwatchAlarmActionRoleArn :: Val Text
   , _ioTTopicRuleCloudwatchAlarmActionStateReason :: Val Text
   , _ioTTopicRuleCloudwatchAlarmActionStateValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleCloudwatchAlarmAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchMetricAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchMetricAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchMetricAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleCloudwatchMetricAction.hs
@@ -24,7 +24,7 @@
   , _ioTTopicRuleCloudwatchMetricActionMetricUnit :: Val Text
   , _ioTTopicRuleCloudwatchMetricActionMetricValue :: Val Text
   , _ioTTopicRuleCloudwatchMetricActionRoleArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleCloudwatchMetricAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleDynamoDBAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleDynamoDBAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleDynamoDBAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleDynamoDBAction.hs
@@ -25,7 +25,7 @@
   , _ioTTopicRuleDynamoDBActionRangeKeyValue :: Val Text
   , _ioTTopicRuleDynamoDBActionRoleArn :: Val Text
   , _ioTTopicRuleDynamoDBActionTableName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleDynamoDBAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleElasticsearchAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleElasticsearchAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleElasticsearchAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleElasticsearchAction.hs
@@ -23,7 +23,7 @@
   , _ioTTopicRuleElasticsearchActionIndex :: Val Text
   , _ioTTopicRuleElasticsearchActionRoleArn :: Val Text
   , _ioTTopicRuleElasticsearchActionType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleElasticsearchAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleFirehoseAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleFirehoseAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleFirehoseAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleFirehoseAction.hs
@@ -21,7 +21,7 @@
   { _ioTTopicRuleFirehoseActionDeliveryStreamName :: Val Text
   , _ioTTopicRuleFirehoseActionRoleArn :: Val Text
   , _ioTTopicRuleFirehoseActionSeparator :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleFirehoseAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleKinesisAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleKinesisAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleKinesisAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleKinesisAction.hs
@@ -21,7 +21,7 @@
   { _ioTTopicRuleKinesisActionPartitionKey :: Maybe (Val Text)
   , _ioTTopicRuleKinesisActionRoleArn :: Val Text
   , _ioTTopicRuleKinesisActionStreamName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleKinesisAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleLambdaAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleLambdaAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleLambdaAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleLambdaAction.hs
@@ -19,7 +19,7 @@
 data IoTTopicRuleLambdaAction =
   IoTTopicRuleLambdaAction
   { _ioTTopicRuleLambdaActionFunctionArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleLambdaAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleRepublishAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleRepublishAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleRepublishAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleRepublishAction.hs
@@ -20,7 +20,7 @@
   IoTTopicRuleRepublishAction
   { _ioTTopicRuleRepublishActionRoleArn :: Val Text
   , _ioTTopicRuleRepublishActionTopic :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleRepublishAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleS3Action.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleS3Action.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleS3Action.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleS3Action.hs
@@ -21,7 +21,7 @@
   { _ioTTopicRuleS3ActionBucketName :: Val Text
   , _ioTTopicRuleS3ActionKey :: Val Text
   , _ioTTopicRuleS3ActionRoleArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleS3Action where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSnsAction.hs b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSnsAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSnsAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/IoTTopicRuleSnsAction.hs
@@ -21,7 +21,7 @@
   { _ioTTopicRuleSnsActionMessageFormat :: Maybe (Val Text)
   , _ioTTopicRuleSnsActionRoleArn :: Val Text
   , _ioTTopicRuleSnsActionTargetArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleSnsAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _ioTTopicRuleSqsActionQueueUrl :: Val Text
   , _ioTTopicRuleSqsActionRoleArn :: Val Text
   , _ioTTopicRuleSqsActionUseBase64 :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleSqsAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _ioTTopicRuleTopicRulePayloadDescription :: Maybe (Val Text)
   , _ioTTopicRuleTopicRulePayloadRuleDisabled :: Val Bool'
   , _ioTTopicRuleTopicRulePayloadSql :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRuleTopicRulePayload where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   KinesisFirehoseDeliveryStreamBufferingHints
   { _kinesisFirehoseDeliveryStreamBufferingHintsIntervalInSeconds :: Val Integer'
   , _kinesisFirehoseDeliveryStreamBufferingHintsSizeInMBs :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamBufferingHints where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 44, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   { _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsEnabled :: Maybe (Val Bool')
   , _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsLogGroupName :: Maybe (Val Text)
   , _kinesisFirehoseDeliveryStreamCloudWatchLoggingOptionsLogStreamName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 54, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCopyCommand.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCopyCommand.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCopyCommand.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamCopyCommand.hs
@@ -22,7 +22,7 @@
   { _kinesisFirehoseDeliveryStreamCopyCommandCopyOptions :: Maybe (Val Text)
   , _kinesisFirehoseDeliveryStreamCopyCommandDataTableColumns :: Maybe (Val Text)
   , _kinesisFirehoseDeliveryStreamCopyCommandDataTableName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamCopyCommand where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   KinesisFirehoseDeliveryStreamElasticsearchBufferingHints
   { _kinesisFirehoseDeliveryStreamElasticsearchBufferingHintsIntervalInSeconds :: Val Integer'
   , _kinesisFirehoseDeliveryStreamElasticsearchBufferingHintsSizeInMBs :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamElasticsearchBufferingHints where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 57, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration.hs
@@ -34,7 +34,7 @@
   , _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfigurationS3BackupMode :: Val KinesisFirehoseElasticsearchS3BackupMode
   , _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfigurationS3Configuration :: KinesisFirehoseDeliveryStreamS3DestinationConfiguration
   , _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfigurationTypeName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 67, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
 data KinesisFirehoseDeliveryStreamElasticsearchRetryOptions =
   KinesisFirehoseDeliveryStreamElasticsearchRetryOptions
   { _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamElasticsearchRetryOptions where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 55, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamEncryptionConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamEncryptionConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamEncryptionConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamEncryptionConfiguration.hs
@@ -23,7 +23,7 @@
   KinesisFirehoseDeliveryStreamEncryptionConfiguration
   { _kinesisFirehoseDeliveryStreamEncryptionConfigurationKMSEncryptionConfig :: Maybe KinesisFirehoseDeliveryStreamKMSEncryptionConfig
   , _kinesisFirehoseDeliveryStreamEncryptionConfigurationNoEncryptionConfig :: Maybe (Val KinesisFirehoseNoEncryptionConfig)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamEncryptionConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 53, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamKMSEncryptionConfig.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamKMSEncryptionConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamKMSEncryptionConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamKMSEncryptionConfig.hs
@@ -21,7 +21,7 @@
 data KinesisFirehoseDeliveryStreamKMSEncryptionConfig =
   KinesisFirehoseDeliveryStreamKMSEncryptionConfig
   { _kinesisFirehoseDeliveryStreamKMSEncryptionConfigAWSKMSKeyARN :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamKMSEncryptionConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 49, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration.hs
@@ -29,7 +29,7 @@
   , _kinesisFirehoseDeliveryStreamRedshiftDestinationConfigurationRoleARN :: Val Text
   , _kinesisFirehoseDeliveryStreamRedshiftDestinationConfigurationS3Configuration :: KinesisFirehoseDeliveryStreamS3DestinationConfiguration
   , _kinesisFirehoseDeliveryStreamRedshiftDestinationConfigurationUsername :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 62, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamS3DestinationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamS3DestinationConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamS3DestinationConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamS3DestinationConfiguration.hs
@@ -30,7 +30,7 @@
   , _kinesisFirehoseDeliveryStreamS3DestinationConfigurationEncryptionConfiguration :: Maybe KinesisFirehoseDeliveryStreamEncryptionConfiguration
   , _kinesisFirehoseDeliveryStreamS3DestinationConfigurationPrefix :: Val Text
   , _kinesisFirehoseDeliveryStreamS3DestinationConfigurationRoleARN :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStreamS3DestinationConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 56, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaFunctionCode.hs b/library-gen/Stratosphere/ResourceProperties/LambdaFunctionCode.hs
--- a/library-gen/Stratosphere/ResourceProperties/LambdaFunctionCode.hs
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaFunctionCode.hs
@@ -22,7 +22,7 @@
   , _lambdaFunctionCodeS3Key :: Maybe (Val Text)
   , _lambdaFunctionCodeS3ObjectVersion :: Maybe (Val Text)
   , _lambdaFunctionCodeZipFile :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaFunctionCode where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaFunctionEnvironment.hs b/library-gen/Stratosphere/ResourceProperties/LambdaFunctionEnvironment.hs
--- a/library-gen/Stratosphere/ResourceProperties/LambdaFunctionEnvironment.hs
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaFunctionEnvironment.hs
@@ -19,7 +19,7 @@
 data LambdaFunctionEnvironment =
   LambdaFunctionEnvironment
   { _lambdaFunctionEnvironmentVariables :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaFunctionEnvironment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/LambdaFunctionVpcConfig.hs b/library-gen/Stratosphere/ResourceProperties/LambdaFunctionVpcConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/LambdaFunctionVpcConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/LambdaFunctionVpcConfig.hs
@@ -20,7 +20,7 @@
   LambdaFunctionVpcConfig
   { _lambdaFunctionVpcConfigSecurityGroupIds :: [Val Text]
   , _lambdaFunctionVpcConfigSubnetIds :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaFunctionVpcConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _logsMetricFilterMetricTransformationMetricName :: Val Text
   , _logsMetricFilterMetricTransformationMetricNamespace :: Val Text
   , _logsMetricFilterMetricTransformationMetricValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LogsMetricFilterMetricTransformation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppDataSource.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppDataSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppDataSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppDataSource.hs
@@ -21,7 +21,7 @@
   { _opsWorksAppDataSourceArn :: Maybe (Val Text)
   , _opsWorksAppDataSourceDatabaseName :: Maybe (Val Text)
   , _opsWorksAppDataSourceType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksAppDataSource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _opsWorksAppEnvironmentVariableKey :: Val Text
   , _opsWorksAppEnvironmentVariableSecure :: Maybe (Val Bool')
   , _opsWorksAppEnvironmentVariableValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksAppEnvironmentVariable where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSource.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSource.hs
@@ -24,7 +24,7 @@
   , _opsWorksAppSourceType :: Maybe (Val Text)
   , _opsWorksAppSourceUrl :: Maybe (Val Text)
   , _opsWorksAppSourceUsername :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksAppSource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSslConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSslConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSslConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksAppSslConfiguration.hs
@@ -21,7 +21,7 @@
   { _opsWorksAppSslConfigurationCertificate :: Maybe (Val Text)
   , _opsWorksAppSslConfigurationChain :: Maybe (Val Text)
   , _opsWorksAppSslConfigurationPrivateKey :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksAppSslConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceBlockDeviceMapping.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceBlockDeviceMapping.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceBlockDeviceMapping.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceBlockDeviceMapping.hs
@@ -22,7 +22,7 @@
   , _opsWorksInstanceBlockDeviceMappingEbs :: Maybe OpsWorksInstanceEbsBlockDevice
   , _opsWorksInstanceBlockDeviceMappingNoDevice :: Maybe (Val Text)
   , _opsWorksInstanceBlockDeviceMappingVirtualName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksInstanceBlockDeviceMapping where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _opsWorksInstanceEbsBlockDeviceSnapshotId :: Maybe (Val Text)
   , _opsWorksInstanceEbsBlockDeviceVolumeSize :: Maybe (Val Integer')
   , _opsWorksInstanceEbsBlockDeviceVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksInstanceEbsBlockDevice where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceTimeBasedAutoScaling.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceTimeBasedAutoScaling.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceTimeBasedAutoScaling.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksInstanceTimeBasedAutoScaling.hs
@@ -25,7 +25,7 @@
   , _opsWorksInstanceTimeBasedAutoScalingThursday :: Maybe Object
   , _opsWorksInstanceTimeBasedAutoScalingTuesday :: Maybe Object
   , _opsWorksInstanceTimeBasedAutoScalingWednesday :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksInstanceTimeBasedAutoScaling where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _opsWorksLayerAutoScalingThresholdsLoadThreshold :: Maybe (Val Double')
   , _opsWorksLayerAutoScalingThresholdsMemoryThreshold :: Maybe (Val Double')
   , _opsWorksLayerAutoScalingThresholdsThresholdsWaitTime :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayerAutoScalingThresholds where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLifecycleEventConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLifecycleEventConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLifecycleEventConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerLifecycleEventConfiguration.hs
@@ -20,7 +20,7 @@
 data OpsWorksLayerLifecycleEventConfiguration =
   OpsWorksLayerLifecycleEventConfiguration
   { _opsWorksLayerLifecycleEventConfigurationShutdownEventConfiguration :: Maybe OpsWorksLayerShutdownEventConfiguration
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayerLifecycleEventConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _opsWorksLayerLoadBasedAutoScalingDownScaling :: Maybe OpsWorksLayerAutoScalingThresholds
   , _opsWorksLayerLoadBasedAutoScalingEnable :: Maybe (Val Bool')
   , _opsWorksLayerLoadBasedAutoScalingUpScaling :: Maybe OpsWorksLayerAutoScalingThresholds
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayerLoadBasedAutoScaling where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerRecipes.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerRecipes.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerRecipes.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksLayerRecipes.hs
@@ -23,7 +23,7 @@
   , _opsWorksLayerRecipesSetup :: Maybe [Val Text]
   , _opsWorksLayerRecipesShutdown :: Maybe [Val Text]
   , _opsWorksLayerRecipesUndeploy :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayerRecipes where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   OpsWorksLayerShutdownEventConfiguration
   { _opsWorksLayerShutdownEventConfigurationDelayUntilElbConnectionsDrained :: Maybe (Val Bool')
   , _opsWorksLayerShutdownEventConfigurationExecutionTimeout :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayerShutdownEventConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 40, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _opsWorksLayerVolumeConfigurationRaidLevel :: Maybe (Val Integer')
   , _opsWorksLayerVolumeConfigurationSize :: Maybe (Val Integer')
   , _opsWorksLayerVolumeConfigurationVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayerVolumeConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   OpsWorksStackChefConfiguration
   { _opsWorksStackChefConfigurationBerkshelfVersion :: Maybe (Val Text)
   , _opsWorksStackChefConfigurationManageBerkshelf :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksStackChefConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackElasticIp.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackElasticIp.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackElasticIp.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackElasticIp.hs
@@ -20,7 +20,7 @@
   OpsWorksStackElasticIp
   { _opsWorksStackElasticIpIp :: Val Text
   , _opsWorksStackElasticIpName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksStackElasticIp where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackRdsDbInstance.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackRdsDbInstance.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackRdsDbInstance.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackRdsDbInstance.hs
@@ -21,7 +21,7 @@
   { _opsWorksStackRdsDbInstanceDbPassword :: Val Text
   , _opsWorksStackRdsDbInstanceDbUser :: Val Text
   , _opsWorksStackRdsDbInstanceRdsDbInstanceArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksStackRdsDbInstance where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackSource.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackSource.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackSource.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackSource.hs
@@ -24,7 +24,7 @@
   , _opsWorksStackSourceType :: Maybe (Val Text)
   , _opsWorksStackSourceUrl :: Maybe (Val Text)
   , _opsWorksStackSourceUsername :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksStackSource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackStackConfigurationManager.hs b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackStackConfigurationManager.hs
--- a/library-gen/Stratosphere/ResourceProperties/OpsWorksStackStackConfigurationManager.hs
+++ b/library-gen/Stratosphere/ResourceProperties/OpsWorksStackStackConfigurationManager.hs
@@ -21,7 +21,7 @@
   OpsWorksStackStackConfigurationManager
   { _opsWorksStackStackConfigurationManagerName :: Maybe (Val Text)
   , _opsWorksStackStackConfigurationManagerVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksStackStackConfigurationManager where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSDBSecurityGroupIngressProperty.hs b/library-gen/Stratosphere/ResourceProperties/RDSDBSecurityGroupIngressProperty.hs
--- a/library-gen/Stratosphere/ResourceProperties/RDSDBSecurityGroupIngressProperty.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSDBSecurityGroupIngressProperty.hs
@@ -22,7 +22,7 @@
   , _rDSDBSecurityGroupIngressPropertyEC2SecurityGroupId :: Maybe (Val Text)
   , _rDSDBSecurityGroupIngressPropertyEC2SecurityGroupName :: Maybe (Val Text)
   , _rDSDBSecurityGroupIngressPropertyEC2SecurityGroupOwnerId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBSecurityGroupIngressProperty where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _rDSOptionGroupOptionConfigurationOptionSettings :: Maybe RDSOptionGroupOptionSetting
   , _rDSOptionGroupOptionConfigurationPort :: Maybe (Val Integer')
   , _rDSOptionGroupOptionConfigurationVpcSecurityGroupMemberships :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSOptionGroupOptionConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionSetting.hs b/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionSetting.hs
--- a/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionSetting.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RDSOptionGroupOptionSetting.hs
@@ -20,7 +20,7 @@
   RDSOptionGroupOptionSetting
   { _rDSOptionGroupOptionSettingName :: Maybe (Val Text)
   , _rDSOptionGroupOptionSettingValue :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSOptionGroupOptionSetting where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/RedshiftClusterParameterGroupParameter.hs b/library-gen/Stratosphere/ResourceProperties/RedshiftClusterParameterGroupParameter.hs
--- a/library-gen/Stratosphere/ResourceProperties/RedshiftClusterParameterGroupParameter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/RedshiftClusterParameterGroupParameter.hs
@@ -21,7 +21,7 @@
   RedshiftClusterParameterGroupParameter
   { _redshiftClusterParameterGroupParameterParameterName :: Val Text
   , _redshiftClusterParameterGroupParameterParameterValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RedshiftClusterParameterGroupParameter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 39, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _route53HealthCheckHealthCheckConfigResourcePath :: Maybe (Val Text)
   , _route53HealthCheckHealthCheckConfigSearchString :: Maybe (Val Text)
   , _route53HealthCheckHealthCheckConfigType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HealthCheckHealthCheckConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckTag.hs b/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckTag.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckTag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53HealthCheckHealthCheckTag.hs
@@ -20,7 +20,7 @@
   Route53HealthCheckHealthCheckTag
   { _route53HealthCheckHealthCheckTagKey :: Val Text
   , _route53HealthCheckHealthCheckTagValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HealthCheckHealthCheckTag where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneConfig.hs b/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneConfig.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneConfig.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneConfig.hs
@@ -19,7 +19,7 @@
 data Route53HostedZoneHostedZoneConfig =
   Route53HostedZoneHostedZoneConfig
   { _route53HostedZoneHostedZoneConfigComment :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HostedZoneHostedZoneConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneTag.hs b/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneTag.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneTag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneHostedZoneTag.hs
@@ -20,7 +20,7 @@
   Route53HostedZoneHostedZoneTag
   { _route53HostedZoneHostedZoneTagKey :: Val Text
   , _route53HostedZoneHostedZoneTagValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HostedZoneHostedZoneTag where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneVPC.hs b/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneVPC.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneVPC.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53HostedZoneVPC.hs
@@ -20,7 +20,7 @@
   Route53HostedZoneVPC
   { _route53HostedZoneVPCVPCId :: Val Text
   , _route53HostedZoneVPCVPCRegion :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HostedZoneVPC where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _route53RecordSetAliasTargetDNSName :: Val Text
   , _route53RecordSetAliasTargetEvaluateTargetHealth :: Maybe (Val Bool')
   , _route53RecordSetAliasTargetHostedZoneId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSetAliasTarget where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGeoLocation.hs b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGeoLocation.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGeoLocation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGeoLocation.hs
@@ -21,7 +21,7 @@
   { _route53RecordSetGeoLocationContinentCode :: Maybe (Val Text)
   , _route53RecordSetGeoLocationCountryCode :: Maybe (Val Text)
   , _route53RecordSetGeoLocationSubdivisionCode :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSetGeoLocation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _route53RecordSetGroupAliasTargetDNSName :: Val Text
   , _route53RecordSetGroupAliasTargetEvaluateTargetHealth :: Maybe (Val Bool')
   , _route53RecordSetGroupAliasTargetHostedZoneId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSetGroupAliasTarget where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupGeoLocation.hs b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupGeoLocation.hs
--- a/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupGeoLocation.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Route53RecordSetGroupGeoLocation.hs
@@ -21,7 +21,7 @@
   { _route53RecordSetGroupGeoLocationContinentCode :: Maybe (Val Text)
   , _route53RecordSetGroupGeoLocationCountryCode :: Maybe (Val Text)
   , _route53RecordSetGroupGeoLocationSubdivisionCode :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSetGroupGeoLocation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
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
@@ -33,7 +33,7 @@
   , _route53RecordSetGroupRecordSetTTL :: Maybe (Val Text)
   , _route53RecordSetGroupRecordSetType :: Val Text
   , _route53RecordSetGroupRecordSetWeight :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSetGroupRecordSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketCorsConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketCorsConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketCorsConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketCorsConfiguration.hs
@@ -19,7 +19,7 @@
 data S3BucketCorsConfiguration =
   S3BucketCorsConfiguration
   { _s3BucketCorsConfigurationCorsRules :: [S3BucketCorsRule]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketCorsConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _s3BucketCorsRuleExposedHeaders :: Maybe [Val Text]
   , _s3BucketCorsRuleId :: Maybe (Val Text)
   , _s3BucketCorsRuleMaxAge :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketCorsRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketFilterRule.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketFilterRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketFilterRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketFilterRule.hs
@@ -20,7 +20,7 @@
   S3BucketFilterRule
   { _s3BucketFilterRuleName :: Val Text
   , _s3BucketFilterRuleValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketFilterRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketLambdaConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketLambdaConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketLambdaConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketLambdaConfiguration.hs
@@ -21,7 +21,7 @@
   { _s3BucketLambdaConfigurationEvent :: Val Text
   , _s3BucketLambdaConfigurationFilter :: Maybe S3BucketNotificationFilter
   , _s3BucketLambdaConfigurationFunction :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketLambdaConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketLifecycleConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketLifecycleConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketLifecycleConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketLifecycleConfiguration.hs
@@ -19,7 +19,7 @@
 data S3BucketLifecycleConfiguration =
   S3BucketLifecycleConfiguration
   { _s3BucketLifecycleConfigurationRules :: [S3BucketRule]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketLifecycleConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketLoggingConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketLoggingConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketLoggingConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketLoggingConfiguration.hs
@@ -20,7 +20,7 @@
   S3BucketLoggingConfiguration
   { _s3BucketLoggingConfigurationDestinationBucketName :: Maybe (Val Text)
   , _s3BucketLoggingConfigurationLogFilePrefix :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketLoggingConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   S3BucketNoncurrentVersionTransition
   { _s3BucketNoncurrentVersionTransitionStorageClass :: Val Text
   , _s3BucketNoncurrentVersionTransitionTransitionInDays :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketNoncurrentVersionTransition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationConfiguration.hs
@@ -23,7 +23,7 @@
   { _s3BucketNotificationConfigurationLambdaConfigurations :: Maybe [S3BucketLambdaConfiguration]
   , _s3BucketNotificationConfigurationQueueConfigurations :: Maybe [S3BucketQueueConfiguration]
   , _s3BucketNotificationConfigurationTopicConfigurations :: Maybe [S3BucketTopicConfiguration]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketNotificationConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationFilter.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketNotificationFilter.hs
@@ -19,7 +19,7 @@
 data S3BucketNotificationFilter =
   S3BucketNotificationFilter
   { _s3BucketNotificationFilterS3Key :: S3BucketS3KeyFilter
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketNotificationFilter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketQueueConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketQueueConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketQueueConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketQueueConfiguration.hs
@@ -21,7 +21,7 @@
   { _s3BucketQueueConfigurationEvent :: Val Text
   , _s3BucketQueueConfigurationFilter :: Maybe S3BucketNotificationFilter
   , _s3BucketQueueConfigurationQueue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketQueueConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectAllRequestsTo.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectAllRequestsTo.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectAllRequestsTo.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectAllRequestsTo.hs
@@ -20,7 +20,7 @@
   S3BucketRedirectAllRequestsTo
   { _s3BucketRedirectAllRequestsToHostName :: Val Text
   , _s3BucketRedirectAllRequestsToProtocol :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketRedirectAllRequestsTo where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectRule.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketRedirectRule.hs
@@ -23,7 +23,7 @@
   , _s3BucketRedirectRuleProtocol :: Maybe (Val Text)
   , _s3BucketRedirectRuleReplaceKeyPrefixWith :: Maybe (Val Text)
   , _s3BucketRedirectRuleReplaceKeyWith :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketRedirectRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationConfiguration.hs
@@ -20,7 +20,7 @@
   S3BucketReplicationConfiguration
   { _s3BucketReplicationConfigurationRole :: Val Text
   , _s3BucketReplicationConfigurationRules :: [S3BucketReplicationRule]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketReplicationConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationDestination.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationDestination.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationDestination.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationDestination.hs
@@ -20,7 +20,7 @@
   S3BucketReplicationDestination
   { _s3BucketReplicationDestinationBucket :: Val Text
   , _s3BucketReplicationDestinationStorageClass :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketReplicationDestination where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationRule.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketReplicationRule.hs
@@ -22,7 +22,7 @@
   , _s3BucketReplicationRuleId :: Maybe (Val Text)
   , _s3BucketReplicationRulePrefix :: Val Text
   , _s3BucketReplicationRuleStatus :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketReplicationRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRule.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRule.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRule.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRule.hs
@@ -21,7 +21,7 @@
   S3BucketRoutingRule
   { _s3BucketRoutingRuleRedirectRule :: S3BucketRedirectRule
   , _s3BucketRoutingRuleRoutingRuleCondition :: Maybe S3BucketRoutingRuleCondition
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketRoutingRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRuleCondition.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRuleCondition.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRuleCondition.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketRoutingRuleCondition.hs
@@ -20,7 +20,7 @@
   S3BucketRoutingRuleCondition
   { _s3BucketRoutingRuleConditionHttpErrorCodeReturnedEquals :: Maybe (Val Text)
   , _s3BucketRoutingRuleConditionKeyPrefixEquals :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketRoutingRuleCondition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -29,7 +29,7 @@
   , _s3BucketRuleStatus :: Val Text
   , _s3BucketRuleTransition :: Maybe S3BucketTransition
   , _s3BucketRuleTransitions :: Maybe S3BucketTransition
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketS3KeyFilter.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketS3KeyFilter.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketS3KeyFilter.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketS3KeyFilter.hs
@@ -19,7 +19,7 @@
 data S3BucketS3KeyFilter =
   S3BucketS3KeyFilter
   { _s3BucketS3KeyFilterRules :: [S3BucketFilterRule]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketS3KeyFilter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketTopicConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketTopicConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketTopicConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketTopicConfiguration.hs
@@ -21,7 +21,7 @@
   { _s3BucketTopicConfigurationEvent :: Val Text
   , _s3BucketTopicConfigurationFilter :: Maybe S3BucketNotificationFilter
   , _s3BucketTopicConfigurationTopic :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketTopicConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _s3BucketTransitionStorageClass :: Val Text
   , _s3BucketTransitionTransitionDate :: Maybe (Val Text)
   , _s3BucketTransitionTransitionInDays :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketTransition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketVersioningConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketVersioningConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketVersioningConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketVersioningConfiguration.hs
@@ -19,7 +19,7 @@
 data S3BucketVersioningConfiguration =
   S3BucketVersioningConfiguration
   { _s3BucketVersioningConfigurationStatus :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketVersioningConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/S3BucketWebsiteConfiguration.hs b/library-gen/Stratosphere/ResourceProperties/S3BucketWebsiteConfiguration.hs
--- a/library-gen/Stratosphere/ResourceProperties/S3BucketWebsiteConfiguration.hs
+++ b/library-gen/Stratosphere/ResourceProperties/S3BucketWebsiteConfiguration.hs
@@ -23,7 +23,7 @@
   , _s3BucketWebsiteConfigurationIndexDocument :: Maybe (Val Text)
   , _s3BucketWebsiteConfigurationRedirectAllRequestsTo :: Maybe S3BucketRedirectAllRequestsTo
   , _s3BucketWebsiteConfigurationRoutingRules :: Maybe [S3BucketRoutingRule]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketWebsiteConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/SNSTopicSubscription.hs b/library-gen/Stratosphere/ResourceProperties/SNSTopicSubscription.hs
--- a/library-gen/Stratosphere/ResourceProperties/SNSTopicSubscription.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SNSTopicSubscription.hs
@@ -20,7 +20,7 @@
   SNSTopicSubscription
   { _sNSTopicSubscriptionEndpoint :: Val Text
   , _sNSTopicSubscriptionProtocol :: Val SNSProtocol
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SNSTopicSubscription where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs b/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs
--- a/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SSMAssociationParameterValues.hs
@@ -19,7 +19,7 @@
 data SSMAssociationParameterValues =
   SSMAssociationParameterValues
   { _sSMAssociationParameterValuesParameterValues :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SSMAssociationParameterValues where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/SSMAssociationTarget.hs b/library-gen/Stratosphere/ResourceProperties/SSMAssociationTarget.hs
--- a/library-gen/Stratosphere/ResourceProperties/SSMAssociationTarget.hs
+++ b/library-gen/Stratosphere/ResourceProperties/SSMAssociationTarget.hs
@@ -20,7 +20,7 @@
   SSMAssociationTarget
   { _sSMAssociationTargetKey :: Val Text
   , _sSMAssociationTargetValues :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SSMAssociationTarget where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/Tag.hs b/library-gen/Stratosphere/ResourceProperties/Tag.hs
--- a/library-gen/Stratosphere/ResourceProperties/Tag.hs
+++ b/library-gen/Stratosphere/ResourceProperties/Tag.hs
@@ -20,7 +20,7 @@
   Tag
   { _tagKey :: Val Text
   , _tagValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Tag where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 4, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetByteMatchTuple.hs b/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetByteMatchTuple.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetByteMatchTuple.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetByteMatchTuple.hs
@@ -23,7 +23,7 @@
   , _wAFByteMatchSetByteMatchTupleTargetString :: Maybe (Val Text)
   , _wAFByteMatchSetByteMatchTupleTargetStringBase64 :: Maybe (Val Text)
   , _wAFByteMatchSetByteMatchTupleTextTransformation :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFByteMatchSetByteMatchTuple where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetFieldToMatch.hs b/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetFieldToMatch.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetFieldToMatch.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFByteMatchSetFieldToMatch.hs
@@ -20,7 +20,7 @@
   WAFByteMatchSetFieldToMatch
   { _wAFByteMatchSetFieldToMatchData :: Maybe (Val Text)
   , _wAFByteMatchSetFieldToMatchType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFByteMatchSetFieldToMatch where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFIPSetIPSetDescriptor.hs b/library-gen/Stratosphere/ResourceProperties/WAFIPSetIPSetDescriptor.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFIPSetIPSetDescriptor.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFIPSetIPSetDescriptor.hs
@@ -20,7 +20,7 @@
   WAFIPSetIPSetDescriptor
   { _wAFIPSetIPSetDescriptorType :: Val Text
   , _wAFIPSetIPSetDescriptorValue :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFIPSetIPSetDescriptor where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _wAFRulePredicateDataId :: Val Text
   , _wAFRulePredicateNegated :: Val Bool'
   , _wAFRulePredicateType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFRulePredicate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetFieldToMatch.hs b/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetFieldToMatch.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetFieldToMatch.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFSizeConstraintSetFieldToMatch.hs
@@ -20,7 +20,7 @@
   WAFSizeConstraintSetFieldToMatch
   { _wAFSizeConstraintSetFieldToMatchData :: Maybe (Val Text)
   , _wAFSizeConstraintSetFieldToMatchType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFSizeConstraintSetFieldToMatch where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _wAFSizeConstraintSetSizeConstraintFieldToMatch :: WAFSizeConstraintSetFieldToMatch
   , _wAFSizeConstraintSetSizeConstraintSize :: Val Integer'
   , _wAFSizeConstraintSetSizeConstraintTextTransformation :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFSizeConstraintSetSizeConstraint where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetFieldToMatch.hs b/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetFieldToMatch.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetFieldToMatch.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetFieldToMatch.hs
@@ -20,7 +20,7 @@
   WAFSqlInjectionMatchSetFieldToMatch
   { _wAFSqlInjectionMatchSetFieldToMatchData :: Maybe (Val Text)
   , _wAFSqlInjectionMatchSetFieldToMatchType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFSqlInjectionMatchSetFieldToMatch where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetSqlInjectionMatchTuple.hs b/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetSqlInjectionMatchTuple.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetSqlInjectionMatchTuple.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFSqlInjectionMatchSetSqlInjectionMatchTuple.hs
@@ -22,7 +22,7 @@
   WAFSqlInjectionMatchSetSqlInjectionMatchTuple
   { _wAFSqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatch :: WAFSqlInjectionMatchSetFieldToMatch
   , _wAFSqlInjectionMatchSetSqlInjectionMatchTupleTextTransformation :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFSqlInjectionMatchSetSqlInjectionMatchTuple where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 46, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _wAFWebACLActivatedRuleAction :: WAFWebACLWafAction
   , _wAFWebACLActivatedRulePriority :: Val Integer'
   , _wAFWebACLActivatedRuleRuleId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFWebACLActivatedRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFWebACLWafAction.hs b/library-gen/Stratosphere/ResourceProperties/WAFWebACLWafAction.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFWebACLWafAction.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFWebACLWafAction.hs
@@ -19,7 +19,7 @@
 data WAFWebACLWafAction =
   WAFWebACLWafAction
   { _wAFWebACLWafActionType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFWebACLWafAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetFieldToMatch.hs b/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetFieldToMatch.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetFieldToMatch.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetFieldToMatch.hs
@@ -20,7 +20,7 @@
   WAFXssMatchSetFieldToMatch
   { _wAFXssMatchSetFieldToMatchData :: Maybe (Val Text)
   , _wAFXssMatchSetFieldToMatchType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFXssMatchSetFieldToMatch where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetXssMatchTuple.hs b/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetXssMatchTuple.hs
--- a/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetXssMatchTuple.hs
+++ b/library-gen/Stratosphere/ResourceProperties/WAFXssMatchSetXssMatchTuple.hs
@@ -20,7 +20,7 @@
   WAFXssMatchSetXssMatchTuple
   { _wAFXssMatchSetXssMatchTupleFieldToMatch :: WAFXssMatchSetFieldToMatch
   , _wAFXssMatchSetXssMatchTupleTextTransformation :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFXssMatchSetXssMatchTuple where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -677,13 +677,13 @@
   | WAFXssMatchSetProperties WAFXssMatchSet
   | WorkSpacesWorkspaceProperties WorkSpacesWorkspace
 
-  deriving (Show)
+  deriving (Show, Eq)
 
 data DeletionPolicy
   = Delete
   | Retain
   | Snapshot
-  deriving (Show, Generic)
+  deriving (Show, Eq, Generic)
 
 instance ToJSON DeletionPolicy where
 instance FromJSON DeletionPolicy where
@@ -696,7 +696,7 @@
   , resourceResCreationPolicy :: Maybe CreationPolicy
   , resourceResUpdatePolicy :: Maybe UpdatePolicy
   , resourceDependsOn :: Maybe [T.Text]
-  } deriving (Show)
+  } deriving (Show, Eq)
 
 instance ToRef Resource b where
   toRef r = Ref (resourceResName r)
@@ -1276,7 +1276,7 @@
 -- | Wrapper around a list of 'Resources's to we can modify the aeson
 -- instances.
 newtype Resources = Resources { unResources :: [Resource] }
-                  deriving (Show, Monoid)
+  deriving (Show, Eq, Monoid)
 
 instance IsList Resources where
   type Item Resources = Resource
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs b/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs
@@ -19,7 +19,7 @@
 data ApiGatewayAccount =
   ApiGatewayAccount
   { _apiGatewayAccountCloudWatchRoleArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayAccount where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _apiGatewayApiKeyEnabled :: Maybe (Val Bool')
   , _apiGatewayApiKeyName :: Maybe (Val Text)
   , _apiGatewayApiKeyStageKeys :: Maybe [ApiGatewayApiKeyStageKey]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayApiKey where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
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
@@ -12,7 +12,7 @@
 import GHC.Generics
 
 import Stratosphere.Values
-
+import Stratosphere.Types
 
 -- | Full data type definition for ApiGatewayAuthorizer. See
 -- | 'apiGatewayAuthorizer' for a more convenient constructor.
@@ -26,8 +26,8 @@
   , _apiGatewayAuthorizerName :: Maybe (Val Text)
   , _apiGatewayAuthorizerProviderARNs :: Maybe [Val Text]
   , _apiGatewayAuthorizerRestApiId :: Maybe (Val Text)
-  , _apiGatewayAuthorizerType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  , _apiGatewayAuthorizerType :: Maybe (Val AuthorizerType)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayAuthorizer where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
@@ -85,5 +85,5 @@
 agaRestApiId = lens _apiGatewayAuthorizerRestApiId (\s a -> s { _apiGatewayAuthorizerRestApiId = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type
-agaType :: Lens' ApiGatewayAuthorizer (Maybe (Val Text))
+agaType :: Lens' ApiGatewayAuthorizer (Maybe (Val AuthorizerType))
 agaType = lens _apiGatewayAuthorizerType (\s a -> s { _apiGatewayAuthorizerType = a })
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs b/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs
@@ -22,7 +22,7 @@
   , _apiGatewayBasePathMappingDomainName :: Maybe (Val Text)
   , _apiGatewayBasePathMappingRestApiId :: Maybe (Val Text)
   , _apiGatewayBasePathMappingStage :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayBasePathMapping where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs b/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
@@ -19,7 +19,7 @@
 data ApiGatewayClientCertificate =
   ApiGatewayClientCertificate
   { _apiGatewayClientCertificateDescription :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayClientCertificate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs b/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
@@ -22,7 +22,7 @@
   , _apiGatewayDeploymentRestApiId :: Val Text
   , _apiGatewayDeploymentStageDescription :: Maybe ApiGatewayDeploymentStageDescription
   , _apiGatewayDeploymentStageName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayDeployment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
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
@@ -30,7 +30,7 @@
   , _apiGatewayMethodRequestParameters :: Maybe Object
   , _apiGatewayMethodResourceId :: Maybe (Val Text)
   , _apiGatewayMethodRestApiId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayMethod where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayModel.hs b/library-gen/Stratosphere/Resources/ApiGatewayModel.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayModel.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayModel.hs
@@ -23,7 +23,7 @@
   , _apiGatewayModelName :: Maybe (Val Text)
   , _apiGatewayModelRestApiId :: Val Text
   , _apiGatewayModelSchema :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayModel where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayResource.hs b/library-gen/Stratosphere/Resources/ApiGatewayResource.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayResource.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayResource.hs
@@ -21,7 +21,7 @@
   { _apiGatewayResourceParentId :: Val Text
   , _apiGatewayResourcePathPart :: Val Text
   , _apiGatewayResourceRestApiId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayResource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _apiGatewayRestApiMode :: Maybe (Val Text)
   , _apiGatewayRestApiName :: Maybe (Val Text)
   , _apiGatewayRestApiParameters :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayRestApi where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
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
@@ -27,7 +27,7 @@
   , _apiGatewayStageRestApiId :: Maybe (Val Text)
   , _apiGatewayStageStageName :: Maybe (Val Text)
   , _apiGatewayStageVariables :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayStage where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
@@ -25,7 +25,7 @@
   , _apiGatewayUsagePlanQuota :: Maybe ApiGatewayUsagePlanQuotaSettings
   , _apiGatewayUsagePlanThrottle :: Maybe ApiGatewayUsagePlanThrottleSettings
   , _apiGatewayUsagePlanUsagePlanName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApiGatewayUsagePlan where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _applicationAutoScalingScalableTargetRoleARN :: Val Text
   , _applicationAutoScalingScalableTargetScalableDimension :: Val Text
   , _applicationAutoScalingScalableTargetServiceNamespace :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApplicationAutoScalingScalableTarget where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 37, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs
--- a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs
+++ b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs
@@ -25,7 +25,7 @@
   , _applicationAutoScalingScalingPolicyScalingTargetId :: Maybe (Val Text)
   , _applicationAutoScalingScalingPolicyServiceNamespace :: Maybe (Val Text)
   , _applicationAutoScalingScalingPolicyStepScalingPolicyConfiguration :: Maybe ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ApplicationAutoScalingScalingPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
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
@@ -12,16 +12,15 @@
 import GHC.Generics
 
 import Stratosphere.Values
-import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupTagProperty
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupMetricsCollection
 import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupNotificationConfigurations
+import Stratosphere.ResourceProperties.AutoScalingAutoScalingGroupTagProperty
 
 -- | Full data type definition for AutoScalingAutoScalingGroup. See
 -- | 'autoScalingAutoScalingGroup' for a more convenient constructor.
 data AutoScalingAutoScalingGroup =
   AutoScalingAutoScalingGroup
-  { _autoScalingAutoScalingGroupAsTags :: Maybe [AutoScalingAutoScalingGroupTagProperty]
-  , _autoScalingAutoScalingGroupAvailabilityZones :: Maybe [Val Text]
+  { _autoScalingAutoScalingGroupAvailabilityZones :: Maybe [Val Text]
   , _autoScalingAutoScalingGroupCooldown :: Maybe (Val Text)
   , _autoScalingAutoScalingGroupDesiredCapacity :: Maybe (Val Text)
   , _autoScalingAutoScalingGroupHealthCheckGracePeriod :: Maybe (Val Integer')
@@ -34,10 +33,11 @@
   , _autoScalingAutoScalingGroupMinSize :: Val Text
   , _autoScalingAutoScalingGroupNotificationConfigurations :: Maybe AutoScalingAutoScalingGroupNotificationConfigurations
   , _autoScalingAutoScalingGroupPlacementGroup :: Maybe (Val Text)
+  , _autoScalingAutoScalingGroupTags :: Maybe [AutoScalingAutoScalingGroupTagProperty]
   , _autoScalingAutoScalingGroupTargetGroupARNs :: Maybe [Val Text]
   , _autoScalingAutoScalingGroupTerminationPolicies :: Maybe [Val Text]
   , _autoScalingAutoScalingGroupVPCZoneIdentifier :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingAutoScalingGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
@@ -53,8 +53,7 @@
   -> AutoScalingAutoScalingGroup
 autoScalingAutoScalingGroup maxSizearg minSizearg =
   AutoScalingAutoScalingGroup
-  { _autoScalingAutoScalingGroupAsTags = Nothing
-  , _autoScalingAutoScalingGroupAvailabilityZones = Nothing
+  { _autoScalingAutoScalingGroupAvailabilityZones = Nothing
   , _autoScalingAutoScalingGroupCooldown = Nothing
   , _autoScalingAutoScalingGroupDesiredCapacity = Nothing
   , _autoScalingAutoScalingGroupHealthCheckGracePeriod = Nothing
@@ -67,15 +66,12 @@
   , _autoScalingAutoScalingGroupMinSize = minSizearg
   , _autoScalingAutoScalingGroupNotificationConfigurations = Nothing
   , _autoScalingAutoScalingGroupPlacementGroup = Nothing
+  , _autoScalingAutoScalingGroupTags = Nothing
   , _autoScalingAutoScalingGroupTargetGroupARNs = Nothing
   , _autoScalingAutoScalingGroupTerminationPolicies = Nothing
   , _autoScalingAutoScalingGroupVPCZoneIdentifier = Nothing
   }
 
--- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags
-asasgAsTags :: Lens' AutoScalingAutoScalingGroup (Maybe [AutoScalingAutoScalingGroupTagProperty])
-asasgAsTags = lens _autoScalingAutoScalingGroupAsTags (\s a -> s { _autoScalingAutoScalingGroupAsTags = a })
-
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones
 asasgAvailabilityZones :: Lens' AutoScalingAutoScalingGroup (Maybe [Val Text])
 asasgAvailabilityZones = lens _autoScalingAutoScalingGroupAvailabilityZones (\s a -> s { _autoScalingAutoScalingGroupAvailabilityZones = a })
@@ -127,6 +123,10 @@
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup
 asasgPlacementGroup :: Lens' AutoScalingAutoScalingGroup (Maybe (Val Text))
 asasgPlacementGroup = lens _autoScalingAutoScalingGroupPlacementGroup (\s a -> s { _autoScalingAutoScalingGroupPlacementGroup = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags
+asasgTags :: Lens' AutoScalingAutoScalingGroup (Maybe [AutoScalingAutoScalingGroupTagProperty])
+asasgTags = lens _autoScalingAutoScalingGroupTags (\s a -> s { _autoScalingAutoScalingGroupTags = a })
 
 -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns
 asasgTargetGroupARNs :: Lens' AutoScalingAutoScalingGroup (Maybe [Val Text])
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
@@ -35,7 +35,7 @@
   , _autoScalingLaunchConfigurationSecurityGroups :: Maybe [Val Text]
   , _autoScalingLaunchConfigurationSpotPrice :: Maybe (Val Text)
   , _autoScalingLaunchConfigurationUserData :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingLaunchConfiguration where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _autoScalingLifecycleHookNotificationMetadata :: Maybe (Val Text)
   , _autoScalingLifecycleHookNotificationTargetARN :: Val Text
   , _autoScalingLifecycleHookRoleARN :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingLifecycleHook where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
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
@@ -27,7 +27,7 @@
   , _autoScalingScalingPolicyPolicyType :: Maybe (Val Text)
   , _autoScalingScalingPolicyScalingAdjustment :: Maybe (Val Integer')
   , _autoScalingScalingPolicyStepAdjustments :: Maybe [AutoScalingScalingPolicyStepAdjustment]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingScalingPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _autoScalingScheduledActionMinSize :: Maybe (Val Integer')
   , _autoScalingScheduledActionRecurrence :: Maybe (Val Text)
   , _autoScalingScheduledActionStartTime :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingScheduledAction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs b/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs
--- a/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs
+++ b/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs
@@ -23,7 +23,7 @@
   , _certificateManagerCertificateDomainValidationOptions :: Maybe [CertificateManagerCertificateDomainValidationOption]
   , _certificateManagerCertificateSubjectAlternativeNames :: Maybe [Val Text]
   , _certificateManagerCertificateTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CertificateManagerCertificate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs b/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs
@@ -19,7 +19,7 @@
 data CloudFormationCustomResource =
   CloudFormationCustomResource
   { _cloudFormationCustomResourceServiceToken :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFormationCustomResource where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _cloudFormationStackTags :: Maybe [Tag]
   , _cloudFormationStackTemplateURL :: Val Text
   , _cloudFormationStackTimeoutInMinutes :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFormationStack where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _cloudFormationWaitConditionCount :: Maybe (Val Integer')
   , _cloudFormationWaitConditionHandle :: Val Text
   , _cloudFormationWaitConditionTimeout :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFormationWaitCondition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs b/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs
@@ -19,7 +19,7 @@
 data CloudFormationWaitConditionHandle =
   CloudFormationWaitConditionHandle
   { 
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFormationWaitConditionHandle where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs b/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs
@@ -19,7 +19,7 @@
 data CloudFrontDistribution =
   CloudFrontDistribution
   { _cloudFrontDistributionDistributionConfig :: CloudFrontDistributionDistributionConfig
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudFrontDistribution where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _cloudTrailTrailS3BucketName :: Val Text
   , _cloudTrailTrailS3KeyPrefix :: Maybe (Val Text)
   , _cloudTrailTrailSnsTopicName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudTrailTrail where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
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
@@ -33,7 +33,7 @@
   , _cloudWatchAlarmStatistic :: Val Text
   , _cloudWatchAlarmThreshold :: Val Double'
   , _cloudWatchAlarmUnit :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CloudWatchAlarm where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
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
@@ -30,7 +30,7 @@
   , _codeBuildProjectSource :: Maybe CodeBuildProjectSource
   , _codeBuildProjectTags :: Maybe [Tag]
   , _codeBuildProjectTimeoutInMinutes :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeBuildProject where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CodeCommitRepository.hs b/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
--- a/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
+++ b/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
@@ -21,7 +21,7 @@
   { _codeCommitRepositoryRepositoryDescription :: Maybe (Val Text)
   , _codeCommitRepositoryRepositoryName :: Val Text
   , _codeCommitRepositoryTriggers :: Maybe [CodeCommitRepositoryRepositoryTrigger]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeCommitRepository where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CodeDeployApplication.hs b/library-gen/Stratosphere/Resources/CodeDeployApplication.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployApplication.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployApplication.hs
@@ -19,7 +19,7 @@
 data CodeDeployApplication =
   CodeDeployApplication
   { _codeDeployApplicationApplicationName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployApplication where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs b/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs
@@ -20,7 +20,7 @@
   CodeDeployDeploymentConfig
   { _codeDeployDeploymentConfigDeploymentConfigName :: Maybe (Val Text)
   , _codeDeployDeploymentConfigMinimumHealthyHosts :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs b/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
@@ -28,7 +28,7 @@
   , _codeDeployDeploymentGroupEc2TagFilters :: Maybe [CodeDeployDeploymentGroupEc2TagFilter]
   , _codeDeployDeploymentGroupOnPremisesInstanceTagFilters :: Maybe [CodeDeployDeploymentGroupOnPremisesInstanceTagFilter]
   , _codeDeployDeploymentGroupServiceRoleArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodeDeployDeploymentGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs b/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
--- a/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
@@ -27,7 +27,7 @@
   , _codePipelineCustomActionTypeProvider :: Val Text
   , _codePipelineCustomActionTypeSettings :: Maybe CodePipelineCustomActionTypeSettings
   , _codePipelineCustomActionTypeVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelineCustomActionType where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _codePipelinePipelineRestartExecutionOnUpdate :: Maybe (Val Bool')
   , _codePipelinePipelineRoleArn :: Val Text
   , _codePipelinePipelineStages :: [CodePipelinePipelineStageDeclaration]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CodePipelinePipeline where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ConfigConfigRule.hs b/library-gen/Stratosphere/Resources/ConfigConfigRule.hs
--- a/library-gen/Stratosphere/Resources/ConfigConfigRule.hs
+++ b/library-gen/Stratosphere/Resources/ConfigConfigRule.hs
@@ -25,7 +25,7 @@
   , _configConfigRuleMaximumExecutionFrequency :: Maybe (Val Text)
   , _configConfigRuleScope :: Maybe ConfigConfigRuleScope
   , _configConfigRuleSource :: ConfigConfigRuleSource
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigConfigRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs b/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs
--- a/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs
+++ b/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs
@@ -21,7 +21,7 @@
   { _configConfigurationRecorderName :: Maybe (Val Text)
   , _configConfigurationRecorderRecordingGroup :: Maybe ConfigConfigurationRecorderRecordingGroup
   , _configConfigurationRecorderRoleArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigConfigurationRecorder where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs b/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs
--- a/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs
+++ b/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs
@@ -23,7 +23,7 @@
   , _configDeliveryChannelS3BucketName :: Val Text
   , _configDeliveryChannelS3KeyPrefix :: Maybe (Val Text)
   , _configDeliveryChannelSnsTopicARN :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ConfigDeliveryChannel where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _dataPipelinePipelineParameterValues :: Maybe [DataPipelinePipelineParameterValue]
   , _dataPipelinePipelinePipelineObjects :: Maybe [DataPipelinePipelinePipelineObject]
   , _dataPipelinePipelinePipelineTags :: Maybe [DataPipelinePipelinePipelineTag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DataPipelinePipeline where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _directoryServiceMicrosoftADPassword :: Val Text
   , _directoryServiceMicrosoftADShortName :: Maybe (Val Text)
   , _directoryServiceMicrosoftADVpcSettings :: DirectoryServiceMicrosoftADVpcSettings
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DirectoryServiceMicrosoftAD where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _directoryServiceSimpleADShortName :: Maybe (Val Text)
   , _directoryServiceSimpleADSize :: Val Text
   , _directoryServiceSimpleADVpcSettings :: DirectoryServiceSimpleADVpcSettings
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DirectoryServiceSimpleAD where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/DynamoDBTable.hs b/library-gen/Stratosphere/Resources/DynamoDBTable.hs
--- a/library-gen/Stratosphere/Resources/DynamoDBTable.hs
+++ b/library-gen/Stratosphere/Resources/DynamoDBTable.hs
@@ -30,7 +30,7 @@
   , _dynamoDBTableProvisionedThroughput :: DynamoDBTableProvisionedThroughput
   , _dynamoDBTableStreamSpecification :: Maybe DynamoDBTableStreamSpecification
   , _dynamoDBTableTableName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON DynamoDBTable where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _eC2CustomerGatewayIpAddress :: Val Text
   , _eC2CustomerGatewayTags :: Maybe [Tag]
   , _eC2CustomerGatewayType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2CustomerGateway where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _eC2DHCPOptionsNetbiosNodeType :: Maybe (Val Integer')
   , _eC2DHCPOptionsNtpServers :: Maybe (Val Text)
   , _eC2DHCPOptionsTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2DHCPOptions where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2EIP.hs b/library-gen/Stratosphere/Resources/EC2EIP.hs
--- a/library-gen/Stratosphere/Resources/EC2EIP.hs
+++ b/library-gen/Stratosphere/Resources/EC2EIP.hs
@@ -20,7 +20,7 @@
   EC2EIP
   { _eC2EIPDomain :: Maybe (Val Text)
   , _eC2EIPInstanceId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2EIP where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 7, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs b/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs
@@ -23,7 +23,7 @@
   , _eC2EIPAssociationInstanceId :: Maybe (Val Text)
   , _eC2EIPAssociationNetworkInterfaceId :: Maybe (Val Text)
   , _eC2EIPAssociationPrivateIpAddress :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2EIPAssociation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2FlowLog.hs b/library-gen/Stratosphere/Resources/EC2FlowLog.hs
--- a/library-gen/Stratosphere/Resources/EC2FlowLog.hs
+++ b/library-gen/Stratosphere/Resources/EC2FlowLog.hs
@@ -23,7 +23,7 @@
   , _eC2FlowLogResourceId :: Val Text
   , _eC2FlowLogResourceType :: Val Text
   , _eC2FlowLogTrafficType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2FlowLog where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 11, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2Host.hs b/library-gen/Stratosphere/Resources/EC2Host.hs
--- a/library-gen/Stratosphere/Resources/EC2Host.hs
+++ b/library-gen/Stratosphere/Resources/EC2Host.hs
@@ -21,7 +21,7 @@
   { _eC2HostAutoPlacement :: Maybe (Val Text)
   , _eC2HostAvailabilityZone :: Val Text
   , _eC2HostInstanceType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2Host where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 8, omitNothingFields = True }
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
@@ -52,7 +52,7 @@
   , _eC2InstanceTenancy :: Maybe (Val Text)
   , _eC2InstanceUserData :: Maybe (Val Text)
   , _eC2InstanceVolumes :: Maybe [EC2InstanceVolume]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2Instance where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 12, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2InternetGateway.hs b/library-gen/Stratosphere/Resources/EC2InternetGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2InternetGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2InternetGateway.hs
@@ -19,7 +19,7 @@
 data EC2InternetGateway =
   EC2InternetGateway
   { _eC2InternetGatewayTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2InternetGateway where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2NatGateway.hs b/library-gen/Stratosphere/Resources/EC2NatGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2NatGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2NatGateway.hs
@@ -20,7 +20,7 @@
   EC2NatGateway
   { _eC2NatGatewayAllocationId :: Val Text
   , _eC2NatGatewaySubnetId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NatGateway where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs b/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs
@@ -20,7 +20,7 @@
   EC2NetworkAcl
   { _eC2NetworkAclTags :: Maybe [Tag]
   , _eC2NetworkAclVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkAcl where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _eC2NetworkAclEntryProtocol :: Val Integer'
   , _eC2NetworkAclEntryRuleAction :: Val Text
   , _eC2NetworkAclEntryRuleNumber :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkAclEntry where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
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
@@ -30,7 +30,7 @@
   , _eC2NetworkInterfaceSourceDestCheck :: Maybe (Val Bool')
   , _eC2NetworkInterfaceSubnetId :: Val Text
   , _eC2NetworkInterfaceTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkInterface where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _eC2NetworkInterfaceAttachmentDeviceIndex :: Val Text
   , _eC2NetworkInterfaceAttachmentInstanceId :: Val Text
   , _eC2NetworkInterfaceAttachmentNetworkInterfaceId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2NetworkInterfaceAttachment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs b/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs
--- a/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs
+++ b/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs
@@ -19,7 +19,7 @@
 data EC2PlacementGroup =
   EC2PlacementGroup
   { _eC2PlacementGroupStrategy :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2PlacementGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2Route.hs b/library-gen/Stratosphere/Resources/EC2Route.hs
--- a/library-gen/Stratosphere/Resources/EC2Route.hs
+++ b/library-gen/Stratosphere/Resources/EC2Route.hs
@@ -26,7 +26,7 @@
   , _eC2RouteNetworkInterfaceId :: Maybe (Val Text)
   , _eC2RouteRouteTableId :: Val Text
   , _eC2RouteVpcPeeringConnectionId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2Route where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2RouteTable.hs b/library-gen/Stratosphere/Resources/EC2RouteTable.hs
--- a/library-gen/Stratosphere/Resources/EC2RouteTable.hs
+++ b/library-gen/Stratosphere/Resources/EC2RouteTable.hs
@@ -20,7 +20,7 @@
   EC2RouteTable
   { _eC2RouteTableTags :: Maybe [Tag]
   , _eC2RouteTableVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2RouteTable where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs b/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs
@@ -24,7 +24,7 @@
   , _eC2SecurityGroupSecurityGroupIngress :: Maybe [EC2SecurityGroupRule]
   , _eC2SecurityGroupTags :: Maybe [Tag]
   , _eC2SecurityGroupVpcId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SecurityGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
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
@@ -26,7 +26,7 @@
   , _eC2SecurityGroupEgressGroupId :: Val Text
   , _eC2SecurityGroupEgressIpProtocol :: Val Text
   , _eC2SecurityGroupEgressToPort :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SecurityGroupEgress where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _eC2SecurityGroupIngressSourceSecurityGroupName :: Maybe (Val Text)
   , _eC2SecurityGroupIngressSourceSecurityGroupOwnerId :: Maybe (Val Text)
   , _eC2SecurityGroupIngressToPort :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SecurityGroupIngress where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2SpotFleet.hs b/library-gen/Stratosphere/Resources/EC2SpotFleet.hs
--- a/library-gen/Stratosphere/Resources/EC2SpotFleet.hs
+++ b/library-gen/Stratosphere/Resources/EC2SpotFleet.hs
@@ -19,7 +19,7 @@
 data EC2SpotFleet =
   EC2SpotFleet
   { _eC2SpotFleetSpotFleetRequestConfigData :: EC2SpotFleetSpotFleetRequestConfigData
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SpotFleet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _eC2SubnetMapPublicIpOnLaunch :: Maybe (Val Bool')
   , _eC2SubnetTags :: Maybe [Tag]
   , _eC2SubnetVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2Subnet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 10, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs b/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs
--- a/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs
+++ b/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs
@@ -20,7 +20,7 @@
   EC2SubnetCidrBlock
   { _eC2SubnetCidrBlockIpv6CidrBlock :: Val Text
   , _eC2SubnetCidrBlockSubnetId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SubnetCidrBlock where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs b/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs
@@ -20,7 +20,7 @@
   EC2SubnetNetworkAclAssociation
   { _eC2SubnetNetworkAclAssociationNetworkAclId :: Val Text
   , _eC2SubnetNetworkAclAssociationSubnetId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SubnetNetworkAclAssociation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs b/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs
@@ -20,7 +20,7 @@
   EC2SubnetRouteTableAssociation
   { _eC2SubnetRouteTableAssociationRouteTableId :: Val Text
   , _eC2SubnetRouteTableAssociationSubnetId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2SubnetRouteTableAssociation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _eC2VPCEnableDnsSupport :: Maybe (Val Bool')
   , _eC2VPCInstanceTenancy :: Maybe (Val Text)
   , _eC2VPCTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPC where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 7, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EC2VPCCidrBlock
   { _eC2VPCCidrBlockAmazonProvidedIpv6CidrBlock :: Maybe (Val Bool')
   , _eC2VPCCidrBlockVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPCCidrBlock where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs b/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs
@@ -20,7 +20,7 @@
   EC2VPCDHCPOptionsAssociation
   { _eC2VPCDHCPOptionsAssociationDhcpOptionsId :: Val Text
   , _eC2VPCDHCPOptionsAssociationVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPCDHCPOptionsAssociation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
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
@@ -22,7 +22,7 @@
   , _eC2VPCEndpointRouteTableIds :: Maybe [Val Text]
   , _eC2VPCEndpointServiceName :: Val Text
   , _eC2VPCEndpointVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPCEndpoint where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs b/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs
@@ -21,7 +21,7 @@
   { _eC2VPCGatewayAttachmentInternetGatewayId :: Maybe (Val Text)
   , _eC2VPCGatewayAttachmentVpcId :: Val Text
   , _eC2VPCGatewayAttachmentVpnGatewayId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPCGatewayAttachment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs b/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs
@@ -21,7 +21,7 @@
   { _eC2VPCPeeringConnectionPeerVpcId :: Val Text
   , _eC2VPCPeeringConnectionTags :: Maybe [Tag]
   , _eC2VPCPeeringConnectionVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPCPeeringConnection where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _eC2VPNConnectionTags :: Maybe [Tag]
   , _eC2VPNConnectionType :: Val Text
   , _eC2VPNConnectionVpnGatewayId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPNConnection where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs b/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs
@@ -20,7 +20,7 @@
   EC2VPNConnectionRoute
   { _eC2VPNConnectionRouteDestinationCidrBlock :: Val Text
   , _eC2VPNConnectionRouteVpnConnectionId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPNConnectionRoute where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EC2VPNGateway
   { _eC2VPNGatewayTags :: Maybe [Tag]
   , _eC2VPNGatewayType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPNGateway where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs b/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs
@@ -20,7 +20,7 @@
   EC2VPNGatewayRoutePropagation
   { _eC2VPNGatewayRoutePropagationRouteTableIds :: [Val Text]
   , _eC2VPNGatewayRoutePropagationVpnGatewayId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VPNGatewayRoutePropagation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
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
@@ -27,7 +27,7 @@
   , _eC2VolumeSnapshotId :: Maybe (Val Text)
   , _eC2VolumeTags :: Maybe [Tag]
   , _eC2VolumeVolumeType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2Volume where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 10, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs b/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs
@@ -21,7 +21,7 @@
   { _eC2VolumeAttachmentDevice :: Val Text
   , _eC2VolumeAttachmentInstanceId :: Val Text
   , _eC2VolumeAttachmentVolumeId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EC2VolumeAttachment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ECRRepository.hs b/library-gen/Stratosphere/Resources/ECRRepository.hs
--- a/library-gen/Stratosphere/Resources/ECRRepository.hs
+++ b/library-gen/Stratosphere/Resources/ECRRepository.hs
@@ -20,7 +20,7 @@
   ECRRepository
   { _eCRRepositoryRepositoryName :: Maybe (Val Text)
   , _eCRRepositoryRepositoryPolicyText :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECRRepository where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ECSCluster.hs b/library-gen/Stratosphere/Resources/ECSCluster.hs
--- a/library-gen/Stratosphere/Resources/ECSCluster.hs
+++ b/library-gen/Stratosphere/Resources/ECSCluster.hs
@@ -19,7 +19,7 @@
 data ECSCluster =
   ECSCluster
   { _eCSClusterClusterName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSCluster where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 11, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _eCSServiceLoadBalancers :: Maybe [ECSServiceLoadBalancer]
   , _eCSServiceRole :: Maybe (Val Text)
   , _eCSServiceTaskDefinition :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSService where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 11, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
--- a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
+++ b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
@@ -24,7 +24,7 @@
   , _eCSTaskDefinitionNetworkMode :: Maybe (Val Text)
   , _eCSTaskDefinitionTaskRoleArn :: Maybe (Val Text)
   , _eCSTaskDefinitionVolumes :: Maybe [ECSTaskDefinitionVolume]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ECSTaskDefinition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   EFSFileSystem
   { _eFSFileSystemFileSystemTags :: Maybe [EFSFileSystemElasticFileSystemTag]
   , _eFSFileSystemPerformanceMode :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EFSFileSystem where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EFSMountTarget.hs b/library-gen/Stratosphere/Resources/EFSMountTarget.hs
--- a/library-gen/Stratosphere/Resources/EFSMountTarget.hs
+++ b/library-gen/Stratosphere/Resources/EFSMountTarget.hs
@@ -22,7 +22,7 @@
   , _eFSMountTargetIpAddress :: Maybe (Val Text)
   , _eFSMountTargetSecurityGroups :: [Val Text]
   , _eFSMountTargetSubnetId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EFSMountTarget where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
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
@@ -34,7 +34,7 @@
   , _eMRClusterServiceRole :: Val Text
   , _eMRClusterTags :: Maybe [Tag]
   , _eMRClusterVisibleToAllUsers :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRCluster where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 11, omitNothingFields = True }
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
@@ -28,7 +28,7 @@
   , _eMRInstanceGroupConfigJobFlowId :: Val Text
   , _eMRInstanceGroupConfigMarket :: Maybe (Val Text)
   , _eMRInstanceGroupConfigName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRInstanceGroupConfig where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EMRStep.hs b/library-gen/Stratosphere/Resources/EMRStep.hs
--- a/library-gen/Stratosphere/Resources/EMRStep.hs
+++ b/library-gen/Stratosphere/Resources/EMRStep.hs
@@ -22,7 +22,7 @@
   , _eMRStepHadoopJarStep :: EMRStepHadoopJarStepConfig
   , _eMRStepJobFlowId :: Val Text
   , _eMRStepName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EMRStep where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 8, omitNothingFields = True }
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
@@ -39,7 +39,7 @@
   , _elastiCacheCacheClusterSnapshotWindow :: Maybe (Val Text)
   , _elastiCacheCacheClusterTags :: Maybe [Tag]
   , _elastiCacheCacheClusterVpcSecurityGroupIds :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheCacheCluster where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs
@@ -21,7 +21,7 @@
   { _elastiCacheParameterGroupCacheParameterGroupFamily :: Val Text
   , _elastiCacheParameterGroupDescription :: Val Text
   , _elastiCacheParameterGroupProperties :: Maybe Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheParameterGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
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
@@ -45,7 +45,7 @@
   , _elastiCacheReplicationGroupSnapshotWindow :: Maybe (Val Text)
   , _elastiCacheReplicationGroupSnapshottingClusterId :: Maybe (Val Text)
   , _elastiCacheReplicationGroupTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheReplicationGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs
@@ -19,7 +19,7 @@
 data ElastiCacheSecurityGroup =
   ElastiCacheSecurityGroup
   { _elastiCacheSecurityGroupDescription :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheSecurityGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs
@@ -21,7 +21,7 @@
   { _elastiCacheSecurityGroupIngressCacheSecurityGroupName :: Val Text
   , _elastiCacheSecurityGroupIngressEC2SecurityGroupName :: Val Text
   , _elastiCacheSecurityGroupIngressEC2SecurityGroupOwnerId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheSecurityGroupIngress where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 32, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs
@@ -21,7 +21,7 @@
   { _elastiCacheSubnetGroupCacheSubnetGroupName :: Maybe (Val Text)
   , _elastiCacheSubnetGroupDescription :: Val Text
   , _elastiCacheSubnetGroupSubnetIds :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElastiCacheSubnetGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs
@@ -20,7 +20,7 @@
   ElasticBeanstalkApplication
   { _elasticBeanstalkApplicationApplicationName :: Maybe (Val Text)
   , _elasticBeanstalkApplicationDescription :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkApplication where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs
@@ -21,7 +21,7 @@
   { _elasticBeanstalkApplicationVersionApplicationName :: Val Text
   , _elasticBeanstalkApplicationVersionDescription :: Maybe (Val Text)
   , _elasticBeanstalkApplicationVersionSourceBundle :: ElasticBeanstalkApplicationVersionSourceBundle
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkApplicationVersion where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs
@@ -26,7 +26,7 @@
   , _elasticBeanstalkConfigurationTemplateOptionSettings :: Maybe [ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting]
   , _elasticBeanstalkConfigurationTemplateSolutionStackName :: Maybe (Val Text)
   , _elasticBeanstalkConfigurationTemplateSourceConfiguration :: Maybe ElasticBeanstalkConfigurationTemplateSourceConfiguration
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkConfigurationTemplate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs
@@ -28,7 +28,7 @@
   , _elasticBeanstalkEnvironmentTemplateName :: Maybe (Val Text)
   , _elasticBeanstalkEnvironmentTier :: Maybe ElasticBeanstalkEnvironmentTier
   , _elasticBeanstalkEnvironmentVersionLabel :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticBeanstalkEnvironment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
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
@@ -42,7 +42,7 @@
   , _elasticLoadBalancingLoadBalancerSecurityGroups :: Maybe [Val Text]
   , _elasticLoadBalancingLoadBalancerSubnets :: Maybe [Val Text]
   , _elasticLoadBalancingLoadBalancerTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingLoadBalancer where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _elasticLoadBalancingV2ListenerPort :: Val Integer'
   , _elasticLoadBalancingV2ListenerProtocol :: Val Text
   , _elasticLoadBalancingV2ListenerSslPolicy :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2Listener where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _elasticLoadBalancingV2ListenerRuleConditions :: [ElasticLoadBalancingV2ListenerRuleRuleCondition]
   , _elasticLoadBalancingV2ListenerRuleListenerArn :: Val Text
   , _elasticLoadBalancingV2ListenerRulePriority :: Val Integer'
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2ListenerRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs
@@ -26,7 +26,7 @@
   , _elasticLoadBalancingV2LoadBalancerSecurityGroups :: Maybe [Val Text]
   , _elasticLoadBalancingV2LoadBalancerSubnets :: Maybe [Val Text]
   , _elasticLoadBalancingV2LoadBalancerTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2LoadBalancer where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 35, omitNothingFields = True }
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
@@ -36,7 +36,7 @@
   , _elasticLoadBalancingV2TargetGroupTargets :: Maybe [ElasticLoadBalancingV2TargetGroupTargetDescription]
   , _elasticLoadBalancingV2TargetGroupUnhealthyThresholdCount :: Maybe (Val Integer')
   , _elasticLoadBalancingV2TargetGroupVpcId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticLoadBalancingV2TargetGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 34, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
--- a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
+++ b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
@@ -29,7 +29,7 @@
   , _elasticsearchDomainElasticsearchVersion :: Maybe (Val Text)
   , _elasticsearchDomainSnapshotOptions :: Maybe ElasticsearchDomainSnapshotOptions
   , _elasticsearchDomainTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ElasticsearchDomain where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/EventsRule.hs b/library-gen/Stratosphere/Resources/EventsRule.hs
--- a/library-gen/Stratosphere/Resources/EventsRule.hs
+++ b/library-gen/Stratosphere/Resources/EventsRule.hs
@@ -26,7 +26,7 @@
   , _eventsRuleScheduleExpression :: Maybe (Val Text)
   , _eventsRuleState :: Maybe (Val EnabledState)
   , _eventsRuleTargets :: Maybe [EventsRuleTarget]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON EventsRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 11, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/GameLiftAlias.hs b/library-gen/Stratosphere/Resources/GameLiftAlias.hs
--- a/library-gen/Stratosphere/Resources/GameLiftAlias.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftAlias.hs
@@ -21,7 +21,7 @@
   { _gameLiftAliasDescription :: Maybe (Val Text)
   , _gameLiftAliasName :: Val Text
   , _gameLiftAliasRoutingStrategy :: GameLiftAliasRoutingStrategy
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON GameLiftAlias where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/GameLiftBuild.hs b/library-gen/Stratosphere/Resources/GameLiftBuild.hs
--- a/library-gen/Stratosphere/Resources/GameLiftBuild.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftBuild.hs
@@ -21,7 +21,7 @@
   { _gameLiftBuildName :: Maybe (Val Text)
   , _gameLiftBuildStorageLocation :: Maybe GameLiftBuildS3Location
   , _gameLiftBuildVersion :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON GameLiftBuild where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -29,7 +29,7 @@
   , _gameLiftFleetName :: Val Text
   , _gameLiftFleetServerLaunchParameters :: Maybe (Val Text)
   , _gameLiftFleetServerLaunchPath :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON GameLiftFleet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _iAMAccessKeySerial :: Maybe (Val Integer')
   , _iAMAccessKeyStatus :: Maybe (Val Text)
   , _iAMAccessKeyUserName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMAccessKey where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IAMGroup.hs b/library-gen/Stratosphere/Resources/IAMGroup.hs
--- a/library-gen/Stratosphere/Resources/IAMGroup.hs
+++ b/library-gen/Stratosphere/Resources/IAMGroup.hs
@@ -22,7 +22,7 @@
   , _iAMGroupManagedPolicyArns :: Maybe [Val Text]
   , _iAMGroupPath :: Maybe (Val Text)
   , _iAMGroupPolicies :: Maybe [IAMGroupPolicy]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs b/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs
--- a/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs
+++ b/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs
@@ -20,7 +20,7 @@
   IAMInstanceProfile
   { _iAMInstanceProfilePath :: Val Text
   , _iAMInstanceProfileRoles :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMInstanceProfile where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs b/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs
--- a/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs
+++ b/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs
@@ -24,7 +24,7 @@
   , _iAMManagedPolicyPolicyDocument :: Maybe Object
   , _iAMManagedPolicyRoles :: Maybe [Val Text]
   , _iAMManagedPolicyUsers :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMManagedPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IAMPolicy.hs b/library-gen/Stratosphere/Resources/IAMPolicy.hs
--- a/library-gen/Stratosphere/Resources/IAMPolicy.hs
+++ b/library-gen/Stratosphere/Resources/IAMPolicy.hs
@@ -23,7 +23,7 @@
   , _iAMPolicyPolicyName :: Val Text
   , _iAMPolicyRoles :: Maybe [Val Text]
   , _iAMPolicyUsers :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 10, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _iAMRolePath :: Maybe (Val Text)
   , _iAMRolePolicies :: Maybe [IAMRolePolicy]
   , _iAMRoleRoleName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMRole where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 8, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IAMUser.hs b/library-gen/Stratosphere/Resources/IAMUser.hs
--- a/library-gen/Stratosphere/Resources/IAMUser.hs
+++ b/library-gen/Stratosphere/Resources/IAMUser.hs
@@ -25,7 +25,7 @@
   , _iAMUserPath :: Maybe (Val Text)
   , _iAMUserPolicies :: Maybe [IAMUserPolicy]
   , _iAMUserUserName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMUser where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 8, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs b/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs
--- a/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs
+++ b/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs
@@ -20,7 +20,7 @@
   IAMUserToGroupAddition
   { _iAMUserToGroupAdditionGroupName :: Val Text
   , _iAMUserToGroupAdditionUsers :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IAMUserToGroupAddition where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IoTCertificate.hs b/library-gen/Stratosphere/Resources/IoTCertificate.hs
--- a/library-gen/Stratosphere/Resources/IoTCertificate.hs
+++ b/library-gen/Stratosphere/Resources/IoTCertificate.hs
@@ -20,7 +20,7 @@
   IoTCertificate
   { _ioTCertificateCertificateSigningRequest :: Val Text
   , _ioTCertificateStatus :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTCertificate where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IoTPolicy.hs b/library-gen/Stratosphere/Resources/IoTPolicy.hs
--- a/library-gen/Stratosphere/Resources/IoTPolicy.hs
+++ b/library-gen/Stratosphere/Resources/IoTPolicy.hs
@@ -20,7 +20,7 @@
   IoTPolicy
   { _ioTPolicyPolicyDocument :: Object
   , _ioTPolicyPolicyName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 10, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs b/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs
--- a/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs
+++ b/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs
@@ -20,7 +20,7 @@
   IoTPolicyPrincipalAttachment
   { _ioTPolicyPrincipalAttachmentPolicyName :: Val Text
   , _ioTPolicyPrincipalAttachmentPrincipal :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTPolicyPrincipalAttachment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IoTThing.hs b/library-gen/Stratosphere/Resources/IoTThing.hs
--- a/library-gen/Stratosphere/Resources/IoTThing.hs
+++ b/library-gen/Stratosphere/Resources/IoTThing.hs
@@ -20,7 +20,7 @@
   IoTThing
   { _ioTThingAttributePayload :: Maybe IoTThingAttributePayload
   , _ioTThingThingName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTThing where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs b/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs
--- a/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs
+++ b/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs
@@ -20,7 +20,7 @@
   IoTThingPrincipalAttachment
   { _ioTThingPrincipalAttachmentPrincipal :: Val Text
   , _ioTThingPrincipalAttachmentThingName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTThingPrincipalAttachment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 28, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/IoTTopicRule.hs b/library-gen/Stratosphere/Resources/IoTTopicRule.hs
--- a/library-gen/Stratosphere/Resources/IoTTopicRule.hs
+++ b/library-gen/Stratosphere/Resources/IoTTopicRule.hs
@@ -20,7 +20,7 @@
   IoTTopicRule
   { _ioTTopicRuleRuleName :: Maybe (Val Text)
   , _ioTTopicRuleTopicRulePayload :: IoTTopicRuleTopicRulePayload
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON IoTTopicRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/KMSAlias.hs b/library-gen/Stratosphere/Resources/KMSAlias.hs
--- a/library-gen/Stratosphere/Resources/KMSAlias.hs
+++ b/library-gen/Stratosphere/Resources/KMSAlias.hs
@@ -20,7 +20,7 @@
   KMSAlias
   { _kMSAliasAliasName :: Val Text
   , _kMSAliasTargetKeyId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KMSAlias where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _kMSKeyEnabled :: Maybe (Val Bool')
   , _kMSKeyKeyPolicy :: Object
   , _kMSKeyKeyUsage :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KMSKey where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 7, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs b/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
--- a/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
+++ b/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
@@ -24,7 +24,7 @@
   , _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration
   , _kinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration
   , _kinesisFirehoseDeliveryStreamS3DestinationConfiguration :: Maybe KinesisFirehoseDeliveryStreamS3DestinationConfiguration
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisFirehoseDeliveryStream where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _kinesisStreamName :: Maybe (Val Text)
   , _kinesisStreamShardCount :: Val Integer'
   , _kinesisStreamTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON KinesisStream where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LambdaAlias.hs b/library-gen/Stratosphere/Resources/LambdaAlias.hs
--- a/library-gen/Stratosphere/Resources/LambdaAlias.hs
+++ b/library-gen/Stratosphere/Resources/LambdaAlias.hs
@@ -22,7 +22,7 @@
   , _lambdaAliasFunctionName :: Val Text
   , _lambdaAliasFunctionVersion :: Val Text
   , _lambdaAliasName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaAlias where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 12, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _lambdaEventSourceMappingEventSourceArn :: Val Text
   , _lambdaEventSourceMappingFunctionName :: Val Text
   , _lambdaEventSourceMappingStartingPosition :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaEventSourceMapping where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
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
@@ -32,7 +32,7 @@
   , _lambdaFunctionRuntime :: Val Runtime
   , _lambdaFunctionTimeout :: Maybe (Val Integer')
   , _lambdaFunctionVpcConfig :: Maybe LambdaFunctionVpcConfig
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaFunction where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LambdaPermission.hs b/library-gen/Stratosphere/Resources/LambdaPermission.hs
--- a/library-gen/Stratosphere/Resources/LambdaPermission.hs
+++ b/library-gen/Stratosphere/Resources/LambdaPermission.hs
@@ -23,7 +23,7 @@
   , _lambdaPermissionPrincipal :: Val Text
   , _lambdaPermissionSourceAccount :: Maybe (Val Text)
   , _lambdaPermissionSourceArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaPermission where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LambdaVersion.hs b/library-gen/Stratosphere/Resources/LambdaVersion.hs
--- a/library-gen/Stratosphere/Resources/LambdaVersion.hs
+++ b/library-gen/Stratosphere/Resources/LambdaVersion.hs
@@ -21,7 +21,7 @@
   { _lambdaVersionCodeSha256 :: Maybe (Val Text)
   , _lambdaVersionDescription :: Maybe (Val Text)
   , _lambdaVersionFunctionName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LambdaVersion where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LogsDestination.hs b/library-gen/Stratosphere/Resources/LogsDestination.hs
--- a/library-gen/Stratosphere/Resources/LogsDestination.hs
+++ b/library-gen/Stratosphere/Resources/LogsDestination.hs
@@ -22,7 +22,7 @@
   , _logsDestinationDestinationPolicy :: Val Text
   , _logsDestinationRoleArn :: Val Text
   , _logsDestinationTargetArn :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LogsDestination where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   LogsLogGroup
   { _logsLogGroupLogGroupName :: Maybe (Val Text)
   , _logsLogGroupRetentionInDays :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LogsLogGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LogsLogStream.hs b/library-gen/Stratosphere/Resources/LogsLogStream.hs
--- a/library-gen/Stratosphere/Resources/LogsLogStream.hs
+++ b/library-gen/Stratosphere/Resources/LogsLogStream.hs
@@ -20,7 +20,7 @@
   LogsLogStream
   { _logsLogStreamLogGroupName :: Val Text
   , _logsLogStreamLogStreamName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LogsLogStream where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LogsMetricFilter.hs b/library-gen/Stratosphere/Resources/LogsMetricFilter.hs
--- a/library-gen/Stratosphere/Resources/LogsMetricFilter.hs
+++ b/library-gen/Stratosphere/Resources/LogsMetricFilter.hs
@@ -21,7 +21,7 @@
   { _logsMetricFilterFilterPattern :: Val Text
   , _logsMetricFilterLogGroupName :: Val Text
   , _logsMetricFilterMetricTransformations :: [LogsMetricFilterMetricTransformation]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LogsMetricFilter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs b/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs
--- a/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs
+++ b/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs
@@ -22,7 +22,7 @@
   , _logsSubscriptionFilterFilterPattern :: Val Text
   , _logsSubscriptionFilterLogGroupName :: Val Text
   , _logsSubscriptionFilterRoleArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON LogsSubscriptionFilter where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 23, omitNothingFields = True }
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
@@ -33,7 +33,7 @@
   , _opsWorksAppSslConfiguration :: Maybe OpsWorksAppSslConfiguration
   , _opsWorksAppStackId :: Val Text
   , _opsWorksAppType :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksApp where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 12, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs b/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs
@@ -21,7 +21,7 @@
   OpsWorksElasticLoadBalancerAttachment
   { _opsWorksElasticLoadBalancerAttachmentElasticLoadBalancerName :: Val Text
   , _opsWorksElasticLoadBalancerAttachmentLayerId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksElasticLoadBalancerAttachment where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
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
@@ -40,7 +40,7 @@
   , _opsWorksInstanceTimeBasedAutoScaling :: Maybe OpsWorksInstanceTimeBasedAutoScaling
   , _opsWorksInstanceVirtualizationType :: Maybe (Val Text)
   , _opsWorksInstanceVolumes :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksInstance where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
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
@@ -39,7 +39,7 @@
   , _opsWorksLayerType :: Val Text
   , _opsWorksLayerUseEbsOptimizedInstances :: Maybe (Val Bool')
   , _opsWorksLayerVolumeConfigurations :: Maybe [OpsWorksLayerVolumeConfiguration]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksLayer where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -46,7 +46,7 @@
   , _opsWorksStackUseCustomCookbooks :: Maybe (Val Bool')
   , _opsWorksStackUseOpsworksSecurityGroups :: Maybe (Val Bool')
   , _opsWorksStackVpcId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksStack where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _opsWorksUserProfileAllowSelfManagement :: Maybe (Val Bool')
   , _opsWorksUserProfileIamUserArn :: Val Text
   , _opsWorksUserProfileSshPublicKey :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksUserProfile where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/OpsWorksVolume.hs b/library-gen/Stratosphere/Resources/OpsWorksVolume.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksVolume.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksVolume.hs
@@ -22,7 +22,7 @@
   , _opsWorksVolumeMountPoint :: Maybe (Val Text)
   , _opsWorksVolumeName :: Maybe (Val Text)
   , _opsWorksVolumeStackId :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON OpsWorksVolume where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
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
@@ -35,7 +35,7 @@
   , _rDSDBClusterStorageEncrypted :: Maybe (Val Bool')
   , _rDSDBClusterTags :: Maybe [Tag]
   , _rDSDBClusterVpcSecurityGroupIds :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBCluster where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs b/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs
@@ -22,7 +22,7 @@
   , _rDSDBClusterParameterGroupFamily :: Val Text
   , _rDSDBClusterParameterGroupParameters :: Object
   , _rDSDBClusterParameterGroupTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBClusterParameterGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
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
@@ -55,7 +55,7 @@
   , _rDSDBInstanceTags :: Maybe [Tag]
   , _rDSDBInstanceTimezone :: Maybe (Val Text)
   , _rDSDBInstanceVPCSecurityGroups :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBInstance where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs b/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs
@@ -22,7 +22,7 @@
   , _rDSDBParameterGroupFamily :: Val Text
   , _rDSDBParameterGroupParameters :: Maybe Object
   , _rDSDBParameterGroupTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBParameterGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs b/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs
@@ -23,7 +23,7 @@
   , _rDSDBSecurityGroupEC2VpcId :: Maybe (Val Text)
   , _rDSDBSecurityGroupGroupDescription :: Val Text
   , _rDSDBSecurityGroupTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBSecurityGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs
@@ -23,7 +23,7 @@
   , _rDSDBSecurityGroupIngressEC2SecurityGroupId :: Maybe (Val Text)
   , _rDSDBSecurityGroupIngressEC2SecurityGroupName :: Maybe (Val Text)
   , _rDSDBSecurityGroupIngressEC2SecurityGroupOwnerId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBSecurityGroupIngress where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 26, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs b/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs
@@ -21,7 +21,7 @@
   { _rDSDBSubnetGroupDBSubnetGroupDescription :: Val Text
   , _rDSDBSubnetGroupSubnetIds :: [Val Text]
   , _rDSDBSubnetGroupTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSDBSubnetGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
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
@@ -23,7 +23,7 @@
   , _rDSEventSubscriptionSnsTopicArn :: Val Text
   , _rDSEventSubscriptionSourceIds :: Maybe [Val Text]
   , _rDSEventSubscriptionSourceType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSEventSubscription where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RDSOptionGroup.hs b/library-gen/Stratosphere/Resources/RDSOptionGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSOptionGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSOptionGroup.hs
@@ -24,7 +24,7 @@
   , _rDSOptionGroupOptionConfigurations :: [RDSOptionGroupOptionConfiguration]
   , _rDSOptionGroupOptionGroupDescription :: Val Text
   , _rDSOptionGroupTags :: Maybe [Tag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RDSOptionGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
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
@@ -42,7 +42,7 @@
   , _redshiftClusterSnapshotClusterIdentifier :: Maybe (Val Text)
   , _redshiftClusterSnapshotIdentifier :: Maybe (Val Text)
   , _redshiftClusterVpcSecurityGroupIds :: Maybe [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RedshiftCluster where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs b/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs
@@ -21,7 +21,7 @@
   { _redshiftClusterParameterGroupDescription :: Val Text
   , _redshiftClusterParameterGroupParameterGroupFamily :: Val Text
   , _redshiftClusterParameterGroupParameters :: Maybe [RedshiftClusterParameterGroupParameter]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RedshiftClusterParameterGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs
@@ -19,7 +19,7 @@
 data RedshiftClusterSecurityGroup =
   RedshiftClusterSecurityGroup
   { _redshiftClusterSecurityGroupDescription :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RedshiftClusterSecurityGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 29, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs
@@ -22,7 +22,7 @@
   , _redshiftClusterSecurityGroupIngressClusterSecurityGroupName :: Val Text
   , _redshiftClusterSecurityGroupIngressEC2SecurityGroupName :: Maybe (Val Text)
   , _redshiftClusterSecurityGroupIngressEC2SecurityGroupOwnerId :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RedshiftClusterSecurityGroupIngress where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 36, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs b/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs
@@ -20,7 +20,7 @@
   RedshiftClusterSubnetGroup
   { _redshiftClusterSubnetGroupDescription :: Val Text
   , _redshiftClusterSubnetGroupSubnetIds :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON RedshiftClusterSubnetGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/Route53HealthCheck.hs b/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
--- a/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
+++ b/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
@@ -21,7 +21,7 @@
   Route53HealthCheck
   { _route53HealthCheckHealthCheckConfig :: Route53HealthCheckHealthCheckConfig
   , _route53HealthCheckHealthCheckTags :: Maybe [Route53HealthCheckHealthCheckTag]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HealthCheck where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/Route53HostedZone.hs b/library-gen/Stratosphere/Resources/Route53HostedZone.hs
--- a/library-gen/Stratosphere/Resources/Route53HostedZone.hs
+++ b/library-gen/Stratosphere/Resources/Route53HostedZone.hs
@@ -24,7 +24,7 @@
   , _route53HostedZoneHostedZoneTags :: Maybe [Route53HostedZoneHostedZoneTag]
   , _route53HostedZoneName :: Val Text
   , _route53HostedZoneVPCs :: Maybe [Route53HostedZoneVPC]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53HostedZone where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 18, omitNothingFields = True }
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
@@ -33,7 +33,7 @@
   , _route53RecordSetTTL :: Maybe (Val Text)
   , _route53RecordSetType :: Val Text
   , _route53RecordSetWeight :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs b/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs
--- a/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs
+++ b/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs
@@ -22,7 +22,7 @@
   , _route53RecordSetGroupHostedZoneId :: Maybe (Val Text)
   , _route53RecordSetGroupHostedZoneName :: Maybe (Val Text)
   , _route53RecordSetGroupRecordSets :: Maybe [Route53RecordSetGroupRecordSet]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON Route53RecordSetGroup where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/S3Bucket.hs b/library-gen/Stratosphere/Resources/S3Bucket.hs
--- a/library-gen/Stratosphere/Resources/S3Bucket.hs
+++ b/library-gen/Stratosphere/Resources/S3Bucket.hs
@@ -36,7 +36,7 @@
   , _s3BucketTags :: Maybe [Tag]
   , _s3BucketVersioningConfiguration :: Maybe S3BucketVersioningConfiguration
   , _s3BucketWebsiteConfiguration :: Maybe S3BucketWebsiteConfiguration
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3Bucket where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/S3BucketPolicy.hs b/library-gen/Stratosphere/Resources/S3BucketPolicy.hs
--- a/library-gen/Stratosphere/Resources/S3BucketPolicy.hs
+++ b/library-gen/Stratosphere/Resources/S3BucketPolicy.hs
@@ -20,7 +20,7 @@
   S3BucketPolicy
   { _s3BucketPolicyBucket :: Val Text
   , _s3BucketPolicyPolicyDocument :: Object
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON S3BucketPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/SDBDomain.hs b/library-gen/Stratosphere/Resources/SDBDomain.hs
--- a/library-gen/Stratosphere/Resources/SDBDomain.hs
+++ b/library-gen/Stratosphere/Resources/SDBDomain.hs
@@ -19,7 +19,7 @@
 data SDBDomain =
   SDBDomain
   { _sDBDomainDescription :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SDBDomain where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 10, omitNothingFields = True }
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
@@ -21,7 +21,7 @@
   { _sNSSubscriptionEndpoint :: Maybe (Val Text)
   , _sNSSubscriptionProtocol :: Maybe (Val SNSProtocol)
   , _sNSSubscriptionTopicArn :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SNSSubscription where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/SNSTopic.hs b/library-gen/Stratosphere/Resources/SNSTopic.hs
--- a/library-gen/Stratosphere/Resources/SNSTopic.hs
+++ b/library-gen/Stratosphere/Resources/SNSTopic.hs
@@ -21,7 +21,7 @@
   { _sNSTopicDisplayName :: Maybe (Val Text)
   , _sNSTopicSubscription :: Maybe [SNSTopicSubscription]
   , _sNSTopicTopicName :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SNSTopic where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs b/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs
--- a/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs
+++ b/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs
@@ -20,7 +20,7 @@
   SNSTopicPolicy
   { _sNSTopicPolicyPolicyDocument :: Object
   , _sNSTopicPolicyTopics :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SNSTopicPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
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
@@ -25,7 +25,7 @@
   , _sQSQueueReceiveMessageWaitTimeSeconds :: Maybe (Val Integer')
   , _sQSQueueRedrivePolicy :: Maybe Object
   , _sQSQueueVisibilityTimeout :: Maybe (Val Integer')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SQSQueue where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs b/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs
--- a/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs
+++ b/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs
@@ -20,7 +20,7 @@
   SQSQueuePolicy
   { _sQSQueuePolicyPolicyDocument :: Object
   , _sQSQueuePolicyQueues :: [Val Text]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SQSQueuePolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/SSMAssociation.hs b/library-gen/Stratosphere/Resources/SSMAssociation.hs
--- a/library-gen/Stratosphere/Resources/SSMAssociation.hs
+++ b/library-gen/Stratosphere/Resources/SSMAssociation.hs
@@ -25,7 +25,7 @@
   , _sSMAssociationParameters :: Maybe Object
   , _sSMAssociationScheduleExpression :: Maybe (Val Text)
   , _sSMAssociationTargets :: Maybe [SSMAssociationTarget]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SSMAssociation where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/SSMDocument.hs b/library-gen/Stratosphere/Resources/SSMDocument.hs
--- a/library-gen/Stratosphere/Resources/SSMDocument.hs
+++ b/library-gen/Stratosphere/Resources/SSMDocument.hs
@@ -20,7 +20,7 @@
   SSMDocument
   { _sSMDocumentContent :: Object
   , _sSMDocumentDocumentType :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON SSMDocument where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 12, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs b/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs
@@ -20,7 +20,7 @@
   WAFByteMatchSet
   { _wAFByteMatchSetByteMatchTuples :: Maybe [WAFByteMatchSetByteMatchTuple]
   , _wAFByteMatchSetName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFByteMatchSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFIPSet.hs b/library-gen/Stratosphere/Resources/WAFIPSet.hs
--- a/library-gen/Stratosphere/Resources/WAFIPSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFIPSet.hs
@@ -20,7 +20,7 @@
   WAFIPSet
   { _wAFIPSetIPSetDescriptors :: Maybe [WAFIPSetIPSetDescriptor]
   , _wAFIPSetName :: Val Text
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFIPSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 9, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFRule.hs b/library-gen/Stratosphere/Resources/WAFRule.hs
--- a/library-gen/Stratosphere/Resources/WAFRule.hs
+++ b/library-gen/Stratosphere/Resources/WAFRule.hs
@@ -21,7 +21,7 @@
   { _wAFRuleMetricName :: Val Text
   , _wAFRuleName :: Val Text
   , _wAFRulePredicates :: Maybe [WAFRulePredicate]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFRule where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 8, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs b/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs
--- a/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs
@@ -20,7 +20,7 @@
   WAFSizeConstraintSet
   { _wAFSizeConstraintSetName :: Val Text
   , _wAFSizeConstraintSetSizeConstraints :: [WAFSizeConstraintSetSizeConstraint]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFSizeConstraintSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs b/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs
@@ -20,7 +20,7 @@
   WAFSqlInjectionMatchSet
   { _wAFSqlInjectionMatchSetName :: Val Text
   , _wAFSqlInjectionMatchSetSqlInjectionMatchTuples :: Maybe [WAFSqlInjectionMatchSetSqlInjectionMatchTuple]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFSqlInjectionMatchSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFWebACL.hs b/library-gen/Stratosphere/Resources/WAFWebACL.hs
--- a/library-gen/Stratosphere/Resources/WAFWebACL.hs
+++ b/library-gen/Stratosphere/Resources/WAFWebACL.hs
@@ -23,7 +23,7 @@
   , _wAFWebACLMetricName :: Val Text
   , _wAFWebACLName :: Val Text
   , _wAFWebACLRules :: Maybe [WAFWebACLActivatedRule]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFWebACL where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 10, omitNothingFields = True }
diff --git a/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs b/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs
@@ -20,7 +20,7 @@
   WAFXssMatchSet
   { _wAFXssMatchSetName :: Val Text
   , _wAFXssMatchSetXssMatchTuples :: [WAFXssMatchSetXssMatchTuple]
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WAFXssMatchSet where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
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
@@ -24,7 +24,7 @@
   , _workSpacesWorkspaceUserName :: Val Text
   , _workSpacesWorkspaceUserVolumeEncryptionEnabled :: Maybe (Val Bool')
   , _workSpacesWorkspaceVolumeEncryptionKey :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON WorkSpacesWorkspace where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 20, omitNothingFields = True }
diff --git a/library/Stratosphere/Outputs.hs b/library/Stratosphere/Outputs.hs
--- a/library/Stratosphere/Outputs.hs
+++ b/library/Stratosphere/Outputs.hs
@@ -50,7 +50,7 @@
     -- describe-stacks command. The value of an output can be literals,
     -- parameter references, pseudo parameters, a mapping value, and intrinsic
     -- functions.
-  } deriving (Show)
+  } deriving (Show, Eq)
 
 $(makeFields ''Output)
 
@@ -84,7 +84,7 @@
 
 -- | Wrapper around a list of 'Output's to we can modify the aeson instances.
 newtype Outputs = Outputs { unOutputs :: [Output] }
-                deriving (Show, Monoid)
+  deriving (Show, Eq, Monoid)
 
 instance IsList Outputs where
   type Item Outputs = Output
diff --git a/library/Stratosphere/Parameters.hs b/library/Stratosphere/Parameters.hs
--- a/library/Stratosphere/Parameters.hs
+++ b/library/Stratosphere/Parameters.hs
@@ -127,7 +127,7 @@
 -- | Wrapper around a list of 'Parameters's to we can modify the aeson
 -- instances.
 newtype Parameters = Parameters { unParameters :: [Parameter] }
-                   deriving (Show, Eq, Monoid)
+  deriving (Show, Eq, Monoid)
 
 instance IsList Parameters where
   type Item Parameters = Parameter
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
@@ -20,13 +20,13 @@
 data AutoScalingReplacingUpdatePolicy =
   AutoScalingReplacingUpdatePolicy
   { _autoScalingReplacingUpdatePolicyWillReplace :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingReplacingUpdatePolicy where
-  toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
+  toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
 
 instance FromJSON AutoScalingReplacingUpdatePolicy where
-  parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
+  parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
 
 -- | Constructor for 'AutoScalingReplacingUpdatePolicy' containing required fields
 -- as arguments.
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
@@ -25,13 +25,13 @@
   , _autoScalingRollingUpdatePolicyPauseTime :: Maybe (Val Text)
   , _autoScalingRollingUpdatePolicySuspendProcess :: Maybe [Val Text]
   , _autoScalingRollingUpdatePolicyWaitOnResourceSignals :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingRollingUpdatePolicy where
-  toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
+  toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
 
 instance FromJSON AutoScalingRollingUpdatePolicy where
-  parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 25, omitNothingFields = True }
+  parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 31, omitNothingFields = True }
 
 -- | Constructor for 'AutoScalingRollingUpdatePolicy' containing required fields as
 -- arguments.
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
@@ -33,13 +33,13 @@
 data AutoScalingScheduledActionPolicy =
   AutoScalingScheduledActionPolicy
   { _autoScalingScheduledActionPolicyIgnoreUnmodifiedGroupSizeProperties :: Maybe (Val Bool')
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON AutoScalingScheduledActionPolicy where
-  toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
+  toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
 
 instance FromJSON AutoScalingScheduledActionPolicy where
-  parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 27, omitNothingFields = True }
+  parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 33, omitNothingFields = True }
 
 -- | Constructor for 'AutoScalingScheduledActionPolicy' containing required fields
 -- as arguments.
diff --git a/library/Stratosphere/ResourceAttributes/CreationPolicy.hs b/library/Stratosphere/ResourceAttributes/CreationPolicy.hs
--- a/library/Stratosphere/ResourceAttributes/CreationPolicy.hs
+++ b/library/Stratosphere/ResourceAttributes/CreationPolicy.hs
@@ -36,7 +36,7 @@
 data CreationPolicy =
   CreationPolicy
   { _creationPolicyResourceSignal :: ResourceSignal
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON CreationPolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
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
@@ -20,7 +20,7 @@
   ResourceSignal
   { _resourceSignalCount :: Maybe (Val Integer')
   , _resourceSignalTimeout :: Maybe (Val Text)
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON ResourceSignal where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
diff --git a/library/Stratosphere/ResourceAttributes/UpdatePolicy.hs b/library/Stratosphere/ResourceAttributes/UpdatePolicy.hs
--- a/library/Stratosphere/ResourceAttributes/UpdatePolicy.hs
+++ b/library/Stratosphere/ResourceAttributes/UpdatePolicy.hs
@@ -27,7 +27,7 @@
   { _updatePolicyAutoScalingReplacingUpdate :: Maybe AutoScalingReplacingUpdatePolicy
   , _updatePolicyAutoScalingRollingUpdate :: Maybe AutoScalingRollingUpdatePolicy
   , _updatePolicyAutoScalingScheduledAction :: Maybe AutoScalingScheduledActionPolicy
-  } deriving (Show, Generic)
+  } deriving (Show, Eq, Generic)
 
 instance ToJSON UpdatePolicy where
   toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 13, omitNothingFields = True }
diff --git a/library/Stratosphere/Template.hs b/library/Stratosphere/Template.hs
--- a/library/Stratosphere/Template.hs
+++ b/library/Stratosphere/Template.hs
@@ -79,7 +79,7 @@
     -- properties. For example, you can declare an output for an Amazon S3
     -- bucket name and then call the aws cloudformation describe-stacks AWS CLI
     -- command to view the name.
-  } deriving (Show)
+  } deriving (Show, Eq)
 
 
 $(deriveJSON defaultOptions { fieldLabelModifier = modTemplateJSONField
diff --git a/library/Stratosphere/Types.hs b/library/Stratosphere/Types.hs
--- a/library/Stratosphere/Types.hs
+++ b/library/Stratosphere/Types.hs
@@ -6,6 +6,7 @@
 
 module Stratosphere.Types
   ( EnabledState (..)
+  , AuthorizerType (..)
   , AuthorizationType (..)
   , HttpMethod (..)
   , LoggingLevel (..)
@@ -34,10 +35,29 @@
   | DISABLED
   deriving (Show, Read, Eq, Generic, FromJSON, ToJSON)
 
+-- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type
+data AuthorizerType
+  = TOKEN_AUTH
+  | COGNITO_USER_POOLS_AUTH
+  deriving (Show, Read, Eq)
+
+instance FromJSON AuthorizerType where
+  parseJSON = withText "AuthorizerType" parse
+    where
+      parse "TOKEN"               = pure TOKEN_AUTH
+      parse "COGNITO_USER_POOLS"  = pure COGNITO_USER_POOLS_AUTH
+      parse authorizerType = fail ("Unexpected authorizer type " ++ unpack authorizerType)
+
+instance ToJSON AuthorizerType where
+  toJSON TOKEN_AUTH               = String "TOKEN"
+  toJSON COGNITO_USER_POOLS_AUTH  = String "COGNITO_USER_POOLS"
+
+
 data AuthorizationType
   = NONE
   | AWS_IAM
   | CUSTOM
+  | COGNITO_USER_POOLS
   deriving (Show, Read, Eq, Generic, FromJSON, ToJSON)
 
 data HttpMethod
diff --git a/library/Stratosphere/Values.hs b/library/Stratosphere/Values.hs
--- a/library/Stratosphere/Values.hs
+++ b/library/Stratosphere/Values.hs
@@ -41,12 +41,14 @@
  | GetAtt T.Text T.Text
  | Base64 (Val a)
  | Join T.Text [Val a]
+ | Split T.Text T.Text
  | Select Integer' (Val a)
  | GetAZs (Val a)
  | FindInMap (Val a) (Val a) (Val a) -- ^ Map name, top level key, and second level key
  | ImportValue T.Text -- ^ The account-and-region-unique exported name of the value to import
 
 deriving instance (Show a) => Show (Val a)
+deriving instance (Eq a) => Eq (Val a)
 
 instance (IsString a) => IsString (Val a) where
   fromString s = Literal (fromString s)
@@ -61,6 +63,7 @@
   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 (Split d s) = mkFunc "Fn::Split" [toJSON d, toJSON s]
   toJSON (Select i vs) = mkFunc "Fn::Select" [toJSON i, toJSON vs]
   toJSON (GetAZs r) = object [("Fn::GetAZs", toJSON r)]
   toJSON (FindInMap mapName topKey secondKey) =
@@ -82,6 +85,7 @@
       [("Fn::GetAtt", o')] -> uncurry GetAtt <$> parseJSON o'
       [("Fn::Base64", o')] -> Base64 <$> parseJSON o'
       [("Fn::Join", o')] -> uncurry Join <$> parseJSON o'
+      [("Fn::Split", o')] -> uncurry Split <$> parseJSON o'
       [("Fn::Select", o')] -> uncurry Select <$> parseJSON o'
       [("Fn::GetAZs", o')] -> GetAZs <$> parseJSON o'
       [("Fn::FindInMap", o')] -> do
@@ -97,7 +101,7 @@
 -- is necessary because CloudFront made the silly decision to represent numbers
 -- as JSON strings.
 newtype Integer' = Integer' { unInteger' :: Integer }
-                 deriving (Show, Eq, Num)
+  deriving (Show, Eq, Num)
 
 instance ToJSON Integer' where
   toJSON (Integer' i) = toJSON $ show i
@@ -133,7 +137,7 @@
 
 -- | We need to wrap Doubles for the same reason we need to wrap Ints.
 newtype Double' = Double' { unDouble' :: Double }
-                deriving (Show, Eq, Num)
+  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
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           stratosphere
-version:        0.3.1
+version:        0.4.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
