diff --git a/amazonka-sns.cabal b/amazonka-sns.cabal
--- a/amazonka-sns.cabal
+++ b/amazonka-sns.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-sns
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon Simple Notification Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -72,5 +72,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/SNS/AddPermission.hs b/gen/Network/AWS/SNS/AddPermission.hs
--- a/gen/Network/AWS/SNS/AddPermission.hs
+++ b/gen/Network/AWS/SNS/AddPermission.hs
@@ -54,7 +54,7 @@
     , _apActionName   :: List "member" Text
     , _apLabel        :: Text
     , _apTopicArn     :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'AddPermission' constructor.
 --
@@ -99,7 +99,7 @@
 apTopicArn = lens _apTopicArn (\s a -> s { _apTopicArn = a })
 
 data AddPermissionResponse = AddPermissionResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'AddPermissionResponse' constructor.
 addPermissionResponse :: AddPermissionResponse
diff --git a/gen/Network/AWS/SNS/ConfirmSubscription.hs b/gen/Network/AWS/SNS/ConfirmSubscription.hs
--- a/gen/Network/AWS/SNS/ConfirmSubscription.hs
+++ b/gen/Network/AWS/SNS/ConfirmSubscription.hs
@@ -56,7 +56,7 @@
     { _csAuthenticateOnUnsubscribe :: Maybe Text
     , _csToken                     :: Text
     , _csTopicArn                  :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ConfirmSubscription' constructor.
 --
@@ -96,7 +96,7 @@
 
 newtype ConfirmSubscriptionResponse = ConfirmSubscriptionResponse
     { _csrSubscriptionArn :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'ConfirmSubscriptionResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/CreatePlatformApplication.hs b/gen/Network/AWS/SNS/CreatePlatformApplication.hs
--- a/gen/Network/AWS/SNS/CreatePlatformApplication.hs
+++ b/gen/Network/AWS/SNS/CreatePlatformApplication.hs
@@ -64,7 +64,7 @@
     { _cpaAttributes :: EMap "entry" "key" "value" Text Text
     , _cpaName       :: Text
     , _cpaPlatform   :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreatePlatformApplication' constructor.
 --
@@ -103,7 +103,7 @@
 
 newtype CreatePlatformApplicationResponse = CreatePlatformApplicationResponse
     { _cparPlatformApplicationArn :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'CreatePlatformApplicationResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/CreatePlatformEndpoint.hs b/gen/Network/AWS/SNS/CreatePlatformEndpoint.hs
--- a/gen/Network/AWS/SNS/CreatePlatformEndpoint.hs
+++ b/gen/Network/AWS/SNS/CreatePlatformEndpoint.hs
@@ -68,7 +68,7 @@
     , _cpeCustomUserData         :: Maybe Text
     , _cpePlatformApplicationArn :: Text
     , _cpeToken                  :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreatePlatformEndpoint' constructor.
 --
@@ -119,7 +119,7 @@
 
 newtype CreatePlatformEndpointResponse = CreatePlatformEndpointResponse
     { _cperEndpointArn :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'CreatePlatformEndpointResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/CreateTopic.hs b/gen/Network/AWS/SNS/CreateTopic.hs
--- a/gen/Network/AWS/SNS/CreateTopic.hs
+++ b/gen/Network/AWS/SNS/CreateTopic.hs
@@ -52,7 +52,7 @@
 
 newtype CreateTopic = CreateTopic
     { _ctName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'CreateTopic' constructor.
 --
@@ -76,7 +76,7 @@
 
 newtype CreateTopicResponse = CreateTopicResponse
     { _ctrTopicArn :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'CreateTopicResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/DeleteEndpoint.hs b/gen/Network/AWS/SNS/DeleteEndpoint.hs
--- a/gen/Network/AWS/SNS/DeleteEndpoint.hs
+++ b/gen/Network/AWS/SNS/DeleteEndpoint.hs
@@ -48,7 +48,7 @@
 
 newtype DeleteEndpoint = DeleteEndpoint
     { _deEndpointArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteEndpoint' constructor.
 --
@@ -67,7 +67,7 @@
 deEndpointArn = lens _deEndpointArn (\s a -> s { _deEndpointArn = a })
 
 data DeleteEndpointResponse = DeleteEndpointResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteEndpointResponse' constructor.
 deleteEndpointResponse :: DeleteEndpointResponse
diff --git a/gen/Network/AWS/SNS/DeletePlatformApplication.hs b/gen/Network/AWS/SNS/DeletePlatformApplication.hs
--- a/gen/Network/AWS/SNS/DeletePlatformApplication.hs
+++ b/gen/Network/AWS/SNS/DeletePlatformApplication.hs
@@ -48,7 +48,7 @@
 
 newtype DeletePlatformApplication = DeletePlatformApplication
     { _dpaPlatformApplicationArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeletePlatformApplication' constructor.
 --
@@ -69,7 +69,7 @@
         (\s a -> s { _dpaPlatformApplicationArn = a })
 
 data DeletePlatformApplicationResponse = DeletePlatformApplicationResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeletePlatformApplicationResponse' constructor.
 deletePlatformApplicationResponse :: DeletePlatformApplicationResponse
diff --git a/gen/Network/AWS/SNS/DeleteTopic.hs b/gen/Network/AWS/SNS/DeleteTopic.hs
--- a/gen/Network/AWS/SNS/DeleteTopic.hs
+++ b/gen/Network/AWS/SNS/DeleteTopic.hs
@@ -50,7 +50,7 @@
 
 newtype DeleteTopic = DeleteTopic
     { _dtTopicArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteTopic' constructor.
 --
@@ -69,7 +69,7 @@
 dtTopicArn = lens _dtTopicArn (\s a -> s { _dtTopicArn = a })
 
 data DeleteTopicResponse = DeleteTopicResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteTopicResponse' constructor.
 deleteTopicResponse :: DeleteTopicResponse
diff --git a/gen/Network/AWS/SNS/GetEndpointAttributes.hs b/gen/Network/AWS/SNS/GetEndpointAttributes.hs
--- a/gen/Network/AWS/SNS/GetEndpointAttributes.hs
+++ b/gen/Network/AWS/SNS/GetEndpointAttributes.hs
@@ -50,7 +50,7 @@
 
 newtype GetEndpointAttributes = GetEndpointAttributes
     { _geaEndpointArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetEndpointAttributes' constructor.
 --
@@ -70,7 +70,7 @@
 
 newtype GetEndpointAttributesResponse = GetEndpointAttributesResponse
     { _gearAttributes :: EMap "entry" "key" "value" Text Text
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'GetEndpointAttributesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/GetPlatformApplicationAttributes.hs b/gen/Network/AWS/SNS/GetPlatformApplicationAttributes.hs
--- a/gen/Network/AWS/SNS/GetPlatformApplicationAttributes.hs
+++ b/gen/Network/AWS/SNS/GetPlatformApplicationAttributes.hs
@@ -50,7 +50,7 @@
 
 newtype GetPlatformApplicationAttributes = GetPlatformApplicationAttributes
     { _gpaaPlatformApplicationArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetPlatformApplicationAttributes' constructor.
 --
@@ -72,7 +72,7 @@
 
 newtype GetPlatformApplicationAttributesResponse = GetPlatformApplicationAttributesResponse
     { _gpaarAttributes :: EMap "entry" "key" "value" Text Text
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'GetPlatformApplicationAttributesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/GetSubscriptionAttributes.hs b/gen/Network/AWS/SNS/GetSubscriptionAttributes.hs
--- a/gen/Network/AWS/SNS/GetSubscriptionAttributes.hs
+++ b/gen/Network/AWS/SNS/GetSubscriptionAttributes.hs
@@ -49,7 +49,7 @@
 
 newtype GetSubscriptionAttributes = GetSubscriptionAttributes
     { _gsaSubscriptionArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetSubscriptionAttributes' constructor.
 --
@@ -70,7 +70,7 @@
 
 newtype GetSubscriptionAttributesResponse = GetSubscriptionAttributesResponse
     { _gsarAttributes :: EMap "entry" "key" "value" Text Text
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'GetSubscriptionAttributesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/GetTopicAttributes.hs b/gen/Network/AWS/SNS/GetTopicAttributes.hs
--- a/gen/Network/AWS/SNS/GetTopicAttributes.hs
+++ b/gen/Network/AWS/SNS/GetTopicAttributes.hs
@@ -50,7 +50,7 @@
 
 newtype GetTopicAttributes = GetTopicAttributes
     { _gtaTopicArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetTopicAttributes' constructor.
 --
@@ -70,7 +70,7 @@
 
 newtype GetTopicAttributesResponse = GetTopicAttributesResponse
     { _gtarAttributes :: EMap "entry" "key" "value" Text Text
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'GetTopicAttributesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/ListEndpointsByPlatformApplication.hs b/gen/Network/AWS/SNS/ListEndpointsByPlatformApplication.hs
--- a/gen/Network/AWS/SNS/ListEndpointsByPlatformApplication.hs
+++ b/gen/Network/AWS/SNS/ListEndpointsByPlatformApplication.hs
@@ -57,7 +57,7 @@
 data ListEndpointsByPlatformApplication = ListEndpointsByPlatformApplication
     { _lebpaNextToken              :: Maybe Text
     , _lebpaPlatformApplicationArn :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListEndpointsByPlatformApplication' constructor.
 --
@@ -89,7 +89,7 @@
 data ListEndpointsByPlatformApplicationResponse = ListEndpointsByPlatformApplicationResponse
     { _lebparEndpoints :: List "member" Endpoint
     , _lebparNextToken :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListEndpointsByPlatformApplicationResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/ListPlatformApplications.hs b/gen/Network/AWS/SNS/ListPlatformApplications.hs
--- a/gen/Network/AWS/SNS/ListPlatformApplications.hs
+++ b/gen/Network/AWS/SNS/ListPlatformApplications.hs
@@ -56,7 +56,7 @@
 
 newtype ListPlatformApplications = ListPlatformApplications
     { _lpaNextToken :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'ListPlatformApplications' constructor.
 --
@@ -77,7 +77,7 @@
 data ListPlatformApplicationsResponse = ListPlatformApplicationsResponse
     { _lparNextToken            :: Maybe Text
     , _lparPlatformApplications :: List "member" PlatformApplication
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListPlatformApplicationsResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/ListSubscriptions.hs b/gen/Network/AWS/SNS/ListSubscriptions.hs
--- a/gen/Network/AWS/SNS/ListSubscriptions.hs
+++ b/gen/Network/AWS/SNS/ListSubscriptions.hs
@@ -53,7 +53,7 @@
 
 newtype ListSubscriptions = ListSubscriptions
     { _lsNextToken :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'ListSubscriptions' constructor.
 --
@@ -73,7 +73,7 @@
 data ListSubscriptionsResponse = ListSubscriptionsResponse
     { _lsrNextToken     :: Maybe Text
     , _lsrSubscriptions :: List "member" Subscription
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListSubscriptionsResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/ListSubscriptionsByTopic.hs b/gen/Network/AWS/SNS/ListSubscriptionsByTopic.hs
--- a/gen/Network/AWS/SNS/ListSubscriptionsByTopic.hs
+++ b/gen/Network/AWS/SNS/ListSubscriptionsByTopic.hs
@@ -53,7 +53,7 @@
 data ListSubscriptionsByTopic = ListSubscriptionsByTopic
     { _lsbtNextToken :: Maybe Text
     , _lsbtTopicArn  :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListSubscriptionsByTopic' constructor.
 --
@@ -81,7 +81,7 @@
 data ListSubscriptionsByTopicResponse = ListSubscriptionsByTopicResponse
     { _lsbtrNextToken     :: Maybe Text
     , _lsbtrSubscriptions :: List "member" Subscription
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListSubscriptionsByTopicResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/ListTopics.hs b/gen/Network/AWS/SNS/ListTopics.hs
--- a/gen/Network/AWS/SNS/ListTopics.hs
+++ b/gen/Network/AWS/SNS/ListTopics.hs
@@ -52,7 +52,7 @@
 
 newtype ListTopics = ListTopics
     { _ltNextToken :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'ListTopics' constructor.
 --
@@ -72,7 +72,7 @@
 data ListTopicsResponse = ListTopicsResponse
     { _ltrNextToken :: Maybe Text
     , _ltrTopics    :: List "member" Topic
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListTopicsResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/Publish.hs b/gen/Network/AWS/SNS/Publish.hs
--- a/gen/Network/AWS/SNS/Publish.hs
+++ b/gen/Network/AWS/SNS/Publish.hs
@@ -67,7 +67,7 @@
     , _pSubject           :: Maybe Text
     , _pTargetArn         :: Maybe Text
     , _pTopicArn          :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Publish' constructor.
 --
@@ -166,7 +166,7 @@
 
 newtype PublishResponse = PublishResponse
     { _prMessageId :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'PublishResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/RemovePermission.hs b/gen/Network/AWS/SNS/RemovePermission.hs
--- a/gen/Network/AWS/SNS/RemovePermission.hs
+++ b/gen/Network/AWS/SNS/RemovePermission.hs
@@ -49,7 +49,7 @@
 data RemovePermission = RemovePermission
     { _rpLabel    :: Text
     , _rpTopicArn :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'RemovePermission' constructor.
 --
@@ -76,7 +76,7 @@
 rpTopicArn = lens _rpTopicArn (\s a -> s { _rpTopicArn = a })
 
 data RemovePermissionResponse = RemovePermissionResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'RemovePermissionResponse' constructor.
 removePermissionResponse :: RemovePermissionResponse
diff --git a/gen/Network/AWS/SNS/SetEndpointAttributes.hs b/gen/Network/AWS/SNS/SetEndpointAttributes.hs
--- a/gen/Network/AWS/SNS/SetEndpointAttributes.hs
+++ b/gen/Network/AWS/SNS/SetEndpointAttributes.hs
@@ -50,7 +50,7 @@
 data SetEndpointAttributes = SetEndpointAttributes
     { _seaAttributes  :: EMap "entry" "key" "value" Text Text
     , _seaEndpointArn :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SetEndpointAttributes' constructor.
 --
@@ -87,7 +87,7 @@
 seaEndpointArn = lens _seaEndpointArn (\s a -> s { _seaEndpointArn = a })
 
 data SetEndpointAttributesResponse = SetEndpointAttributesResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetEndpointAttributesResponse' constructor.
 setEndpointAttributesResponse :: SetEndpointAttributesResponse
diff --git a/gen/Network/AWS/SNS/SetPlatformApplicationAttributes.hs b/gen/Network/AWS/SNS/SetPlatformApplicationAttributes.hs
--- a/gen/Network/AWS/SNS/SetPlatformApplicationAttributes.hs
+++ b/gen/Network/AWS/SNS/SetPlatformApplicationAttributes.hs
@@ -50,7 +50,7 @@
 data SetPlatformApplicationAttributes = SetPlatformApplicationAttributes
     { _spaaAttributes             :: EMap "entry" "key" "value" Text Text
     , _spaaPlatformApplicationArn :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SetPlatformApplicationAttributes' constructor.
 --
@@ -91,7 +91,7 @@
         (\s a -> s { _spaaPlatformApplicationArn = a })
 
 data SetPlatformApplicationAttributesResponse = SetPlatformApplicationAttributesResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetPlatformApplicationAttributesResponse' constructor.
 setPlatformApplicationAttributesResponse :: SetPlatformApplicationAttributesResponse
diff --git a/gen/Network/AWS/SNS/SetSubscriptionAttributes.hs b/gen/Network/AWS/SNS/SetSubscriptionAttributes.hs
--- a/gen/Network/AWS/SNS/SetSubscriptionAttributes.hs
+++ b/gen/Network/AWS/SNS/SetSubscriptionAttributes.hs
@@ -51,7 +51,7 @@
     { _ssaAttributeName   :: Text
     , _ssaAttributeValue  :: Maybe Text
     , _ssaSubscriptionArn :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SetSubscriptionAttributes' constructor.
 --
@@ -90,7 +90,7 @@
     lens _ssaSubscriptionArn (\s a -> s { _ssaSubscriptionArn = a })
 
 data SetSubscriptionAttributesResponse = SetSubscriptionAttributesResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetSubscriptionAttributesResponse' constructor.
 setSubscriptionAttributesResponse :: SetSubscriptionAttributesResponse
diff --git a/gen/Network/AWS/SNS/SetTopicAttributes.hs b/gen/Network/AWS/SNS/SetTopicAttributes.hs
--- a/gen/Network/AWS/SNS/SetTopicAttributes.hs
+++ b/gen/Network/AWS/SNS/SetTopicAttributes.hs
@@ -51,7 +51,7 @@
     { _staAttributeName  :: Text
     , _staAttributeValue :: Maybe Text
     , _staTopicArn       :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SetTopicAttributes' constructor.
 --
@@ -89,7 +89,7 @@
 staTopicArn = lens _staTopicArn (\s a -> s { _staTopicArn = a })
 
 data SetTopicAttributesResponse = SetTopicAttributesResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetTopicAttributesResponse' constructor.
 setTopicAttributesResponse :: SetTopicAttributesResponse
diff --git a/gen/Network/AWS/SNS/Subscribe.hs b/gen/Network/AWS/SNS/Subscribe.hs
--- a/gen/Network/AWS/SNS/Subscribe.hs
+++ b/gen/Network/AWS/SNS/Subscribe.hs
@@ -55,7 +55,7 @@
     { _sEndpoint :: Maybe Text
     , _sProtocol :: Text
     , _sTopicArn :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Subscribe' constructor.
 --
@@ -105,7 +105,7 @@
 
 newtype SubscribeResponse = SubscribeResponse
     { _srSubscriptionArn :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'SubscribeResponse' constructor.
 --
diff --git a/gen/Network/AWS/SNS/Types.hs b/gen/Network/AWS/SNS/Types.hs
--- a/gen/Network/AWS/SNS/Types.hs
+++ b/gen/Network/AWS/SNS/Types.hs
@@ -118,7 +118,7 @@
 
 newtype Topic = Topic
     { _tTopicArn :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'Topic' constructor.
 --
@@ -148,7 +148,7 @@
     { _mavBinaryValue :: Maybe Base64
     , _mavDataType    :: Text
     , _mavStringValue :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'MessageAttributeValue' constructor.
 --
@@ -198,7 +198,7 @@
 data PlatformApplication = PlatformApplication
     { _paAttributes             :: EMap "entry" "key" "value" Text Text
     , _paPlatformApplicationArn :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PlatformApplication' constructor.
 --
@@ -241,7 +241,7 @@
     , _s1Protocol        :: Maybe Text
     , _s1SubscriptionArn :: Maybe Text
     , _s1TopicArn        :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Subscription' constructor.
 --
@@ -307,7 +307,7 @@
 data Endpoint = Endpoint
     { _eAttributes  :: EMap "entry" "key" "value" Text Text
     , _eEndpointArn :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Endpoint' constructor.
 --
diff --git a/gen/Network/AWS/SNS/Unsubscribe.hs b/gen/Network/AWS/SNS/Unsubscribe.hs
--- a/gen/Network/AWS/SNS/Unsubscribe.hs
+++ b/gen/Network/AWS/SNS/Unsubscribe.hs
@@ -53,7 +53,7 @@
 
 newtype Unsubscribe = Unsubscribe
     { _uSubscriptionArn :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'Unsubscribe' constructor.
 --
@@ -72,7 +72,7 @@
 uSubscriptionArn = lens _uSubscriptionArn (\s a -> s { _uSubscriptionArn = a })
 
 data UnsubscribeResponse = UnsubscribeResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'UnsubscribeResponse' constructor.
 unsubscribeResponse :: UnsubscribeResponse
