diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
@@ -22,7 +22,7 @@
 services that are hosted outside of AWS.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-apigateway)
-and the [AWS API Reference](http://docs.aws.amazon.com/apigateway/api-reference/).
+and the [AWS API Reference](https://aws.amazon.com/documentation/).
 
 The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),
 which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
diff --git a/amazonka-apigateway.cabal b/amazonka-apigateway.cabal
--- a/amazonka-apigateway.cabal
+++ b/amazonka-apigateway.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-apigateway
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon API Gateway SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,7 +7,7 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2015 Brendan Hay
+copyright:             Copyright (c) 2013-2016 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -32,7 +32,7 @@
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.APIGateway" and the <http://docs.aws.amazon.com/apigateway/api-reference/ AWS API Reference>
+    See "Network.AWS.APIGateway" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -48,6 +48,7 @@
     exposed-modules:
           Network.AWS.APIGateway
         , Network.AWS.APIGateway.CreateAPIKey
+        , Network.AWS.APIGateway.CreateAuthorizer
         , Network.AWS.APIGateway.CreateBasePathMapping
         , Network.AWS.APIGateway.CreateDeployment
         , Network.AWS.APIGateway.CreateDomainName
@@ -56,6 +57,7 @@
         , Network.AWS.APIGateway.CreateRestAPI
         , Network.AWS.APIGateway.CreateStage
         , Network.AWS.APIGateway.DeleteAPIKey
+        , Network.AWS.APIGateway.DeleteAuthorizer
         , Network.AWS.APIGateway.DeleteBasePathMapping
         , Network.AWS.APIGateway.DeleteClientCertificate
         , Network.AWS.APIGateway.DeleteDeployment
@@ -68,11 +70,14 @@
         , Network.AWS.APIGateway.DeleteResource
         , Network.AWS.APIGateway.DeleteRestAPI
         , Network.AWS.APIGateway.DeleteStage
+        , Network.AWS.APIGateway.FlushStageAuthorizersCache
         , Network.AWS.APIGateway.FlushStageCache
         , Network.AWS.APIGateway.GenerateClientCertificate
         , Network.AWS.APIGateway.GetAPIKey
         , Network.AWS.APIGateway.GetAPIKeys
         , Network.AWS.APIGateway.GetAccount
+        , Network.AWS.APIGateway.GetAuthorizer
+        , Network.AWS.APIGateway.GetAuthorizers
         , Network.AWS.APIGateway.GetBasePathMapping
         , Network.AWS.APIGateway.GetBasePathMappings
         , Network.AWS.APIGateway.GetClientCertificate
@@ -81,6 +86,7 @@
         , Network.AWS.APIGateway.GetDeployments
         , Network.AWS.APIGateway.GetDomainName
         , Network.AWS.APIGateway.GetDomainNames
+        , Network.AWS.APIGateway.GetExport
         , Network.AWS.APIGateway.GetIntegration
         , Network.AWS.APIGateway.GetIntegrationResponse
         , Network.AWS.APIGateway.GetMethod
@@ -99,10 +105,12 @@
         , Network.AWS.APIGateway.PutIntegrationResponse
         , Network.AWS.APIGateway.PutMethod
         , Network.AWS.APIGateway.PutMethodResponse
+        , Network.AWS.APIGateway.TestInvokeAuthorizer
         , Network.AWS.APIGateway.TestInvokeMethod
         , Network.AWS.APIGateway.Types
         , Network.AWS.APIGateway.UpdateAPIKey
         , Network.AWS.APIGateway.UpdateAccount
+        , Network.AWS.APIGateway.UpdateAuthorizer
         , Network.AWS.APIGateway.UpdateBasePathMapping
         , Network.AWS.APIGateway.UpdateClientCertificate
         , Network.AWS.APIGateway.UpdateDeployment
@@ -122,7 +130,7 @@
         , Network.AWS.APIGateway.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-apigateway-test
@@ -142,9 +150,9 @@
         , Test.AWS.APIGateway.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-apigateway == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-apigateway == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/fixture/CreateAuthorizer.yaml b/fixture/CreateAuthorizer.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateAuthorizer.yaml
diff --git a/fixture/CreateAuthorizerResponse.proto b/fixture/CreateAuthorizerResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateAuthorizerResponse.proto
diff --git a/fixture/DeleteAuthorizer.yaml b/fixture/DeleteAuthorizer.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteAuthorizer.yaml
diff --git a/fixture/DeleteAuthorizerResponse.proto b/fixture/DeleteAuthorizerResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteAuthorizerResponse.proto
diff --git a/fixture/FlushStageAuthorizersCache.yaml b/fixture/FlushStageAuthorizersCache.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/FlushStageAuthorizersCache.yaml
diff --git a/fixture/FlushStageAuthorizersCacheResponse.proto b/fixture/FlushStageAuthorizersCacheResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/FlushStageAuthorizersCacheResponse.proto
diff --git a/fixture/GetAuthorizer.yaml b/fixture/GetAuthorizer.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetAuthorizer.yaml
diff --git a/fixture/GetAuthorizerResponse.proto b/fixture/GetAuthorizerResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetAuthorizerResponse.proto
diff --git a/fixture/GetAuthorizers.yaml b/fixture/GetAuthorizers.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetAuthorizers.yaml
diff --git a/fixture/GetAuthorizersResponse.proto b/fixture/GetAuthorizersResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetAuthorizersResponse.proto
diff --git a/fixture/GetExport.yaml b/fixture/GetExport.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetExport.yaml
diff --git a/fixture/GetExportResponse.proto b/fixture/GetExportResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetExportResponse.proto
diff --git a/fixture/TestInvokeAuthorizer.yaml b/fixture/TestInvokeAuthorizer.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/TestInvokeAuthorizer.yaml
diff --git a/fixture/TestInvokeAuthorizerResponse.proto b/fixture/TestInvokeAuthorizerResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/TestInvokeAuthorizerResponse.proto
diff --git a/fixture/UpdateAuthorizer.yaml b/fixture/UpdateAuthorizer.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateAuthorizer.yaml
diff --git a/fixture/UpdateAuthorizerResponse.proto b/fixture/UpdateAuthorizerResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateAuthorizerResponse.proto
diff --git a/gen/Network/AWS/APIGateway.hs b/gen/Network/AWS/APIGateway.hs
--- a/gen/Network/AWS/APIGateway.hs
+++ b/gen/Network/AWS/APIGateway.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -18,12 +18,10 @@
 -- developers to securely connect mobile and web applications to APIs that
 -- run on AWS Lambda, Amazon EC2, or other publicly addressable web
 -- services that are hosted outside of AWS.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/ AWS API Reference>
 module Network.AWS.APIGateway
     (
     -- * Service Configuration
-      aPIGateway
+      apiGateway
 
     -- * Errors
     -- $errors
@@ -130,6 +128,9 @@
     -- ** CreateDomainName
     , module Network.AWS.APIGateway.CreateDomainName
 
+    -- ** FlushStageAuthorizersCache
+    , module Network.AWS.APIGateway.FlushStageAuthorizersCache
+
     -- ** DeleteModel
     , module Network.AWS.APIGateway.DeleteModel
 
@@ -166,6 +167,9 @@
     -- ** GetDomainName
     , module Network.AWS.APIGateway.GetDomainName
 
+    -- ** GetAuthorizers
+    , module Network.AWS.APIGateway.GetAuthorizers
+
     -- ** PutIntegrationResponse
     , module Network.AWS.APIGateway.PutIntegrationResponse
 
@@ -187,6 +191,9 @@
     -- ** UpdateIntegration
     , module Network.AWS.APIGateway.UpdateIntegration
 
+    -- ** TestInvokeAuthorizer
+    , module Network.AWS.APIGateway.TestInvokeAuthorizer
+
     -- ** GenerateClientCertificate
     , module Network.AWS.APIGateway.GenerateClientCertificate
 
@@ -199,9 +206,15 @@
     -- ** PutIntegration
     , module Network.AWS.APIGateway.PutIntegration
 
+    -- ** GetAuthorizer
+    , module Network.AWS.APIGateway.GetAuthorizer
+
     -- ** GetStage
     , module Network.AWS.APIGateway.GetStage
 
+    -- ** GetExport
+    , module Network.AWS.APIGateway.GetExport
+
     -- ** GetSDK
     , module Network.AWS.APIGateway.GetSDK
 
@@ -220,6 +233,15 @@
     -- ** UpdateClientCertificate
     , module Network.AWS.APIGateway.UpdateClientCertificate
 
+    -- ** CreateAuthorizer
+    , module Network.AWS.APIGateway.CreateAuthorizer
+
+    -- ** UpdateAuthorizer
+    , module Network.AWS.APIGateway.UpdateAuthorizer
+
+    -- ** DeleteAuthorizer
+    , module Network.AWS.APIGateway.DeleteAuthorizer
+
     -- ** CreateStage
     , module Network.AWS.APIGateway.CreateStage
 
@@ -258,6 +280,9 @@
 
     -- * Types
 
+    -- ** AuthorizerType
+    , AuthorizerType (..)
+
     -- ** CacheClusterSize
     , CacheClusterSize (..)
 
@@ -270,6 +295,9 @@
     -- ** Op
     , Op (..)
 
+    -- ** UnauthorizedCacheControlHeaderStrategy
+    , UnauthorizedCacheControlHeaderStrategy (..)
+
     -- ** APIKey
     , APIKey
     , apiKey
@@ -287,6 +315,18 @@
     , aCloudwatchRoleARN
     , aThrottleSettings
 
+    -- ** Authorizer
+    , Authorizer
+    , authorizer
+    , aAuthorizerURI
+    , aIdentityValidationExpression
+    , aName
+    , aId
+    , aAuthorizerResultTtlInSeconds
+    , aType
+    , aIdentitySource
+    , aAuthorizerCredentials
+
     -- ** BasePathMapping
     , BasePathMapping
     , basePathMapping
@@ -347,6 +387,7 @@
     , mHttpMethod
     , mRequestModels
     , mRequestParameters
+    , mAuthorizerId
     , mAuthorizationType
     , mApiKeyRequired
     , mMethodIntegration
@@ -366,9 +407,11 @@
     , msThrottlingBurstLimit
     , msCacheDataEncrypted
     , msLoggingLevel
+    , msRequireAuthorizationForCacheControl
     , msCachingEnabled
     , msMetricsEnabled
     , msThrottlingRateLimit
+    , msUnauthorizedCacheControlHeaderStrategy
 
     -- ** MethodSnapshot
     , MethodSnapshot
@@ -439,6 +482,7 @@
     ) where
 
 import           Network.AWS.APIGateway.CreateAPIKey
+import           Network.AWS.APIGateway.CreateAuthorizer
 import           Network.AWS.APIGateway.CreateBasePathMapping
 import           Network.AWS.APIGateway.CreateDeployment
 import           Network.AWS.APIGateway.CreateDomainName
@@ -447,6 +491,7 @@
 import           Network.AWS.APIGateway.CreateRestAPI
 import           Network.AWS.APIGateway.CreateStage
 import           Network.AWS.APIGateway.DeleteAPIKey
+import           Network.AWS.APIGateway.DeleteAuthorizer
 import           Network.AWS.APIGateway.DeleteBasePathMapping
 import           Network.AWS.APIGateway.DeleteClientCertificate
 import           Network.AWS.APIGateway.DeleteDeployment
@@ -459,11 +504,14 @@
 import           Network.AWS.APIGateway.DeleteResource
 import           Network.AWS.APIGateway.DeleteRestAPI
 import           Network.AWS.APIGateway.DeleteStage
+import           Network.AWS.APIGateway.FlushStageAuthorizersCache
 import           Network.AWS.APIGateway.FlushStageCache
 import           Network.AWS.APIGateway.GenerateClientCertificate
 import           Network.AWS.APIGateway.GetAccount
 import           Network.AWS.APIGateway.GetAPIKey
 import           Network.AWS.APIGateway.GetAPIKeys
+import           Network.AWS.APIGateway.GetAuthorizer
+import           Network.AWS.APIGateway.GetAuthorizers
 import           Network.AWS.APIGateway.GetBasePathMapping
 import           Network.AWS.APIGateway.GetBasePathMappings
 import           Network.AWS.APIGateway.GetClientCertificate
@@ -472,6 +520,7 @@
 import           Network.AWS.APIGateway.GetDeployments
 import           Network.AWS.APIGateway.GetDomainName
 import           Network.AWS.APIGateway.GetDomainNames
+import           Network.AWS.APIGateway.GetExport
 import           Network.AWS.APIGateway.GetIntegration
 import           Network.AWS.APIGateway.GetIntegrationResponse
 import           Network.AWS.APIGateway.GetMethod
@@ -490,10 +539,12 @@
 import           Network.AWS.APIGateway.PutIntegrationResponse
 import           Network.AWS.APIGateway.PutMethod
 import           Network.AWS.APIGateway.PutMethodResponse
+import           Network.AWS.APIGateway.TestInvokeAuthorizer
 import           Network.AWS.APIGateway.TestInvokeMethod
 import           Network.AWS.APIGateway.Types
 import           Network.AWS.APIGateway.UpdateAccount
 import           Network.AWS.APIGateway.UpdateAPIKey
+import           Network.AWS.APIGateway.UpdateAuthorizer
 import           Network.AWS.APIGateway.UpdateBasePathMapping
 import           Network.AWS.APIGateway.UpdateClientCertificate
 import           Network.AWS.APIGateway.UpdateDeployment
diff --git a/gen/Network/AWS/APIGateway/CreateAPIKey.hs b/gen/Network/AWS/APIGateway/CreateAPIKey.hs
--- a/gen/Network/AWS/APIGateway/CreateAPIKey.hs
+++ b/gen/Network/AWS/APIGateway/CreateAPIKey.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateAPIKey
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateAPIKey.html AWS API Reference> for CreateAPIKey.
 module Network.AWS.APIGateway.CreateAPIKey
     (
     -- * Creating a Request
@@ -81,29 +79,34 @@
     , _cakDescription = Nothing
     }
 
--- | Specifies whether the ApiKey can be used by callers.
+-- | Specifies whether the < ApiKey> can be used by callers.
 cakEnabled :: Lens' CreateAPIKey (Maybe Bool)
 cakEnabled = lens _cakEnabled (\ s a -> s{_cakEnabled = a});
 
--- | The name of the ApiKey.
+-- | The name of the < ApiKey>.
 cakName :: Lens' CreateAPIKey (Maybe Text)
 cakName = lens _cakName (\ s a -> s{_cakName = a});
 
--- | Specifies whether the ApiKey can be used by callers.
+-- | Specifies whether the < ApiKey> can be used by callers.
 cakStageKeys :: Lens' CreateAPIKey [StageKey]
 cakStageKeys = lens _cakStageKeys (\ s a -> s{_cakStageKeys = a}) . _Default . _Coerce;
 
--- | The description of the ApiKey.
+-- | The description of the < ApiKey>.
 cakDescription :: Lens' CreateAPIKey (Maybe Text)
 cakDescription = lens _cakDescription (\ s a -> s{_cakDescription = a});
 
 instance AWSRequest CreateAPIKey where
         type Rs CreateAPIKey = APIKey
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateAPIKey
+
 instance ToHeaders CreateAPIKey where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateAPIKey where
         toJSON CreateAPIKey'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateAuthorizer.hs b/gen/Network/AWS/APIGateway/CreateAuthorizer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/CreateAuthorizer.hs
@@ -0,0 +1,174 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.CreateAuthorizer
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Undocumented operation.
+module Network.AWS.APIGateway.CreateAuthorizer
+    (
+    -- * Creating a Request
+      createAuthorizer
+    , CreateAuthorizer
+    -- * Request Lenses
+    , caIdentityValidationExpression
+    , caAuthorizerResultTtlInSeconds
+    , caAuthorizerCredentials
+    , caRestAPIId
+    , caName
+    , caType
+    , caAuthorizerURI
+    , caIdentitySource
+
+    -- * Destructuring the Response
+    , authorizer
+    , Authorizer
+    -- * Response Lenses
+    , aAuthorizerURI
+    , aIdentityValidationExpression
+    , aName
+    , aId
+    , aAuthorizerResultTtlInSeconds
+    , aType
+    , aIdentitySource
+    , aAuthorizerCredentials
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'createAuthorizer' smart constructor.
+data CreateAuthorizer = CreateAuthorizer'
+    { _caIdentityValidationExpression :: !(Maybe Text)
+    , _caAuthorizerResultTtlInSeconds :: !(Maybe Int)
+    , _caAuthorizerCredentials        :: !(Maybe Text)
+    , _caRestAPIId                    :: !Text
+    , _caName                         :: !Text
+    , _caType                         :: !AuthorizerType
+    , _caAuthorizerURI                :: !Text
+    , _caIdentitySource               :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'CreateAuthorizer' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'caIdentityValidationExpression'
+--
+-- * 'caAuthorizerResultTtlInSeconds'
+--
+-- * 'caAuthorizerCredentials'
+--
+-- * 'caRestAPIId'
+--
+-- * 'caName'
+--
+-- * 'caType'
+--
+-- * 'caAuthorizerURI'
+--
+-- * 'caIdentitySource'
+createAuthorizer
+    :: Text -- ^ 'caRestAPIId'
+    -> Text -- ^ 'caName'
+    -> AuthorizerType -- ^ 'caType'
+    -> Text -- ^ 'caAuthorizerURI'
+    -> Text -- ^ 'caIdentitySource'
+    -> CreateAuthorizer
+createAuthorizer pRestAPIId_ pName_ pType_ pAuthorizerURI_ pIdentitySource_ =
+    CreateAuthorizer'
+    { _caIdentityValidationExpression = Nothing
+    , _caAuthorizerResultTtlInSeconds = Nothing
+    , _caAuthorizerCredentials = Nothing
+    , _caRestAPIId = pRestAPIId_
+    , _caName = pName_
+    , _caType = pType_
+    , _caAuthorizerURI = pAuthorizerURI_
+    , _caIdentitySource = pIdentitySource_
+    }
+
+-- | A validation expression for the incoming identity.
+caIdentityValidationExpression :: Lens' CreateAuthorizer (Maybe Text)
+caIdentityValidationExpression = lens _caIdentityValidationExpression (\ s a -> s{_caIdentityValidationExpression = a});
+
+-- | The TTL of cached authorizer results.
+caAuthorizerResultTtlInSeconds :: Lens' CreateAuthorizer (Maybe Int)
+caAuthorizerResultTtlInSeconds = lens _caAuthorizerResultTtlInSeconds (\ s a -> s{_caAuthorizerResultTtlInSeconds = a});
+
+-- | Specifies the credentials required for the authorizer, if any.
+caAuthorizerCredentials :: Lens' CreateAuthorizer (Maybe Text)
+caAuthorizerCredentials = lens _caAuthorizerCredentials (\ s a -> s{_caAuthorizerCredentials = a});
+
+-- | Undocumented member.
+caRestAPIId :: Lens' CreateAuthorizer Text
+caRestAPIId = lens _caRestAPIId (\ s a -> s{_caRestAPIId = a});
+
+-- | [Required] The name of the authorizer.
+caName :: Lens' CreateAuthorizer Text
+caName = lens _caName (\ s a -> s{_caName = a});
+
+-- | [Required] The type of the authorizer.
+caType :: Lens' CreateAuthorizer AuthorizerType
+caType = lens _caType (\ s a -> s{_caType = a});
+
+-- | [Required] Specifies the authorizer\'s Uniform Resource Identifier
+-- (URI).
+caAuthorizerURI :: Lens' CreateAuthorizer Text
+caAuthorizerURI = lens _caAuthorizerURI (\ s a -> s{_caAuthorizerURI = a});
+
+-- | [Required] The source of the identity in an incoming request.
+caIdentitySource :: Lens' CreateAuthorizer Text
+caIdentitySource = lens _caIdentitySource (\ s a -> s{_caIdentitySource = a});
+
+instance AWSRequest CreateAuthorizer where
+        type Rs CreateAuthorizer = Authorizer
+        request = postJSON apiGateway
+        response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CreateAuthorizer
+
+instance ToHeaders CreateAuthorizer where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToJSON CreateAuthorizer where
+        toJSON CreateAuthorizer'{..}
+          = object
+              (catMaybes
+                 [("identityValidationExpression" .=) <$>
+                    _caIdentityValidationExpression,
+                  ("authorizerResultTtlInSeconds" .=) <$>
+                    _caAuthorizerResultTtlInSeconds,
+                  ("authorizerCredentials" .=) <$>
+                    _caAuthorizerCredentials,
+                  Just ("name" .= _caName), Just ("type" .= _caType),
+                  Just ("authorizerUri" .= _caAuthorizerURI),
+                  Just ("identitySource" .= _caIdentitySource)])
+
+instance ToPath CreateAuthorizer where
+        toPath CreateAuthorizer'{..}
+          = mconcat
+              ["/restapis/", toBS _caRestAPIId, "/authorizers"]
+
+instance ToQuery CreateAuthorizer where
+        toQuery = const mempty
diff --git a/gen/Network/AWS/APIGateway/CreateBasePathMapping.hs b/gen/Network/AWS/APIGateway/CreateBasePathMapping.hs
--- a/gen/Network/AWS/APIGateway/CreateBasePathMapping.hs
+++ b/gen/Network/AWS/APIGateway/CreateBasePathMapping.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateBasePathMapping
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a new BasePathMapping resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateBasePathMapping.html AWS API Reference> for CreateBasePathMapping.
+-- Creates a new < BasePathMapping> resource.
 module Network.AWS.APIGateway.CreateBasePathMapping
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to create a new BasePathMapping resource.
+-- | Requests Amazon API Gateway to create a new < BasePathMapping> resource.
 --
 -- /See:/ 'createBasePathMapping' smart constructor.
 data CreateBasePathMapping = CreateBasePathMapping'
@@ -94,7 +92,7 @@
 cbpmBasePath :: Lens' CreateBasePathMapping (Maybe Text)
 cbpmBasePath = lens _cbpmBasePath (\ s a -> s{_cbpmBasePath = a});
 
--- | The domain name of the BasePathMapping resource to create.
+-- | The domain name of the < BasePathMapping> resource to create.
 cbpmDomainName :: Lens' CreateBasePathMapping Text
 cbpmDomainName = lens _cbpmDomainName (\ s a -> s{_cbpmDomainName = a});
 
@@ -104,11 +102,16 @@
 
 instance AWSRequest CreateBasePathMapping where
         type Rs CreateBasePathMapping = BasePathMapping
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateBasePathMapping
+
 instance ToHeaders CreateBasePathMapping where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateBasePathMapping where
         toJSON CreateBasePathMapping'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateDeployment.hs b/gen/Network/AWS/APIGateway/CreateDeployment.hs
--- a/gen/Network/AWS/APIGateway/CreateDeployment.hs
+++ b/gen/Network/AWS/APIGateway/CreateDeployment.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateDeployment
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a Deployment resource, which makes a specified RestApi callable
--- over the internet.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateDeployment.html AWS API Reference> for CreateDeployment.
+-- Creates a < Deployment> resource, which makes a specified < RestApi>
+-- callable over the internet.
 module Network.AWS.APIGateway.CreateDeployment
     (
     -- * Creating a Request
@@ -53,7 +51,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to create a Deployment resource.
+-- | Requests Amazon API Gateway to create a < Deployment> resource.
 --
 -- /See:/ 'createDeployment' smart constructor.
 data CreateDeployment = CreateDeployment'
@@ -98,45 +96,53 @@
     , _cdStageName = pStageName_
     }
 
--- | The description of the Stage resource for the Deployment resource to
--- create.
+-- | The description of the < Stage> resource for the < Deployment> resource
+-- to create.
 cdStageDescription :: Lens' CreateDeployment (Maybe Text)
 cdStageDescription = lens _cdStageDescription (\ s a -> s{_cdStageDescription = a});
 
--- | A map that defines the stage variables for the Stage resource that is
--- associated with the new deployment. Variable names can have alphabetic
--- characters, and the values must match [A-Za-z0-9-._~:\/?#&=,]+
+-- | A map that defines the stage variables for the < Stage> resource that is
+-- associated with the new deployment. Variable names can have alphanumeric
+-- characters, and the values must match '[A-Za-z0-9-._~:\/?#&=,]+'.
 cdVariables :: Lens' CreateDeployment (HashMap Text Text)
 cdVariables = lens _cdVariables (\ s a -> s{_cdVariables = a}) . _Default . _Map;
 
--- | Specifies the cache cluster size for the Stage resource specified in the
--- input, if a cache cluster is enabled.
+-- | Specifies the cache cluster size for the < Stage> resource specified in
+-- the input, if a cache cluster is enabled.
 cdCacheClusterSize :: Lens' CreateDeployment (Maybe CacheClusterSize)
 cdCacheClusterSize = lens _cdCacheClusterSize (\ s a -> s{_cdCacheClusterSize = a});
 
--- | Enables a cache cluster for the Stage resource specified in the input.
+-- | Enables a cache cluster for the < Stage> resource specified in the
+-- input.
 cdCacheClusterEnabled :: Lens' CreateDeployment (Maybe Bool)
 cdCacheClusterEnabled = lens _cdCacheClusterEnabled (\ s a -> s{_cdCacheClusterEnabled = a});
 
--- | The description for the Deployment resource to create.
+-- | The description for the < Deployment> resource to create.
 cdDescription :: Lens' CreateDeployment (Maybe Text)
 cdDescription = lens _cdDescription (\ s a -> s{_cdDescription = a});
 
--- | The RestApi resource identifier for the Deployment resource to create.
+-- | The < RestApi> resource identifier for the < Deployment> resource to
+-- create.
 cdRestAPIId :: Lens' CreateDeployment Text
 cdRestAPIId = lens _cdRestAPIId (\ s a -> s{_cdRestAPIId = a});
 
--- | The name of the Stage resource for the Deployment resource to create.
+-- | The name of the < Stage> resource for the < Deployment> resource to
+-- create.
 cdStageName :: Lens' CreateDeployment Text
 cdStageName = lens _cdStageName (\ s a -> s{_cdStageName = a});
 
 instance AWSRequest CreateDeployment where
         type Rs CreateDeployment = Deployment
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateDeployment
+
 instance ToHeaders CreateDeployment where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateDeployment where
         toJSON CreateDeployment'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateDomainName.hs b/gen/Network/AWS/APIGateway/CreateDomainName.hs
--- a/gen/Network/AWS/APIGateway/CreateDomainName.hs
+++ b/gen/Network/AWS/APIGateway/CreateDomainName.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateDomainName
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a new domain name.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateDomainName.html AWS API Reference> for CreateDomainName.
 module Network.AWS.APIGateway.CreateDomainName
     (
     -- * Creating a Request
@@ -90,7 +88,7 @@
     , _cdnCertificateChain = pCertificateChain_
     }
 
--- | The name of the DomainName resource.
+-- | The name of the < DomainName> resource.
 cdnDomainName :: Lens' CreateDomainName Text
 cdnDomainName = lens _cdnDomainName (\ s a -> s{_cdnDomainName = a});
 
@@ -118,11 +116,16 @@
 
 instance AWSRequest CreateDomainName where
         type Rs CreateDomainName = DomainName
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateDomainName
+
 instance ToHeaders CreateDomainName where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateDomainName where
         toJSON CreateDomainName'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateModel.hs b/gen/Network/AWS/APIGateway/CreateModel.hs
--- a/gen/Network/AWS/APIGateway/CreateModel.hs
+++ b/gen/Network/AWS/APIGateway/CreateModel.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateModel
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Adds a new Model resource to an existing RestApi resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateModel.html AWS API Reference> for CreateModel.
+-- Adds a new < Model> resource to an existing < RestApi> resource.
 module Network.AWS.APIGateway.CreateModel
     (
     -- * Creating a Request
@@ -51,7 +49,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to add a new Model to an existing RestApi resource.
+-- | Request to add a new < Model> to an existing < RestApi> resource.
 --
 -- /See:/ 'createModel' smart constructor.
 data CreateModel = CreateModel'
@@ -98,7 +96,7 @@
 cmDescription :: Lens' CreateModel (Maybe Text)
 cmDescription = lens _cmDescription (\ s a -> s{_cmDescription = a});
 
--- | The RestApi identifier under which the Model will be created.
+-- | The < RestApi> identifier under which the < Model> will be created.
 cmRestAPIId :: Lens' CreateModel Text
 cmRestAPIId = lens _cmRestAPIId (\ s a -> s{_cmRestAPIId = a});
 
@@ -112,11 +110,16 @@
 
 instance AWSRequest CreateModel where
         type Rs CreateModel = Model
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateModel
+
 instance ToHeaders CreateModel where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateModel where
         toJSON CreateModel'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateResource.hs b/gen/Network/AWS/APIGateway/CreateResource.hs
--- a/gen/Network/AWS/APIGateway/CreateResource.hs
+++ b/gen/Network/AWS/APIGateway/CreateResource.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a Resource resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateResource.html AWS API Reference> for CreateResource.
+-- Creates a < Resource> resource.
 module Network.AWS.APIGateway.CreateResource
     (
     -- * Creating a Request
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to create a Resource resource.
+-- | Requests Amazon API Gateway to create a < Resource> resource.
 --
 -- /See:/ 'createResource' smart constructor.
 data CreateResource = CreateResource'
@@ -79,7 +77,7 @@
     , _crPathPart = pPathPart_
     }
 
--- | The identifier of the RestApi for the resource.
+-- | The identifier of the < RestApi> for the resource.
 crRestAPIId :: Lens' CreateResource Text
 crRestAPIId = lens _crRestAPIId (\ s a -> s{_crRestAPIId = a});
 
@@ -93,11 +91,16 @@
 
 instance AWSRequest CreateResource where
         type Rs CreateResource = Resource
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateResource
+
 instance ToHeaders CreateResource where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateResource where
         toJSON CreateResource'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateRestAPI.hs b/gen/Network/AWS/APIGateway/CreateRestAPI.hs
--- a/gen/Network/AWS/APIGateway/CreateRestAPI.hs
+++ b/gen/Network/AWS/APIGateway/CreateRestAPI.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateRestAPI
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a new RestApi resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateRestAPI.html AWS API Reference> for CreateRestAPI.
+-- Creates a new < RestApi> resource.
 module Network.AWS.APIGateway.CreateRestAPI
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to add a new RestApi resource to your collection.
+-- | Request to add a new < RestApi> resource to your collection.
 --
 -- /See:/ 'createRestAPI' smart constructor.
 data CreateRestAPI = CreateRestAPI'
@@ -76,25 +74,30 @@
     , _craName = pName_
     }
 
--- | The name of the RestApi that you want to clone from.
+-- | The Id of the < RestApi> that you want to clone from.
 craCloneFrom :: Lens' CreateRestAPI (Maybe Text)
 craCloneFrom = lens _craCloneFrom (\ s a -> s{_craCloneFrom = a});
 
--- | The description of the RestApi.
+-- | The description of the < RestApi>.
 craDescription :: Lens' CreateRestAPI (Maybe Text)
 craDescription = lens _craDescription (\ s a -> s{_craDescription = a});
 
--- | The name of the RestApi.
+-- | The name of the < RestApi>.
 craName :: Lens' CreateRestAPI Text
 craName = lens _craName (\ s a -> s{_craName = a});
 
 instance AWSRequest CreateRestAPI where
         type Rs CreateRestAPI = RestAPI
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateRestAPI
+
 instance ToHeaders CreateRestAPI where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateRestAPI where
         toJSON CreateRestAPI'{..}
diff --git a/gen/Network/AWS/APIGateway/CreateStage.hs b/gen/Network/AWS/APIGateway/CreateStage.hs
--- a/gen/Network/AWS/APIGateway/CreateStage.hs
+++ b/gen/Network/AWS/APIGateway/CreateStage.hs
@@ -12,15 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.CreateStage
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a Stage resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateStage.html AWS API Reference> for CreateStage.
+-- Creates a new < Stage> resource that references a pre-existing
+-- < Deployment> for the API.
 module Network.AWS.APIGateway.CreateStage
     (
     -- * Creating a Request
@@ -59,7 +58,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to create a Stage resource.
+-- | Requests Amazon API Gateway to create a < Stage> resource.
 --
 -- /See:/ 'createStage' smart constructor.
 data CreateStage = CreateStage'
@@ -105,9 +104,9 @@
     , _csDeploymentId = pDeploymentId_
     }
 
--- | A map that defines the stage variables for the new Stage resource.
--- Variable names can have alphabetic characters, and the values must match
--- [A-Za-z0-9-._~:\/?#&=,]+
+-- | A map that defines the stage variables for the new < Stage> resource.
+-- Variable names can have alphanumeric characters, and the values must
+-- match '[A-Za-z0-9-._~:\/?#&=,]+'.
 csVariables :: Lens' CreateStage (HashMap Text Text)
 csVariables = lens _csVariables (\ s a -> s{_csVariables = a}) . _Default . _Map;
 
@@ -119,29 +118,35 @@
 csCacheClusterEnabled :: Lens' CreateStage (Maybe Bool)
 csCacheClusterEnabled = lens _csCacheClusterEnabled (\ s a -> s{_csCacheClusterEnabled = a});
 
--- | The description of the Stage resource.
+-- | The description of the < Stage> resource.
 csDescription :: Lens' CreateStage (Maybe Text)
 csDescription = lens _csDescription (\ s a -> s{_csDescription = a});
 
--- | The identifier of the RestApi resource for the Stage resource to create.
+-- | The identifier of the < RestApi> resource for the < Stage> resource to
+-- create.
 csRestAPIId :: Lens' CreateStage Text
 csRestAPIId = lens _csRestAPIId (\ s a -> s{_csRestAPIId = a});
 
--- | The name for the Stage resource.
+-- | The name for the < Stage> resource.
 csStageName :: Lens' CreateStage Text
 csStageName = lens _csStageName (\ s a -> s{_csStageName = a});
 
--- | The identifier of the Deployment resource for the Stage resource.
+-- | The identifier of the < Deployment> resource for the < Stage> resource.
 csDeploymentId :: Lens' CreateStage Text
 csDeploymentId = lens _csDeploymentId (\ s a -> s{_csDeploymentId = a});
 
 instance AWSRequest CreateStage where
         type Rs CreateStage = Stage
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable CreateStage
+
 instance ToHeaders CreateStage where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON CreateStage where
         toJSON CreateStage'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteAPIKey.hs b/gen/Network/AWS/APIGateway/DeleteAPIKey.hs
--- a/gen/Network/AWS/APIGateway/DeleteAPIKey.hs
+++ b/gen/Network/AWS/APIGateway/DeleteAPIKey.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteAPIKey
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes the ApiKey resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteAPIKey.html AWS API Reference> for DeleteAPIKey.
+-- Deletes the < ApiKey> resource.
 module Network.AWS.APIGateway.DeleteAPIKey
     (
     -- * Creating a Request
@@ -41,7 +39,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to delete the ApiKey resource.
+-- | A request to delete the < ApiKey> resource.
 --
 -- /See:/ 'deleteAPIKey' smart constructor.
 newtype DeleteAPIKey = DeleteAPIKey'
@@ -61,17 +59,22 @@
     { _dakApiKey = pApiKey_
     }
 
--- | The identifier of the ApiKey resource to be deleted.
+-- | The identifier of the < ApiKey> resource to be deleted.
 dakApiKey :: Lens' DeleteAPIKey Text
 dakApiKey = lens _dakApiKey (\ s a -> s{_dakApiKey = a});
 
 instance AWSRequest DeleteAPIKey where
         type Rs DeleteAPIKey = DeleteAPIKeyResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteAPIKeyResponse'
 
+instance Hashable DeleteAPIKey
+
 instance ToHeaders DeleteAPIKey where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteAPIKey where
         toPath DeleteAPIKey'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs b/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs
@@ -0,0 +1,107 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.DeleteAuthorizer
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes an existing < Authorizer> resource.
+module Network.AWS.APIGateway.DeleteAuthorizer
+    (
+    -- * Creating a Request
+      deleteAuthorizer
+    , DeleteAuthorizer
+    -- * Request Lenses
+    , daRestAPIId
+    , daAuthorizerId
+
+    -- * Destructuring the Response
+    , deleteAuthorizerResponse
+    , DeleteAuthorizerResponse
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Request to delete an existing < Authorizer> resource.
+--
+-- /See:/ 'deleteAuthorizer' smart constructor.
+data DeleteAuthorizer = DeleteAuthorizer'
+    { _daRestAPIId    :: !Text
+    , _daAuthorizerId :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DeleteAuthorizer' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'daRestAPIId'
+--
+-- * 'daAuthorizerId'
+deleteAuthorizer
+    :: Text -- ^ 'daRestAPIId'
+    -> Text -- ^ 'daAuthorizerId'
+    -> DeleteAuthorizer
+deleteAuthorizer pRestAPIId_ pAuthorizerId_ =
+    DeleteAuthorizer'
+    { _daRestAPIId = pRestAPIId_
+    , _daAuthorizerId = pAuthorizerId_
+    }
+
+-- | The < RestApi> identifier for the < Authorizer> resource.
+daRestAPIId :: Lens' DeleteAuthorizer Text
+daRestAPIId = lens _daRestAPIId (\ s a -> s{_daRestAPIId = a});
+
+-- | The identifier of the < Authorizer> resource.
+daAuthorizerId :: Lens' DeleteAuthorizer Text
+daAuthorizerId = lens _daAuthorizerId (\ s a -> s{_daAuthorizerId = a});
+
+instance AWSRequest DeleteAuthorizer where
+        type Rs DeleteAuthorizer = DeleteAuthorizerResponse
+        request = delete apiGateway
+        response = receiveNull DeleteAuthorizerResponse'
+
+instance Hashable DeleteAuthorizer
+
+instance ToHeaders DeleteAuthorizer where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToPath DeleteAuthorizer where
+        toPath DeleteAuthorizer'{..}
+          = mconcat
+              ["/restapis/", toBS _daRestAPIId, "/authorizers/",
+               toBS _daAuthorizerId]
+
+instance ToQuery DeleteAuthorizer where
+        toQuery = const mempty
+
+-- | /See:/ 'deleteAuthorizerResponse' smart constructor.
+data DeleteAuthorizerResponse =
+    DeleteAuthorizerResponse'
+    deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DeleteAuthorizerResponse' with the minimum fields required to make a request.
+--
+deleteAuthorizerResponse
+    :: DeleteAuthorizerResponse
+deleteAuthorizerResponse = DeleteAuthorizerResponse'
diff --git a/gen/Network/AWS/APIGateway/DeleteBasePathMapping.hs b/gen/Network/AWS/APIGateway/DeleteBasePathMapping.hs
--- a/gen/Network/AWS/APIGateway/DeleteBasePathMapping.hs
+++ b/gen/Network/AWS/APIGateway/DeleteBasePathMapping.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteBasePathMapping
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes the BasePathMapping resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteBasePathMapping.html AWS API Reference> for DeleteBasePathMapping.
+-- Deletes the < BasePathMapping> resource.
 module Network.AWS.APIGateway.DeleteBasePathMapping
     (
     -- * Creating a Request
@@ -42,7 +40,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to delete the BasePathMapping resource.
+-- | A request to delete the < BasePathMapping> resource.
 --
 -- /See:/ 'deleteBasePathMapping' smart constructor.
 data DeleteBasePathMapping = DeleteBasePathMapping'
@@ -67,22 +65,27 @@
     , _dbpmBasePath = pBasePath_
     }
 
--- | The domain name of the BasePathMapping resource to delete.
+-- | The domain name of the < BasePathMapping> resource to delete.
 dbpmDomainName :: Lens' DeleteBasePathMapping Text
 dbpmDomainName = lens _dbpmDomainName (\ s a -> s{_dbpmDomainName = a});
 
--- | The base path name of the BasePathMapping resource to delete.
+-- | The base path name of the < BasePathMapping> resource to delete.
 dbpmBasePath :: Lens' DeleteBasePathMapping Text
 dbpmBasePath = lens _dbpmBasePath (\ s a -> s{_dbpmBasePath = a});
 
 instance AWSRequest DeleteBasePathMapping where
         type Rs DeleteBasePathMapping =
              DeleteBasePathMappingResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteBasePathMappingResponse'
 
+instance Hashable DeleteBasePathMapping
+
 instance ToHeaders DeleteBasePathMapping where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteBasePathMapping where
         toPath DeleteBasePathMapping'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteClientCertificate.hs b/gen/Network/AWS/APIGateway/DeleteClientCertificate.hs
--- a/gen/Network/AWS/APIGateway/DeleteClientCertificate.hs
+++ b/gen/Network/AWS/APIGateway/DeleteClientCertificate.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteClientCertificate
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteClientCertificate.html AWS API Reference> for DeleteClientCertificate.
 module Network.AWS.APIGateway.DeleteClientCertificate
     (
     -- * Creating a Request
@@ -66,12 +64,17 @@
 instance AWSRequest DeleteClientCertificate where
         type Rs DeleteClientCertificate =
              DeleteClientCertificateResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response
           = receiveNull DeleteClientCertificateResponse'
 
+instance Hashable DeleteClientCertificate
+
 instance ToHeaders DeleteClientCertificate where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteClientCertificate where
         toPath DeleteClientCertificate'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteDeployment.hs b/gen/Network/AWS/APIGateway/DeleteDeployment.hs
--- a/gen/Network/AWS/APIGateway/DeleteDeployment.hs
+++ b/gen/Network/AWS/APIGateway/DeleteDeployment.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteDeployment
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes a Deployment resource. Deleting a deployment will only succeed
--- if there are no Stage resources associated with it.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteDeployment.html AWS API Reference> for DeleteDeployment.
+-- Deletes a < Deployment> resource. Deleting a deployment will only
+-- succeed if there are no < Stage> resources associated with it.
 module Network.AWS.APIGateway.DeleteDeployment
     (
     -- * Creating a Request
@@ -43,7 +41,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to delete a Deployment resource.
+-- | Requests Amazon API Gateway to delete a < Deployment> resource.
 --
 -- /See:/ 'deleteDeployment' smart constructor.
 data DeleteDeployment = DeleteDeployment'
@@ -68,22 +66,27 @@
     , _ddDeploymentId = pDeploymentId_
     }
 
--- | The identifier of the RestApi resource for the Deployment resource to
--- delete.
+-- | The identifier of the < RestApi> resource for the < Deployment> resource
+-- to delete.
 ddRestAPIId :: Lens' DeleteDeployment Text
 ddRestAPIId = lens _ddRestAPIId (\ s a -> s{_ddRestAPIId = a});
 
--- | The identifier of the Deployment resource to delete.
+-- | The identifier of the < Deployment> resource to delete.
 ddDeploymentId :: Lens' DeleteDeployment Text
 ddDeploymentId = lens _ddDeploymentId (\ s a -> s{_ddDeploymentId = a});
 
 instance AWSRequest DeleteDeployment where
         type Rs DeleteDeployment = DeleteDeploymentResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteDeploymentResponse'
 
+instance Hashable DeleteDeployment
+
 instance ToHeaders DeleteDeployment where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteDeployment where
         toPath DeleteDeployment'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteDomainName.hs b/gen/Network/AWS/APIGateway/DeleteDomainName.hs
--- a/gen/Network/AWS/APIGateway/DeleteDomainName.hs
+++ b/gen/Network/AWS/APIGateway/DeleteDomainName.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteDomainName
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes the DomainName resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteDomainName.html AWS API Reference> for DeleteDomainName.
+-- Deletes the < DomainName> resource.
 module Network.AWS.APIGateway.DeleteDomainName
     (
     -- * Creating a Request
@@ -41,7 +39,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to delete the DomainName resource.
+-- | A request to delete the < DomainName> resource.
 --
 -- /See:/ 'deleteDomainName' smart constructor.
 newtype DeleteDomainName = DeleteDomainName'
@@ -61,17 +59,22 @@
     { _ddnDomainName = pDomainName_
     }
 
--- | The name of the DomainName resource to be deleted.
+-- | The name of the < DomainName> resource to be deleted.
 ddnDomainName :: Lens' DeleteDomainName Text
 ddnDomainName = lens _ddnDomainName (\ s a -> s{_ddnDomainName = a});
 
 instance AWSRequest DeleteDomainName where
         type Rs DeleteDomainName = DeleteDomainNameResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteDomainNameResponse'
 
+instance Hashable DeleteDomainName
+
 instance ToHeaders DeleteDomainName where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteDomainName where
         toPath DeleteDomainName'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteIntegration.hs b/gen/Network/AWS/APIGateway/DeleteIntegration.hs
--- a/gen/Network/AWS/APIGateway/DeleteIntegration.hs
+++ b/gen/Network/AWS/APIGateway/DeleteIntegration.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteIntegration
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents a delete integration.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteIntegration.html AWS API Reference> for DeleteIntegration.
 module Network.AWS.APIGateway.DeleteIntegration
     (
     -- * Creating a Request
@@ -88,11 +86,16 @@
 instance AWSRequest DeleteIntegration where
         type Rs DeleteIntegration =
              DeleteIntegrationResponse'
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteIntegrationResponse''
 
+instance Hashable DeleteIntegration
+
 instance ToHeaders DeleteIntegration where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteIntegration where
         toPath DeleteIntegration'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteIntegrationResponse.hs b/gen/Network/AWS/APIGateway/DeleteIntegrationResponse.hs
--- a/gen/Network/AWS/APIGateway/DeleteIntegrationResponse.hs
+++ b/gen/Network/AWS/APIGateway/DeleteIntegrationResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteIntegrationResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents a delete integration response.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteIntegrationResponse.html AWS API Reference> for DeleteIntegrationResponse.
 module Network.AWS.APIGateway.DeleteIntegrationResponse
     (
     -- * Creating a Request
@@ -98,12 +96,17 @@
 instance AWSRequest DeleteIntegrationResponse where
         type Rs DeleteIntegrationResponse =
              DeleteIntegrationResponseResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response
           = receiveNull DeleteIntegrationResponseResponse'
 
+instance Hashable DeleteIntegrationResponse
+
 instance ToHeaders DeleteIntegrationResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteIntegrationResponse where
         toPath DeleteIntegrationResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteMethod.hs b/gen/Network/AWS/APIGateway/DeleteMethod.hs
--- a/gen/Network/AWS/APIGateway/DeleteMethod.hs
+++ b/gen/Network/AWS/APIGateway/DeleteMethod.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteMethod
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes an existing Method resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteMethod.html AWS API Reference> for DeleteMethod.
+-- Deletes an existing < Method> resource.
 module Network.AWS.APIGateway.DeleteMethod
     (
     -- * Creating a Request
@@ -43,7 +41,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to delete an existing Method resource.
+-- | Request to delete an existing < Method> resource.
 --
 -- /See:/ 'deleteMethod' smart constructor.
 data DeleteMethod = DeleteMethod'
@@ -73,25 +71,30 @@
     , _dmmHttpMethod = pHttpMethod_
     }
 
--- | The RestApi identifier for the Method resource.
+-- | The < RestApi> identifier for the < Method> resource.
 dmmRestAPIId :: Lens' DeleteMethod Text
 dmmRestAPIId = lens _dmmRestAPIId (\ s a -> s{_dmmRestAPIId = a});
 
--- | The Resource identifier for the Method resource.
+-- | The < Resource> identifier for the < Method> resource.
 dmmResourceId :: Lens' DeleteMethod Text
 dmmResourceId = lens _dmmResourceId (\ s a -> s{_dmmResourceId = a});
 
--- | The HTTP verb that identifies the Method resource.
+-- | The HTTP verb that identifies the < Method> resource.
 dmmHttpMethod :: Lens' DeleteMethod Text
 dmmHttpMethod = lens _dmmHttpMethod (\ s a -> s{_dmmHttpMethod = a});
 
 instance AWSRequest DeleteMethod where
         type Rs DeleteMethod = DeleteMethodResponse'
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteMethodResponse''
 
+instance Hashable DeleteMethod
+
 instance ToHeaders DeleteMethod where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteMethod where
         toPath DeleteMethod'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteMethodResponse.hs b/gen/Network/AWS/APIGateway/DeleteMethodResponse.hs
--- a/gen/Network/AWS/APIGateway/DeleteMethodResponse.hs
+++ b/gen/Network/AWS/APIGateway/DeleteMethodResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteMethodResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes an existing MethodResponse resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteMethodResponse.html AWS API Reference> for DeleteMethodResponse.
+-- Deletes an existing < MethodResponse> resource.
 module Network.AWS.APIGateway.DeleteMethodResponse
     (
     -- * Creating a Request
@@ -44,7 +42,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to delete an existing MethodResponse resource.
+-- | A request to delete an existing < MethodResponse> resource.
 --
 -- /See:/ 'deleteMethodResponse' smart constructor.
 data DeleteMethodResponse = DeleteMethodResponse'
@@ -79,30 +77,35 @@
     , _dmStatusCode = pStatusCode_
     }
 
--- | The RestApi identifier for the MethodResponse resource.
+-- | The < RestApi> identifier for the < MethodResponse> resource.
 dmRestAPIId :: Lens' DeleteMethodResponse Text
 dmRestAPIId = lens _dmRestAPIId (\ s a -> s{_dmRestAPIId = a});
 
--- | The Resource identifier for the MethodResponse resource.
+-- | The < Resource> identifier for the < MethodResponse> resource.
 dmResourceId :: Lens' DeleteMethodResponse Text
 dmResourceId = lens _dmResourceId (\ s a -> s{_dmResourceId = a});
 
--- | The HTTP verb identifier for the parent Method resource.
+-- | The HTTP verb identifier for the parent < Method> resource.
 dmHttpMethod :: Lens' DeleteMethodResponse Text
 dmHttpMethod = lens _dmHttpMethod (\ s a -> s{_dmHttpMethod = a});
 
--- | The status code identifier for the MethodResponse resource.
+-- | The status code identifier for the < MethodResponse> resource.
 dmStatusCode :: Lens' DeleteMethodResponse Text
 dmStatusCode = lens _dmStatusCode (\ s a -> s{_dmStatusCode = a});
 
 instance AWSRequest DeleteMethodResponse where
         type Rs DeleteMethodResponse =
              DeleteMethodResponseResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteMethodResponseResponse'
 
+instance Hashable DeleteMethodResponse
+
 instance ToHeaders DeleteMethodResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteMethodResponse where
         toPath DeleteMethodResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteModel.hs b/gen/Network/AWS/APIGateway/DeleteModel.hs
--- a/gen/Network/AWS/APIGateway/DeleteModel.hs
+++ b/gen/Network/AWS/APIGateway/DeleteModel.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteModel
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Deletes a model.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteModel.html AWS API Reference> for DeleteModel.
 module Network.AWS.APIGateway.DeleteModel
     (
     -- * Creating a Request
@@ -42,7 +40,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to delete an existing model in an existing RestApi resource.
+-- | Request to delete an existing model in an existing < RestApi> resource.
 --
 -- /See:/ 'deleteModel' smart constructor.
 data DeleteModel = DeleteModel'
@@ -67,7 +65,7 @@
     , _dModelName = pModelName_
     }
 
--- | The RestApi under which the model will be deleted.
+-- | The < RestApi> under which the model will be deleted.
 dRestAPIId :: Lens' DeleteModel Text
 dRestAPIId = lens _dRestAPIId (\ s a -> s{_dRestAPIId = a});
 
@@ -77,11 +75,16 @@
 
 instance AWSRequest DeleteModel where
         type Rs DeleteModel = DeleteModelResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteModelResponse'
 
+instance Hashable DeleteModel
+
 instance ToHeaders DeleteModel where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteModel where
         toPath DeleteModel'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteResource.hs b/gen/Network/AWS/APIGateway/DeleteResource.hs
--- a/gen/Network/AWS/APIGateway/DeleteResource.hs
+++ b/gen/Network/AWS/APIGateway/DeleteResource.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes a Resource resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteResource.html AWS API Reference> for DeleteResource.
+-- Deletes a < Resource> resource.
 module Network.AWS.APIGateway.DeleteResource
     (
     -- * Creating a Request
@@ -42,7 +40,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to delete a Resource.
+-- | Request to delete a < Resource>.
 --
 -- /See:/ 'deleteResource' smart constructor.
 data DeleteResource = DeleteResource'
@@ -67,21 +65,26 @@
     , _drResourceId = pResourceId_
     }
 
--- | The RestApi identifier for the Resource resource.
+-- | The < RestApi> identifier for the < Resource> resource.
 drRestAPIId :: Lens' DeleteResource Text
 drRestAPIId = lens _drRestAPIId (\ s a -> s{_drRestAPIId = a});
 
--- | The identifier of the Resource resource.
+-- | The identifier of the < Resource> resource.
 drResourceId :: Lens' DeleteResource Text
 drResourceId = lens _drResourceId (\ s a -> s{_drResourceId = a});
 
 instance AWSRequest DeleteResource where
         type Rs DeleteResource = DeleteResourceResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteResourceResponse'
 
+instance Hashable DeleteResource
+
 instance ToHeaders DeleteResource where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteResource where
         toPath DeleteResource'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteRestAPI.hs b/gen/Network/AWS/APIGateway/DeleteRestAPI.hs
--- a/gen/Network/AWS/APIGateway/DeleteRestAPI.hs
+++ b/gen/Network/AWS/APIGateway/DeleteRestAPI.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteRestAPI
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Deletes the specified API.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteRestAPI.html AWS API Reference> for DeleteRestAPI.
 module Network.AWS.APIGateway.DeleteRestAPI
     (
     -- * Creating a Request
@@ -61,17 +59,22 @@
     { _draRestAPIId = pRestAPIId_
     }
 
--- | The ID of the RestApi you want to delete.
+-- | The ID of the < RestApi> you want to delete.
 draRestAPIId :: Lens' DeleteRestAPI Text
 draRestAPIId = lens _draRestAPIId (\ s a -> s{_draRestAPIId = a});
 
 instance AWSRequest DeleteRestAPI where
         type Rs DeleteRestAPI = DeleteRestAPIResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteRestAPIResponse'
 
+instance Hashable DeleteRestAPI
+
 instance ToHeaders DeleteRestAPI where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteRestAPI where
         toPath DeleteRestAPI'{..}
diff --git a/gen/Network/AWS/APIGateway/DeleteStage.hs b/gen/Network/AWS/APIGateway/DeleteStage.hs
--- a/gen/Network/AWS/APIGateway/DeleteStage.hs
+++ b/gen/Network/AWS/APIGateway/DeleteStage.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.DeleteStage
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes a Stage resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteStage.html AWS API Reference> for DeleteStage.
+-- Deletes a < Stage> resource.
 module Network.AWS.APIGateway.DeleteStage
     (
     -- * Creating a Request
@@ -42,7 +40,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to delete a Stage resource.
+-- | Requests Amazon API Gateway to delete a < Stage> resource.
 --
 -- /See:/ 'deleteStage' smart constructor.
 data DeleteStage = DeleteStage'
@@ -67,21 +65,27 @@
     , _dsStageName = pStageName_
     }
 
--- | The identifier of the RestApi resource for the Stage resource to delete.
+-- | The identifier of the < RestApi> resource for the < Stage> resource to
+-- delete.
 dsRestAPIId :: Lens' DeleteStage Text
 dsRestAPIId = lens _dsRestAPIId (\ s a -> s{_dsRestAPIId = a});
 
--- | The name of the Stage resource to delete.
+-- | The name of the < Stage> resource to delete.
 dsStageName :: Lens' DeleteStage Text
 dsStageName = lens _dsStageName (\ s a -> s{_dsStageName = a});
 
 instance AWSRequest DeleteStage where
         type Rs DeleteStage = DeleteStageResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull DeleteStageResponse'
 
+instance Hashable DeleteStage
+
 instance ToHeaders DeleteStage where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath DeleteStage where
         toPath DeleteStage'{..}
diff --git a/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs b/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs
@@ -0,0 +1,109 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.FlushStageAuthorizersCache
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Flushes all authorizer cache entries on a stage.
+module Network.AWS.APIGateway.FlushStageAuthorizersCache
+    (
+    -- * Creating a Request
+      flushStageAuthorizersCache
+    , FlushStageAuthorizersCache
+    -- * Request Lenses
+    , fsacRestAPIId
+    , fsacStageName
+
+    -- * Destructuring the Response
+    , flushStageAuthorizersCacheResponse
+    , FlushStageAuthorizersCacheResponse
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Request to flush authorizer cache entries on a specified stage.
+--
+-- /See:/ 'flushStageAuthorizersCache' smart constructor.
+data FlushStageAuthorizersCache = FlushStageAuthorizersCache'
+    { _fsacRestAPIId :: !Text
+    , _fsacStageName :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'FlushStageAuthorizersCache' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'fsacRestAPIId'
+--
+-- * 'fsacStageName'
+flushStageAuthorizersCache
+    :: Text -- ^ 'fsacRestAPIId'
+    -> Text -- ^ 'fsacStageName'
+    -> FlushStageAuthorizersCache
+flushStageAuthorizersCache pRestAPIId_ pStageName_ =
+    FlushStageAuthorizersCache'
+    { _fsacRestAPIId = pRestAPIId_
+    , _fsacStageName = pStageName_
+    }
+
+-- | The API identifier of the stage to flush.
+fsacRestAPIId :: Lens' FlushStageAuthorizersCache Text
+fsacRestAPIId = lens _fsacRestAPIId (\ s a -> s{_fsacRestAPIId = a});
+
+-- | The name of the stage to flush.
+fsacStageName :: Lens' FlushStageAuthorizersCache Text
+fsacStageName = lens _fsacStageName (\ s a -> s{_fsacStageName = a});
+
+instance AWSRequest FlushStageAuthorizersCache where
+        type Rs FlushStageAuthorizersCache =
+             FlushStageAuthorizersCacheResponse
+        request = delete apiGateway
+        response
+          = receiveNull FlushStageAuthorizersCacheResponse'
+
+instance Hashable FlushStageAuthorizersCache
+
+instance ToHeaders FlushStageAuthorizersCache where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToPath FlushStageAuthorizersCache where
+        toPath FlushStageAuthorizersCache'{..}
+          = mconcat
+              ["/restapis/", toBS _fsacRestAPIId, "/stages/",
+               toBS _fsacStageName, "/cache/authorizers"]
+
+instance ToQuery FlushStageAuthorizersCache where
+        toQuery = const mempty
+
+-- | /See:/ 'flushStageAuthorizersCacheResponse' smart constructor.
+data FlushStageAuthorizersCacheResponse =
+    FlushStageAuthorizersCacheResponse'
+    deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'FlushStageAuthorizersCacheResponse' with the minimum fields required to make a request.
+--
+flushStageAuthorizersCacheResponse
+    :: FlushStageAuthorizersCacheResponse
+flushStageAuthorizersCacheResponse = FlushStageAuthorizersCacheResponse'
diff --git a/gen/Network/AWS/APIGateway/FlushStageCache.hs b/gen/Network/AWS/APIGateway/FlushStageCache.hs
--- a/gen/Network/AWS/APIGateway/FlushStageCache.hs
+++ b/gen/Network/AWS/APIGateway/FlushStageCache.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.FlushStageCache
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Flushes a stage\'s cache.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/FlushStageCache.html AWS API Reference> for FlushStageCache.
 module Network.AWS.APIGateway.FlushStageCache
     (
     -- * Creating a Request
@@ -77,11 +75,16 @@
 
 instance AWSRequest FlushStageCache where
         type Rs FlushStageCache = FlushStageCacheResponse
-        request = delete aPIGateway
+        request = delete apiGateway
         response = receiveNull FlushStageCacheResponse'
 
+instance Hashable FlushStageCache
+
 instance ToHeaders FlushStageCache where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath FlushStageCache where
         toPath FlushStageCache'{..}
diff --git a/gen/Network/AWS/APIGateway/GenerateClientCertificate.hs b/gen/Network/AWS/APIGateway/GenerateClientCertificate.hs
--- a/gen/Network/AWS/APIGateway/GenerateClientCertificate.hs
+++ b/gen/Network/AWS/APIGateway/GenerateClientCertificate.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GenerateClientCertificate
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GenerateClientCertificate.html AWS API Reference> for GenerateClientCertificate.
 module Network.AWS.APIGateway.GenerateClientCertificate
     (
     -- * Creating a Request
@@ -70,11 +68,16 @@
 
 instance AWSRequest GenerateClientCertificate where
         type Rs GenerateClientCertificate = ClientCertificate
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GenerateClientCertificate
+
 instance ToHeaders GenerateClientCertificate where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON GenerateClientCertificate where
         toJSON GenerateClientCertificate'{..}
diff --git a/gen/Network/AWS/APIGateway/GetAPIKey.hs b/gen/Network/AWS/APIGateway/GetAPIKey.hs
--- a/gen/Network/AWS/APIGateway/GetAPIKey.hs
+++ b/gen/Network/AWS/APIGateway/GetAPIKey.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetAPIKey
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about the current ApiKey resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetAPIKey.html AWS API Reference> for GetAPIKey.
+-- Gets information about the current < ApiKey> resource.
 module Network.AWS.APIGateway.GetAPIKey
     (
     -- * Creating a Request
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to get information about the current ApiKey resource.
+-- | A request to get information about the current < ApiKey> resource.
 --
 -- /See:/ 'getAPIKey' smart constructor.
 newtype GetAPIKey = GetAPIKey'
@@ -69,17 +67,22 @@
     { _gakApiKey = pApiKey_
     }
 
--- | The identifier of the ApiKey resource.
+-- | The identifier of the < ApiKey> resource.
 gakApiKey :: Lens' GetAPIKey Text
 gakApiKey = lens _gakApiKey (\ s a -> s{_gakApiKey = a});
 
 instance AWSRequest GetAPIKey where
         type Rs GetAPIKey = APIKey
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetAPIKey
+
 instance ToHeaders GetAPIKey where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetAPIKey where
         toPath GetAPIKey'{..}
diff --git a/gen/Network/AWS/APIGateway/GetAPIKeys.hs b/gen/Network/AWS/APIGateway/GetAPIKeys.hs
--- a/gen/Network/AWS/APIGateway/GetAPIKeys.hs
+++ b/gen/Network/AWS/APIGateway/GetAPIKeys.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetAPIKeys
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about the current ApiKeys resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetAPIKeys.html AWS API Reference> for GetAPIKeys.
+-- Gets information about the current < ApiKeys> resource.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetAPIKeys
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to get information about the current ApiKeys resource.
+-- | A request to get information about the current < ApiKeys> resource.
 --
 -- /See:/ 'getAPIKeys' smart constructor.
 data GetAPIKeys = GetAPIKeys'
@@ -72,11 +70,12 @@
     , _gakPosition = Nothing
     }
 
--- | The maximum number of ApiKeys to get information about.
+-- | The maximum number of < ApiKeys> to get information about.
 gakLimit :: Lens' GetAPIKeys (Maybe Int)
 gakLimit = lens _gakLimit (\ s a -> s{_gakLimit = a});
 
--- | The position of the current ApiKeys resource to get information about.
+-- | The position of the current < ApiKeys> resource to get information
+-- about.
 gakPosition :: Lens' GetAPIKeys (Maybe Text)
 gakPosition = lens _gakPosition (\ s a -> s{_gakPosition = a});
 
@@ -89,7 +88,7 @@
 
 instance AWSRequest GetAPIKeys where
         type Rs GetAPIKeys = GetAPIKeysResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -97,8 +96,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetAPIKeys
+
 instance ToHeaders GetAPIKeys where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetAPIKeys where
         toPath = const "/apikeys"
@@ -108,7 +112,7 @@
           = mconcat
               ["limit" =: _gakLimit, "position" =: _gakPosition]
 
--- | Represents a collection of ApiKey resources.
+-- | Represents a collection of < ApiKey> resources.
 --
 -- /See:/ 'getAPIKeysResponse' smart constructor.
 data GetAPIKeysResponse = GetAPIKeysResponse'
@@ -136,8 +140,8 @@
     , _gakrsResponseStatus = pResponseStatus_
     }
 
--- | The current page of any ApiKey resources in the collection of ApiKey
--- resources.
+-- | The current page of any < ApiKey> resources in the collection of
+-- < ApiKey> resources.
 gakrsItems :: Lens' GetAPIKeysResponse [APIKey]
 gakrsItems = lens _gakrsItems (\ s a -> s{_gakrsItems = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/GetAccount.hs b/gen/Network/AWS/APIGateway/GetAccount.hs
--- a/gen/Network/AWS/APIGateway/GetAccount.hs
+++ b/gen/Network/AWS/APIGateway/GetAccount.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetAccount
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about the current Account resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetAccount.html AWS API Reference> for GetAccount.
+-- Gets information about the current < Account> resource.
 module Network.AWS.APIGateway.GetAccount
     (
     -- * Creating a Request
@@ -42,8 +40,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to get information about the current Account
--- resource.
+-- | Requests Amazon API Gateway to get information about the current
+-- < Account> resource.
 --
 -- /See:/ 'getAccount' smart constructor.
 data GetAccount =
@@ -58,11 +56,16 @@
 
 instance AWSRequest GetAccount where
         type Rs GetAccount = Account
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetAccount
+
 instance ToHeaders GetAccount where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetAccount where
         toPath = const "/account"
diff --git a/gen/Network/AWS/APIGateway/GetAuthorizer.hs b/gen/Network/AWS/APIGateway/GetAuthorizer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/GetAuthorizer.hs
@@ -0,0 +1,105 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.GetAuthorizer
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Describe an existing < Authorizer> resource.
+module Network.AWS.APIGateway.GetAuthorizer
+    (
+    -- * Creating a Request
+      getAuthorizer
+    , GetAuthorizer
+    -- * Request Lenses
+    , gaaRestAPIId
+    , gaaAuthorizerId
+
+    -- * Destructuring the Response
+    , authorizer
+    , Authorizer
+    -- * Response Lenses
+    , aAuthorizerURI
+    , aIdentityValidationExpression
+    , aName
+    , aId
+    , aAuthorizerResultTtlInSeconds
+    , aType
+    , aIdentitySource
+    , aAuthorizerCredentials
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Request to describe an existing < Authorizer> resource.
+--
+-- /See:/ 'getAuthorizer' smart constructor.
+data GetAuthorizer = GetAuthorizer'
+    { _gaaRestAPIId    :: !Text
+    , _gaaAuthorizerId :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetAuthorizer' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gaaRestAPIId'
+--
+-- * 'gaaAuthorizerId'
+getAuthorizer
+    :: Text -- ^ 'gaaRestAPIId'
+    -> Text -- ^ 'gaaAuthorizerId'
+    -> GetAuthorizer
+getAuthorizer pRestAPIId_ pAuthorizerId_ =
+    GetAuthorizer'
+    { _gaaRestAPIId = pRestAPIId_
+    , _gaaAuthorizerId = pAuthorizerId_
+    }
+
+-- | The < RestApi> identifier for the < Authorizer> resource.
+gaaRestAPIId :: Lens' GetAuthorizer Text
+gaaRestAPIId = lens _gaaRestAPIId (\ s a -> s{_gaaRestAPIId = a});
+
+-- | The identifier of the < Authorizer> resource.
+gaaAuthorizerId :: Lens' GetAuthorizer Text
+gaaAuthorizerId = lens _gaaAuthorizerId (\ s a -> s{_gaaAuthorizerId = a});
+
+instance AWSRequest GetAuthorizer where
+        type Rs GetAuthorizer = Authorizer
+        request = get apiGateway
+        response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable GetAuthorizer
+
+instance ToHeaders GetAuthorizer where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToPath GetAuthorizer where
+        toPath GetAuthorizer'{..}
+          = mconcat
+              ["/restapis/", toBS _gaaRestAPIId, "/authorizers/",
+               toBS _gaaAuthorizerId]
+
+instance ToQuery GetAuthorizer where
+        toQuery = const mempty
diff --git a/gen/Network/AWS/APIGateway/GetAuthorizers.hs b/gen/Network/AWS/APIGateway/GetAuthorizers.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/GetAuthorizers.hs
@@ -0,0 +1,154 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.GetAuthorizers
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Describe an existing < Authorizers> resource.
+module Network.AWS.APIGateway.GetAuthorizers
+    (
+    -- * Creating a Request
+      getAuthorizers
+    , GetAuthorizers
+    -- * Request Lenses
+    , gaLimit
+    , gaPosition
+    , gaRestAPIId
+
+    -- * Destructuring the Response
+    , getAuthorizersResponse
+    , GetAuthorizersResponse
+    -- * Response Lenses
+    , garsItems
+    , garsPosition
+    , garsResponseStatus
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Request to describe an existing < Authorizers> resource.
+--
+-- /See:/ 'getAuthorizers' smart constructor.
+data GetAuthorizers = GetAuthorizers'
+    { _gaLimit     :: !(Maybe Int)
+    , _gaPosition  :: !(Maybe Text)
+    , _gaRestAPIId :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetAuthorizers' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gaLimit'
+--
+-- * 'gaPosition'
+--
+-- * 'gaRestAPIId'
+getAuthorizers
+    :: Text -- ^ 'gaRestAPIId'
+    -> GetAuthorizers
+getAuthorizers pRestAPIId_ =
+    GetAuthorizers'
+    { _gaLimit = Nothing
+    , _gaPosition = Nothing
+    , _gaRestAPIId = pRestAPIId_
+    }
+
+-- | Undocumented member.
+gaLimit :: Lens' GetAuthorizers (Maybe Int)
+gaLimit = lens _gaLimit (\ s a -> s{_gaLimit = a});
+
+-- | Undocumented member.
+gaPosition :: Lens' GetAuthorizers (Maybe Text)
+gaPosition = lens _gaPosition (\ s a -> s{_gaPosition = a});
+
+-- | The < RestApi> identifier for the < Authorizers> resource.
+gaRestAPIId :: Lens' GetAuthorizers Text
+gaRestAPIId = lens _gaRestAPIId (\ s a -> s{_gaRestAPIId = a});
+
+instance AWSRequest GetAuthorizers where
+        type Rs GetAuthorizers = GetAuthorizersResponse
+        request = get apiGateway
+        response
+          = receiveJSON
+              (\ s h x ->
+                 GetAuthorizersResponse' <$>
+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
+                     (pure (fromEnum s)))
+
+instance Hashable GetAuthorizers
+
+instance ToHeaders GetAuthorizers where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToPath GetAuthorizers where
+        toPath GetAuthorizers'{..}
+          = mconcat
+              ["/restapis/", toBS _gaRestAPIId, "/authorizers"]
+
+instance ToQuery GetAuthorizers where
+        toQuery GetAuthorizers'{..}
+          = mconcat
+              ["limit" =: _gaLimit, "position" =: _gaPosition]
+
+-- | Represents a collection of < Authorizer> resources.
+--
+-- /See:/ 'getAuthorizersResponse' smart constructor.
+data GetAuthorizersResponse = GetAuthorizersResponse'
+    { _garsItems          :: !(Maybe [Authorizer])
+    , _garsPosition       :: !(Maybe Text)
+    , _garsResponseStatus :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetAuthorizersResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'garsItems'
+--
+-- * 'garsPosition'
+--
+-- * 'garsResponseStatus'
+getAuthorizersResponse
+    :: Int -- ^ 'garsResponseStatus'
+    -> GetAuthorizersResponse
+getAuthorizersResponse pResponseStatus_ =
+    GetAuthorizersResponse'
+    { _garsItems = Nothing
+    , _garsPosition = Nothing
+    , _garsResponseStatus = pResponseStatus_
+    }
+
+-- | Gets the current list of < Authorizer> resources in the collection.
+garsItems :: Lens' GetAuthorizersResponse [Authorizer]
+garsItems = lens _garsItems (\ s a -> s{_garsItems = a}) . _Default . _Coerce;
+
+-- | Undocumented member.
+garsPosition :: Lens' GetAuthorizersResponse (Maybe Text)
+garsPosition = lens _garsPosition (\ s a -> s{_garsPosition = a});
+
+-- | The response status code.
+garsResponseStatus :: Lens' GetAuthorizersResponse Int
+garsResponseStatus = lens _garsResponseStatus (\ s a -> s{_garsResponseStatus = a});
diff --git a/gen/Network/AWS/APIGateway/GetBasePathMapping.hs b/gen/Network/AWS/APIGateway/GetBasePathMapping.hs
--- a/gen/Network/AWS/APIGateway/GetBasePathMapping.hs
+++ b/gen/Network/AWS/APIGateway/GetBasePathMapping.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetBasePathMapping
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Describe a BasePathMapping resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetBasePathMapping.html AWS API Reference> for GetBasePathMapping.
+-- Describe a < BasePathMapping> resource.
 module Network.AWS.APIGateway.GetBasePathMapping
     (
     -- * Creating a Request
@@ -46,7 +44,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to describe a BasePathMapping resource.
+-- | Request to describe a < BasePathMapping> resource.
 --
 -- /See:/ 'getBasePathMapping' smart constructor.
 data GetBasePathMapping = GetBasePathMapping'
@@ -71,7 +69,7 @@
     , _gbpmBasePath = pBasePath_
     }
 
--- | The domain name of the BasePathMapping resource to be described.
+-- | The domain name of the < BasePathMapping> resource to be described.
 gbpmDomainName :: Lens' GetBasePathMapping Text
 gbpmDomainName = lens _gbpmDomainName (\ s a -> s{_gbpmDomainName = a});
 
@@ -84,11 +82,16 @@
 
 instance AWSRequest GetBasePathMapping where
         type Rs GetBasePathMapping = BasePathMapping
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetBasePathMapping
+
 instance ToHeaders GetBasePathMapping where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetBasePathMapping where
         toPath GetBasePathMapping'{..}
diff --git a/gen/Network/AWS/APIGateway/GetBasePathMappings.hs b/gen/Network/AWS/APIGateway/GetBasePathMappings.hs
--- a/gen/Network/AWS/APIGateway/GetBasePathMappings.hs
+++ b/gen/Network/AWS/APIGateway/GetBasePathMappings.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetBasePathMappings
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Represents a collection of BasePathMapping resources.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetBasePathMappings.html AWS API Reference> for GetBasePathMappings.
+-- Represents a collection of < BasePathMapping> resources.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetBasePathMappings
@@ -50,7 +48,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to get information about a collection of BasePathMapping
+-- | A request to get information about a collection of < BasePathMapping>
 -- resources.
 --
 -- /See:/ 'getBasePathMappings' smart constructor.
@@ -79,18 +77,18 @@
     , _gDomainName = pDomainName_
     }
 
--- | The maximum number of BasePathMapping resources in the collection to get
--- information about. The default limit is 25. It should be an integer
+-- | The maximum number of < BasePathMapping> resources in the collection to
+-- get information about. The default limit is 25. It should be an integer
 -- between 1 - 500.
 gLimit :: Lens' GetBasePathMappings (Maybe Int)
 gLimit = lens _gLimit (\ s a -> s{_gLimit = a});
 
--- | The position of the current BasePathMapping resource in the collection
--- to get information about.
+-- | The position of the current < BasePathMapping> resource in the
+-- collection to get information about.
 gPosition :: Lens' GetBasePathMappings (Maybe Text)
 gPosition = lens _gPosition (\ s a -> s{_gPosition = a});
 
--- | The domain name of a BasePathMapping resource.
+-- | The domain name of a < BasePathMapping> resource.
 gDomainName :: Lens' GetBasePathMappings Text
 gDomainName = lens _gDomainName (\ s a -> s{_gDomainName = a});
 
@@ -104,7 +102,7 @@
 instance AWSRequest GetBasePathMappings where
         type Rs GetBasePathMappings =
              GetBasePathMappingsResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -112,8 +110,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetBasePathMappings
+
 instance ToHeaders GetBasePathMappings where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetBasePathMappings where
         toPath GetBasePathMappings'{..}
@@ -126,7 +129,7 @@
           = mconcat
               ["limit" =: _gLimit, "position" =: _gPosition]
 
--- | Represents a collection of BasePathMapping resources.
+-- | Represents a collection of < BasePathMapping> resources.
 --
 -- /See:/ 'getBasePathMappingsResponse' smart constructor.
 data GetBasePathMappingsResponse = GetBasePathMappingsResponse'
@@ -154,8 +157,8 @@
     , _gbpmrsResponseStatus = pResponseStatus_
     }
 
--- | The current page of any BasePathMapping resources in the collection of
--- base path mapping resources.
+-- | The current page of any < BasePathMapping> resources in the collection
+-- of base path mapping resources.
 gbpmrsItems :: Lens' GetBasePathMappingsResponse [BasePathMapping]
 gbpmrsItems = lens _gbpmrsItems (\ s a -> s{_gbpmrsItems = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/GetClientCertificate.hs b/gen/Network/AWS/APIGateway/GetClientCertificate.hs
--- a/gen/Network/AWS/APIGateway/GetClientCertificate.hs
+++ b/gen/Network/AWS/APIGateway/GetClientCertificate.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetClientCertificate
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetClientCertificate.html AWS API Reference> for GetClientCertificate.
 module Network.AWS.APIGateway.GetClientCertificate
     (
     -- * Creating a Request
@@ -71,11 +69,16 @@
 
 instance AWSRequest GetClientCertificate where
         type Rs GetClientCertificate = ClientCertificate
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetClientCertificate
+
 instance ToHeaders GetClientCertificate where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetClientCertificate where
         toPath GetClientCertificate'{..}
diff --git a/gen/Network/AWS/APIGateway/GetClientCertificates.hs b/gen/Network/AWS/APIGateway/GetClientCertificates.hs
--- a/gen/Network/AWS/APIGateway/GetClientCertificates.hs
+++ b/gen/Network/AWS/APIGateway/GetClientCertificates.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetClientCertificates
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Undocumented operation.
 --
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetClientCertificates.html AWS API Reference> for GetClientCertificates.
---
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetClientCertificates
     (
@@ -88,7 +86,7 @@
 instance AWSRequest GetClientCertificates where
         type Rs GetClientCertificates =
              GetClientCertificatesResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -96,8 +94,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetClientCertificates
+
 instance ToHeaders GetClientCertificates where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetClientCertificates where
         toPath = const "/clientcertificates"
diff --git a/gen/Network/AWS/APIGateway/GetDeployment.hs b/gen/Network/AWS/APIGateway/GetDeployment.hs
--- a/gen/Network/AWS/APIGateway/GetDeployment.hs
+++ b/gen/Network/AWS/APIGateway/GetDeployment.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetDeployment
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about a Deployment resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDeployment.html AWS API Reference> for GetDeployment.
+-- Gets information about a < Deployment> resource.
 module Network.AWS.APIGateway.GetDeployment
     (
     -- * Creating a Request
@@ -47,7 +45,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to get information about a Deployment
+-- | Requests Amazon API Gateway to get information about a < Deployment>
 -- resource.
 --
 -- /See:/ 'getDeployment' smart constructor.
@@ -73,22 +71,27 @@
     , _gDeploymentId = pDeploymentId_
     }
 
--- | The identifier of the RestApi resource for the Deployment resource to
--- get information about.
+-- | The identifier of the < RestApi> resource for the < Deployment> resource
+-- to get information about.
 gRestAPIId :: Lens' GetDeployment Text
 gRestAPIId = lens _gRestAPIId (\ s a -> s{_gRestAPIId = a});
 
--- | The identifier of the Deployment resource to get information about.
+-- | The identifier of the < Deployment> resource to get information about.
 gDeploymentId :: Lens' GetDeployment Text
 gDeploymentId = lens _gDeploymentId (\ s a -> s{_gDeploymentId = a});
 
 instance AWSRequest GetDeployment where
         type Rs GetDeployment = Deployment
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetDeployment
+
 instance ToHeaders GetDeployment where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetDeployment where
         toPath GetDeployment'{..}
diff --git a/gen/Network/AWS/APIGateway/GetDeployments.hs b/gen/Network/AWS/APIGateway/GetDeployments.hs
--- a/gen/Network/AWS/APIGateway/GetDeployments.hs
+++ b/gen/Network/AWS/APIGateway/GetDeployments.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetDeployments
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about a Deployments collection.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDeployments.html AWS API Reference> for GetDeployments.
+-- Gets information about a < Deployments> collection.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetDeployments
@@ -50,7 +48,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to get information about a Deployments
+-- | Requests Amazon API Gateway to get information about a < Deployments>
 -- collection.
 --
 -- /See:/ 'getDeployments' smart constructor.
@@ -79,19 +77,19 @@
     , _gdRestAPIId = pRestAPIId_
     }
 
--- | The maximum number of Deployment resources in the collection to get
+-- | The maximum number of < Deployment> resources in the collection to get
 -- information about. The default limit is 25. It should be an integer
 -- between 1 - 500.
 gdLimit :: Lens' GetDeployments (Maybe Int)
 gdLimit = lens _gdLimit (\ s a -> s{_gdLimit = a});
 
--- | The position of the current Deployment resource in the collection to get
--- information about.
+-- | The position of the current < Deployment> resource in the collection to
+-- get information about.
 gdPosition :: Lens' GetDeployments (Maybe Text)
 gdPosition = lens _gdPosition (\ s a -> s{_gdPosition = a});
 
--- | The identifier of the RestApi resource for the collection of Deployment
--- resources to get information about.
+-- | The identifier of the < RestApi> resource for the collection of
+-- < Deployment> resources to get information about.
 gdRestAPIId :: Lens' GetDeployments Text
 gdRestAPIId = lens _gdRestAPIId (\ s a -> s{_gdRestAPIId = a});
 
@@ -104,7 +102,7 @@
 
 instance AWSRequest GetDeployments where
         type Rs GetDeployments = GetDeploymentsResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -112,8 +110,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetDeployments
+
 instance ToHeaders GetDeployments where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetDeployments where
         toPath GetDeployments'{..}
@@ -156,7 +159,7 @@
     , _gdrsResponseStatus = pResponseStatus_
     }
 
--- | The current page of any Deployment resources in the collection of
+-- | The current page of any < Deployment> resources in the collection of
 -- deployment resources.
 gdrsItems :: Lens' GetDeploymentsResponse [Deployment]
 gdrsItems = lens _gdrsItems (\ s a -> s{_gdrsItems = a}) . _Default . _Coerce;
diff --git a/gen/Network/AWS/APIGateway/GetDomainName.hs b/gen/Network/AWS/APIGateway/GetDomainName.hs
--- a/gen/Network/AWS/APIGateway/GetDomainName.hs
+++ b/gen/Network/AWS/APIGateway/GetDomainName.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetDomainName
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Represents a domain name that is contained in a simpler, more intuitive
 -- URL that can be called.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDomainName.html AWS API Reference> for GetDomainName.
 module Network.AWS.APIGateway.GetDomainName
     (
     -- * Creating a Request
@@ -47,7 +45,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to get the name of a DomainName resource.
+-- | Request to get the name of a < DomainName> resource.
 --
 -- /See:/ 'getDomainName' smart constructor.
 newtype GetDomainName = GetDomainName'
@@ -67,17 +65,22 @@
     { _gdnDomainName = pDomainName_
     }
 
--- | The name of the DomainName resource.
+-- | The name of the < DomainName> resource.
 gdnDomainName :: Lens' GetDomainName Text
 gdnDomainName = lens _gdnDomainName (\ s a -> s{_gdnDomainName = a});
 
 instance AWSRequest GetDomainName where
         type Rs GetDomainName = DomainName
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetDomainName
+
 instance ToHeaders GetDomainName where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetDomainName where
         toPath GetDomainName'{..}
diff --git a/gen/Network/AWS/APIGateway/GetDomainNames.hs b/gen/Network/AWS/APIGateway/GetDomainNames.hs
--- a/gen/Network/AWS/APIGateway/GetDomainNames.hs
+++ b/gen/Network/AWS/APIGateway/GetDomainNames.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetDomainNames
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Represents a collection of DomainName resources.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDomainNames.html AWS API Reference> for GetDomainNames.
+-- Represents a collection of < DomainName> resources.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetDomainNames
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to describe a collection of DomainName resources.
+-- | Request to describe a collection of < DomainName> resources.
 --
 -- /See:/ 'getDomainNames' smart constructor.
 data GetDomainNames = GetDomainNames'
@@ -72,7 +70,7 @@
     , _gdnPosition = Nothing
     }
 
--- | The maximum number of DomainName resources in the collection to get
+-- | The maximum number of < DomainName> resources in the collection to get
 -- information about. The default limit is 25. It should be an integer
 -- between 1 - 500.
 gdnLimit :: Lens' GetDomainNames (Maybe Int)
@@ -91,7 +89,7 @@
 
 instance AWSRequest GetDomainNames where
         type Rs GetDomainNames = GetDomainNamesResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -99,8 +97,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetDomainNames
+
 instance ToHeaders GetDomainNames where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetDomainNames where
         toPath = const "/domainnames"
@@ -110,7 +113,7 @@
           = mconcat
               ["limit" =: _gdnLimit, "position" =: _gdnPosition]
 
--- | Represents a collection of DomainName resources.
+-- | Represents a collection of < DomainName> resources.
 --
 -- /See:/ 'getDomainNamesResponse' smart constructor.
 data GetDomainNamesResponse = GetDomainNamesResponse'
@@ -138,8 +141,8 @@
     , _gdnrsResponseStatus = pResponseStatus_
     }
 
--- | The current page of any DomainName resources in the collection of
--- DomainName resources.
+-- | The current page of any < DomainName> resources in the collection of
+-- < DomainName> resources.
 gdnrsItems :: Lens' GetDomainNamesResponse [DomainName]
 gdnrsItems = lens _gdnrsItems (\ s a -> s{_gdnrsItems = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/GetExport.hs b/gen/Network/AWS/APIGateway/GetExport.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/GetExport.hs
@@ -0,0 +1,183 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.GetExport
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Undocumented operation.
+module Network.AWS.APIGateway.GetExport
+    (
+    -- * Creating a Request
+      getExport
+    , GetExport
+    -- * Request Lenses
+    , geParameters
+    , geAccepts
+    , geRestAPIId
+    , geStageName
+    , geExportType
+
+    -- * Destructuring the Response
+    , getExportResponse
+    , GetExportResponse
+    -- * Response Lenses
+    , gersBody
+    , gersContentDisposition
+    , gersContentType
+    , gersResponseStatus
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'getExport' smart constructor.
+data GetExport = GetExport'
+    { _geParameters :: !(Maybe (Map Text Text))
+    , _geAccepts    :: !(Maybe Text)
+    , _geRestAPIId  :: !Text
+    , _geStageName  :: !Text
+    , _geExportType :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetExport' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'geParameters'
+--
+-- * 'geAccepts'
+--
+-- * 'geRestAPIId'
+--
+-- * 'geStageName'
+--
+-- * 'geExportType'
+getExport
+    :: Text -- ^ 'geRestAPIId'
+    -> Text -- ^ 'geStageName'
+    -> Text -- ^ 'geExportType'
+    -> GetExport
+getExport pRestAPIId_ pStageName_ pExportType_ =
+    GetExport'
+    { _geParameters = Nothing
+    , _geAccepts = Nothing
+    , _geRestAPIId = pRestAPIId_
+    , _geStageName = pStageName_
+    , _geExportType = pExportType_
+    }
+
+-- | Undocumented member.
+geParameters :: Lens' GetExport (HashMap Text Text)
+geParameters = lens _geParameters (\ s a -> s{_geParameters = a}) . _Default . _Map;
+
+-- | Undocumented member.
+geAccepts :: Lens' GetExport (Maybe Text)
+geAccepts = lens _geAccepts (\ s a -> s{_geAccepts = a});
+
+-- | Undocumented member.
+geRestAPIId :: Lens' GetExport Text
+geRestAPIId = lens _geRestAPIId (\ s a -> s{_geRestAPIId = a});
+
+-- | Undocumented member.
+geStageName :: Lens' GetExport Text
+geStageName = lens _geStageName (\ s a -> s{_geStageName = a});
+
+-- | Undocumented member.
+geExportType :: Lens' GetExport Text
+geExportType = lens _geExportType (\ s a -> s{_geExportType = a});
+
+instance AWSRequest GetExport where
+        type Rs GetExport = GetExportResponse
+        request = get apiGateway
+        response
+          = receiveJSON
+              (\ s h x ->
+                 GetExportResponse' <$>
+                   (pure (Just x)) <*> (h .#? "Content-Disposition") <*>
+                     (h .#? "Content-Type")
+                     <*> (pure (fromEnum s)))
+
+instance Hashable GetExport
+
+instance ToHeaders GetExport where
+        toHeaders GetExport'{..}
+          = mconcat
+              ["Accept" =# _geAccepts,
+               "Accept" =# ("application/json" :: ByteString)]
+
+instance ToPath GetExport where
+        toPath GetExport'{..}
+          = mconcat
+              ["/restapis/", toBS _geRestAPIId, "/stages/",
+               toBS _geStageName, "/exports/", toBS _geExportType]
+
+instance ToQuery GetExport where
+        toQuery GetExport'{..}
+          = mconcat
+              ["parameters" =:
+                 toQuery
+                   (toQueryMap "entry" "key" "value" <$> _geParameters)]
+
+-- | /See:/ 'getExportResponse' smart constructor.
+data GetExportResponse = GetExportResponse'
+    { _gersBody               :: !(Maybe (HashMap Text Value))
+    , _gersContentDisposition :: !(Maybe Text)
+    , _gersContentType        :: !(Maybe Text)
+    , _gersResponseStatus     :: !Int
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetExportResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gersBody'
+--
+-- * 'gersContentDisposition'
+--
+-- * 'gersContentType'
+--
+-- * 'gersResponseStatus'
+getExportResponse
+    :: Int -- ^ 'gersResponseStatus'
+    -> GetExportResponse
+getExportResponse pResponseStatus_ =
+    GetExportResponse'
+    { _gersBody = Nothing
+    , _gersContentDisposition = Nothing
+    , _gersContentType = Nothing
+    , _gersResponseStatus = pResponseStatus_
+    }
+
+-- | Undocumented member.
+gersBody :: Lens' GetExportResponse (Maybe (HashMap Text Value))
+gersBody = lens _gersBody (\ s a -> s{_gersBody = a});
+
+-- | Undocumented member.
+gersContentDisposition :: Lens' GetExportResponse (Maybe Text)
+gersContentDisposition = lens _gersContentDisposition (\ s a -> s{_gersContentDisposition = a});
+
+-- | Undocumented member.
+gersContentType :: Lens' GetExportResponse (Maybe Text)
+gersContentType = lens _gersContentType (\ s a -> s{_gersContentType = a});
+
+-- | The response status code.
+gersResponseStatus :: Lens' GetExportResponse Int
+gersResponseStatus = lens _gersResponseStatus (\ s a -> s{_gersResponseStatus = a});
diff --git a/gen/Network/AWS/APIGateway/GetIntegration.hs b/gen/Network/AWS/APIGateway/GetIntegration.hs
--- a/gen/Network/AWS/APIGateway/GetIntegration.hs
+++ b/gen/Network/AWS/APIGateway/GetIntegration.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetIntegration
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents a get integration.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetIntegration.html AWS API Reference> for GetIntegration.
 module Network.AWS.APIGateway.GetIntegration
     (
     -- * Creating a Request
@@ -97,11 +95,16 @@
 
 instance AWSRequest GetIntegration where
         type Rs GetIntegration = Integration
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetIntegration
+
 instance ToHeaders GetIntegration where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetIntegration where
         toPath GetIntegration'{..}
diff --git a/gen/Network/AWS/APIGateway/GetIntegrationResponse.hs b/gen/Network/AWS/APIGateway/GetIntegrationResponse.hs
--- a/gen/Network/AWS/APIGateway/GetIntegrationResponse.hs
+++ b/gen/Network/AWS/APIGateway/GetIntegrationResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetIntegrationResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents a get integration response.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetIntegrationResponse.html AWS API Reference> for GetIntegrationResponse.
 module Network.AWS.APIGateway.GetIntegrationResponse
     (
     -- * Creating a Request
@@ -102,11 +100,16 @@
 
 instance AWSRequest GetIntegrationResponse where
         type Rs GetIntegrationResponse = IntegrationResponse
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetIntegrationResponse
+
 instance ToHeaders GetIntegrationResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetIntegrationResponse where
         toPath GetIntegrationResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/GetMethod.hs b/gen/Network/AWS/APIGateway/GetMethod.hs
--- a/gen/Network/AWS/APIGateway/GetMethod.hs
+++ b/gen/Network/AWS/APIGateway/GetMethod.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetMethod
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Describe an existing Method resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetMethod.html AWS API Reference> for GetMethod.
+-- Describe an existing < Method> resource.
 module Network.AWS.APIGateway.GetMethod
     (
     -- * Creating a Request
@@ -39,6 +37,7 @@
     , mHttpMethod
     , mRequestModels
     , mRequestParameters
+    , mAuthorizerId
     , mAuthorizationType
     , mApiKeyRequired
     , mMethodIntegration
@@ -51,7 +50,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to describe an existing Method resource.
+-- | Request to describe an existing < Method> resource.
 --
 -- /See:/ 'getMethod' smart constructor.
 data GetMethod = GetMethod'
@@ -81,11 +80,11 @@
     , _gmmHttpMethod = pHttpMethod_
     }
 
--- | The RestApi identifier for the Method resource.
+-- | The < RestApi> identifier for the < Method> resource.
 gmmRestAPIId :: Lens' GetMethod Text
 gmmRestAPIId = lens _gmmRestAPIId (\ s a -> s{_gmmRestAPIId = a});
 
--- | The Resource identifier for the Method resource.
+-- | The < Resource> identifier for the < Method> resource.
 gmmResourceId :: Lens' GetMethod Text
 gmmResourceId = lens _gmmResourceId (\ s a -> s{_gmmResourceId = a});
 
@@ -95,11 +94,16 @@
 
 instance AWSRequest GetMethod where
         type Rs GetMethod = Method
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetMethod
+
 instance ToHeaders GetMethod where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetMethod where
         toPath GetMethod'{..}
diff --git a/gen/Network/AWS/APIGateway/GetMethodResponse.hs b/gen/Network/AWS/APIGateway/GetMethodResponse.hs
--- a/gen/Network/AWS/APIGateway/GetMethodResponse.hs
+++ b/gen/Network/AWS/APIGateway/GetMethodResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetMethodResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Describes a MethodResponse resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetMethodResponse.html AWS API Reference> for GetMethodResponse.
+-- Describes a < MethodResponse> resource.
 module Network.AWS.APIGateway.GetMethodResponse
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to describe a MethodResponse resource.
+-- | Request to describe a < MethodResponse> resource.
 --
 -- /See:/ 'getMethodResponse' smart constructor.
 data GetMethodResponse = GetMethodResponse'
@@ -83,29 +81,34 @@
     , _gmStatusCode = pStatusCode_
     }
 
--- | The RestApi identifier for the MethodResponse resource.
+-- | The < RestApi> identifier for the < MethodResponse> resource.
 gmRestAPIId :: Lens' GetMethodResponse Text
 gmRestAPIId = lens _gmRestAPIId (\ s a -> s{_gmRestAPIId = a});
 
--- | The Resource identifier for the MethodResponse resource.
+-- | The < Resource> identifier for the < MethodResponse> resource.
 gmResourceId :: Lens' GetMethodResponse Text
 gmResourceId = lens _gmResourceId (\ s a -> s{_gmResourceId = a});
 
--- | The HTTP verb identifier for the parent Method resource.
+-- | The HTTP verb identifier for the parent < Method> resource.
 gmHttpMethod :: Lens' GetMethodResponse Text
 gmHttpMethod = lens _gmHttpMethod (\ s a -> s{_gmHttpMethod = a});
 
--- | The status code identifier for the MethodResponse resource.
+-- | The status code identifier for the < MethodResponse> resource.
 gmStatusCode :: Lens' GetMethodResponse Text
 gmStatusCode = lens _gmStatusCode (\ s a -> s{_gmStatusCode = a});
 
 instance AWSRequest GetMethodResponse where
         type Rs GetMethodResponse = MethodResponse
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetMethodResponse
+
 instance ToHeaders GetMethodResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetMethodResponse where
         toPath GetMethodResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/GetModel.hs b/gen/Network/AWS/APIGateway/GetModel.hs
--- a/gen/Network/AWS/APIGateway/GetModel.hs
+++ b/gen/Network/AWS/APIGateway/GetModel.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetModel
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Describes an existing model defined for a RestApi resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetModel.html AWS API Reference> for GetModel.
+-- Describes an existing model defined for a < RestApi> resource.
 module Network.AWS.APIGateway.GetModel
     (
     -- * Creating a Request
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to list information about a model in an existing RestApi
+-- | Request to list information about a model in an existing < RestApi>
 -- resource.
 --
 -- /See:/ 'getModel' smart constructor.
@@ -84,7 +82,7 @@
 ggFlatten :: Lens' GetModel (Maybe Bool)
 ggFlatten = lens _ggFlatten (\ s a -> s{_ggFlatten = a});
 
--- | The RestApi identifier under which the Model exists.
+-- | The < RestApi> identifier under which the < Model> exists.
 ggRestAPIId :: Lens' GetModel Text
 ggRestAPIId = lens _ggRestAPIId (\ s a -> s{_ggRestAPIId = a});
 
@@ -94,11 +92,16 @@
 
 instance AWSRequest GetModel where
         type Rs GetModel = Model
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetModel
+
 instance ToHeaders GetModel where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetModel where
         toPath GetModel'{..}
diff --git a/gen/Network/AWS/APIGateway/GetModelTemplate.hs b/gen/Network/AWS/APIGateway/GetModelTemplate.hs
--- a/gen/Network/AWS/APIGateway/GetModelTemplate.hs
+++ b/gen/Network/AWS/APIGateway/GetModelTemplate.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetModelTemplate
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Generates a sample mapping template that can be used to transform a
 -- payload into the structure of a model.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetModelTemplate.html AWS API Reference> for GetModelTemplate.
 module Network.AWS.APIGateway.GetModelTemplate
     (
     -- * Creating a Request
@@ -72,7 +70,7 @@
     , _gmtModelName = pModelName_
     }
 
--- | The ID of the RestApi under which the model exists.
+-- | The ID of the < RestApi> under which the model exists.
 gmtRestAPIId :: Lens' GetModelTemplate Text
 gmtRestAPIId = lens _gmtRestAPIId (\ s a -> s{_gmtRestAPIId = a});
 
@@ -82,15 +80,20 @@
 
 instance AWSRequest GetModelTemplate where
         type Rs GetModelTemplate = GetModelTemplateResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
                  GetModelTemplateResponse' <$>
                    (x .?> "value") <*> (pure (fromEnum s)))
 
+instance Hashable GetModelTemplate
+
 instance ToHeaders GetModelTemplate where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetModelTemplate where
         toPath GetModelTemplate'{..}
diff --git a/gen/Network/AWS/APIGateway/GetModels.hs b/gen/Network/AWS/APIGateway/GetModels.hs
--- a/gen/Network/AWS/APIGateway/GetModels.hs
+++ b/gen/Network/AWS/APIGateway/GetModels.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetModels
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Describes existing Models defined for a RestApi resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetModels.html AWS API Reference> for GetModels.
+-- Describes existing < Models> defined for a < RestApi> resource.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetModels
@@ -50,7 +48,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to list existing Models defined for a RestApi resource.
+-- | Request to list existing < Models> defined for a < RestApi> resource.
 --
 -- /See:/ 'getModels' smart constructor.
 data GetModels = GetModels'
@@ -83,12 +81,12 @@
 gmsLimit :: Lens' GetModels (Maybe Int)
 gmsLimit = lens _gmsLimit (\ s a -> s{_gmsLimit = a});
 
--- | The position of the next set of results in the Models resource to get
+-- | The position of the next set of results in the < Models> resource to get
 -- information about.
 gmsPosition :: Lens' GetModels (Maybe Text)
 gmsPosition = lens _gmsPosition (\ s a -> s{_gmsPosition = a});
 
--- | The RestApi identifier.
+-- | The < RestApi> identifier.
 gmsRestAPIId :: Lens' GetModels Text
 gmsRestAPIId = lens _gmsRestAPIId (\ s a -> s{_gmsRestAPIId = a});
 
@@ -101,7 +99,7 @@
 
 instance AWSRequest GetModels where
         type Rs GetModels = GetModelsResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -109,8 +107,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetModels
+
 instance ToHeaders GetModels where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetModels where
         toPath GetModels'{..}
@@ -122,7 +125,7 @@
           = mconcat
               ["limit" =: _gmsLimit, "position" =: _gmsPosition]
 
--- | Represents a collection of Model resources.
+-- | Represents a collection of < Model> resources.
 --
 -- /See:/ 'getModelsResponse' smart constructor.
 data GetModelsResponse = GetModelsResponse'
@@ -150,7 +153,7 @@
     , _gmrsResponseStatus = pResponseStatus_
     }
 
--- | Gets the current Model resource in the collection.
+-- | Gets the current < Model> resource in the collection.
 gmrsItems :: Lens' GetModelsResponse [Model]
 gmrsItems = lens _gmrsItems (\ s a -> s{_gmrsItems = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/GetResource.hs b/gen/Network/AWS/APIGateway/GetResource.hs
--- a/gen/Network/AWS/APIGateway/GetResource.hs
+++ b/gen/Network/AWS/APIGateway/GetResource.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Lists information about a resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetResource.html AWS API Reference> for GetResource.
 module Network.AWS.APIGateway.GetResource
     (
     -- * Creating a Request
@@ -73,21 +71,26 @@
     , _grResourceId = pResourceId_
     }
 
--- | The RestApi identifier for the resource.
+-- | The < RestApi> identifier for the resource.
 grRestAPIId :: Lens' GetResource Text
 grRestAPIId = lens _grRestAPIId (\ s a -> s{_grRestAPIId = a});
 
--- | The identifier for the Resource resource.
+-- | The identifier for the < Resource> resource.
 grResourceId :: Lens' GetResource Text
 grResourceId = lens _grResourceId (\ s a -> s{_grResourceId = a});
 
 instance AWSRequest GetResource where
         type Rs GetResource = Resource
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetResource
+
 instance ToHeaders GetResource where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetResource where
         toPath GetResource'{..}
diff --git a/gen/Network/AWS/APIGateway/GetResources.hs b/gen/Network/AWS/APIGateway/GetResources.hs
--- a/gen/Network/AWS/APIGateway/GetResources.hs
+++ b/gen/Network/AWS/APIGateway/GetResources.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetResources
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Lists information about a collection of Resource resources.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetResources.html AWS API Reference> for GetResources.
+-- Lists information about a collection of < Resource> resources.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetResources
@@ -78,18 +76,18 @@
     , _grsRestAPIId = pRestAPIId_
     }
 
--- | The maximum number of Resource resources in the collection to get
+-- | The maximum number of < Resource> resources in the collection to get
 -- information about. The default limit is 25. It should be an integer
 -- between 1 - 500.
 grsLimit :: Lens' GetResources (Maybe Int)
 grsLimit = lens _grsLimit (\ s a -> s{_grsLimit = a});
 
--- | The position of the next set of results in the current Resources
+-- | The position of the next set of results in the current < Resources>
 -- resource to get information about.
 grsPosition :: Lens' GetResources (Maybe Text)
 grsPosition = lens _grsPosition (\ s a -> s{_grsPosition = a});
 
--- | The RestApi identifier for the Resource.
+-- | The < RestApi> identifier for the Resource.
 grsRestAPIId :: Lens' GetResources Text
 grsRestAPIId = lens _grsRestAPIId (\ s a -> s{_grsRestAPIId = a});
 
@@ -102,7 +100,7 @@
 
 instance AWSRequest GetResources where
         type Rs GetResources = GetResourcesResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -110,8 +108,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetResources
+
 instance ToHeaders GetResources where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetResources where
         toPath GetResources'{..}
@@ -123,7 +126,7 @@
           = mconcat
               ["limit" =: _grsLimit, "position" =: _grsPosition]
 
--- | Represents a collection of Resource resources.
+-- | Represents a collection of < Resource> resources.
 --
 -- /See:/ 'getResourcesResponse' smart constructor.
 data GetResourcesResponse = GetResourcesResponse'
@@ -151,7 +154,7 @@
     , _grrsResponseStatus = pResponseStatus_
     }
 
--- | Gets the current Resource resource in the collection.
+-- | Gets the current < Resource> resource in the collection.
 grrsItems :: Lens' GetResourcesResponse [Resource]
 grrsItems = lens _grrsItems (\ s a -> s{_grrsItems = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/GetRestAPI.hs b/gen/Network/AWS/APIGateway/GetRestAPI.hs
--- a/gen/Network/AWS/APIGateway/GetRestAPI.hs
+++ b/gen/Network/AWS/APIGateway/GetRestAPI.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetRestAPI
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Lists the RestApi resource in the collection.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetRestAPI.html AWS API Reference> for GetRestAPI.
+-- Lists the < RestApi> resource in the collection.
 module Network.AWS.APIGateway.GetRestAPI
     (
     -- * Creating a Request
@@ -46,7 +44,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to list an existing RestApi defined for your collection.
+-- | Request to list an existing < RestApi> defined for your collection.
 --
 -- /See:/ 'getRestAPI' smart constructor.
 newtype GetRestAPI = GetRestAPI'
@@ -66,17 +64,22 @@
     { _graRestAPIId = pRestAPIId_
     }
 
--- | The identifier of the RestApi resource.
+-- | The identifier of the < RestApi> resource.
 graRestAPIId :: Lens' GetRestAPI Text
 graRestAPIId = lens _graRestAPIId (\ s a -> s{_graRestAPIId = a});
 
 instance AWSRequest GetRestAPI where
         type Rs GetRestAPI = RestAPI
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetRestAPI
+
 instance ToHeaders GetRestAPI where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetRestAPI where
         toPath GetRestAPI'{..}
diff --git a/gen/Network/AWS/APIGateway/GetRestAPIs.hs b/gen/Network/AWS/APIGateway/GetRestAPIs.hs
--- a/gen/Network/AWS/APIGateway/GetRestAPIs.hs
+++ b/gen/Network/AWS/APIGateway/GetRestAPIs.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetRestAPIs
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Lists the RestApis resources for your collection.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetRestAPIs.html AWS API Reference> for GetRestAPIs.
+-- Lists the < RestApis> resources for your collection.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetRestAPIs
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to list existing RestApis defined for your collection.
+-- | Request to list existing < RestApis> defined for your collection.
 --
 -- /See:/ 'getRestAPIs' smart constructor.
 data GetRestAPIs = GetRestAPIs'
@@ -72,14 +70,14 @@
     , _graPosition = Nothing
     }
 
--- | The maximum number of RestApi resources in the collection to get
+-- | The maximum number of < RestApi> resources in the collection to get
 -- information about. The default limit is 25. It should be an integer
 -- between 1 - 500.
 graLimit :: Lens' GetRestAPIs (Maybe Int)
 graLimit = lens _graLimit (\ s a -> s{_graLimit = a});
 
--- | The position of the current RestApis resource in the collection to get
--- information about.
+-- | The position of the current < RestApis> resource in the collection to
+-- get information about.
 graPosition :: Lens' GetRestAPIs (Maybe Text)
 graPosition = lens _graPosition (\ s a -> s{_graPosition = a});
 
@@ -92,7 +90,7 @@
 
 instance AWSRequest GetRestAPIs where
         type Rs GetRestAPIs = GetRestAPIsResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -100,8 +98,13 @@
                    (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
                      (pure (fromEnum s)))
 
+instance Hashable GetRestAPIs
+
 instance ToHeaders GetRestAPIs where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetRestAPIs where
         toPath = const "/restapis"
@@ -141,7 +144,7 @@
     , _grarsResponseStatus = pResponseStatus_
     }
 
--- | An array of links to the current page of RestApi resources.
+-- | An array of links to the current page of < RestApi> resources.
 grarsItems :: Lens' GetRestAPIsResponse [RestAPI]
 grarsItems = lens _grarsItems (\ s a -> s{_grarsItems = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/GetSDK.hs b/gen/Network/AWS/APIGateway/GetSDK.hs
--- a/gen/Network/AWS/APIGateway/GetSDK.hs
+++ b/gen/Network/AWS/APIGateway/GetSDK.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetSDK
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetSDK.html AWS API Reference> for GetSDK.
 module Network.AWS.APIGateway.GetSDK
     (
     -- * Creating a Request
@@ -99,7 +97,7 @@
 
 instance AWSRequest GetSDK where
         type Rs GetSDK = GetSDKResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -108,8 +106,13 @@
                      (h .#? "Content-Type")
                      <*> (pure (fromEnum s)))
 
+instance Hashable GetSDK
+
 instance ToHeaders GetSDK where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetSDK where
         toPath GetSDK'{..}
diff --git a/gen/Network/AWS/APIGateway/GetStage.hs b/gen/Network/AWS/APIGateway/GetStage.hs
--- a/gen/Network/AWS/APIGateway/GetStage.hs
+++ b/gen/Network/AWS/APIGateway/GetStage.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetStage
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about a Stage resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetStage.html AWS API Reference> for GetStage.
+-- Gets information about a < Stage> resource.
 module Network.AWS.APIGateway.GetStage
     (
     -- * Creating a Request
@@ -54,7 +52,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to get information about a Stage resource.
+-- | Requests Amazon API Gateway to get information about a < Stage>
+-- resource.
 --
 -- /See:/ 'getStage' smart constructor.
 data GetStage = GetStage'
@@ -79,22 +78,27 @@
     , _gssStageName = pStageName_
     }
 
--- | The identifier of the RestApi resource for the Stage resource to get
--- information about.
+-- | The identifier of the < RestApi> resource for the < Stage> resource to
+-- get information about.
 gssRestAPIId :: Lens' GetStage Text
 gssRestAPIId = lens _gssRestAPIId (\ s a -> s{_gssRestAPIId = a});
 
--- | The name of the Stage resource to get information about.
+-- | The name of the < Stage> resource to get information about.
 gssStageName :: Lens' GetStage Text
 gssStageName = lens _gssStageName (\ s a -> s{_gssStageName = a});
 
 instance AWSRequest GetStage where
         type Rs GetStage = Stage
-        request = get aPIGateway
+        request = get apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable GetStage
+
 instance ToHeaders GetStage where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetStage where
         toPath GetStage'{..}
diff --git a/gen/Network/AWS/APIGateway/GetStages.hs b/gen/Network/AWS/APIGateway/GetStages.hs
--- a/gen/Network/AWS/APIGateway/GetStages.hs
+++ b/gen/Network/AWS/APIGateway/GetStages.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.GetStages
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about one or more Stage resources.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetStages.html AWS API Reference> for GetStages.
+-- Gets information about one or more < Stage> resources.
 module Network.AWS.APIGateway.GetStages
     (
     -- * Creating a Request
@@ -45,8 +43,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to get information about one or more Stage
--- resources.
+-- | Requests Amazon API Gateway to get information about one or more
+-- < Stage> resources.
 --
 -- /See:/ 'getStages' smart constructor.
 data GetStages = GetStages'
@@ -80,15 +78,20 @@
 
 instance AWSRequest GetStages where
         type Rs GetStages = GetStagesResponse
-        request = get aPIGateway
+        request = get apiGateway
         response
           = receiveJSON
               (\ s h x ->
                  GetStagesResponse' <$>
                    (x .?> "item" .!@ mempty) <*> (pure (fromEnum s)))
 
+instance Hashable GetStages
+
 instance ToHeaders GetStages where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToPath GetStages where
         toPath GetStages'{..}
@@ -99,7 +102,8 @@
         toQuery GetStages'{..}
           = mconcat ["deploymentId" =: _gsDeploymentId]
 
--- | A list of Stage resource that are associated with the ApiKey resource.
+-- | A list of < Stage> resource that are associated with the < ApiKey>
+-- resource.
 --
 -- /See:/ 'getStagesResponse' smart constructor.
 data GetStagesResponse = GetStagesResponse'
@@ -123,7 +127,7 @@
     , _gsrsResponseStatus = pResponseStatus_
     }
 
--- | An individual Stage resource.
+-- | An individual < Stage> resource.
 gsrsItem :: Lens' GetStagesResponse [Stage]
 gsrsItem = lens _gsrsItem (\ s a -> s{_gsrsItem = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/APIGateway/PutIntegration.hs b/gen/Network/AWS/APIGateway/PutIntegration.hs
--- a/gen/Network/AWS/APIGateway/PutIntegration.hs
+++ b/gen/Network/AWS/APIGateway/PutIntegration.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.PutIntegration
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents a put integration.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutIntegration.html AWS API Reference> for PutIntegration.
 module Network.AWS.APIGateway.PutIntegration
     (
     -- * Creating a Request
@@ -147,6 +145,7 @@
 pRequestParameters = lens _pRequestParameters (\ s a -> s{_pRequestParameters = a}) . _Default . _Map;
 
 -- | Specifies a put integration input\'s Uniform Resource Identifier (URI).
+-- When the integration type is HTTP or AWS, this field is required.
 pUri :: Lens' PutIntegration (Maybe Text)
 pUri = lens _pUri (\ s a -> s{_pUri = a});
 
@@ -154,7 +153,8 @@
 pCacheNamespace :: Lens' PutIntegration (Maybe Text)
 pCacheNamespace = lens _pCacheNamespace (\ s a -> s{_pCacheNamespace = a});
 
--- | Specifies a put integration HTTP method.
+-- | Specifies a put integration HTTP method. When the integration type is
+-- HTTP or AWS, this field is required.
 pIntegrationHTTPMethod :: Lens' PutIntegration (Maybe Text)
 pIntegrationHTTPMethod = lens _pIntegrationHTTPMethod (\ s a -> s{_pIntegrationHTTPMethod = a});
 
@@ -180,11 +180,16 @@
 
 instance AWSRequest PutIntegration where
         type Rs PutIntegration = Integration
-        request = putJSON aPIGateway
+        request = putJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable PutIntegration
+
 instance ToHeaders PutIntegration where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON PutIntegration where
         toJSON PutIntegration'{..}
diff --git a/gen/Network/AWS/APIGateway/PutIntegrationResponse.hs b/gen/Network/AWS/APIGateway/PutIntegrationResponse.hs
--- a/gen/Network/AWS/APIGateway/PutIntegrationResponse.hs
+++ b/gen/Network/AWS/APIGateway/PutIntegrationResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.PutIntegrationResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents a put integration.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutIntegrationResponse.html AWS API Reference> for PutIntegrationResponse.
 module Network.AWS.APIGateway.PutIntegrationResponse
     (
     -- * Creating a Request
@@ -110,8 +108,8 @@
 -- | Represents response parameters that can be read from the backend
 -- response. Response parameters are represented as a key\/value map, with
 -- a destination as the key and a source as the value. A destination must
--- match an existing response parameter in the Method. The source can be a
--- header from the backend response, or a static value. Static values are
+-- match an existing response parameter in the < Method>. The source can be
+-- a header from the backend response, or a static value. Static values are
 -- specified using enclosing single quotes, and backend response headers
 -- can be read using the pattern 'integration.response.header.{name}'.
 piResponseParameters :: Lens' PutIntegrationResponse (HashMap Text Text)
@@ -130,17 +128,22 @@
 piHttpMethod = lens _piHttpMethod (\ s a -> s{_piHttpMethod = a});
 
 -- | Specifies the status code that is used to map the integration response
--- to an existing MethodResponse.
+-- to an existing < MethodResponse>.
 piStatusCode :: Lens' PutIntegrationResponse Text
 piStatusCode = lens _piStatusCode (\ s a -> s{_piStatusCode = a});
 
 instance AWSRequest PutIntegrationResponse where
         type Rs PutIntegrationResponse = IntegrationResponse
-        request = putJSON aPIGateway
+        request = putJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable PutIntegrationResponse
+
 instance ToHeaders PutIntegrationResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON PutIntegrationResponse where
         toJSON PutIntegrationResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/PutMethod.hs b/gen/Network/AWS/APIGateway/PutMethod.hs
--- a/gen/Network/AWS/APIGateway/PutMethod.hs
+++ b/gen/Network/AWS/APIGateway/PutMethod.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.PutMethod
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Add a method to an existing Resource resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutMethod.html AWS API Reference> for PutMethod.
+-- Add a method to an existing < Resource> resource.
 module Network.AWS.APIGateway.PutMethod
     (
     -- * Creating a Request
@@ -29,6 +27,7 @@
     -- * Request Lenses
     , putRequestModels
     , putRequestParameters
+    , putAuthorizerId
     , putApiKeyRequired
     , putRestAPIId
     , putResourceId
@@ -43,6 +42,7 @@
     , mHttpMethod
     , mRequestModels
     , mRequestParameters
+    , mAuthorizerId
     , mAuthorizationType
     , mApiKeyRequired
     , mMethodIntegration
@@ -55,12 +55,13 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to add a method to an existing Resource resource.
+-- | Request to add a method to an existing < Resource> resource.
 --
 -- /See:/ 'putMethod' smart constructor.
 data PutMethod = PutMethod'
     { _putRequestModels     :: !(Maybe (Map Text Text))
     , _putRequestParameters :: !(Maybe (Map Text Bool))
+    , _putAuthorizerId      :: !(Maybe Text)
     , _putApiKeyRequired    :: !(Maybe Bool)
     , _putRestAPIId         :: !Text
     , _putResourceId        :: !Text
@@ -76,6 +77,8 @@
 --
 -- * 'putRequestParameters'
 --
+-- * 'putAuthorizerId'
+--
 -- * 'putApiKeyRequired'
 --
 -- * 'putRestAPIId'
@@ -95,6 +98,7 @@
     PutMethod'
     { _putRequestModels = Nothing
     , _putRequestParameters = Nothing
+    , _putAuthorizerId = Nothing
     , _putApiKeyRequired = Nothing
     , _putRestAPIId = pRestAPIId_
     , _putResourceId = pResourceId_
@@ -102,9 +106,9 @@
     , _putAuthorizationType = pAuthorizationType_
     }
 
--- | Specifies the Model resources used for the request\'s content type.
+-- | Specifies the < Model> resources used for the request\'s content type.
 -- Request models are represented as a key\/value map, with a content type
--- as the key and a Model name as the value.
+-- as the key and a < Model> name as the value.
 putRequestModels :: Lens' PutMethod (HashMap Text Text)
 putRequestModels = lens _putRequestModels (\ s a -> s{_putRequestModels = a}) . _Default . _Map;
 
@@ -120,15 +124,20 @@
 putRequestParameters :: Lens' PutMethod (HashMap Text Bool)
 putRequestParameters = lens _putRequestParameters (\ s a -> s{_putRequestParameters = a}) . _Default . _Map;
 
--- | Specifies whether the method required a valid ApiKey.
+-- | Specifies the identifier of an < Authorizer> to use on this Method, if
+-- the type is CUSTOM.
+putAuthorizerId :: Lens' PutMethod (Maybe Text)
+putAuthorizerId = lens _putAuthorizerId (\ s a -> s{_putAuthorizerId = a});
+
+-- | Specifies whether the method required a valid < ApiKey>.
 putApiKeyRequired :: Lens' PutMethod (Maybe Bool)
 putApiKeyRequired = lens _putApiKeyRequired (\ s a -> s{_putApiKeyRequired = a});
 
--- | The RestApi identifier for the new Method resource.
+-- | The < RestApi> identifier for the new < Method> resource.
 putRestAPIId :: Lens' PutMethod Text
 putRestAPIId = lens _putRestAPIId (\ s a -> s{_putRestAPIId = a});
 
--- | The Resource identifier for the new Method resource.
+-- | The < Resource> identifier for the new < Method> resource.
 putResourceId :: Lens' PutMethod Text
 putResourceId = lens _putResourceId (\ s a -> s{_putResourceId = a});
 
@@ -142,11 +151,16 @@
 
 instance AWSRequest PutMethod where
         type Rs PutMethod = Method
-        request = putJSON aPIGateway
+        request = putJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable PutMethod
+
 instance ToHeaders PutMethod where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON PutMethod where
         toJSON PutMethod'{..}
@@ -154,6 +168,7 @@
               (catMaybes
                  [("requestModels" .=) <$> _putRequestModels,
                   ("requestParameters" .=) <$> _putRequestParameters,
+                  ("authorizerId" .=) <$> _putAuthorizerId,
                   ("apiKeyRequired" .=) <$> _putApiKeyRequired,
                   Just ("authorizationType" .= _putAuthorizationType)])
 
diff --git a/gen/Network/AWS/APIGateway/PutMethodResponse.hs b/gen/Network/AWS/APIGateway/PutMethodResponse.hs
--- a/gen/Network/AWS/APIGateway/PutMethodResponse.hs
+++ b/gen/Network/AWS/APIGateway/PutMethodResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.PutMethodResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Adds a MethodResponse to an existing Method resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutMethodResponse.html AWS API Reference> for PutMethodResponse.
+-- Adds a < MethodResponse> to an existing < Method> resource.
 module Network.AWS.APIGateway.PutMethodResponse
     (
     -- * Creating a Request
@@ -50,7 +48,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to add a MethodResponse to an existing Method resource.
+-- | Request to add a < MethodResponse> to an existing < Method> resource.
 --
 -- /See:/ 'putMethodResponse' smart constructor.
 data PutMethodResponse = PutMethodResponse'
@@ -93,9 +91,9 @@
     , _pmStatusCode = pStatusCode_
     }
 
--- | Specifies the Model resources used for the response\'s content type.
+-- | Specifies the < Model> resources used for the response\'s content type.
 -- Response models are represented as a key\/value map, with a content type
--- as the key and a Model name as the value.
+-- as the key and a < Model> name as the value.
 pmResponseModels :: Lens' PutMethodResponse (HashMap Text Text)
 pmResponseModels = lens _pmResponseModels (\ s a -> s{_pmResponseModels = a}) . _Default . _Map;
 
@@ -110,15 +108,15 @@
 pmResponseParameters :: Lens' PutMethodResponse (HashMap Text Bool)
 pmResponseParameters = lens _pmResponseParameters (\ s a -> s{_pmResponseParameters = a}) . _Default . _Map;
 
--- | The RestApi identifier for the Method resource.
+-- | The < RestApi> identifier for the < Method> resource.
 pmRestAPIId :: Lens' PutMethodResponse Text
 pmRestAPIId = lens _pmRestAPIId (\ s a -> s{_pmRestAPIId = a});
 
--- | The Resource identifier for the Method resource.
+-- | The < Resource> identifier for the < Method> resource.
 pmResourceId :: Lens' PutMethodResponse Text
 pmResourceId = lens _pmResourceId (\ s a -> s{_pmResourceId = a});
 
--- | The HTTP verb that identifies the Method resource.
+-- | The HTTP verb that identifies the < Method> resource.
 pmHttpMethod :: Lens' PutMethodResponse Text
 pmHttpMethod = lens _pmHttpMethod (\ s a -> s{_pmHttpMethod = a});
 
@@ -128,11 +126,16 @@
 
 instance AWSRequest PutMethodResponse where
         type Rs PutMethodResponse = MethodResponse
-        request = putJSON aPIGateway
+        request = putJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable PutMethodResponse
+
 instance ToHeaders PutMethodResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON PutMethodResponse where
         toJSON PutMethodResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs b/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs
@@ -0,0 +1,242 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.TestInvokeAuthorizer
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Undocumented operation.
+module Network.AWS.APIGateway.TestInvokeAuthorizer
+    (
+    -- * Creating a Request
+      testInvokeAuthorizer
+    , TestInvokeAuthorizer
+    -- * Request Lenses
+    , tiaPathWithQueryString
+    , tiaBody
+    , tiaAdditionalContext
+    , tiaStageVariables
+    , tiaHeaders
+    , tiaRestAPIId
+    , tiaAuthorizerId
+
+    -- * Destructuring the Response
+    , testInvokeAuthorizerResponse
+    , TestInvokeAuthorizerResponse
+    -- * Response Lenses
+    , tiarsLog
+    , tiarsPrincipalId
+    , tiarsLatency
+    , tiarsAuthorization
+    , tiarsClientStatus
+    , tiarsPolicy
+    , tiarsResponseStatus
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'testInvokeAuthorizer' smart constructor.
+data TestInvokeAuthorizer = TestInvokeAuthorizer'
+    { _tiaPathWithQueryString :: !(Maybe Text)
+    , _tiaBody                :: !(Maybe Text)
+    , _tiaAdditionalContext   :: !(Maybe (Map Text Text))
+    , _tiaStageVariables      :: !(Maybe (Map Text Text))
+    , _tiaHeaders             :: !(Maybe (Map Text Text))
+    , _tiaRestAPIId           :: !Text
+    , _tiaAuthorizerId        :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'TestInvokeAuthorizer' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tiaPathWithQueryString'
+--
+-- * 'tiaBody'
+--
+-- * 'tiaAdditionalContext'
+--
+-- * 'tiaStageVariables'
+--
+-- * 'tiaHeaders'
+--
+-- * 'tiaRestAPIId'
+--
+-- * 'tiaAuthorizerId'
+testInvokeAuthorizer
+    :: Text -- ^ 'tiaRestAPIId'
+    -> Text -- ^ 'tiaAuthorizerId'
+    -> TestInvokeAuthorizer
+testInvokeAuthorizer pRestAPIId_ pAuthorizerId_ =
+    TestInvokeAuthorizer'
+    { _tiaPathWithQueryString = Nothing
+    , _tiaBody = Nothing
+    , _tiaAdditionalContext = Nothing
+    , _tiaStageVariables = Nothing
+    , _tiaHeaders = Nothing
+    , _tiaRestAPIId = pRestAPIId_
+    , _tiaAuthorizerId = pAuthorizerId_
+    }
+
+-- | Undocumented member.
+tiaPathWithQueryString :: Lens' TestInvokeAuthorizer (Maybe Text)
+tiaPathWithQueryString = lens _tiaPathWithQueryString (\ s a -> s{_tiaPathWithQueryString = a});
+
+-- | Undocumented member.
+tiaBody :: Lens' TestInvokeAuthorizer (Maybe Text)
+tiaBody = lens _tiaBody (\ s a -> s{_tiaBody = a});
+
+-- | Undocumented member.
+tiaAdditionalContext :: Lens' TestInvokeAuthorizer (HashMap Text Text)
+tiaAdditionalContext = lens _tiaAdditionalContext (\ s a -> s{_tiaAdditionalContext = a}) . _Default . _Map;
+
+-- | Undocumented member.
+tiaStageVariables :: Lens' TestInvokeAuthorizer (HashMap Text Text)
+tiaStageVariables = lens _tiaStageVariables (\ s a -> s{_tiaStageVariables = a}) . _Default . _Map;
+
+-- | Undocumented member.
+tiaHeaders :: Lens' TestInvokeAuthorizer (HashMap Text Text)
+tiaHeaders = lens _tiaHeaders (\ s a -> s{_tiaHeaders = a}) . _Default . _Map;
+
+-- | Undocumented member.
+tiaRestAPIId :: Lens' TestInvokeAuthorizer Text
+tiaRestAPIId = lens _tiaRestAPIId (\ s a -> s{_tiaRestAPIId = a});
+
+-- | Undocumented member.
+tiaAuthorizerId :: Lens' TestInvokeAuthorizer Text
+tiaAuthorizerId = lens _tiaAuthorizerId (\ s a -> s{_tiaAuthorizerId = a});
+
+instance AWSRequest TestInvokeAuthorizer where
+        type Rs TestInvokeAuthorizer =
+             TestInvokeAuthorizerResponse
+        request = postJSON apiGateway
+        response
+          = receiveJSON
+              (\ s h x ->
+                 TestInvokeAuthorizerResponse' <$>
+                   (x .?> "log") <*> (x .?> "principalId") <*>
+                     (x .?> "latency")
+                     <*> (x .?> "authorization" .!@ mempty)
+                     <*> (x .?> "clientStatus")
+                     <*> (x .?> "policy")
+                     <*> (pure (fromEnum s)))
+
+instance Hashable TestInvokeAuthorizer
+
+instance ToHeaders TestInvokeAuthorizer where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToJSON TestInvokeAuthorizer where
+        toJSON TestInvokeAuthorizer'{..}
+          = object
+              (catMaybes
+                 [("pathWithQueryString" .=) <$>
+                    _tiaPathWithQueryString,
+                  ("body" .=) <$> _tiaBody,
+                  ("additionalContext" .=) <$> _tiaAdditionalContext,
+                  ("stageVariables" .=) <$> _tiaStageVariables,
+                  ("headers" .=) <$> _tiaHeaders])
+
+instance ToPath TestInvokeAuthorizer where
+        toPath TestInvokeAuthorizer'{..}
+          = mconcat
+              ["/restapis/", toBS _tiaRestAPIId, "/authorizers/",
+               toBS _tiaAuthorizerId]
+
+instance ToQuery TestInvokeAuthorizer where
+        toQuery = const mempty
+
+-- | Represents the response of the test invoke request in for a custom
+-- < Authorizer>
+--
+-- /See:/ 'testInvokeAuthorizerResponse' smart constructor.
+data TestInvokeAuthorizerResponse = TestInvokeAuthorizerResponse'
+    { _tiarsLog            :: !(Maybe Text)
+    , _tiarsPrincipalId    :: !(Maybe Text)
+    , _tiarsLatency        :: !(Maybe Integer)
+    , _tiarsAuthorization  :: !(Maybe (Map Text [Text]))
+    , _tiarsClientStatus   :: !(Maybe Int)
+    , _tiarsPolicy         :: !(Maybe Text)
+    , _tiarsResponseStatus :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'TestInvokeAuthorizerResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tiarsLog'
+--
+-- * 'tiarsPrincipalId'
+--
+-- * 'tiarsLatency'
+--
+-- * 'tiarsAuthorization'
+--
+-- * 'tiarsClientStatus'
+--
+-- * 'tiarsPolicy'
+--
+-- * 'tiarsResponseStatus'
+testInvokeAuthorizerResponse
+    :: Int -- ^ 'tiarsResponseStatus'
+    -> TestInvokeAuthorizerResponse
+testInvokeAuthorizerResponse pResponseStatus_ =
+    TestInvokeAuthorizerResponse'
+    { _tiarsLog = Nothing
+    , _tiarsPrincipalId = Nothing
+    , _tiarsLatency = Nothing
+    , _tiarsAuthorization = Nothing
+    , _tiarsClientStatus = Nothing
+    , _tiarsPolicy = Nothing
+    , _tiarsResponseStatus = pResponseStatus_
+    }
+
+-- | The Amazon API Gateway execution log for the test authorizer request.
+tiarsLog :: Lens' TestInvokeAuthorizerResponse (Maybe Text)
+tiarsLog = lens _tiarsLog (\ s a -> s{_tiarsLog = a});
+
+-- | The principal identity returned by the < Authorizer>
+tiarsPrincipalId :: Lens' TestInvokeAuthorizerResponse (Maybe Text)
+tiarsPrincipalId = lens _tiarsPrincipalId (\ s a -> s{_tiarsPrincipalId = a});
+
+-- | The execution latency of the test authorizer request
+tiarsLatency :: Lens' TestInvokeAuthorizerResponse (Maybe Integer)
+tiarsLatency = lens _tiarsLatency (\ s a -> s{_tiarsLatency = a});
+
+-- | Undocumented member.
+tiarsAuthorization :: Lens' TestInvokeAuthorizerResponse (HashMap Text [Text])
+tiarsAuthorization = lens _tiarsAuthorization (\ s a -> s{_tiarsAuthorization = a}) . _Default . _Map;
+
+-- | The HTTP status code that the client would have received. Value is 0 if
+-- the authorizer succeeded.
+tiarsClientStatus :: Lens' TestInvokeAuthorizerResponse (Maybe Int)
+tiarsClientStatus = lens _tiarsClientStatus (\ s a -> s{_tiarsClientStatus = a});
+
+-- | The policy JSON document returned by the < Authorizer>
+tiarsPolicy :: Lens' TestInvokeAuthorizerResponse (Maybe Text)
+tiarsPolicy = lens _tiarsPolicy (\ s a -> s{_tiarsPolicy = a});
+
+-- | The response status code.
+tiarsResponseStatus :: Lens' TestInvokeAuthorizerResponse Int
+tiarsResponseStatus = lens _tiarsResponseStatus (\ s a -> s{_tiarsResponseStatus = a});
diff --git a/gen/Network/AWS/APIGateway/TestInvokeMethod.hs b/gen/Network/AWS/APIGateway/TestInvokeMethod.hs
--- a/gen/Network/AWS/APIGateway/TestInvokeMethod.hs
+++ b/gen/Network/AWS/APIGateway/TestInvokeMethod.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.TestInvokeMethod
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/TestInvokeMethod.html AWS API Reference> for TestInvokeMethod.
 module Network.AWS.APIGateway.TestInvokeMethod
     (
     -- * Creating a Request
@@ -137,7 +135,7 @@
 
 instance AWSRequest TestInvokeMethod where
         type Rs TestInvokeMethod = TestInvokeMethodResponse
-        request = postJSON aPIGateway
+        request = postJSON apiGateway
         response
           = receiveJSON
               (\ s h x ->
@@ -147,8 +145,13 @@
                      <*> (x .?> "headers" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable TestInvokeMethod
+
 instance ToHeaders TestInvokeMethod where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON TestInvokeMethod where
         toJSON TestInvokeMethod'{..}
diff --git a/gen/Network/AWS/APIGateway/Types.hs b/gen/Network/AWS/APIGateway/Types.hs
--- a/gen/Network/AWS/APIGateway/Types.hs
+++ b/gen/Network/AWS/APIGateway/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.Types
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -13,7 +13,7 @@
 module Network.AWS.APIGateway.Types
     (
     -- * Service Configuration
-      aPIGateway
+      apiGateway
 
     -- * Errors
     , _ConflictException
@@ -24,6 +24,9 @@
     , _BadRequestException
     , _LimitExceededException
 
+    -- * AuthorizerType
+    , AuthorizerType (..)
+
     -- * CacheClusterSize
     , CacheClusterSize (..)
 
@@ -36,6 +39,9 @@
     -- * Op
     , Op (..)
 
+    -- * UnauthorizedCacheControlHeaderStrategy
+    , UnauthorizedCacheControlHeaderStrategy (..)
+
     -- * APIKey
     , APIKey
     , apiKey
@@ -53,6 +59,18 @@
     , aCloudwatchRoleARN
     , aThrottleSettings
 
+    -- * Authorizer
+    , Authorizer
+    , authorizer
+    , aAuthorizerURI
+    , aIdentityValidationExpression
+    , aName
+    , aId
+    , aAuthorizerResultTtlInSeconds
+    , aType
+    , aIdentitySource
+    , aAuthorizerCredentials
+
     -- * BasePathMapping
     , BasePathMapping
     , basePathMapping
@@ -113,6 +131,7 @@
     , mHttpMethod
     , mRequestModels
     , mRequestParameters
+    , mAuthorizerId
     , mAuthorizationType
     , mApiKeyRequired
     , mMethodIntegration
@@ -132,9 +151,11 @@
     , msThrottlingBurstLimit
     , msCacheDataEncrypted
     , msLoggingLevel
+    , msRequireAuthorizationForCacheControl
     , msCachingEnabled
     , msMetricsEnabled
     , msThrottlingRateLimit
+    , msUnauthorizedCacheControlHeaderStrategy
 
     -- * MethodSnapshot
     , MethodSnapshot
@@ -211,14 +232,14 @@
 import           Network.AWS.Sign.V4
 
 -- | API version '2015-07-09' of the Amazon API Gateway SDK configuration.
-aPIGateway :: Service
-aPIGateway =
+apiGateway :: Service
+apiGateway =
     Service
     { _svcAbbrev = "APIGateway"
     , _svcSigner = v4
     , _svcPrefix = "apigateway"
     , _svcVersion = "2015-07-09"
-    , _svcEndpoint = defaultEndpoint aPIGateway
+    , _svcEndpoint = defaultEndpoint apiGateway
     , _svcTimeout = Just 70
     , _svcCheck = statusSuccess
     , _svcError = parseJSONError
@@ -233,6 +254,7 @@
         , _retryCheck = check
         }
     check e
+      | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
diff --git a/gen/Network/AWS/APIGateway/Types/Product.hs b/gen/Network/AWS/APIGateway/Types/Product.hs
--- a/gen/Network/AWS/APIGateway/Types/Product.hs
+++ b/gen/Network/AWS/APIGateway/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.Types.Product
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,10 +21,10 @@
 import           Network.AWS.Lens
 import           Network.AWS.Prelude
 
--- | A resource that can be distributed to callers for executing Method
--- resources that require an API key. API keys can be mapped to any Stage
--- on any RestApi, which indicates that the callers with the API key can
--- make requests to that stage.
+-- | A resource that can be distributed to callers for executing < Method>
+-- resources that require an API key. API keys can be mapped to any
+-- < Stage> on any < RestApi>, which indicates that the callers with the
+-- API key can make requests to that stage.
 --
 -- /See:/ 'apiKey' smart constructor.
 data APIKey = APIKey'
@@ -84,7 +84,8 @@
 akId :: Lens' APIKey (Maybe Text)
 akId = lens _akId (\ s a -> s{_akId = a});
 
--- | A list of Stage resources that are associated with the ApiKey resource.
+-- | A list of < Stage> resources that are associated with the < ApiKey>
+-- resource.
 akStageKeys :: Lens' APIKey [Text]
 akStageKeys = lens _akStageKeys (\ s a -> s{_akStageKeys = a}) . _Default . _Coerce;
 
@@ -108,6 +109,8 @@
                      <*> (x .:? "lastUpdatedDate")
                      <*> (x .:? "description"))
 
+instance Hashable APIKey
+
 -- | Represents an AWS account that is associated with Amazon API Gateway.
 --
 -- /See:/ 'account' smart constructor.
@@ -132,12 +135,12 @@
     }
 
 -- | Specifies the Amazon resource name (ARN) of an Amazon CloudWatch role
--- for the current Account resource.
+-- for the current < Account> resource.
 aCloudwatchRoleARN :: Lens' Account (Maybe Text)
 aCloudwatchRoleARN = lens _aCloudwatchRoleARN (\ s a -> s{_aCloudwatchRoleARN = a});
 
 -- | Specifies the application programming interface (API) throttle settings
--- for the current Account resource.
+-- for the current < Account> resource.
 aThrottleSettings :: Lens' Account (Maybe ThrottleSettings)
 aThrottleSettings = lens _aThrottleSettings (\ s a -> s{_aThrottleSettings = a});
 
@@ -149,6 +152,127 @@
                    (x .:? "cloudwatchRoleArn") <*>
                      (x .:? "throttleSettings"))
 
+instance Hashable Account
+
+-- | Represents an authorization layer for methods. If enabled on a method,
+-- API Gateway will activate the authorizer when a client calls the method.
+--
+-- /See:/ 'authorizer' smart constructor.
+data Authorizer = Authorizer'
+    { _aAuthorizerURI                :: !(Maybe Text)
+    , _aIdentityValidationExpression :: !(Maybe Text)
+    , _aName                         :: !(Maybe Text)
+    , _aId                           :: !(Maybe Text)
+    , _aAuthorizerResultTtlInSeconds :: !(Maybe Int)
+    , _aType                         :: !(Maybe AuthorizerType)
+    , _aIdentitySource               :: !(Maybe Text)
+    , _aAuthorizerCredentials        :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Authorizer' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'aAuthorizerURI'
+--
+-- * 'aIdentityValidationExpression'
+--
+-- * 'aName'
+--
+-- * 'aId'
+--
+-- * 'aAuthorizerResultTtlInSeconds'
+--
+-- * 'aType'
+--
+-- * 'aIdentitySource'
+--
+-- * 'aAuthorizerCredentials'
+authorizer
+    :: Authorizer
+authorizer =
+    Authorizer'
+    { _aAuthorizerURI = Nothing
+    , _aIdentityValidationExpression = Nothing
+    , _aName = Nothing
+    , _aId = Nothing
+    , _aAuthorizerResultTtlInSeconds = Nothing
+    , _aType = Nothing
+    , _aIdentitySource = Nothing
+    , _aAuthorizerCredentials = Nothing
+    }
+
+-- | [Required] Specifies the authorizer\'s Uniform Resource Identifier
+-- (URI). For TOKEN authorizers, this must be a well-formed Lambda function
+-- URI. The URI should be of the form
+-- 'arn:aws:apigateway:{region}:lambda:path\/{service_api}'. 'Region' is
+-- used to determine the right endpoint. In this case, 'path' is used to
+-- indicate that the remaining substring in the URI should be treated as
+-- the path to the resource, including the initial '\/'. For Lambda
+-- functions, this is usually of the form
+-- \/2015-03-31\/functions\/[FunctionARN]\/invocations
+aAuthorizerURI :: Lens' Authorizer (Maybe Text)
+aAuthorizerURI = lens _aAuthorizerURI (\ s a -> s{_aAuthorizerURI = a});
+
+-- | A validation expression for the incoming identity. For TOKEN
+-- authorizers, this value should be a regular expression. The incoming
+-- token from the client is matched against this expression, and will
+-- proceed if the token matches. If the token doesn\'t match, the client
+-- receives a 401 Unauthorized response.
+aIdentityValidationExpression :: Lens' Authorizer (Maybe Text)
+aIdentityValidationExpression = lens _aIdentityValidationExpression (\ s a -> s{_aIdentityValidationExpression = a});
+
+-- | [Required] The name of the authorizer.
+aName :: Lens' Authorizer (Maybe Text)
+aName = lens _aName (\ s a -> s{_aName = a});
+
+-- | The identifier for the authorizer resource.
+aId :: Lens' Authorizer (Maybe Text)
+aId = lens _aId (\ s a -> s{_aId = a});
+
+-- | The TTL in seconds of cached authorizer results. If greater than 0, API
+-- Gateway will cache authorizer responses. If this field is not set, the
+-- default value is 300. The maximum value is 3600, or 1 hour.
+aAuthorizerResultTtlInSeconds :: Lens' Authorizer (Maybe Int)
+aAuthorizerResultTtlInSeconds = lens _aAuthorizerResultTtlInSeconds (\ s a -> s{_aAuthorizerResultTtlInSeconds = a});
+
+-- | [Required] The type of the authorizer. Currently, the only valid type is
+-- TOKEN.
+aType :: Lens' Authorizer (Maybe AuthorizerType)
+aType = lens _aType (\ s a -> s{_aType = a});
+
+-- | [Required] The source of the identity in an incoming request. For TOKEN
+-- authorizers, this value is a mapping expression with the same syntax as
+-- integration parameter mappings. The only valid source for tokens is
+-- \'header\', so the expression should match
+-- \'method.request.header.[headerName]\'. The value of the header
+-- \'[headerName]\' will be interpreted as the incoming token.
+aIdentitySource :: Lens' Authorizer (Maybe Text)
+aIdentitySource = lens _aIdentitySource (\ s a -> s{_aIdentitySource = a});
+
+-- | Specifies the credentials required for the authorizer, if any. Two
+-- options are available. To specify an IAM Role for Amazon API Gateway to
+-- assume, use the role\'s Amazon Resource Name (ARN). To use
+-- resource-based permissions on the Lambda function, specify null.
+aAuthorizerCredentials :: Lens' Authorizer (Maybe Text)
+aAuthorizerCredentials = lens _aAuthorizerCredentials (\ s a -> s{_aAuthorizerCredentials = a});
+
+instance FromJSON Authorizer where
+        parseJSON
+          = withObject "Authorizer"
+              (\ x ->
+                 Authorizer' <$>
+                   (x .:? "authorizerUri") <*>
+                     (x .:? "identityValidationExpression")
+                     <*> (x .:? "name")
+                     <*> (x .:? "id")
+                     <*> (x .:? "authorizerResultTtlInSeconds")
+                     <*> (x .:? "type")
+                     <*> (x .:? "identitySource")
+                     <*> (x .:? "authorizerCredentials"))
+
+instance Hashable Authorizer
+
 -- | Represents the base path that callers of the API that must provide as
 -- part of the URL after the domain name.
 --
@@ -198,6 +322,8 @@
                    (x .:? "stage") <*> (x .:? "basePath") <*>
                      (x .:? "restApiId"))
 
+instance Hashable BasePathMapping
+
 -- | /See:/ 'clientCertificate' smart constructor.
 data ClientCertificate = ClientCertificate'
     { _ccPemEncodedCertificate :: !(Maybe Text)
@@ -262,9 +388,11 @@
                      <*> (x .:? "expirationDate")
                      <*> (x .:? "description"))
 
--- | An immutable representation of a RestApi resource that can be called by
--- users using Stages. A deployment must be associated with a Stage for it
--- to be callable over the Internet.
+instance Hashable ClientCertificate
+
+-- | An immutable representation of a < RestApi> resource that can be called
+-- by users using < Stages>. A deployment must be associated with a
+-- < Stage> for it to be callable over the Internet.
 --
 -- /See:/ 'deployment' smart constructor.
 data Deployment = Deployment'
@@ -295,8 +423,8 @@
     , _dDescription = Nothing
     }
 
--- | Gets a summary of the RestApi at the date and time that the deployment
--- resource was created.
+-- | Gets a summary of the < RestApi> at the date and time that the
+-- deployment resource was created.
 dApiSummary :: Lens' Deployment (HashMap Text (HashMap Text MethodSnapshot))
 dApiSummary = lens _dApiSummary (\ s a -> s{_dApiSummary = a}) . _Default . _Map;
 
@@ -322,6 +450,8 @@
                      <*> (x .:? "id")
                      <*> (x .:? "description"))
 
+instance Hashable Deployment
+
 -- | Represents a domain name that is contained in a simpler, more intuitive
 -- URL that can be called.
 --
@@ -358,7 +488,7 @@
 dnCertificateName :: Lens' DomainName (Maybe Text)
 dnCertificateName = lens _dnCertificateName (\ s a -> s{_dnCertificateName = a});
 
--- | The name of the DomainName resource.
+-- | The name of the < DomainName> resource.
 dnDomainName :: Lens' DomainName (Maybe Text)
 dnDomainName = lens _dnDomainName (\ s a -> s{_dnDomainName = a});
 
@@ -382,6 +512,8 @@
                      <*> (x .:? "certificateUploadDate")
                      <*> (x .:? "distributionDomainName"))
 
+instance Hashable DomainName
+
 -- | Represents a HTTP, AWS, or Mock integration.
 --
 -- /See:/ 'integration' smart constructor.
@@ -467,13 +599,13 @@
 -- according to the
 -- <https://www.ietf.org/rfc/rfc3986.txt RFC-3986 specification>. For AWS
 -- integrations, the URI should be of the form
--- 'arn:aws:apigateway:{region}:{service}:{path|action}\/{service_api}'.
--- 'Region' and 'service' are used to determine the right endpoint. For AWS
--- services that use the 'Action=' query string parameter, 'service_api'
--- should be a valid action for the desired service. For RESTful AWS
--- service APIs, 'path' is used to indicate that the remaining substring in
--- the URI should be treated as the path to the resource, including the
--- initial '\/'.
+-- 'arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}\/{service_api}'.
+-- 'Region', 'subdomain' and 'service' are used to determine the right
+-- endpoint. For AWS services that use the 'Action=' query string
+-- parameter, 'service_api' should be a valid action for the desired
+-- service. For RESTful AWS service APIs, 'path' is used to indicate that
+-- the remaining substring in the URI should be treated as the path to the
+-- resource, including the initial '\/'.
 iUri :: Lens' Integration (Maybe Text)
 iUri = lens _iUri (\ s a -> s{_iUri = a});
 
@@ -508,8 +640,10 @@
                      <*> (x .:? "type")
                      <*> (x .:? "cacheKeyParameters" .!= mempty))
 
+instance Hashable Integration
+
 -- | Represents an integration response. The status code must map to an
--- existing MethodResponse, and parameters and templates can be used to
+-- existing < MethodResponse>, and parameters and templates can be used to
 -- transform the backend response.
 --
 -- /See:/ 'integrationResponse' smart constructor.
@@ -556,17 +690,18 @@
 iSelectionPattern = lens _iSelectionPattern (\ s a -> s{_iSelectionPattern = a});
 
 -- | Specifies the status code that is used to map the integration response
--- to an existing MethodResponse.
+-- to an existing < MethodResponse>.
 iStatusCode :: Lens' IntegrationResponse (Maybe Text)
 iStatusCode = lens _iStatusCode (\ s a -> s{_iStatusCode = a});
 
 -- | Represents response parameters that can be read from the backend
 -- response. Response parameters are represented as a key\/value map, with
 -- a destination as the key and a source as the value. A destination must
--- match an existing response parameter in the Method. The source can be a
--- header from the backend response, or a static value. Static values are
--- specified using enclosing single quotes, and backend response headers
--- can be read using the pattern 'integration.response.header.{name}'.
+-- match an existing response parameter in the < MethodResponse>. The
+-- source can be a header from the backend response, or a static value.
+-- Static values are specified using enclosing single quotes, and backend
+-- response headers can be read using the pattern
+-- 'integration.response.header.{name}'.
 iResponseParameters :: Lens' IntegrationResponse (HashMap Text Text)
 iResponseParameters = lens _iResponseParameters (\ s a -> s{_iResponseParameters = a}) . _Default . _Map;
 
@@ -580,6 +715,8 @@
                      <*> (x .:? "statusCode")
                      <*> (x .:? "responseParameters" .!= mempty))
 
+instance Hashable IntegrationResponse
+
 -- | Represents a method.
 --
 -- /See:/ 'method' smart constructor.
@@ -588,6 +725,7 @@
     , _mHttpMethod        :: !(Maybe Text)
     , _mRequestModels     :: !(Maybe (Map Text Text))
     , _mRequestParameters :: !(Maybe (Map Text Bool))
+    , _mAuthorizerId      :: !(Maybe Text)
     , _mAuthorizationType :: !(Maybe Text)
     , _mApiKeyRequired    :: !(Maybe Bool)
     , _mMethodIntegration :: !(Maybe Integration)
@@ -605,6 +743,8 @@
 --
 -- * 'mRequestParameters'
 --
+-- * 'mAuthorizerId'
+--
 -- * 'mAuthorizationType'
 --
 -- * 'mApiKeyRequired'
@@ -618,6 +758,7 @@
     , _mHttpMethod = Nothing
     , _mRequestModels = Nothing
     , _mRequestParameters = Nothing
+    , _mAuthorizerId = Nothing
     , _mAuthorizationType = Nothing
     , _mApiKeyRequired = Nothing
     , _mMethodIntegration = Nothing
@@ -625,8 +766,8 @@
 
 -- | Represents available responses that can be sent to the caller. Method
 -- responses are represented as a key\/value map, with an HTTP status code
--- as the key and a MethodResponse as the value. The status codes are
--- available for the Integration responses to map to.
+-- as the key and a < MethodResponse> as the value. The status codes are
+-- available for the < Integration> responses to map to.
 mMethodResponses :: Lens' Method (HashMap Text MethodResponse)
 mMethodResponses = lens _mMethodResponses (\ s a -> s{_mMethodResponses = a}) . _Default . _Map;
 
@@ -634,9 +775,9 @@
 mHttpMethod :: Lens' Method (Maybe Text)
 mHttpMethod = lens _mHttpMethod (\ s a -> s{_mHttpMethod = a});
 
--- | Specifies the Model resources used for the request\'s content type.
+-- | Specifies the < Model> resources used for the request\'s content type.
 -- Request models are represented as a key\/value map, with a content type
--- as the key and a Model name as the value.
+-- as the key and a < Model> name as the value.
 mRequestModels :: Lens' Method (HashMap Text Text)
 mRequestModels = lens _mRequestModels (\ s a -> s{_mRequestModels = a}) . _Default . _Map;
 
@@ -651,11 +792,16 @@
 mRequestParameters :: Lens' Method (HashMap Text Bool)
 mRequestParameters = lens _mRequestParameters (\ s a -> s{_mRequestParameters = a}) . _Default . _Map;
 
+-- | Specifies the identifier of an < Authorizer> to use on this Method. The
+-- authorizationType must be CUSTOM.
+mAuthorizerId :: Lens' Method (Maybe Text)
+mAuthorizerId = lens _mAuthorizerId (\ s a -> s{_mAuthorizerId = a});
+
 -- | The method\'s authorization type.
 mAuthorizationType :: Lens' Method (Maybe Text)
 mAuthorizationType = lens _mAuthorizationType (\ s a -> s{_mAuthorizationType = a});
 
--- | Specifies whether the method requires a valid ApiKey.
+-- | Specifies whether the method requires a valid < ApiKey>.
 mApiKeyRequired :: Lens' Method (Maybe Bool)
 mApiKeyRequired = lens _mApiKeyRequired (\ s a -> s{_mApiKeyRequired = a});
 
@@ -672,10 +818,13 @@
                      (x .:? "httpMethod")
                      <*> (x .:? "requestModels" .!= mempty)
                      <*> (x .:? "requestParameters" .!= mempty)
+                     <*> (x .:? "authorizerId")
                      <*> (x .:? "authorizationType")
                      <*> (x .:? "apiKeyRequired")
                      <*> (x .:? "methodIntegration"))
 
+instance Hashable Method
+
 -- | Represents a method response. Amazon API Gateway sends back the status
 -- code to the caller as the HTTP status code. Parameters and models can be
 -- used to transform the response from the method\'s integration.
@@ -705,9 +854,9 @@
     , _mResponseParameters = Nothing
     }
 
--- | Specifies the Model resources used for the response\'s content-type.
+-- | Specifies the < Model> resources used for the response\'s content-type.
 -- Response models are represented as a key\/value map, with a content-type
--- as the key and a Model name as the value.
+-- as the key and a < Model> name as the value.
 mResponseModels :: Lens' MethodResponse (HashMap Text Text)
 mResponseModels = lens _mResponseModels (\ s a -> s{_mResponseModels = a}) . _Default . _Map;
 
@@ -735,18 +884,22 @@
                      (x .:? "statusCode")
                      <*> (x .:? "responseParameters" .!= mempty))
 
+instance Hashable MethodResponse
+
 -- | Specifies the method setting properties.
 --
 -- /See:/ 'methodSetting' smart constructor.
 data MethodSetting = MethodSetting'
-    { _msCacheTtlInSeconds    :: !(Maybe Int)
-    , _msDataTraceEnabled     :: !(Maybe Bool)
-    , _msThrottlingBurstLimit :: !(Maybe Int)
-    , _msCacheDataEncrypted   :: !(Maybe Bool)
-    , _msLoggingLevel         :: !(Maybe Text)
-    , _msCachingEnabled       :: !(Maybe Bool)
-    , _msMetricsEnabled       :: !(Maybe Bool)
-    , _msThrottlingRateLimit  :: !(Maybe Double)
+    { _msCacheTtlInSeconds                      :: !(Maybe Int)
+    , _msDataTraceEnabled                       :: !(Maybe Bool)
+    , _msThrottlingBurstLimit                   :: !(Maybe Int)
+    , _msCacheDataEncrypted                     :: !(Maybe Bool)
+    , _msLoggingLevel                           :: !(Maybe Text)
+    , _msRequireAuthorizationForCacheControl    :: !(Maybe Bool)
+    , _msCachingEnabled                         :: !(Maybe Bool)
+    , _msMetricsEnabled                         :: !(Maybe Bool)
+    , _msThrottlingRateLimit                    :: !(Maybe Double)
+    , _msUnauthorizedCacheControlHeaderStrategy :: !(Maybe UnauthorizedCacheControlHeaderStrategy)
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'MethodSetting' with the minimum fields required to make a request.
@@ -763,11 +916,15 @@
 --
 -- * 'msLoggingLevel'
 --
+-- * 'msRequireAuthorizationForCacheControl'
+--
 -- * 'msCachingEnabled'
 --
 -- * 'msMetricsEnabled'
 --
 -- * 'msThrottlingRateLimit'
+--
+-- * 'msUnauthorizedCacheControlHeaderStrategy'
 methodSetting
     :: MethodSetting
 methodSetting =
@@ -777,9 +934,11 @@
     , _msThrottlingBurstLimit = Nothing
     , _msCacheDataEncrypted = Nothing
     , _msLoggingLevel = Nothing
+    , _msRequireAuthorizationForCacheControl = Nothing
     , _msCachingEnabled = Nothing
     , _msMetricsEnabled = Nothing
     , _msThrottlingRateLimit = Nothing
+    , _msUnauthorizedCacheControlHeaderStrategy = Nothing
     }
 
 -- | Specifies the time to live (TTL) in seconds, for cached responses. The
@@ -816,6 +975,13 @@
 msLoggingLevel :: Lens' MethodSetting (Maybe Text)
 msLoggingLevel = lens _msLoggingLevel (\ s a -> s{_msLoggingLevel = a});
 
+-- | Specifies whether authorization is required for a cache invalidation
+-- request. The PATCH path for this setting is
+-- '\/{method_setting_key}\/caching\/requireAuthorizationForCacheControl',
+-- and the value is a Boolean.
+msRequireAuthorizationForCacheControl :: Lens' MethodSetting (Maybe Bool)
+msRequireAuthorizationForCacheControl = lens _msRequireAuthorizationForCacheControl (\ s a -> s{_msRequireAuthorizationForCacheControl = a});
+
 -- | Specifies whether responses should be cached and returned for requests.
 -- A cache cluster must be enabled on the stage for responses to be cached.
 -- The PATCH path for this setting is
@@ -835,6 +1001,14 @@
 msThrottlingRateLimit :: Lens' MethodSetting (Maybe Double)
 msThrottlingRateLimit = lens _msThrottlingRateLimit (\ s a -> s{_msThrottlingRateLimit = a});
 
+-- | Specifies the strategy on how to handle the unauthorized requests for
+-- cache invalidation. The PATCH path for this setting is
+-- '\/{method_setting_key}\/caching\/unauthorizedCacheControlHeaderStrategy',
+-- and the available values are 'FAIL_WITH_403',
+-- 'SUCCEED_WITH_RESPONSE_HEADER', 'SUCCEED_WITHOUT_RESPONSE_HEADER'.
+msUnauthorizedCacheControlHeaderStrategy :: Lens' MethodSetting (Maybe UnauthorizedCacheControlHeaderStrategy)
+msUnauthorizedCacheControlHeaderStrategy = lens _msUnauthorizedCacheControlHeaderStrategy (\ s a -> s{_msUnauthorizedCacheControlHeaderStrategy = a});
+
 instance FromJSON MethodSetting where
         parseJSON
           = withObject "MethodSetting"
@@ -845,12 +1019,16 @@
                      <*> (x .:? "throttlingBurstLimit")
                      <*> (x .:? "cacheDataEncrypted")
                      <*> (x .:? "loggingLevel")
+                     <*> (x .:? "requireAuthorizationForCacheControl")
                      <*> (x .:? "cachingEnabled")
                      <*> (x .:? "metricsEnabled")
-                     <*> (x .:? "throttlingRateLimit"))
+                     <*> (x .:? "throttlingRateLimit")
+                     <*> (x .:? "unauthorizedCacheControlHeaderStrategy"))
 
--- | Represents a summary of a Method resource, given a particular date and
--- time.
+instance Hashable MethodSetting
+
+-- | Represents a summary of a < Method> resource, given a particular date
+-- and time.
 --
 -- /See:/ 'methodSnapshot' smart constructor.
 data MethodSnapshot = MethodSnapshot'
@@ -877,7 +1055,7 @@
 msAuthorizationType :: Lens' MethodSnapshot (Maybe Text)
 msAuthorizationType = lens _msAuthorizationType (\ s a -> s{_msAuthorizationType = a});
 
--- | Specifies whether the method requires a valid ApiKey.
+-- | Specifies whether the method requires a valid < ApiKey>.
 msApiKeyRequired :: Lens' MethodSnapshot (Maybe Bool)
 msApiKeyRequired = lens _msApiKeyRequired (\ s a -> s{_msApiKeyRequired = a});
 
@@ -889,6 +1067,8 @@
                    (x .:? "authorizationType") <*>
                      (x .:? "apiKeyRequired"))
 
+instance Hashable MethodSnapshot
+
 -- | Represents the structure of a request or response payload for a method.
 --
 -- /See:/ 'model' smart constructor.
@@ -954,6 +1134,8 @@
                      <*> (x .:? "description")
                      <*> (x .:? "contentType"))
 
+instance Hashable Model
+
 -- | A single patch operation to apply to the specified resource. Please
 -- refer to http:\/\/tools.ietf.org\/html\/rfc6902#section-4 for an
 -- explanation of how each operation is used.
@@ -1010,6 +1192,8 @@
 poFrom :: Lens' PatchOperation (Maybe Text)
 poFrom = lens _poFrom (\ s a -> s{_poFrom = a});
 
+instance Hashable PatchOperation
+
 instance ToJSON PatchOperation where
         toJSON PatchOperation'{..}
           = object
@@ -1083,6 +1267,8 @@
                      <*> (x .:? "resourceMethods" .!= mempty)
                      <*> (x .:? "parentId"))
 
+instance Hashable Resource
+
 -- | Represents a REST API.
 --
 -- /See:/ 'restAPI' smart constructor.
@@ -1141,8 +1327,10 @@
                      (x .:? "id")
                      <*> (x .:? "description"))
 
--- | Represents a unique identifier for a version of a deployed RestApi that
--- is callable by users.
+instance Hashable RestAPI
+
+-- | Represents a unique identifier for a version of a deployed < RestApi>
+-- that is callable by users.
 --
 -- /See:/ 'stage' smart constructor.
 data Stage = Stage'
@@ -1201,13 +1389,13 @@
     , _sDescription = Nothing
     }
 
--- | The identifier of the Deployment that the stage points to.
+-- | The identifier of the < Deployment> that the stage points to.
 sDeploymentId :: Lens' Stage (Maybe Text)
 sDeploymentId = lens _sDeploymentId (\ s a -> s{_sDeploymentId = a});
 
--- | A map that defines the stage variables for a Stage resource. Variable
--- names can have alphabetic characters, and the values must match
--- [A-Za-z0-9-._~:\/?#&=,]+
+-- | A map that defines the stage variables for a < Stage> resource. Variable
+-- names can have alphanumeric characters, and the values must match
+-- '[A-Za-z0-9-._~:\/?#&=,]+'.
 sVariables :: Lens' Stage (HashMap Text Text)
 sVariables = lens _sVariables (\ s a -> s{_sVariables = a}) . _Default . _Map;
 
@@ -1224,7 +1412,7 @@
 sCacheClusterStatus :: Lens' Stage (Maybe CacheClusterStatus)
 sCacheClusterStatus = lens _sCacheClusterStatus (\ s a -> s{_sCacheClusterStatus = a});
 
--- | A map that defines the method settings for a Stage resource. Keys are
+-- | A map that defines the method settings for a < Stage> resource. Keys are
 -- defined as '{resource_path}\/{http_method}' for an individual method
 -- override, or '\\*\/\\*' for the settings applied to all methods in the
 -- stage.
@@ -1270,6 +1458,8 @@
                      <*> (x .:? "stageName")
                      <*> (x .:? "description"))
 
+instance Hashable Stage
+
 -- | A reference to a unique stage identified in the format
 -- '{restApiId}\/{stage}'.
 --
@@ -1294,14 +1484,17 @@
     , _skStageName = Nothing
     }
 
--- | A list of Stage resources that are associated with the ApiKey resource.
+-- | A list of < Stage> resources that are associated with the < ApiKey>
+-- resource.
 skRestAPIId :: Lens' StageKey (Maybe Text)
 skRestAPIId = lens _skRestAPIId (\ s a -> s{_skRestAPIId = a});
 
--- | The stage name in the RestApi that the stage key references.
+-- | The stage name in the < RestApi> that the stage key references.
 skStageName :: Lens' StageKey (Maybe Text)
 skStageName = lens _skStageName (\ s a -> s{_skStageName = a});
 
+instance Hashable StageKey
+
 instance ToJSON StageKey where
         toJSON StageKey'{..}
           = object
@@ -1346,3 +1539,5 @@
               (\ x ->
                  ThrottleSettings' <$>
                    (x .:? "burstLimit") <*> (x .:? "rateLimit"))
+
+instance Hashable ThrottleSettings
diff --git a/gen/Network/AWS/APIGateway/Types/Sum.hs b/gen/Network/AWS/APIGateway/Types/Sum.hs
--- a/gen/Network/AWS/APIGateway/Types/Sum.hs
+++ b/gen/Network/AWS/APIGateway/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.Types.Sum
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -19,6 +19,31 @@
 
 import           Network.AWS.Prelude
 
+data AuthorizerType =
+    Token
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+
+instance FromText AuthorizerType where
+    parser = takeLowerText >>= \case
+        "token" -> pure Token
+        e -> fromTextError $ "Failure parsing AuthorizerType from value: '" <> e
+           <> "'. Accepted values: TOKEN"
+
+instance ToText AuthorizerType where
+    toText = \case
+        Token -> "TOKEN"
+
+instance Hashable     AuthorizerType
+instance ToByteString AuthorizerType
+instance ToQuery      AuthorizerType
+instance ToHeader     AuthorizerType
+
+instance ToJSON AuthorizerType where
+    toJSON = toJSONText
+
+instance FromJSON AuthorizerType where
+    parseJSON = parseJSONText "AuthorizerType"
+
 -- | Returns the size of the __CacheCluster__.
 data CacheClusterSize
     = D0_5
@@ -169,3 +194,31 @@
 
 instance ToJSON Op where
     toJSON = toJSONText
+
+data UnauthorizedCacheControlHeaderStrategy
+    = FailWith403
+    | SucceedWithResponseHeader
+    | SucceedWithoutResponseHeader
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+
+instance FromText UnauthorizedCacheControlHeaderStrategy where
+    parser = takeLowerText >>= \case
+        "fail_with_403" -> pure FailWith403
+        "succeed_with_response_header" -> pure SucceedWithResponseHeader
+        "succeed_without_response_header" -> pure SucceedWithoutResponseHeader
+        e -> fromTextError $ "Failure parsing UnauthorizedCacheControlHeaderStrategy from value: '" <> e
+           <> "'. Accepted values: FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, SUCCEED_WITHOUT_RESPONSE_HEADER"
+
+instance ToText UnauthorizedCacheControlHeaderStrategy where
+    toText = \case
+        FailWith403 -> "FAIL_WITH_403"
+        SucceedWithResponseHeader -> "SUCCEED_WITH_RESPONSE_HEADER"
+        SucceedWithoutResponseHeader -> "SUCCEED_WITHOUT_RESPONSE_HEADER"
+
+instance Hashable     UnauthorizedCacheControlHeaderStrategy
+instance ToByteString UnauthorizedCacheControlHeaderStrategy
+instance ToQuery      UnauthorizedCacheControlHeaderStrategy
+instance ToHeader     UnauthorizedCacheControlHeaderStrategy
+
+instance FromJSON UnauthorizedCacheControlHeaderStrategy where
+    parseJSON = parseJSONText "UnauthorizedCacheControlHeaderStrategy"
diff --git a/gen/Network/AWS/APIGateway/UpdateAPIKey.hs b/gen/Network/AWS/APIGateway/UpdateAPIKey.hs
--- a/gen/Network/AWS/APIGateway/UpdateAPIKey.hs
+++ b/gen/Network/AWS/APIGateway/UpdateAPIKey.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateAPIKey
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about an ApiKey resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateAPIKey.html AWS API Reference> for UpdateAPIKey.
+-- Changes information about an < ApiKey> resource.
 module Network.AWS.APIGateway.UpdateAPIKey
     (
     -- * Creating a Request
@@ -50,7 +48,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to change information about an ApiKey resource.
+-- | A request to change information about an < ApiKey> resource.
 --
 -- /See:/ 'updateAPIKey' smart constructor.
 data UpdateAPIKey = UpdateAPIKey'
@@ -79,17 +77,22 @@
 uakPatchOperations :: Lens' UpdateAPIKey [PatchOperation]
 uakPatchOperations = lens _uakPatchOperations (\ s a -> s{_uakPatchOperations = a}) . _Default . _Coerce;
 
--- | The identifier of the ApiKey resource to be updated.
+-- | The identifier of the < ApiKey> resource to be updated.
 uakApiKey :: Lens' UpdateAPIKey Text
 uakApiKey = lens _uakApiKey (\ s a -> s{_uakApiKey = a});
 
 instance AWSRequest UpdateAPIKey where
         type Rs UpdateAPIKey = APIKey
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateAPIKey
+
 instance ToHeaders UpdateAPIKey where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateAPIKey where
         toJSON UpdateAPIKey'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateAccount.hs b/gen/Network/AWS/APIGateway/UpdateAccount.hs
--- a/gen/Network/AWS/APIGateway/UpdateAccount.hs
+++ b/gen/Network/AWS/APIGateway/UpdateAccount.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateAccount
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about the current Account resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateAccount.html AWS API Reference> for UpdateAccount.
+-- Changes information about the current < Account> resource.
 module Network.AWS.APIGateway.UpdateAccount
     (
     -- * Creating a Request
@@ -45,7 +43,7 @@
 import           Network.AWS.Response
 
 -- | Requests Amazon API Gateway to change information about the current
--- Account resource.
+-- < Account> resource.
 --
 -- /See:/ 'updateAccount' smart constructor.
 newtype UpdateAccount = UpdateAccount'
@@ -71,11 +69,16 @@
 
 instance AWSRequest UpdateAccount where
         type Rs UpdateAccount = Account
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateAccount
+
 instance ToHeaders UpdateAccount where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateAccount where
         toJSON UpdateAccount'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs b/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.APIGateway.UpdateAuthorizer
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates an existing < Authorizer> resource.
+module Network.AWS.APIGateway.UpdateAuthorizer
+    (
+    -- * Creating a Request
+      updateAuthorizer
+    , UpdateAuthorizer
+    -- * Request Lenses
+    , uaaPatchOperations
+    , uaaRestAPIId
+    , uaaAuthorizerId
+
+    -- * Destructuring the Response
+    , authorizer
+    , Authorizer
+    -- * Response Lenses
+    , aAuthorizerURI
+    , aIdentityValidationExpression
+    , aName
+    , aId
+    , aAuthorizerResultTtlInSeconds
+    , aType
+    , aIdentitySource
+    , aAuthorizerCredentials
+    ) where
+
+import           Network.AWS.APIGateway.Types
+import           Network.AWS.APIGateway.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Request to update an existing < Authorizer> resource.
+--
+-- /See:/ 'updateAuthorizer' smart constructor.
+data UpdateAuthorizer = UpdateAuthorizer'
+    { _uaaPatchOperations :: !(Maybe [PatchOperation])
+    , _uaaRestAPIId       :: !Text
+    , _uaaAuthorizerId    :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'UpdateAuthorizer' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'uaaPatchOperations'
+--
+-- * 'uaaRestAPIId'
+--
+-- * 'uaaAuthorizerId'
+updateAuthorizer
+    :: Text -- ^ 'uaaRestAPIId'
+    -> Text -- ^ 'uaaAuthorizerId'
+    -> UpdateAuthorizer
+updateAuthorizer pRestAPIId_ pAuthorizerId_ =
+    UpdateAuthorizer'
+    { _uaaPatchOperations = Nothing
+    , _uaaRestAPIId = pRestAPIId_
+    , _uaaAuthorizerId = pAuthorizerId_
+    }
+
+-- | A list of operations describing the updates to apply to the specified
+-- resource. The patches are applied in the order specified in the list.
+uaaPatchOperations :: Lens' UpdateAuthorizer [PatchOperation]
+uaaPatchOperations = lens _uaaPatchOperations (\ s a -> s{_uaaPatchOperations = a}) . _Default . _Coerce;
+
+-- | The < RestApi> identifier for the < Authorizer> resource.
+uaaRestAPIId :: Lens' UpdateAuthorizer Text
+uaaRestAPIId = lens _uaaRestAPIId (\ s a -> s{_uaaRestAPIId = a});
+
+-- | The identifier of the < Authorizer> resource.
+uaaAuthorizerId :: Lens' UpdateAuthorizer Text
+uaaAuthorizerId = lens _uaaAuthorizerId (\ s a -> s{_uaaAuthorizerId = a});
+
+instance AWSRequest UpdateAuthorizer where
+        type Rs UpdateAuthorizer = Authorizer
+        request = patchJSON apiGateway
+        response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable UpdateAuthorizer
+
+instance ToHeaders UpdateAuthorizer where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToJSON UpdateAuthorizer where
+        toJSON UpdateAuthorizer'{..}
+          = object
+              (catMaybes
+                 [("patchOperations" .=) <$> _uaaPatchOperations])
+
+instance ToPath UpdateAuthorizer where
+        toPath UpdateAuthorizer'{..}
+          = mconcat
+              ["/restapis/", toBS _uaaRestAPIId, "/authorizers/",
+               toBS _uaaAuthorizerId]
+
+instance ToQuery UpdateAuthorizer where
+        toQuery = const mempty
diff --git a/gen/Network/AWS/APIGateway/UpdateBasePathMapping.hs b/gen/Network/AWS/APIGateway/UpdateBasePathMapping.hs
--- a/gen/Network/AWS/APIGateway/UpdateBasePathMapping.hs
+++ b/gen/Network/AWS/APIGateway/UpdateBasePathMapping.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateBasePathMapping
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about the BasePathMapping resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateBasePathMapping.html AWS API Reference> for UpdateBasePathMapping.
+-- Changes information about the < BasePathMapping> resource.
 module Network.AWS.APIGateway.UpdateBasePathMapping
     (
     -- * Creating a Request
@@ -47,7 +45,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to change information about the BasePathMapping resource.
+-- | A request to change information about the < BasePathMapping> resource.
 --
 -- /See:/ 'updateBasePathMapping' smart constructor.
 data UpdateBasePathMapping = UpdateBasePathMapping'
@@ -81,21 +79,26 @@
 ubpmPatchOperations :: Lens' UpdateBasePathMapping [PatchOperation]
 ubpmPatchOperations = lens _ubpmPatchOperations (\ s a -> s{_ubpmPatchOperations = a}) . _Default . _Coerce;
 
--- | The domain name of the BasePathMapping resource to change.
+-- | The domain name of the < BasePathMapping> resource to change.
 ubpmDomainName :: Lens' UpdateBasePathMapping Text
 ubpmDomainName = lens _ubpmDomainName (\ s a -> s{_ubpmDomainName = a});
 
--- | The base path of the BasePathMapping resource to change.
+-- | The base path of the < BasePathMapping> resource to change.
 ubpmBasePath :: Lens' UpdateBasePathMapping Text
 ubpmBasePath = lens _ubpmBasePath (\ s a -> s{_ubpmBasePath = a});
 
 instance AWSRequest UpdateBasePathMapping where
         type Rs UpdateBasePathMapping = BasePathMapping
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateBasePathMapping
+
 instance ToHeaders UpdateBasePathMapping where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateBasePathMapping where
         toJSON UpdateBasePathMapping'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateClientCertificate.hs b/gen/Network/AWS/APIGateway/UpdateClientCertificate.hs
--- a/gen/Network/AWS/APIGateway/UpdateClientCertificate.hs
+++ b/gen/Network/AWS/APIGateway/UpdateClientCertificate.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateClientCertificate
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateClientCertificate.html AWS API Reference> for UpdateClientCertificate.
 module Network.AWS.APIGateway.UpdateClientCertificate
     (
     -- * Creating a Request
@@ -81,11 +79,16 @@
 
 instance AWSRequest UpdateClientCertificate where
         type Rs UpdateClientCertificate = ClientCertificate
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateClientCertificate
+
 instance ToHeaders UpdateClientCertificate where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateClientCertificate where
         toJSON UpdateClientCertificate'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateDeployment.hs b/gen/Network/AWS/APIGateway/UpdateDeployment.hs
--- a/gen/Network/AWS/APIGateway/UpdateDeployment.hs
+++ b/gen/Network/AWS/APIGateway/UpdateDeployment.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateDeployment
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about a Deployment resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateDeployment.html AWS API Reference> for UpdateDeployment.
+-- Changes information about a < Deployment> resource.
 module Network.AWS.APIGateway.UpdateDeployment
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to change information about a Deployment
+-- | Requests Amazon API Gateway to change information about a < Deployment>
 -- resource.
 --
 -- /See:/ 'updateDeployment' smart constructor.
@@ -83,23 +81,28 @@
 udPatchOperations :: Lens' UpdateDeployment [PatchOperation]
 udPatchOperations = lens _udPatchOperations (\ s a -> s{_udPatchOperations = a}) . _Default . _Coerce;
 
--- | The replacement identifier of the RestApi resource for the Deployment
--- resource to change information about.
+-- | The replacement identifier of the < RestApi> resource for the
+-- < Deployment> resource to change information about.
 udRestAPIId :: Lens' UpdateDeployment Text
 udRestAPIId = lens _udRestAPIId (\ s a -> s{_udRestAPIId = a});
 
--- | The replacment identifier for the Deployment resource to change
+-- | The replacment identifier for the < Deployment> resource to change
 -- information about.
 udDeploymentId :: Lens' UpdateDeployment Text
 udDeploymentId = lens _udDeploymentId (\ s a -> s{_udDeploymentId = a});
 
 instance AWSRequest UpdateDeployment where
         type Rs UpdateDeployment = Deployment
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateDeployment
+
 instance ToHeaders UpdateDeployment where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateDeployment where
         toJSON UpdateDeployment'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateDomainName.hs b/gen/Network/AWS/APIGateway/UpdateDomainName.hs
--- a/gen/Network/AWS/APIGateway/UpdateDomainName.hs
+++ b/gen/Network/AWS/APIGateway/UpdateDomainName.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateDomainName
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about the DomainName resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateDomainName.html AWS API Reference> for UpdateDomainName.
+-- Changes information about the < DomainName> resource.
 module Network.AWS.APIGateway.UpdateDomainName
     (
     -- * Creating a Request
@@ -47,7 +45,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to change information about the DomainName resource.
+-- | A request to change information about the < DomainName> resource.
 --
 -- /See:/ 'updateDomainName' smart constructor.
 data UpdateDomainName = UpdateDomainName'
@@ -76,17 +74,22 @@
 udnPatchOperations :: Lens' UpdateDomainName [PatchOperation]
 udnPatchOperations = lens _udnPatchOperations (\ s a -> s{_udnPatchOperations = a}) . _Default . _Coerce;
 
--- | The name of the DomainName resource to be changed.
+-- | The name of the < DomainName> resource to be changed.
 udnDomainName :: Lens' UpdateDomainName Text
 udnDomainName = lens _udnDomainName (\ s a -> s{_udnDomainName = a});
 
 instance AWSRequest UpdateDomainName where
         type Rs UpdateDomainName = DomainName
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateDomainName
+
 instance ToHeaders UpdateDomainName where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateDomainName where
         toJSON UpdateDomainName'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateIntegration.hs b/gen/Network/AWS/APIGateway/UpdateIntegration.hs
--- a/gen/Network/AWS/APIGateway/UpdateIntegration.hs
+++ b/gen/Network/AWS/APIGateway/UpdateIntegration.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateIntegration
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents an update integration.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateIntegration.html AWS API Reference> for UpdateIntegration.
 module Network.AWS.APIGateway.UpdateIntegration
     (
     -- * Creating a Request
@@ -107,11 +105,16 @@
 
 instance AWSRequest UpdateIntegration where
         type Rs UpdateIntegration = Integration
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateIntegration
+
 instance ToHeaders UpdateIntegration where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateIntegration where
         toJSON UpdateIntegration'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateIntegrationResponse.hs b/gen/Network/AWS/APIGateway/UpdateIntegrationResponse.hs
--- a/gen/Network/AWS/APIGateway/UpdateIntegrationResponse.hs
+++ b/gen/Network/AWS/APIGateway/UpdateIntegrationResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateIntegrationResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Represents an update integration response.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateIntegrationResponse.html AWS API Reference> for UpdateIntegrationResponse.
 module Network.AWS.APIGateway.UpdateIntegrationResponse
     (
     -- * Creating a Request
@@ -113,11 +111,16 @@
 instance AWSRequest UpdateIntegrationResponse where
         type Rs UpdateIntegrationResponse =
              IntegrationResponse
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateIntegrationResponse
+
 instance ToHeaders UpdateIntegrationResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateIntegrationResponse where
         toJSON UpdateIntegrationResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateMethod.hs b/gen/Network/AWS/APIGateway/UpdateMethod.hs
--- a/gen/Network/AWS/APIGateway/UpdateMethod.hs
+++ b/gen/Network/AWS/APIGateway/UpdateMethod.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateMethod
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Updates an existing Method resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateMethod.html AWS API Reference> for UpdateMethod.
+-- Updates an existing < Method> resource.
 module Network.AWS.APIGateway.UpdateMethod
     (
     -- * Creating a Request
@@ -40,6 +38,7 @@
     , mHttpMethod
     , mRequestModels
     , mRequestParameters
+    , mAuthorizerId
     , mAuthorizationType
     , mApiKeyRequired
     , mMethodIntegration
@@ -52,7 +51,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to update an existing Method resource.
+-- | Request to update an existing < Method> resource.
 --
 -- /See:/ 'updateMethod' smart constructor.
 data UpdateMethod = UpdateMethod'
@@ -91,25 +90,30 @@
 ummPatchOperations :: Lens' UpdateMethod [PatchOperation]
 ummPatchOperations = lens _ummPatchOperations (\ s a -> s{_ummPatchOperations = a}) . _Default . _Coerce;
 
--- | The RestApi identifier for the Method resource.
+-- | The < RestApi> identifier for the < Method> resource.
 ummRestAPIId :: Lens' UpdateMethod Text
 ummRestAPIId = lens _ummRestAPIId (\ s a -> s{_ummRestAPIId = a});
 
--- | The Resource identifier for the Method resource.
+-- | The < Resource> identifier for the < Method> resource.
 ummResourceId :: Lens' UpdateMethod Text
 ummResourceId = lens _ummResourceId (\ s a -> s{_ummResourceId = a});
 
--- | The HTTP verb that identifies the Method resource.
+-- | The HTTP verb that identifies the < Method> resource.
 ummHttpMethod :: Lens' UpdateMethod Text
 ummHttpMethod = lens _ummHttpMethod (\ s a -> s{_ummHttpMethod = a});
 
 instance AWSRequest UpdateMethod where
         type Rs UpdateMethod = Method
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateMethod
+
 instance ToHeaders UpdateMethod where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateMethod where
         toJSON UpdateMethod'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateMethodResponse.hs b/gen/Network/AWS/APIGateway/UpdateMethodResponse.hs
--- a/gen/Network/AWS/APIGateway/UpdateMethodResponse.hs
+++ b/gen/Network/AWS/APIGateway/UpdateMethodResponse.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateMethodResponse
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Updates an existing MethodResponse resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateMethodResponse.html AWS API Reference> for UpdateMethodResponse.
+-- Updates an existing < MethodResponse> resource.
 module Network.AWS.APIGateway.UpdateMethodResponse
     (
     -- * Creating a Request
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | A request to update an existing MethodResponse resource.
+-- | A request to update an existing < MethodResponse> resource.
 --
 -- /See:/ 'updateMethodResponse' smart constructor.
 data UpdateMethodResponse = UpdateMethodResponse'
@@ -93,29 +91,34 @@
 umPatchOperations :: Lens' UpdateMethodResponse [PatchOperation]
 umPatchOperations = lens _umPatchOperations (\ s a -> s{_umPatchOperations = a}) . _Default . _Coerce;
 
--- | The RestApi identifier for the MethodResponse resource.
+-- | The < RestApi> identifier for the < MethodResponse> resource.
 umRestAPIId :: Lens' UpdateMethodResponse Text
 umRestAPIId = lens _umRestAPIId (\ s a -> s{_umRestAPIId = a});
 
--- | The Resource identifier for the MethodResponse resource.
+-- | The < Resource> identifier for the < MethodResponse> resource.
 umResourceId :: Lens' UpdateMethodResponse Text
 umResourceId = lens _umResourceId (\ s a -> s{_umResourceId = a});
 
--- | The HTTP verb identifier for the parent Method resource.
+-- | The HTTP verb identifier for the parent < Method> resource.
 umHttpMethod :: Lens' UpdateMethodResponse Text
 umHttpMethod = lens _umHttpMethod (\ s a -> s{_umHttpMethod = a});
 
--- | The status code identifier for the MethodResponse resource.
+-- | The status code identifier for the < MethodResponse> resource.
 umStatusCode :: Lens' UpdateMethodResponse Text
 umStatusCode = lens _umStatusCode (\ s a -> s{_umStatusCode = a});
 
 instance AWSRequest UpdateMethodResponse where
         type Rs UpdateMethodResponse = MethodResponse
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateMethodResponse
+
 instance ToHeaders UpdateMethodResponse where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateMethodResponse where
         toJSON UpdateMethodResponse'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateModel.hs b/gen/Network/AWS/APIGateway/UpdateModel.hs
--- a/gen/Network/AWS/APIGateway/UpdateModel.hs
+++ b/gen/Network/AWS/APIGateway/UpdateModel.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateModel
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Changes information about a model.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateModel.html AWS API Reference> for UpdateModel.
 module Network.AWS.APIGateway.UpdateModel
     (
     -- * Creating a Request
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to update an existing model in an existing RestApi resource.
+-- | Request to update an existing model in an existing < RestApi> resource.
 --
 -- /See:/ 'updateModel' smart constructor.
 data UpdateModel = UpdateModel'
@@ -83,7 +81,7 @@
 uPatchOperations :: Lens' UpdateModel [PatchOperation]
 uPatchOperations = lens _uPatchOperations (\ s a -> s{_uPatchOperations = a}) . _Default . _Coerce;
 
--- | The RestApi identifier under which the model exists.
+-- | The < RestApi> identifier under which the model exists.
 uRestAPIId :: Lens' UpdateModel Text
 uRestAPIId = lens _uRestAPIId (\ s a -> s{_uRestAPIId = a});
 
@@ -93,11 +91,16 @@
 
 instance AWSRequest UpdateModel where
         type Rs UpdateModel = Model
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateModel
+
 instance ToHeaders UpdateModel where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateModel where
         toJSON UpdateModel'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateResource.hs b/gen/Network/AWS/APIGateway/UpdateResource.hs
--- a/gen/Network/AWS/APIGateway/UpdateResource.hs
+++ b/gen/Network/AWS/APIGateway/UpdateResource.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about a Resource resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateResource.html AWS API Reference> for UpdateResource.
+-- Changes information about a < Resource> resource.
 module Network.AWS.APIGateway.UpdateResource
     (
     -- * Creating a Request
@@ -49,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to change information about a Resource resource.
+-- | Request to change information about a < Resource> resource.
 --
 -- /See:/ 'updateResource' smart constructor.
 data UpdateResource = UpdateResource'
@@ -83,21 +81,26 @@
 urPatchOperations :: Lens' UpdateResource [PatchOperation]
 urPatchOperations = lens _urPatchOperations (\ s a -> s{_urPatchOperations = a}) . _Default . _Coerce;
 
--- | The RestApi identifier for the Resource resource.
+-- | The < RestApi> identifier for the < Resource> resource.
 urRestAPIId :: Lens' UpdateResource Text
 urRestAPIId = lens _urRestAPIId (\ s a -> s{_urRestAPIId = a});
 
--- | The identifier of the Resource resource.
+-- | The identifier of the < Resource> resource.
 urResourceId :: Lens' UpdateResource Text
 urResourceId = lens _urResourceId (\ s a -> s{_urResourceId = a});
 
 instance AWSRequest UpdateResource where
         type Rs UpdateResource = Resource
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateResource
+
 instance ToHeaders UpdateResource where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateResource where
         toJSON UpdateResource'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateRestAPI.hs b/gen/Network/AWS/APIGateway/UpdateRestAPI.hs
--- a/gen/Network/AWS/APIGateway/UpdateRestAPI.hs
+++ b/gen/Network/AWS/APIGateway/UpdateRestAPI.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateRestAPI
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Changes information about the specified API.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateRestAPI.html AWS API Reference> for UpdateRestAPI.
 module Network.AWS.APIGateway.UpdateRestAPI
     (
     -- * Creating a Request
@@ -47,7 +45,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to update an existing RestApi resource in your collection.
+-- | Request to update an existing < RestApi> resource in your collection.
 --
 -- /See:/ 'updateRestAPI' smart constructor.
 data UpdateRestAPI = UpdateRestAPI'
@@ -76,17 +74,22 @@
 uraPatchOperations :: Lens' UpdateRestAPI [PatchOperation]
 uraPatchOperations = lens _uraPatchOperations (\ s a -> s{_uraPatchOperations = a}) . _Default . _Coerce;
 
--- | The ID of the RestApi you want to update.
+-- | The ID of the < RestApi> you want to update.
 uraRestAPIId :: Lens' UpdateRestAPI Text
 uraRestAPIId = lens _uraRestAPIId (\ s a -> s{_uraRestAPIId = a});
 
 instance AWSRequest UpdateRestAPI where
         type Rs UpdateRestAPI = RestAPI
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateRestAPI
+
 instance ToHeaders UpdateRestAPI where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateRestAPI where
         toJSON UpdateRestAPI'{..}
diff --git a/gen/Network/AWS/APIGateway/UpdateStage.hs b/gen/Network/AWS/APIGateway/UpdateStage.hs
--- a/gen/Network/AWS/APIGateway/UpdateStage.hs
+++ b/gen/Network/AWS/APIGateway/UpdateStage.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.UpdateStage
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Changes information about a Stage resource.
---
--- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateStage.html AWS API Reference> for UpdateStage.
+-- Changes information about a < Stage> resource.
 module Network.AWS.APIGateway.UpdateStage
     (
     -- * Creating a Request
@@ -55,7 +53,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Requests Amazon API Gateway to change information about a Stage
+-- | Requests Amazon API Gateway to change information about a < Stage>
 -- resource.
 --
 -- /See:/ 'updateStage' smart constructor.
@@ -90,22 +88,27 @@
 usPatchOperations :: Lens' UpdateStage [PatchOperation]
 usPatchOperations = lens _usPatchOperations (\ s a -> s{_usPatchOperations = a}) . _Default . _Coerce;
 
--- | The identifier of the RestApi resource for the Stage resource to change
--- information about.
+-- | The identifier of the < RestApi> resource for the < Stage> resource to
+-- change information about.
 usRestAPIId :: Lens' UpdateStage Text
 usRestAPIId = lens _usRestAPIId (\ s a -> s{_usRestAPIId = a});
 
--- | The name of the Stage resource to change information about.
+-- | The name of the < Stage> resource to change information about.
 usStageName :: Lens' UpdateStage Text
 usStageName = lens _usStageName (\ s a -> s{_usStageName = a});
 
 instance AWSRequest UpdateStage where
         type Rs UpdateStage = Stage
-        request = patchJSON aPIGateway
+        request = patchJSON apiGateway
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
+instance Hashable UpdateStage
+
 instance ToHeaders UpdateStage where
-        toHeaders = const mempty
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
 
 instance ToJSON UpdateStage where
         toJSON UpdateStage'{..}
diff --git a/gen/Network/AWS/APIGateway/Waiters.hs b/gen/Network/AWS/APIGateway/Waiters.hs
--- a/gen/Network/AWS/APIGateway/Waiters.hs
+++ b/gen/Network/AWS/APIGateway/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.APIGateway.Waiters
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Test/AWS/APIGateway.hs b/test/Test/AWS/APIGateway.hs
--- a/test/Test/AWS/APIGateway.hs
+++ b/test/Test/AWS/APIGateway.hs
@@ -3,7 +3,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.APIGateway
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/APIGateway/Internal.hs b/test/Test/AWS/APIGateway/Internal.hs
--- a/test/Test/AWS/APIGateway/Internal.hs
+++ b/test/Test/AWS/APIGateway/Internal.hs
@@ -3,7 +3,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.APIGateway.Internal
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/Gen/APIGateway.hs b/test/Test/AWS/Gen/APIGateway.hs
--- a/test/Test/AWS/Gen/APIGateway.hs
+++ b/test/Test/AWS/Gen/APIGateway.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.APIGateway
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -103,6 +103,9 @@
 --         , testCreateDomainName $
 --             createDomainName
 --
+--         , testFlushStageAuthorizersCache $
+--             flushStageAuthorizersCache
+--
 --         , testDeleteModel $
 --             deleteModel
 --
@@ -139,6 +142,9 @@
 --         , testGetDomainName $
 --             getDomainName
 --
+--         , testGetAuthorizers $
+--             getAuthorizers
+--
 --         , testPutIntegrationResponse $
 --             putIntegrationResponse
 --
@@ -160,6 +166,9 @@
 --         , testUpdateIntegration $
 --             updateIntegration
 --
+--         , testTestInvokeAuthorizer $
+--             testInvokeAuthorizer
+--
 --         , testGenerateClientCertificate $
 --             generateClientCertificate
 --
@@ -172,9 +181,15 @@
 --         , testPutIntegration $
 --             putIntegration
 --
+--         , testGetAuthorizer $
+--             getAuthorizer
+--
 --         , testGetStage $
 --             getStage
 --
+--         , testGetExport $
+--             getExport
+--
 --         , testGetSDK $
 --             getSDK
 --
@@ -193,6 +208,15 @@
 --         , testUpdateClientCertificate $
 --             updateClientCertificate
 --
+--         , testCreateAuthorizer $
+--             createAuthorizer
+--
+--         , testUpdateAuthorizer $
+--             updateAuthorizer
+--
+--         , testDeleteAuthorizer $
+--             deleteAuthorizer
+--
 --         , testCreateStage $
 --             createStage
 --
@@ -307,6 +331,9 @@
 --         , testCreateDomainNameResponse $
 --             domainName
 --
+--         , testFlushStageAuthorizersCacheResponse $
+--             flushStageAuthorizersCacheResponse
+--
 --         , testDeleteModelResponse $
 --             deleteModelResponse
 --
@@ -343,6 +370,9 @@
 --         , testGetDomainNameResponse $
 --             domainName
 --
+--         , testGetAuthorizersResponse $
+--             getAuthorizersResponse
+--
 --         , testPutIntegrationResponseResponse $
 --             integrationResponse
 --
@@ -364,6 +394,9 @@
 --         , testUpdateIntegrationResponse $
 --             integration
 --
+--         , testTestInvokeAuthorizerResponse $
+--             testInvokeAuthorizerResponse
+--
 --         , testGenerateClientCertificateResponse $
 --             clientCertificate
 --
@@ -376,9 +409,15 @@
 --         , testPutIntegrationResponse $
 --             integration
 --
+--         , testGetAuthorizerResponse $
+--             authorizer
+--
 --         , testGetStageResponse $
 --             stage
 --
+--         , testGetExportResponse $
+--             getExportResponse
+--
 --         , testGetSDKResponse $
 --             getSDKResponse
 --
@@ -397,6 +436,15 @@
 --         , testUpdateClientCertificateResponse $
 --             clientCertificate
 --
+--         , testCreateAuthorizerResponse $
+--             authorizer
+--
+--         , testUpdateAuthorizerResponse $
+--             authorizer
+--
+--         , testDeleteAuthorizerResponse $
+--             deleteAuthorizerResponse
+--
 --         , testCreateStageResponse $
 --             stage
 --
@@ -563,6 +611,11 @@
     "CreateDomainName"
     "fixture/CreateDomainName.yaml"
 
+testFlushStageAuthorizersCache :: FlushStageAuthorizersCache -> TestTree
+testFlushStageAuthorizersCache = req
+    "FlushStageAuthorizersCache"
+    "fixture/FlushStageAuthorizersCache.yaml"
+
 testDeleteModel :: DeleteModel -> TestTree
 testDeleteModel = req
     "DeleteModel"
@@ -623,6 +676,11 @@
     "GetDomainName"
     "fixture/GetDomainName.yaml"
 
+testGetAuthorizers :: GetAuthorizers -> TestTree
+testGetAuthorizers = req
+    "GetAuthorizers"
+    "fixture/GetAuthorizers.yaml"
+
 testPutIntegrationResponse :: PutIntegrationResponse -> TestTree
 testPutIntegrationResponse = req
     "PutIntegrationResponse"
@@ -658,6 +716,11 @@
     "UpdateIntegration"
     "fixture/UpdateIntegration.yaml"
 
+testTestInvokeAuthorizer :: TestInvokeAuthorizer -> TestTree
+testTestInvokeAuthorizer = req
+    "TestInvokeAuthorizer"
+    "fixture/TestInvokeAuthorizer.yaml"
+
 testGenerateClientCertificate :: GenerateClientCertificate -> TestTree
 testGenerateClientCertificate = req
     "GenerateClientCertificate"
@@ -678,11 +741,21 @@
     "PutIntegration"
     "fixture/PutIntegration.yaml"
 
+testGetAuthorizer :: GetAuthorizer -> TestTree
+testGetAuthorizer = req
+    "GetAuthorizer"
+    "fixture/GetAuthorizer.yaml"
+
 testGetStage :: GetStage -> TestTree
 testGetStage = req
     "GetStage"
     "fixture/GetStage.yaml"
 
+testGetExport :: GetExport -> TestTree
+testGetExport = req
+    "GetExport"
+    "fixture/GetExport.yaml"
+
 testGetSDK :: GetSDK -> TestTree
 testGetSDK = req
     "GetSDK"
@@ -713,6 +786,21 @@
     "UpdateClientCertificate"
     "fixture/UpdateClientCertificate.yaml"
 
+testCreateAuthorizer :: CreateAuthorizer -> TestTree
+testCreateAuthorizer = req
+    "CreateAuthorizer"
+    "fixture/CreateAuthorizer.yaml"
+
+testUpdateAuthorizer :: UpdateAuthorizer -> TestTree
+testUpdateAuthorizer = req
+    "UpdateAuthorizer"
+    "fixture/UpdateAuthorizer.yaml"
+
+testDeleteAuthorizer :: DeleteAuthorizer -> TestTree
+testDeleteAuthorizer = req
+    "DeleteAuthorizer"
+    "fixture/DeleteAuthorizer.yaml"
+
 testCreateStage :: CreateStage -> TestTree
 testCreateStage = req
     "CreateStage"
@@ -779,467 +867,523 @@
 testGetResourceResponse = res
     "GetResourceResponse"
     "fixture/GetResourceResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetResource)
 
 testGetDeploymentsResponse :: GetDeploymentsResponse -> TestTree
 testGetDeploymentsResponse = res
     "GetDeploymentsResponse"
     "fixture/GetDeploymentsResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetDeployments)
 
 testGetDeploymentResponse :: Deployment -> TestTree
 testGetDeploymentResponse = res
     "GetDeploymentResponse"
     "fixture/GetDeploymentResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetDeployment)
 
 testGetDomainNamesResponse :: GetDomainNamesResponse -> TestTree
 testGetDomainNamesResponse = res
     "GetDomainNamesResponse"
     "fixture/GetDomainNamesResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetDomainNames)
 
 testGetClientCertificateResponse :: ClientCertificate -> TestTree
 testGetClientCertificateResponse = res
     "GetClientCertificateResponse"
     "fixture/GetClientCertificateResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetClientCertificate)
 
 testGetMethodResponseResponse :: MethodResponse -> TestTree
 testGetMethodResponseResponse = res
     "GetMethodResponseResponse"
     "fixture/GetMethodResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetMethodResponse)
 
 testGetModelsResponse :: GetModelsResponse -> TestTree
 testGetModelsResponse = res
     "GetModelsResponse"
     "fixture/GetModelsResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetModels)
 
 testGetBasePathMappingResponse :: BasePathMapping -> TestTree
 testGetBasePathMappingResponse = res
     "GetBasePathMappingResponse"
     "fixture/GetBasePathMappingResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetBasePathMapping)
 
 testPutMethodResponseResponse :: MethodResponse -> TestTree
 testPutMethodResponseResponse = res
     "PutMethodResponseResponse"
     "fixture/PutMethodResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy PutMethodResponse)
 
 testDeleteMethodResponseResponse :: DeleteMethodResponseResponse -> TestTree
 testDeleteMethodResponseResponse = res
     "DeleteMethodResponseResponse"
     "fixture/DeleteMethodResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteMethodResponse)
 
 testUpdateMethodResponseResponse :: MethodResponse -> TestTree
 testUpdateMethodResponseResponse = res
     "UpdateMethodResponseResponse"
     "fixture/UpdateMethodResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateMethodResponse)
 
 testDeleteStageResponse :: DeleteStageResponse -> TestTree
 testDeleteStageResponse = res
     "DeleteStageResponse"
     "fixture/DeleteStageResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteStage)
 
 testUpdateStageResponse :: Stage -> TestTree
 testUpdateStageResponse = res
     "UpdateStageResponse"
     "fixture/UpdateStageResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateStage)
 
 testGetRestAPIsResponse :: GetRestAPIsResponse -> TestTree
 testGetRestAPIsResponse = res
     "GetRestAPIsResponse"
     "fixture/GetRestAPIsResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetRestAPIs)
 
 testCreateDeploymentResponse :: Deployment -> TestTree
 testCreateDeploymentResponse = res
     "CreateDeploymentResponse"
     "fixture/CreateDeploymentResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateDeployment)
 
 testCreateBasePathMappingResponse :: BasePathMapping -> TestTree
 testCreateBasePathMappingResponse = res
     "CreateBasePathMappingResponse"
     "fixture/CreateBasePathMappingResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateBasePathMapping)
 
 testGetIntegrationResponse :: Integration -> TestTree
 testGetIntegrationResponse = res
     "GetIntegrationResponse"
     "fixture/GetIntegrationResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetIntegration)
 
 testUpdateAccountResponse :: Account -> TestTree
 testUpdateAccountResponse = res
     "UpdateAccountResponse"
     "fixture/UpdateAccountResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateAccount)
 
 testDeleteDeploymentResponse :: DeleteDeploymentResponse -> TestTree
 testDeleteDeploymentResponse = res
     "DeleteDeploymentResponse"
     "fixture/DeleteDeploymentResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteDeployment)
 
 testUpdateDeploymentResponse :: Deployment -> TestTree
 testUpdateDeploymentResponse = res
     "UpdateDeploymentResponse"
     "fixture/UpdateDeploymentResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateDeployment)
 
 testDeleteResourceResponse :: DeleteResourceResponse -> TestTree
 testDeleteResourceResponse = res
     "DeleteResourceResponse"
     "fixture/DeleteResourceResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteResource)
 
 testUpdateResourceResponse :: Resource -> TestTree
 testUpdateResourceResponse = res
     "UpdateResourceResponse"
     "fixture/UpdateResourceResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateResource)
 
 testCreateModelResponse :: Model -> TestTree
 testCreateModelResponse = res
     "CreateModelResponse"
     "fixture/CreateModelResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateModel)
 
 testGetIntegrationResponseResponse :: IntegrationResponse -> TestTree
 testGetIntegrationResponseResponse = res
     "GetIntegrationResponseResponse"
     "fixture/GetIntegrationResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetIntegrationResponse)
 
 testCreateDomainNameResponse :: DomainName -> TestTree
 testCreateDomainNameResponse = res
     "CreateDomainNameResponse"
     "fixture/CreateDomainNameResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateDomainName)
 
+testFlushStageAuthorizersCacheResponse :: FlushStageAuthorizersCacheResponse -> TestTree
+testFlushStageAuthorizersCacheResponse = res
+    "FlushStageAuthorizersCacheResponse"
+    "fixture/FlushStageAuthorizersCacheResponse.proto"
+    apiGateway
+    (Proxy :: Proxy FlushStageAuthorizersCache)
+
 testDeleteModelResponse :: DeleteModelResponse -> TestTree
 testDeleteModelResponse = res
     "DeleteModelResponse"
     "fixture/DeleteModelResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteModel)
 
 testUpdateModelResponse :: Model -> TestTree
 testUpdateModelResponse = res
     "UpdateModelResponse"
     "fixture/UpdateModelResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateModel)
 
 testDeleteAPIKeyResponse :: DeleteAPIKeyResponse -> TestTree
 testDeleteAPIKeyResponse = res
     "DeleteAPIKeyResponse"
     "fixture/DeleteAPIKeyResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteAPIKey)
 
 testUpdateAPIKeyResponse :: APIKey -> TestTree
 testUpdateAPIKeyResponse = res
     "UpdateAPIKeyResponse"
     "fixture/UpdateAPIKeyResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateAPIKey)
 
 testGetRestAPIResponse :: RestAPI -> TestTree
 testGetRestAPIResponse = res
     "GetRestAPIResponse"
     "fixture/GetRestAPIResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetRestAPI)
 
 testGetStagesResponse :: GetStagesResponse -> TestTree
 testGetStagesResponse = res
     "GetStagesResponse"
     "fixture/GetStagesResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetStages)
 
 testGetMethodResponse :: Method -> TestTree
 testGetMethodResponse = res
     "GetMethodResponse"
     "fixture/GetMethodResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetMethod)
 
 testGetModelResponse :: Model -> TestTree
 testGetModelResponse = res
     "GetModelResponse"
     "fixture/GetModelResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetModel)
 
 testUpdateRestAPIResponse :: RestAPI -> TestTree
 testUpdateRestAPIResponse = res
     "UpdateRestAPIResponse"
     "fixture/UpdateRestAPIResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateRestAPI)
 
 testDeleteRestAPIResponse :: DeleteRestAPIResponse -> TestTree
 testDeleteRestAPIResponse = res
     "DeleteRestAPIResponse"
     "fixture/DeleteRestAPIResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteRestAPI)
 
 testTestInvokeMethodResponse :: TestInvokeMethodResponse -> TestTree
 testTestInvokeMethodResponse = res
     "TestInvokeMethodResponse"
     "fixture/TestInvokeMethodResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy TestInvokeMethod)
 
 testGetDomainNameResponse :: DomainName -> TestTree
 testGetDomainNameResponse = res
     "GetDomainNameResponse"
     "fixture/GetDomainNameResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetDomainName)
 
+testGetAuthorizersResponse :: GetAuthorizersResponse -> TestTree
+testGetAuthorizersResponse = res
+    "GetAuthorizersResponse"
+    "fixture/GetAuthorizersResponse.proto"
+    apiGateway
+    (Proxy :: Proxy GetAuthorizers)
+
 testPutIntegrationResponseResponse :: IntegrationResponse -> TestTree
 testPutIntegrationResponseResponse = res
     "PutIntegrationResponseResponse"
     "fixture/PutIntegrationResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy PutIntegrationResponse)
 
 testFlushStageCacheResponse :: FlushStageCacheResponse -> TestTree
 testFlushStageCacheResponse = res
     "FlushStageCacheResponse"
     "fixture/FlushStageCacheResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy FlushStageCache)
 
 testCreateRestAPIResponse :: RestAPI -> TestTree
 testCreateRestAPIResponse = res
     "CreateRestAPIResponse"
     "fixture/CreateRestAPIResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateRestAPI)
 
 testDeleteIntegrationResponseResponse :: DeleteIntegrationResponseResponse -> TestTree
 testDeleteIntegrationResponseResponse = res
     "DeleteIntegrationResponseResponse"
     "fixture/DeleteIntegrationResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteIntegrationResponse)
 
 testUpdateIntegrationResponseResponse :: IntegrationResponse -> TestTree
 testUpdateIntegrationResponseResponse = res
     "UpdateIntegrationResponseResponse"
     "fixture/UpdateIntegrationResponseResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateIntegrationResponse)
 
 testDeleteIntegrationResponse :: DeleteIntegrationResponse' -> TestTree
 testDeleteIntegrationResponse = res
     "DeleteIntegrationResponse"
     "fixture/DeleteIntegrationResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteIntegration)
 
 testUpdateIntegrationResponse :: Integration -> TestTree
 testUpdateIntegrationResponse = res
     "UpdateIntegrationResponse"
     "fixture/UpdateIntegrationResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateIntegration)
 
+testTestInvokeAuthorizerResponse :: TestInvokeAuthorizerResponse -> TestTree
+testTestInvokeAuthorizerResponse = res
+    "TestInvokeAuthorizerResponse"
+    "fixture/TestInvokeAuthorizerResponse.proto"
+    apiGateway
+    (Proxy :: Proxy TestInvokeAuthorizer)
+
 testGenerateClientCertificateResponse :: ClientCertificate -> TestTree
 testGenerateClientCertificateResponse = res
     "GenerateClientCertificateResponse"
     "fixture/GenerateClientCertificateResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GenerateClientCertificate)
 
 testGetResourcesResponse :: GetResourcesResponse -> TestTree
 testGetResourcesResponse = res
     "GetResourcesResponse"
     "fixture/GetResourcesResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetResources)
 
 testGetAccountResponse :: Account -> TestTree
 testGetAccountResponse = res
     "GetAccountResponse"
     "fixture/GetAccountResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetAccount)
 
 testPutIntegrationResponse :: Integration -> TestTree
 testPutIntegrationResponse = res
     "PutIntegrationResponse"
     "fixture/PutIntegrationResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy PutIntegration)
 
+testGetAuthorizerResponse :: Authorizer -> TestTree
+testGetAuthorizerResponse = res
+    "GetAuthorizerResponse"
+    "fixture/GetAuthorizerResponse.proto"
+    apiGateway
+    (Proxy :: Proxy GetAuthorizer)
+
 testGetStageResponse :: Stage -> TestTree
 testGetStageResponse = res
     "GetStageResponse"
     "fixture/GetStageResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetStage)
 
+testGetExportResponse :: GetExportResponse -> TestTree
+testGetExportResponse = res
+    "GetExportResponse"
+    "fixture/GetExportResponse.proto"
+    apiGateway
+    (Proxy :: Proxy GetExport)
+
 testGetSDKResponse :: GetSDKResponse -> TestTree
 testGetSDKResponse = res
     "GetSDKResponse"
     "fixture/GetSDKResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetSDK)
 
 testGetAPIKeysResponse :: GetAPIKeysResponse -> TestTree
 testGetAPIKeysResponse = res
     "GetAPIKeysResponse"
     "fixture/GetAPIKeysResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetAPIKeys)
 
 testDeleteBasePathMappingResponse :: DeleteBasePathMappingResponse -> TestTree
 testDeleteBasePathMappingResponse = res
     "DeleteBasePathMappingResponse"
     "fixture/DeleteBasePathMappingResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteBasePathMapping)
 
 testUpdateBasePathMappingResponse :: BasePathMapping -> TestTree
 testUpdateBasePathMappingResponse = res
     "UpdateBasePathMappingResponse"
     "fixture/UpdateBasePathMappingResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateBasePathMapping)
 
 testDeleteClientCertificateResponse :: DeleteClientCertificateResponse -> TestTree
 testDeleteClientCertificateResponse = res
     "DeleteClientCertificateResponse"
     "fixture/DeleteClientCertificateResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteClientCertificate)
 
 testUpdateClientCertificateResponse :: ClientCertificate -> TestTree
 testUpdateClientCertificateResponse = res
     "UpdateClientCertificateResponse"
     "fixture/UpdateClientCertificateResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateClientCertificate)
 
+testCreateAuthorizerResponse :: Authorizer -> TestTree
+testCreateAuthorizerResponse = res
+    "CreateAuthorizerResponse"
+    "fixture/CreateAuthorizerResponse.proto"
+    apiGateway
+    (Proxy :: Proxy CreateAuthorizer)
+
+testUpdateAuthorizerResponse :: Authorizer -> TestTree
+testUpdateAuthorizerResponse = res
+    "UpdateAuthorizerResponse"
+    "fixture/UpdateAuthorizerResponse.proto"
+    apiGateway
+    (Proxy :: Proxy UpdateAuthorizer)
+
+testDeleteAuthorizerResponse :: DeleteAuthorizerResponse -> TestTree
+testDeleteAuthorizerResponse = res
+    "DeleteAuthorizerResponse"
+    "fixture/DeleteAuthorizerResponse.proto"
+    apiGateway
+    (Proxy :: Proxy DeleteAuthorizer)
+
 testCreateStageResponse :: Stage -> TestTree
 testCreateStageResponse = res
     "CreateStageResponse"
     "fixture/CreateStageResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateStage)
 
 testCreateAPIKeyResponse :: APIKey -> TestTree
 testCreateAPIKeyResponse = res
     "CreateAPIKeyResponse"
     "fixture/CreateAPIKeyResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateAPIKey)
 
 testPutMethodResponse :: Method -> TestTree
 testPutMethodResponse = res
     "PutMethodResponse"
     "fixture/PutMethodResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy PutMethod)
 
 testUpdateDomainNameResponse :: DomainName -> TestTree
 testUpdateDomainNameResponse = res
     "UpdateDomainNameResponse"
     "fixture/UpdateDomainNameResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateDomainName)
 
 testDeleteDomainNameResponse :: DeleteDomainNameResponse -> TestTree
 testDeleteDomainNameResponse = res
     "DeleteDomainNameResponse"
     "fixture/DeleteDomainNameResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteDomainName)
 
 testCreateResourceResponse :: Resource -> TestTree
 testCreateResourceResponse = res
     "CreateResourceResponse"
     "fixture/CreateResourceResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy CreateResource)
 
 testDeleteMethodResponse :: DeleteMethodResponse' -> TestTree
 testDeleteMethodResponse = res
     "DeleteMethodResponse"
     "fixture/DeleteMethodResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy DeleteMethod)
 
 testUpdateMethodResponse :: Method -> TestTree
 testUpdateMethodResponse = res
     "UpdateMethodResponse"
     "fixture/UpdateMethodResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy UpdateMethod)
 
 testGetClientCertificatesResponse :: GetClientCertificatesResponse -> TestTree
 testGetClientCertificatesResponse = res
     "GetClientCertificatesResponse"
     "fixture/GetClientCertificatesResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetClientCertificates)
 
 testGetModelTemplateResponse :: GetModelTemplateResponse -> TestTree
 testGetModelTemplateResponse = res
     "GetModelTemplateResponse"
     "fixture/GetModelTemplateResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetModelTemplate)
 
 testGetBasePathMappingsResponse :: GetBasePathMappingsResponse -> TestTree
 testGetBasePathMappingsResponse = res
     "GetBasePathMappingsResponse"
     "fixture/GetBasePathMappingsResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetBasePathMappings)
 
 testGetAPIKeyResponse :: APIKey -> TestTree
 testGetAPIKeyResponse = res
     "GetAPIKeyResponse"
     "fixture/GetAPIKeyResponse.proto"
-    aPIGateway
+    apiGateway
     (Proxy :: Proxy GetAPIKey)
