diff --git a/amazonka-cloudsearch.cabal b/amazonka-cloudsearch.cabal
--- a/amazonka-cloudsearch.cabal
+++ b/amazonka-cloudsearch.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudsearch
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon CloudSearch SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -66,5 +66,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.2.1.*
+          amazonka-core == 0.2.2.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/CloudSearch/BuildSuggesters.hs b/gen/Network/AWS/CloudSearch/BuildSuggesters.hs
--- a/gen/Network/AWS/CloudSearch/BuildSuggesters.hs
+++ b/gen/Network/AWS/CloudSearch/BuildSuggesters.hs
@@ -49,7 +49,7 @@
 
 newtype BuildSuggesters = BuildSuggesters
     { _bsDomainName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'BuildSuggesters' constructor.
 --
@@ -68,7 +68,7 @@
 
 newtype BuildSuggestersResponse = BuildSuggestersResponse
     { _bsrFieldNames :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList BuildSuggestersResponse where
     type Item BuildSuggestersResponse = Text
diff --git a/gen/Network/AWS/CloudSearch/CreateDomain.hs b/gen/Network/AWS/CloudSearch/CreateDomain.hs
--- a/gen/Network/AWS/CloudSearch/CreateDomain.hs
+++ b/gen/Network/AWS/CloudSearch/CreateDomain.hs
@@ -50,7 +50,7 @@
 
 newtype CreateDomain = CreateDomain
     { _cdDomainName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'CreateDomain' constructor.
 --
@@ -72,7 +72,7 @@
 
 newtype CreateDomainResponse = CreateDomainResponse
     { _cdrDomainStatus :: Maybe DomainStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateDomainResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DefineAnalysisScheme.hs b/gen/Network/AWS/CloudSearch/DefineAnalysisScheme.hs
--- a/gen/Network/AWS/CloudSearch/DefineAnalysisScheme.hs
+++ b/gen/Network/AWS/CloudSearch/DefineAnalysisScheme.hs
@@ -53,7 +53,7 @@
 data DefineAnalysisScheme = DefineAnalysisScheme
     { _das2AnalysisScheme :: AnalysisScheme
     , _das2DomainName     :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineAnalysisScheme' constructor.
 --
@@ -80,7 +80,7 @@
 
 newtype DefineAnalysisSchemeResponse = DefineAnalysisSchemeResponse
     { _dasr1AnalysisScheme :: AnalysisSchemeStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineAnalysisSchemeResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DefineExpression.hs b/gen/Network/AWS/CloudSearch/DefineExpression.hs
--- a/gen/Network/AWS/CloudSearch/DefineExpression.hs
+++ b/gen/Network/AWS/CloudSearch/DefineExpression.hs
@@ -54,7 +54,7 @@
 data DefineExpression = DefineExpression
     { _de1DomainName :: Text
     , _de1Expression :: Expression
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineExpression' constructor.
 --
@@ -80,7 +80,7 @@
 
 newtype DefineExpressionResponse = DefineExpressionResponse
     { _derExpression :: ExpressionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineExpressionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DefineIndexField.hs b/gen/Network/AWS/CloudSearch/DefineIndexField.hs
--- a/gen/Network/AWS/CloudSearch/DefineIndexField.hs
+++ b/gen/Network/AWS/CloudSearch/DefineIndexField.hs
@@ -56,7 +56,7 @@
 data DefineIndexField = DefineIndexField
     { _dif2DomainName :: Text
     , _dif2IndexField :: IndexField
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineIndexField' constructor.
 --
@@ -83,7 +83,7 @@
 
 newtype DefineIndexFieldResponse = DefineIndexFieldResponse
     { _difr1IndexField :: IndexFieldStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineIndexFieldResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DefineSuggester.hs b/gen/Network/AWS/CloudSearch/DefineSuggester.hs
--- a/gen/Network/AWS/CloudSearch/DefineSuggester.hs
+++ b/gen/Network/AWS/CloudSearch/DefineSuggester.hs
@@ -55,7 +55,7 @@
 data DefineSuggester = DefineSuggester
     { _ds2DomainName :: Text
     , _ds2Suggester  :: Suggester
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineSuggester' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype DefineSuggesterResponse = DefineSuggesterResponse
     { _dsrSuggester :: SuggesterStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefineSuggesterResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DeleteAnalysisScheme.hs b/gen/Network/AWS/CloudSearch/DeleteAnalysisScheme.hs
--- a/gen/Network/AWS/CloudSearch/DeleteAnalysisScheme.hs
+++ b/gen/Network/AWS/CloudSearch/DeleteAnalysisScheme.hs
@@ -52,7 +52,7 @@
 data DeleteAnalysisScheme = DeleteAnalysisScheme
     { _dasAnalysisSchemeName :: Text
     , _dasDomainName         :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteAnalysisScheme' constructor.
 --
@@ -80,7 +80,7 @@
 
 newtype DeleteAnalysisSchemeResponse = DeleteAnalysisSchemeResponse
     { _dasrAnalysisScheme :: AnalysisSchemeStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteAnalysisSchemeResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DeleteDomain.hs b/gen/Network/AWS/CloudSearch/DeleteDomain.hs
--- a/gen/Network/AWS/CloudSearch/DeleteDomain.hs
+++ b/gen/Network/AWS/CloudSearch/DeleteDomain.hs
@@ -51,7 +51,7 @@
 
 newtype DeleteDomain = DeleteDomain
     { _ddDomainName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteDomain' constructor.
 --
@@ -71,7 +71,7 @@
 
 newtype DeleteDomainResponse = DeleteDomainResponse
     { _ddrDomainStatus :: Maybe DomainStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteDomainResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DeleteExpression.hs b/gen/Network/AWS/CloudSearch/DeleteExpression.hs
--- a/gen/Network/AWS/CloudSearch/DeleteExpression.hs
+++ b/gen/Network/AWS/CloudSearch/DeleteExpression.hs
@@ -52,7 +52,7 @@
 data DeleteExpression = DeleteExpression
     { _de2DomainName     :: Text
     , _de2ExpressionName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteExpression' constructor.
 --
@@ -80,7 +80,7 @@
 
 newtype DeleteExpressionResponse = DeleteExpressionResponse
     { _der1Expression :: ExpressionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteExpressionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DeleteIndexField.hs b/gen/Network/AWS/CloudSearch/DeleteIndexField.hs
--- a/gen/Network/AWS/CloudSearch/DeleteIndexField.hs
+++ b/gen/Network/AWS/CloudSearch/DeleteIndexField.hs
@@ -52,7 +52,7 @@
 data DeleteIndexField = DeleteIndexField
     { _dif1DomainName     :: Text
     , _dif1IndexFieldName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteIndexField' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype DeleteIndexFieldResponse = DeleteIndexFieldResponse
     { _difrIndexField :: IndexFieldStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteIndexFieldResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DeleteSuggester.hs b/gen/Network/AWS/CloudSearch/DeleteSuggester.hs
--- a/gen/Network/AWS/CloudSearch/DeleteSuggester.hs
+++ b/gen/Network/AWS/CloudSearch/DeleteSuggester.hs
@@ -52,7 +52,7 @@
 data DeleteSuggester = DeleteSuggester
     { _ds3DomainName    :: Text
     , _ds3SuggesterName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteSuggester' constructor.
 --
@@ -79,7 +79,7 @@
 
 newtype DeleteSuggesterResponse = DeleteSuggesterResponse
     { _dsr1Suggester :: SuggesterStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteSuggesterResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DescribeAnalysisSchemes.hs b/gen/Network/AWS/CloudSearch/DescribeAnalysisSchemes.hs
--- a/gen/Network/AWS/CloudSearch/DescribeAnalysisSchemes.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeAnalysisSchemes.hs
@@ -57,7 +57,7 @@
     { _das1AnalysisSchemeNames :: List "member" Text
     , _das1Deployed            :: Maybe Bool
     , _das1DomainName          :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeAnalysisSchemes' constructor.
 --
@@ -94,7 +94,7 @@
 
 newtype DescribeAnalysisSchemesResponse = DescribeAnalysisSchemesResponse
     { _dasrAnalysisSchemes :: List "member" AnalysisSchemeStatus
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeAnalysisSchemesResponse where
     type Item DescribeAnalysisSchemesResponse = AnalysisSchemeStatus
diff --git a/gen/Network/AWS/CloudSearch/DescribeAvailabilityOptions.hs b/gen/Network/AWS/CloudSearch/DescribeAvailabilityOptions.hs
--- a/gen/Network/AWS/CloudSearch/DescribeAvailabilityOptions.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeAvailabilityOptions.hs
@@ -54,7 +54,7 @@
 data DescribeAvailabilityOptions = DescribeAvailabilityOptions
     { _daoDeployed   :: Maybe Bool
     , _daoDomainName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeAvailabilityOptions' constructor.
 --
@@ -82,7 +82,7 @@
 
 newtype DescribeAvailabilityOptionsResponse = DescribeAvailabilityOptionsResponse
     { _daorAvailabilityOptions :: Maybe AvailabilityOptionsStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeAvailabilityOptionsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DescribeDomains.hs b/gen/Network/AWS/CloudSearch/DescribeDomains.hs
--- a/gen/Network/AWS/CloudSearch/DescribeDomains.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeDomains.hs
@@ -52,7 +52,7 @@
 
 newtype DescribeDomains = DescribeDomains
     { _ddDomainNames :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeDomains where
     type Item DescribeDomains = Text
@@ -77,7 +77,7 @@
 
 newtype DescribeDomainsResponse = DescribeDomainsResponse
     { _ddrDomainStatusList :: List "member" DomainStatus
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeDomainsResponse where
     type Item DescribeDomainsResponse = DomainStatus
diff --git a/gen/Network/AWS/CloudSearch/DescribeExpressions.hs b/gen/Network/AWS/CloudSearch/DescribeExpressions.hs
--- a/gen/Network/AWS/CloudSearch/DescribeExpressions.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeExpressions.hs
@@ -57,7 +57,7 @@
     { _deDeployed        :: Maybe Bool
     , _deDomainName      :: Text
     , _deExpressionNames :: List "member" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeExpressions' constructor.
 --
@@ -95,7 +95,7 @@
 
 newtype DescribeExpressionsResponse = DescribeExpressionsResponse
     { _derExpressions :: List "member" ExpressionStatus
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeExpressionsResponse where
     type Item DescribeExpressionsResponse = ExpressionStatus
diff --git a/gen/Network/AWS/CloudSearch/DescribeIndexFields.hs b/gen/Network/AWS/CloudSearch/DescribeIndexFields.hs
--- a/gen/Network/AWS/CloudSearch/DescribeIndexFields.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeIndexFields.hs
@@ -56,7 +56,7 @@
     { _difDeployed   :: Maybe Bool
     , _difDomainName :: Text
     , _difFieldNames :: List "member" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeIndexFields' constructor.
 --
@@ -92,7 +92,7 @@
 
 newtype DescribeIndexFieldsResponse = DescribeIndexFieldsResponse
     { _difrIndexFields :: List "member" IndexFieldStatus
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeIndexFieldsResponse where
     type Item DescribeIndexFieldsResponse = IndexFieldStatus
diff --git a/gen/Network/AWS/CloudSearch/DescribeScalingParameters.hs b/gen/Network/AWS/CloudSearch/DescribeScalingParameters.hs
--- a/gen/Network/AWS/CloudSearch/DescribeScalingParameters.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeScalingParameters.hs
@@ -51,7 +51,7 @@
 
 newtype DescribeScalingParameters = DescribeScalingParameters
     { _dspDomainName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DescribeScalingParameters' constructor.
 --
@@ -70,7 +70,7 @@
 
 newtype DescribeScalingParametersResponse = DescribeScalingParametersResponse
     { _dsprScalingParameters :: ScalingParametersStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeScalingParametersResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DescribeServiceAccessPolicies.hs b/gen/Network/AWS/CloudSearch/DescribeServiceAccessPolicies.hs
--- a/gen/Network/AWS/CloudSearch/DescribeServiceAccessPolicies.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeServiceAccessPolicies.hs
@@ -55,7 +55,7 @@
 data DescribeServiceAccessPolicies = DescribeServiceAccessPolicies
     { _dsapDeployed   :: Maybe Bool
     , _dsapDomainName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeServiceAccessPolicies' constructor.
 --
@@ -83,7 +83,7 @@
 
 newtype DescribeServiceAccessPoliciesResponse = DescribeServiceAccessPoliciesResponse
     { _dsaprAccessPolicies :: AccessPoliciesStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeServiceAccessPoliciesResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/DescribeSuggesters.hs b/gen/Network/AWS/CloudSearch/DescribeSuggesters.hs
--- a/gen/Network/AWS/CloudSearch/DescribeSuggesters.hs
+++ b/gen/Network/AWS/CloudSearch/DescribeSuggesters.hs
@@ -57,7 +57,7 @@
     { _ds1Deployed       :: Maybe Bool
     , _ds1DomainName     :: Text
     , _ds1SuggesterNames :: List "member" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeSuggesters' constructor.
 --
@@ -94,7 +94,7 @@
 
 newtype DescribeSuggestersResponse = DescribeSuggestersResponse
     { _dsrSuggesters :: List "member" SuggesterStatus
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeSuggestersResponse where
     type Item DescribeSuggestersResponse = SuggesterStatus
diff --git a/gen/Network/AWS/CloudSearch/IndexDocuments.hs b/gen/Network/AWS/CloudSearch/IndexDocuments.hs
--- a/gen/Network/AWS/CloudSearch/IndexDocuments.hs
+++ b/gen/Network/AWS/CloudSearch/IndexDocuments.hs
@@ -50,7 +50,7 @@
 
 newtype IndexDocuments = IndexDocuments
     { _idDomainName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'IndexDocuments' constructor.
 --
@@ -69,7 +69,7 @@
 
 newtype IndexDocumentsResponse = IndexDocumentsResponse
     { _idrFieldNames :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList IndexDocumentsResponse where
     type Item IndexDocumentsResponse = Text
diff --git a/gen/Network/AWS/CloudSearch/ListDomainNames.hs b/gen/Network/AWS/CloudSearch/ListDomainNames.hs
--- a/gen/Network/AWS/CloudSearch/ListDomainNames.hs
+++ b/gen/Network/AWS/CloudSearch/ListDomainNames.hs
@@ -46,7 +46,7 @@
 import qualified GHC.Exts
 
 data ListDomainNames = ListDomainNames
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'ListDomainNames' constructor.
 listDomainNames :: ListDomainNames
@@ -54,7 +54,7 @@
 
 newtype ListDomainNamesResponse = ListDomainNamesResponse
     { _ldnrDomainNames :: EMap "entry" "key" "value" Text Text
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'ListDomainNamesResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/Types.hs b/gen/Network/AWS/CloudSearch/Types.hs
--- a/gen/Network/AWS/CloudSearch/Types.hs
+++ b/gen/Network/AWS/CloudSearch/Types.hs
@@ -358,7 +358,7 @@
     , _dsSearchInstanceType     :: Maybe Text
     , _dsSearchPartitionCount   :: Maybe Nat
     , _dsSearchService          :: Maybe ServiceEndpoint
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DomainStatus' constructor.
 --
@@ -509,7 +509,7 @@
     { _dsoFuzzyMatching  :: Maybe SuggesterFuzzyMatching
     , _dsoSortExpression :: Maybe Text
     , _dsoSourceField    :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DocumentSuggesterOptions' constructor.
 --
@@ -571,7 +571,7 @@
     , _daoReturnEnabled :: Maybe Bool
     , _daoSearchEnabled :: Maybe Bool
     , _daoSourceFields  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DoubleArrayOptions' constructor.
 --
@@ -647,7 +647,7 @@
     , _ifLiteralOptions      :: Maybe LiteralOptions
     , _ifTextArrayOptions    :: Maybe TextArrayOptions
     , _ifTextOptions         :: Maybe TextOptions
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'IndexField' constructor.
 --
@@ -786,7 +786,7 @@
     , _doSearchEnabled :: Maybe Bool
     , _doSortEnabled   :: Maybe Bool
     , _doSourceField   :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DateOptions' constructor.
 --
@@ -861,7 +861,7 @@
     | FailedToValidate       -- ^ FailedToValidate
     | Processing             -- ^ Processing
     | RequiresIndexDocuments -- ^ RequiresIndexDocuments
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable OptionState
 
@@ -894,7 +894,7 @@
     , _taoHighlightEnabled :: Maybe Bool
     , _taoReturnEnabled    :: Maybe Bool
     , _taoSourceFields     :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'TextArrayOptions' constructor.
 --
@@ -963,7 +963,7 @@
     | Light   -- ^ light
     | Minimal -- ^ minimal
     | None    -- ^ none
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable AlgorithmicStemming
 
@@ -994,7 +994,7 @@
     { _asAnalysisOptions        :: Maybe AnalysisOptions
     , _asAnalysisSchemeLanguage :: AnalysisSchemeLanguage
     , _asAnalysisSchemeName     :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AnalysisScheme' constructor.
 --
@@ -1045,7 +1045,7 @@
     { _spDesiredInstanceType     :: Maybe PartitionInstanceType
     , _spDesiredPartitionCount   :: Maybe Nat
     , _spDesiredReplicationCount :: Maybe Nat
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ScalingParameters' constructor.
 --
@@ -1102,7 +1102,7 @@
     , _aoStemmingDictionary             :: Maybe Text
     , _aoStopwords                      :: Maybe Text
     , _aoSynonyms                       :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AnalysisOptions' constructor.
 --
@@ -1192,7 +1192,7 @@
     , _do1SearchEnabled :: Maybe Bool
     , _do1SortEnabled   :: Maybe Bool
     , _do1SourceField   :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DoubleOptions' constructor.
 --
@@ -1272,7 +1272,7 @@
     , _toReturnEnabled    :: Maybe Bool
     , _toSortEnabled      :: Maybe Bool
     , _toSourceField      :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'TextOptions' constructor.
 --
@@ -1346,7 +1346,7 @@
 data AvailabilityOptionsStatus = AvailabilityOptionsStatus
     { _aosOptions :: Bool
     , _aosStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AvailabilityOptionsStatus' constructor.
 --
@@ -1385,7 +1385,7 @@
 data IndexFieldStatus = IndexFieldStatus
     { _ifsOptions :: IndexField
     , _ifsStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'IndexFieldStatus' constructor.
 --
@@ -1423,7 +1423,7 @@
 data ScalingParametersStatus = ScalingParametersStatus
     { _spsOptions :: ScalingParameters
     , _spsStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ScalingParametersStatus' constructor.
 --
@@ -1461,7 +1461,7 @@
 data AnalysisSchemeStatus = AnalysisSchemeStatus
     { _assOptions :: AnalysisScheme
     , _assStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AnalysisSchemeStatus' constructor.
 --
@@ -1498,7 +1498,7 @@
 
 newtype ServiceEndpoint = ServiceEndpoint
     { _seEndpoint :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'ServiceEndpoint' constructor.
 --
@@ -1526,7 +1526,7 @@
 data Limits = Limits
     { _lMaximumPartitionCount   :: Nat
     , _lMaximumReplicationCount :: Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Limits' constructor.
 --
@@ -1569,7 +1569,7 @@
 data ExpressionStatus = ExpressionStatus
     { _esOptions :: Expression
     , _esStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ExpressionStatus' constructor.
 --
@@ -1618,7 +1618,7 @@
     | IFTLiteralArray -- ^ literal-array
     | IFTText         -- ^ text
     | IFTTextArray    -- ^ text-array
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable IndexFieldType
 
@@ -1666,7 +1666,7 @@
     , _lloSearchEnabled :: Maybe Bool
     , _lloSortEnabled   :: Maybe Bool
     , _lloSourceField   :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'LatLonOptions' constructor.
 --
@@ -1739,7 +1739,7 @@
 data SuggesterStatus = SuggesterStatus
     { _ssOptions :: Suggester
     , _ssStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SuggesterStatus' constructor.
 --
@@ -1780,7 +1780,7 @@
     , _osState           :: OptionState
     , _osUpdateDate      :: ISO8601
     , _osUpdateVersion   :: Maybe Nat
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'OptionStatus' constructor.
 --
@@ -1860,7 +1860,7 @@
     , _laoReturnEnabled :: Maybe Bool
     , _laoSearchEnabled :: Maybe Bool
     , _laoSourceFields  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'LiteralArrayOptions' constructor.
 --
@@ -1928,7 +1928,7 @@
     , _iaoReturnEnabled :: Maybe Bool
     , _iaoSearchEnabled :: Maybe Bool
     , _iaoSourceFields  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'IntArrayOptions' constructor.
 --
@@ -1993,7 +1993,7 @@
 data Expression = Expression
     { _eExpressionName  :: Text
     , _eExpressionValue :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Expression' constructor.
 --
@@ -2032,7 +2032,7 @@
     = SFMHigh -- ^ high
     | SFMLow  -- ^ low
     | SFMNone -- ^ none
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable SuggesterFuzzyMatching
 
@@ -2063,7 +2063,7 @@
     , _dao1ReturnEnabled :: Maybe Bool
     , _dao1SearchEnabled :: Maybe Bool
     , _dao1SourceFields  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DateArrayOptions' constructor.
 --
@@ -2163,7 +2163,7 @@
     | Tr     -- ^ tr
     | ZhHans -- ^ zh-Hans
     | ZhHant -- ^ zh-Hant
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable AnalysisSchemeLanguage
 
@@ -2257,7 +2257,7 @@
     | SearchM1Small   -- ^ search.m1.small
     | SearchM22xlarge -- ^ search.m2.2xlarge
     | SearchM2Xlarge  -- ^ search.m2.xlarge
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable PartitionInstanceType
 
@@ -2287,7 +2287,7 @@
 data Suggester = Suggester
     { _sDocumentSuggesterOptions :: DocumentSuggesterOptions
     , _sSuggesterName            :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Suggester' constructor.
 --
@@ -2331,7 +2331,7 @@
     , _ioSearchEnabled :: Maybe Bool
     , _ioSortEnabled   :: Maybe Bool
     , _ioSourceField   :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'IntOptions' constructor.
 --
@@ -2411,7 +2411,7 @@
     , _loSearchEnabled :: Maybe Bool
     , _loSortEnabled   :: Maybe Bool
     , _loSourceField   :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'LiteralOptions' constructor.
 --
@@ -2484,7 +2484,7 @@
 data AccessPoliciesStatus = AccessPoliciesStatus
     { _apsOptions :: Text
     , _apsStatus  :: OptionStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AccessPoliciesStatus' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/UpdateAvailabilityOptions.hs b/gen/Network/AWS/CloudSearch/UpdateAvailabilityOptions.hs
--- a/gen/Network/AWS/CloudSearch/UpdateAvailabilityOptions.hs
+++ b/gen/Network/AWS/CloudSearch/UpdateAvailabilityOptions.hs
@@ -56,7 +56,7 @@
 data UpdateAvailabilityOptions = UpdateAvailabilityOptions
     { _uaoDomainName :: Text
     , _uaoMultiAZ    :: Bool
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'UpdateAvailabilityOptions' constructor.
 --
@@ -86,7 +86,7 @@
 
 newtype UpdateAvailabilityOptionsResponse = UpdateAvailabilityOptionsResponse
     { _uaorAvailabilityOptions :: Maybe AvailabilityOptionsStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateAvailabilityOptionsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/UpdateScalingParameters.hs b/gen/Network/AWS/CloudSearch/UpdateScalingParameters.hs
--- a/gen/Network/AWS/CloudSearch/UpdateScalingParameters.hs
+++ b/gen/Network/AWS/CloudSearch/UpdateScalingParameters.hs
@@ -57,7 +57,7 @@
 data UpdateScalingParameters = UpdateScalingParameters
     { _uspDomainName        :: Text
     , _uspScalingParameters :: ScalingParameters
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateScalingParameters' constructor.
 --
@@ -84,7 +84,7 @@
 
 newtype UpdateScalingParametersResponse = UpdateScalingParametersResponse
     { _usprScalingParameters :: ScalingParametersStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateScalingParametersResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudSearch/UpdateServiceAccessPolicies.hs b/gen/Network/AWS/CloudSearch/UpdateServiceAccessPolicies.hs
--- a/gen/Network/AWS/CloudSearch/UpdateServiceAccessPolicies.hs
+++ b/gen/Network/AWS/CloudSearch/UpdateServiceAccessPolicies.hs
@@ -53,7 +53,7 @@
 data UpdateServiceAccessPolicies = UpdateServiceAccessPolicies
     { _usapAccessPolicies :: Text
     , _usapDomainName     :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'UpdateServiceAccessPolicies' constructor.
 --
@@ -82,7 +82,7 @@
 
 newtype UpdateServiceAccessPoliciesResponse = UpdateServiceAccessPoliciesResponse
     { _usaprAccessPolicies :: AccessPoliciesStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateServiceAccessPoliciesResponse' constructor.
 --
