diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.0`
+`1.4.1`
 
 
 ## Description
diff --git a/amazonka-apigateway.cabal b/amazonka-apigateway.cabal
--- a/amazonka-apigateway.cabal
+++ b/amazonka-apigateway.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-apigateway
-version:               1.4.0
+version:               1.4.1
 synopsis:              Amazon API Gateway SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -101,10 +101,12 @@
         , Network.AWS.APIGateway.GetSDK
         , Network.AWS.APIGateway.GetStage
         , Network.AWS.APIGateway.GetStages
+        , Network.AWS.APIGateway.ImportRestAPI
         , Network.AWS.APIGateway.PutIntegration
         , Network.AWS.APIGateway.PutIntegrationResponse
         , Network.AWS.APIGateway.PutMethod
         , Network.AWS.APIGateway.PutMethodResponse
+        , Network.AWS.APIGateway.PutRestAPI
         , Network.AWS.APIGateway.TestInvokeAuthorizer
         , Network.AWS.APIGateway.TestInvokeMethod
         , Network.AWS.APIGateway.Types
@@ -130,7 +132,7 @@
         , Network.AWS.APIGateway.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-apigateway-test
@@ -150,9 +152,9 @@
         , Test.AWS.APIGateway.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-apigateway == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-apigateway == 1.4.1.*
         , base
         , bytestring
         , tasty
diff --git a/fixture/ImportRestAPI.yaml b/fixture/ImportRestAPI.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ImportRestAPI.yaml
diff --git a/fixture/ImportRestAPIResponse.proto b/fixture/ImportRestAPIResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ImportRestAPIResponse.proto
diff --git a/fixture/PutRestAPI.yaml b/fixture/PutRestAPI.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/PutRestAPI.yaml
diff --git a/fixture/PutRestAPIResponse.proto b/fixture/PutRestAPIResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/PutRestAPIResponse.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
@@ -80,6 +80,9 @@
     -- ** PutMethodResponse
     , module Network.AWS.APIGateway.PutMethodResponse
 
+    -- ** ImportRestAPI
+    , module Network.AWS.APIGateway.ImportRestAPI
+
     -- ** DeleteMethodResponse
     , module Network.AWS.APIGateway.DeleteMethodResponse
 
@@ -149,6 +152,9 @@
     -- ** GetStages
     , module Network.AWS.APIGateway.GetStages
 
+    -- ** PutRestAPI
+    , module Network.AWS.APIGateway.PutRestAPI
+
     -- ** GetMethod
     , module Network.AWS.APIGateway.GetMethod
 
@@ -295,6 +301,9 @@
     -- ** Op
     , Op (..)
 
+    -- ** PutMode
+    , PutMode (..)
+
     -- ** UnauthorizedCacheControlHeaderStrategy
     , UnauthorizedCacheControlHeaderStrategy (..)
 
@@ -323,6 +332,7 @@
     , aName
     , aId
     , aAuthorizerResultTtlInSeconds
+    , aAuthType
     , aType
     , aIdentitySource
     , aAuthorizerCredentials
@@ -448,6 +458,7 @@
     -- ** RestAPI
     , RestAPI
     , restAPI
+    , raWarnings
     , raCreatedDate
     , raName
     , raId
@@ -535,10 +546,12 @@
 import           Network.AWS.APIGateway.GetSDK
 import           Network.AWS.APIGateway.GetStage
 import           Network.AWS.APIGateway.GetStages
+import           Network.AWS.APIGateway.ImportRestAPI
 import           Network.AWS.APIGateway.PutIntegration
 import           Network.AWS.APIGateway.PutIntegrationResponse
 import           Network.AWS.APIGateway.PutMethod
 import           Network.AWS.APIGateway.PutMethodResponse
+import           Network.AWS.APIGateway.PutRestAPI
 import           Network.AWS.APIGateway.TestInvokeAuthorizer
 import           Network.AWS.APIGateway.TestInvokeMethod
 import           Network.AWS.APIGateway.Types
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Create an < ApiKey> resource.
 module Network.AWS.APIGateway.CreateAPIKey
     (
     -- * Creating a Request
@@ -50,7 +50,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'createAPIKey' smart constructor.
+-- | Request to create an < ApiKey> resource.
+--
+-- /See:/ 'createAPIKey' smart constructor.
 data CreateAPIKey = CreateAPIKey'
     { _cakEnabled     :: !(Maybe Bool)
     , _cakName        :: !(Maybe Text)
@@ -101,6 +103,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable CreateAPIKey
+
+instance NFData CreateAPIKey
 
 instance ToHeaders CreateAPIKey where
         toHeaders
diff --git a/gen/Network/AWS/APIGateway/CreateAuthorizer.hs b/gen/Network/AWS/APIGateway/CreateAuthorizer.hs
--- a/gen/Network/AWS/APIGateway/CreateAuthorizer.hs
+++ b/gen/Network/AWS/APIGateway/CreateAuthorizer.hs
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Adds a new < Authorizer> resource to an existing < RestApi> resource.
 module Network.AWS.APIGateway.CreateAuthorizer
     (
     -- * Creating a Request
@@ -27,6 +27,7 @@
     -- * Request Lenses
     , caIdentityValidationExpression
     , caAuthorizerResultTtlInSeconds
+    , caAuthType
     , caAuthorizerCredentials
     , caRestAPIId
     , caName
@@ -43,6 +44,7 @@
     , aName
     , aId
     , aAuthorizerResultTtlInSeconds
+    , aAuthType
     , aType
     , aIdentitySource
     , aAuthorizerCredentials
@@ -55,10 +57,13 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'createAuthorizer' smart constructor.
+-- | Request to add a new < Authorizer> to an existing < RestApi> resource.
+--
+-- /See:/ 'createAuthorizer' smart constructor.
 data CreateAuthorizer = CreateAuthorizer'
     { _caIdentityValidationExpression :: !(Maybe Text)
     , _caAuthorizerResultTtlInSeconds :: !(Maybe Int)
+    , _caAuthType                     :: !(Maybe Text)
     , _caAuthorizerCredentials        :: !(Maybe Text)
     , _caRestAPIId                    :: !Text
     , _caName                         :: !Text
@@ -75,6 +80,8 @@
 --
 -- * 'caAuthorizerResultTtlInSeconds'
 --
+-- * 'caAuthType'
+--
 -- * 'caAuthorizerCredentials'
 --
 -- * 'caRestAPIId'
@@ -97,6 +104,7 @@
     CreateAuthorizer'
     { _caIdentityValidationExpression = Nothing
     , _caAuthorizerResultTtlInSeconds = Nothing
+    , _caAuthType = Nothing
     , _caAuthorizerCredentials = Nothing
     , _caRestAPIId = pRestAPIId_
     , _caName = pName_
@@ -113,11 +121,16 @@
 caAuthorizerResultTtlInSeconds :: Lens' CreateAuthorizer (Maybe Int)
 caAuthorizerResultTtlInSeconds = lens _caAuthorizerResultTtlInSeconds (\ s a -> s{_caAuthorizerResultTtlInSeconds = a});
 
+-- | Optional customer-defined field, used in Swagger imports\/exports. Has
+-- no functional impact.
+caAuthType :: Lens' CreateAuthorizer (Maybe Text)
+caAuthType = lens _caAuthType (\ s a -> s{_caAuthType = 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.
+-- | The < RestApi> identifier under which the < Authorizer> will be created.
 caRestAPIId :: Lens' CreateAuthorizer Text
 caRestAPIId = lens _caRestAPIId (\ s a -> s{_caRestAPIId = a});
 
@@ -145,6 +158,8 @@
 
 instance Hashable CreateAuthorizer
 
+instance NFData CreateAuthorizer
+
 instance ToHeaders CreateAuthorizer where
         toHeaders
           = const
@@ -159,6 +174,7 @@
                     _caIdentityValidationExpression,
                   ("authorizerResultTtlInSeconds" .=) <$>
                     _caAuthorizerResultTtlInSeconds,
+                  ("authType" .=) <$> _caAuthType,
                   ("authorizerCredentials" .=) <$>
                     _caAuthorizerCredentials,
                   Just ("name" .= _caName), Just ("type" .= _caType),
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
@@ -107,6 +107,8 @@
 
 instance Hashable CreateBasePathMapping
 
+instance NFData CreateBasePathMapping
+
 instance ToHeaders CreateBasePathMapping where
         toHeaders
           = const
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
@@ -138,6 +138,8 @@
 
 instance Hashable CreateDeployment
 
+instance NFData CreateDeployment
+
 instance ToHeaders CreateDeployment where
         toHeaders
           = const
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
@@ -121,6 +121,8 @@
 
 instance Hashable CreateDomainName
 
+instance NFData CreateDomainName
+
 instance ToHeaders CreateDomainName where
         toHeaders
           = const
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
@@ -115,6 +115,8 @@
 
 instance Hashable CreateModel
 
+instance NFData CreateModel
+
 instance ToHeaders CreateModel where
         toHeaders
           = const
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
@@ -96,6 +96,8 @@
 
 instance Hashable CreateResource
 
+instance NFData CreateResource
+
 instance ToHeaders CreateResource where
         toHeaders
           = const
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
@@ -33,6 +33,7 @@
     , restAPI
     , RestAPI
     -- * Response Lenses
+    , raWarnings
     , raCreatedDate
     , raName
     , raId
@@ -46,7 +47,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to add a new < RestApi> resource to your collection.
+-- | The POST Request to add a new < RestApi> resource to your collection.
 --
 -- /See:/ 'createRestAPI' smart constructor.
 data CreateRestAPI = CreateRestAPI'
@@ -92,6 +93,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable CreateRestAPI
+
+instance NFData CreateRestAPI
 
 instance ToHeaders CreateRestAPI where
         toHeaders
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
@@ -142,6 +142,8 @@
 
 instance Hashable CreateStage
 
+instance NFData CreateStage
+
 instance ToHeaders CreateStage where
         toHeaders
           = const
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
@@ -70,6 +70,8 @@
 
 instance Hashable DeleteAPIKey
 
+instance NFData DeleteAPIKey
+
 instance ToHeaders DeleteAPIKey where
         toHeaders
           = const
@@ -93,3 +95,5 @@
 deleteAPIKeyResponse
     :: DeleteAPIKeyResponse
 deleteAPIKeyResponse = DeleteAPIKeyResponse'
+
+instance NFData DeleteAPIKeyResponse
diff --git a/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs b/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs
--- a/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs
+++ b/gen/Network/AWS/APIGateway/DeleteAuthorizer.hs
@@ -80,6 +80,8 @@
 
 instance Hashable DeleteAuthorizer
 
+instance NFData DeleteAuthorizer
+
 instance ToHeaders DeleteAuthorizer where
         toHeaders
           = const
@@ -105,3 +107,5 @@
 deleteAuthorizerResponse
     :: DeleteAuthorizerResponse
 deleteAuthorizerResponse = DeleteAuthorizerResponse'
+
+instance NFData 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
@@ -81,6 +81,8 @@
 
 instance Hashable DeleteBasePathMapping
 
+instance NFData DeleteBasePathMapping
+
 instance ToHeaders DeleteBasePathMapping where
         toHeaders
           = const
@@ -106,3 +108,5 @@
 deleteBasePathMappingResponse
     :: DeleteBasePathMappingResponse
 deleteBasePathMappingResponse = DeleteBasePathMappingResponse'
+
+instance NFData DeleteBasePathMappingResponse
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Deletes the < ClientCertificate> resource.
 module Network.AWS.APIGateway.DeleteClientCertificate
     (
     -- * Creating a Request
@@ -39,7 +39,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'deleteClientCertificate' smart constructor.
+-- | A request to delete the < ClientCertificate> resource.
+--
+-- /See:/ 'deleteClientCertificate' smart constructor.
 newtype DeleteClientCertificate = DeleteClientCertificate'
     { _dccClientCertificateId :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -57,7 +59,7 @@
     { _dccClientCertificateId = pClientCertificateId_
     }
 
--- | Undocumented member.
+-- | The identifier of the < ClientCertificate> resource to be deleted.
 dccClientCertificateId :: Lens' DeleteClientCertificate Text
 dccClientCertificateId = lens _dccClientCertificateId (\ s a -> s{_dccClientCertificateId = a});
 
@@ -70,6 +72,8 @@
 
 instance Hashable DeleteClientCertificate
 
+instance NFData DeleteClientCertificate
+
 instance ToHeaders DeleteClientCertificate where
         toHeaders
           = const
@@ -95,3 +99,5 @@
 deleteClientCertificateResponse
     :: DeleteClientCertificateResponse
 deleteClientCertificateResponse = DeleteClientCertificateResponse'
+
+instance NFData DeleteClientCertificateResponse
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
@@ -82,6 +82,8 @@
 
 instance Hashable DeleteDeployment
 
+instance NFData DeleteDeployment
+
 instance ToHeaders DeleteDeployment where
         toHeaders
           = const
@@ -107,3 +109,5 @@
 deleteDeploymentResponse
     :: DeleteDeploymentResponse
 deleteDeploymentResponse = DeleteDeploymentResponse'
+
+instance NFData DeleteDeploymentResponse
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
@@ -70,6 +70,8 @@
 
 instance Hashable DeleteDomainName
 
+instance NFData DeleteDomainName
+
 instance ToHeaders DeleteDomainName where
         toHeaders
           = const
@@ -93,3 +95,5 @@
 deleteDomainNameResponse
     :: DeleteDomainNameResponse
 deleteDomainNameResponse = DeleteDomainNameResponse'
+
+instance NFData DeleteDomainNameResponse
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
@@ -91,6 +91,8 @@
 
 instance Hashable DeleteIntegration
 
+instance NFData DeleteIntegration
+
 instance ToHeaders DeleteIntegration where
         toHeaders
           = const
@@ -117,3 +119,5 @@
 deleteIntegrationResponse'
     :: DeleteIntegrationResponse'
 deleteIntegrationResponse' = DeleteIntegrationResponse''
+
+instance NFData DeleteIntegrationResponse'
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
@@ -102,6 +102,8 @@
 
 instance Hashable DeleteIntegrationResponse
 
+instance NFData DeleteIntegrationResponse
+
 instance ToHeaders DeleteIntegrationResponse where
         toHeaders
           = const
@@ -128,3 +130,5 @@
 deleteIntegrationResponseResponse
     :: DeleteIntegrationResponseResponse
 deleteIntegrationResponseResponse = DeleteIntegrationResponseResponse'
+
+instance NFData DeleteIntegrationResponseResponse
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
@@ -90,6 +90,8 @@
 
 instance Hashable DeleteMethod
 
+instance NFData DeleteMethod
+
 instance ToHeaders DeleteMethod where
         toHeaders
           = const
@@ -116,3 +118,5 @@
 deleteMethodResponse'
     :: DeleteMethodResponse'
 deleteMethodResponse' = DeleteMethodResponse''
+
+instance NFData DeleteMethodResponse'
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
@@ -101,6 +101,8 @@
 
 instance Hashable DeleteMethodResponse
 
+instance NFData DeleteMethodResponse
+
 instance ToHeaders DeleteMethodResponse where
         toHeaders
           = const
@@ -127,3 +129,5 @@
 deleteMethodResponseResponse
     :: DeleteMethodResponseResponse
 deleteMethodResponseResponse = DeleteMethodResponseResponse'
+
+instance NFData DeleteMethodResponseResponse
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
@@ -80,6 +80,8 @@
 
 instance Hashable DeleteModel
 
+instance NFData DeleteModel
+
 instance ToHeaders DeleteModel where
         toHeaders
           = const
@@ -105,3 +107,5 @@
 deleteModelResponse
     :: DeleteModelResponse
 deleteModelResponse = DeleteModelResponse'
+
+instance NFData DeleteModelResponse
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
@@ -80,6 +80,8 @@
 
 instance Hashable DeleteResource
 
+instance NFData DeleteResource
+
 instance ToHeaders DeleteResource where
         toHeaders
           = const
@@ -105,3 +107,5 @@
 deleteResourceResponse
     :: DeleteResourceResponse
 deleteResourceResponse = DeleteResourceResponse'
+
+instance NFData DeleteResourceResponse
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
@@ -70,6 +70,8 @@
 
 instance Hashable DeleteRestAPI
 
+instance NFData DeleteRestAPI
+
 instance ToHeaders DeleteRestAPI where
         toHeaders
           = const
@@ -93,3 +95,5 @@
 deleteRestAPIResponse
     :: DeleteRestAPIResponse
 deleteRestAPIResponse = DeleteRestAPIResponse'
+
+instance NFData DeleteRestAPIResponse
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
@@ -81,6 +81,8 @@
 
 instance Hashable DeleteStage
 
+instance NFData DeleteStage
+
 instance ToHeaders DeleteStage where
         toHeaders
           = const
@@ -106,3 +108,5 @@
 deleteStageResponse
     :: DeleteStageResponse
 deleteStageResponse = DeleteStageResponse'
+
+instance NFData DeleteStageResponse
diff --git a/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs b/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs
--- a/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs
+++ b/gen/Network/AWS/APIGateway/FlushStageAuthorizersCache.hs
@@ -82,6 +82,8 @@
 
 instance Hashable FlushStageAuthorizersCache
 
+instance NFData FlushStageAuthorizersCache
+
 instance ToHeaders FlushStageAuthorizersCache where
         toHeaders
           = const
@@ -107,3 +109,5 @@
 flushStageAuthorizersCacheResponse
     :: FlushStageAuthorizersCacheResponse
 flushStageAuthorizersCacheResponse = FlushStageAuthorizersCacheResponse'
+
+instance NFData 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
@@ -80,6 +80,8 @@
 
 instance Hashable FlushStageCache
 
+instance NFData FlushStageCache
+
 instance ToHeaders FlushStageCache where
         toHeaders
           = const
@@ -105,3 +107,5 @@
 flushStageCacheResponse
     :: FlushStageCacheResponse
 flushStageCacheResponse = FlushStageCacheResponse'
+
+instance NFData FlushStageCacheResponse
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Generates a < ClientCertificate> resource.
 module Network.AWS.APIGateway.GenerateClientCertificate
     (
     -- * Creating a Request
@@ -45,7 +45,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'generateClientCertificate' smart constructor.
+-- | A request to generate a < ClientCertificate> resource.
+--
+-- /See:/ 'generateClientCertificate' smart constructor.
 newtype GenerateClientCertificate = GenerateClientCertificate'
     { _gccDescription :: Maybe Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -62,7 +64,7 @@
     { _gccDescription = Nothing
     }
 
--- | Undocumented member.
+-- | The description of the < ClientCertificate>.
 gccDescription :: Lens' GenerateClientCertificate (Maybe Text)
 gccDescription = lens _gccDescription (\ s a -> s{_gccDescription = a});
 
@@ -72,6 +74,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable GenerateClientCertificate
+
+instance NFData GenerateClientCertificate
 
 instance ToHeaders GenerateClientCertificate where
         toHeaders
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
@@ -78,6 +78,8 @@
 
 instance Hashable GetAPIKey
 
+instance NFData GetAPIKey
+
 instance ToHeaders GetAPIKey where
         toHeaders
           = const
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
@@ -98,6 +98,8 @@
 
 instance Hashable GetAPIKeys
 
+instance NFData GetAPIKeys
+
 instance ToHeaders GetAPIKeys where
         toHeaders
           = const
@@ -152,3 +154,5 @@
 -- | The response status code.
 gakrsResponseStatus :: Lens' GetAPIKeysResponse Int
 gakrsResponseStatus = lens _gakrsResponseStatus (\ s a -> s{_gakrsResponseStatus = a});
+
+instance NFData GetAPIKeysResponse
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
@@ -61,6 +61,8 @@
 
 instance Hashable GetAccount
 
+instance NFData GetAccount
+
 instance ToHeaders GetAccount where
         toHeaders
           = const
diff --git a/gen/Network/AWS/APIGateway/GetAuthorizer.hs b/gen/Network/AWS/APIGateway/GetAuthorizer.hs
--- a/gen/Network/AWS/APIGateway/GetAuthorizer.hs
+++ b/gen/Network/AWS/APIGateway/GetAuthorizer.hs
@@ -37,6 +37,7 @@
     , aName
     , aId
     , aAuthorizerResultTtlInSeconds
+    , aAuthType
     , aType
     , aIdentitySource
     , aAuthorizerCredentials
@@ -88,6 +89,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable GetAuthorizer
+
+instance NFData GetAuthorizer
 
 instance ToHeaders GetAuthorizer where
         toHeaders
diff --git a/gen/Network/AWS/APIGateway/GetAuthorizers.hs b/gen/Network/AWS/APIGateway/GetAuthorizers.hs
--- a/gen/Network/AWS/APIGateway/GetAuthorizers.hs
+++ b/gen/Network/AWS/APIGateway/GetAuthorizers.hs
@@ -73,11 +73,12 @@
     , _gaRestAPIId = pRestAPIId_
     }
 
--- | Undocumented member.
+-- | Limit the number of < Authorizer> resources in the response.
 gaLimit :: Lens' GetAuthorizers (Maybe Int)
 gaLimit = lens _gaLimit (\ s a -> s{_gaLimit = a});
 
--- | Undocumented member.
+-- | If not all < Authorizer> resources in the response were present, the
+-- position will specificy where to start the next page of results.
 gaPosition :: Lens' GetAuthorizers (Maybe Text)
 gaPosition = lens _gaPosition (\ s a -> s{_gaPosition = a});
 
@@ -97,6 +98,8 @@
 
 instance Hashable GetAuthorizers
 
+instance NFData GetAuthorizers
+
 instance ToHeaders GetAuthorizers where
         toHeaders
           = const
@@ -152,3 +155,5 @@
 -- | The response status code.
 garsResponseStatus :: Lens' GetAuthorizersResponse Int
 garsResponseStatus = lens _garsResponseStatus (\ s a -> s{_garsResponseStatus = a});
+
+instance NFData GetAuthorizersResponse
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
@@ -87,6 +87,8 @@
 
 instance Hashable GetBasePathMapping
 
+instance NFData GetBasePathMapping
+
 instance ToHeaders GetBasePathMapping where
         toHeaders
           = const
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
@@ -112,6 +112,8 @@
 
 instance Hashable GetBasePathMappings
 
+instance NFData GetBasePathMappings
+
 instance ToHeaders GetBasePathMappings where
         toHeaders
           = const
@@ -169,3 +171,5 @@
 -- | The response status code.
 gbpmrsResponseStatus :: Lens' GetBasePathMappingsResponse Int
 gbpmrsResponseStatus = lens _gbpmrsResponseStatus (\ s a -> s{_gbpmrsResponseStatus = a});
+
+instance NFData GetBasePathMappingsResponse
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Gets information about the current < ClientCertificate> resource.
 module Network.AWS.APIGateway.GetClientCertificate
     (
     -- * Creating a Request
@@ -45,7 +45,10 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'getClientCertificate' smart constructor.
+-- | A request to get information about the current < ClientCertificate>
+-- resource.
+--
+-- /See:/ 'getClientCertificate' smart constructor.
 newtype GetClientCertificate = GetClientCertificate'
     { _gccClientCertificateId :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -63,7 +66,7 @@
     { _gccClientCertificateId = pClientCertificateId_
     }
 
--- | Undocumented member.
+-- | The identifier of the < ClientCertificate> resource to be described.
 gccClientCertificateId :: Lens' GetClientCertificate Text
 gccClientCertificateId = lens _gccClientCertificateId (\ s a -> s{_gccClientCertificateId = a});
 
@@ -73,6 +76,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable GetClientCertificate
+
+instance NFData GetClientCertificate
 
 instance ToHeaders GetClientCertificate where
         toHeaders
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Gets a collection of < ClientCertificate> resources.
 --
 -- This operation returns paginated results.
 module Network.AWS.APIGateway.GetClientCertificates
@@ -47,7 +47,10 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'getClientCertificates' smart constructor.
+-- | A request to get information about a collection of < ClientCertificate>
+-- resources.
+--
+-- /See:/ 'getClientCertificates' smart constructor.
 data GetClientCertificates = GetClientCertificates'
     { _gccLimit    :: !(Maybe Int)
     , _gccPosition :: !(Maybe Text)
@@ -68,11 +71,14 @@
     , _gccPosition = Nothing
     }
 
--- | Undocumented member.
+-- | The maximum number of < ClientCertificate> resources in the collection
+-- to get information about. The default limit is 25. It should be an
+-- integer between 1 - 500.
 gccLimit :: Lens' GetClientCertificates (Maybe Int)
 gccLimit = lens _gccLimit (\ s a -> s{_gccLimit = a});
 
--- | Undocumented member.
+-- | The position of the current < ClientCertificate> resource in the
+-- collection to get information about.
 gccPosition :: Lens' GetClientCertificates (Maybe Text)
 gccPosition = lens _gccPosition (\ s a -> s{_gccPosition = a});
 
@@ -96,6 +102,8 @@
 
 instance Hashable GetClientCertificates
 
+instance NFData GetClientCertificates
+
 instance ToHeaders GetClientCertificates where
         toHeaders
           = const
@@ -110,7 +118,9 @@
           = mconcat
               ["limit" =: _gccLimit, "position" =: _gccPosition]
 
--- | /See:/ 'getClientCertificatesResponse' smart constructor.
+-- | Represents a collection of < ClientCertificate> resources.
+--
+-- /See:/ 'getClientCertificatesResponse' smart constructor.
 data GetClientCertificatesResponse = GetClientCertificatesResponse'
     { _gccrsItems          :: !(Maybe [ClientCertificate])
     , _gccrsPosition       :: !(Maybe Text)
@@ -136,7 +146,8 @@
     , _gccrsResponseStatus = pResponseStatus_
     }
 
--- | Undocumented member.
+-- | The current page of any < ClientCertificate> resources in the collection
+-- of < ClientCertificate> resources.
 gccrsItems :: Lens' GetClientCertificatesResponse [ClientCertificate]
 gccrsItems = lens _gccrsItems (\ s a -> s{_gccrsItems = a}) . _Default . _Coerce;
 
@@ -147,3 +158,5 @@
 -- | The response status code.
 gccrsResponseStatus :: Lens' GetClientCertificatesResponse Int
 gccrsResponseStatus = lens _gccrsResponseStatus (\ s a -> s{_gccrsResponseStatus = a});
+
+instance NFData GetClientCertificatesResponse
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
@@ -87,6 +87,8 @@
 
 instance Hashable GetDeployment
 
+instance NFData GetDeployment
+
 instance ToHeaders GetDeployment where
         toHeaders
           = const
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
@@ -112,6 +112,8 @@
 
 instance Hashable GetDeployments
 
+instance NFData GetDeployments
+
 instance ToHeaders GetDeployments where
         toHeaders
           = const
@@ -171,3 +173,5 @@
 -- | The response status code.
 gdrsResponseStatus :: Lens' GetDeploymentsResponse Int
 gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});
+
+instance NFData GetDeploymentsResponse
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
@@ -76,6 +76,8 @@
 
 instance Hashable GetDomainName
 
+instance NFData GetDomainName
+
 instance ToHeaders GetDomainName where
         toHeaders
           = const
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
@@ -99,6 +99,8 @@
 
 instance Hashable GetDomainNames
 
+instance NFData GetDomainNames
+
 instance ToHeaders GetDomainNames where
         toHeaders
           = const
@@ -153,3 +155,5 @@
 -- | The response status code.
 gdnrsResponseStatus :: Lens' GetDomainNamesResponse Int
 gdnrsResponseStatus = lens _gdnrsResponseStatus (\ s a -> s{_gdnrsResponseStatus = a});
+
+instance NFData GetDomainNamesResponse
diff --git a/gen/Network/AWS/APIGateway/GetExport.hs b/gen/Network/AWS/APIGateway/GetExport.hs
--- a/gen/Network/AWS/APIGateway/GetExport.hs
+++ b/gen/Network/AWS/APIGateway/GetExport.hs
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Exports a deployed version of a < RestApi> in a specified format.
 module Network.AWS.APIGateway.GetExport
     (
     -- * Creating a Request
@@ -48,7 +48,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'getExport' smart constructor.
+-- | Request a new export of a < RestApi> for a particular < Stage>.
+--
+-- /See:/ 'getExport' smart constructor.
 data GetExport = GetExport'
     { _geParameters :: !(Maybe (Map Text Text))
     , _geAccepts    :: !(Maybe Text)
@@ -84,23 +86,32 @@
     , _geExportType = pExportType_
     }
 
--- | Undocumented member.
+-- | A key-value map of query string parameters that specify properties of
+-- the export, depending on the requested exportType. For exportType
+-- \'swagger\', any combination of the following parameters are supported:
+-- \'integrations\' will export x-amazon-apigateway-integration extensions
+-- \'authorizers\' will export x-amazon-apigateway-authorizer extensions
+-- \'postman\' will export with Postman extensions, allowing for import to
+-- the Postman tool
 geParameters :: Lens' GetExport (HashMap Text Text)
 geParameters = lens _geParameters (\ s a -> s{_geParameters = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | The content-type of the export, for example \'application\/json\'.
+-- Currently \'application\/json\' and \'application\/yaml\' are supported
+-- for exportType \'swagger\'. Should be specifed in the \'Accept\' header
+-- for direct API requests.
 geAccepts :: Lens' GetExport (Maybe Text)
 geAccepts = lens _geAccepts (\ s a -> s{_geAccepts = a});
 
--- | Undocumented member.
+-- | The identifier of the < RestApi> to be exported.
 geRestAPIId :: Lens' GetExport Text
 geRestAPIId = lens _geRestAPIId (\ s a -> s{_geRestAPIId = a});
 
--- | Undocumented member.
+-- | The name of the < Stage> that will be exported.
 geStageName :: Lens' GetExport Text
 geStageName = lens _geStageName (\ s a -> s{_geStageName = a});
 
--- | Undocumented member.
+-- | The type of export. Currently only \'swagger\' is supported.
 geExportType :: Lens' GetExport Text
 geExportType = lens _geExportType (\ s a -> s{_geExportType = a});
 
@@ -117,6 +128,8 @@
 
 instance Hashable GetExport
 
+instance NFData GetExport
+
 instance ToHeaders GetExport where
         toHeaders GetExport'{..}
           = mconcat
@@ -136,7 +149,10 @@
                  toQuery
                    (toQueryMap "entry" "key" "value" <$> _geParameters)]
 
--- | /See:/ 'getExportResponse' smart constructor.
+-- | The binary blob response to < GetExport>, which contains the generated
+-- SDK.
+--
+-- /See:/ 'getExportResponse' smart constructor.
 data GetExportResponse = GetExportResponse'
     { _gersBody               :: !(Maybe (HashMap Text Value))
     , _gersContentDisposition :: !(Maybe Text)
@@ -166,18 +182,21 @@
     , _gersResponseStatus = pResponseStatus_
     }
 
--- | Undocumented member.
+-- | The binary blob response to < GetExport>, which contains the export.
 gersBody :: Lens' GetExportResponse (Maybe (HashMap Text Value))
 gersBody = lens _gersBody (\ s a -> s{_gersBody = a});
 
--- | Undocumented member.
+-- | The content-disposition header value in the HTTP reseponse.
 gersContentDisposition :: Lens' GetExportResponse (Maybe Text)
 gersContentDisposition = lens _gersContentDisposition (\ s a -> s{_gersContentDisposition = a});
 
--- | Undocumented member.
+-- | The content-type header value in the HTTP response. This will correspond
+-- to a valid \'accept\' type in the request.
 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});
+
+instance NFData GetExportResponse
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
@@ -100,6 +100,8 @@
 
 instance Hashable GetIntegration
 
+instance NFData GetIntegration
+
 instance ToHeaders GetIntegration where
         toHeaders
           = const
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
@@ -105,6 +105,8 @@
 
 instance Hashable GetIntegrationResponse
 
+instance NFData GetIntegrationResponse
+
 instance ToHeaders GetIntegrationResponse where
         toHeaders
           = const
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
@@ -99,6 +99,8 @@
 
 instance Hashable GetMethod
 
+instance NFData GetMethod
+
 instance ToHeaders GetMethod where
         toHeaders
           = const
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
@@ -104,6 +104,8 @@
 
 instance Hashable GetMethodResponse
 
+instance NFData GetMethodResponse
+
 instance ToHeaders GetMethodResponse where
         toHeaders
           = const
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
@@ -97,6 +97,8 @@
 
 instance Hashable GetModel
 
+instance NFData GetModel
+
 instance ToHeaders GetModel where
         toHeaders
           = const
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
@@ -89,6 +89,8 @@
 
 instance Hashable GetModelTemplate
 
+instance NFData GetModelTemplate
+
 instance ToHeaders GetModelTemplate where
         toHeaders
           = const
@@ -137,3 +139,5 @@
 -- | The response status code.
 gmtrsResponseStatus :: Lens' GetModelTemplateResponse Int
 gmtrsResponseStatus = lens _gmtrsResponseStatus (\ s a -> s{_gmtrsResponseStatus = a});
+
+instance NFData GetModelTemplateResponse
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
@@ -109,6 +109,8 @@
 
 instance Hashable GetModels
 
+instance NFData GetModels
+
 instance ToHeaders GetModels where
         toHeaders
           = const
@@ -164,3 +166,5 @@
 -- | The response status code.
 gmrsResponseStatus :: Lens' GetModelsResponse Int
 gmrsResponseStatus = lens _gmrsResponseStatus (\ s a -> s{_gmrsResponseStatus = a});
+
+instance NFData GetModelsResponse
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
@@ -86,6 +86,8 @@
 
 instance Hashable GetResource
 
+instance NFData GetResource
+
 instance ToHeaders GetResource where
         toHeaders
           = const
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
@@ -110,6 +110,8 @@
 
 instance Hashable GetResources
 
+instance NFData GetResources
+
 instance ToHeaders GetResources where
         toHeaders
           = const
@@ -165,3 +167,5 @@
 -- | The response status code.
 grrsResponseStatus :: Lens' GetResourcesResponse Int
 grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a});
+
+instance NFData GetResourcesResponse
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
@@ -31,6 +31,7 @@
     , restAPI
     , RestAPI
     -- * Response Lenses
+    , raWarnings
     , raCreatedDate
     , raName
     , raId
@@ -44,7 +45,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to list an existing < RestApi> defined for your collection.
+-- | The GET request to list an existing < RestApi> defined for your
+-- collection.
 --
 -- /See:/ 'getRestAPI' smart constructor.
 newtype GetRestAPI = GetRestAPI'
@@ -74,6 +76,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable GetRestAPI
+
+instance NFData GetRestAPI
 
 instance ToHeaders GetRestAPI where
         toHeaders
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
@@ -47,7 +47,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Request to list existing < RestApis> defined for your collection.
+-- | The GET request to list existing < RestApis> defined for your
+-- collection.
 --
 -- /See:/ 'getRestAPIs' smart constructor.
 data GetRestAPIs = GetRestAPIs'
@@ -100,6 +101,8 @@
 
 instance Hashable GetRestAPIs
 
+instance NFData GetRestAPIs
+
 instance ToHeaders GetRestAPIs where
         toHeaders
           = const
@@ -155,3 +158,5 @@
 -- | The response status code.
 grarsResponseStatus :: Lens' GetRestAPIsResponse Int
 grarsResponseStatus = lens _grarsResponseStatus (\ s a -> s{_grarsResponseStatus = a});
+
+instance NFData GetRestAPIsResponse
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Generates a client SDK for a < RestApi> and < Stage>.
 module Network.AWS.APIGateway.GetSDK
     (
     -- * Creating a Request
@@ -47,7 +47,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'getSDK' smart constructor.
+-- | Request a new generated client SDK for a < RestApi> and < Stage>.
+--
+-- /See:/ 'getSDK' smart constructor.
 data GetSDK = GetSDK'
     { _gsdkParameters :: !(Maybe (Map Text Text))
     , _gsdkRestAPIId  :: !Text
@@ -79,19 +81,24 @@
     , _gsdkSdkType = pSdkType_
     }
 
--- | Undocumented member.
+-- | A key-value map of query string parameters that specify properties of
+-- the SDK, depending on the requested sdkType. For sdkType \'objectivec\',
+-- a parameter named \"classPrefix\" is required. For sdkType \'android\',
+-- parameters named \"groupId\", \"artifactId\", \"artifactVersion\", and
+-- \"invokerPackage\" are required.
 gsdkParameters :: Lens' GetSDK (HashMap Text Text)
 gsdkParameters = lens _gsdkParameters (\ s a -> s{_gsdkParameters = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | The identifier of the < RestApi> that the SDK will use.
 gsdkRestAPIId :: Lens' GetSDK Text
 gsdkRestAPIId = lens _gsdkRestAPIId (\ s a -> s{_gsdkRestAPIId = a});
 
--- | Undocumented member.
+-- | The name of the < Stage> that the SDK will use.
 gsdkStageName :: Lens' GetSDK Text
 gsdkStageName = lens _gsdkStageName (\ s a -> s{_gsdkStageName = a});
 
--- | Undocumented member.
+-- | The language for the generated SDK. Currently javascript, android, and
+-- objectivec (for iOS) are supported.
 gsdkSdkType :: Lens' GetSDK Text
 gsdkSdkType = lens _gsdkSdkType (\ s a -> s{_gsdkSdkType = a});
 
@@ -108,6 +115,8 @@
 
 instance Hashable GetSDK
 
+instance NFData GetSDK
+
 instance ToHeaders GetSDK where
         toHeaders
           = const
@@ -128,7 +137,9 @@
                    (toQueryMap "entry" "key" "value" <$>
                       _gsdkParameters)]
 
--- | /See:/ 'getSDKResponse' smart constructor.
+-- | The binary blob response to < GetSdk>, which contains the generated SDK.
+--
+-- /See:/ 'getSDKResponse' smart constructor.
 data GetSDKResponse = GetSDKResponse'
     { _gsdkrsBody               :: !(Maybe (HashMap Text Value))
     , _gsdkrsContentDisposition :: !(Maybe Text)
@@ -158,18 +169,20 @@
     , _gsdkrsResponseStatus = pResponseStatus_
     }
 
--- | Undocumented member.
+-- | The binary blob response to < GetSdk>, which contains the generated SDK.
 gsdkrsBody :: Lens' GetSDKResponse (Maybe (HashMap Text Value))
 gsdkrsBody = lens _gsdkrsBody (\ s a -> s{_gsdkrsBody = a});
 
--- | Undocumented member.
+-- | The content-disposition header value in the HTTP reseponse.
 gsdkrsContentDisposition :: Lens' GetSDKResponse (Maybe Text)
 gsdkrsContentDisposition = lens _gsdkrsContentDisposition (\ s a -> s{_gsdkrsContentDisposition = a});
 
--- | Undocumented member.
+-- | The content-type header value in the HTTP response.
 gsdkrsContentType :: Lens' GetSDKResponse (Maybe Text)
 gsdkrsContentType = lens _gsdkrsContentType (\ s a -> s{_gsdkrsContentType = a});
 
 -- | The response status code.
 gsdkrsResponseStatus :: Lens' GetSDKResponse Int
 gsdkrsResponseStatus = lens _gsdkrsResponseStatus (\ s a -> s{_gsdkrsResponseStatus = a});
+
+instance NFData GetSDKResponse
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
@@ -94,6 +94,8 @@
 
 instance Hashable GetStage
 
+instance NFData GetStage
+
 instance ToHeaders GetStage where
         toHeaders
           = const
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
@@ -87,6 +87,8 @@
 
 instance Hashable GetStages
 
+instance NFData GetStages
+
 instance ToHeaders GetStages where
         toHeaders
           = const
@@ -134,3 +136,5 @@
 -- | The response status code.
 gsrsResponseStatus :: Lens' GetStagesResponse Int
 gsrsResponseStatus = lens _gsrsResponseStatus (\ s a -> s{_gsrsResponseStatus = a});
+
+instance NFData GetStagesResponse
diff --git a/gen/Network/AWS/APIGateway/ImportRestAPI.hs b/gen/Network/AWS/APIGateway/ImportRestAPI.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/ImportRestAPI.hs
@@ -0,0 +1,124 @@
+{-# 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.ImportRestAPI
+-- 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)
+--
+-- A feature of the Amazon API Gateway control service for creating a new
+-- API from an external API definition file.
+module Network.AWS.APIGateway.ImportRestAPI
+    (
+    -- * Creating a Request
+      importRestAPI
+    , ImportRestAPI
+    -- * Request Lenses
+    , iraFailOnWarnings
+    , iraParameters
+    , iraBody
+
+    -- * Destructuring the Response
+    , restAPI
+    , RestAPI
+    -- * Response Lenses
+    , raWarnings
+    , raCreatedDate
+    , raName
+    , raId
+    , raDescription
+    ) 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
+
+-- | A POST request to import an API to Amazon API Gateway using an input of
+-- an API definition file.
+--
+-- /See:/ 'importRestAPI' smart constructor.
+data ImportRestAPI = ImportRestAPI'
+    { _iraFailOnWarnings :: !(Maybe Bool)
+    , _iraParameters     :: !(Maybe (Map Text Text))
+    , _iraBody           :: !(HashMap Text Value)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ImportRestAPI' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'iraFailOnWarnings'
+--
+-- * 'iraParameters'
+--
+-- * 'iraBody'
+importRestAPI
+    :: HashMap Text Value -- ^ 'iraBody'
+    -> ImportRestAPI
+importRestAPI pBody_ =
+    ImportRestAPI'
+    { _iraFailOnWarnings = Nothing
+    , _iraParameters = Nothing
+    , _iraBody = pBody_
+    }
+
+-- | A query parameter to indicate whether to rollback the API creation
+-- ('true') or not ('false') when a warning is encountered. The default
+-- value is 'false'.
+iraFailOnWarnings :: Lens' ImportRestAPI (Maybe Bool)
+iraFailOnWarnings = lens _iraFailOnWarnings (\ s a -> s{_iraFailOnWarnings = a});
+
+-- | Custom header parameters as part of the request.
+iraParameters :: Lens' ImportRestAPI (HashMap Text Text)
+iraParameters = lens _iraParameters (\ s a -> s{_iraParameters = a}) . _Default . _Map;
+
+-- | The POST request body containing external API definitions. Currently,
+-- only Swagger definition JSON files are supported.
+iraBody :: Lens' ImportRestAPI (HashMap Text Value)
+iraBody = lens _iraBody (\ s a -> s{_iraBody = a});
+
+instance AWSRequest ImportRestAPI where
+        type Rs ImportRestAPI = RestAPI
+        request = postBody apiGateway
+        response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable ImportRestAPI
+
+instance NFData ImportRestAPI
+
+instance ToBody ImportRestAPI where
+        toBody = toBody . _iraBody
+
+instance ToHeaders ImportRestAPI where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToPath ImportRestAPI where
+        toPath = const "/restapis"
+
+instance ToQuery ImportRestAPI where
+        toQuery ImportRestAPI'{..}
+          = mconcat
+              ["failonwarnings" =: _iraFailOnWarnings,
+               "parameters" =:
+                 toQuery
+                   (toQueryMap "entry" "key" "value" <$>
+                      _iraParameters),
+               "mode=import"]
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
@@ -145,7 +145,10 @@
 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.
+-- When the integration type is HTTP or AWS, this field is required. For
+-- integration with Lambda as an AWS service proxy, this value is of the
+-- \'arn:aws:apigateway:\<region>:lambda:path\/2015-03-31\/functions\/\<functionArn>\/invocations\'
+-- format.
 pUri :: Lens' PutIntegration (Maybe Text)
 pUri = lens _pUri (\ s a -> s{_pUri = a});
 
@@ -184,6 +187,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable PutIntegration
+
+instance NFData PutIntegration
 
 instance ToHeaders PutIntegration where
         toHeaders
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
@@ -139,6 +139,8 @@
 
 instance Hashable PutIntegrationResponse
 
+instance NFData PutIntegrationResponse
+
 instance ToHeaders PutIntegrationResponse where
         toHeaders
           = const
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
@@ -156,6 +156,8 @@
 
 instance Hashable PutMethod
 
+instance NFData PutMethod
+
 instance ToHeaders PutMethod where
         toHeaders
           = const
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
@@ -131,6 +131,8 @@
 
 instance Hashable PutMethodResponse
 
+instance NFData PutMethodResponse
+
 instance ToHeaders PutMethodResponse where
         toHeaders
           = const
diff --git a/gen/Network/AWS/APIGateway/PutRestAPI.hs b/gen/Network/AWS/APIGateway/PutRestAPI.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/APIGateway/PutRestAPI.hs
@@ -0,0 +1,147 @@
+{-# 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.PutRestAPI
+-- 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)
+--
+-- A feature of the Amazon API Gateway control service for updating an
+-- existing API with an input of external API definitions. The update can
+-- take the form of merging the supplied definition into the existing API
+-- or overwriting the existing API.
+module Network.AWS.APIGateway.PutRestAPI
+    (
+    -- * Creating a Request
+      putRestAPI
+    , PutRestAPI
+    -- * Request Lenses
+    , praMode
+    , praFailOnWarnings
+    , praParameters
+    , praRestAPIId
+    , praBody
+
+    -- * Destructuring the Response
+    , restAPI
+    , RestAPI
+    -- * Response Lenses
+    , raWarnings
+    , raCreatedDate
+    , raName
+    , raId
+    , raDescription
+    ) 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
+
+-- | A PUT request to update an existing API, with external API definitions
+-- specified as the request body.
+--
+-- /See:/ 'putRestAPI' smart constructor.
+data PutRestAPI = PutRestAPI'
+    { _praMode           :: !(Maybe PutMode)
+    , _praFailOnWarnings :: !(Maybe Bool)
+    , _praParameters     :: !(Maybe (Map Text Text))
+    , _praRestAPIId      :: !Text
+    , _praBody           :: !(HashMap Text Value)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'PutRestAPI' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'praMode'
+--
+-- * 'praFailOnWarnings'
+--
+-- * 'praParameters'
+--
+-- * 'praRestAPIId'
+--
+-- * 'praBody'
+putRestAPI
+    :: Text -- ^ 'praRestAPIId'
+    -> HashMap Text Value -- ^ 'praBody'
+    -> PutRestAPI
+putRestAPI pRestAPIId_ pBody_ =
+    PutRestAPI'
+    { _praMode = Nothing
+    , _praFailOnWarnings = Nothing
+    , _praParameters = Nothing
+    , _praRestAPIId = pRestAPIId_
+    , _praBody = pBody_
+    }
+
+-- | The 'mode' query parameter to specify the update mode. Valid values are
+-- \"merge\" and \"overwrite\". By default, the update mode is \"merge\".
+praMode :: Lens' PutRestAPI (Maybe PutMode)
+praMode = lens _praMode (\ s a -> s{_praMode = a});
+
+-- | A query parameter to indicate whether to rollback the API update
+-- ('true') or not ('false') when a warning is encountered. The default
+-- value is 'false'.
+praFailOnWarnings :: Lens' PutRestAPI (Maybe Bool)
+praFailOnWarnings = lens _praFailOnWarnings (\ s a -> s{_praFailOnWarnings = a});
+
+-- | Custom headers supplied as part of the request.
+praParameters :: Lens' PutRestAPI (HashMap Text Text)
+praParameters = lens _praParameters (\ s a -> s{_praParameters = a}) . _Default . _Map;
+
+-- | The identifier of the < RestApi> to be updated.
+praRestAPIId :: Lens' PutRestAPI Text
+praRestAPIId = lens _praRestAPIId (\ s a -> s{_praRestAPIId = a});
+
+-- | The PUT request body containing external API definitions. Currently,
+-- only Swagger definition JSON files are supported.
+praBody :: Lens' PutRestAPI (HashMap Text Value)
+praBody = lens _praBody (\ s a -> s{_praBody = a});
+
+instance AWSRequest PutRestAPI where
+        type Rs PutRestAPI = RestAPI
+        request = putBody apiGateway
+        response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable PutRestAPI
+
+instance NFData PutRestAPI
+
+instance ToBody PutRestAPI where
+        toBody = toBody . _praBody
+
+instance ToHeaders PutRestAPI where
+        toHeaders
+          = const
+              (mconcat
+                 ["Accept" =# ("application/json" :: ByteString)])
+
+instance ToPath PutRestAPI where
+        toPath PutRestAPI'{..}
+          = mconcat ["/restapis/", toBS _praRestAPIId]
+
+instance ToQuery PutRestAPI where
+        toQuery PutRestAPI'{..}
+          = mconcat
+              ["mode" =: _praMode,
+               "failonwarnings" =: _praFailOnWarnings,
+               "parameters" =:
+                 toQuery
+                   (toQueryMap "entry" "key" "value" <$>
+                      _praParameters)]
diff --git a/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs b/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs
--- a/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs
+++ b/gen/Network/AWS/APIGateway/TestInvokeAuthorizer.hs
@@ -18,7 +18,8 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Simulate the execution of an < Authorizer> in your < RestApi> with
+-- headers, parameters, and an incoming request body.
 module Network.AWS.APIGateway.TestInvokeAuthorizer
     (
     -- * Creating a Request
@@ -53,7 +54,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'testInvokeAuthorizer' smart constructor.
+-- | Make a request to simulate the execution of an < Authorizer>.
+--
+-- /See:/ 'testInvokeAuthorizer' smart constructor.
 data TestInvokeAuthorizer = TestInvokeAuthorizer'
     { _tiaPathWithQueryString :: !(Maybe Text)
     , _tiaBody                :: !(Maybe Text)
@@ -96,31 +99,36 @@
     , _tiaAuthorizerId = pAuthorizerId_
     }
 
--- | Undocumented member.
+-- | [Optional] The URI path, including query string, of the simulated
+-- invocation request. Use this to specify path parameters and query string
+-- parameters.
 tiaPathWithQueryString :: Lens' TestInvokeAuthorizer (Maybe Text)
 tiaPathWithQueryString = lens _tiaPathWithQueryString (\ s a -> s{_tiaPathWithQueryString = a});
 
--- | Undocumented member.
+-- | [Optional] The simulated request body of an incoming invocation request.
 tiaBody :: Lens' TestInvokeAuthorizer (Maybe Text)
 tiaBody = lens _tiaBody (\ s a -> s{_tiaBody = a});
 
--- | Undocumented member.
+-- | [Optional] A key-value map of additional context variables.
 tiaAdditionalContext :: Lens' TestInvokeAuthorizer (HashMap Text Text)
 tiaAdditionalContext = lens _tiaAdditionalContext (\ s a -> s{_tiaAdditionalContext = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | A key-value map of stage variables to simulate an invocation on a
+-- deployed < Stage>.
 tiaStageVariables :: Lens' TestInvokeAuthorizer (HashMap Text Text)
 tiaStageVariables = lens _tiaStageVariables (\ s a -> s{_tiaStageVariables = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | [Required] A key-value map of headers to simulate an incoming invocation
+-- request. This is where the incoming authorization token, or identity
+-- source, should be specified.
 tiaHeaders :: Lens' TestInvokeAuthorizer (HashMap Text Text)
 tiaHeaders = lens _tiaHeaders (\ s a -> s{_tiaHeaders = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | Specifies a test invoke authorizer request\'s < RestApi> identifier.
 tiaRestAPIId :: Lens' TestInvokeAuthorizer Text
 tiaRestAPIId = lens _tiaRestAPIId (\ s a -> s{_tiaRestAPIId = a});
 
--- | Undocumented member.
+-- | Specifies a test invoke authorizer request\'s < Authorizer> ID.
 tiaAuthorizerId :: Lens' TestInvokeAuthorizer Text
 tiaAuthorizerId = lens _tiaAuthorizerId (\ s a -> s{_tiaAuthorizerId = a});
 
@@ -141,6 +149,8 @@
 
 instance Hashable TestInvokeAuthorizer
 
+instance NFData TestInvokeAuthorizer
+
 instance ToHeaders TestInvokeAuthorizer where
         toHeaders
           = const
@@ -240,3 +250,5 @@
 -- | The response status code.
 tiarsResponseStatus :: Lens' TestInvokeAuthorizerResponse Int
 tiarsResponseStatus = lens _tiarsResponseStatus (\ s a -> s{_tiarsResponseStatus = a});
+
+instance NFData TestInvokeAuthorizerResponse
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
@@ -18,7 +18,8 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Simulate the execution of a < Method> in your < RestApi> with headers,
+-- parameters, and an incoming request body.
 module Network.AWS.APIGateway.TestInvokeMethod
     (
     -- * Creating a Request
@@ -53,7 +54,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'testInvokeMethod' smart constructor.
+-- | Make a request to simulate the execution of a < Method>.
+--
+-- /See:/ 'testInvokeMethod' smart constructor.
 data TestInvokeMethod = TestInvokeMethod'
     { _timPathWithQueryString :: !(Maybe Text)
     , _timBody                :: !(Maybe Text)
@@ -101,35 +104,40 @@
     , _timHttpMethod = pHttpMethod_
     }
 
--- | Undocumented member.
+-- | The URI path, including query string, of the simulated invocation
+-- request. Use this to specify path parameters and query string
+-- parameters.
 timPathWithQueryString :: Lens' TestInvokeMethod (Maybe Text)
 timPathWithQueryString = lens _timPathWithQueryString (\ s a -> s{_timPathWithQueryString = a});
 
--- | Undocumented member.
+-- | The simulated request body of an incoming invocation request.
 timBody :: Lens' TestInvokeMethod (Maybe Text)
 timBody = lens _timBody (\ s a -> s{_timBody = a});
 
--- | Undocumented member.
+-- | A < ClientCertificate> identifier to use in the test invocation. API
+-- Gateway will use use the certificate when making the HTTPS request to
+-- the defined backend endpoint.
 timClientCertificateId :: Lens' TestInvokeMethod (Maybe Text)
 timClientCertificateId = lens _timClientCertificateId (\ s a -> s{_timClientCertificateId = a});
 
--- | Undocumented member.
+-- | A key-value map of stage variables to simulate an invocation on a
+-- deployed < Stage>.
 timStageVariables :: Lens' TestInvokeMethod (HashMap Text Text)
 timStageVariables = lens _timStageVariables (\ s a -> s{_timStageVariables = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | A key-value map of headers to simulate an incoming invocation request.
 timHeaders :: Lens' TestInvokeMethod (HashMap Text Text)
 timHeaders = lens _timHeaders (\ s a -> s{_timHeaders = a}) . _Default . _Map;
 
--- | Undocumented member.
+-- | Specifies a test invoke method request\'s API identifier.
 timRestAPIId :: Lens' TestInvokeMethod Text
 timRestAPIId = lens _timRestAPIId (\ s a -> s{_timRestAPIId = a});
 
--- | Undocumented member.
+-- | Specifies a test invoke method request\'s resource ID.
 timResourceId :: Lens' TestInvokeMethod Text
 timResourceId = lens _timResourceId (\ s a -> s{_timResourceId = a});
 
--- | Undocumented member.
+-- | Specifies a test invoke method request\'s HTTP method.
 timHttpMethod :: Lens' TestInvokeMethod Text
 timHttpMethod = lens _timHttpMethod (\ s a -> s{_timHttpMethod = a});
 
@@ -147,6 +155,8 @@
 
 instance Hashable TestInvokeMethod
 
+instance NFData TestInvokeMethod
+
 instance ToHeaders TestInvokeMethod where
         toHeaders
           = const
@@ -238,3 +248,5 @@
 -- | The response status code.
 timrsResponseStatus :: Lens' TestInvokeMethodResponse Int
 timrsResponseStatus = lens _timrsResponseStatus (\ s a -> s{_timrsResponseStatus = a});
+
+instance NFData TestInvokeMethodResponse
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
@@ -39,6 +39,9 @@
     -- * Op
     , Op (..)
 
+    -- * PutMode
+    , PutMode (..)
+
     -- * UnauthorizedCacheControlHeaderStrategy
     , UnauthorizedCacheControlHeaderStrategy (..)
 
@@ -67,6 +70,7 @@
     , aName
     , aId
     , aAuthorizerResultTtlInSeconds
+    , aAuthType
     , aType
     , aIdentitySource
     , aAuthorizerCredentials
@@ -192,6 +196,7 @@
     -- * RestAPI
     , RestAPI
     , restAPI
+    , raWarnings
     , raCreatedDate
     , raName
     , raId
@@ -258,6 +263,8 @@
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 504) e = Just "gateway_timeout"
+      | has (hasStatus 502) e = Just "bad_gateway"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasStatus 500) e = Just "general_server_error"
       | has (hasStatus 509) e = Just "limit_exceeded"
diff --git a/gen/Network/AWS/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
@@ -111,6 +111,8 @@
 
 instance Hashable APIKey
 
+instance NFData APIKey
+
 -- | Represents an AWS account that is associated with Amazon API Gateway.
 --
 -- /See:/ 'account' smart constructor.
@@ -154,6 +156,8 @@
 
 instance Hashable Account
 
+instance NFData Account
+
 -- | Represents an authorization layer for methods. If enabled on a method,
 -- API Gateway will activate the authorizer when a client calls the method.
 --
@@ -164,6 +168,7 @@
     , _aName                         :: !(Maybe Text)
     , _aId                           :: !(Maybe Text)
     , _aAuthorizerResultTtlInSeconds :: !(Maybe Int)
+    , _aAuthType                     :: !(Maybe Text)
     , _aType                         :: !(Maybe AuthorizerType)
     , _aIdentitySource               :: !(Maybe Text)
     , _aAuthorizerCredentials        :: !(Maybe Text)
@@ -183,6 +188,8 @@
 --
 -- * 'aAuthorizerResultTtlInSeconds'
 --
+-- * 'aAuthType'
+--
 -- * 'aType'
 --
 -- * 'aIdentitySource'
@@ -197,6 +204,7 @@
     , _aName = Nothing
     , _aId = Nothing
     , _aAuthorizerResultTtlInSeconds = Nothing
+    , _aAuthType = Nothing
     , _aType = Nothing
     , _aIdentitySource = Nothing
     , _aAuthorizerCredentials = Nothing
@@ -236,6 +244,11 @@
 aAuthorizerResultTtlInSeconds :: Lens' Authorizer (Maybe Int)
 aAuthorizerResultTtlInSeconds = lens _aAuthorizerResultTtlInSeconds (\ s a -> s{_aAuthorizerResultTtlInSeconds = a});
 
+-- | Optional customer-defined field, used in Swagger imports\/exports. Has
+-- no functional impact.
+aAuthType :: Lens' Authorizer (Maybe Text)
+aAuthType = lens _aAuthType (\ s a -> s{_aAuthType = a});
+
 -- | [Required] The type of the authorizer. Currently, the only valid type is
 -- TOKEN.
 aType :: Lens' Authorizer (Maybe AuthorizerType)
@@ -267,12 +280,15 @@
                      <*> (x .:? "name")
                      <*> (x .:? "id")
                      <*> (x .:? "authorizerResultTtlInSeconds")
+                     <*> (x .:? "authType")
                      <*> (x .:? "type")
                      <*> (x .:? "identitySource")
                      <*> (x .:? "authorizerCredentials"))
 
 instance Hashable Authorizer
 
+instance NFData Authorizer
+
 -- | Represents the base path that callers of the API that must provide as
 -- part of the URL after the domain name.
 --
@@ -324,7 +340,12 @@
 
 instance Hashable BasePathMapping
 
--- | /See:/ 'clientCertificate' smart constructor.
+instance NFData BasePathMapping
+
+-- | Represents a Client Certificate used to configure client-side SSL
+-- authentication while sending requests to the integration endpoint.
+--
+-- /See:/ 'clientCertificate' smart constructor.
 data ClientCertificate = ClientCertificate'
     { _ccPemEncodedCertificate :: !(Maybe Text)
     , _ccClientCertificateId   :: !(Maybe Text)
@@ -357,23 +378,26 @@
     , _ccDescription = Nothing
     }
 
--- | Undocumented member.
+-- | The PEM-encoded public key of the Client Certificate, that can be used
+-- to configure certificate authentication in the integration endpoint .
 ccPemEncodedCertificate :: Lens' ClientCertificate (Maybe Text)
 ccPemEncodedCertificate = lens _ccPemEncodedCertificate (\ s a -> s{_ccPemEncodedCertificate = a});
 
--- | Undocumented member.
+-- | The identifier of the Client Certificate.
 ccClientCertificateId :: Lens' ClientCertificate (Maybe Text)
 ccClientCertificateId = lens _ccClientCertificateId (\ s a -> s{_ccClientCertificateId = a});
 
--- | Undocumented member.
+-- | The date when the Client Certificate was created, in
+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.
 ccCreatedDate :: Lens' ClientCertificate (Maybe UTCTime)
 ccCreatedDate = lens _ccCreatedDate (\ s a -> s{_ccCreatedDate = a}) . mapping _Time;
 
--- | Undocumented member.
+-- | The date when the Client Certificate will expire, in
+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.
 ccExpirationDate :: Lens' ClientCertificate (Maybe UTCTime)
 ccExpirationDate = lens _ccExpirationDate (\ s a -> s{_ccExpirationDate = a}) . mapping _Time;
 
--- | Undocumented member.
+-- | The description of the Client Certificate.
 ccDescription :: Lens' ClientCertificate (Maybe Text)
 ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a});
 
@@ -390,6 +414,8 @@
 
 instance Hashable ClientCertificate
 
+instance NFData 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.
@@ -452,6 +478,8 @@
 
 instance Hashable Deployment
 
+instance NFData Deployment
+
 -- | Represents a domain name that is contained in a simpler, more intuitive
 -- URL that can be called.
 --
@@ -514,6 +542,8 @@
 
 instance Hashable DomainName
 
+instance NFData DomainName
+
 -- | Represents a HTTP, AWS, or Mock integration.
 --
 -- /See:/ 'integration' smart constructor.
@@ -617,7 +647,8 @@
 iCacheNamespace :: Lens' Integration (Maybe Text)
 iCacheNamespace = lens _iCacheNamespace (\ s a -> s{_iCacheNamespace = a});
 
--- | Specifies the integration\'s type.
+-- | Specifies the integration\'s type. The valid value is 'HTTP', 'AWS', or
+-- 'MOCK'.
 iType :: Lens' Integration (Maybe IntegrationType)
 iType = lens _iType (\ s a -> s{_iType = a});
 
@@ -642,6 +673,8 @@
 
 instance Hashable Integration
 
+instance NFData Integration
+
 -- | Represents an integration response. The status code must map to an
 -- existing < MethodResponse>, and parameters and templates can be used to
 -- transform the backend response.
@@ -717,6 +750,8 @@
 
 instance Hashable IntegrationResponse
 
+instance NFData IntegrationResponse
+
 -- | Represents a method.
 --
 -- /See:/ 'method' smart constructor.
@@ -825,6 +860,8 @@
 
 instance Hashable Method
 
+instance NFData 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.
@@ -886,6 +923,8 @@
 
 instance Hashable MethodResponse
 
+instance NFData MethodResponse
+
 -- | Specifies the method setting properties.
 --
 -- /See:/ 'methodSetting' smart constructor.
@@ -1027,6 +1066,8 @@
 
 instance Hashable MethodSetting
 
+instance NFData MethodSetting
+
 -- | Represents a summary of a < Method> resource, given a particular date
 -- and time.
 --
@@ -1069,6 +1110,8 @@
 
 instance Hashable MethodSnapshot
 
+instance NFData MethodSnapshot
+
 -- | Represents the structure of a request or response payload for a method.
 --
 -- /See:/ 'model' smart constructor.
@@ -1136,6 +1179,8 @@
 
 instance Hashable Model
 
+instance NFData 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.
@@ -1194,6 +1239,8 @@
 
 instance Hashable PatchOperation
 
+instance NFData PatchOperation
+
 instance ToJSON PatchOperation where
         toJSON PatchOperation'{..}
           = object
@@ -1248,8 +1295,8 @@
 rId :: Lens' Resource (Maybe Text)
 rId = lens _rId (\ s a -> s{_rId = a});
 
--- | Map of methods for this resource, which is included only if requested
--- using the __embed__ option.
+-- | Map of methods for this resource, which is included only if the request
+-- uses the __embed__ query option.
 rResourceMethods :: Lens' Resource (HashMap Text Method)
 rResourceMethods = lens _rResourceMethods (\ s a -> s{_rResourceMethods = a}) . _Default . _Map;
 
@@ -1269,11 +1316,14 @@
 
 instance Hashable Resource
 
+instance NFData Resource
+
 -- | Represents a REST API.
 --
 -- /See:/ 'restAPI' smart constructor.
 data RestAPI = RestAPI'
-    { _raCreatedDate :: !(Maybe POSIX)
+    { _raWarnings    :: !(Maybe [Text])
+    , _raCreatedDate :: !(Maybe POSIX)
     , _raName        :: !(Maybe Text)
     , _raId          :: !(Maybe Text)
     , _raDescription :: !(Maybe Text)
@@ -1283,6 +1333,8 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
+-- * 'raWarnings'
+--
 -- * 'raCreatedDate'
 --
 -- * 'raName'
@@ -1294,12 +1346,17 @@
     :: RestAPI
 restAPI =
     RestAPI'
-    { _raCreatedDate = Nothing
+    { _raWarnings = Nothing
+    , _raCreatedDate = Nothing
     , _raName = Nothing
     , _raId = Nothing
     , _raDescription = Nothing
     }
 
+-- | Undocumented member.
+raWarnings :: Lens' RestAPI [Text]
+raWarnings = lens _raWarnings (\ s a -> s{_raWarnings = a}) . _Default . _Coerce;
+
 -- | The date when the API was created, in
 -- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.
 raCreatedDate :: Lens' RestAPI (Maybe UTCTime)
@@ -1323,12 +1380,16 @@
           = withObject "RestAPI"
               (\ x ->
                  RestAPI' <$>
-                   (x .:? "createdDate") <*> (x .:? "name") <*>
-                     (x .:? "id")
+                   (x .:? "warnings" .!= mempty) <*>
+                     (x .:? "createdDate")
+                     <*> (x .:? "name")
+                     <*> (x .:? "id")
                      <*> (x .:? "description"))
 
 instance Hashable RestAPI
 
+instance NFData RestAPI
+
 -- | Represents a unique identifier for a version of a deployed < RestApi>
 -- that is callable by users.
 --
@@ -1460,6 +1521,8 @@
 
 instance Hashable Stage
 
+instance NFData Stage
+
 -- | A reference to a unique stage identified in the format
 -- '{restApiId}\/{stage}'.
 --
@@ -1495,6 +1558,8 @@
 
 instance Hashable StageKey
 
+instance NFData StageKey
+
 instance ToJSON StageKey where
         toJSON StageKey'{..}
           = object
@@ -1541,3 +1606,5 @@
                    (x .:? "burstLimit") <*> (x .:? "rateLimit"))
 
 instance Hashable ThrottleSettings
+
+instance NFData 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
@@ -19,6 +19,7 @@
 
 import           Network.AWS.Prelude
 
+-- | The authorizer type. Only current value is TOKEN.
 data AuthorizerType =
     Token
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
@@ -34,6 +35,7 @@
         Token -> "TOKEN"
 
 instance Hashable     AuthorizerType
+instance NFData       AuthorizerType
 instance ToByteString AuthorizerType
 instance ToQuery      AuthorizerType
 instance ToHeader     AuthorizerType
@@ -81,6 +83,7 @@
         D6_1 -> "6.1"
 
 instance Hashable     CacheClusterSize
+instance NFData       CacheClusterSize
 instance ToByteString CacheClusterSize
 instance ToQuery      CacheClusterSize
 instance ToHeader     CacheClusterSize
@@ -119,6 +122,7 @@
         NotAvailable -> "NOT_AVAILABLE"
 
 instance Hashable     CacheClusterStatus
+instance NFData       CacheClusterStatus
 instance ToByteString CacheClusterStatus
 instance ToQuery      CacheClusterStatus
 instance ToHeader     CacheClusterStatus
@@ -126,7 +130,7 @@
 instance FromJSON CacheClusterStatus where
     parseJSON = parseJSONText "CacheClusterStatus"
 
--- | The integration type. Possible values are HTTP, AWS, or Mock.
+-- | The integration type. The valid value is 'HTTP', 'AWS', or 'MOCK'.
 data IntegrationType
     = AWS
     | HTTP
@@ -148,6 +152,7 @@
         Mock -> "MOCK"
 
 instance Hashable     IntegrationType
+instance NFData       IntegrationType
 instance ToByteString IntegrationType
 instance ToQuery      IntegrationType
 instance ToHeader     IntegrationType
@@ -188,6 +193,7 @@
         Test -> "test"
 
 instance Hashable     Op
+instance NFData       Op
 instance ToByteString Op
 instance ToQuery      Op
 instance ToHeader     Op
@@ -195,6 +201,32 @@
 instance ToJSON Op where
     toJSON = toJSONText
 
+data PutMode
+    = Merge
+    | Overwrite
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+
+instance FromText PutMode where
+    parser = takeLowerText >>= \case
+        "merge" -> pure Merge
+        "overwrite" -> pure Overwrite
+        e -> fromTextError $ "Failure parsing PutMode from value: '" <> e
+           <> "'. Accepted values: merge, overwrite"
+
+instance ToText PutMode where
+    toText = \case
+        Merge -> "merge"
+        Overwrite -> "overwrite"
+
+instance Hashable     PutMode
+instance NFData       PutMode
+instance ToByteString PutMode
+instance ToQuery      PutMode
+instance ToHeader     PutMode
+
+instance ToJSON PutMode where
+    toJSON = toJSONText
+
 data UnauthorizedCacheControlHeaderStrategy
     = FailWith403
     | SucceedWithResponseHeader
@@ -216,6 +248,7 @@
         SucceedWithoutResponseHeader -> "SUCCEED_WITHOUT_RESPONSE_HEADER"
 
 instance Hashable     UnauthorizedCacheControlHeaderStrategy
+instance NFData       UnauthorizedCacheControlHeaderStrategy
 instance ToByteString UnauthorizedCacheControlHeaderStrategy
 instance ToQuery      UnauthorizedCacheControlHeaderStrategy
 instance ToHeader     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
@@ -88,6 +88,8 @@
 
 instance Hashable UpdateAPIKey
 
+instance NFData UpdateAPIKey
+
 instance ToHeaders UpdateAPIKey where
         toHeaders
           = const
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
@@ -74,6 +74,8 @@
 
 instance Hashable UpdateAccount
 
+instance NFData UpdateAccount
+
 instance ToHeaders UpdateAccount where
         toHeaders
           = const
diff --git a/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs b/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs
--- a/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs
+++ b/gen/Network/AWS/APIGateway/UpdateAuthorizer.hs
@@ -38,6 +38,7 @@
     , aName
     , aId
     , aAuthorizerResultTtlInSeconds
+    , aAuthType
     , aType
     , aIdentitySource
     , aAuthorizerCredentials
@@ -98,6 +99,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable UpdateAuthorizer
+
+instance NFData UpdateAuthorizer
 
 instance ToHeaders UpdateAuthorizer where
         toHeaders
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
@@ -94,6 +94,8 @@
 
 instance Hashable UpdateBasePathMapping
 
+instance NFData UpdateBasePathMapping
+
 instance ToHeaders UpdateBasePathMapping where
         toHeaders
           = const
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Undocumented operation.
+-- Changes information about an < ClientCertificate> resource.
 module Network.AWS.APIGateway.UpdateClientCertificate
     (
     -- * Creating a Request
@@ -46,7 +46,9 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | /See:/ 'updateClientCertificate' smart constructor.
+-- | A request to change information about an < ClientCertificate> resource.
+--
+-- /See:/ 'updateClientCertificate' smart constructor.
 data UpdateClientCertificate = UpdateClientCertificate'
     { _uccPatchOperations     :: !(Maybe [PatchOperation])
     , _uccClientCertificateId :: !Text
@@ -73,7 +75,7 @@
 uccPatchOperations :: Lens' UpdateClientCertificate [PatchOperation]
 uccPatchOperations = lens _uccPatchOperations (\ s a -> s{_uccPatchOperations = a}) . _Default . _Coerce;
 
--- | Undocumented member.
+-- | The identifier of the < ClientCertificate> resource to be updated.
 uccClientCertificateId :: Lens' UpdateClientCertificate Text
 uccClientCertificateId = lens _uccClientCertificateId (\ s a -> s{_uccClientCertificateId = a});
 
@@ -83,6 +85,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable UpdateClientCertificate
+
+instance NFData UpdateClientCertificate
 
 instance ToHeaders UpdateClientCertificate where
         toHeaders
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
@@ -98,6 +98,8 @@
 
 instance Hashable UpdateDeployment
 
+instance NFData UpdateDeployment
+
 instance ToHeaders UpdateDeployment where
         toHeaders
           = const
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
@@ -85,6 +85,8 @@
 
 instance Hashable UpdateDomainName
 
+instance NFData UpdateDomainName
+
 instance ToHeaders UpdateDomainName where
         toHeaders
           = const
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
@@ -110,6 +110,8 @@
 
 instance Hashable UpdateIntegration
 
+instance NFData UpdateIntegration
+
 instance ToHeaders UpdateIntegration where
         toHeaders
           = const
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
@@ -116,6 +116,8 @@
 
 instance Hashable UpdateIntegrationResponse
 
+instance NFData UpdateIntegrationResponse
+
 instance ToHeaders UpdateIntegrationResponse where
         toHeaders
           = const
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
@@ -109,6 +109,8 @@
 
 instance Hashable UpdateMethod
 
+instance NFData UpdateMethod
+
 instance ToHeaders UpdateMethod where
         toHeaders
           = const
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
@@ -114,6 +114,8 @@
 
 instance Hashable UpdateMethodResponse
 
+instance NFData UpdateMethodResponse
+
 instance ToHeaders UpdateMethodResponse where
         toHeaders
           = const
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
@@ -96,6 +96,8 @@
 
 instance Hashable UpdateModel
 
+instance NFData UpdateModel
+
 instance ToHeaders UpdateModel where
         toHeaders
           = const
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
@@ -96,6 +96,8 @@
 
 instance Hashable UpdateResource
 
+instance NFData UpdateResource
+
 instance ToHeaders UpdateResource where
         toHeaders
           = const
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
@@ -32,6 +32,7 @@
     , restAPI
     , RestAPI
     -- * Response Lenses
+    , raWarnings
     , raCreatedDate
     , raName
     , raId
@@ -84,6 +85,8 @@
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance Hashable UpdateRestAPI
+
+instance NFData UpdateRestAPI
 
 instance ToHeaders UpdateRestAPI where
         toHeaders
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
@@ -104,6 +104,8 @@
 
 instance Hashable UpdateStage
 
+instance NFData UpdateStage
+
 instance ToHeaders UpdateStage where
         toHeaders
           = const
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
@@ -55,6 +55,9 @@
 --         , testPutMethodResponse $
 --             putMethodResponse
 --
+--         , testImportRestAPI $
+--             importRestAPI
+--
 --         , testDeleteMethodResponse $
 --             deleteMethodResponse
 --
@@ -124,6 +127,9 @@
 --         , testGetStages $
 --             getStages
 --
+--         , testPutRestAPI $
+--             putRestAPI
+--
 --         , testGetMethod $
 --             getMethod
 --
@@ -283,6 +289,9 @@
 --         , testPutMethodResponseResponse $
 --             methodResponse
 --
+--         , testImportRestAPIResponse $
+--             restAPI
+--
 --         , testDeleteMethodResponseResponse $
 --             deleteMethodResponseResponse
 --
@@ -352,6 +361,9 @@
 --         , testGetStagesResponse $
 --             getStagesResponse
 --
+--         , testPutRestAPIResponse $
+--             restAPI
+--
 --         , testGetMethodResponse $
 --             method
 --
@@ -531,6 +543,11 @@
     "PutMethodResponse"
     "fixture/PutMethodResponse.yaml"
 
+testImportRestAPI :: ImportRestAPI -> TestTree
+testImportRestAPI = req
+    "ImportRestAPI"
+    "fixture/ImportRestAPI.yaml"
+
 testDeleteMethodResponse :: DeleteMethodResponse -> TestTree
 testDeleteMethodResponse = req
     "DeleteMethodResponse"
@@ -646,6 +663,11 @@
     "GetStages"
     "fixture/GetStages.yaml"
 
+testPutRestAPI :: PutRestAPI -> TestTree
+testPutRestAPI = req
+    "PutRestAPI"
+    "fixture/PutRestAPI.yaml"
+
 testGetMethod :: GetMethod -> TestTree
 testGetMethod = req
     "GetMethod"
@@ -926,6 +948,13 @@
     apiGateway
     (Proxy :: Proxy PutMethodResponse)
 
+testImportRestAPIResponse :: RestAPI -> TestTree
+testImportRestAPIResponse = res
+    "ImportRestAPIResponse"
+    "fixture/ImportRestAPIResponse.proto"
+    apiGateway
+    (Proxy :: Proxy ImportRestAPI)
+
 testDeleteMethodResponseResponse :: DeleteMethodResponseResponse -> TestTree
 testDeleteMethodResponseResponse = res
     "DeleteMethodResponseResponse"
@@ -1086,6 +1115,13 @@
     "fixture/GetStagesResponse.proto"
     apiGateway
     (Proxy :: Proxy GetStages)
+
+testPutRestAPIResponse :: RestAPI -> TestTree
+testPutRestAPIResponse = res
+    "PutRestAPIResponse"
+    "fixture/PutRestAPIResponse.proto"
+    apiGateway
+    (Proxy :: Proxy PutRestAPI)
 
 testGetMethodResponse :: Method -> TestTree
 testGetMethodResponse = res
