diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.5`
+`1.5.0`
 
 
 ## Description
diff --git a/amazonka-sns.cabal b/amazonka-sns.cabal
--- a/amazonka-sns.cabal
+++ b/amazonka-sns.cabal
@@ -1,13 +1,13 @@
 name:                  amazonka-sns
-version:               1.4.5
+version:               1.5.0
 synopsis:              Amazon Simple Notification Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
-license:               OtherLicense
+license:               MPL-2.0
 license-file:          LICENSE
 author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2016 Brendan Hay
+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>
+copyright:             Copyright (c) 2013-2017 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -29,14 +29,19 @@
     to get started.
 
 source-repository head
-    type:     git
-    location: git://github.com/brendanhay/amazonka.git
+    type:              git
+    location:          git://github.com/brendanhay/amazonka.git
+    subdir:            amazonka-sns
 
 library
     default-language:  Haskell2010
     hs-source-dirs:    src gen
 
-    ghc-options:       -Wall
+    ghc-options:
+        -Wall
+        -fwarn-incomplete-uni-patterns
+        -fwarn-incomplete-record-updates
+        -funbox-strict-fields
 
     exposed-modules:
           Network.AWS.SNS
@@ -78,7 +83,7 @@
         , Network.AWS.SNS.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.5.*
+          amazonka-core == 1.5.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-sns-test
@@ -98,9 +103,9 @@
         , Test.AWS.SNS.Internal
 
     build-depends:
-          amazonka-core == 1.4.5.*
-        , amazonka-test == 1.4.5.*
-        , amazonka-sns == 1.4.5.*
+          amazonka-core == 1.5.0.*
+        , amazonka-test == 1.5.0.*
+        , amazonka-sns
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/SNS.hs b/gen/Network/AWS/SNS.hs
--- a/gen/Network/AWS/SNS.hs
+++ b/gen/Network/AWS/SNS.hs
@@ -5,9 +5,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -187,38 +187,38 @@
     , tTopicARN
     ) where
 
-import           Network.AWS.SNS.AddPermission
-import           Network.AWS.SNS.CheckIfPhoneNumberIsOptedOut
-import           Network.AWS.SNS.ConfirmSubscription
-import           Network.AWS.SNS.CreatePlatformApplication
-import           Network.AWS.SNS.CreatePlatformEndpoint
-import           Network.AWS.SNS.CreateTopic
-import           Network.AWS.SNS.DeleteEndpoint
-import           Network.AWS.SNS.DeletePlatformApplication
-import           Network.AWS.SNS.DeleteTopic
-import           Network.AWS.SNS.GetEndpointAttributes
-import           Network.AWS.SNS.GetPlatformApplicationAttributes
-import           Network.AWS.SNS.GetSMSAttributes
-import           Network.AWS.SNS.GetSubscriptionAttributes
-import           Network.AWS.SNS.GetTopicAttributes
-import           Network.AWS.SNS.ListEndpointsByPlatformApplication
-import           Network.AWS.SNS.ListPhoneNumbersOptedOut
-import           Network.AWS.SNS.ListPlatformApplications
-import           Network.AWS.SNS.ListSubscriptions
-import           Network.AWS.SNS.ListSubscriptionsByTopic
-import           Network.AWS.SNS.ListTopics
-import           Network.AWS.SNS.OptInPhoneNumber
-import           Network.AWS.SNS.Publish
-import           Network.AWS.SNS.RemovePermission
-import           Network.AWS.SNS.SetEndpointAttributes
-import           Network.AWS.SNS.SetPlatformApplicationAttributes
-import           Network.AWS.SNS.SetSMSAttributes
-import           Network.AWS.SNS.SetSubscriptionAttributes
-import           Network.AWS.SNS.SetTopicAttributes
-import           Network.AWS.SNS.Subscribe
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Unsubscribe
-import           Network.AWS.SNS.Waiters
+import Network.AWS.SNS.AddPermission
+import Network.AWS.SNS.CheckIfPhoneNumberIsOptedOut
+import Network.AWS.SNS.ConfirmSubscription
+import Network.AWS.SNS.CreatePlatformApplication
+import Network.AWS.SNS.CreatePlatformEndpoint
+import Network.AWS.SNS.CreateTopic
+import Network.AWS.SNS.DeleteEndpoint
+import Network.AWS.SNS.DeletePlatformApplication
+import Network.AWS.SNS.DeleteTopic
+import Network.AWS.SNS.GetEndpointAttributes
+import Network.AWS.SNS.GetPlatformApplicationAttributes
+import Network.AWS.SNS.GetSMSAttributes
+import Network.AWS.SNS.GetSubscriptionAttributes
+import Network.AWS.SNS.GetTopicAttributes
+import Network.AWS.SNS.ListEndpointsByPlatformApplication
+import Network.AWS.SNS.ListPhoneNumbersOptedOut
+import Network.AWS.SNS.ListPlatformApplications
+import Network.AWS.SNS.ListSubscriptions
+import Network.AWS.SNS.ListSubscriptionsByTopic
+import Network.AWS.SNS.ListTopics
+import Network.AWS.SNS.OptInPhoneNumber
+import Network.AWS.SNS.Publish
+import Network.AWS.SNS.RemovePermission
+import Network.AWS.SNS.SetEndpointAttributes
+import Network.AWS.SNS.SetPlatformApplicationAttributes
+import Network.AWS.SNS.SetSMSAttributes
+import Network.AWS.SNS.SetSubscriptionAttributes
+import Network.AWS.SNS.SetTopicAttributes
+import Network.AWS.SNS.Subscribe
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Unsubscribe
+import Network.AWS.SNS.Waiters
 
 {- $errors
 Error matchers are designed for use with the functions provided by
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.AddPermission
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,21 +37,22 @@
     , AddPermissionResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | /See:/ 'addPermission' smart constructor.
 data AddPermission = AddPermission'
-    { _apTopicARN     :: !Text
-    , _apLabel        :: !Text
-    , _apAWSAccountId :: ![Text]
-    , _apActionName   :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _apTopicARN     :: !Text
+  , _apLabel        :: !Text
+  , _apAWSAccountId :: ![Text]
+  , _apActionName   :: ![Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AddPermission' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -68,13 +69,14 @@
     -> Text -- ^ 'apLabel'
     -> AddPermission
 addPermission pTopicARN_ pLabel_ =
-    AddPermission'
-    { _apTopicARN = pTopicARN_
-    , _apLabel = pLabel_
-    , _apAWSAccountId = mempty
-    , _apActionName = mempty
-    }
+  AddPermission'
+  { _apTopicARN = pTopicARN_
+  , _apLabel = pLabel_
+  , _apAWSAccountId = mempty
+  , _apActionName = mempty
+  }
 
+
 -- | The ARN of the topic whose access control policy you wish to modify.
 apTopicARN :: Lens' AddPermission Text
 apTopicARN = lens _apTopicARN (\ s a -> s{_apTopicARN = a});
@@ -96,9 +98,9 @@
         request = postQuery sns
         response = receiveNull AddPermissionResponse'
 
-instance Hashable AddPermission
+instance Hashable AddPermission where
 
-instance NFData AddPermission
+instance NFData AddPermission where
 
 instance ToHeaders AddPermission where
         toHeaders = const mempty
@@ -118,13 +120,15 @@
 
 -- | /See:/ 'addPermissionResponse' smart constructor.
 data AddPermissionResponse =
-    AddPermissionResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  AddPermissionResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AddPermissionResponse' with the minimum fields required to make a request.
 --
 addPermissionResponse
     :: AddPermissionResponse
 addPermissionResponse = AddPermissionResponse'
 
-instance NFData AddPermissionResponse
+
+instance NFData AddPermissionResponse where
diff --git a/gen/Network/AWS/SNS/CheckIfPhoneNumberIsOptedOut.hs b/gen/Network/AWS/SNS/CheckIfPhoneNumberIsOptedOut.hs
--- a/gen/Network/AWS/SNS/CheckIfPhoneNumberIsOptedOut.hs
+++ b/gen/Network/AWS/SNS/CheckIfPhoneNumberIsOptedOut.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.CheckIfPhoneNumberIsOptedOut
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -39,12 +39,12 @@
     , cipnioorsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | The input for the @CheckIfPhoneNumberIsOptedOut@ action.
 --
@@ -52,9 +52,10 @@
 --
 -- /See:/ 'checkIfPhoneNumberIsOptedOut' smart constructor.
 newtype CheckIfPhoneNumberIsOptedOut = CheckIfPhoneNumberIsOptedOut'
-    { _cipniooPhoneNumber :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cipniooPhoneNumber :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CheckIfPhoneNumberIsOptedOut' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,10 +65,9 @@
     :: Text -- ^ 'cipniooPhoneNumber'
     -> CheckIfPhoneNumberIsOptedOut
 checkIfPhoneNumberIsOptedOut pPhoneNumber_ =
-    CheckIfPhoneNumberIsOptedOut'
-    { _cipniooPhoneNumber = pPhoneNumber_
-    }
+  CheckIfPhoneNumberIsOptedOut' {_cipniooPhoneNumber = pPhoneNumber_}
 
+
 -- | The phone number for which you want to check the opt out status.
 cipniooPhoneNumber :: Lens' CheckIfPhoneNumberIsOptedOut Text
 cipniooPhoneNumber = lens _cipniooPhoneNumber (\ s a -> s{_cipniooPhoneNumber = a});
@@ -84,9 +84,9 @@
                  CheckIfPhoneNumberIsOptedOutResponse' <$>
                    (x .@? "isOptedOut") <*> (pure (fromEnum s)))
 
-instance Hashable CheckIfPhoneNumberIsOptedOut
+instance Hashable CheckIfPhoneNumberIsOptedOut where
 
-instance NFData CheckIfPhoneNumberIsOptedOut
+instance NFData CheckIfPhoneNumberIsOptedOut where
 
 instance ToHeaders CheckIfPhoneNumberIsOptedOut where
         toHeaders = const mempty
@@ -108,10 +108,11 @@
 --
 -- /See:/ 'checkIfPhoneNumberIsOptedOutResponse' smart constructor.
 data CheckIfPhoneNumberIsOptedOutResponse = CheckIfPhoneNumberIsOptedOutResponse'
-    { _cipnioorsIsOptedOut     :: !(Maybe Bool)
-    , _cipnioorsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cipnioorsIsOptedOut     :: !(Maybe Bool)
+  , _cipnioorsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CheckIfPhoneNumberIsOptedOutResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -123,11 +124,10 @@
     :: Int -- ^ 'cipnioorsResponseStatus'
     -> CheckIfPhoneNumberIsOptedOutResponse
 checkIfPhoneNumberIsOptedOutResponse pResponseStatus_ =
-    CheckIfPhoneNumberIsOptedOutResponse'
-    { _cipnioorsIsOptedOut = Nothing
-    , _cipnioorsResponseStatus = pResponseStatus_
-    }
+  CheckIfPhoneNumberIsOptedOutResponse'
+  {_cipnioorsIsOptedOut = Nothing, _cipnioorsResponseStatus = pResponseStatus_}
 
+
 -- | Indicates whether the phone number is opted out:     * @true@ – The phone number is opted out, meaning you cannot publish SMS messages to it.     * @false@ – The phone number is opted in, meaning you can publish SMS messages to it.
 cipnioorsIsOptedOut :: Lens' CheckIfPhoneNumberIsOptedOutResponse (Maybe Bool)
 cipnioorsIsOptedOut = lens _cipnioorsIsOptedOut (\ s a -> s{_cipnioorsIsOptedOut = a});
@@ -137,3 +137,4 @@
 cipnioorsResponseStatus = lens _cipnioorsResponseStatus (\ s a -> s{_cipnioorsResponseStatus = a});
 
 instance NFData CheckIfPhoneNumberIsOptedOutResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ConfirmSubscription
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -39,12 +39,12 @@
     , csrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for ConfirmSubscription action.
 --
@@ -52,11 +52,12 @@
 --
 -- /See:/ 'confirmSubscription' smart constructor.
 data ConfirmSubscription = ConfirmSubscription'
-    { _csAuthenticateOnUnsubscribe :: !(Maybe Text)
-    , _csTopicARN                  :: !Text
-    , _csToken                     :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csAuthenticateOnUnsubscribe :: !(Maybe Text)
+  , _csTopicARN                  :: !Text
+  , _csToken                     :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ConfirmSubscription' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -71,12 +72,13 @@
     -> Text -- ^ 'csToken'
     -> ConfirmSubscription
 confirmSubscription pTopicARN_ pToken_ =
-    ConfirmSubscription'
-    { _csAuthenticateOnUnsubscribe = Nothing
-    , _csTopicARN = pTopicARN_
-    , _csToken = pToken_
-    }
+  ConfirmSubscription'
+  { _csAuthenticateOnUnsubscribe = Nothing
+  , _csTopicARN = pTopicARN_
+  , _csToken = pToken_
+  }
 
+
 -- | Disallows unauthenticated unsubscribes of the subscription. If the value of this parameter is @true@ and the request has an AWS signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires AWS authentication.
 csAuthenticateOnUnsubscribe :: Lens' ConfirmSubscription (Maybe Text)
 csAuthenticateOnUnsubscribe = lens _csAuthenticateOnUnsubscribe (\ s a -> s{_csAuthenticateOnUnsubscribe = a});
@@ -99,9 +101,9 @@
                  ConfirmSubscriptionResponse' <$>
                    (x .@? "SubscriptionArn") <*> (pure (fromEnum s)))
 
-instance Hashable ConfirmSubscription
+instance Hashable ConfirmSubscription where
 
-instance NFData ConfirmSubscription
+instance NFData ConfirmSubscription where
 
 instance ToHeaders ConfirmSubscription where
         toHeaders = const mempty
@@ -124,10 +126,11 @@
 --
 -- /See:/ 'confirmSubscriptionResponse' smart constructor.
 data ConfirmSubscriptionResponse = ConfirmSubscriptionResponse'
-    { _csrsSubscriptionARN :: !(Maybe Text)
-    , _csrsResponseStatus  :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csrsSubscriptionARN :: !(Maybe Text)
+  , _csrsResponseStatus  :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ConfirmSubscriptionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -139,11 +142,10 @@
     :: Int -- ^ 'csrsResponseStatus'
     -> ConfirmSubscriptionResponse
 confirmSubscriptionResponse pResponseStatus_ =
-    ConfirmSubscriptionResponse'
-    { _csrsSubscriptionARN = Nothing
-    , _csrsResponseStatus = pResponseStatus_
-    }
+  ConfirmSubscriptionResponse'
+  {_csrsSubscriptionARN = Nothing, _csrsResponseStatus = pResponseStatus_}
 
+
 -- | The ARN of the created subscription.
 csrsSubscriptionARN :: Lens' ConfirmSubscriptionResponse (Maybe Text)
 csrsSubscriptionARN = lens _csrsSubscriptionARN (\ s a -> s{_csrsSubscriptionARN = a});
@@ -152,4 +154,4 @@
 csrsResponseStatus :: Lens' ConfirmSubscriptionResponse Int
 csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});
 
-instance NFData ConfirmSubscriptionResponse
+instance NFData ConfirmSubscriptionResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.CreatePlatformApplication
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -41,12 +41,12 @@
     , cparsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for CreatePlatformApplication action.
 --
@@ -54,11 +54,12 @@
 --
 -- /See:/ 'createPlatformApplication' smart constructor.
 data CreatePlatformApplication = CreatePlatformApplication'
-    { _cpaName       :: !Text
-    , _cpaPlatform   :: !Text
-    , _cpaAttributes :: !(Map Text Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cpaName       :: !Text
+  , _cpaPlatform   :: !Text
+  , _cpaAttributes :: !(Map Text Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreatePlatformApplication' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -73,12 +74,10 @@
     -> Text -- ^ 'cpaPlatform'
     -> CreatePlatformApplication
 createPlatformApplication pName_ pPlatform_ =
-    CreatePlatformApplication'
-    { _cpaName = pName_
-    , _cpaPlatform = pPlatform_
-    , _cpaAttributes = mempty
-    }
+  CreatePlatformApplication'
+  {_cpaName = pName_, _cpaPlatform = pPlatform_, _cpaAttributes = mempty}
 
+
 -- | Application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long.
 cpaName :: Lens' CreatePlatformApplication Text
 cpaName = lens _cpaName (\ s a -> s{_cpaName = a});
@@ -102,9 +101,9 @@
                    (x .@? "PlatformApplicationArn") <*>
                      (pure (fromEnum s)))
 
-instance Hashable CreatePlatformApplication
+instance Hashable CreatePlatformApplication where
 
-instance NFData CreatePlatformApplication
+instance NFData CreatePlatformApplication where
 
 instance ToHeaders CreatePlatformApplication where
         toHeaders = const mempty
@@ -128,10 +127,11 @@
 --
 -- /See:/ 'createPlatformApplicationResponse' smart constructor.
 data CreatePlatformApplicationResponse = CreatePlatformApplicationResponse'
-    { _cparsPlatformApplicationARN :: !(Maybe Text)
-    , _cparsResponseStatus         :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cparsPlatformApplicationARN :: !(Maybe Text)
+  , _cparsResponseStatus         :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreatePlatformApplicationResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -143,11 +143,12 @@
     :: Int -- ^ 'cparsResponseStatus'
     -> CreatePlatformApplicationResponse
 createPlatformApplicationResponse pResponseStatus_ =
-    CreatePlatformApplicationResponse'
-    { _cparsPlatformApplicationARN = Nothing
-    , _cparsResponseStatus = pResponseStatus_
-    }
+  CreatePlatformApplicationResponse'
+  { _cparsPlatformApplicationARN = Nothing
+  , _cparsResponseStatus = pResponseStatus_
+  }
 
+
 -- | PlatformApplicationArn is returned.
 cparsPlatformApplicationARN :: Lens' CreatePlatformApplicationResponse (Maybe Text)
 cparsPlatformApplicationARN = lens _cparsPlatformApplicationARN (\ s a -> s{_cparsPlatformApplicationARN = a});
@@ -157,3 +158,4 @@
 cparsResponseStatus = lens _cparsResponseStatus (\ s a -> s{_cparsResponseStatus = a});
 
 instance NFData CreatePlatformApplicationResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.CreatePlatformEndpoint
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -42,12 +42,12 @@
     , cpersResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for CreatePlatformEndpoint action.
 --
@@ -55,12 +55,13 @@
 --
 -- /See:/ 'createPlatformEndpoint' smart constructor.
 data CreatePlatformEndpoint = CreatePlatformEndpoint'
-    { _cpeCustomUserData         :: !(Maybe Text)
-    , _cpeAttributes             :: !(Maybe (Map Text Text))
-    , _cpePlatformApplicationARN :: !Text
-    , _cpeToken                  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cpeCustomUserData         :: !(Maybe Text)
+  , _cpeAttributes             :: !(Maybe (Map Text Text))
+  , _cpePlatformApplicationARN :: !Text
+  , _cpeToken                  :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreatePlatformEndpoint' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -77,13 +78,14 @@
     -> Text -- ^ 'cpeToken'
     -> CreatePlatformEndpoint
 createPlatformEndpoint pPlatformApplicationARN_ pToken_ =
-    CreatePlatformEndpoint'
-    { _cpeCustomUserData = Nothing
-    , _cpeAttributes = Nothing
-    , _cpePlatformApplicationARN = pPlatformApplicationARN_
-    , _cpeToken = pToken_
-    }
+  CreatePlatformEndpoint'
+  { _cpeCustomUserData = Nothing
+  , _cpeAttributes = Nothing
+  , _cpePlatformApplicationARN = pPlatformApplicationARN_
+  , _cpeToken = pToken_
+  }
 
+
 -- | Arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.
 cpeCustomUserData :: Lens' CreatePlatformEndpoint (Maybe Text)
 cpeCustomUserData = lens _cpeCustomUserData (\ s a -> s{_cpeCustomUserData = a});
@@ -110,9 +112,9 @@
                  CreatePlatformEndpointResponse' <$>
                    (x .@? "EndpointArn") <*> (pure (fromEnum s)))
 
-instance Hashable CreatePlatformEndpoint
+instance Hashable CreatePlatformEndpoint where
 
-instance NFData CreatePlatformEndpoint
+instance NFData CreatePlatformEndpoint where
 
 instance ToHeaders CreatePlatformEndpoint where
         toHeaders = const mempty
@@ -141,10 +143,11 @@
 --
 -- /See:/ 'createPlatformEndpointResponse' smart constructor.
 data CreatePlatformEndpointResponse = CreatePlatformEndpointResponse'
-    { _cpersEndpointARN    :: !(Maybe Text)
-    , _cpersResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cpersEndpointARN    :: !(Maybe Text)
+  , _cpersResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreatePlatformEndpointResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -156,11 +159,10 @@
     :: Int -- ^ 'cpersResponseStatus'
     -> CreatePlatformEndpointResponse
 createPlatformEndpointResponse pResponseStatus_ =
-    CreatePlatformEndpointResponse'
-    { _cpersEndpointARN = Nothing
-    , _cpersResponseStatus = pResponseStatus_
-    }
+  CreatePlatformEndpointResponse'
+  {_cpersEndpointARN = Nothing, _cpersResponseStatus = pResponseStatus_}
 
+
 -- | EndpointArn returned from CreateEndpoint action.
 cpersEndpointARN :: Lens' CreatePlatformEndpointResponse (Maybe Text)
 cpersEndpointARN = lens _cpersEndpointARN (\ s a -> s{_cpersEndpointARN = a});
@@ -169,4 +171,4 @@
 cpersResponseStatus :: Lens' CreatePlatformEndpointResponse Int
 cpersResponseStatus = lens _cpersResponseStatus (\ s a -> s{_cpersResponseStatus = a});
 
-instance NFData CreatePlatformEndpointResponse
+instance NFData CreatePlatformEndpointResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.CreateTopic
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , ctrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for CreateTopic action.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'createTopic' smart constructor.
 newtype CreateTopic = CreateTopic'
-    { _ctName :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ctName :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateTopic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -61,11 +62,9 @@
 createTopic
     :: Text -- ^ 'ctName'
     -> CreateTopic
-createTopic pName_ =
-    CreateTopic'
-    { _ctName = pName_
-    }
+createTopic pName_ = CreateTopic' {_ctName = pName_}
 
+
 -- | The name of the topic you want to create. Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
 ctName :: Lens' CreateTopic Text
 ctName = lens _ctName (\ s a -> s{_ctName = a});
@@ -79,9 +78,9 @@
                  CreateTopicResponse' <$>
                    (x .@? "TopicArn") <*> (pure (fromEnum s)))
 
-instance Hashable CreateTopic
+instance Hashable CreateTopic where
 
-instance NFData CreateTopic
+instance NFData CreateTopic where
 
 instance ToHeaders CreateTopic where
         toHeaders = const mempty
@@ -102,10 +101,11 @@
 --
 -- /See:/ 'createTopicResponse' smart constructor.
 data CreateTopicResponse = CreateTopicResponse'
-    { _ctrsTopicARN       :: !(Maybe Text)
-    , _ctrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ctrsTopicARN       :: !(Maybe Text)
+  , _ctrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateTopicResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -117,11 +117,10 @@
     :: Int -- ^ 'ctrsResponseStatus'
     -> CreateTopicResponse
 createTopicResponse pResponseStatus_ =
-    CreateTopicResponse'
-    { _ctrsTopicARN = Nothing
-    , _ctrsResponseStatus = pResponseStatus_
-    }
+  CreateTopicResponse'
+  {_ctrsTopicARN = Nothing, _ctrsResponseStatus = pResponseStatus_}
 
+
 -- | The Amazon Resource Name (ARN) assigned to the created topic.
 ctrsTopicARN :: Lens' CreateTopicResponse (Maybe Text)
 ctrsTopicARN = lens _ctrsTopicARN (\ s a -> s{_ctrsTopicARN = a});
@@ -130,4 +129,4 @@
 ctrsResponseStatus :: Lens' CreateTopicResponse Int
 ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});
 
-instance NFData CreateTopicResponse
+instance NFData CreateTopicResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.DeleteEndpoint
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -36,12 +36,12 @@
     , DeleteEndpointResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for DeleteEndpoint action.
 --
@@ -49,9 +49,10 @@
 --
 -- /See:/ 'deleteEndpoint' smart constructor.
 newtype DeleteEndpoint = DeleteEndpoint'
-    { _deEndpointARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _deEndpointARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteEndpoint' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -60,11 +61,9 @@
 deleteEndpoint
     :: Text -- ^ 'deEndpointARN'
     -> DeleteEndpoint
-deleteEndpoint pEndpointARN_ =
-    DeleteEndpoint'
-    { _deEndpointARN = pEndpointARN_
-    }
+deleteEndpoint pEndpointARN_ = DeleteEndpoint' {_deEndpointARN = pEndpointARN_}
 
+
 -- | EndpointArn of endpoint to delete.
 deEndpointARN :: Lens' DeleteEndpoint Text
 deEndpointARN = lens _deEndpointARN (\ s a -> s{_deEndpointARN = a});
@@ -74,9 +73,9 @@
         request = postQuery sns
         response = receiveNull DeleteEndpointResponse'
 
-instance Hashable DeleteEndpoint
+instance Hashable DeleteEndpoint where
 
-instance NFData DeleteEndpoint
+instance NFData DeleteEndpoint where
 
 instance ToHeaders DeleteEndpoint where
         toHeaders = const mempty
@@ -93,13 +92,15 @@
 
 -- | /See:/ 'deleteEndpointResponse' smart constructor.
 data DeleteEndpointResponse =
-    DeleteEndpointResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  DeleteEndpointResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteEndpointResponse' with the minimum fields required to make a request.
 --
 deleteEndpointResponse
     :: DeleteEndpointResponse
 deleteEndpointResponse = DeleteEndpointResponse'
 
-instance NFData DeleteEndpointResponse
+
+instance NFData DeleteEndpointResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.DeletePlatformApplication
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -34,12 +34,12 @@
     , DeletePlatformApplicationResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for DeletePlatformApplication action.
 --
@@ -47,9 +47,10 @@
 --
 -- /See:/ 'deletePlatformApplication' smart constructor.
 newtype DeletePlatformApplication = DeletePlatformApplication'
-    { _dpaPlatformApplicationARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dpaPlatformApplicationARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeletePlatformApplication' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -59,10 +60,10 @@
     :: Text -- ^ 'dpaPlatformApplicationARN'
     -> DeletePlatformApplication
 deletePlatformApplication pPlatformApplicationARN_ =
-    DeletePlatformApplication'
-    { _dpaPlatformApplicationARN = pPlatformApplicationARN_
-    }
+  DeletePlatformApplication'
+  {_dpaPlatformApplicationARN = pPlatformApplicationARN_}
 
+
 -- | PlatformApplicationArn of platform application object to delete.
 dpaPlatformApplicationARN :: Lens' DeletePlatformApplication Text
 dpaPlatformApplicationARN = lens _dpaPlatformApplicationARN (\ s a -> s{_dpaPlatformApplicationARN = a});
@@ -74,9 +75,9 @@
         response
           = receiveNull DeletePlatformApplicationResponse'
 
-instance Hashable DeletePlatformApplication
+instance Hashable DeletePlatformApplication where
 
-instance NFData DeletePlatformApplication
+instance NFData DeletePlatformApplication where
 
 instance ToHeaders DeletePlatformApplication where
         toHeaders = const mempty
@@ -95,13 +96,16 @@
 
 -- | /See:/ 'deletePlatformApplicationResponse' smart constructor.
 data DeletePlatformApplicationResponse =
-    DeletePlatformApplicationResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  DeletePlatformApplicationResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeletePlatformApplicationResponse' with the minimum fields required to make a request.
 --
 deletePlatformApplicationResponse
     :: DeletePlatformApplicationResponse
 deletePlatformApplicationResponse = DeletePlatformApplicationResponse'
 
+
 instance NFData DeletePlatformApplicationResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.DeleteTopic
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -34,18 +34,19 @@
     , DeleteTopicResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | /See:/ 'deleteTopic' smart constructor.
 newtype DeleteTopic = DeleteTopic'
-    { _dtTopicARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dtTopicARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteTopic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -54,11 +55,9 @@
 deleteTopic
     :: Text -- ^ 'dtTopicARN'
     -> DeleteTopic
-deleteTopic pTopicARN_ =
-    DeleteTopic'
-    { _dtTopicARN = pTopicARN_
-    }
+deleteTopic pTopicARN_ = DeleteTopic' {_dtTopicARN = pTopicARN_}
 
+
 -- | The ARN of the topic you want to delete.
 dtTopicARN :: Lens' DeleteTopic Text
 dtTopicARN = lens _dtTopicARN (\ s a -> s{_dtTopicARN = a});
@@ -68,9 +67,9 @@
         request = postQuery sns
         response = receiveNull DeleteTopicResponse'
 
-instance Hashable DeleteTopic
+instance Hashable DeleteTopic where
 
-instance NFData DeleteTopic
+instance NFData DeleteTopic where
 
 instance ToHeaders DeleteTopic where
         toHeaders = const mempty
@@ -87,13 +86,15 @@
 
 -- | /See:/ 'deleteTopicResponse' smart constructor.
 data DeleteTopicResponse =
-    DeleteTopicResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  DeleteTopicResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteTopicResponse' with the minimum fields required to make a request.
 --
 deleteTopicResponse
     :: DeleteTopicResponse
 deleteTopicResponse = DeleteTopicResponse'
 
-instance NFData DeleteTopicResponse
+
+instance NFData DeleteTopicResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.GetEndpointAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , gearsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for GetEndpointAttributes action.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'getEndpointAttributes' smart constructor.
 newtype GetEndpointAttributes = GetEndpointAttributes'
-    { _geaEndpointARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _geaEndpointARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetEndpointAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,10 +63,9 @@
     :: Text -- ^ 'geaEndpointARN'
     -> GetEndpointAttributes
 getEndpointAttributes pEndpointARN_ =
-    GetEndpointAttributes'
-    { _geaEndpointARN = pEndpointARN_
-    }
+  GetEndpointAttributes' {_geaEndpointARN = pEndpointARN_}
 
+
 -- | EndpointArn for GetEndpointAttributes input.
 geaEndpointARN :: Lens' GetEndpointAttributes Text
 geaEndpointARN = lens _geaEndpointARN (\ s a -> s{_geaEndpointARN = a});
@@ -82,9 +82,9 @@
                       may (parseXMLMap "entry" "key" "value"))
                      <*> (pure (fromEnum s)))
 
-instance Hashable GetEndpointAttributes
+instance Hashable GetEndpointAttributes where
 
-instance NFData GetEndpointAttributes
+instance NFData GetEndpointAttributes where
 
 instance ToHeaders GetEndpointAttributes where
         toHeaders = const mempty
@@ -105,10 +105,11 @@
 --
 -- /See:/ 'getEndpointAttributesResponse' smart constructor.
 data GetEndpointAttributesResponse = GetEndpointAttributesResponse'
-    { _gearsAttributes     :: !(Maybe (Map Text Text))
-    , _gearsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gearsAttributes     :: !(Maybe (Map Text Text))
+  , _gearsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetEndpointAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -120,11 +121,10 @@
     :: Int -- ^ 'gearsResponseStatus'
     -> GetEndpointAttributesResponse
 getEndpointAttributesResponse pResponseStatus_ =
-    GetEndpointAttributesResponse'
-    { _gearsAttributes = Nothing
-    , _gearsResponseStatus = pResponseStatus_
-    }
+  GetEndpointAttributesResponse'
+  {_gearsAttributes = Nothing, _gearsResponseStatus = pResponseStatus_}
 
+
 -- | Attributes include the following:     * @CustomUserData@ -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.     * @Enabled@ -- flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.     * @Token@ -- device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.
 gearsAttributes :: Lens' GetEndpointAttributesResponse (HashMap Text Text)
 gearsAttributes = lens _gearsAttributes (\ s a -> s{_gearsAttributes = a}) . _Default . _Map;
@@ -133,4 +133,4 @@
 gearsResponseStatus :: Lens' GetEndpointAttributesResponse Int
 gearsResponseStatus = lens _gearsResponseStatus (\ s a -> s{_gearsResponseStatus = a});
 
-instance NFData GetEndpointAttributesResponse
+instance NFData GetEndpointAttributesResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.GetPlatformApplicationAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , gpaarsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for GetPlatformApplicationAttributes action.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'getPlatformApplicationAttributes' smart constructor.
 newtype GetPlatformApplicationAttributes = GetPlatformApplicationAttributes'
-    { _gpaaPlatformApplicationARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gpaaPlatformApplicationARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetPlatformApplicationAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,10 +63,10 @@
     :: Text -- ^ 'gpaaPlatformApplicationARN'
     -> GetPlatformApplicationAttributes
 getPlatformApplicationAttributes pPlatformApplicationARN_ =
-    GetPlatformApplicationAttributes'
-    { _gpaaPlatformApplicationARN = pPlatformApplicationARN_
-    }
+  GetPlatformApplicationAttributes'
+  {_gpaaPlatformApplicationARN = pPlatformApplicationARN_}
 
+
 -- | PlatformApplicationArn for GetPlatformApplicationAttributesInput.
 gpaaPlatformApplicationARN :: Lens' GetPlatformApplicationAttributes Text
 gpaaPlatformApplicationARN = lens _gpaaPlatformApplicationARN (\ s a -> s{_gpaaPlatformApplicationARN = a});
@@ -85,8 +86,10 @@
                      <*> (pure (fromEnum s)))
 
 instance Hashable GetPlatformApplicationAttributes
+         where
 
 instance NFData GetPlatformApplicationAttributes
+         where
 
 instance ToHeaders GetPlatformApplicationAttributes
          where
@@ -112,10 +115,11 @@
 --
 -- /See:/ 'getPlatformApplicationAttributesResponse' smart constructor.
 data GetPlatformApplicationAttributesResponse = GetPlatformApplicationAttributesResponse'
-    { _gpaarsAttributes     :: !(Maybe (Map Text Text))
-    , _gpaarsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gpaarsAttributes     :: !(Maybe (Map Text Text))
+  , _gpaarsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetPlatformApplicationAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -127,11 +131,10 @@
     :: Int -- ^ 'gpaarsResponseStatus'
     -> GetPlatformApplicationAttributesResponse
 getPlatformApplicationAttributesResponse pResponseStatus_ =
-    GetPlatformApplicationAttributesResponse'
-    { _gpaarsAttributes = Nothing
-    , _gpaarsResponseStatus = pResponseStatus_
-    }
+  GetPlatformApplicationAttributesResponse'
+  {_gpaarsAttributes = Nothing, _gpaarsResponseStatus = pResponseStatus_}
 
+
 -- | Attributes include the following:     * @EventEndpointCreated@ -- Topic ARN to which EndpointCreated event notifications should be sent.     * @EventEndpointDeleted@ -- Topic ARN to which EndpointDeleted event notifications should be sent.     * @EventEndpointUpdated@ -- Topic ARN to which EndpointUpdate event notifications should be sent.     * @EventDeliveryFailure@ -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.
 gpaarsAttributes :: Lens' GetPlatformApplicationAttributesResponse (HashMap Text Text)
 gpaarsAttributes = lens _gpaarsAttributes (\ s a -> s{_gpaarsAttributes = a}) . _Default . _Map;
@@ -141,4 +144,5 @@
 gpaarsResponseStatus = lens _gpaarsResponseStatus (\ s a -> s{_gpaarsResponseStatus = a});
 
 instance NFData
-         GetPlatformApplicationAttributesResponse
+           GetPlatformApplicationAttributesResponse
+         where
diff --git a/gen/Network/AWS/SNS/GetSMSAttributes.hs b/gen/Network/AWS/SNS/GetSMSAttributes.hs
--- a/gen/Network/AWS/SNS/GetSMSAttributes.hs
+++ b/gen/Network/AWS/SNS/GetSMSAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.GetSMSAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -39,12 +39,12 @@
     , gsmsarsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | The input for the @GetSMSAttributes@ request.
 --
@@ -52,9 +52,10 @@
 --
 -- /See:/ 'getSMSAttributes' smart constructor.
 newtype GetSMSAttributes = GetSMSAttributes'
-    { _gsmsaAttributes :: Maybe [Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gsmsaAttributes :: Maybe [Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetSMSAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,11 +63,9 @@
 -- * 'gsmsaAttributes' - A list of the individual attribute names, such as @MonthlySpendLimit@ , for which you want values. For all attribute names, see <http://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html SetSMSAttributes> . If you don't use this parameter, Amazon SNS returns all SMS attributes.
 getSMSAttributes
     :: GetSMSAttributes
-getSMSAttributes =
-    GetSMSAttributes'
-    { _gsmsaAttributes = Nothing
-    }
+getSMSAttributes = GetSMSAttributes' {_gsmsaAttributes = Nothing}
 
+
 -- | A list of the individual attribute names, such as @MonthlySpendLimit@ , for which you want values. For all attribute names, see <http://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html SetSMSAttributes> . If you don't use this parameter, Amazon SNS returns all SMS attributes.
 gsmsaAttributes :: Lens' GetSMSAttributes [Text]
 gsmsaAttributes = lens _gsmsaAttributes (\ s a -> s{_gsmsaAttributes = a}) . _Default . _Coerce;
@@ -82,9 +81,9 @@
                       may (parseXMLMap "entry" "key" "value"))
                      <*> (pure (fromEnum s)))
 
-instance Hashable GetSMSAttributes
+instance Hashable GetSMSAttributes where
 
-instance NFData GetSMSAttributes
+instance NFData GetSMSAttributes where
 
 instance ToHeaders GetSMSAttributes where
         toHeaders = const mempty
@@ -106,10 +105,11 @@
 --
 -- /See:/ 'getSMSAttributesResponse' smart constructor.
 data GetSMSAttributesResponse = GetSMSAttributesResponse'
-    { _gsmsarsAttributes     :: !(Maybe (Map Text Text))
-    , _gsmsarsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gsmsarsAttributes     :: !(Maybe (Map Text Text))
+  , _gsmsarsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetSMSAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -121,11 +121,10 @@
     :: Int -- ^ 'gsmsarsResponseStatus'
     -> GetSMSAttributesResponse
 getSMSAttributesResponse pResponseStatus_ =
-    GetSMSAttributesResponse'
-    { _gsmsarsAttributes = Nothing
-    , _gsmsarsResponseStatus = pResponseStatus_
-    }
+  GetSMSAttributesResponse'
+  {_gsmsarsAttributes = Nothing, _gsmsarsResponseStatus = pResponseStatus_}
 
+
 -- | The SMS attribute names and their values.
 gsmsarsAttributes :: Lens' GetSMSAttributesResponse (HashMap Text Text)
 gsmsarsAttributes = lens _gsmsarsAttributes (\ s a -> s{_gsmsarsAttributes = a}) . _Default . _Map;
@@ -134,4 +133,4 @@
 gsmsarsResponseStatus :: Lens' GetSMSAttributesResponse Int
 gsmsarsResponseStatus = lens _gsmsarsResponseStatus (\ s a -> s{_gsmsarsResponseStatus = a});
 
-instance NFData GetSMSAttributesResponse
+instance NFData GetSMSAttributesResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.GetSubscriptionAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , gsarsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for GetSubscriptionAttributes.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'getSubscriptionAttributes' smart constructor.
 newtype GetSubscriptionAttributes = GetSubscriptionAttributes'
-    { _gsaSubscriptionARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gsaSubscriptionARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetSubscriptionAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,10 +63,9 @@
     :: Text -- ^ 'gsaSubscriptionARN'
     -> GetSubscriptionAttributes
 getSubscriptionAttributes pSubscriptionARN_ =
-    GetSubscriptionAttributes'
-    { _gsaSubscriptionARN = pSubscriptionARN_
-    }
+  GetSubscriptionAttributes' {_gsaSubscriptionARN = pSubscriptionARN_}
 
+
 -- | The ARN of the subscription whose properties you want to get.
 gsaSubscriptionARN :: Lens' GetSubscriptionAttributes Text
 gsaSubscriptionARN = lens _gsaSubscriptionARN (\ s a -> s{_gsaSubscriptionARN = a});
@@ -82,9 +82,9 @@
                       may (parseXMLMap "entry" "key" "value"))
                      <*> (pure (fromEnum s)))
 
-instance Hashable GetSubscriptionAttributes
+instance Hashable GetSubscriptionAttributes where
 
-instance NFData GetSubscriptionAttributes
+instance NFData GetSubscriptionAttributes where
 
 instance ToHeaders GetSubscriptionAttributes where
         toHeaders = const mempty
@@ -106,10 +106,11 @@
 --
 -- /See:/ 'getSubscriptionAttributesResponse' smart constructor.
 data GetSubscriptionAttributesResponse = GetSubscriptionAttributesResponse'
-    { _gsarsAttributes     :: !(Maybe (Map Text Text))
-    , _gsarsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gsarsAttributes     :: !(Maybe (Map Text Text))
+  , _gsarsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetSubscriptionAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -121,11 +122,10 @@
     :: Int -- ^ 'gsarsResponseStatus'
     -> GetSubscriptionAttributesResponse
 getSubscriptionAttributesResponse pResponseStatus_ =
-    GetSubscriptionAttributesResponse'
-    { _gsarsAttributes = Nothing
-    , _gsarsResponseStatus = pResponseStatus_
-    }
+  GetSubscriptionAttributesResponse'
+  {_gsarsAttributes = Nothing, _gsarsResponseStatus = pResponseStatus_}
 
+
 -- | A map of the subscription's attributes. Attributes in this map include the following:     * @SubscriptionArn@ -- the subscription's ARN     * @TopicArn@ -- the topic ARN that the subscription is associated with     * @Owner@ -- the AWS account ID of the subscription's owner     * @ConfirmationWasAuthenticated@ -- true if the subscription confirmation request was authenticated     * @DeliveryPolicy@ -- the JSON serialization of the subscription's delivery policy     * @EffectiveDeliveryPolicy@ -- the JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults
 gsarsAttributes :: Lens' GetSubscriptionAttributesResponse (HashMap Text Text)
 gsarsAttributes = lens _gsarsAttributes (\ s a -> s{_gsarsAttributes = a}) . _Default . _Map;
@@ -135,3 +135,4 @@
 gsarsResponseStatus = lens _gsarsResponseStatus (\ s a -> s{_gsarsResponseStatus = a});
 
 instance NFData GetSubscriptionAttributesResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.GetTopicAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , gtarsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for GetTopicAttributes action.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'getTopicAttributes' smart constructor.
 newtype GetTopicAttributes = GetTopicAttributes'
-    { _gtaTopicARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gtaTopicARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetTopicAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -61,11 +62,9 @@
 getTopicAttributes
     :: Text -- ^ 'gtaTopicARN'
     -> GetTopicAttributes
-getTopicAttributes pTopicARN_ =
-    GetTopicAttributes'
-    { _gtaTopicARN = pTopicARN_
-    }
+getTopicAttributes pTopicARN_ = GetTopicAttributes' {_gtaTopicARN = pTopicARN_}
 
+
 -- | The ARN of the topic whose properties you want to get.
 gtaTopicARN :: Lens' GetTopicAttributes Text
 gtaTopicARN = lens _gtaTopicARN (\ s a -> s{_gtaTopicARN = a});
@@ -82,9 +81,9 @@
                       may (parseXMLMap "entry" "key" "value"))
                      <*> (pure (fromEnum s)))
 
-instance Hashable GetTopicAttributes
+instance Hashable GetTopicAttributes where
 
-instance NFData GetTopicAttributes
+instance NFData GetTopicAttributes where
 
 instance ToHeaders GetTopicAttributes where
         toHeaders = const mempty
@@ -105,10 +104,11 @@
 --
 -- /See:/ 'getTopicAttributesResponse' smart constructor.
 data GetTopicAttributesResponse = GetTopicAttributesResponse'
-    { _gtarsAttributes     :: !(Maybe (Map Text Text))
-    , _gtarsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gtarsAttributes     :: !(Maybe (Map Text Text))
+  , _gtarsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetTopicAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -120,11 +120,10 @@
     :: Int -- ^ 'gtarsResponseStatus'
     -> GetTopicAttributesResponse
 getTopicAttributesResponse pResponseStatus_ =
-    GetTopicAttributesResponse'
-    { _gtarsAttributes = Nothing
-    , _gtarsResponseStatus = pResponseStatus_
-    }
+  GetTopicAttributesResponse'
+  {_gtarsAttributes = Nothing, _gtarsResponseStatus = pResponseStatus_}
 
+
 -- | A map of the topic's attributes. Attributes in this map include the following:     * @TopicArn@ -- the topic's ARN     * @Owner@ -- the AWS account ID of the topic's owner     * @Policy@ -- the JSON serialization of the topic's access control policy     * @DisplayName@ -- the human-readable name used in the "From" field for notifications to email and email-json endpoints     * @SubscriptionsPending@ -- the number of subscriptions pending confirmation on this topic     * @SubscriptionsConfirmed@ -- the number of confirmed subscriptions on this topic     * @SubscriptionsDeleted@ -- the number of deleted subscriptions on this topic     * @DeliveryPolicy@ -- the JSON serialization of the topic's delivery policy     * @EffectiveDeliveryPolicy@ -- the JSON serialization of the effective delivery policy that takes into account system defaults
 gtarsAttributes :: Lens' GetTopicAttributesResponse (HashMap Text Text)
 gtarsAttributes = lens _gtarsAttributes (\ s a -> s{_gtarsAttributes = a}) . _Default . _Map;
@@ -133,4 +132,4 @@
 gtarsResponseStatus :: Lens' GetTopicAttributesResponse Int
 gtarsResponseStatus = lens _gtarsResponseStatus (\ s a -> s{_gtarsResponseStatus = a});
 
-instance NFData GetTopicAttributesResponse
+instance NFData GetTopicAttributesResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ListEndpointsByPlatformApplication
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -41,13 +41,13 @@
     , lebparsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for ListEndpointsByPlatformApplication action.
 --
@@ -55,10 +55,11 @@
 --
 -- /See:/ 'listEndpointsByPlatformApplication' smart constructor.
 data ListEndpointsByPlatformApplication = ListEndpointsByPlatformApplication'
-    { _lebpaNextToken              :: !(Maybe Text)
-    , _lebpaPlatformApplicationARN :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lebpaNextToken              :: !(Maybe Text)
+  , _lebpaPlatformApplicationARN :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListEndpointsByPlatformApplication' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -70,11 +71,12 @@
     :: Text -- ^ 'lebpaPlatformApplicationARN'
     -> ListEndpointsByPlatformApplication
 listEndpointsByPlatformApplication pPlatformApplicationARN_ =
-    ListEndpointsByPlatformApplication'
-    { _lebpaNextToken = Nothing
-    , _lebpaPlatformApplicationARN = pPlatformApplicationARN_
-    }
+  ListEndpointsByPlatformApplication'
+  { _lebpaNextToken = Nothing
+  , _lebpaPlatformApplicationARN = pPlatformApplicationARN_
+  }
 
+
 -- | NextToken string is used when calling ListEndpointsByPlatformApplication action to retrieve additional records that are available after the first page results.
 lebpaNextToken :: Lens' ListEndpointsByPlatformApplication (Maybe Text)
 lebpaNextToken = lens _lebpaNextToken (\ s a -> s{_lebpaNextToken = a});
@@ -92,7 +94,8 @@
             Just $ rq & lebpaNextToken .~ rs ^. lebparsNextToken
 
 instance AWSRequest
-         ListEndpointsByPlatformApplication where
+           ListEndpointsByPlatformApplication
+         where
         type Rs ListEndpointsByPlatformApplication =
              ListEndpointsByPlatformApplicationResponse
         request = postQuery sns
@@ -107,8 +110,10 @@
                      <*> (pure (fromEnum s)))
 
 instance Hashable ListEndpointsByPlatformApplication
+         where
 
 instance NFData ListEndpointsByPlatformApplication
+         where
 
 instance ToHeaders ListEndpointsByPlatformApplication
          where
@@ -135,11 +140,12 @@
 --
 -- /See:/ 'listEndpointsByPlatformApplicationResponse' smart constructor.
 data ListEndpointsByPlatformApplicationResponse = ListEndpointsByPlatformApplicationResponse'
-    { _lebparsNextToken      :: !(Maybe Text)
-    , _lebparsEndpoints      :: !(Maybe [Endpoint])
-    , _lebparsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lebparsNextToken      :: !(Maybe Text)
+  , _lebparsEndpoints      :: !(Maybe [Endpoint])
+  , _lebparsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListEndpointsByPlatformApplicationResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -153,12 +159,13 @@
     :: Int -- ^ 'lebparsResponseStatus'
     -> ListEndpointsByPlatformApplicationResponse
 listEndpointsByPlatformApplicationResponse pResponseStatus_ =
-    ListEndpointsByPlatformApplicationResponse'
-    { _lebparsNextToken = Nothing
-    , _lebparsEndpoints = Nothing
-    , _lebparsResponseStatus = pResponseStatus_
-    }
+  ListEndpointsByPlatformApplicationResponse'
+  { _lebparsNextToken = Nothing
+  , _lebparsEndpoints = Nothing
+  , _lebparsResponseStatus = pResponseStatus_
+  }
 
+
 -- | NextToken string is returned when calling ListEndpointsByPlatformApplication action if additional records are available after the first page results.
 lebparsNextToken :: Lens' ListEndpointsByPlatformApplicationResponse (Maybe Text)
 lebparsNextToken = lens _lebparsNextToken (\ s a -> s{_lebparsNextToken = a});
@@ -172,4 +179,5 @@
 lebparsResponseStatus = lens _lebparsResponseStatus (\ s a -> s{_lebparsResponseStatus = a});
 
 instance NFData
-         ListEndpointsByPlatformApplicationResponse
+           ListEndpointsByPlatformApplicationResponse
+         where
diff --git a/gen/Network/AWS/SNS/ListPhoneNumbersOptedOut.hs b/gen/Network/AWS/SNS/ListPhoneNumbersOptedOut.hs
--- a/gen/Network/AWS/SNS/ListPhoneNumbersOptedOut.hs
+++ b/gen/Network/AWS/SNS/ListPhoneNumbersOptedOut.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ListPhoneNumbersOptedOut
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -40,12 +40,12 @@
     , lpnoorsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | The input for the @ListPhoneNumbersOptedOut@ action.
 --
@@ -53,9 +53,10 @@
 --
 -- /See:/ 'listPhoneNumbersOptedOut' smart constructor.
 newtype ListPhoneNumbersOptedOut = ListPhoneNumbersOptedOut'
-    { _lpnooNextToken :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lpnooNextToken :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListPhoneNumbersOptedOut' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,11 +64,9 @@
 -- * 'lpnooNextToken' - A @NextToken@ string is used when you call the @ListPhoneNumbersOptedOut@ action to retrieve additional records that are available after the first page of results.
 listPhoneNumbersOptedOut
     :: ListPhoneNumbersOptedOut
-listPhoneNumbersOptedOut =
-    ListPhoneNumbersOptedOut'
-    { _lpnooNextToken = Nothing
-    }
+listPhoneNumbersOptedOut = ListPhoneNumbersOptedOut' {_lpnooNextToken = Nothing}
 
+
 -- | A @NextToken@ string is used when you call the @ListPhoneNumbersOptedOut@ action to retrieve additional records that are available after the first page of results.
 lpnooNextToken :: Lens' ListPhoneNumbersOptedOut (Maybe Text)
 lpnooNextToken = lens _lpnooNextToken (\ s a -> s{_lpnooNextToken = a});
@@ -85,9 +84,9 @@
                      <*> (x .@? "nextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListPhoneNumbersOptedOut
+instance Hashable ListPhoneNumbersOptedOut where
 
-instance NFData ListPhoneNumbersOptedOut
+instance NFData ListPhoneNumbersOptedOut where
 
 instance ToHeaders ListPhoneNumbersOptedOut where
         toHeaders = const mempty
@@ -109,11 +108,12 @@
 --
 -- /See:/ 'listPhoneNumbersOptedOutResponse' smart constructor.
 data ListPhoneNumbersOptedOutResponse = ListPhoneNumbersOptedOutResponse'
-    { _lpnoorsPhoneNumbers   :: !(Maybe [Text])
-    , _lpnoorsNextToken      :: !(Maybe Text)
-    , _lpnoorsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lpnoorsPhoneNumbers   :: !(Maybe [Text])
+  , _lpnoorsNextToken      :: !(Maybe Text)
+  , _lpnoorsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListPhoneNumbersOptedOutResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -127,12 +127,13 @@
     :: Int -- ^ 'lpnoorsResponseStatus'
     -> ListPhoneNumbersOptedOutResponse
 listPhoneNumbersOptedOutResponse pResponseStatus_ =
-    ListPhoneNumbersOptedOutResponse'
-    { _lpnoorsPhoneNumbers = Nothing
-    , _lpnoorsNextToken = Nothing
-    , _lpnoorsResponseStatus = pResponseStatus_
-    }
+  ListPhoneNumbersOptedOutResponse'
+  { _lpnoorsPhoneNumbers = Nothing
+  , _lpnoorsNextToken = Nothing
+  , _lpnoorsResponseStatus = pResponseStatus_
+  }
 
+
 -- | A list of phone numbers that are opted out of receiving SMS messages. The list is paginated, and each page can contain up to 100 phone numbers.
 lpnoorsPhoneNumbers :: Lens' ListPhoneNumbersOptedOutResponse [Text]
 lpnoorsPhoneNumbers = lens _lpnoorsPhoneNumbers (\ s a -> s{_lpnoorsPhoneNumbers = a}) . _Default . _Coerce;
@@ -146,3 +147,4 @@
 lpnoorsResponseStatus = lens _lpnoorsResponseStatus (\ s a -> s{_lpnoorsResponseStatus = a});
 
 instance NFData ListPhoneNumbersOptedOutResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ListPlatformApplications
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -40,13 +40,13 @@
     , lparsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for ListPlatformApplications action.
 --
@@ -54,9 +54,10 @@
 --
 -- /See:/ 'listPlatformApplications' smart constructor.
 newtype ListPlatformApplications = ListPlatformApplications'
-    { _lpaNextToken :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lpaNextToken :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListPlatformApplications' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,11 +65,9 @@
 -- * 'lpaNextToken' - NextToken string is used when calling ListPlatformApplications action to retrieve additional records that are available after the first page results.
 listPlatformApplications
     :: ListPlatformApplications
-listPlatformApplications =
-    ListPlatformApplications'
-    { _lpaNextToken = Nothing
-    }
+listPlatformApplications = ListPlatformApplications' {_lpaNextToken = Nothing}
 
+
 -- | NextToken string is used when calling ListPlatformApplications action to retrieve additional records that are available after the first page results.
 lpaNextToken :: Lens' ListPlatformApplications (Maybe Text)
 lpaNextToken = lens _lpaNextToken (\ s a -> s{_lpaNextToken = a});
@@ -93,9 +92,9 @@
                      <*> (x .@? "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListPlatformApplications
+instance Hashable ListPlatformApplications where
 
-instance NFData ListPlatformApplications
+instance NFData ListPlatformApplications where
 
 instance ToHeaders ListPlatformApplications where
         toHeaders = const mempty
@@ -117,11 +116,12 @@
 --
 -- /See:/ 'listPlatformApplicationsResponse' smart constructor.
 data ListPlatformApplicationsResponse = ListPlatformApplicationsResponse'
-    { _lparsPlatformApplications :: !(Maybe [PlatformApplication])
-    , _lparsNextToken            :: !(Maybe Text)
-    , _lparsResponseStatus       :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lparsPlatformApplications :: !(Maybe [PlatformApplication])
+  , _lparsNextToken            :: !(Maybe Text)
+  , _lparsResponseStatus       :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListPlatformApplicationsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -135,12 +135,13 @@
     :: Int -- ^ 'lparsResponseStatus'
     -> ListPlatformApplicationsResponse
 listPlatformApplicationsResponse pResponseStatus_ =
-    ListPlatformApplicationsResponse'
-    { _lparsPlatformApplications = Nothing
-    , _lparsNextToken = Nothing
-    , _lparsResponseStatus = pResponseStatus_
-    }
+  ListPlatformApplicationsResponse'
+  { _lparsPlatformApplications = Nothing
+  , _lparsNextToken = Nothing
+  , _lparsResponseStatus = pResponseStatus_
+  }
 
+
 -- | Platform applications returned when calling ListPlatformApplications action.
 lparsPlatformApplications :: Lens' ListPlatformApplicationsResponse [PlatformApplication]
 lparsPlatformApplications = lens _lparsPlatformApplications (\ s a -> s{_lparsPlatformApplications = a}) . _Default . _Coerce;
@@ -154,3 +155,4 @@
 lparsResponseStatus = lens _lparsResponseStatus (\ s a -> s{_lparsResponseStatus = a});
 
 instance NFData ListPlatformApplicationsResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ListSubscriptions
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -40,13 +40,13 @@
     , lsrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for ListSubscriptions action.
 --
@@ -54,9 +54,10 @@
 --
 -- /See:/ 'listSubscriptions' smart constructor.
 newtype ListSubscriptions = ListSubscriptions'
-    { _lsNextToken :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsNextToken :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSubscriptions' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,11 +65,9 @@
 -- * 'lsNextToken' - Token returned by the previous @ListSubscriptions@ request.
 listSubscriptions
     :: ListSubscriptions
-listSubscriptions =
-    ListSubscriptions'
-    { _lsNextToken = Nothing
-    }
+listSubscriptions = ListSubscriptions' {_lsNextToken = Nothing}
 
+
 -- | Token returned by the previous @ListSubscriptions@ request.
 lsNextToken :: Lens' ListSubscriptions (Maybe Text)
 lsNextToken = lens _lsNextToken (\ s a -> s{_lsNextToken = a});
@@ -92,9 +91,9 @@
                         may (parseXMLList "member"))
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListSubscriptions
+instance Hashable ListSubscriptions where
 
-instance NFData ListSubscriptions
+instance NFData ListSubscriptions where
 
 instance ToHeaders ListSubscriptions where
         toHeaders = const mempty
@@ -115,11 +114,12 @@
 --
 -- /See:/ 'listSubscriptionsResponse' smart constructor.
 data ListSubscriptionsResponse = ListSubscriptionsResponse'
-    { _lsrsNextToken      :: !(Maybe Text)
-    , _lsrsSubscriptions  :: !(Maybe [Subscription])
-    , _lsrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsrsNextToken      :: !(Maybe Text)
+  , _lsrsSubscriptions  :: !(Maybe [Subscription])
+  , _lsrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSubscriptionsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -133,12 +133,13 @@
     :: Int -- ^ 'lsrsResponseStatus'
     -> ListSubscriptionsResponse
 listSubscriptionsResponse pResponseStatus_ =
-    ListSubscriptionsResponse'
-    { _lsrsNextToken = Nothing
-    , _lsrsSubscriptions = Nothing
-    , _lsrsResponseStatus = pResponseStatus_
-    }
+  ListSubscriptionsResponse'
+  { _lsrsNextToken = Nothing
+  , _lsrsSubscriptions = Nothing
+  , _lsrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | Token to pass along to the next @ListSubscriptions@ request. This element is returned if there are more subscriptions to retrieve.
 lsrsNextToken :: Lens' ListSubscriptionsResponse (Maybe Text)
 lsrsNextToken = lens _lsrsNextToken (\ s a -> s{_lsrsNextToken = a});
@@ -151,4 +152,4 @@
 lsrsResponseStatus :: Lens' ListSubscriptionsResponse Int
 lsrsResponseStatus = lens _lsrsResponseStatus (\ s a -> s{_lsrsResponseStatus = a});
 
-instance NFData ListSubscriptionsResponse
+instance NFData ListSubscriptionsResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ListSubscriptionsByTopic
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -41,13 +41,13 @@
     , lsbtrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for ListSubscriptionsByTopic action.
 --
@@ -55,10 +55,11 @@
 --
 -- /See:/ 'listSubscriptionsByTopic' smart constructor.
 data ListSubscriptionsByTopic = ListSubscriptionsByTopic'
-    { _lsbtNextToken :: !(Maybe Text)
-    , _lsbtTopicARN  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsbtNextToken :: !(Maybe Text)
+  , _lsbtTopicARN  :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSubscriptionsByTopic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -70,11 +71,10 @@
     :: Text -- ^ 'lsbtTopicARN'
     -> ListSubscriptionsByTopic
 listSubscriptionsByTopic pTopicARN_ =
-    ListSubscriptionsByTopic'
-    { _lsbtNextToken = Nothing
-    , _lsbtTopicARN = pTopicARN_
-    }
+  ListSubscriptionsByTopic'
+  {_lsbtNextToken = Nothing, _lsbtTopicARN = pTopicARN_}
 
+
 -- | Token returned by the previous @ListSubscriptionsByTopic@ request.
 lsbtNextToken :: Lens' ListSubscriptionsByTopic (Maybe Text)
 lsbtNextToken = lens _lsbtNextToken (\ s a -> s{_lsbtNextToken = a});
@@ -103,9 +103,9 @@
                         may (parseXMLList "member"))
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListSubscriptionsByTopic
+instance Hashable ListSubscriptionsByTopic where
 
-instance NFData ListSubscriptionsByTopic
+instance NFData ListSubscriptionsByTopic where
 
 instance ToHeaders ListSubscriptionsByTopic where
         toHeaders = const mempty
@@ -128,11 +128,12 @@
 --
 -- /See:/ 'listSubscriptionsByTopicResponse' smart constructor.
 data ListSubscriptionsByTopicResponse = ListSubscriptionsByTopicResponse'
-    { _lsbtrsNextToken      :: !(Maybe Text)
-    , _lsbtrsSubscriptions  :: !(Maybe [Subscription])
-    , _lsbtrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsbtrsNextToken      :: !(Maybe Text)
+  , _lsbtrsSubscriptions  :: !(Maybe [Subscription])
+  , _lsbtrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSubscriptionsByTopicResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -146,12 +147,13 @@
     :: Int -- ^ 'lsbtrsResponseStatus'
     -> ListSubscriptionsByTopicResponse
 listSubscriptionsByTopicResponse pResponseStatus_ =
-    ListSubscriptionsByTopicResponse'
-    { _lsbtrsNextToken = Nothing
-    , _lsbtrsSubscriptions = Nothing
-    , _lsbtrsResponseStatus = pResponseStatus_
-    }
+  ListSubscriptionsByTopicResponse'
+  { _lsbtrsNextToken = Nothing
+  , _lsbtrsSubscriptions = Nothing
+  , _lsbtrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | Token to pass along to the next @ListSubscriptionsByTopic@ request. This element is returned if there are more subscriptions to retrieve.
 lsbtrsNextToken :: Lens' ListSubscriptionsByTopicResponse (Maybe Text)
 lsbtrsNextToken = lens _lsbtrsNextToken (\ s a -> s{_lsbtrsNextToken = a});
@@ -165,3 +167,4 @@
 lsbtrsResponseStatus = lens _lsbtrsResponseStatus (\ s a -> s{_lsbtrsResponseStatus = a});
 
 instance NFData ListSubscriptionsByTopicResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.ListTopics
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -40,19 +40,20 @@
     , ltrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | /See:/ 'listTopics' smart constructor.
 newtype ListTopics = ListTopics'
-    { _ltNextToken :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ltNextToken :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListTopics' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -60,11 +61,9 @@
 -- * 'ltNextToken' - Token returned by the previous @ListTopics@ request.
 listTopics
     :: ListTopics
-listTopics =
-    ListTopics'
-    { _ltNextToken = Nothing
-    }
+listTopics = ListTopics' {_ltNextToken = Nothing}
 
+
 -- | Token returned by the previous @ListTopics@ request.
 ltNextToken :: Lens' ListTopics (Maybe Text)
 ltNextToken = lens _ltNextToken (\ s a -> s{_ltNextToken = a});
@@ -88,9 +87,9 @@
                      <*> (x .@? "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListTopics
+instance Hashable ListTopics where
 
-instance NFData ListTopics
+instance NFData ListTopics where
 
 instance ToHeaders ListTopics where
         toHeaders = const mempty
@@ -111,11 +110,12 @@
 --
 -- /See:/ 'listTopicsResponse' smart constructor.
 data ListTopicsResponse = ListTopicsResponse'
-    { _ltrsTopics         :: !(Maybe [Topic])
-    , _ltrsNextToken      :: !(Maybe Text)
-    , _ltrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ltrsTopics         :: !(Maybe [Topic])
+  , _ltrsNextToken      :: !(Maybe Text)
+  , _ltrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListTopicsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -129,12 +129,13 @@
     :: Int -- ^ 'ltrsResponseStatus'
     -> ListTopicsResponse
 listTopicsResponse pResponseStatus_ =
-    ListTopicsResponse'
-    { _ltrsTopics = Nothing
-    , _ltrsNextToken = Nothing
-    , _ltrsResponseStatus = pResponseStatus_
-    }
+  ListTopicsResponse'
+  { _ltrsTopics = Nothing
+  , _ltrsNextToken = Nothing
+  , _ltrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | A list of topic ARNs.
 ltrsTopics :: Lens' ListTopicsResponse [Topic]
 ltrsTopics = lens _ltrsTopics (\ s a -> s{_ltrsTopics = a}) . _Default . _Coerce;
@@ -147,4 +148,4 @@
 ltrsResponseStatus :: Lens' ListTopicsResponse Int
 ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a});
 
-instance NFData ListTopicsResponse
+instance NFData ListTopicsResponse where
diff --git a/gen/Network/AWS/SNS/OptInPhoneNumber.hs b/gen/Network/AWS/SNS/OptInPhoneNumber.hs
--- a/gen/Network/AWS/SNS/OptInPhoneNumber.hs
+++ b/gen/Network/AWS/SNS/OptInPhoneNumber.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.OptInPhoneNumber
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -38,12 +38,12 @@
     , oipnrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for the OptInPhoneNumber action.
 --
@@ -51,9 +51,10 @@
 --
 -- /See:/ 'optInPhoneNumber' smart constructor.
 newtype OptInPhoneNumber = OptInPhoneNumber'
-    { _oipnPhoneNumber :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _oipnPhoneNumber :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'OptInPhoneNumber' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,10 +64,9 @@
     :: Text -- ^ 'oipnPhoneNumber'
     -> OptInPhoneNumber
 optInPhoneNumber pPhoneNumber_ =
-    OptInPhoneNumber'
-    { _oipnPhoneNumber = pPhoneNumber_
-    }
+  OptInPhoneNumber' {_oipnPhoneNumber = pPhoneNumber_}
 
+
 -- | The phone number to opt in.
 oipnPhoneNumber :: Lens' OptInPhoneNumber Text
 oipnPhoneNumber = lens _oipnPhoneNumber (\ s a -> s{_oipnPhoneNumber = a});
@@ -79,9 +79,9 @@
               (\ s h x ->
                  OptInPhoneNumberResponse' <$> (pure (fromEnum s)))
 
-instance Hashable OptInPhoneNumber
+instance Hashable OptInPhoneNumber where
 
-instance NFData OptInPhoneNumber
+instance NFData OptInPhoneNumber where
 
 instance ToHeaders OptInPhoneNumber where
         toHeaders = const mempty
@@ -102,9 +102,10 @@
 --
 -- /See:/ 'optInPhoneNumberResponse' smart constructor.
 newtype OptInPhoneNumberResponse = OptInPhoneNumberResponse'
-    { _oipnrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _oipnrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'OptInPhoneNumberResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -114,12 +115,11 @@
     :: Int -- ^ 'oipnrsResponseStatus'
     -> OptInPhoneNumberResponse
 optInPhoneNumberResponse pResponseStatus_ =
-    OptInPhoneNumberResponse'
-    { _oipnrsResponseStatus = pResponseStatus_
-    }
+  OptInPhoneNumberResponse' {_oipnrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 oipnrsResponseStatus :: Lens' OptInPhoneNumberResponse Int
 oipnrsResponseStatus = lens _oipnrsResponseStatus (\ s a -> s{_oipnrsResponseStatus = a});
 
-instance NFData OptInPhoneNumberResponse
+instance NFData OptInPhoneNumberResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Publish
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -47,12 +47,12 @@
     , prsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for Publish action.
 --
@@ -60,15 +60,16 @@
 --
 -- /See:/ 'publish' smart constructor.
 data Publish = Publish'
-    { _pSubject           :: !(Maybe Text)
-    , _pTargetARN         :: !(Maybe Text)
-    , _pMessageAttributes :: !(Maybe (Map Text MessageAttributeValue))
-    , _pTopicARN          :: !(Maybe Text)
-    , _pPhoneNumber       :: !(Maybe Text)
-    , _pMessageStructure  :: !(Maybe Text)
-    , _pMessage           :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _pSubject           :: !(Maybe Text)
+  , _pTargetARN         :: !(Maybe Text)
+  , _pMessageAttributes :: !(Maybe (Map Text MessageAttributeValue))
+  , _pTopicARN          :: !(Maybe Text)
+  , _pPhoneNumber       :: !(Maybe Text)
+  , _pMessageStructure  :: !(Maybe Text)
+  , _pMessage           :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Publish' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -90,16 +91,17 @@
     :: Text -- ^ 'pMessage'
     -> Publish
 publish pMessage_ =
-    Publish'
-    { _pSubject = Nothing
-    , _pTargetARN = Nothing
-    , _pMessageAttributes = Nothing
-    , _pTopicARN = Nothing
-    , _pPhoneNumber = Nothing
-    , _pMessageStructure = Nothing
-    , _pMessage = pMessage_
-    }
+  Publish'
+  { _pSubject = Nothing
+  , _pTargetARN = Nothing
+  , _pMessageAttributes = Nothing
+  , _pTopicARN = Nothing
+  , _pPhoneNumber = Nothing
+  , _pMessageStructure = Nothing
+  , _pMessage = pMessage_
+  }
 
+
 -- | Optional parameter to be used as the "Subject" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints. Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.
 pSubject :: Lens' Publish (Maybe Text)
 pSubject = lens _pSubject (\ s a -> s{_pSubject = a});
@@ -137,9 +139,9 @@
                  PublishResponse' <$>
                    (x .@? "MessageId") <*> (pure (fromEnum s)))
 
-instance Hashable Publish
+instance Hashable Publish where
 
-instance NFData Publish
+instance NFData Publish where
 
 instance ToHeaders Publish where
         toHeaders = const mempty
@@ -168,10 +170,11 @@
 --
 -- /See:/ 'publishResponse' smart constructor.
 data PublishResponse = PublishResponse'
-    { _prsMessageId      :: !(Maybe Text)
-    , _prsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _prsMessageId      :: !(Maybe Text)
+  , _prsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'PublishResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -183,11 +186,10 @@
     :: Int -- ^ 'prsResponseStatus'
     -> PublishResponse
 publishResponse pResponseStatus_ =
-    PublishResponse'
-    { _prsMessageId = Nothing
-    , _prsResponseStatus = pResponseStatus_
-    }
+  PublishResponse'
+  {_prsMessageId = Nothing, _prsResponseStatus = pResponseStatus_}
 
+
 -- | Unique identifier assigned to the published message. Length Constraint: Maximum 100 characters
 prsMessageId :: Lens' PublishResponse (Maybe Text)
 prsMessageId = lens _prsMessageId (\ s a -> s{_prsMessageId = a});
@@ -196,4 +198,4 @@
 prsResponseStatus :: Lens' PublishResponse Int
 prsResponseStatus = lens _prsResponseStatus (\ s a -> s{_prsResponseStatus = a});
 
-instance NFData PublishResponse
+instance NFData PublishResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.RemovePermission
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -35,12 +35,12 @@
     , RemovePermissionResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for RemovePermission action.
 --
@@ -48,10 +48,11 @@
 --
 -- /See:/ 'removePermission' smart constructor.
 data RemovePermission = RemovePermission'
-    { _rpTopicARN :: !Text
-    , _rpLabel    :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rpTopicARN :: !Text
+  , _rpLabel    :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RemovePermission' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,11 +65,9 @@
     -> Text -- ^ 'rpLabel'
     -> RemovePermission
 removePermission pTopicARN_ pLabel_ =
-    RemovePermission'
-    { _rpTopicARN = pTopicARN_
-    , _rpLabel = pLabel_
-    }
+  RemovePermission' {_rpTopicARN = pTopicARN_, _rpLabel = pLabel_}
 
+
 -- | The ARN of the topic whose access control policy you wish to modify.
 rpTopicARN :: Lens' RemovePermission Text
 rpTopicARN = lens _rpTopicARN (\ s a -> s{_rpTopicARN = a});
@@ -82,9 +81,9 @@
         request = postQuery sns
         response = receiveNull RemovePermissionResponse'
 
-instance Hashable RemovePermission
+instance Hashable RemovePermission where
 
-instance NFData RemovePermission
+instance NFData RemovePermission where
 
 instance ToHeaders RemovePermission where
         toHeaders = const mempty
@@ -101,13 +100,15 @@
 
 -- | /See:/ 'removePermissionResponse' smart constructor.
 data RemovePermissionResponse =
-    RemovePermissionResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  RemovePermissionResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RemovePermissionResponse' with the minimum fields required to make a request.
 --
 removePermissionResponse
     :: RemovePermissionResponse
 removePermissionResponse = RemovePermissionResponse'
 
-instance NFData RemovePermissionResponse
+
+instance NFData RemovePermissionResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.SetEndpointAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -35,12 +35,12 @@
     , SetEndpointAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for SetEndpointAttributes action.
 --
@@ -48,10 +48,11 @@
 --
 -- /See:/ 'setEndpointAttributes' smart constructor.
 data SetEndpointAttributes = SetEndpointAttributes'
-    { _seaEndpointARN :: !Text
-    , _seaAttributes  :: !(Map Text Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _seaEndpointARN :: !Text
+  , _seaAttributes  :: !(Map Text Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetEndpointAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,11 +64,10 @@
     :: Text -- ^ 'seaEndpointARN'
     -> SetEndpointAttributes
 setEndpointAttributes pEndpointARN_ =
-    SetEndpointAttributes'
-    { _seaEndpointARN = pEndpointARN_
-    , _seaAttributes = mempty
-    }
+  SetEndpointAttributes'
+  {_seaEndpointARN = pEndpointARN_, _seaAttributes = mempty}
 
+
 -- | EndpointArn used for SetEndpointAttributes action.
 seaEndpointARN :: Lens' SetEndpointAttributes Text
 seaEndpointARN = lens _seaEndpointARN (\ s a -> s{_seaEndpointARN = a});
@@ -82,9 +82,9 @@
         request = postQuery sns
         response = receiveNull SetEndpointAttributesResponse'
 
-instance Hashable SetEndpointAttributes
+instance Hashable SetEndpointAttributes where
 
-instance NFData SetEndpointAttributes
+instance NFData SetEndpointAttributes where
 
 instance ToHeaders SetEndpointAttributes where
         toHeaders = const mempty
@@ -103,13 +103,15 @@
 
 -- | /See:/ 'setEndpointAttributesResponse' smart constructor.
 data SetEndpointAttributesResponse =
-    SetEndpointAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  SetEndpointAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetEndpointAttributesResponse' with the minimum fields required to make a request.
 --
 setEndpointAttributesResponse
     :: SetEndpointAttributesResponse
 setEndpointAttributesResponse = SetEndpointAttributesResponse'
 
-instance NFData SetEndpointAttributesResponse
+
+instance NFData SetEndpointAttributesResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.SetPlatformApplicationAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -35,12 +35,12 @@
     , SetPlatformApplicationAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for SetPlatformApplicationAttributes action.
 --
@@ -48,10 +48,11 @@
 --
 -- /See:/ 'setPlatformApplicationAttributes' smart constructor.
 data SetPlatformApplicationAttributes = SetPlatformApplicationAttributes'
-    { _spaaPlatformApplicationARN :: !Text
-    , _spaaAttributes             :: !(Map Text Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _spaaPlatformApplicationARN :: !Text
+  , _spaaAttributes             :: !(Map Text Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetPlatformApplicationAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,11 +64,12 @@
     :: Text -- ^ 'spaaPlatformApplicationARN'
     -> SetPlatformApplicationAttributes
 setPlatformApplicationAttributes pPlatformApplicationARN_ =
-    SetPlatformApplicationAttributes'
-    { _spaaPlatformApplicationARN = pPlatformApplicationARN_
-    , _spaaAttributes = mempty
-    }
+  SetPlatformApplicationAttributes'
+  { _spaaPlatformApplicationARN = pPlatformApplicationARN_
+  , _spaaAttributes = mempty
+  }
 
+
 -- | PlatformApplicationArn for SetPlatformApplicationAttributes action.
 spaaPlatformApplicationARN :: Lens' SetPlatformApplicationAttributes Text
 spaaPlatformApplicationARN = lens _spaaPlatformApplicationARN (\ s a -> s{_spaaPlatformApplicationARN = a});
@@ -86,8 +88,10 @@
               SetPlatformApplicationAttributesResponse'
 
 instance Hashable SetPlatformApplicationAttributes
+         where
 
 instance NFData SetPlatformApplicationAttributes
+         where
 
 instance ToHeaders SetPlatformApplicationAttributes
          where
@@ -111,15 +115,18 @@
 
 -- | /See:/ 'setPlatformApplicationAttributesResponse' smart constructor.
 data SetPlatformApplicationAttributesResponse =
-    SetPlatformApplicationAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  SetPlatformApplicationAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetPlatformApplicationAttributesResponse' with the minimum fields required to make a request.
 --
 setPlatformApplicationAttributesResponse
     :: SetPlatformApplicationAttributesResponse
 setPlatformApplicationAttributesResponse =
-    SetPlatformApplicationAttributesResponse'
+  SetPlatformApplicationAttributesResponse'
 
+
 instance NFData
-         SetPlatformApplicationAttributesResponse
+           SetPlatformApplicationAttributesResponse
+         where
diff --git a/gen/Network/AWS/SNS/SetSMSAttributes.hs b/gen/Network/AWS/SNS/SetSMSAttributes.hs
--- a/gen/Network/AWS/SNS/SetSMSAttributes.hs
+++ b/gen/Network/AWS/SNS/SetSMSAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.SetSMSAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -38,12 +38,12 @@
     , ssmsarsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | The input for the SetSMSAttributes action.
 --
@@ -51,9 +51,10 @@
 --
 -- /See:/ 'setSMSAttributes' smart constructor.
 newtype SetSMSAttributes = SetSMSAttributes'
-    { _ssmsaAttributes :: Map Text Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ssmsaAttributes :: Map Text Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetSMSAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -61,11 +62,9 @@
 -- * 'ssmsaAttributes' - The default settings for sending SMS messages from your account. You can set values for the following attribute names: @MonthlySpendLimit@ – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes. /Important:/ Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit. By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to exceed the maximum, contact <https://aws.amazon.com/premiumsupport/ AWS Support> or your AWS sales representative for a service limit increase. @DeliveryStatusIAMRole@ – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information. @DeliveryStatusSuccessSamplingRate@ – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to @0@ . To write logs for 10% of your successful deliveries, set it to @10@ . @DefaultSenderID@ – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter. @DefaultSMSType@ – The type of SMS message that you will send by default. You can assign the following values:     * @Promotional@ – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.     * @Transactional@ – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability. @UsageReportS3Bucket@ – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:     * Time that the message was published (in UTC)     * Message ID     * Destination phone number     * Message type     * Delivery status     * Message price (in USD)     * Part number (a message is split into multiple parts if it is too long for a single message)     * Total number of parts To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the @s3:PutObject@ and @s3:GetBucketLocation@ actions. For an example bucket policy and usage report, see <http://docs.aws.amazon.com/sns/latest/dg/sms_stats.html Monitoring SMS Activity> in the /Amazon SNS Developer Guide/ .
 setSMSAttributes
     :: SetSMSAttributes
-setSMSAttributes =
-    SetSMSAttributes'
-    { _ssmsaAttributes = mempty
-    }
+setSMSAttributes = SetSMSAttributes' {_ssmsaAttributes = mempty}
 
+
 -- | The default settings for sending SMS messages from your account. You can set values for the following attribute names: @MonthlySpendLimit@ – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes. /Important:/ Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit. By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to exceed the maximum, contact <https://aws.amazon.com/premiumsupport/ AWS Support> or your AWS sales representative for a service limit increase. @DeliveryStatusIAMRole@ – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information. @DeliveryStatusSuccessSamplingRate@ – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to @0@ . To write logs for 10% of your successful deliveries, set it to @10@ . @DefaultSenderID@ – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter. @DefaultSMSType@ – The type of SMS message that you will send by default. You can assign the following values:     * @Promotional@ – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.     * @Transactional@ – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability. @UsageReportS3Bucket@ – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:     * Time that the message was published (in UTC)     * Message ID     * Destination phone number     * Message type     * Delivery status     * Message price (in USD)     * Part number (a message is split into multiple parts if it is too long for a single message)     * Total number of parts To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the @s3:PutObject@ and @s3:GetBucketLocation@ actions. For an example bucket policy and usage report, see <http://docs.aws.amazon.com/sns/latest/dg/sms_stats.html Monitoring SMS Activity> in the /Amazon SNS Developer Guide/ .
 ssmsaAttributes :: Lens' SetSMSAttributes (HashMap Text Text)
 ssmsaAttributes = lens _ssmsaAttributes (\ s a -> s{_ssmsaAttributes = a}) . _Map;
@@ -78,9 +77,9 @@
               (\ s h x ->
                  SetSMSAttributesResponse' <$> (pure (fromEnum s)))
 
-instance Hashable SetSMSAttributes
+instance Hashable SetSMSAttributes where
 
-instance NFData SetSMSAttributes
+instance NFData SetSMSAttributes where
 
 instance ToHeaders SetSMSAttributes where
         toHeaders = const mempty
@@ -102,9 +101,10 @@
 --
 -- /See:/ 'setSMSAttributesResponse' smart constructor.
 newtype SetSMSAttributesResponse = SetSMSAttributesResponse'
-    { _ssmsarsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ssmsarsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetSMSAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -114,12 +114,11 @@
     :: Int -- ^ 'ssmsarsResponseStatus'
     -> SetSMSAttributesResponse
 setSMSAttributesResponse pResponseStatus_ =
-    SetSMSAttributesResponse'
-    { _ssmsarsResponseStatus = pResponseStatus_
-    }
+  SetSMSAttributesResponse' {_ssmsarsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 ssmsarsResponseStatus :: Lens' SetSMSAttributesResponse Int
 ssmsarsResponseStatus = lens _ssmsarsResponseStatus (\ s a -> s{_ssmsarsResponseStatus = a});
 
-instance NFData SetSMSAttributesResponse
+instance NFData SetSMSAttributesResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.SetSubscriptionAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -36,12 +36,12 @@
     , SetSubscriptionAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for SetSubscriptionAttributes action.
 --
@@ -49,11 +49,12 @@
 --
 -- /See:/ 'setSubscriptionAttributes' smart constructor.
 data SetSubscriptionAttributes = SetSubscriptionAttributes'
-    { _ssaAttributeValue  :: !(Maybe Text)
-    , _ssaSubscriptionARN :: !Text
-    , _ssaAttributeName   :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ssaAttributeValue  :: !(Maybe Text)
+  , _ssaSubscriptionARN :: !Text
+  , _ssaAttributeName   :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetSubscriptionAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -68,12 +69,13 @@
     -> Text -- ^ 'ssaAttributeName'
     -> SetSubscriptionAttributes
 setSubscriptionAttributes pSubscriptionARN_ pAttributeName_ =
-    SetSubscriptionAttributes'
-    { _ssaAttributeValue = Nothing
-    , _ssaSubscriptionARN = pSubscriptionARN_
-    , _ssaAttributeName = pAttributeName_
-    }
+  SetSubscriptionAttributes'
+  { _ssaAttributeValue = Nothing
+  , _ssaSubscriptionARN = pSubscriptionARN_
+  , _ssaAttributeName = pAttributeName_
+  }
 
+
 -- | The new value for the attribute in JSON format.
 ssaAttributeValue :: Lens' SetSubscriptionAttributes (Maybe Text)
 ssaAttributeValue = lens _ssaAttributeValue (\ s a -> s{_ssaAttributeValue = a});
@@ -93,9 +95,9 @@
         response
           = receiveNull SetSubscriptionAttributesResponse'
 
-instance Hashable SetSubscriptionAttributes
+instance Hashable SetSubscriptionAttributes where
 
-instance NFData SetSubscriptionAttributes
+instance NFData SetSubscriptionAttributes where
 
 instance ToHeaders SetSubscriptionAttributes where
         toHeaders = const mempty
@@ -115,13 +117,16 @@
 
 -- | /See:/ 'setSubscriptionAttributesResponse' smart constructor.
 data SetSubscriptionAttributesResponse =
-    SetSubscriptionAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  SetSubscriptionAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetSubscriptionAttributesResponse' with the minimum fields required to make a request.
 --
 setSubscriptionAttributesResponse
     :: SetSubscriptionAttributesResponse
 setSubscriptionAttributesResponse = SetSubscriptionAttributesResponse'
 
+
 instance NFData SetSubscriptionAttributesResponse
+         where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.SetTopicAttributes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -36,12 +36,12 @@
     , SetTopicAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for SetTopicAttributes action.
 --
@@ -49,11 +49,12 @@
 --
 -- /See:/ 'setTopicAttributes' smart constructor.
 data SetTopicAttributes = SetTopicAttributes'
-    { _staAttributeValue :: !(Maybe Text)
-    , _staTopicARN       :: !Text
-    , _staAttributeName  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _staAttributeValue :: !(Maybe Text)
+  , _staTopicARN       :: !Text
+  , _staAttributeName  :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetTopicAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -68,12 +69,13 @@
     -> Text -- ^ 'staAttributeName'
     -> SetTopicAttributes
 setTopicAttributes pTopicARN_ pAttributeName_ =
-    SetTopicAttributes'
-    { _staAttributeValue = Nothing
-    , _staTopicARN = pTopicARN_
-    , _staAttributeName = pAttributeName_
-    }
+  SetTopicAttributes'
+  { _staAttributeValue = Nothing
+  , _staTopicARN = pTopicARN_
+  , _staAttributeName = pAttributeName_
+  }
 
+
 -- | The new value for the attribute.
 staAttributeValue :: Lens' SetTopicAttributes (Maybe Text)
 staAttributeValue = lens _staAttributeValue (\ s a -> s{_staAttributeValue = a});
@@ -92,9 +94,9 @@
         request = postQuery sns
         response = receiveNull SetTopicAttributesResponse'
 
-instance Hashable SetTopicAttributes
+instance Hashable SetTopicAttributes where
 
-instance NFData SetTopicAttributes
+instance NFData SetTopicAttributes where
 
 instance ToHeaders SetTopicAttributes where
         toHeaders = const mempty
@@ -113,13 +115,15 @@
 
 -- | /See:/ 'setTopicAttributesResponse' smart constructor.
 data SetTopicAttributesResponse =
-    SetTopicAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  SetTopicAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetTopicAttributesResponse' with the minimum fields required to make a request.
 --
 setTopicAttributesResponse
     :: SetTopicAttributesResponse
 setTopicAttributesResponse = SetTopicAttributesResponse'
 
-instance NFData SetTopicAttributesResponse
+
+instance NFData SetTopicAttributesResponse where
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Subscribe
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -39,12 +39,12 @@
     , srsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for Subscribe action.
 --
@@ -52,11 +52,12 @@
 --
 -- /See:/ 'subscribe' smart constructor.
 data Subscribe = Subscribe'
-    { _subEndpoint :: !(Maybe Text)
-    , _subTopicARN :: !Text
-    , _subProtocol :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _subEndpoint :: !(Maybe Text)
+  , _subTopicARN :: !Text
+  , _subProtocol :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Subscribe' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -71,12 +72,10 @@
     -> Text -- ^ 'subProtocol'
     -> Subscribe
 subscribe pTopicARN_ pProtocol_ =
-    Subscribe'
-    { _subEndpoint = Nothing
-    , _subTopicARN = pTopicARN_
-    , _subProtocol = pProtocol_
-    }
+  Subscribe'
+  {_subEndpoint = Nothing, _subTopicARN = pTopicARN_, _subProtocol = pProtocol_}
 
+
 -- | The endpoint that you want to receive notifications. Endpoints vary by protocol:     * For the @http@ protocol, the endpoint is an URL beginning with "http://"     * For the @https@ protocol, the endpoint is a URL beginning with "https://"     * For the @email@ protocol, the endpoint is an email address     * For the @email-json@ protocol, the endpoint is an email address     * For the @sms@ protocol, the endpoint is a phone number of an SMS-enabled device     * For the @sqs@ protocol, the endpoint is the ARN of an Amazon SQS queue     * For the @application@ protocol, the endpoint is the EndpointArn of a mobile app and device.     * For the @lambda@ protocol, the endpoint is the ARN of an AWS Lambda function.
 subEndpoint :: Lens' Subscribe (Maybe Text)
 subEndpoint = lens _subEndpoint (\ s a -> s{_subEndpoint = a});
@@ -98,9 +97,9 @@
                  SubscribeResponse' <$>
                    (x .@? "SubscriptionArn") <*> (pure (fromEnum s)))
 
-instance Hashable Subscribe
+instance Hashable Subscribe where
 
-instance NFData Subscribe
+instance NFData Subscribe where
 
 instance ToHeaders Subscribe where
         toHeaders = const mempty
@@ -123,10 +122,11 @@
 --
 -- /See:/ 'subscribeResponse' smart constructor.
 data SubscribeResponse = SubscribeResponse'
-    { _srsSubscriptionARN :: !(Maybe Text)
-    , _srsResponseStatus  :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _srsSubscriptionARN :: !(Maybe Text)
+  , _srsResponseStatus  :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SubscribeResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -138,11 +138,10 @@
     :: Int -- ^ 'srsResponseStatus'
     -> SubscribeResponse
 subscribeResponse pResponseStatus_ =
-    SubscribeResponse'
-    { _srsSubscriptionARN = Nothing
-    , _srsResponseStatus = pResponseStatus_
-    }
+  SubscribeResponse'
+  {_srsSubscriptionARN = Nothing, _srsResponseStatus = pResponseStatus_}
 
+
 -- | The ARN of the subscription, if the service was able to create a subscription immediately (without requiring endpoint owner confirmation).
 srsSubscriptionARN :: Lens' SubscribeResponse (Maybe Text)
 srsSubscriptionARN = lens _srsSubscriptionARN (\ s a -> s{_srsSubscriptionARN = a});
@@ -151,4 +150,4 @@
 srsResponseStatus :: Lens' SubscribeResponse Int
 srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});
 
-instance NFData SubscribeResponse
+instance NFData SubscribeResponse where
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
@@ -4,9 +4,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Types
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -61,38 +61,40 @@
     , tTopicARN
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Sign.V4
-import           Network.AWS.SNS.Types.Product
-import           Network.AWS.SNS.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Sign.V4
+import Network.AWS.SNS.Types.Product
+import Network.AWS.SNS.Types.Sum
 
 -- | API version @2010-03-31@ of the Amazon Simple Notification Service SDK configuration.
 sns :: Service
 sns =
-    Service
-    { _svcAbbrev = "SNS"
-    , _svcSigner = v4
-    , _svcPrefix = "sns"
-    , _svcVersion = "2010-03-31"
-    , _svcEndpoint = defaultEndpoint sns
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseXMLError "SNS"
-    , _svcRetry = retry
-    }
+  Service
+  { _svcAbbrev = "SNS"
+  , _svcSigner = v4
+  , _svcPrefix = "sns"
+  , _svcVersion = "2010-03-31"
+  , _svcEndpoint = defaultEndpoint sns
+  , _svcTimeout = Just 70
+  , _svcCheck = statusSuccess
+  , _svcError = parseXMLError "SNS"
+  , _svcRetry = retry
+  }
   where
     retry =
-        Exponential
-        { _retryBase = 5.0e-2
-        , _retryGrowth = 2
-        , _retryAttempts = 5
-        , _retryCheck = check
-        }
+      Exponential
+      { _retryBase = 5.0e-2
+      , _retryGrowth = 2
+      , _retryAttempts = 5
+      , _retryCheck = check
+      }
     check e
+      | has (hasCode "ThrottledException" . hasStatus 400) e =
+        Just "throttled_exception"
       | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
-          Just "throttling_exception"
+        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"
@@ -101,70 +103,80 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+
 -- | Exception error indicating endpoint disabled.
 --
 --
 _EndpointDisabledException :: AsError a => Getting (First ServiceError) a ServiceError
 _EndpointDisabledException =
-    _ServiceError . hasStatus 400 . hasCode "EndpointDisabled"
+  _MatchServiceError sns "EndpointDisabled" . hasStatus 400
 
+
 -- | Indicates that the user has been denied access to the requested resource.
 --
 --
 _AuthorizationErrorException :: AsError a => Getting (First ServiceError) a ServiceError
 _AuthorizationErrorException =
-    _ServiceError . hasStatus 403 . hasCode "AuthorizationError"
+  _MatchServiceError sns "AuthorizationError" . hasStatus 403
 
+
 -- | Indicates that a request parameter does not comply with the associated constraints.
 --
 --
 _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidParameterException =
-    _ServiceError . hasStatus 400 . hasCode "InvalidParameter"
+  _MatchServiceError sns "InvalidParameter" . hasStatus 400
 
+
 -- | Indicates that the customer already owns the maximum allowed number of subscriptions.
 --
 --
 _SubscriptionLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _SubscriptionLimitExceededException =
-    _ServiceError . hasStatus 403 . hasCode "SubscriptionLimitExceeded"
+  _MatchServiceError sns "SubscriptionLimitExceeded" . hasStatus 403
 
+
 -- | Exception error indicating platform application disabled.
 --
 --
 _PlatformApplicationDisabledException :: AsError a => Getting (First ServiceError) a ServiceError
 _PlatformApplicationDisabledException =
-    _ServiceError . hasStatus 400 . hasCode "PlatformApplicationDisabled"
+  _MatchServiceError sns "PlatformApplicationDisabled" . hasStatus 400
 
+
 -- | Indicates an internal service error.
 --
 --
 _InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
-_InternalErrorException =
-    _ServiceError . hasStatus 500 . hasCode "InternalError"
+_InternalErrorException = _MatchServiceError sns "InternalError" . hasStatus 500
 
+
 -- | Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.
 --
 --
 _ThrottledException :: AsError a => Getting (First ServiceError) a ServiceError
-_ThrottledException = _ServiceError . hasStatus 429 . hasCode "Throttled"
+_ThrottledException = _MatchServiceError sns "Throttled" . hasStatus 429
 
+
 -- | Indicates that a request parameter does not comply with the associated constraints.
 --
 --
 _InvalidParameterValueException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidParameterValueException =
-    _ServiceError . hasStatus 400 . hasCode "ParameterValueInvalid"
+  _MatchServiceError sns "ParameterValueInvalid" . hasStatus 400
 
+
 -- | Indicates that the requested resource does not exist.
 --
 --
 _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
-_NotFoundException = _ServiceError . hasStatus 404 . hasCode "NotFound"
+_NotFoundException = _MatchServiceError sns "NotFound" . hasStatus 404
 
+
 -- | Indicates that the customer already owns the maximum allowed number of topics.
 --
 --
 _TopicLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _TopicLimitExceededException =
-    _ServiceError . hasStatus 403 . hasCode "TopicLimitExceeded"
+  _MatchServiceError sns "TopicLimitExceeded" . hasStatus 403
+
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
@@ -9,17 +9,17 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Types.Product
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.SNS.Types.Product where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.SNS.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.SNS.Types.Sum
 
 -- | Endpoint for mobile app and device.
 --
@@ -27,10 +27,11 @@
 --
 -- /See:/ 'endpoint' smart constructor.
 data Endpoint = Endpoint'
-    { _eAttributes  :: !(Maybe (Map Text Text))
-    , _eEndpointARN :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eAttributes  :: !(Maybe (Map Text Text))
+  , _eEndpointARN :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Endpoint' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -40,12 +41,9 @@
 -- * 'eEndpointARN' - EndpointArn for mobile app and device.
 endpoint
     :: Endpoint
-endpoint =
-    Endpoint'
-    { _eAttributes = Nothing
-    , _eEndpointARN = Nothing
-    }
+endpoint = Endpoint' {_eAttributes = Nothing, _eEndpointARN = Nothing}
 
+
 -- | Attributes for endpoint.
 eAttributes :: Lens' Endpoint (HashMap Text Text)
 eAttributes = lens _eAttributes (\ s a -> s{_eAttributes = a}) . _Default . _Map;
@@ -61,9 +59,9 @@
                  may (parseXMLMap "entry" "key" "value"))
                 <*> (x .@? "EndpointArn")
 
-instance Hashable Endpoint
+instance Hashable Endpoint where
 
-instance NFData Endpoint
+instance NFData Endpoint where
 
 -- | 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 <http://docs.aws.amazon.com/sns/latest/api/API_Publish.html Publish> .
 --
@@ -73,11 +71,12 @@
 --
 -- /See:/ 'messageAttributeValue' smart constructor.
 data MessageAttributeValue = MessageAttributeValue'
-    { _mavBinaryValue :: !(Maybe Base64)
-    , _mavStringValue :: !(Maybe Text)
-    , _mavDataType    :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _mavBinaryValue :: !(Maybe Base64)
+  , _mavStringValue :: !(Maybe Text)
+  , _mavDataType    :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'MessageAttributeValue' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -91,12 +90,13 @@
     :: Text -- ^ 'mavDataType'
     -> MessageAttributeValue
 messageAttributeValue pDataType_ =
-    MessageAttributeValue'
-    { _mavBinaryValue = Nothing
-    , _mavStringValue = Nothing
-    , _mavDataType = pDataType_
-    }
+  MessageAttributeValue'
+  { _mavBinaryValue = Nothing
+  , _mavStringValue = Nothing
+  , _mavDataType = pDataType_
+  }
 
+
 -- | Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.
 mavBinaryValue :: Lens' MessageAttributeValue (Maybe ByteString)
 mavBinaryValue = lens _mavBinaryValue (\ s a -> s{_mavBinaryValue = a}) . mapping _Base64;
@@ -109,9 +109,9 @@
 mavDataType :: Lens' MessageAttributeValue Text
 mavDataType = lens _mavDataType (\ s a -> s{_mavDataType = a});
 
-instance Hashable MessageAttributeValue
+instance Hashable MessageAttributeValue where
 
-instance NFData MessageAttributeValue
+instance NFData MessageAttributeValue where
 
 instance ToQuery MessageAttributeValue where
         toQuery MessageAttributeValue'{..}
@@ -126,10 +126,11 @@
 --
 -- /See:/ 'platformApplication' smart constructor.
 data PlatformApplication = PlatformApplication'
-    { _paPlatformApplicationARN :: !(Maybe Text)
-    , _paAttributes             :: !(Maybe (Map Text Text))
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _paPlatformApplicationARN :: !(Maybe Text)
+  , _paAttributes             :: !(Maybe (Map Text Text))
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'PlatformApplication' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -140,11 +141,10 @@
 platformApplication
     :: PlatformApplication
 platformApplication =
-    PlatformApplication'
-    { _paPlatformApplicationARN = Nothing
-    , _paAttributes = Nothing
-    }
+  PlatformApplication'
+  {_paPlatformApplicationARN = Nothing, _paAttributes = Nothing}
 
+
 -- | PlatformApplicationArn for platform application object.
 paPlatformApplicationARN :: Lens' PlatformApplication (Maybe Text)
 paPlatformApplicationARN = lens _paPlatformApplicationARN (\ s a -> s{_paPlatformApplicationARN = a});
@@ -160,9 +160,9 @@
                 (x .@? "Attributes" .!@ mempty >>=
                    may (parseXMLMap "entry" "key" "value"))
 
-instance Hashable PlatformApplication
+instance Hashable PlatformApplication where
 
-instance NFData PlatformApplication
+instance NFData PlatformApplication where
 
 -- | A wrapper type for the attributes of an Amazon SNS subscription.
 --
@@ -170,13 +170,14 @@
 --
 -- /See:/ 'subscription' smart constructor.
 data Subscription = Subscription'
-    { _sProtocol        :: !(Maybe Text)
-    , _sOwner           :: !(Maybe Text)
-    , _sTopicARN        :: !(Maybe Text)
-    , _sEndpoint        :: !(Maybe Text)
-    , _sSubscriptionARN :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sProtocol        :: !(Maybe Text)
+  , _sOwner           :: !(Maybe Text)
+  , _sTopicARN        :: !(Maybe Text)
+  , _sEndpoint        :: !(Maybe Text)
+  , _sSubscriptionARN :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Subscription' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -193,14 +194,15 @@
 subscription
     :: Subscription
 subscription =
-    Subscription'
-    { _sProtocol = Nothing
-    , _sOwner = Nothing
-    , _sTopicARN = Nothing
-    , _sEndpoint = Nothing
-    , _sSubscriptionARN = Nothing
-    }
+  Subscription'
+  { _sProtocol = Nothing
+  , _sOwner = Nothing
+  , _sTopicARN = Nothing
+  , _sEndpoint = Nothing
+  , _sSubscriptionARN = Nothing
+  }
 
+
 -- | The subscription's protocol.
 sProtocol :: Lens' Subscription (Maybe Text)
 sProtocol = lens _sProtocol (\ s a -> s{_sProtocol = a});
@@ -229,9 +231,9 @@
                 <*> (x .@? "Endpoint")
                 <*> (x .@? "SubscriptionArn")
 
-instance Hashable Subscription
+instance Hashable Subscription where
 
-instance NFData Subscription
+instance NFData Subscription where
 
 -- | A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a topic's attributes, use @GetTopicAttributes@ .
 --
@@ -239,9 +241,10 @@
 --
 -- /See:/ 'topic' smart constructor.
 newtype Topic = Topic'
-    { _tTopicARN :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _tTopicARN :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Topic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -249,11 +252,9 @@
 -- * 'tTopicARN' - The topic's ARN.
 topic
     :: Topic
-topic =
-    Topic'
-    { _tTopicARN = Nothing
-    }
+topic = Topic' {_tTopicARN = Nothing}
 
+
 -- | The topic's ARN.
 tTopicARN :: Lens' Topic (Maybe Text)
 tTopicARN = lens _tTopicARN (\ s a -> s{_tTopicARN = a});
@@ -261,6 +262,6 @@
 instance FromXML Topic where
         parseXML x = Topic' <$> (x .@? "TopicArn")
 
-instance Hashable Topic
+instance Hashable Topic where
 
-instance NFData Topic
+instance NFData Topic where
diff --git a/gen/Network/AWS/SNS/Types/Sum.hs b/gen/Network/AWS/SNS/Types/Sum.hs
--- a/gen/Network/AWS/SNS/Types/Sum.hs
+++ b/gen/Network/AWS/SNS/Types/Sum.hs
@@ -9,12 +9,12 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Types.Sum
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.SNS.Types.Sum where
 
-import           Network.AWS.Prelude
+import Network.AWS.Prelude
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
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Unsubscribe
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -34,12 +34,12 @@
     , UnsubscribeResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SNS.Types
-import           Network.AWS.SNS.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SNS.Types
+import Network.AWS.SNS.Types.Product
 
 -- | Input for Unsubscribe action.
 --
@@ -47,9 +47,10 @@
 --
 -- /See:/ 'unsubscribe' smart constructor.
 newtype Unsubscribe = Unsubscribe'
-    { _uSubscriptionARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _uSubscriptionARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Unsubscribe' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -59,10 +60,9 @@
     :: Text -- ^ 'uSubscriptionARN'
     -> Unsubscribe
 unsubscribe pSubscriptionARN_ =
-    Unsubscribe'
-    { _uSubscriptionARN = pSubscriptionARN_
-    }
+  Unsubscribe' {_uSubscriptionARN = pSubscriptionARN_}
 
+
 -- | The ARN of the subscription to be deleted.
 uSubscriptionARN :: Lens' Unsubscribe Text
 uSubscriptionARN = lens _uSubscriptionARN (\ s a -> s{_uSubscriptionARN = a});
@@ -72,9 +72,9 @@
         request = postQuery sns
         response = receiveNull UnsubscribeResponse'
 
-instance Hashable Unsubscribe
+instance Hashable Unsubscribe where
 
-instance NFData Unsubscribe
+instance NFData Unsubscribe where
 
 instance ToHeaders Unsubscribe where
         toHeaders = const mempty
@@ -91,13 +91,15 @@
 
 -- | /See:/ 'unsubscribeResponse' smart constructor.
 data UnsubscribeResponse =
-    UnsubscribeResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  UnsubscribeResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UnsubscribeResponse' with the minimum fields required to make a request.
 --
 unsubscribeResponse
     :: UnsubscribeResponse
 unsubscribeResponse = UnsubscribeResponse'
 
-instance NFData UnsubscribeResponse
+
+instance NFData UnsubscribeResponse where
diff --git a/gen/Network/AWS/SNS/Waiters.hs b/gen/Network/AWS/SNS/Waiters.hs
--- a/gen/Network/AWS/SNS/Waiters.hs
+++ b/gen/Network/AWS/SNS/Waiters.hs
@@ -7,15 +7,15 @@
 
 -- |
 -- Module      : Network.AWS.SNS.Waiters
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.SNS.Waiters where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.SNS.Types
-import           Network.AWS.Waiter
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.SNS.Types
+import Network.AWS.Waiter
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,9 +2,9 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
diff --git a/test/Test/AWS/Gen/SNS.hs b/test/Test/AWS/Gen/SNS.hs
--- a/test/Test/AWS/Gen/SNS.hs
+++ b/test/Test/AWS/Gen/SNS.hs
@@ -5,20 +5,20 @@
 
 -- |
 -- Module      : Test.AWS.Gen.SNS
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Test.AWS.Gen.SNS where
 
 import Data.Proxy
+import Network.AWS.SNS
 import Test.AWS.Fixture
 import Test.AWS.Prelude
-import Test.Tasty
-import Network.AWS.SNS
 import Test.AWS.SNS.Internal
+import Test.Tasty
 
 -- Auto-generated: the actual test selection needs to be manually placed into
 -- the top-level so that real test data can be incrementally added.
