diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,35 +8,27 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
 
-AWS Direct Connect makes it easy to establish a dedicated network
-connection from your premises to Amazon Web Services (AWS). Using AWS
-Direct Connect, you can establish private connectivity between AWS and
-your data center, office, or colocation environment, which in many cases
-can reduce your network costs, increase bandwidth throughput, and
-provide a more consistent network experience than Internet-based
-connections.
-
-The AWS Direct Connect API Reference provides descriptions, syntax, and
-usage examples for each of the actions and data types for AWS Direct
-Connect. Use the following links to get started using the /AWS Direct
-Connect API Reference/:
-
--   <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_Operations.html Actions>:
-    An alphabetical list of all AWS Direct Connect actions.
--   <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_Types.html Data Types>:
-    An alphabetical list of all AWS Direct Connect data types.
--   <http://docs.aws.amazon.com/directconnect/latest/APIReference/CommonParameters.html Common Query Parameters>:
-    Parameters that all Query actions can use.
--   <http://docs.aws.amazon.com/directconnect/latest/APIReference/CommonErrors.html Common Errors>:
-    Client and server errors that all actions can return.
+AWS Direct Connect links your internal network to an AWS Direct Connect
+location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic
+cable. One end of the cable is connected to your router, the other to an
+AWS Direct Connect router. With this connection in place, you can create
+virtual interfaces directly to the AWS cloud (for example, to Amazon
+Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service
+(Amazon S3)) and to Amazon Virtual Private Cloud (Amazon VPC), bypassing
+Internet service providers in your network path. An AWS Direct Connect
+location provides access to AWS in the region it is associated with, as
+well as access to other US regions. For example, you can provision a
+single connection to any AWS Direct Connect location in the US and use
+it to access public AWS services in all US Regions and AWS GovCloud
+(US).
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-directconnect)
-and the [AWS API Reference](http://docs.aws.amazon.com/directconnect/latest/APIReference/Welcome.html).
+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-directconnect.cabal b/amazonka-directconnect.cabal
--- a/amazonka-directconnect.cabal
+++ b/amazonka-directconnect.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-directconnect
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon Direct Connect SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,33 +7,25 @@
 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
 extra-source-files:    README.md fixture/*.yaml fixture/*.proto
 description:
-    AWS Direct Connect makes it easy to establish a dedicated network
-    connection from your premises to Amazon Web Services (AWS). Using AWS
-    Direct Connect, you can establish private connectivity between AWS and
-    your data center, office, or colocation environment, which in many cases
-    can reduce your network costs, increase bandwidth throughput, and
-    provide a more consistent network experience than Internet-based
-    connections.
-
-    The AWS Direct Connect API Reference provides descriptions, syntax, and
-    usage examples for each of the actions and data types for AWS Direct
-    Connect. Use the following links to get started using the /AWS Direct
-    Connect API Reference/:
-
-    -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_Operations.html Actions>:
-        An alphabetical list of all AWS Direct Connect actions.
-    -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_Types.html Data Types>:
-        An alphabetical list of all AWS Direct Connect data types.
-    -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/CommonParameters.html Common Query Parameters>:
-        Parameters that all Query actions can use.
-    -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/CommonErrors.html Common Errors>:
-        Client and server errors that all actions can return.
+    AWS Direct Connect links your internal network to an AWS Direct Connect
+    location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic
+    cable. One end of the cable is connected to your router, the other to an
+    AWS Direct Connect router. With this connection in place, you can create
+    virtual interfaces directly to the AWS cloud (for example, to Amazon
+    Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service
+    (Amazon S3)) and to Amazon Virtual Private Cloud (Amazon VPC), bypassing
+    Internet service providers in your network path. An AWS Direct Connect
+    location provides access to AWS in the region it is associated with, as
+    well as access to other US regions. For example, you can provision a
+    single connection to any AWS Direct Connect location in the US and use
+    it to access public AWS services in all US Regions and AWS GovCloud
+    (US).
     .
     The types from this library are intended to be used with
     <http://hackage.haskell.org/package/amazonka amazonka>, which provides
@@ -46,7 +38,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.DirectConnect" and the <http://docs.aws.amazon.com/directconnect/latest/APIReference/Welcome.html AWS API Reference>
+    See "Network.AWS.DirectConnect" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -88,7 +80,7 @@
         , Network.AWS.DirectConnect.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-directconnect-test
@@ -108,9 +100,9 @@
         , Test.AWS.DirectConnect.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-directconnect == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-directconnect == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/DirectConnect.hs b/gen/Network/AWS/DirectConnect.hs
--- a/gen/Network/AWS/DirectConnect.hs
+++ b/gen/Network/AWS/DirectConnect.hs
@@ -5,35 +5,25 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect
--- 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)
 --
--- AWS Direct Connect makes it easy to establish a dedicated network
--- connection from your premises to Amazon Web Services (AWS). Using AWS
--- Direct Connect, you can establish private connectivity between AWS and
--- your data center, office, or colocation environment, which in many cases
--- can reduce your network costs, increase bandwidth throughput, and
--- provide a more consistent network experience than Internet-based
--- connections.
---
--- The AWS Direct Connect API Reference provides descriptions, syntax, and
--- usage examples for each of the actions and data types for AWS Direct
--- Connect. Use the following links to get started using the /AWS Direct
--- Connect API Reference/:
---
--- -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_Operations.html Actions>:
---     An alphabetical list of all AWS Direct Connect actions.
--- -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_Types.html Data Types>:
---     An alphabetical list of all AWS Direct Connect data types.
--- -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/CommonParameters.html Common Query Parameters>:
---     Parameters that all Query actions can use.
--- -   <http://docs.aws.amazon.com/directconnect/latest/APIReference/CommonErrors.html Common Errors>:
---     Client and server errors that all actions can return.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/Welcome.html AWS API Reference>
+-- AWS Direct Connect links your internal network to an AWS Direct Connect
+-- location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic
+-- cable. One end of the cable is connected to your router, the other to an
+-- AWS Direct Connect router. With this connection in place, you can create
+-- virtual interfaces directly to the AWS cloud (for example, to Amazon
+-- Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service
+-- (Amazon S3)) and to Amazon Virtual Private Cloud (Amazon VPC), bypassing
+-- Internet service providers in your network path. An AWS Direct Connect
+-- location provides access to AWS in the region it is associated with, as
+-- well as access to other US regions. For example, you can provision a
+-- single connection to any AWS Direct Connect location in the US and use
+-- it to access public AWS services in all US Regions and AWS GovCloud
+-- (US).
 module Network.AWS.DirectConnect
     (
     -- * Service Configuration
diff --git a/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs b/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.AllocateConnectionOnInterconnect
--- 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
@@ -22,8 +22,6 @@
 --
 -- Allocates a VLAN number and a specified amount of bandwidth for use by a
 -- hosted connection on the given interconnect.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_AllocateConnectionOnInterconnect.html AWS API Reference> for AllocateConnectionOnInterconnect.
 module Network.AWS.DirectConnect.AllocateConnectionOnInterconnect
     (
     -- * Creating a Request
@@ -145,6 +143,8 @@
         type Rs AllocateConnectionOnInterconnect = Connection
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable AllocateConnectionOnInterconnect
 
 instance ToHeaders AllocateConnectionOnInterconnect
          where
diff --git a/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs b/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.AllocatePrivateVirtualInterface
--- 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
@@ -28,8 +28,6 @@
 -- virtual interface owner by calling ConfirmPrivateVirtualInterface. Until
 -- this step has been completed, the virtual interface will be in
 -- \'Confirming\' state, and will not be available for handling traffic.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_AllocatePrivateVirtualInterface.html AWS API Reference> for AllocatePrivateVirtualInterface.
 module Network.AWS.DirectConnect.AllocatePrivateVirtualInterface
     (
     -- * Creating a Request
@@ -124,6 +122,8 @@
              VirtualInterface
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable AllocatePrivateVirtualInterface
 
 instance ToHeaders AllocatePrivateVirtualInterface
          where
diff --git a/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs b/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.AllocatePublicVirtualInterface
--- 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
@@ -28,8 +28,6 @@
 -- virtual interface owner by calling ConfirmPublicVirtualInterface. Until
 -- this step has been completed, the virtual interface will be in
 -- \'Confirming\' state, and will not be available for handling traffic.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_AllocatePublicVirtualInterface.html AWS API Reference> for AllocatePublicVirtualInterface.
 module Network.AWS.DirectConnect.AllocatePublicVirtualInterface
     (
     -- * Creating a Request
@@ -123,6 +121,8 @@
              VirtualInterface
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable AllocatePublicVirtualInterface
 
 instance ToHeaders AllocatePublicVirtualInterface
          where
diff --git a/gen/Network/AWS/DirectConnect/ConfirmConnection.hs b/gen/Network/AWS/DirectConnect/ConfirmConnection.hs
--- a/gen/Network/AWS/DirectConnect/ConfirmConnection.hs
+++ b/gen/Network/AWS/DirectConnect/ConfirmConnection.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.ConfirmConnection
--- 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
@@ -23,8 +23,6 @@
 -- Upon creation, the hosted connection is initially in the \'Ordering\'
 -- state, and will remain in this state until the owner calls
 -- ConfirmConnection to confirm creation of the hosted connection.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_ConfirmConnection.html AWS API Reference> for ConfirmConnection.
 module Network.AWS.DirectConnect.ConfirmConnection
     (
     -- * Creating a Request
@@ -80,6 +78,8 @@
               (\ s h x ->
                  ConfirmConnectionResponse' <$>
                    (x .?> "connectionState") <*> (pure (fromEnum s)))
+
+instance Hashable ConfirmConnection
 
 instance ToHeaders ConfirmConnection where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs b/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface
--- 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
@@ -24,8 +24,6 @@
 -- After the virtual interface owner calls this function, the virtual
 -- interface will be created and attached to the given virtual private
 -- gateway, and will be available for handling traffic.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_ConfirmPrivateVirtualInterface.html AWS API Reference> for ConfirmPrivateVirtualInterface.
 module Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface
     (
     -- * Creating a Request
@@ -103,6 +101,8 @@
                  ConfirmPrivateVirtualInterfaceResponse' <$>
                    (x .?> "virtualInterfaceState") <*>
                      (pure (fromEnum s)))
+
+instance Hashable ConfirmPrivateVirtualInterface
 
 instance ToHeaders ConfirmPrivateVirtualInterface
          where
diff --git a/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs b/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.ConfirmPublicVirtualInterface
--- 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
@@ -24,8 +24,6 @@
 -- After the virtual interface owner calls this function, the specified
 -- virtual interface will be created and made available for handling
 -- traffic.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_ConfirmPublicVirtualInterface.html AWS API Reference> for ConfirmPublicVirtualInterface.
 module Network.AWS.DirectConnect.ConfirmPublicVirtualInterface
     (
     -- * Creating a Request
@@ -85,6 +83,8 @@
                  ConfirmPublicVirtualInterfaceResponse' <$>
                    (x .?> "virtualInterfaceState") <*>
                      (pure (fromEnum s)))
+
+instance Hashable ConfirmPublicVirtualInterface
 
 instance ToHeaders ConfirmPublicVirtualInterface
          where
diff --git a/gen/Network/AWS/DirectConnect/CreateConnection.hs b/gen/Network/AWS/DirectConnect/CreateConnection.hs
--- a/gen/Network/AWS/DirectConnect/CreateConnection.hs
+++ b/gen/Network/AWS/DirectConnect/CreateConnection.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.CreateConnection
--- 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
@@ -29,8 +29,6 @@
 -- can establish connections with AWS Direct Connect locations in multiple
 -- regions, but a connection in one region does not provide connectivity to
 -- other regions.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_CreateConnection.html AWS API Reference> for CreateConnection.
 module Network.AWS.DirectConnect.CreateConnection
     (
     -- * Creating a Request
@@ -109,6 +107,8 @@
         type Rs CreateConnection = Connection
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CreateConnection
 
 instance ToHeaders CreateConnection where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/CreateInterconnect.hs b/gen/Network/AWS/DirectConnect/CreateInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/CreateInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/CreateInterconnect.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.CreateInterconnect
--- 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
@@ -35,8 +35,6 @@
 -- AllocateConnectionOnInterconnect. The end customer can then connect to
 -- AWS resources by creating a virtual interface on their connection, using
 -- the VLAN assigned to them by the AWS Direct Connect partner.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_CreateInterconnect.html AWS API Reference> for CreateInterconnect.
 module Network.AWS.DirectConnect.CreateInterconnect
     (
     -- * Creating a Request
@@ -126,6 +124,8 @@
         type Rs CreateInterconnect = Interconnect
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CreateInterconnect
 
 instance ToHeaders CreateInterconnect where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs b/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.CreatePrivateVirtualInterface
--- 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,8 +21,6 @@
 -- Creates a new private virtual interface. A virtual interface is the VLAN
 -- that transports AWS Direct Connect traffic. A private virtual interface
 -- supports sending traffic to a single virtual private cloud (VPC).
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_CreatePrivateVirtualInterface.html AWS API Reference> for CreatePrivateVirtualInterface.
 module Network.AWS.DirectConnect.CreatePrivateVirtualInterface
     (
     -- * Creating a Request
@@ -102,6 +100,8 @@
              VirtualInterface
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CreatePrivateVirtualInterface
 
 instance ToHeaders CreatePrivateVirtualInterface
          where
diff --git a/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs b/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.CreatePublicVirtualInterface
--- 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
@@ -22,8 +22,6 @@
 -- that transports AWS Direct Connect traffic. A public virtual interface
 -- supports sending traffic to public services of AWS such as Amazon Simple
 -- Storage Service (Amazon S3).
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_CreatePublicVirtualInterface.html AWS API Reference> for CreatePublicVirtualInterface.
 module Network.AWS.DirectConnect.CreatePublicVirtualInterface
     (
     -- * Creating a Request
@@ -103,6 +101,8 @@
              VirtualInterface
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CreatePublicVirtualInterface
 
 instance ToHeaders CreatePublicVirtualInterface where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DeleteConnection.hs b/gen/Network/AWS/DirectConnect/DeleteConnection.hs
--- a/gen/Network/AWS/DirectConnect/DeleteConnection.hs
+++ b/gen/Network/AWS/DirectConnect/DeleteConnection.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DeleteConnection
--- 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
@@ -24,8 +24,6 @@
 -- data transfer charges. You need to cancel separately with the providers
 -- any services or charges for cross-connects or network circuits that
 -- connect you to the AWS Direct Connect location.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DeleteConnection.html AWS API Reference> for DeleteConnection.
 module Network.AWS.DirectConnect.DeleteConnection
     (
     -- * Creating a Request
@@ -84,6 +82,8 @@
         type Rs DeleteConnection = Connection
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable DeleteConnection
 
 instance ToHeaders DeleteConnection where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs b/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DeleteInterconnect
--- 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 interconnect.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DeleteInterconnect.html AWS API Reference> for DeleteInterconnect.
 module Network.AWS.DirectConnect.DeleteInterconnect
     (
     -- * Creating a Request
@@ -77,6 +75,8 @@
               (\ s h x ->
                  DeleteInterconnectResponse' <$>
                    (x .?> "interconnectState") <*> (pure (fromEnum s)))
+
+instance Hashable DeleteInterconnect
 
 instance ToHeaders DeleteInterconnect where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs b/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DeleteVirtualInterface
--- 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 virtual interface.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DeleteVirtualInterface.html AWS API Reference> for DeleteVirtualInterface.
 module Network.AWS.DirectConnect.DeleteVirtualInterface
     (
     -- * Creating a Request
@@ -78,6 +76,8 @@
                  DeleteVirtualInterfaceResponse' <$>
                    (x .?> "virtualInterfaceState") <*>
                      (pure (fromEnum s)))
+
+instance Hashable DeleteVirtualInterface
 
 instance ToHeaders DeleteVirtualInterface where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DescribeConnections.hs b/gen/Network/AWS/DirectConnect/DescribeConnections.hs
--- a/gen/Network/AWS/DirectConnect/DescribeConnections.hs
+++ b/gen/Network/AWS/DirectConnect/DescribeConnections.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DescribeConnections
--- 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
@@ -22,8 +22,6 @@
 --
 -- If a connection ID is provided, the call returns only that particular
 -- connection.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeConnections.html AWS API Reference> for DescribeConnections.
 module Network.AWS.DirectConnect.DescribeConnections
     (
     -- * Creating a Request
@@ -73,6 +71,8 @@
         type Rs DescribeConnections = Connections
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable DescribeConnections
 
 instance ToHeaders DescribeConnections where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DescribeConnectionsOnInterconnect.hs b/gen/Network/AWS/DirectConnect/DescribeConnectionsOnInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/DescribeConnectionsOnInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/DescribeConnectionsOnInterconnect.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect
--- 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 @@
 --
 -- Return a list of connections that have been provisioned on the given
 -- interconnect.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeConnectionsOnInterconnect.html AWS API Reference> for DescribeConnectionsOnInterconnect.
 module Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect
     (
     -- * Creating a Request
@@ -79,6 +77,8 @@
              Connections
         request = postJSON directConnect
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable DescribeConnectionsOnInterconnect
 
 instance ToHeaders DescribeConnectionsOnInterconnect
          where
diff --git a/gen/Network/AWS/DirectConnect/DescribeInterconnects.hs b/gen/Network/AWS/DirectConnect/DescribeInterconnects.hs
--- a/gen/Network/AWS/DirectConnect/DescribeInterconnects.hs
+++ b/gen/Network/AWS/DirectConnect/DescribeInterconnects.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DescribeInterconnects
--- 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
@@ -22,8 +22,6 @@
 --
 -- If an interconnect ID is provided, it will only return this particular
 -- interconnect.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeInterconnects.html AWS API Reference> for DescribeInterconnects.
 module Network.AWS.DirectConnect.DescribeInterconnects
     (
     -- * Creating a Request
@@ -80,6 +78,8 @@
                  DescribeInterconnectsResponse' <$>
                    (x .?> "interconnects" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable DescribeInterconnects
 
 instance ToHeaders DescribeInterconnects where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DescribeLocations.hs b/gen/Network/AWS/DirectConnect/DescribeLocations.hs
--- a/gen/Network/AWS/DirectConnect/DescribeLocations.hs
+++ b/gen/Network/AWS/DirectConnect/DescribeLocations.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DescribeLocations
--- 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,8 +21,6 @@
 -- Returns the list of AWS Direct Connect locations in the current AWS
 -- region. These are the locations that may be selected when calling
 -- CreateConnection or CreateInterconnect.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html AWS API Reference> for DescribeLocations.
 module Network.AWS.DirectConnect.DescribeLocations
     (
     -- * Creating a Request
@@ -64,6 +62,8 @@
                  DescribeLocationsResponse' <$>
                    (x .?> "locations" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable DescribeLocations
 
 instance ToHeaders DescribeLocations where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DescribeVirtualGateways.hs b/gen/Network/AWS/DirectConnect/DescribeVirtualGateways.hs
--- a/gen/Network/AWS/DirectConnect/DescribeVirtualGateways.hs
+++ b/gen/Network/AWS/DirectConnect/DescribeVirtualGateways.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DescribeVirtualGateways
--- 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
@@ -25,8 +25,6 @@
 -- managed via Amazon Virtual Private Cloud (VPC) console or the
 -- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html EC2 CreateVpnGateway>
 -- action.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeVirtualGateways.html AWS API Reference> for DescribeVirtualGateways.
 module Network.AWS.DirectConnect.DescribeVirtualGateways
     (
     -- * Creating a Request
@@ -69,6 +67,8 @@
                  DescribeVirtualGatewaysResponse' <$>
                    (x .?> "virtualGateways" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable DescribeVirtualGateways
 
 instance ToHeaders DescribeVirtualGateways where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/DescribeVirtualInterfaces.hs b/gen/Network/AWS/DirectConnect/DescribeVirtualInterfaces.hs
--- a/gen/Network/AWS/DirectConnect/DescribeVirtualInterfaces.hs
+++ b/gen/Network/AWS/DirectConnect/DescribeVirtualInterfaces.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.DescribeVirtualInterfaces
--- 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
@@ -31,8 +31,6 @@
 -- If a connection ID is provided, only virtual interfaces provisioned on
 -- the specified connection will be returned. If a virtual interface ID is
 -- provided, only this particular virtual interface will be returned.
---
--- /See:/ <http://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeVirtualInterfaces.html AWS API Reference> for DescribeVirtualInterfaces.
 module Network.AWS.DirectConnect.DescribeVirtualInterfaces
     (
     -- * Creating a Request
@@ -98,6 +96,8 @@
                  DescribeVirtualInterfacesResponse' <$>
                    (x .?> "virtualInterfaces" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable DescribeVirtualInterfaces
 
 instance ToHeaders DescribeVirtualInterfaces where
         toHeaders
diff --git a/gen/Network/AWS/DirectConnect/Types.hs b/gen/Network/AWS/DirectConnect/Types.hs
--- a/gen/Network/AWS/DirectConnect/Types.hs
+++ b/gen/Network/AWS/DirectConnect/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.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
@@ -165,6 +165,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/DirectConnect/Types/Product.hs b/gen/Network/AWS/DirectConnect/Types/Product.hs
--- a/gen/Network/AWS/DirectConnect/Types/Product.hs
+++ b/gen/Network/AWS/DirectConnect/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.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
@@ -128,6 +128,8 @@
                      <*> (x .:? "region")
                      <*> (x .:? "connectionState"))
 
+instance Hashable Connection
+
 -- | A structure containing a list of connections.
 --
 -- /See:/ 'connections' smart constructor.
@@ -157,6 +159,8 @@
               (\ x ->
                  Connections' <$> (x .:? "connections" .!= mempty))
 
+instance Hashable Connections
+
 -- | An interconnect is a connection that can host other connections.
 --
 -- Like a standard AWS Direct Connect connection, an interconnect
@@ -242,6 +246,8 @@
                      <*> (x .:? "interconnectState")
                      <*> (x .:? "region"))
 
+instance Hashable Interconnect
+
 -- | An AWS Direct Connect location where connections and interconnects can
 -- be requested.
 --
@@ -282,6 +288,8 @@
                  Location' <$>
                    (x .:? "locationName") <*> (x .:? "locationCode"))
 
+instance Hashable Location
+
 -- | A structure containing information about a new private virtual
 -- interface.
 --
@@ -358,6 +366,8 @@
 nVirtualGatewayId :: Lens' NewPrivateVirtualInterface Text
 nVirtualGatewayId = lens _nVirtualGatewayId (\ s a -> s{_nVirtualGatewayId = a});
 
+instance Hashable NewPrivateVirtualInterface
+
 instance ToJSON NewPrivateVirtualInterface where
         toJSON NewPrivateVirtualInterface'{..}
           = object
@@ -437,6 +447,9 @@
 npviaAsn :: Lens' NewPrivateVirtualInterfaceAllocation Int
 npviaAsn = lens _npviaAsn (\ s a -> s{_npviaAsn = a});
 
+instance Hashable
+         NewPrivateVirtualInterfaceAllocation
+
 instance ToJSON NewPrivateVirtualInterfaceAllocation
          where
         toJSON NewPrivateVirtualInterfaceAllocation'{..}
@@ -527,6 +540,8 @@
 npviRouteFilterPrefixes :: Lens' NewPublicVirtualInterface [RouteFilterPrefix]
 npviRouteFilterPrefixes = lens _npviRouteFilterPrefixes (\ s a -> s{_npviRouteFilterPrefixes = a}) . _Coerce;
 
+instance Hashable NewPublicVirtualInterface
+
 instance ToJSON NewPublicVirtualInterface where
         toJSON NewPublicVirtualInterface'{..}
           = object
@@ -618,6 +633,8 @@
 newRouteFilterPrefixes :: Lens' NewPublicVirtualInterfaceAllocation [RouteFilterPrefix]
 newRouteFilterPrefixes = lens _newRouteFilterPrefixes (\ s a -> s{_newRouteFilterPrefixes = a}) . _Coerce;
 
+instance Hashable NewPublicVirtualInterfaceAllocation
+
 instance ToJSON NewPublicVirtualInterfaceAllocation
          where
         toJSON NewPublicVirtualInterfaceAllocation'{..}
@@ -664,6 +681,8 @@
           = withObject "RouteFilterPrefix"
               (\ x -> RouteFilterPrefix' <$> (x .:? "cidr"))
 
+instance Hashable RouteFilterPrefix
+
 instance ToJSON RouteFilterPrefix where
         toJSON RouteFilterPrefix'{..}
           = object (catMaybes [("cidr" .=) <$> _rfpCidr])
@@ -712,6 +731,8 @@
                    (x .:? "virtualGatewayId") <*>
                      (x .:? "virtualGatewayState"))
 
+instance Hashable VirtualGateway
+
 -- | A virtual interface (VLAN) transmits the traffic between the AWS Direct
 -- Connect location and the customer.
 --
@@ -868,3 +889,5 @@
                      <*> (x .:? "ownerAccount")
                      <*> (x .:? "virtualInterfaceName")
                      <*> (x .:? "virtualInterfaceId"))
+
+instance Hashable VirtualInterface
diff --git a/gen/Network/AWS/DirectConnect/Types/Sum.hs b/gen/Network/AWS/DirectConnect/Types/Sum.hs
--- a/gen/Network/AWS/DirectConnect/Types/Sum.hs
+++ b/gen/Network/AWS/DirectConnect/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.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
diff --git a/gen/Network/AWS/DirectConnect/Waiters.hs b/gen/Network/AWS/DirectConnect/Waiters.hs
--- a/gen/Network/AWS/DirectConnect/Waiters.hs
+++ b/gen/Network/AWS/DirectConnect/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.DirectConnect.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/DirectConnect.hs b/test/Test/AWS/DirectConnect.hs
--- a/test/Test/AWS/DirectConnect.hs
+++ b/test/Test/AWS/DirectConnect.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- Module      : Test.AWS.DirectConnect
--- 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/DirectConnect/Internal.hs b/test/Test/AWS/DirectConnect/Internal.hs
--- a/test/Test/AWS/DirectConnect/Internal.hs
+++ b/test/Test/AWS/DirectConnect/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.DirectConnect.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/DirectConnect.hs b/test/Test/AWS/Gen/DirectConnect.hs
--- a/test/Test/AWS/Gen/DirectConnect.hs
+++ b/test/Test/AWS/Gen/DirectConnect.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.DirectConnect
--- 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
