diff --git a/amazonka-cloudfront.cabal b/amazonka-cloudfront.cabal
--- a/amazonka-cloudfront.cabal
+++ b/amazonka-cloudfront.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudfront
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon CloudFront SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -69,5 +69,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/CloudFront/CreateCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs
@@ -51,7 +51,7 @@
 
 newtype CreateCloudFrontOriginAccessIdentity = CreateCloudFrontOriginAccessIdentity
     { _ccfoaiCloudFrontOriginAccessIdentityConfig :: CloudFrontOriginAccessIdentityConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateCloudFrontOriginAccessIdentity' constructor.
 --
@@ -75,7 +75,7 @@
     { _ccfoairCloudFrontOriginAccessIdentity :: Maybe CloudFrontOriginAccessIdentity
     , _ccfoairETag                           :: Maybe Text
     , _ccfoairLocation                       :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateCloudFrontOriginAccessIdentityResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/CreateDistribution.hs b/gen/Network/AWS/CloudFront/CreateDistribution.hs
--- a/gen/Network/AWS/CloudFront/CreateDistribution.hs
+++ b/gen/Network/AWS/CloudFront/CreateDistribution.hs
@@ -51,7 +51,7 @@
 
 newtype CreateDistribution = CreateDistribution
     { _cdDistributionConfig :: DistributionConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateDistribution' constructor.
 --
@@ -74,7 +74,7 @@
     { _cdrDistribution :: Maybe Distribution
     , _cdrETag         :: Maybe Text
     , _cdrLocation     :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateDistributionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/CreateInvalidation.hs b/gen/Network/AWS/CloudFront/CreateInvalidation.hs
--- a/gen/Network/AWS/CloudFront/CreateInvalidation.hs
+++ b/gen/Network/AWS/CloudFront/CreateInvalidation.hs
@@ -52,7 +52,7 @@
 data CreateInvalidation = CreateInvalidation
     { _ciDistributionId    :: Text
     , _ciInvalidationBatch :: InvalidationBatch
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateInvalidation' constructor.
 --
@@ -82,7 +82,7 @@
 data CreateInvalidationResponse = CreateInvalidationResponse
     { _cirInvalidation :: Maybe Invalidation
     , _cirLocation     :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateInvalidationResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs b/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs
@@ -51,7 +51,7 @@
 
 newtype CreateStreamingDistribution = CreateStreamingDistribution
     { _csdStreamingDistributionConfig :: StreamingDistributionConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateStreamingDistribution' constructor.
 --
@@ -75,7 +75,7 @@
     { _csdrETag                  :: Maybe Text
     , _csdrLocation              :: Maybe Text
     , _csdrStreamingDistribution :: Maybe StreamingDistribution
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateStreamingDistributionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs
@@ -49,7 +49,7 @@
 data DeleteCloudFrontOriginAccessIdentity = DeleteCloudFrontOriginAccessIdentity
     { _dcfoaiId      :: Text
     , _dcfoaiIfMatch :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteCloudFrontOriginAccessIdentity' constructor.
 --
@@ -76,7 +76,7 @@
 dcfoaiIfMatch = lens _dcfoaiIfMatch (\s a -> s { _dcfoaiIfMatch = a })
 
 data DeleteCloudFrontOriginAccessIdentityResponse = DeleteCloudFrontOriginAccessIdentityResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteCloudFrontOriginAccessIdentityResponse' constructor.
 deleteCloudFrontOriginAccessIdentityResponse :: DeleteCloudFrontOriginAccessIdentityResponse
diff --git a/gen/Network/AWS/CloudFront/DeleteDistribution.hs b/gen/Network/AWS/CloudFront/DeleteDistribution.hs
--- a/gen/Network/AWS/CloudFront/DeleteDistribution.hs
+++ b/gen/Network/AWS/CloudFront/DeleteDistribution.hs
@@ -49,7 +49,7 @@
 data DeleteDistribution = DeleteDistribution
     { _ddId      :: Text
     , _ddIfMatch :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteDistribution' constructor.
 --
@@ -76,7 +76,7 @@
 ddIfMatch = lens _ddIfMatch (\s a -> s { _ddIfMatch = a })
 
 data DeleteDistributionResponse = DeleteDistributionResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteDistributionResponse' constructor.
 deleteDistributionResponse :: DeleteDistributionResponse
diff --git a/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs b/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs
@@ -49,7 +49,7 @@
 data DeleteStreamingDistribution = DeleteStreamingDistribution
     { _dsdId      :: Text
     , _dsdIfMatch :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteStreamingDistribution' constructor.
 --
@@ -76,7 +76,7 @@
 dsdIfMatch = lens _dsdIfMatch (\s a -> s { _dsdIfMatch = a })
 
 data DeleteStreamingDistributionResponse = DeleteStreamingDistributionResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteStreamingDistributionResponse' constructor.
 deleteStreamingDistributionResponse :: DeleteStreamingDistributionResponse
diff --git a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs
@@ -50,7 +50,7 @@
 
 newtype GetCloudFrontOriginAccessIdentity = GetCloudFrontOriginAccessIdentity
     { _gcfoaiId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetCloudFrontOriginAccessIdentity' constructor.
 --
@@ -71,7 +71,7 @@
 data GetCloudFrontOriginAccessIdentityResponse = GetCloudFrontOriginAccessIdentityResponse
     { _gcfoairCloudFrontOriginAccessIdentity :: Maybe CloudFrontOriginAccessIdentity
     , _gcfoairETag                           :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetCloudFrontOriginAccessIdentityResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs
--- a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs
+++ b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs
@@ -50,7 +50,7 @@
 
 newtype GetCloudFrontOriginAccessIdentityConfig = GetCloudFrontOriginAccessIdentityConfig
     { _gcfoaicId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetCloudFrontOriginAccessIdentityConfig' constructor.
 --
@@ -71,7 +71,7 @@
 data GetCloudFrontOriginAccessIdentityConfigResponse = GetCloudFrontOriginAccessIdentityConfigResponse
     { _gcfoaicrCloudFrontOriginAccessIdentityConfig :: Maybe CloudFrontOriginAccessIdentityConfig
     , _gcfoaicrETag                                 :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetCloudFrontOriginAccessIdentityConfigResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/GetDistribution.hs b/gen/Network/AWS/CloudFront/GetDistribution.hs
--- a/gen/Network/AWS/CloudFront/GetDistribution.hs
+++ b/gen/Network/AWS/CloudFront/GetDistribution.hs
@@ -50,7 +50,7 @@
 
 newtype GetDistribution = GetDistribution
     { _gdId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetDistribution' constructor.
 --
@@ -71,7 +71,7 @@
 data GetDistributionResponse = GetDistributionResponse
     { _gdrDistribution :: Maybe Distribution
     , _gdrETag         :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetDistributionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/GetDistributionConfig.hs b/gen/Network/AWS/CloudFront/GetDistributionConfig.hs
--- a/gen/Network/AWS/CloudFront/GetDistributionConfig.hs
+++ b/gen/Network/AWS/CloudFront/GetDistributionConfig.hs
@@ -50,7 +50,7 @@
 
 newtype GetDistributionConfig = GetDistributionConfig
     { _gdcId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetDistributionConfig' constructor.
 --
@@ -71,7 +71,7 @@
 data GetDistributionConfigResponse = GetDistributionConfigResponse
     { _gdcrDistributionConfig :: Maybe DistributionConfig
     , _gdcrETag               :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetDistributionConfigResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/GetInvalidation.hs b/gen/Network/AWS/CloudFront/GetInvalidation.hs
--- a/gen/Network/AWS/CloudFront/GetInvalidation.hs
+++ b/gen/Network/AWS/CloudFront/GetInvalidation.hs
@@ -51,7 +51,7 @@
 data GetInvalidation = GetInvalidation
     { _giDistributionId :: Text
     , _giId             :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GetInvalidation' constructor.
 --
@@ -79,7 +79,7 @@
 
 newtype GetInvalidationResponse = GetInvalidationResponse
     { _girInvalidation :: Maybe Invalidation
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetInvalidationResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs b/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs
@@ -50,7 +50,7 @@
 
 newtype GetStreamingDistribution = GetStreamingDistribution
     { _gsdId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetStreamingDistribution' constructor.
 --
@@ -71,7 +71,7 @@
 data GetStreamingDistributionResponse = GetStreamingDistributionResponse
     { _gsdrETag                  :: Maybe Text
     , _gsdrStreamingDistribution :: Maybe StreamingDistribution
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetStreamingDistributionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs b/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs
--- a/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs
+++ b/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs
@@ -50,7 +50,7 @@
 
 newtype GetStreamingDistributionConfig = GetStreamingDistributionConfig
     { _gsdcId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetStreamingDistributionConfig' constructor.
 --
@@ -71,7 +71,7 @@
 data GetStreamingDistributionConfigResponse = GetStreamingDistributionConfigResponse
     { _gsdcrETag                        :: Maybe Text
     , _gsdcrStreamingDistributionConfig :: Maybe StreamingDistributionConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetStreamingDistributionConfigResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs b/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs
--- a/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs
+++ b/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs
@@ -51,7 +51,7 @@
 data ListCloudFrontOriginAccessIdentities = ListCloudFrontOriginAccessIdentities
     { _lcfoaiMarker   :: Maybe Text
     , _lcfoaiMaxItems :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListCloudFrontOriginAccessIdentities' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype ListCloudFrontOriginAccessIdentitiesResponse = ListCloudFrontOriginAccessIdentitiesResponse
     { _lcfoairCloudFrontOriginAccessIdentityList :: CloudFrontOriginAccessIdentityList
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListCloudFrontOriginAccessIdentitiesResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/ListDistributions.hs b/gen/Network/AWS/CloudFront/ListDistributions.hs
--- a/gen/Network/AWS/CloudFront/ListDistributions.hs
+++ b/gen/Network/AWS/CloudFront/ListDistributions.hs
@@ -51,7 +51,7 @@
 data ListDistributions = ListDistributions
     { _ldMarker   :: Maybe Text
     , _ldMaxItems :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListDistributions' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype ListDistributionsResponse = ListDistributionsResponse
     { _ldrDistributionList :: DistributionList
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListDistributionsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/ListInvalidations.hs b/gen/Network/AWS/CloudFront/ListInvalidations.hs
--- a/gen/Network/AWS/CloudFront/ListInvalidations.hs
+++ b/gen/Network/AWS/CloudFront/ListInvalidations.hs
@@ -53,7 +53,7 @@
     { _liDistributionId :: Text
     , _liMarker         :: Maybe Text
     , _liMaxItems       :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListInvalidations' constructor.
 --
@@ -93,7 +93,7 @@
 
 newtype ListInvalidationsResponse = ListInvalidationsResponse
     { _lirInvalidationList :: InvalidationList
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListInvalidationsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs b/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs
--- a/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs
+++ b/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs
@@ -51,7 +51,7 @@
 data ListStreamingDistributions = ListStreamingDistributions
     { _lsdMarker   :: Maybe Text
     , _lsdMaxItems :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListStreamingDistributions' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype ListStreamingDistributionsResponse = ListStreamingDistributionsResponse
     { _lsdrStreamingDistributionList :: StreamingDistributionList
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListStreamingDistributionsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/Types.hs b/gen/Network/AWS/CloudFront/Types.hs
--- a/gen/Network/AWS/CloudFront/Types.hs
+++ b/gen/Network/AWS/CloudFront/Types.hs
@@ -462,7 +462,7 @@
     , _cfoailMaxItems    :: Int
     , _cfoailNextMarker  :: Maybe Text
     , _cfoailQuantity    :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CloudFrontOriginAccessIdentityList' constructor.
 --
@@ -550,7 +550,7 @@
     , _iId                :: Text
     , _iInvalidationBatch :: InvalidationBatch
     , _iStatus            :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Invalidation' constructor.
 --
@@ -614,7 +614,7 @@
 data SSLSupportMethod
     = SniOnly -- ^ sni-only
     | Vip     -- ^ vip
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable SSLSupportMethod
 
@@ -644,7 +644,7 @@
     { _amCachedMethods :: Maybe CachedMethods
     , _amItems         :: List "Method" Method
     , _amQuantity      :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AllowedMethods' constructor.
 --
@@ -695,7 +695,7 @@
 data CloudFrontOriginAccessIdentityConfig = CloudFrontOriginAccessIdentityConfig
     { _cfoaicCallerReference :: Text
     , _cfoaicComment         :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CloudFrontOriginAccessIdentityConfig' constructor.
 --
@@ -750,7 +750,7 @@
     , _oDomainName         :: Text
     , _oId                 :: Text
     , _oS3OriginConfig     :: Maybe S3OriginConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Origin' constructor.
 --
@@ -819,7 +819,7 @@
     = AllowAll        -- ^ allow-all
     | HttpsOnly       -- ^ https-only
     | RedirectToHttps -- ^ redirect-to-https
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ViewerProtocolPolicy
 
@@ -854,7 +854,7 @@
     , _sdlMaxItems    :: Int
     , _sdlNextMarker  :: Maybe Text
     , _sdlQuantity    :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StreamingDistributionList' constructor.
 --
@@ -945,7 +945,7 @@
     , _sdcPriceClass      :: PriceClass
     , _sdcS3Origin        :: S3Origin
     , _sdcTrustedSigners  :: TrustedSigners
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StreamingDistributionConfig' constructor.
 --
@@ -1075,7 +1075,7 @@
 data Signer = Signer
     { _sAwsAccountNumber :: Maybe Text
     , _sKeyPairIds       :: Maybe KeyPairIds
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Signer' constructor.
 --
@@ -1118,7 +1118,7 @@
 data CookiePreference = CookiePreference
     { _cpForward          :: ItemSelection
     , _cpWhitelistedNames :: Maybe CookieNames
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CookiePreference' constructor.
 --
@@ -1163,7 +1163,7 @@
 data OriginProtocolPolicy
     = HttpOnly    -- ^ http-only
     | MatchViewer -- ^ match-viewer
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable OriginProtocolPolicy
 
@@ -1197,7 +1197,7 @@
     , _dInProgressInvalidationBatches :: Int
     , _dLastModifiedTime              :: ISO8601
     , _dStatus                        :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Distribution' constructor.
 --
@@ -1306,7 +1306,7 @@
     { _cfoaisComment           :: Text
     , _cfoaisId                :: Text
     , _cfoaisS3CanonicalUserId :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CloudFrontOriginAccessIdentitySummary' constructor.
 --
@@ -1368,7 +1368,7 @@
     , _sdsS3Origin         :: S3Origin
     , _sdsStatus           :: Text
     , _sdsTrustedSigners   :: TrustedSigners
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StreamingDistributionSummary' constructor.
 --
@@ -1507,7 +1507,7 @@
     { _cocHTTPPort             :: Int
     , _cocHTTPSPort            :: Int
     , _cocOriginProtocolPolicy :: OriginProtocolPolicy
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CustomOriginConfig' constructor.
 --
@@ -1558,7 +1558,7 @@
 data Aliases = Aliases
     { _aItems    :: List "CNAME" Text
     , _aQuantity :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Aliases' constructor.
 --
@@ -1598,7 +1598,7 @@
 data InvalidationBatch = InvalidationBatch
     { _ibCallerReference :: Text
     , _ibPaths           :: Paths
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'InvalidationBatch' constructor.
 --
@@ -1654,7 +1654,7 @@
     { _isCreateTime :: ISO8601
     , _isId         :: Text
     , _isStatus     :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'InvalidationSummary' constructor.
 --
@@ -1714,7 +1714,7 @@
     , _dcPriceClass           :: PriceClass
     , _dcRestrictions         :: Maybe Restrictions
     , _dcViewerCertificate    :: Maybe ViewerCertificate
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DistributionConfig' constructor.
 --
@@ -1896,7 +1896,7 @@
     , _cbTargetOriginId       :: Text
     , _cbTrustedSigners       :: TrustedSigners
     , _cbViewerProtocolPolicy :: ViewerProtocolPolicy
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CacheBehavior' constructor.
 --
@@ -2031,7 +2031,7 @@
     , _dlMaxItems    :: Int
     , _dlNextMarker  :: Maybe Text
     , _dlQuantity    :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DistributionList' constructor.
 --
@@ -2114,7 +2114,7 @@
 data KeyPairIds = KeyPairIds
     { _kpiItems    :: List "KeyPairId" Text
     , _kpiQuantity :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'KeyPairIds' constructor.
 --
@@ -2155,7 +2155,7 @@
     = PriceClass100 -- ^ PriceClass_100
     | PriceClass200 -- ^ PriceClass_200
     | PriceClassAll -- ^ PriceClass_All
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable PriceClass
 
@@ -2186,7 +2186,7 @@
 data CustomErrorResponses = CustomErrorResponses
     { _cerItems    :: List "CustomErrorResponse" CustomErrorResponse
     , _cerQuantity :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CustomErrorResponses' constructor.
 --
@@ -2225,7 +2225,7 @@
 
 newtype S3OriginConfig = S3OriginConfig
     { _socOriginAccessIdentity :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'S3OriginConfig' constructor.
 --
@@ -2267,7 +2267,7 @@
     { _grItems           :: List "Location" Text
     , _grQuantity        :: Int
     , _grRestrictionType :: GeoRestrictionType
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GeoRestriction' constructor.
 --
@@ -2333,7 +2333,7 @@
 data S3Origin = S3Origin
     { _soDomainName           :: Text
     , _soOriginAccessIdentity :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'S3Origin' constructor.
 --
@@ -2374,7 +2374,7 @@
 data Headers = Headers
     { _hItems    :: List "Name" Text
     , _hQuantity :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Headers' constructor.
 --
@@ -2420,7 +2420,7 @@
 data CachedMethods = CachedMethods
     { _cmItems    :: List "Method" Method
     , _cmQuantity :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CachedMethods' constructor.
 --
@@ -2464,7 +2464,7 @@
     , _vcIAMCertificateId             :: Maybe Text
     , _vcMinimumProtocolVersion       :: Maybe MinimumProtocolVersion
     , _vcSSLSupportMethod             :: Maybe SSLSupportMethod
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ViewerCertificate' constructor.
 --
@@ -2552,7 +2552,7 @@
 
 newtype Restrictions = Restrictions
     { _rGeoRestriction :: GeoRestriction
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Restrictions' constructor.
 --
@@ -2581,7 +2581,7 @@
 data Origins = Origins
     { _oItems    :: List1 "Origin" Origin
     , _oQuantity :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Origins' constructor.
 --
@@ -2626,7 +2626,7 @@
     | Patch   -- ^ PATCH
     | Post    -- ^ POST
     | Put     -- ^ PUT
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable Method
 
@@ -2665,7 +2665,7 @@
 data MinimumProtocolVersion
     = SSLv3 -- ^ SSLv3
     | TLSv1 -- ^ TLSv1
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable MinimumProtocolVersion
 
@@ -2695,7 +2695,7 @@
     { _fvCookies     :: CookiePreference
     , _fvHeaders     :: Maybe Headers
     , _fvQueryString :: Bool
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ForwardedValues' constructor.
 --
@@ -2748,7 +2748,7 @@
     { _tsEnabled  :: Bool
     , _tsItems    :: List "AwsAccountNumber" Text
     , _tsQuantity :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'TrustedSigners' constructor.
 --
@@ -2800,7 +2800,7 @@
     = All       -- ^ all
     | None      -- ^ none
     | Whitelist -- ^ whitelist
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ItemSelection
 
@@ -2832,7 +2832,7 @@
     { _slcBucket  :: Text
     , _slcEnabled :: Bool
     , _slcPrefix  :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'StreamingLoggingConfig' constructor.
 --
@@ -2891,7 +2891,7 @@
 data CookieNames = CookieNames
     { _cnItems    :: List "Name" Text
     , _cnQuantity :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CookieNames' constructor.
 --
@@ -2933,7 +2933,7 @@
     , _cerErrorCode          :: Int
     , _cerResponseCode       :: Maybe Text
     , _cerResponsePagePath   :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CustomErrorResponse' constructor.
 --
@@ -3002,7 +3002,7 @@
 data CacheBehaviors = CacheBehaviors
     { _cbItems    :: List "CacheBehavior" CacheBehavior
     , _cbQuantity :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CacheBehaviors' constructor.
 --
@@ -3047,7 +3047,7 @@
     , _dcbTargetOriginId       :: Text
     , _dcbTrustedSigners       :: TrustedSigners
     , _dcbViewerProtocolPolicy :: ViewerProtocolPolicy
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DefaultCacheBehavior' constructor.
 --
@@ -3169,7 +3169,7 @@
     , _ilMaxItems    :: Int
     , _ilNextMarker  :: Maybe Text
     , _ilQuantity    :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'InvalidationList' constructor.
 --
@@ -3258,7 +3258,7 @@
     , _sdLastModifiedTime            :: Maybe ISO8601
     , _sdStatus                      :: Text
     , _sdStreamingDistributionConfig :: StreamingDistributionConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StreamingDistribution' constructor.
 --
@@ -3354,7 +3354,7 @@
 data Paths = Paths
     { _pItems    :: List "Path" Text
     , _pQuantity :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Paths' constructor.
 --
@@ -3395,7 +3395,7 @@
     { _cfoaiCloudFrontOriginAccessIdentityConfig :: Maybe CloudFrontOriginAccessIdentityConfig
     , _cfoaiId                                   :: Text
     , _cfoaiS3CanonicalUserId                    :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CloudFrontOriginAccessIdentity' constructor.
 --
@@ -3452,7 +3452,7 @@
     { _atsEnabled  :: Bool
     , _atsItems    :: List "Signer" Signer
     , _atsQuantity :: Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ActiveTrustedSigners' constructor.
 --
@@ -3518,7 +3518,7 @@
     , _dsRestrictions         :: Restrictions
     , _dsStatus               :: Text
     , _dsViewerCertificate    :: ViewerCertificate
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DistributionSummary' constructor.
 --
@@ -3688,7 +3688,7 @@
     = GRTBlacklist -- ^ blacklist
     | GRTNone      -- ^ none
     | GRTWhitelist -- ^ whitelist
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable GeoRestrictionType
 
@@ -3721,7 +3721,7 @@
     , _lcEnabled        :: Bool
     , _lcIncludeCookies :: Bool
     , _lcPrefix         :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'LoggingConfig' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs
@@ -54,7 +54,7 @@
     { _ucfoaiCloudFrontOriginAccessIdentityConfig :: CloudFrontOriginAccessIdentityConfig
     , _ucfoaiId                                   :: Text
     , _ucfoaiIfMatch                              :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateCloudFrontOriginAccessIdentity' constructor.
 --
@@ -93,7 +93,7 @@
 data UpdateCloudFrontOriginAccessIdentityResponse = UpdateCloudFrontOriginAccessIdentityResponse
     { _ucfoairCloudFrontOriginAccessIdentity :: Maybe CloudFrontOriginAccessIdentity
     , _ucfoairETag                           :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateCloudFrontOriginAccessIdentityResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/UpdateDistribution.hs b/gen/Network/AWS/CloudFront/UpdateDistribution.hs
--- a/gen/Network/AWS/CloudFront/UpdateDistribution.hs
+++ b/gen/Network/AWS/CloudFront/UpdateDistribution.hs
@@ -54,7 +54,7 @@
     { _udDistributionConfig :: DistributionConfig
     , _udId                 :: Text
     , _udIfMatch            :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateDistribution' constructor.
 --
@@ -92,7 +92,7 @@
 data UpdateDistributionResponse = UpdateDistributionResponse
     { _udrDistribution :: Maybe Distribution
     , _udrETag         :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateDistributionResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs b/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs
@@ -54,7 +54,7 @@
     { _usdId                          :: Text
     , _usdIfMatch                     :: Maybe Text
     , _usdStreamingDistributionConfig :: StreamingDistributionConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateStreamingDistribution' constructor.
 --
@@ -93,7 +93,7 @@
 data UpdateStreamingDistributionResponse = UpdateStreamingDistributionResponse
     { _usdrETag                  :: Maybe Text
     , _usdrStreamingDistribution :: Maybe StreamingDistribution
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateStreamingDistributionResponse' constructor.
 --
