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-sdb.cabal b/amazonka-sdb.cabal
--- a/amazonka-sdb.cabal
+++ b/amazonka-sdb.cabal
@@ -1,13 +1,13 @@
 name:                  amazonka-sdb
-version:               1.4.5
+version:               1.5.0
 synopsis:              Amazon SimpleDB 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-sdb
 
 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.SDB
@@ -58,7 +63,7 @@
         , Network.AWS.SDB.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.5.*
+          amazonka-core == 1.5.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-sdb-test
@@ -78,9 +83,9 @@
         , Test.AWS.SDB.Internal
 
     build-depends:
-          amazonka-core == 1.4.5.*
-        , amazonka-test == 1.4.5.*
-        , amazonka-sdb == 1.4.5.*
+          amazonka-core == 1.5.0.*
+        , amazonka-test == 1.5.0.*
+        , amazonka-sdb
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/SDB.hs b/gen/Network/AWS/SDB.hs
--- a/gen/Network/AWS/SDB.hs
+++ b/gen/Network/AWS/SDB.hs
@@ -5,9 +5,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB
--- 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)
 --
@@ -155,18 +155,18 @@
     , ucName
     ) where
 
-import           Network.AWS.SDB.BatchDeleteAttributes
-import           Network.AWS.SDB.BatchPutAttributes
-import           Network.AWS.SDB.CreateDomain
-import           Network.AWS.SDB.DeleteAttributes
-import           Network.AWS.SDB.DeleteDomain
-import           Network.AWS.SDB.DomainMetadata
-import           Network.AWS.SDB.GetAttributes
-import           Network.AWS.SDB.ListDomains
-import           Network.AWS.SDB.PutAttributes
-import           Network.AWS.SDB.Select
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Waiters
+import Network.AWS.SDB.BatchDeleteAttributes
+import Network.AWS.SDB.BatchPutAttributes
+import Network.AWS.SDB.CreateDomain
+import Network.AWS.SDB.DeleteAttributes
+import Network.AWS.SDB.DeleteDomain
+import Network.AWS.SDB.DomainMetadata
+import Network.AWS.SDB.GetAttributes
+import Network.AWS.SDB.ListDomains
+import Network.AWS.SDB.PutAttributes
+import Network.AWS.SDB.Select
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Waiters
 
 {- $errors
 Error matchers are designed for use with the functions provided by
diff --git a/gen/Network/AWS/SDB/BatchDeleteAttributes.hs b/gen/Network/AWS/SDB/BatchDeleteAttributes.hs
--- a/gen/Network/AWS/SDB/BatchDeleteAttributes.hs
+++ b/gen/Network/AWS/SDB/BatchDeleteAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.BatchDeleteAttributes
--- 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,19 +39,20 @@
     , BatchDeleteAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'batchDeleteAttributes' smart constructor.
 data BatchDeleteAttributes = BatchDeleteAttributes'
-    { _bdaDomainName :: !Text
-    , _bdaItems      :: ![DeletableItem]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _bdaDomainName :: !Text
+  , _bdaItems      :: ![DeletableItem]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'BatchDeleteAttributes' 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 @@
     :: Text -- ^ 'bdaDomainName'
     -> BatchDeleteAttributes
 batchDeleteAttributes pDomainName_ =
-    BatchDeleteAttributes'
-    { _bdaDomainName = pDomainName_
-    , _bdaItems = mempty
-    }
+  BatchDeleteAttributes' {_bdaDomainName = pDomainName_, _bdaItems = mempty}
 
+
 -- | The name of the domain in which the attributes are being deleted.
 bdaDomainName :: Lens' BatchDeleteAttributes Text
 bdaDomainName = lens _bdaDomainName (\ s a -> s{_bdaDomainName = a});
@@ -82,9 +81,9 @@
         request = postQuery sdb
         response = receiveNull BatchDeleteAttributesResponse'
 
-instance Hashable BatchDeleteAttributes
+instance Hashable BatchDeleteAttributes where
 
-instance NFData BatchDeleteAttributes
+instance NFData BatchDeleteAttributes where
 
 instance ToHeaders BatchDeleteAttributes where
         toHeaders = const mempty
@@ -102,13 +101,15 @@
 
 -- | /See:/ 'batchDeleteAttributesResponse' smart constructor.
 data BatchDeleteAttributesResponse =
-    BatchDeleteAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  BatchDeleteAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'BatchDeleteAttributesResponse' with the minimum fields required to make a request.
 --
 batchDeleteAttributesResponse
     :: BatchDeleteAttributesResponse
 batchDeleteAttributesResponse = BatchDeleteAttributesResponse'
 
-instance NFData BatchDeleteAttributesResponse
+
+instance NFData BatchDeleteAttributesResponse where
diff --git a/gen/Network/AWS/SDB/BatchPutAttributes.hs b/gen/Network/AWS/SDB/BatchPutAttributes.hs
--- a/gen/Network/AWS/SDB/BatchPutAttributes.hs
+++ b/gen/Network/AWS/SDB/BatchPutAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.BatchPutAttributes
--- 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,19 +47,20 @@
     , BatchPutAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'batchPutAttributes' smart constructor.
 data BatchPutAttributes = BatchPutAttributes'
-    { _bpaDomainName :: !Text
-    , _bpaItems      :: ![ReplaceableItem]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _bpaDomainName :: !Text
+  , _bpaItems      :: ![ReplaceableItem]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'BatchPutAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -71,11 +72,9 @@
     :: Text -- ^ 'bpaDomainName'
     -> BatchPutAttributes
 batchPutAttributes pDomainName_ =
-    BatchPutAttributes'
-    { _bpaDomainName = pDomainName_
-    , _bpaItems = mempty
-    }
+  BatchPutAttributes' {_bpaDomainName = pDomainName_, _bpaItems = mempty}
 
+
 -- | The name of the domain in which the attributes are being stored.
 bpaDomainName :: Lens' BatchPutAttributes Text
 bpaDomainName = lens _bpaDomainName (\ s a -> s{_bpaDomainName = a});
@@ -90,9 +89,9 @@
         request = postQuery sdb
         response = receiveNull BatchPutAttributesResponse'
 
-instance Hashable BatchPutAttributes
+instance Hashable BatchPutAttributes where
 
-instance NFData BatchPutAttributes
+instance NFData BatchPutAttributes where
 
 instance ToHeaders BatchPutAttributes where
         toHeaders = const mempty
@@ -110,13 +109,15 @@
 
 -- | /See:/ 'batchPutAttributesResponse' smart constructor.
 data BatchPutAttributesResponse =
-    BatchPutAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  BatchPutAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'BatchPutAttributesResponse' with the minimum fields required to make a request.
 --
 batchPutAttributesResponse
     :: BatchPutAttributesResponse
 batchPutAttributesResponse = BatchPutAttributesResponse'
 
-instance NFData BatchPutAttributesResponse
+
+instance NFData BatchPutAttributesResponse where
diff --git a/gen/Network/AWS/SDB/CreateDomain.hs b/gen/Network/AWS/SDB/CreateDomain.hs
--- a/gen/Network/AWS/SDB/CreateDomain.hs
+++ b/gen/Network/AWS/SDB/CreateDomain.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.CreateDomain
--- 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,18 +38,19 @@
     , CreateDomainResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'createDomain' smart constructor.
 newtype CreateDomain = CreateDomain'
-    { _cdDomainName :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cdDomainName :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateDomain' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -58,11 +59,9 @@
 createDomain
     :: Text -- ^ 'cdDomainName'
     -> CreateDomain
-createDomain pDomainName_ =
-    CreateDomain'
-    { _cdDomainName = pDomainName_
-    }
+createDomain pDomainName_ = CreateDomain' {_cdDomainName = pDomainName_}
 
+
 -- | The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.
 cdDomainName :: Lens' CreateDomain Text
 cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a});
@@ -72,9 +71,9 @@
         request = postQuery sdb
         response = receiveNull CreateDomainResponse'
 
-instance Hashable CreateDomain
+instance Hashable CreateDomain where
 
-instance NFData CreateDomain
+instance NFData CreateDomain where
 
 instance ToHeaders CreateDomain where
         toHeaders = const mempty
@@ -91,13 +90,15 @@
 
 -- | /See:/ 'createDomainResponse' smart constructor.
 data CreateDomainResponse =
-    CreateDomainResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  CreateDomainResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateDomainResponse' with the minimum fields required to make a request.
 --
 createDomainResponse
     :: CreateDomainResponse
 createDomainResponse = CreateDomainResponse'
 
-instance NFData CreateDomainResponse
+
+instance NFData CreateDomainResponse where
diff --git a/gen/Network/AWS/SDB/DeleteAttributes.hs b/gen/Network/AWS/SDB/DeleteAttributes.hs
--- a/gen/Network/AWS/SDB/DeleteAttributes.hs
+++ b/gen/Network/AWS/SDB/DeleteAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.DeleteAttributes
--- 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,21 +41,22 @@
     , DeleteAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'deleteAttributes' smart constructor.
 data DeleteAttributes = DeleteAttributes'
-    { _daAttributes :: !(Maybe [Attribute])
-    , _daExpected   :: !(Maybe UpdateCondition)
-    , _daDomainName :: !Text
-    , _daItemName   :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _daAttributes :: !(Maybe [Attribute])
+  , _daExpected   :: !(Maybe UpdateCondition)
+  , _daDomainName :: !Text
+  , _daItemName   :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -72,13 +73,14 @@
     -> Text -- ^ 'daItemName'
     -> DeleteAttributes
 deleteAttributes pDomainName_ pItemName_ =
-    DeleteAttributes'
-    { _daAttributes = Nothing
-    , _daExpected = Nothing
-    , _daDomainName = pDomainName_
-    , _daItemName = pItemName_
-    }
+  DeleteAttributes'
+  { _daAttributes = Nothing
+  , _daExpected = Nothing
+  , _daDomainName = pDomainName_
+  , _daItemName = pItemName_
+  }
 
+
 -- | A list of Attributes. Similar to columns on a spreadsheet, attributes represent categories of data that can be assigned to items.
 daAttributes :: Lens' DeleteAttributes [Attribute]
 daAttributes = lens _daAttributes (\ s a -> s{_daAttributes = a}) . _Default . _Coerce;
@@ -100,9 +102,9 @@
         request = postQuery sdb
         response = receiveNull DeleteAttributesResponse'
 
-instance Hashable DeleteAttributes
+instance Hashable DeleteAttributes where
 
-instance NFData DeleteAttributes
+instance NFData DeleteAttributes where
 
 instance ToHeaders DeleteAttributes where
         toHeaders = const mempty
@@ -122,13 +124,15 @@
 
 -- | /See:/ 'deleteAttributesResponse' smart constructor.
 data DeleteAttributesResponse =
-    DeleteAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  DeleteAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteAttributesResponse' with the minimum fields required to make a request.
 --
 deleteAttributesResponse
     :: DeleteAttributesResponse
 deleteAttributesResponse = DeleteAttributesResponse'
 
-instance NFData DeleteAttributesResponse
+
+instance NFData DeleteAttributesResponse where
diff --git a/gen/Network/AWS/SDB/DeleteDomain.hs b/gen/Network/AWS/SDB/DeleteDomain.hs
--- a/gen/Network/AWS/SDB/DeleteDomain.hs
+++ b/gen/Network/AWS/SDB/DeleteDomain.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.DeleteDomain
--- 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 @@
     , DeleteDomainResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'deleteDomain' smart constructor.
 newtype DeleteDomain = DeleteDomain'
-    { _ddDomainName :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ddDomainName :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteDomain' 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 @@
 deleteDomain
     :: Text -- ^ 'ddDomainName'
     -> DeleteDomain
-deleteDomain pDomainName_ =
-    DeleteDomain'
-    { _ddDomainName = pDomainName_
-    }
+deleteDomain pDomainName_ = DeleteDomain' {_ddDomainName = pDomainName_}
 
+
 -- | The name of the domain to delete.
 ddDomainName :: Lens' DeleteDomain Text
 ddDomainName = lens _ddDomainName (\ s a -> s{_ddDomainName = a});
@@ -68,9 +67,9 @@
         request = postQuery sdb
         response = receiveNull DeleteDomainResponse'
 
-instance Hashable DeleteDomain
+instance Hashable DeleteDomain where
 
-instance NFData DeleteDomain
+instance NFData DeleteDomain where
 
 instance ToHeaders DeleteDomain where
         toHeaders = const mempty
@@ -87,13 +86,15 @@
 
 -- | /See:/ 'deleteDomainResponse' smart constructor.
 data DeleteDomainResponse =
-    DeleteDomainResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  DeleteDomainResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteDomainResponse' with the minimum fields required to make a request.
 --
 deleteDomainResponse
     :: DeleteDomainResponse
 deleteDomainResponse = DeleteDomainResponse'
 
-instance NFData DeleteDomainResponse
+
+instance NFData DeleteDomainResponse where
diff --git a/gen/Network/AWS/SDB/DomainMetadata.hs b/gen/Network/AWS/SDB/DomainMetadata.hs
--- a/gen/Network/AWS/SDB/DomainMetadata.hs
+++ b/gen/Network/AWS/SDB/DomainMetadata.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.DomainMetadata
--- 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)
 --
@@ -43,18 +43,19 @@
     , dmrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'domainMetadata' smart constructor.
 newtype DomainMetadata = DomainMetadata'
-    { _dmDomainName :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dmDomainName :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DomainMetadata' 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 @@
 domainMetadata
     :: Text -- ^ 'dmDomainName'
     -> DomainMetadata
-domainMetadata pDomainName_ =
-    DomainMetadata'
-    { _dmDomainName = pDomainName_
-    }
+domainMetadata pDomainName_ = DomainMetadata' {_dmDomainName = pDomainName_}
 
+
 -- | The name of the domain for which to display the metadata of.
 dmDomainName :: Lens' DomainMetadata Text
 dmDomainName = lens _dmDomainName (\ s a -> s{_dmDomainName = a});
@@ -88,9 +87,9 @@
                      <*> (x .@? "Timestamp")
                      <*> (pure (fromEnum s)))
 
-instance Hashable DomainMetadata
+instance Hashable DomainMetadata where
 
-instance NFData DomainMetadata
+instance NFData DomainMetadata where
 
 instance ToHeaders DomainMetadata where
         toHeaders = const mempty
@@ -107,16 +106,17 @@
 
 -- | /See:/ 'domainMetadataResponse' smart constructor.
 data DomainMetadataResponse = DomainMetadataResponse'
-    { _dmrsItemNamesSizeBytes       :: !(Maybe Integer)
-    , _dmrsAttributeValuesSizeBytes :: !(Maybe Integer)
-    , _dmrsAttributeNameCount       :: !(Maybe Int)
-    , _dmrsAttributeNamesSizeBytes  :: !(Maybe Integer)
-    , _dmrsAttributeValueCount      :: !(Maybe Int)
-    , _dmrsItemCount                :: !(Maybe Int)
-    , _dmrsTimestamp                :: !(Maybe Int)
-    , _dmrsResponseStatus           :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dmrsItemNamesSizeBytes       :: !(Maybe Integer)
+  , _dmrsAttributeValuesSizeBytes :: !(Maybe Integer)
+  , _dmrsAttributeNameCount       :: !(Maybe Int)
+  , _dmrsAttributeNamesSizeBytes  :: !(Maybe Integer)
+  , _dmrsAttributeValueCount      :: !(Maybe Int)
+  , _dmrsItemCount                :: !(Maybe Int)
+  , _dmrsTimestamp                :: !(Maybe Int)
+  , _dmrsResponseStatus           :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DomainMetadataResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -140,17 +140,18 @@
     :: Int -- ^ 'dmrsResponseStatus'
     -> DomainMetadataResponse
 domainMetadataResponse pResponseStatus_ =
-    DomainMetadataResponse'
-    { _dmrsItemNamesSizeBytes = Nothing
-    , _dmrsAttributeValuesSizeBytes = Nothing
-    , _dmrsAttributeNameCount = Nothing
-    , _dmrsAttributeNamesSizeBytes = Nothing
-    , _dmrsAttributeValueCount = Nothing
-    , _dmrsItemCount = Nothing
-    , _dmrsTimestamp = Nothing
-    , _dmrsResponseStatus = pResponseStatus_
-    }
+  DomainMetadataResponse'
+  { _dmrsItemNamesSizeBytes = Nothing
+  , _dmrsAttributeValuesSizeBytes = Nothing
+  , _dmrsAttributeNameCount = Nothing
+  , _dmrsAttributeNamesSizeBytes = Nothing
+  , _dmrsAttributeValueCount = Nothing
+  , _dmrsItemCount = Nothing
+  , _dmrsTimestamp = Nothing
+  , _dmrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | The total size of all item names in the domain, in bytes.
 dmrsItemNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
 dmrsItemNamesSizeBytes = lens _dmrsItemNamesSizeBytes (\ s a -> s{_dmrsItemNamesSizeBytes = a});
@@ -183,4 +184,4 @@
 dmrsResponseStatus :: Lens' DomainMetadataResponse Int
 dmrsResponseStatus = lens _dmrsResponseStatus (\ s a -> s{_dmrsResponseStatus = a});
 
-instance NFData DomainMetadataResponse
+instance NFData DomainMetadataResponse where
diff --git a/gen/Network/AWS/SDB/GetAttributes.hs b/gen/Network/AWS/SDB/GetAttributes.hs
--- a/gen/Network/AWS/SDB/GetAttributes.hs
+++ b/gen/Network/AWS/SDB/GetAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.GetAttributes
--- 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,21 +42,22 @@
     , garsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'getAttributes' smart constructor.
 data GetAttributes = GetAttributes'
-    { _gaConsistentRead :: !(Maybe Bool)
-    , _gaAttributeNames :: !(Maybe [Text])
-    , _gaDomainName     :: !Text
-    , _gaItemName       :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gaConsistentRead :: !(Maybe Bool)
+  , _gaAttributeNames :: !(Maybe [Text])
+  , _gaDomainName     :: !Text
+  , _gaItemName       :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -73,13 +74,14 @@
     -> Text -- ^ 'gaItemName'
     -> GetAttributes
 getAttributes pDomainName_ pItemName_ =
-    GetAttributes'
-    { _gaConsistentRead = Nothing
-    , _gaAttributeNames = Nothing
-    , _gaDomainName = pDomainName_
-    , _gaItemName = pItemName_
-    }
+  GetAttributes'
+  { _gaConsistentRead = Nothing
+  , _gaAttributeNames = Nothing
+  , _gaDomainName = pDomainName_
+  , _gaItemName = pItemName_
+  }
 
+
 -- | @true@
 gaConsistentRead :: Lens' GetAttributes (Maybe Bool)
 gaConsistentRead = lens _gaConsistentRead (\ s a -> s{_gaConsistentRead = a});
@@ -106,9 +108,9 @@
                    (may (parseXMLList "Attribute") x) <*>
                      (pure (fromEnum s)))
 
-instance Hashable GetAttributes
+instance Hashable GetAttributes where
 
-instance NFData GetAttributes
+instance NFData GetAttributes where
 
 instance ToHeaders GetAttributes where
         toHeaders = const mempty
@@ -129,10 +131,11 @@
 
 -- | /See:/ 'getAttributesResponse' smart constructor.
 data GetAttributesResponse = GetAttributesResponse'
-    { _garsAttributes     :: !(Maybe [Attribute])
-    , _garsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _garsAttributes     :: !(Maybe [Attribute])
+  , _garsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetAttributesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -144,11 +147,10 @@
     :: Int -- ^ 'garsResponseStatus'
     -> GetAttributesResponse
 getAttributesResponse pResponseStatus_ =
-    GetAttributesResponse'
-    { _garsAttributes = Nothing
-    , _garsResponseStatus = pResponseStatus_
-    }
+  GetAttributesResponse'
+  {_garsAttributes = Nothing, _garsResponseStatus = pResponseStatus_}
 
+
 -- | The list of attributes returned by the operation.
 garsAttributes :: Lens' GetAttributesResponse [Attribute]
 garsAttributes = lens _garsAttributes (\ s a -> s{_garsAttributes = a}) . _Default . _Coerce;
@@ -157,4 +159,4 @@
 garsResponseStatus :: Lens' GetAttributesResponse Int
 garsResponseStatus = lens _garsResponseStatus (\ s a -> s{_garsResponseStatus = a});
 
-instance NFData GetAttributesResponse
+instance NFData GetAttributesResponse where
diff --git a/gen/Network/AWS/SDB/ListDomains.hs b/gen/Network/AWS/SDB/ListDomains.hs
--- a/gen/Network/AWS/SDB/ListDomains.hs
+++ b/gen/Network/AWS/SDB/ListDomains.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.ListDomains
--- 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,20 +41,21 @@
     , ldrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.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.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'listDomains' smart constructor.
 data ListDomains = ListDomains'
-    { _ldMaxNumberOfDomains :: !(Maybe Int)
-    , _ldNextToken          :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ldMaxNumberOfDomains :: !(Maybe Int)
+  , _ldNextToken          :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListDomains' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -65,11 +66,9 @@
 listDomains
     :: ListDomains
 listDomains =
-    ListDomains'
-    { _ldMaxNumberOfDomains = Nothing
-    , _ldNextToken = Nothing
-    }
+  ListDomains' {_ldMaxNumberOfDomains = Nothing, _ldNextToken = Nothing}
 
+
 -- | The maximum number of domain names you want returned. The range is 1 to 100. The default setting is 100.
 ldMaxNumberOfDomains :: Lens' ListDomains (Maybe Int)
 ldMaxNumberOfDomains = lens _ldMaxNumberOfDomains (\ s a -> s{_ldMaxNumberOfDomains = a});
@@ -96,9 +95,9 @@
                      (x .@? "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListDomains
+instance Hashable ListDomains where
 
-instance NFData ListDomains
+instance NFData ListDomains where
 
 instance ToHeaders ListDomains where
         toHeaders = const mempty
@@ -116,11 +115,12 @@
 
 -- | /See:/ 'listDomainsResponse' smart constructor.
 data ListDomainsResponse = ListDomainsResponse'
-    { _ldrsDomainNames    :: !(Maybe [Text])
-    , _ldrsNextToken      :: !(Maybe Text)
-    , _ldrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ldrsDomainNames    :: !(Maybe [Text])
+  , _ldrsNextToken      :: !(Maybe Text)
+  , _ldrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListDomainsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -134,12 +134,13 @@
     :: Int -- ^ 'ldrsResponseStatus'
     -> ListDomainsResponse
 listDomainsResponse pResponseStatus_ =
-    ListDomainsResponse'
-    { _ldrsDomainNames = Nothing
-    , _ldrsNextToken = Nothing
-    , _ldrsResponseStatus = pResponseStatus_
-    }
+  ListDomainsResponse'
+  { _ldrsDomainNames = Nothing
+  , _ldrsNextToken = Nothing
+  , _ldrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | A list of domain names that match the expression.
 ldrsDomainNames :: Lens' ListDomainsResponse [Text]
 ldrsDomainNames = lens _ldrsDomainNames (\ s a -> s{_ldrsDomainNames = a}) . _Default . _Coerce;
@@ -152,4 +153,4 @@
 ldrsResponseStatus :: Lens' ListDomainsResponse Int
 ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a});
 
-instance NFData ListDomainsResponse
+instance NFData ListDomainsResponse where
diff --git a/gen/Network/AWS/SDB/PutAttributes.hs b/gen/Network/AWS/SDB/PutAttributes.hs
--- a/gen/Network/AWS/SDB/PutAttributes.hs
+++ b/gen/Network/AWS/SDB/PutAttributes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.PutAttributes
--- 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)
 --
@@ -49,21 +49,22 @@
     , PutAttributesResponse
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'putAttributes' smart constructor.
 data PutAttributes = PutAttributes'
-    { _paExpected   :: !(Maybe UpdateCondition)
-    , _paDomainName :: !Text
-    , _paItemName   :: !Text
-    , _paAttributes :: ![ReplaceableAttribute]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _paExpected   :: !(Maybe UpdateCondition)
+  , _paDomainName :: !Text
+  , _paItemName   :: !Text
+  , _paAttributes :: ![ReplaceableAttribute]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'PutAttributes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -80,13 +81,14 @@
     -> Text -- ^ 'paItemName'
     -> PutAttributes
 putAttributes pDomainName_ pItemName_ =
-    PutAttributes'
-    { _paExpected = Nothing
-    , _paDomainName = pDomainName_
-    , _paItemName = pItemName_
-    , _paAttributes = mempty
-    }
+  PutAttributes'
+  { _paExpected = Nothing
+  , _paDomainName = pDomainName_
+  , _paItemName = pItemName_
+  , _paAttributes = mempty
+  }
 
+
 -- | The update condition which, if specified, determines whether the specified attributes will be updated or not. The update condition must be satisfied in order for this request to be processed and the attributes to be updated.
 paExpected :: Lens' PutAttributes (Maybe UpdateCondition)
 paExpected = lens _paExpected (\ s a -> s{_paExpected = a});
@@ -108,9 +110,9 @@
         request = postQuery sdb
         response = receiveNull PutAttributesResponse'
 
-instance Hashable PutAttributes
+instance Hashable PutAttributes where
 
-instance NFData PutAttributes
+instance NFData PutAttributes where
 
 instance ToHeaders PutAttributes where
         toHeaders = const mempty
@@ -130,13 +132,15 @@
 
 -- | /See:/ 'putAttributesResponse' smart constructor.
 data PutAttributesResponse =
-    PutAttributesResponse'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  PutAttributesResponse'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'PutAttributesResponse' with the minimum fields required to make a request.
 --
 putAttributesResponse
     :: PutAttributesResponse
 putAttributesResponse = PutAttributesResponse'
 
-instance NFData PutAttributesResponse
+
+instance NFData PutAttributesResponse where
diff --git a/gen/Network/AWS/SDB/Select.hs b/gen/Network/AWS/SDB/Select.hs
--- a/gen/Network/AWS/SDB/Select.hs
+++ b/gen/Network/AWS/SDB/Select.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.Select
--- 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)
 --
@@ -46,21 +46,22 @@
     , srsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Pager
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.SDB.Types
-import           Network.AWS.SDB.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.SDB.Types
+import Network.AWS.SDB.Types.Product
 
 -- | /See:/ 'select' smart constructor.
 data Select = Select'
-    { _sConsistentRead   :: !(Maybe Bool)
-    , _sNextToken        :: !(Maybe Text)
-    , _sSelectExpression :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sConsistentRead   :: !(Maybe Bool)
+  , _sNextToken        :: !(Maybe Text)
+  , _sSelectExpression :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Select' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -74,12 +75,13 @@
     :: Text -- ^ 'sSelectExpression'
     -> Select
 select pSelectExpression_ =
-    Select'
-    { _sConsistentRead = Nothing
-    , _sNextToken = Nothing
-    , _sSelectExpression = pSelectExpression_
-    }
+  Select'
+  { _sConsistentRead = Nothing
+  , _sNextToken = Nothing
+  , _sSelectExpression = pSelectExpression_
+  }
 
+
 -- | @true@
 sConsistentRead :: Lens' Select (Maybe Bool)
 sConsistentRead = lens _sConsistentRead (\ s a -> s{_sConsistentRead = a});
@@ -109,9 +111,9 @@
                    (may (parseXMLList "Item") x) <*> (x .@? "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable Select
+instance Hashable Select where
 
-instance NFData Select
+instance NFData Select where
 
 instance ToHeaders Select where
         toHeaders = const mempty
@@ -130,11 +132,12 @@
 
 -- | /See:/ 'selectResponse' smart constructor.
 data SelectResponse = SelectResponse'
-    { _srsItems          :: !(Maybe [Item])
-    , _srsNextToken      :: !(Maybe Text)
-    , _srsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _srsItems          :: !(Maybe [Item])
+  , _srsNextToken      :: !(Maybe Text)
+  , _srsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SelectResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -148,12 +151,13 @@
     :: Int -- ^ 'srsResponseStatus'
     -> SelectResponse
 selectResponse pResponseStatus_ =
-    SelectResponse'
-    { _srsItems = Nothing
-    , _srsNextToken = Nothing
-    , _srsResponseStatus = pResponseStatus_
-    }
+  SelectResponse'
+  { _srsItems = Nothing
+  , _srsNextToken = Nothing
+  , _srsResponseStatus = pResponseStatus_
+  }
 
+
 -- | A list of items that match the select expression.
 srsItems :: Lens' SelectResponse [Item]
 srsItems = lens _srsItems (\ s a -> s{_srsItems = a}) . _Default . _Coerce;
@@ -166,4 +170,4 @@
 srsResponseStatus :: Lens' SelectResponse Int
 srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});
 
-instance NFData SelectResponse
+instance NFData SelectResponse where
diff --git a/gen/Network/AWS/SDB/Types.hs b/gen/Network/AWS/SDB/Types.hs
--- a/gen/Network/AWS/SDB/Types.hs
+++ b/gen/Network/AWS/SDB/Types.hs
@@ -4,9 +4,9 @@
 
 -- |
 -- Module      : Network.AWS.SDB.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)
 --
@@ -76,38 +76,40 @@
     , ucName
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.SDB.Types.Product
-import           Network.AWS.SDB.Types.Sum
-import           Network.AWS.Sign.V2
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.SDB.Types.Product
+import Network.AWS.SDB.Types.Sum
+import Network.AWS.Sign.V2
 
 -- | API version @2009-04-15@ of the Amazon SimpleDB SDK configuration.
 sdb :: Service
 sdb =
-    Service
-    { _svcAbbrev = "SDB"
-    , _svcSigner = v2
-    , _svcPrefix = "sdb"
-    , _svcVersion = "2009-04-15"
-    , _svcEndpoint = defaultEndpoint sdb
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseXMLError "SDB"
-    , _svcRetry = retry
-    }
+  Service
+  { _svcAbbrev = "SDB"
+  , _svcSigner = v2
+  , _svcPrefix = "sdb"
+  , _svcVersion = "2009-04-15"
+  , _svcEndpoint = defaultEndpoint sdb
+  , _svcTimeout = Just 70
+  , _svcCheck = statusSuccess
+  , _svcError = parseXMLError "SDB"
+  , _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"
@@ -116,117 +118,134 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+
 -- | Too many predicates exist in the query expression.
 --
 --
 _InvalidNumberValueTests :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidNumberValueTests =
-    _ServiceError . hasStatus 400 . hasCode "InvalidNumberValueTests"
+  _MatchServiceError sdb "InvalidNumberValueTests" . hasStatus 400
 
+
 -- | The specified domain does not exist.
 --
 --
 _NoSuchDomain :: AsError a => Getting (First ServiceError) a ServiceError
-_NoSuchDomain = _ServiceError . hasStatus 400 . hasCode "NoSuchDomain"
+_NoSuchDomain = _MatchServiceError sdb "NoSuchDomain" . hasStatus 400
 
+
 -- | Too many items exist in a single call.
 --
 --
 _NumberSubmittedItemsExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _NumberSubmittedItemsExceeded =
-    _ServiceError . hasStatus 409 . hasCode "NumberSubmittedItemsExceeded"
+  _MatchServiceError sdb "NumberSubmittedItemsExceeded" . hasStatus 409
 
+
 -- | The specified attribute does not exist.
 --
 --
 _AttributeDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
 _AttributeDoesNotExist =
-    _ServiceError . hasStatus 404 . hasCode "AttributeDoesNotExist"
+  _MatchServiceError sdb "AttributeDoesNotExist" . hasStatus 404
 
+
 -- | Too many attributes in this domain.
 --
 --
 _NumberDomainAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _NumberDomainAttributesExceeded =
-    _ServiceError . hasStatus 409 . hasCode "NumberDomainAttributesExceeded"
+  _MatchServiceError sdb "NumberDomainAttributesExceeded" . hasStatus 409
 
+
 -- | The item name was specified more than once.
 --
 --
 _DuplicateItemName :: AsError a => Getting (First ServiceError) a ServiceError
-_DuplicateItemName =
-    _ServiceError . hasStatus 400 . hasCode "DuplicateItemName"
+_DuplicateItemName = _MatchServiceError sdb "DuplicateItemName" . hasStatus 400
 
+
 -- | The request must contain the specified missing parameter.
 --
 --
 _MissingParameter :: AsError a => Getting (First ServiceError) a ServiceError
-_MissingParameter = _ServiceError . hasStatus 400 . hasCode "MissingParameter"
+_MissingParameter = _MatchServiceError sdb "MissingParameter" . hasStatus 400
 
+
 -- | The specified NextToken is not valid.
 --
 --
 _InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidNextToken = _ServiceError . hasStatus 400 . hasCode "InvalidNextToken"
+_InvalidNextToken = _MatchServiceError sdb "InvalidNextToken" . hasStatus 400
 
+
 -- | The value for a parameter is invalid.
 --
 --
 _InvalidParameterValue :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidParameterValue =
-    _ServiceError . hasStatus 400 . hasCode "InvalidParameterValue"
+  _MatchServiceError sdb "InvalidParameterValue" . hasStatus 400
 
+
 -- | Too many attributes in this item.
 --
 --
 _NumberItemAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _NumberItemAttributesExceeded =
-    _ServiceError . hasStatus 409 . hasCode "NumberItemAttributesExceeded"
+  _MatchServiceError sdb "NumberItemAttributesExceeded" . hasStatus 409
 
+
 -- | A timeout occurred when attempting to query the specified domain with specified query expression.
 --
 --
 _RequestTimeout :: AsError a => Getting (First ServiceError) a ServiceError
-_RequestTimeout = _ServiceError . hasStatus 408 . hasCode "RequestTimeout"
+_RequestTimeout = _MatchServiceError sdb "RequestTimeout" . hasStatus 408
 
+
 -- | Too many attributes requested.
 --
 --
 _TooManyRequestedAttributes :: AsError a => Getting (First ServiceError) a ServiceError
 _TooManyRequestedAttributes =
-    _ServiceError . hasStatus 400 . hasCode "TooManyRequestedAttributes"
+  _MatchServiceError sdb "TooManyRequestedAttributes" . hasStatus 400
 
+
 -- | Too many predicates exist in the query expression.
 --
 --
 _InvalidNumberPredicates :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidNumberPredicates =
-    _ServiceError . hasStatus 400 . hasCode "InvalidNumberPredicates"
+  _MatchServiceError sdb "InvalidNumberPredicates" . hasStatus 400
 
+
 -- | Too many domains exist per this account.
 --
 --
 _NumberDomainsExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _NumberDomainsExceeded =
-    _ServiceError . hasStatus 409 . hasCode "NumberDomainsExceeded"
+  _MatchServiceError sdb "NumberDomainsExceeded" . hasStatus 409
 
+
 -- | Too many attributes exist in a single call.
 --
 --
 _NumberSubmittedAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _NumberSubmittedAttributesExceeded =
-    _ServiceError . hasStatus 409 . hasCode "NumberSubmittedAttributesExceeded"
+  _MatchServiceError sdb "NumberSubmittedAttributesExceeded" . hasStatus 409
 
+
 -- | Too many bytes in this domain.
 --
 --
 _NumberDomainBytesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _NumberDomainBytesExceeded =
-    _ServiceError . hasStatus 409 . hasCode "NumberDomainBytesExceeded"
+  _MatchServiceError sdb "NumberDomainBytesExceeded" . hasStatus 409
 
+
 -- | The specified query expression syntax is not valid.
 --
 --
 _InvalidQueryExpression :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidQueryExpression =
-    _ServiceError . hasStatus 400 . hasCode "InvalidQueryExpression"
+  _MatchServiceError sdb "InvalidQueryExpression" . hasStatus 400
+
diff --git a/gen/Network/AWS/SDB/Types/Product.hs b/gen/Network/AWS/SDB/Types/Product.hs
--- a/gen/Network/AWS/SDB/Types/Product.hs
+++ b/gen/Network/AWS/SDB/Types/Product.hs
@@ -9,17 +9,17 @@
 
 -- |
 -- Module      : Network.AWS.SDB.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.SDB.Types.Product where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.SDB.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.SDB.Types.Sum
 
 -- |
 --
@@ -27,12 +27,13 @@
 --
 -- /See:/ 'attribute' smart constructor.
 data Attribute = Attribute'
-    { _aAlternateValueEncoding :: !(Maybe Text)
-    , _aAlternateNameEncoding  :: !(Maybe Text)
-    , _aName                   :: !Text
-    , _aValue                  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _aAlternateValueEncoding :: !(Maybe Text)
+  , _aAlternateNameEncoding  :: !(Maybe Text)
+  , _aName                   :: !Text
+  , _aValue                  :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Attribute' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -49,13 +50,14 @@
     -> Text -- ^ 'aValue'
     -> Attribute
 attribute pName_ pValue_ =
-    Attribute'
-    { _aAlternateValueEncoding = Nothing
-    , _aAlternateNameEncoding = Nothing
-    , _aName = pName_
-    , _aValue = pValue_
-    }
+  Attribute'
+  { _aAlternateValueEncoding = Nothing
+  , _aAlternateNameEncoding = Nothing
+  , _aName = pName_
+  , _aValue = pValue_
+  }
 
+
 -- |
 aAlternateValueEncoding :: Lens' Attribute (Maybe Text)
 aAlternateValueEncoding = lens _aAlternateValueEncoding (\ s a -> s{_aAlternateValueEncoding = a});
@@ -80,9 +82,9 @@
                 <*> (x .@ "Name")
                 <*> (x .@ "Value")
 
-instance Hashable Attribute
+instance Hashable Attribute where
 
-instance NFData Attribute
+instance NFData Attribute where
 
 instance ToQuery Attribute where
         toQuery Attribute'{..}
@@ -94,10 +96,11 @@
 
 -- | /See:/ 'deletableItem' smart constructor.
 data DeletableItem = DeletableItem'
-    { _diAttributes :: !(Maybe [Attribute])
-    , _diName       :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _diAttributes :: !(Maybe [Attribute])
+  , _diName       :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeletableItem' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -109,11 +112,9 @@
     :: Text -- ^ 'diName'
     -> DeletableItem
 deletableItem pName_ =
-    DeletableItem'
-    { _diAttributes = Nothing
-    , _diName = pName_
-    }
+  DeletableItem' {_diAttributes = Nothing, _diName = pName_}
 
+
 -- | Undocumented member.
 diAttributes :: Lens' DeletableItem [Attribute]
 diAttributes = lens _diAttributes (\ s a -> s{_diAttributes = a}) . _Default . _Coerce;
@@ -122,9 +123,9 @@
 diName :: Lens' DeletableItem Text
 diName = lens _diName (\ s a -> s{_diName = a});
 
-instance Hashable DeletableItem
+instance Hashable DeletableItem where
 
-instance NFData DeletableItem
+instance NFData DeletableItem where
 
 instance ToQuery DeletableItem where
         toQuery DeletableItem'{..}
@@ -138,11 +139,12 @@
 --
 -- /See:/ 'item' smart constructor.
 data Item = Item'
-    { _iAlternateNameEncoding :: !(Maybe Text)
-    , _iName                  :: !Text
-    , _iAttributes            :: ![Attribute]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _iAlternateNameEncoding :: !(Maybe Text)
+  , _iName                  :: !Text
+  , _iAttributes            :: ![Attribute]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Item' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -156,12 +158,10 @@
     :: Text -- ^ 'iName'
     -> Item
 item pName_ =
-    Item'
-    { _iAlternateNameEncoding = Nothing
-    , _iName = pName_
-    , _iAttributes = mempty
-    }
+  Item'
+  {_iAlternateNameEncoding = Nothing, _iName = pName_, _iAttributes = mempty}
 
+
 -- |
 iAlternateNameEncoding :: Lens' Item (Maybe Text)
 iAlternateNameEncoding = lens _iAlternateNameEncoding (\ s a -> s{_iAlternateNameEncoding = a});
@@ -180,9 +180,9 @@
               (x .@? "AlternateNameEncoding") <*> (x .@ "Name") <*>
                 (parseXMLList "Attribute" x)
 
-instance Hashable Item
+instance Hashable Item where
 
-instance NFData Item
+instance NFData Item where
 
 -- |
 --
@@ -190,11 +190,12 @@
 --
 -- /See:/ 'replaceableAttribute' smart constructor.
 data ReplaceableAttribute = ReplaceableAttribute'
-    { _raReplace :: !(Maybe Bool)
-    , _raName    :: !Text
-    , _raValue   :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _raReplace :: !(Maybe Bool)
+  , _raName    :: !Text
+  , _raValue   :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ReplaceableAttribute' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -209,12 +210,10 @@
     -> Text -- ^ 'raValue'
     -> ReplaceableAttribute
 replaceableAttribute pName_ pValue_ =
-    ReplaceableAttribute'
-    { _raReplace = Nothing
-    , _raName = pName_
-    , _raValue = pValue_
-    }
+  ReplaceableAttribute'
+  {_raReplace = Nothing, _raName = pName_, _raValue = pValue_}
 
+
 -- | @false@
 raReplace :: Lens' ReplaceableAttribute (Maybe Bool)
 raReplace = lens _raReplace (\ s a -> s{_raReplace = a});
@@ -227,9 +226,9 @@
 raValue :: Lens' ReplaceableAttribute Text
 raValue = lens _raValue (\ s a -> s{_raValue = a});
 
-instance Hashable ReplaceableAttribute
+instance Hashable ReplaceableAttribute where
 
-instance NFData ReplaceableAttribute
+instance NFData ReplaceableAttribute where
 
 instance ToQuery ReplaceableAttribute where
         toQuery ReplaceableAttribute'{..}
@@ -243,10 +242,11 @@
 --
 -- /See:/ 'replaceableItem' smart constructor.
 data ReplaceableItem = ReplaceableItem'
-    { _riName       :: !Text
-    , _riAttributes :: ![ReplaceableAttribute]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _riName       :: !Text
+  , _riAttributes :: ![ReplaceableAttribute]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ReplaceableItem' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -258,11 +258,9 @@
     :: Text -- ^ 'riName'
     -> ReplaceableItem
 replaceableItem pName_ =
-    ReplaceableItem'
-    { _riName = pName_
-    , _riAttributes = mempty
-    }
+  ReplaceableItem' {_riName = pName_, _riAttributes = mempty}
 
+
 -- | The name of the replaceable item.
 riName :: Lens' ReplaceableItem Text
 riName = lens _riName (\ s a -> s{_riName = a});
@@ -271,9 +269,9 @@
 riAttributes :: Lens' ReplaceableItem [ReplaceableAttribute]
 riAttributes = lens _riAttributes (\ s a -> s{_riAttributes = a}) . _Coerce;
 
-instance Hashable ReplaceableItem
+instance Hashable ReplaceableItem where
 
-instance NFData ReplaceableItem
+instance NFData ReplaceableItem where
 
 instance ToQuery ReplaceableItem where
         toQuery ReplaceableItem'{..}
@@ -287,11 +285,12 @@
 --
 -- /See:/ 'updateCondition' smart constructor.
 data UpdateCondition = UpdateCondition'
-    { _ucExists :: !(Maybe Bool)
-    , _ucValue  :: !(Maybe Text)
-    , _ucName   :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ucExists :: !(Maybe Bool)
+  , _ucValue  :: !(Maybe Text)
+  , _ucName   :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UpdateCondition' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -304,12 +303,9 @@
 updateCondition
     :: UpdateCondition
 updateCondition =
-    UpdateCondition'
-    { _ucExists = Nothing
-    , _ucValue = Nothing
-    , _ucName = Nothing
-    }
+  UpdateCondition' {_ucExists = Nothing, _ucValue = Nothing, _ucName = Nothing}
 
+
 -- | A value specifying whether or not the specified attribute must exist with the specified value in order for the update condition to be satisfied. Specify @true@ if the attribute must exist for the update condition to be satisfied. Specify @false@ if the attribute should not exist in order for the update condition to be satisfied.
 ucExists :: Lens' UpdateCondition (Maybe Bool)
 ucExists = lens _ucExists (\ s a -> s{_ucExists = a});
@@ -322,9 +318,9 @@
 ucName :: Lens' UpdateCondition (Maybe Text)
 ucName = lens _ucName (\ s a -> s{_ucName = a});
 
-instance Hashable UpdateCondition
+instance Hashable UpdateCondition where
 
-instance NFData UpdateCondition
+instance NFData UpdateCondition where
 
 instance ToQuery UpdateCondition where
         toQuery UpdateCondition'{..}
diff --git a/gen/Network/AWS/SDB/Types/Sum.hs b/gen/Network/AWS/SDB/Types/Sum.hs
--- a/gen/Network/AWS/SDB/Types/Sum.hs
+++ b/gen/Network/AWS/SDB/Types/Sum.hs
@@ -9,12 +9,12 @@
 
 -- |
 -- Module      : Network.AWS.SDB.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.SDB.Types.Sum where
 
-import           Network.AWS.Prelude
+import Network.AWS.Prelude
diff --git a/gen/Network/AWS/SDB/Waiters.hs b/gen/Network/AWS/SDB/Waiters.hs
--- a/gen/Network/AWS/SDB/Waiters.hs
+++ b/gen/Network/AWS/SDB/Waiters.hs
@@ -7,15 +7,15 @@
 
 -- |
 -- Module      : Network.AWS.SDB.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.SDB.Waiters where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.SDB.Types
-import           Network.AWS.Waiter
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.SDB.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/SDB.hs b/test/Test/AWS/Gen/SDB.hs
--- a/test/Test/AWS/Gen/SDB.hs
+++ b/test/Test/AWS/Gen/SDB.hs
@@ -5,20 +5,20 @@
 
 -- |
 -- Module      : Test.AWS.Gen.SDB
--- 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.SDB where
 
 import Data.Proxy
+import Network.AWS.SDB
 import Test.AWS.Fixture
 import Test.AWS.Prelude
-import Test.Tasty
-import Network.AWS.SDB
 import Test.AWS.SDB.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.
