diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.0`
+`1.4.1`
 
 
 ## Description
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:               1.4.0
+version:               1.4.1
 synopsis:              Amazon Simple Notification Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -91,7 +91,7 @@
         , Network.AWS.SNS.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-sns-test
@@ -111,9 +111,9 @@
         , Test.AWS.SNS.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-sns == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-sns == 1.4.1.*
         , base
         , bytestring
         , tasty
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
@@ -101,6 +101,8 @@
 
 instance Hashable AddPermission
 
+instance NFData AddPermission
+
 instance ToHeaders AddPermission where
         toHeaders = const mempty
 
@@ -127,3 +129,5 @@
 addPermissionResponse
     :: AddPermissionResponse
 addPermissionResponse = AddPermissionResponse'
+
+instance NFData 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
@@ -104,6 +104,8 @@
 
 instance Hashable ConfirmSubscription
 
+instance NFData ConfirmSubscription
+
 instance ToHeaders ConfirmSubscription where
         toHeaders = const mempty
 
@@ -150,3 +152,5 @@
 -- | The response status code.
 csrsResponseStatus :: Lens' ConfirmSubscriptionResponse Int
 csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});
+
+instance NFData ConfirmSubscriptionResponse
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
@@ -117,6 +117,8 @@
 
 instance Hashable CreatePlatformApplication
 
+instance NFData CreatePlatformApplication
+
 instance ToHeaders CreatePlatformApplication where
         toHeaders = const mempty
 
@@ -164,3 +166,5 @@
 -- | The response status code.
 cparsResponseStatus :: Lens' CreatePlatformApplicationResponse Int
 cparsResponseStatus = lens _cparsResponseStatus (\ s a -> s{_cparsResponseStatus = a});
+
+instance NFData CreatePlatformApplicationResponse
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
@@ -129,6 +129,8 @@
 
 instance Hashable CreatePlatformEndpoint
 
+instance NFData CreatePlatformEndpoint
+
 instance ToHeaders CreatePlatformEndpoint where
         toHeaders = const mempty
 
@@ -181,3 +183,5 @@
 -- | The response status code.
 cpersResponseStatus :: Lens' CreatePlatformEndpointResponse Int
 cpersResponseStatus = lens _cpersResponseStatus (\ s a -> s{_cpersResponseStatus = a});
+
+instance NFData CreatePlatformEndpointResponse
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
@@ -86,6 +86,8 @@
 
 instance Hashable CreateTopic
 
+instance NFData CreateTopic
+
 instance ToHeaders CreateTopic where
         toHeaders = const mempty
 
@@ -130,3 +132,5 @@
 -- | The response status code.
 ctrsResponseStatus :: Lens' CreateTopicResponse Int
 ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});
+
+instance NFData CreateTopicResponse
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
@@ -72,6 +72,8 @@
 
 instance Hashable DeleteEndpoint
 
+instance NFData DeleteEndpoint
+
 instance ToHeaders DeleteEndpoint where
         toHeaders = const mempty
 
@@ -95,3 +97,5 @@
 deleteEndpointResponse
     :: DeleteEndpointResponse
 deleteEndpointResponse = DeleteEndpointResponse'
+
+instance NFData 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
@@ -74,6 +74,8 @@
 
 instance Hashable DeletePlatformApplication
 
+instance NFData DeletePlatformApplication
+
 instance ToHeaders DeletePlatformApplication where
         toHeaders = const mempty
 
@@ -99,3 +101,5 @@
 deletePlatformApplicationResponse
     :: DeletePlatformApplicationResponse
 deletePlatformApplicationResponse = DeletePlatformApplicationResponse'
+
+instance NFData 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
@@ -71,6 +71,8 @@
 
 instance Hashable DeleteTopic
 
+instance NFData DeleteTopic
+
 instance ToHeaders DeleteTopic where
         toHeaders = const mempty
 
@@ -94,3 +96,5 @@
 deleteTopicResponse
     :: DeleteTopicResponse
 deleteTopicResponse = DeleteTopicResponse'
+
+instance NFData 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
@@ -83,6 +83,8 @@
 
 instance Hashable GetEndpointAttributes
 
+instance NFData GetEndpointAttributes
+
 instance ToHeaders GetEndpointAttributes where
         toHeaders = const mempty
 
@@ -139,3 +141,5 @@
 -- | The response status code.
 gearsResponseStatus :: Lens' GetEndpointAttributesResponse Int
 gearsResponseStatus = lens _gearsResponseStatus (\ s a -> s{_gearsResponseStatus = a});
+
+instance NFData GetEndpointAttributesResponse
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
@@ -85,6 +85,8 @@
 
 instance Hashable GetPlatformApplicationAttributes
 
+instance NFData GetPlatformApplicationAttributes
+
 instance ToHeaders GetPlatformApplicationAttributes
          where
         toHeaders = const mempty
@@ -144,3 +146,6 @@
 -- | The response status code.
 gpaarsResponseStatus :: Lens' GetPlatformApplicationAttributesResponse Int
 gpaarsResponseStatus = lens _gpaarsResponseStatus (\ s a -> s{_gpaarsResponseStatus = a});
+
+instance NFData
+         GetPlatformApplicationAttributesResponse
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
@@ -80,6 +80,8 @@
 
 instance Hashable GetSubscriptionAttributes
 
+instance NFData GetSubscriptionAttributes
+
 instance ToHeaders GetSubscriptionAttributes where
         toHeaders = const mempty
 
@@ -137,3 +139,5 @@
 -- | The response status code.
 gsarsResponseStatus :: Lens' GetSubscriptionAttributesResponse Int
 gsarsResponseStatus = lens _gsarsResponseStatus (\ s a -> s{_gsarsResponseStatus = a});
+
+instance NFData GetSubscriptionAttributesResponse
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
@@ -81,6 +81,8 @@
 
 instance Hashable GetTopicAttributes
 
+instance NFData GetTopicAttributes
+
 instance ToHeaders GetTopicAttributes where
         toHeaders = const mempty
 
@@ -143,3 +145,5 @@
 -- | The response status code.
 gtarsResponseStatus :: Lens' GetTopicAttributesResponse Int
 gtarsResponseStatus = lens _gtarsResponseStatus (\ s a -> s{_gtarsResponseStatus = a});
+
+instance NFData GetTopicAttributesResponse
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
@@ -116,6 +116,8 @@
 
 instance Hashable ListEndpointsByPlatformApplication
 
+instance NFData ListEndpointsByPlatformApplication
+
 instance ToHeaders ListEndpointsByPlatformApplication
          where
         toHeaders = const mempty
@@ -176,3 +178,6 @@
 -- | The response status code.
 lebparsResponseStatus :: Lens' ListEndpointsByPlatformApplicationResponse Int
 lebparsResponseStatus = lens _lebparsResponseStatus (\ s a -> s{_lebparsResponseStatus = a});
+
+instance NFData
+         ListEndpointsByPlatformApplicationResponse
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
@@ -101,6 +101,8 @@
 
 instance Hashable ListPlatformApplications
 
+instance NFData ListPlatformApplications
+
 instance ToHeaders ListPlatformApplications where
         toHeaders = const mempty
 
@@ -156,3 +158,5 @@
 -- | The response status code.
 lparsResponseStatus :: Lens' ListPlatformApplicationsResponse Int
 lparsResponseStatus = lens _lparsResponseStatus (\ s a -> s{_lparsResponseStatus = a});
+
+instance NFData ListPlatformApplicationsResponse
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
@@ -93,6 +93,8 @@
 
 instance Hashable ListSubscriptions
 
+instance NFData ListSubscriptions
+
 instance ToHeaders ListSubscriptions where
         toHeaders = const mempty
 
@@ -146,3 +148,5 @@
 -- | The response status code.
 lsrsResponseStatus :: Lens' ListSubscriptionsResponse Int
 lsrsResponseStatus = lens _lsrsResponseStatus (\ s a -> s{_lsrsResponseStatus = a});
+
+instance NFData ListSubscriptionsResponse
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
@@ -105,6 +105,8 @@
 
 instance Hashable ListSubscriptionsByTopic
 
+instance NFData ListSubscriptionsByTopic
+
 instance ToHeaders ListSubscriptionsByTopic where
         toHeaders = const mempty
 
@@ -160,3 +162,5 @@
 -- | The response status code.
 lsbtrsResponseStatus :: Lens' ListSubscriptionsByTopicResponse Int
 lsbtrsResponseStatus = lens _lsbtrsResponseStatus (\ s a -> s{_lsbtrsResponseStatus = a});
+
+instance NFData ListSubscriptionsByTopicResponse
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
@@ -91,6 +91,8 @@
 
 instance Hashable ListTopics
 
+instance NFData ListTopics
+
 instance ToHeaders ListTopics where
         toHeaders = const mempty
 
@@ -144,3 +146,5 @@
 -- | The response status code.
 ltrsResponseStatus :: Lens' ListTopicsResponse Int
 ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a});
+
+instance NFData ListTopicsResponse
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
@@ -186,6 +186,8 @@
 
 instance Hashable Publish
 
+instance NFData Publish
+
 instance ToHeaders Publish where
         toHeaders = const mempty
 
@@ -239,3 +241,5 @@
 -- | The response status code.
 prsResponseStatus :: Lens' PublishResponse Int
 prsResponseStatus = lens _prsResponseStatus (\ s a -> s{_prsResponseStatus = a});
+
+instance NFData PublishResponse
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
@@ -80,6 +80,8 @@
 
 instance Hashable RemovePermission
 
+instance NFData RemovePermission
+
 instance ToHeaders RemovePermission where
         toHeaders = const mempty
 
@@ -103,3 +105,5 @@
 removePermissionResponse
     :: RemovePermissionResponse
 removePermissionResponse = RemovePermissionResponse'
+
+instance NFData 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
@@ -96,6 +96,8 @@
 
 instance Hashable SetEndpointAttributes
 
+instance NFData SetEndpointAttributes
+
 instance ToHeaders SetEndpointAttributes where
         toHeaders = const mempty
 
@@ -121,3 +123,5 @@
 setEndpointAttributesResponse
     :: SetEndpointAttributesResponse
 setEndpointAttributesResponse = SetEndpointAttributesResponse'
+
+instance NFData 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
@@ -105,6 +105,8 @@
 
 instance Hashable SetPlatformApplicationAttributes
 
+instance NFData SetPlatformApplicationAttributes
+
 instance ToHeaders SetPlatformApplicationAttributes
          where
         toHeaders = const mempty
@@ -136,3 +138,6 @@
     :: SetPlatformApplicationAttributesResponse
 setPlatformApplicationAttributesResponse =
     SetPlatformApplicationAttributesResponse'
+
+instance NFData
+         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
@@ -95,6 +95,8 @@
 
 instance Hashable SetSubscriptionAttributes
 
+instance NFData SetSubscriptionAttributes
+
 instance ToHeaders SetSubscriptionAttributes where
         toHeaders = const mempty
 
@@ -121,3 +123,5 @@
 setSubscriptionAttributesResponse
     :: SetSubscriptionAttributesResponse
 setSubscriptionAttributesResponse = SetSubscriptionAttributesResponse'
+
+instance NFData 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
@@ -93,6 +93,8 @@
 
 instance Hashable SetTopicAttributes
 
+instance NFData SetTopicAttributes
+
 instance ToHeaders SetTopicAttributes where
         toHeaders = const mempty
 
@@ -118,3 +120,5 @@
 setTopicAttributesResponse
     :: SetTopicAttributesResponse
 setTopicAttributesResponse = SetTopicAttributesResponse'
+
+instance NFData 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
@@ -122,6 +122,8 @@
 
 instance Hashable Subscribe
 
+instance NFData Subscribe
+
 instance ToHeaders Subscribe where
         toHeaders = const mempty
 
@@ -170,3 +172,5 @@
 -- | The response status code.
 srsResponseStatus :: Lens' SubscribeResponse Int
 srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});
+
+instance NFData SubscribeResponse
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
@@ -93,6 +93,8 @@
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 504) e = Just "gateway_timeout"
+      | has (hasStatus 502) e = Just "bad_gateway"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasStatus 500) e = Just "general_server_error"
       | has (hasStatus 509) e = Just "limit_exceeded"
diff --git a/gen/Network/AWS/SNS/Types/Product.hs b/gen/Network/AWS/SNS/Types/Product.hs
--- a/gen/Network/AWS/SNS/Types/Product.hs
+++ b/gen/Network/AWS/SNS/Types/Product.hs
@@ -61,6 +61,8 @@
 
 instance Hashable Endpoint
 
+instance NFData Endpoint
+
 -- | The user-specified message attribute value. For string data types, the
 -- value attribute has the same restrictions on the content as the message
 -- body. For more information, see
@@ -124,6 +126,8 @@
 
 instance Hashable MessageAttributeValue
 
+instance NFData MessageAttributeValue
+
 instance ToQuery MessageAttributeValue where
         toQuery MessageAttributeValue'{..}
           = mconcat
@@ -171,6 +175,8 @@
 
 instance Hashable PlatformApplication
 
+instance NFData PlatformApplication
+
 -- | A wrapper type for the attributes of an Amazon SNS subscription.
 --
 -- /See:/ 'subscription' smart constructor.
@@ -236,6 +242,8 @@
 
 instance Hashable Subscription
 
+instance NFData Subscription
+
 -- | A wrapper type for the topic\'s Amazon Resource Name (ARN). To retrieve
 -- a topic\'s attributes, use 'GetTopicAttributes'.
 --
@@ -264,3 +272,5 @@
         parseXML x = Topic' <$> (x .@? "TopicArn")
 
 instance Hashable Topic
+
+instance NFData Topic
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
@@ -76,6 +76,8 @@
 
 instance Hashable Unsubscribe
 
+instance NFData Unsubscribe
+
 instance ToHeaders Unsubscribe where
         toHeaders = const mempty
 
@@ -99,3 +101,5 @@
 unsubscribeResponse
     :: UnsubscribeResponse
 unsubscribeResponse = UnsubscribeResponse'
+
+instance NFData UnsubscribeResponse
