diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
@@ -21,7 +21,7 @@
 infrastructure outside of AWS.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-route53)
-and the [AWS API Reference](http://docs.aws.amazon.com/Route53/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-route53.cabal b/amazonka-route53.cabal
--- a/amazonka-route53.cabal
+++ b/amazonka-route53.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-route53
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon Route 53 SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,7 +7,7 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2015 Brendan Hay
+copyright:             Copyright (c) 2013-2016 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -31,7 +31,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.Route53" and the <http://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html AWS API Reference>
+    See "Network.AWS.Route53" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -62,7 +62,6 @@
         , Network.AWS.Route53.DeleteTrafficPolicyInstance
         , Network.AWS.Route53.DisassociateVPCFromHostedZone
         , Network.AWS.Route53.GetChange
-        , Network.AWS.Route53.GetChangeDetails
         , Network.AWS.Route53.GetCheckerIPRanges
         , Network.AWS.Route53.GetGeoLocation
         , Network.AWS.Route53.GetHealthCheck
@@ -75,8 +74,6 @@
         , Network.AWS.Route53.GetTrafficPolicy
         , Network.AWS.Route53.GetTrafficPolicyInstance
         , Network.AWS.Route53.GetTrafficPolicyInstanceCount
-        , Network.AWS.Route53.ListChangeBatchesByHostedZone
-        , Network.AWS.Route53.ListChangeBatchesByRRSet
         , Network.AWS.Route53.ListGeoLocations
         , Network.AWS.Route53.ListHealthChecks
         , Network.AWS.Route53.ListHostedZones
@@ -103,7 +100,7 @@
         , Network.AWS.Route53.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-route53-test
@@ -123,9 +120,9 @@
         , Test.AWS.Route53.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-route53 == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-route53 == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/Route53.hs b/gen/Network/AWS/Route53.hs
--- a/gen/Network/AWS/Route53.hs
+++ b/gen/Network/AWS/Route53.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53
--- 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
@@ -17,8 +17,6 @@
 -- (Amazon EC2), Elastic Load Balancing, or Amazon Simple Storage Service
 -- (Amazon S3). You can also use Amazon Route 53 to route users to your
 -- infrastructure outside of AWS.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.Route53
     (
     -- * Service Configuration
@@ -240,9 +238,6 @@
     -- ** CreateReusableDelegationSet
     , module Network.AWS.Route53.CreateReusableDelegationSet
 
-    -- ** ListChangeBatchesByRRSet
-    , module Network.AWS.Route53.ListChangeBatchesByRRSet
-
     -- ** GetHealthCheckCount
     , module Network.AWS.Route53.GetHealthCheckCount
 
@@ -252,12 +247,6 @@
     -- ** GetHostedZoneCount
     , module Network.AWS.Route53.GetHostedZoneCount
 
-    -- ** ListChangeBatchesByHostedZone
-    , module Network.AWS.Route53.ListChangeBatchesByHostedZone
-
-    -- ** GetChangeDetails
-    , module Network.AWS.Route53.GetChangeDetails
-
     -- ** GetReusableDelegationSet
     , module Network.AWS.Route53.GetReusableDelegationSet
 
@@ -348,16 +337,6 @@
     , cbComment
     , cbChanges
 
-    -- ** ChangeBatchRecord
-    , ChangeBatchRecord
-    , changeBatchRecord
-    , cbrChanges
-    , cbrSubmittedAt
-    , cbrSubmitter
-    , cbrComment
-    , cbrId
-    , cbrStatus
-
     -- ** ChangeInfo
     , ChangeInfo
     , changeInfo
@@ -403,6 +382,7 @@
     , healthCheckConfig
     , hccFailureThreshold
     , hccIPAddress
+    , hccEnableSNI
     , hccSearchString
     , hccHealthThreshold
     , hccResourcePath
@@ -530,7 +510,6 @@
 import           Network.AWS.Route53.DeleteTrafficPolicyInstance
 import           Network.AWS.Route53.DisassociateVPCFromHostedZone
 import           Network.AWS.Route53.GetChange
-import           Network.AWS.Route53.GetChangeDetails
 import           Network.AWS.Route53.GetCheckerIPRanges
 import           Network.AWS.Route53.GetGeoLocation
 import           Network.AWS.Route53.GetHealthCheck
@@ -544,8 +523,6 @@
 import           Network.AWS.Route53.GetTrafficPolicyInstance
 import           Network.AWS.Route53.GetTrafficPolicyInstanceCount
 import           Network.AWS.Route53.Internal
-import           Network.AWS.Route53.ListChangeBatchesByHostedZone
-import           Network.AWS.Route53.ListChangeBatchesByRRSet
 import           Network.AWS.Route53.ListGeoLocations
 import           Network.AWS.Route53.ListHealthChecks
 import           Network.AWS.Route53.ListHostedZones
diff --git a/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs b/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs
--- a/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs
+++ b/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.AssociateVPCWithHostedZone
--- 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,15 +21,13 @@
 -- This action associates a VPC with an hosted zone.
 --
 -- To associate a VPC with an hosted zone, send a 'POST' request to the
--- '2013-04-01\/hostedzone\/hosted zone ID\/associatevpc' resource. The
--- request body must include an XML document with a
+-- '\/Route 53 API version\/hostedzone\/hosted zone ID\/associatevpc'
+-- resource. The request body must include a document with a
 -- 'AssociateVPCWithHostedZoneRequest' element. The response returns the
 -- 'AssociateVPCWithHostedZoneResponse' element that contains 'ChangeInfo'
 -- for you to track the progress of the 'AssociateVPCWithHostedZoneRequest'
 -- you made. See 'GetChange' operation for how to track the progress of
 -- your change.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html AWS API Reference> for AssociateVPCWithHostedZone.
 module Network.AWS.Route53.AssociateVPCWithHostedZone
     (
     -- * Creating a Request
@@ -110,6 +108,8 @@
               (\ s h x ->
                  AssociateVPCWithHostedZoneResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
+
+instance Hashable AssociateVPCWithHostedZone
 
 instance ToElement AssociateVPCWithHostedZone where
         toElement
diff --git a/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs b/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs
--- a/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs
+++ b/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ChangeResourceRecordSets
--- 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,14 +20,14 @@
 --
 -- Use this action to create or change your authoritative DNS information.
 -- To use this action, send a 'POST' request to the
--- '2013-04-01\/hostedzone\/hosted Zone ID\/rrset' resource. The request
--- body must include an XML document with a
+-- '\/Route 53 API version\/hostedzone\/hosted Zone ID\/rrset' resource.
+-- The request body must include a document with a
 -- 'ChangeResourceRecordSetsRequest' element.
 --
 -- Changes are a list of change items and are considered transactional. For
 -- more information on transactional changes, also known as change batches,
 -- see
--- <http://docs.aws.amazon.com/Route53/latest/APIReference/ POST ChangeResourceRecordSets>
+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html POST ChangeResourceRecordSets>
 -- in the /Amazon Route 53 API Reference/.
 --
 -- Due to the nature of transactional changes, you cannot delete the same
@@ -47,8 +47,6 @@
 -- -   A request cannot contain more than 1000 ResourceRecord elements.
 -- -   The sum of the number of characters (including spaces) in all
 --     'Value' elements in a request cannot exceed 32,000 characters.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html AWS API Reference> for ChangeResourceRecordSets.
 module Network.AWS.Route53.ChangeResourceRecordSets
     (
     -- * Creating a Request
@@ -118,6 +116,8 @@
                  ChangeResourceRecordSetsResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
 
+instance Hashable ChangeResourceRecordSets
+
 instance ToElement ChangeResourceRecordSets where
         toElement
           = mkElement
@@ -171,7 +171,7 @@
 -- | A complex type that contains information about changes made to your
 -- hosted zone.
 --
--- This element contains an ID that you use when performing a GetChange
+-- This element contains an ID that you use when performing a < GetChange>
 -- action to get detailed information about the change.
 crrsrsChangeInfo :: Lens' ChangeResourceRecordSetsResponse ChangeInfo
 crrsrsChangeInfo = lens _crrsrsChangeInfo (\ s a -> s{_crrsrsChangeInfo = a});
diff --git a/gen/Network/AWS/Route53/ChangeTagsForResource.hs b/gen/Network/AWS/Route53/ChangeTagsForResource.hs
--- a/gen/Network/AWS/Route53/ChangeTagsForResource.hs
+++ b/gen/Network/AWS/Route53/ChangeTagsForResource.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ChangeTagsForResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeTagsForResource.html AWS API Reference> for ChangeTagsForResource.
 module Network.AWS.Route53.ChangeTagsForResource
     (
     -- * Creating a Request
@@ -113,6 +111,8 @@
               (\ s h x ->
                  ChangeTagsForResourceResponse' <$>
                    (pure (fromEnum s)))
+
+instance Hashable ChangeTagsForResource
 
 instance ToElement ChangeTagsForResource where
         toElement
diff --git a/gen/Network/AWS/Route53/CreateHealthCheck.hs b/gen/Network/AWS/Route53/CreateHealthCheck.hs
--- a/gen/Network/AWS/Route53/CreateHealthCheck.hs
+++ b/gen/Network/AWS/Route53/CreateHealthCheck.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.CreateHealthCheck
--- 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,12 +21,10 @@
 -- This action creates a new health check.
 --
 -- To create a new health check, send a 'POST' request to the
--- '2013-04-01\/healthcheck' resource. The request body must include an XML
--- document with a 'CreateHealthCheckRequest' element. The response returns
--- the 'CreateHealthCheckResponse' element that contains metadata about the
--- health check.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHealthCheck.html AWS API Reference> for CreateHealthCheck.
+-- '\/Route 53 API version\/healthcheck' resource. The request body must
+-- include a document with a 'CreateHealthCheckRequest' element. The
+-- response returns the 'CreateHealthCheckResponse' element that contains
+-- metadata about the health check.
 module Network.AWS.Route53.CreateHealthCheck
     (
     -- * Creating a Request
@@ -104,6 +102,8 @@
                  CreateHealthCheckResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "HealthCheck") <*>
                      (h .# "Location"))
+
+instance Hashable CreateHealthCheck
 
 instance ToElement CreateHealthCheck where
         toElement
diff --git a/gen/Network/AWS/Route53/CreateHostedZone.hs b/gen/Network/AWS/Route53/CreateHostedZone.hs
--- a/gen/Network/AWS/Route53/CreateHostedZone.hs
+++ b/gen/Network/AWS/Route53/CreateHostedZone.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.CreateHostedZone
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,10 +21,10 @@
 -- This action creates a new hosted zone.
 --
 -- To create a new hosted zone, send a 'POST' request to the
--- '2013-04-01\/hostedzone' resource. The request body must include an XML
--- document with a 'CreateHostedZoneRequest' element. The response returns
--- the 'CreateHostedZoneResponse' element that contains metadata about the
--- hosted zone.
+-- '\/Route 53 API version\/hostedzone' resource. The request body must
+-- include a document with a 'CreateHostedZoneRequest' element. The
+-- response returns the 'CreateHostedZoneResponse' element that contains
+-- metadata about the hosted zone.
 --
 -- Amazon Route 53 automatically creates a default SOA record and four NS
 -- records for the zone. The NS records in the hosted zone are the name
@@ -41,8 +41,6 @@
 -- When trying to create a hosted zone using a reusable delegation set, you
 -- could specify an optional DelegationSetId, and Route53 would assign
 -- those 4 NS records for the zone, instead of alloting a new one.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html AWS API Reference> for CreateHostedZone.
 module Network.AWS.Route53.CreateHostedZone
     (
     -- * Creating a Request
@@ -165,6 +163,8 @@
                      <*> (x .@ "DelegationSet")
                      <*> (h .# "Location"))
 
+instance Hashable CreateHostedZone
+
 instance ToElement CreateHostedZone where
         toElement
           = mkElement
@@ -248,7 +248,7 @@
 
 -- | A complex type that contains information about the request to create a
 -- hosted zone. This includes an ID that you use when you call the
--- GetChange action to get the current status of the change request.
+-- < GetChange> action to get the current status of the change request.
 chzrsChangeInfo :: Lens' CreateHostedZoneResponse ChangeInfo
 chzrsChangeInfo = lens _chzrsChangeInfo (\ s a -> s{_chzrsChangeInfo = a});
 
diff --git a/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs b/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs
--- a/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs
+++ b/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.CreateReusableDelegationSet
--- 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,15 +21,13 @@
 -- This action creates a reusable delegationSet.
 --
 -- To create a new reusable delegationSet, send a 'POST' request to the
--- '2013-04-01\/delegationset' resource. The request body must include an
--- XML document with a 'CreateReusableDelegationSetRequest' element. The
--- response returns the 'CreateReusableDelegationSetResponse' element that
--- contains metadata about the delegationSet.
+-- '\/Route 53 API version\/delegationset' resource. The request body must
+-- include a document with a 'CreateReusableDelegationSetRequest' element.
+-- The response returns the 'CreateReusableDelegationSetResponse' element
+-- that contains metadata about the delegationSet.
 --
 -- If the optional parameter HostedZoneId is specified, it marks the
 -- delegationSet associated with that particular hosted zone as reusable.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html AWS API Reference> for CreateReusableDelegationSet.
 module Network.AWS.Route53.CreateReusableDelegationSet
     (
     -- * Creating a Request
@@ -105,6 +103,8 @@
                  CreateReusableDelegationSetResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "DelegationSet") <*>
                      (h .# "Location"))
+
+instance Hashable CreateReusableDelegationSet
 
 instance ToElement CreateReusableDelegationSet where
         toElement
diff --git a/gen/Network/AWS/Route53/CreateTrafficPolicy.hs b/gen/Network/AWS/Route53/CreateTrafficPolicy.hs
--- a/gen/Network/AWS/Route53/CreateTrafficPolicy.hs
+++ b/gen/Network/AWS/Route53/CreateTrafficPolicy.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.CreateTrafficPolicy
--- 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,12 +23,10 @@
 -- name (such as www.example.com).
 --
 -- To create a traffic policy, send a 'POST' request to the
--- '2013-04-01\/trafficpolicy' resource. The request body must include an
--- XML document with a 'CreateTrafficPolicyRequest' element. The response
--- includes the 'CreateTrafficPolicyResponse' element, which contains
--- information about the new traffic policy.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateTrafficPolicy.html AWS API Reference> for CreateTrafficPolicy.
+-- '\/Route 53 API version\/trafficpolicy' resource. The request body must
+-- include a document with a 'CreateTrafficPolicyRequest' element. The
+-- response includes the 'CreateTrafficPolicyResponse' element, which
+-- contains information about the new traffic policy.
 module Network.AWS.Route53.CreateTrafficPolicy
     (
     -- * Creating a Request
@@ -107,6 +105,8 @@
                  CreateTrafficPolicyResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "TrafficPolicy") <*>
                      (h .# "Location"))
+
+instance Hashable CreateTrafficPolicy
 
 instance ToElement CreateTrafficPolicy where
         toElement
diff --git a/gen/Network/AWS/Route53/CreateTrafficPolicyInstance.hs b/gen/Network/AWS/Route53/CreateTrafficPolicyInstance.hs
--- a/gen/Network/AWS/Route53/CreateTrafficPolicyInstance.hs
+++ b/gen/Network/AWS/Route53/CreateTrafficPolicyInstance.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.CreateTrafficPolicyInstance
--- 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
@@ -27,12 +27,10 @@
 -- 'CreateTrafficPolicyInstance' created.
 --
 -- To create a traffic policy instance, send a 'POST' request to the
--- '2013-04-01\/trafficpolicyinstance' resource. The request body must
--- include an XML document with a 'CreateTrafficPolicyRequest' element. The
--- response returns the 'CreateTrafficPolicyInstanceResponse' element,
--- which contains information about the traffic policy instance.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateTrafficPolicyInstance.html AWS API Reference> for CreateTrafficPolicyInstance.
+-- '\/Route 53 API version\/trafficpolicyinstance' resource. The request
+-- body must include a document with a 'CreateTrafficPolicyRequest'
+-- element. The response returns the 'CreateTrafficPolicyInstanceResponse'
+-- element, which contains information about the traffic policy instance.
 module Network.AWS.Route53.CreateTrafficPolicyInstance
     (
     -- * Creating a Request
@@ -140,6 +138,8 @@
                    (pure (fromEnum s)) <*>
                      (x .@ "TrafficPolicyInstance")
                      <*> (h .# "Location"))
+
+instance Hashable CreateTrafficPolicyInstance
 
 instance ToElement CreateTrafficPolicyInstance where
         toElement
diff --git a/gen/Network/AWS/Route53/CreateTrafficPolicyVersion.hs b/gen/Network/AWS/Route53/CreateTrafficPolicyVersion.hs
--- a/gen/Network/AWS/Route53/CreateTrafficPolicyVersion.hs
+++ b/gen/Network/AWS/Route53/CreateTrafficPolicyVersion.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.CreateTrafficPolicyVersion
--- 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,12 +28,10 @@
 -- www.example.com).
 --
 -- To create a new version, send a 'POST' request to the
--- '2013-04-01\/trafficpolicy\/' resource. The request body includes an XML
--- document with a 'CreateTrafficPolicyVersionRequest' element. The
--- response returns the 'CreateTrafficPolicyVersionResponse' element, which
--- contains information about the new version of the traffic policy.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateTrafficPolicyVersion.html AWS API Reference> for CreateTrafficPolicyVersion.
+-- '\/Route 53 API version\/trafficpolicy\/' resource. The request body
+-- includes a document with a 'CreateTrafficPolicyVersionRequest' element.
+-- The response returns the 'CreateTrafficPolicyVersionResponse' element,
+-- which contains information about the new version of the traffic policy.
 module Network.AWS.Route53.CreateTrafficPolicyVersion
     (
     -- * Creating a Request
@@ -116,6 +114,8 @@
                  CreateTrafficPolicyVersionResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "TrafficPolicy") <*>
                      (h .# "Location"))
+
+instance Hashable CreateTrafficPolicyVersion
 
 instance ToElement CreateTrafficPolicyVersion where
         toElement
diff --git a/gen/Network/AWS/Route53/DeleteHealthCheck.hs b/gen/Network/AWS/Route53/DeleteHealthCheck.hs
--- a/gen/Network/AWS/Route53/DeleteHealthCheck.hs
+++ b/gen/Network/AWS/Route53/DeleteHealthCheck.hs
@@ -12,15 +12,15 @@
 
 -- |
 -- Module      : Network.AWS.Route53.DeleteHealthCheck
--- 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)
 --
 -- This action deletes a health check. To delete a health check, send a
--- 'DELETE' request to the '2013-04-01\/healthcheck\/health check ID'
--- resource.
+-- 'DELETE' request to the
+-- '\/Route 53 API version\/healthcheck\/health check ID' resource.
 --
 -- You can delete a health check only if there are no resource record sets
 -- associated with this health check. If resource record sets are
@@ -29,9 +29,7 @@
 -- is associated with resource record sets, Amazon Route 53 will deny your
 -- request with a 'HealthCheckInUse' error. For information about
 -- disassociating the records from your health check, see
--- ChangeResourceRecordSets.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteHealthCheck.html AWS API Reference> for DeleteHealthCheck.
+-- < ChangeResourceRecordSets>.
 module Network.AWS.Route53.DeleteHealthCheck
     (
     -- * Creating a Request
@@ -86,6 +84,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeleteHealthCheckResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeleteHealthCheck
 
 instance ToHeaders DeleteHealthCheck where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/DeleteHostedZone.hs b/gen/Network/AWS/Route53/DeleteHostedZone.hs
--- a/gen/Network/AWS/Route53/DeleteHostedZone.hs
+++ b/gen/Network/AWS/Route53/DeleteHostedZone.hs
@@ -12,15 +12,15 @@
 
 -- |
 -- Module      : Network.AWS.Route53.DeleteHostedZone
--- 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)
 --
 -- This action deletes a hosted zone. To delete a hosted zone, send a
--- 'DELETE' request to the '2013-04-01\/hostedzone\/hosted zone ID'
--- resource.
+-- 'DELETE' request to the
+-- '\/Route 53 API version\/hostedzone\/hosted zone ID' resource.
 --
 -- For more information about deleting a hosted zone, see
 -- <http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeleteHostedZone.html Deleting a Hosted Zone>
@@ -32,9 +32,7 @@
 -- before you can delete your hosted zone. If you try to delete a hosted
 -- zone that contains other resource record sets, Amazon Route 53 will deny
 -- your request with a 'HostedZoneNotEmpty' error. For information about
--- deleting records from your hosted zone, see ChangeResourceRecordSets.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteHostedZone.html AWS API Reference> for DeleteHostedZone.
+-- deleting records from your hosted zone, see < ChangeResourceRecordSets>.
 module Network.AWS.Route53.DeleteHostedZone
     (
     -- * Creating a Request
@@ -91,6 +89,8 @@
               (\ s h x ->
                  DeleteHostedZoneResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
+
+instance Hashable DeleteHostedZone
 
 instance ToHeaders DeleteHostedZone where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs b/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs
--- a/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs
+++ b/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.DeleteReusableDelegationSet
--- 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,7 +20,7 @@
 --
 -- This action deletes a reusable delegation set. To delete a reusable
 -- delegation set, send a 'DELETE' request to the
--- '2013-04-01\/delegationset\/delegation set ID' resource.
+-- '\/Route 53 API version\/delegationset\/delegation set ID' resource.
 --
 -- You can delete a reusable delegation set only if there are no associated
 -- hosted zones. If your reusable delegation set contains associated hosted
@@ -28,8 +28,6 @@
 -- delegation set. If you try to delete a reusable delegation set that
 -- contains associated hosted zones, Amazon Route 53 will deny your request
 -- with a 'DelegationSetInUse' error.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteReusableDelegationSet.html AWS API Reference> for DeleteReusableDelegationSet.
 module Network.AWS.Route53.DeleteReusableDelegationSet
     (
     -- * Creating a Request
@@ -85,6 +83,8 @@
               (\ s h x ->
                  DeleteReusableDelegationSetResponse' <$>
                    (pure (fromEnum s)))
+
+instance Hashable DeleteReusableDelegationSet
 
 instance ToHeaders DeleteReusableDelegationSet where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/DeleteTrafficPolicy.hs b/gen/Network/AWS/Route53/DeleteTrafficPolicy.hs
--- a/gen/Network/AWS/Route53/DeleteTrafficPolicy.hs
+++ b/gen/Network/AWS/Route53/DeleteTrafficPolicy.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.Route53.DeleteTrafficPolicy
--- 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 traffic policy. To delete a traffic policy, send a 'DELETE'
--- request to the '2013-04-01\/trafficpolicy' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.html AWS API Reference> for DeleteTrafficPolicy.
+-- request to the '\/Route 53 API version\/trafficpolicy' resource.
 module Network.AWS.Route53.DeleteTrafficPolicy
     (
     -- * Creating a Request
@@ -86,6 +84,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeleteTrafficPolicyResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeleteTrafficPolicy
 
 instance ToHeaders DeleteTrafficPolicy where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/DeleteTrafficPolicyInstance.hs b/gen/Network/AWS/Route53/DeleteTrafficPolicyInstance.hs
--- a/gen/Network/AWS/Route53/DeleteTrafficPolicyInstance.hs
+++ b/gen/Network/AWS/Route53/DeleteTrafficPolicyInstance.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.DeleteTrafficPolicyInstance
--- 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,13 +22,12 @@
 -- that Amazon Route 53 created when you created the instance.
 --
 -- To delete a traffic policy instance, send a 'DELETE' request to the
--- '2013-04-01\/trafficpolicy\/traffic policy instance ID' resource.
+-- '\/Route 53 API version\/trafficpolicy\/traffic policy instance ID'
+-- resource.
 --
 -- When you delete a traffic policy instance, Amazon Route 53 also deletes
 -- all of the resource record sets that were created when you created the
 -- traffic policy instance.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicyInstance.html AWS API Reference> for DeleteTrafficPolicyInstance.
 module Network.AWS.Route53.DeleteTrafficPolicyInstance
     (
     -- * Creating a Request
@@ -89,6 +88,8 @@
               (\ s h x ->
                  DeleteTrafficPolicyInstanceResponse' <$>
                    (pure (fromEnum s)))
+
+instance Hashable DeleteTrafficPolicyInstance
 
 instance ToHeaders DeleteTrafficPolicyInstance where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs b/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs
--- a/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs
+++ b/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.DisassociateVPCFromHostedZone
--- 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,15 +21,13 @@
 -- This action disassociates a VPC from an hosted zone.
 --
 -- To disassociate a VPC to a hosted zone, send a 'POST' request to the
--- '2013-04-01\/hostedzone\/hosted zone ID\/disassociatevpc' resource. The
--- request body must include an XML document with a
+-- '\/Route 53 API version\/hostedzone\/hosted zone ID\/disassociatevpc'
+-- resource. The request body must include a document with a
 -- 'DisassociateVPCFromHostedZoneRequest' element. The response returns the
 -- 'DisassociateVPCFromHostedZoneResponse' element that contains
 -- 'ChangeInfo' for you to track the progress of the
 -- 'DisassociateVPCFromHostedZoneRequest' you made. See 'GetChange'
 -- operation for how to track the progress of your change.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_DisassociateVPCFromHostedZone.html AWS API Reference> for DisassociateVPCFromHostedZone.
 module Network.AWS.Route53.DisassociateVPCFromHostedZone
     (
     -- * Creating a Request
@@ -110,6 +108,8 @@
               (\ s h x ->
                  DisassociateVPCFromHostedZoneResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
+
+instance Hashable DisassociateVPCFromHostedZone
 
 instance ToElement DisassociateVPCFromHostedZone
          where
diff --git a/gen/Network/AWS/Route53/GetChange.hs b/gen/Network/AWS/Route53/GetChange.hs
--- a/gen/Network/AWS/Route53/GetChange.hs
+++ b/gen/Network/AWS/Route53/GetChange.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetChange
--- 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
@@ -27,8 +27,6 @@
 --
 -- - 'INSYNC' indicates that the changes have replicated to all Amazon
 -- Route 53 DNS servers.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html AWS API Reference> for GetChange.
 module Network.AWS.Route53.GetChange
     (
     -- * Creating a Request
@@ -86,6 +84,8 @@
               (\ s h x ->
                  GetChangeResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
+
+instance Hashable GetChange
 
 instance ToHeaders GetChange where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetChangeDetails.hs b/gen/Network/AWS/Route53/GetChangeDetails.hs
deleted file mode 100644
--- a/gen/Network/AWS/Route53/GetChangeDetails.hs
+++ /dev/null
@@ -1,125 +0,0 @@
-{-# 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.Route53.GetChangeDetails
--- Copyright   : (c) 2013-2015 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)
---
--- This action returns the status and changes of a change batch request.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChangeDetails.html AWS API Reference> for GetChangeDetails.
-module Network.AWS.Route53.GetChangeDetails
-    (
-    -- * Creating a Request
-      getChangeDetails
-    , GetChangeDetails
-    -- * Request Lenses
-    , gcdId
-
-    -- * Destructuring the Response
-    , getChangeDetailsResponse
-    , GetChangeDetailsResponse
-    -- * Response Lenses
-    , gcdrsResponseStatus
-    , gcdrsChangeBatchRecord
-    ) where
-
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.Route53.Types
-import           Network.AWS.Route53.Types.Product
-
--- | The input for a GetChangeDetails request.
---
--- /See:/ 'getChangeDetails' smart constructor.
-newtype GetChangeDetails = GetChangeDetails'
-    { _gcdId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'GetChangeDetails' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcdId'
-getChangeDetails
-    :: Text -- ^ 'gcdId'
-    -> GetChangeDetails
-getChangeDetails pId_ =
-    GetChangeDetails'
-    { _gcdId = pId_
-    }
-
--- | The ID of the change batch request. The value that you specify here is
--- the value that 'ChangeResourceRecordSets' returned in the Id element
--- when you submitted the request.
-gcdId :: Lens' GetChangeDetails Text
-gcdId = lens _gcdId (\ s a -> s{_gcdId = a});
-
-instance AWSRequest GetChangeDetails where
-        type Rs GetChangeDetails = GetChangeDetailsResponse
-        request = get route53
-        response
-          = receiveXML
-              (\ s h x ->
-                 GetChangeDetailsResponse' <$>
-                   (pure (fromEnum s)) <*> (x .@ "ChangeBatchRecord"))
-
-instance ToHeaders GetChangeDetails where
-        toHeaders = const mempty
-
-instance ToPath GetChangeDetails where
-        toPath GetChangeDetails'{..}
-          = mconcat ["/2013-04-01/changedetails/", toBS _gcdId]
-
-instance ToQuery GetChangeDetails where
-        toQuery = const mempty
-
--- | A complex type that contains the 'ChangeBatchRecord' element.
---
--- /See:/ 'getChangeDetailsResponse' smart constructor.
-data GetChangeDetailsResponse = GetChangeDetailsResponse'
-    { _gcdrsResponseStatus    :: !Int
-    , _gcdrsChangeBatchRecord :: !ChangeBatchRecord
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'GetChangeDetailsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcdrsResponseStatus'
---
--- * 'gcdrsChangeBatchRecord'
-getChangeDetailsResponse
-    :: Int -- ^ 'gcdrsResponseStatus'
-    -> ChangeBatchRecord -- ^ 'gcdrsChangeBatchRecord'
-    -> GetChangeDetailsResponse
-getChangeDetailsResponse pResponseStatus_ pChangeBatchRecord_ =
-    GetChangeDetailsResponse'
-    { _gcdrsResponseStatus = pResponseStatus_
-    , _gcdrsChangeBatchRecord = pChangeBatchRecord_
-    }
-
--- | The response status code.
-gcdrsResponseStatus :: Lens' GetChangeDetailsResponse Int
-gcdrsResponseStatus = lens _gcdrsResponseStatus (\ s a -> s{_gcdrsResponseStatus = a});
-
--- | A complex type that contains information about the specified change
--- batch, including the change batch ID, the status of the change, and the
--- contained changes.
-gcdrsChangeBatchRecord :: Lens' GetChangeDetailsResponse ChangeBatchRecord
-gcdrsChangeBatchRecord = lens _gcdrsChangeBatchRecord (\ s a -> s{_gcdrsChangeBatchRecord = a});
diff --git a/gen/Network/AWS/Route53/GetCheckerIPRanges.hs b/gen/Network/AWS/Route53/GetCheckerIPRanges.hs
--- a/gen/Network/AWS/Route53/GetCheckerIPRanges.hs
+++ b/gen/Network/AWS/Route53/GetCheckerIPRanges.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetCheckerIPRanges
--- 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,11 +20,9 @@
 --
 -- To retrieve a list of the IP ranges used by Amazon Route 53 health
 -- checkers to check the health of your resources, send a 'GET' request to
--- the '2013-04-01\/checkeripranges' resource. You can use these IP
--- addresses to configure router and firewall rules to allow health
--- checkers to check the health of your resources.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetCheckerIPRanges.html AWS API Reference> for GetCheckerIPRanges.
+-- the '\/Route 53 API version\/checkeripranges' resource. You can use
+-- these IP addresses to configure router and firewall rules to allow
+-- health checkers to check the health of your resources.
 module Network.AWS.Route53.GetCheckerIPRanges
     (
     -- * Creating a Request
@@ -70,6 +68,8 @@
                    (pure (fromEnum s)) <*>
                      (x .@? "CheckerIpRanges" .!@ mempty >>=
                         parseXMLList "member"))
+
+instance Hashable GetCheckerIPRanges
 
 instance ToHeaders GetCheckerIPRanges where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetGeoLocation.hs b/gen/Network/AWS/Route53/GetGeoLocation.hs
--- a/gen/Network/AWS/Route53/GetGeoLocation.hs
+++ b/gen/Network/AWS/Route53/GetGeoLocation.hs
@@ -12,17 +12,15 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetGeoLocation
--- 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)
 --
 -- To retrieve a single geo location, send a 'GET' request to the
--- '2013-04-01\/geolocation' resource with one of these options:
--- continentcode | countrycode | countrycode and subdivisioncode.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetGeoLocation.html AWS API Reference> for GetGeoLocation.
+-- '\/Route 53 API version\/geolocation' resource with one of these
+-- options: continentcode | countrycode | countrycode and subdivisioncode.
 module Network.AWS.Route53.GetGeoLocation
     (
     -- * Creating a Request
@@ -80,7 +78,7 @@
 -- subdivision code is only valid with the appropriate country code.
 --
 -- Constraint: Specifying 'SubdivisionCode' without 'CountryCode' returns
--- an InvalidInput error.
+-- an < InvalidInput> error.
 gglSubdivisionCode :: Lens' GetGeoLocation (Maybe Text)
 gglSubdivisionCode = lens _gglSubdivisionCode (\ s a -> s{_gglSubdivisionCode = a});
 
@@ -99,7 +97,7 @@
 -- Valid values: 'AF' | 'AN' | 'AS' | 'EU' | 'OC' | 'NA' | 'SA'
 --
 -- Constraint: Specifying 'ContinentCode' with either 'CountryCode' or
--- 'SubdivisionCode' returns an InvalidInput error.
+-- 'SubdivisionCode' returns an < InvalidInput> error.
 gglContinentCode :: Lens' GetGeoLocation (Maybe Text)
 gglContinentCode = lens _gglContinentCode (\ s a -> s{_gglContinentCode = a});
 
@@ -111,6 +109,8 @@
               (\ s h x ->
                  GetGeoLocationResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "GeoLocationDetails"))
+
+instance Hashable GetGeoLocation
 
 instance ToHeaders GetGeoLocation where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetHealthCheck.hs b/gen/Network/AWS/Route53/GetHealthCheck.hs
--- a/gen/Network/AWS/Route53/GetHealthCheck.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheck.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetHealthCheck
--- 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)
 --
 -- To retrieve the health check, send a 'GET' request to the
--- '2013-04-01\/healthcheck\/health check ID' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHealthCheck.html AWS API Reference> for GetHealthCheck.
+-- '\/Route 53 API version\/healthcheck\/health check ID' resource.
 module Network.AWS.Route53.GetHealthCheck
     (
     -- * Creating a Request
@@ -78,6 +76,8 @@
               (\ s h x ->
                  GetHealthCheckResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "HealthCheck"))
+
+instance Hashable GetHealthCheck
 
 instance ToHeaders GetHealthCheck where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetHealthCheckCount.hs b/gen/Network/AWS/Route53/GetHealthCheckCount.hs
--- a/gen/Network/AWS/Route53/GetHealthCheckCount.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheckCount.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetHealthCheckCount
--- 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)
 --
 -- To retrieve a count of all your health checks, send a 'GET' request to
--- the '2013-04-01\/healthcheckcount' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHealthCheckCount.html AWS API Reference> for GetHealthCheckCount.
+-- the '\/Route 53 API version\/healthcheckcount' resource.
 module Network.AWS.Route53.GetHealthCheckCount
     (
     -- * Creating a Request
@@ -44,7 +42,7 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a count of all your health checks, send a 'GET' request to
--- the '2013-04-01\/healthcheckcount' resource.
+-- the '\/Route 53 API version\/healthcheckcount' resource.
 --
 -- /See:/ 'getHealthCheckCount' smart constructor.
 data GetHealthCheckCount =
@@ -66,6 +64,8 @@
               (\ s h x ->
                  GetHealthCheckCountResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "HealthCheckCount"))
+
+instance Hashable GetHealthCheckCount
 
 instance ToHeaders GetHealthCheckCount where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs b/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs
--- a/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetHealthCheckLastFailureReason
--- 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,9 +21,8 @@
 -- If you want to learn why a health check is currently failing or why it
 -- failed most recently (if at all), you can get the failure reason for the
 -- most recent failure. Send a 'GET' request to the
--- '2013-04-01\/healthcheck\/health check ID\/lastfailurereason' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHealthCheckLastFailureReason.html AWS API Reference> for GetHealthCheckLastFailureReason.
+-- '\/Route 53 API version\/healthcheck\/health check ID\/lastfailurereason'
+-- resource.
 module Network.AWS.Route53.GetHealthCheckLastFailureReason
     (
     -- * Creating a Request
@@ -85,6 +84,8 @@
                    (pure (fromEnum s)) <*>
                      (x .@? "HealthCheckObservations" .!@ mempty >>=
                         parseXMLList "HealthCheckObservation"))
+
+instance Hashable GetHealthCheckLastFailureReason
 
 instance ToHeaders GetHealthCheckLastFailureReason
          where
diff --git a/gen/Network/AWS/Route53/GetHealthCheckStatus.hs b/gen/Network/AWS/Route53/GetHealthCheckStatus.hs
--- a/gen/Network/AWS/Route53/GetHealthCheckStatus.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheckStatus.hs
@@ -12,17 +12,15 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetHealthCheckStatus
--- 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)
 --
 -- To retrieve the health check status, send a 'GET' request to the
--- '2013-04-01\/healthcheck\/health check ID\/status' resource. You can use
--- this call to get a health check\'s current status.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHealthCheckStatus.html AWS API Reference> for GetHealthCheckStatus.
+-- '\/Route 53 API version\/healthcheck\/health check ID\/status' resource.
+-- You can use this call to get a health check\'s current status.
 module Network.AWS.Route53.GetHealthCheckStatus
     (
     -- * Creating a Request
@@ -97,7 +95,7 @@
 --     or failover alias resource record set, and you specify health check
 --     IDs for all of the resource record sets that are referenced by the
 --     alias resource record sets. For more information about this
---     configuration, see EvaluateTargetHealth.
+--     configuration, see < EvaluateTargetHealth>.
 --
 --     Amazon Route 53 doesn\'t check the health of the endpoint specified
 --     in the resource record set, for example, the endpoint specified by
@@ -143,6 +141,8 @@
                    (pure (fromEnum s)) <*>
                      (x .@? "HealthCheckObservations" .!@ mempty >>=
                         parseXMLList "HealthCheckObservation"))
+
+instance Hashable GetHealthCheckStatus
 
 instance ToHeaders GetHealthCheckStatus where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetHostedZone.hs b/gen/Network/AWS/Route53/GetHostedZone.hs
--- a/gen/Network/AWS/Route53/GetHostedZone.hs
+++ b/gen/Network/AWS/Route53/GetHostedZone.hs
@@ -12,18 +12,16 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetHostedZone
--- 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)
 --
 -- To retrieve the delegation set for a hosted zone, send a 'GET' request
--- to the '2013-04-01\/hostedzone\/hosted zone ID' resource. The delegation
--- set is the four Amazon Route 53 name servers that were assigned to the
--- hosted zone when you created it.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHostedZone.html AWS API Reference> for GetHostedZone.
+-- to the '\/Route 53 API version\/hostedzone\/hosted zone ID' resource.
+-- The delegation set is the four Amazon Route 53 name servers that were
+-- assigned to the hosted zone when you created it.
 module Network.AWS.Route53.GetHostedZone
     (
     -- * Creating a Request
@@ -86,6 +84,8 @@
                      <*> (x .@? "DelegationSet")
                      <*> (pure (fromEnum s))
                      <*> (x .@ "HostedZone"))
+
+instance Hashable GetHostedZone
 
 instance ToHeaders GetHostedZone where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetHostedZoneCount.hs b/gen/Network/AWS/Route53/GetHostedZoneCount.hs
--- a/gen/Network/AWS/Route53/GetHostedZoneCount.hs
+++ b/gen/Network/AWS/Route53/GetHostedZoneCount.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetHostedZoneCount
--- 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)
 --
 -- To retrieve a count of all your hosted zones, send a 'GET' request to
--- the '2013-04-01\/hostedzonecount' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHostedZoneCount.html AWS API Reference> for GetHostedZoneCount.
+-- the '\/Route 53 API version\/hostedzonecount' resource.
 module Network.AWS.Route53.GetHostedZoneCount
     (
     -- * Creating a Request
@@ -44,7 +42,7 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a count of all your hosted zones, send a 'GET' request to
--- the '2013-04-01\/hostedzonecount' resource.
+-- the '\/Route 53 API version\/hostedzonecount' resource.
 --
 -- /See:/ 'getHostedZoneCount' smart constructor.
 data GetHostedZoneCount =
@@ -66,6 +64,8 @@
               (\ s h x ->
                  GetHostedZoneCountResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "HostedZoneCount"))
+
+instance Hashable GetHostedZoneCount
 
 instance ToHeaders GetHostedZoneCount where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetReusableDelegationSet.hs b/gen/Network/AWS/Route53/GetReusableDelegationSet.hs
--- a/gen/Network/AWS/Route53/GetReusableDelegationSet.hs
+++ b/gen/Network/AWS/Route53/GetReusableDelegationSet.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetReusableDelegationSet
--- 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)
 --
 -- To retrieve the reusable delegation set, send a 'GET' request to the
--- '2013-04-01\/delegationset\/delegation set ID' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetReusableDelegationSet.html AWS API Reference> for GetReusableDelegationSet.
+-- '\/Route 53 API version\/delegationset\/delegation set ID' resource.
 module Network.AWS.Route53.GetReusableDelegationSet
     (
     -- * Creating a Request
@@ -45,7 +43,7 @@
 import           Network.AWS.Route53.Types
 import           Network.AWS.Route53.Types.Product
 
--- | The input for a GetReusableDelegationSet request.
+-- | The input for a 'GetReusableDelegationSet' request.
 --
 -- /See:/ 'getReusableDelegationSet' smart constructor.
 newtype GetReusableDelegationSet = GetReusableDelegationSet'
@@ -79,6 +77,8 @@
               (\ s h x ->
                  GetReusableDelegationSetResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "DelegationSet"))
+
+instance Hashable GetReusableDelegationSet
 
 instance ToHeaders GetReusableDelegationSet where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetTrafficPolicy.hs b/gen/Network/AWS/Route53/GetTrafficPolicy.hs
--- a/gen/Network/AWS/Route53/GetTrafficPolicy.hs
+++ b/gen/Network/AWS/Route53/GetTrafficPolicy.hs
@@ -12,17 +12,15 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetTrafficPolicy
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a specific traffic policy version. To get the
--- information, send a 'GET' request to the '2013-04-01\/trafficpolicy'
--- resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicy.html AWS API Reference> for GetTrafficPolicy.
+-- information, send a 'GET' request to the
+-- '\/Route 53 API version\/trafficpolicy' resource.
 module Network.AWS.Route53.GetTrafficPolicy
     (
     -- * Creating a Request
@@ -48,8 +46,9 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | Gets information about a specific traffic policy version. To get the
--- information, send a GET request to the 2013-04-01\/trafficpolicy
--- resource, and specify the ID and the version of the traffic policy.
+-- information, send a GET request to the \//Route 53 API
+-- version/\/trafficpolicy resource, and specify the ID and the version of
+-- the traffic policy.
 --
 -- /See:/ 'getTrafficPolicy' smart constructor.
 data GetTrafficPolicy = GetTrafficPolicy'
@@ -91,6 +90,8 @@
               (\ s h x ->
                  GetTrafficPolicyResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "TrafficPolicy"))
+
+instance Hashable GetTrafficPolicy
 
 instance ToHeaders GetTrafficPolicy where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetTrafficPolicyInstance.hs b/gen/Network/AWS/Route53/GetTrafficPolicyInstance.hs
--- a/gen/Network/AWS/Route53/GetTrafficPolicyInstance.hs
+++ b/gen/Network/AWS/Route53/GetTrafficPolicyInstance.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetTrafficPolicyInstance
--- 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,15 +21,13 @@
 -- Gets information about a specified traffic policy instance.
 --
 -- To get information about the traffic policy instance, send a 'GET'
--- request to the '2013-04-01\/trafficpolicyinstance' resource.
+-- request to the '\/Route 53 API version\/trafficpolicyinstance' resource.
 --
 -- After you submit a 'CreateTrafficPolicyInstance' or an
 -- 'UpdateTrafficPolicyInstance' request, there\'s a brief delay while
 -- Amazon Route 53 creates the resource record sets that are specified in
--- the traffic policy definition. For more information, see the State
+-- the traffic policy definition. For more information, see the < State>
 -- response element.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicyInstance.html AWS API Reference> for GetTrafficPolicyInstance.
 module Network.AWS.Route53.GetTrafficPolicyInstance
     (
     -- * Creating a Request
@@ -56,7 +54,7 @@
 -- | Gets information about a specified traffic policy instance.
 --
 -- To get information about a traffic policy instance, send a 'GET' request
--- to the '2013-04-01\/trafficpolicyinstance\/Id' resource.
+-- to the '\/Route 53 API version\/trafficpolicyinstance\/Id' resource.
 --
 -- /See:/ 'getTrafficPolicyInstance' smart constructor.
 newtype GetTrafficPolicyInstance = GetTrafficPolicyInstance'
@@ -91,6 +89,8 @@
                  GetTrafficPolicyInstanceResponse' <$>
                    (pure (fromEnum s)) <*>
                      (x .@ "TrafficPolicyInstance"))
+
+instance Hashable GetTrafficPolicyInstance
 
 instance ToHeaders GetTrafficPolicyInstance where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/GetTrafficPolicyInstanceCount.hs b/gen/Network/AWS/Route53/GetTrafficPolicyInstanceCount.hs
--- a/gen/Network/AWS/Route53/GetTrafficPolicyInstanceCount.hs
+++ b/gen/Network/AWS/Route53/GetTrafficPolicyInstanceCount.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.GetTrafficPolicyInstanceCount
--- 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,9 +22,7 @@
 -- current AWS account.
 --
 -- To get the number of traffic policy instances, send a 'GET' request to
--- the '2013-04-01\/trafficpolicyinstancecount' resource.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicyInstanceCount.html AWS API Reference> for GetTrafficPolicyInstanceCount.
+-- the '\/Route 53 API version\/trafficpolicyinstancecount' resource.
 module Network.AWS.Route53.GetTrafficPolicyInstanceCount
     (
     -- * Creating a Request
@@ -47,7 +45,8 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a count of all your traffic policy instances, send a 'GET'
--- request to the '2013-04-01\/trafficpolicyinstancecount' resource.
+-- request to the '\/Route 53 API version\/trafficpolicyinstancecount'
+-- resource.
 --
 -- /See:/ 'getTrafficPolicyInstanceCount' smart constructor.
 data GetTrafficPolicyInstanceCount =
@@ -71,6 +70,8 @@
                  GetTrafficPolicyInstanceCountResponse' <$>
                    (pure (fromEnum s)) <*>
                      (x .@ "TrafficPolicyInstanceCount"))
+
+instance Hashable GetTrafficPolicyInstanceCount
 
 instance ToHeaders GetTrafficPolicyInstanceCount
          where
diff --git a/gen/Network/AWS/Route53/ListChangeBatchesByHostedZone.hs b/gen/Network/AWS/Route53/ListChangeBatchesByHostedZone.hs
deleted file mode 100644
--- a/gen/Network/AWS/Route53/ListChangeBatchesByHostedZone.hs
+++ /dev/null
@@ -1,214 +0,0 @@
-{-# 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.Route53.ListChangeBatchesByHostedZone
--- Copyright   : (c) 2013-2015 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)
---
--- This action gets the list of ChangeBatches in a given time period for a
--- given hosted zone.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListChangeBatchesByHostedZone.html AWS API Reference> for ListChangeBatchesByHostedZone.
-module Network.AWS.Route53.ListChangeBatchesByHostedZone
-    (
-    -- * Creating a Request
-      listChangeBatchesByHostedZone
-    , ListChangeBatchesByHostedZone
-    -- * Request Lenses
-    , lcbbhzMarker
-    , lcbbhzMaxItems
-    , lcbbhzHostedZoneId
-    , lcbbhzStartDate
-    , lcbbhzEndDate
-
-    -- * Destructuring the Response
-    , listChangeBatchesByHostedZoneResponse
-    , ListChangeBatchesByHostedZoneResponse
-    -- * Response Lenses
-    , lcbbhzrsNextMarker
-    , lcbbhzrsIsTruncated
-    , lcbbhzrsResponseStatus
-    , lcbbhzrsMaxItems
-    , lcbbhzrsMarker
-    , lcbbhzrsChangeBatchRecords
-    ) where
-
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.Route53.Types
-import           Network.AWS.Route53.Types.Product
-
--- | The input for a ListChangeBatchesByHostedZone request.
---
--- /See:/ 'listChangeBatchesByHostedZone' smart constructor.
-data ListChangeBatchesByHostedZone = ListChangeBatchesByHostedZone'
-    { _lcbbhzMarker       :: !(Maybe Text)
-    , _lcbbhzMaxItems     :: !(Maybe Text)
-    , _lcbbhzHostedZoneId :: !Text
-    , _lcbbhzStartDate    :: !Text
-    , _lcbbhzEndDate      :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListChangeBatchesByHostedZone' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lcbbhzMarker'
---
--- * 'lcbbhzMaxItems'
---
--- * 'lcbbhzHostedZoneId'
---
--- * 'lcbbhzStartDate'
---
--- * 'lcbbhzEndDate'
-listChangeBatchesByHostedZone
-    :: Text -- ^ 'lcbbhzHostedZoneId'
-    -> Text -- ^ 'lcbbhzStartDate'
-    -> Text -- ^ 'lcbbhzEndDate'
-    -> ListChangeBatchesByHostedZone
-listChangeBatchesByHostedZone pHostedZoneId_ pStartDate_ pEndDate_ =
-    ListChangeBatchesByHostedZone'
-    { _lcbbhzMarker = Nothing
-    , _lcbbhzMaxItems = Nothing
-    , _lcbbhzHostedZoneId = pHostedZoneId_
-    , _lcbbhzStartDate = pStartDate_
-    , _lcbbhzEndDate = pEndDate_
-    }
-
--- | The page marker.
-lcbbhzMarker :: Lens' ListChangeBatchesByHostedZone (Maybe Text)
-lcbbhzMarker = lens _lcbbhzMarker (\ s a -> s{_lcbbhzMarker = a});
-
--- | The maximum number of items on a page.
-lcbbhzMaxItems :: Lens' ListChangeBatchesByHostedZone (Maybe Text)
-lcbbhzMaxItems = lens _lcbbhzMaxItems (\ s a -> s{_lcbbhzMaxItems = a});
-
--- | The ID of the hosted zone that you want to see changes for.
-lcbbhzHostedZoneId :: Lens' ListChangeBatchesByHostedZone Text
-lcbbhzHostedZoneId = lens _lcbbhzHostedZoneId (\ s a -> s{_lcbbhzHostedZoneId = a});
-
--- | The start of the time period you want to see changes for.
-lcbbhzStartDate :: Lens' ListChangeBatchesByHostedZone Text
-lcbbhzStartDate = lens _lcbbhzStartDate (\ s a -> s{_lcbbhzStartDate = a});
-
--- | The end of the time period you want to see changes for.
-lcbbhzEndDate :: Lens' ListChangeBatchesByHostedZone Text
-lcbbhzEndDate = lens _lcbbhzEndDate (\ s a -> s{_lcbbhzEndDate = a});
-
-instance AWSRequest ListChangeBatchesByHostedZone
-         where
-        type Rs ListChangeBatchesByHostedZone =
-             ListChangeBatchesByHostedZoneResponse
-        request = get route53
-        response
-          = receiveXML
-              (\ s h x ->
-                 ListChangeBatchesByHostedZoneResponse' <$>
-                   (x .@? "NextMarker") <*> (x .@? "IsTruncated") <*>
-                     (pure (fromEnum s))
-                     <*> (x .@ "MaxItems")
-                     <*> (x .@ "Marker")
-                     <*>
-                     (x .@? "ChangeBatchRecords" .!@ mempty >>=
-                        parseXMLList1 "ChangeBatchRecord"))
-
-instance ToHeaders ListChangeBatchesByHostedZone
-         where
-        toHeaders = const mempty
-
-instance ToPath ListChangeBatchesByHostedZone where
-        toPath ListChangeBatchesByHostedZone'{..}
-          = mconcat
-              ["/2013-04-01/hostedzone/", toBS _lcbbhzHostedZoneId,
-               "/changes"]
-
-instance ToQuery ListChangeBatchesByHostedZone where
-        toQuery ListChangeBatchesByHostedZone'{..}
-          = mconcat
-              ["marker" =: _lcbbhzMarker,
-               "maxItems" =: _lcbbhzMaxItems,
-               "startDate" =: _lcbbhzStartDate,
-               "endDate" =: _lcbbhzEndDate]
-
--- | The input for a ListChangeBatchesByHostedZone request.
---
--- /See:/ 'listChangeBatchesByHostedZoneResponse' smart constructor.
-data ListChangeBatchesByHostedZoneResponse = ListChangeBatchesByHostedZoneResponse'
-    { _lcbbhzrsNextMarker         :: !(Maybe Text)
-    , _lcbbhzrsIsTruncated        :: !(Maybe Bool)
-    , _lcbbhzrsResponseStatus     :: !Int
-    , _lcbbhzrsMaxItems           :: !Text
-    , _lcbbhzrsMarker             :: !Text
-    , _lcbbhzrsChangeBatchRecords :: !(List1 ChangeBatchRecord)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListChangeBatchesByHostedZoneResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lcbbhzrsNextMarker'
---
--- * 'lcbbhzrsIsTruncated'
---
--- * 'lcbbhzrsResponseStatus'
---
--- * 'lcbbhzrsMaxItems'
---
--- * 'lcbbhzrsMarker'
---
--- * 'lcbbhzrsChangeBatchRecords'
-listChangeBatchesByHostedZoneResponse
-    :: Int -- ^ 'lcbbhzrsResponseStatus'
-    -> Text -- ^ 'lcbbhzrsMaxItems'
-    -> Text -- ^ 'lcbbhzrsMarker'
-    -> NonEmpty ChangeBatchRecord -- ^ 'lcbbhzrsChangeBatchRecords'
-    -> ListChangeBatchesByHostedZoneResponse
-listChangeBatchesByHostedZoneResponse pResponseStatus_ pMaxItems_ pMarker_ pChangeBatchRecords_ =
-    ListChangeBatchesByHostedZoneResponse'
-    { _lcbbhzrsNextMarker = Nothing
-    , _lcbbhzrsIsTruncated = Nothing
-    , _lcbbhzrsResponseStatus = pResponseStatus_
-    , _lcbbhzrsMaxItems = pMaxItems_
-    , _lcbbhzrsMarker = pMarker_
-    , _lcbbhzrsChangeBatchRecords = _List1 # pChangeBatchRecords_
-    }
-
--- | The next page marker.
-lcbbhzrsNextMarker :: Lens' ListChangeBatchesByHostedZoneResponse (Maybe Text)
-lcbbhzrsNextMarker = lens _lcbbhzrsNextMarker (\ s a -> s{_lcbbhzrsNextMarker = a});
-
--- | A flag that indicates if there are more change batches to list.
-lcbbhzrsIsTruncated :: Lens' ListChangeBatchesByHostedZoneResponse (Maybe Bool)
-lcbbhzrsIsTruncated = lens _lcbbhzrsIsTruncated (\ s a -> s{_lcbbhzrsIsTruncated = a});
-
--- | The response status code.
-lcbbhzrsResponseStatus :: Lens' ListChangeBatchesByHostedZoneResponse Int
-lcbbhzrsResponseStatus = lens _lcbbhzrsResponseStatus (\ s a -> s{_lcbbhzrsResponseStatus = a});
-
--- | The maximum number of items on a page.
-lcbbhzrsMaxItems :: Lens' ListChangeBatchesByHostedZoneResponse Text
-lcbbhzrsMaxItems = lens _lcbbhzrsMaxItems (\ s a -> s{_lcbbhzrsMaxItems = a});
-
--- | The page marker.
-lcbbhzrsMarker :: Lens' ListChangeBatchesByHostedZoneResponse Text
-lcbbhzrsMarker = lens _lcbbhzrsMarker (\ s a -> s{_lcbbhzrsMarker = a});
-
--- | The change batches within the given hosted zone and time period.
-lcbbhzrsChangeBatchRecords :: Lens' ListChangeBatchesByHostedZoneResponse (NonEmpty ChangeBatchRecord)
-lcbbhzrsChangeBatchRecords = lens _lcbbhzrsChangeBatchRecords (\ s a -> s{_lcbbhzrsChangeBatchRecords = a}) . _List1;
diff --git a/gen/Network/AWS/Route53/ListChangeBatchesByRRSet.hs b/gen/Network/AWS/Route53/ListChangeBatchesByRRSet.hs
deleted file mode 100644
--- a/gen/Network/AWS/Route53/ListChangeBatchesByRRSet.hs
+++ /dev/null
@@ -1,243 +0,0 @@
-{-# 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.Route53.ListChangeBatchesByRRSet
--- Copyright   : (c) 2013-2015 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)
---
--- This action gets the list of ChangeBatches in a given time period for a
--- given hosted zone and RRSet.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListChangeBatchesByRRSet.html AWS API Reference> for ListChangeBatchesByRRSet.
-module Network.AWS.Route53.ListChangeBatchesByRRSet
-    (
-    -- * Creating a Request
-      listChangeBatchesByRRSet
-    , ListChangeBatchesByRRSet
-    -- * Request Lenses
-    , lcbbrrsSetIdentifier
-    , lcbbrrsMarker
-    , lcbbrrsMaxItems
-    , lcbbrrsHostedZoneId
-    , lcbbrrsName
-    , lcbbrrsType
-    , lcbbrrsStartDate
-    , lcbbrrsEndDate
-
-    -- * Destructuring the Response
-    , listChangeBatchesByRRSetResponse
-    , ListChangeBatchesByRRSetResponse
-    -- * Response Lenses
-    , lcbbrrsrsNextMarker
-    , lcbbrrsrsIsTruncated
-    , lcbbrrsrsResponseStatus
-    , lcbbrrsrsMaxItems
-    , lcbbrrsrsMarker
-    , lcbbrrsrsChangeBatchRecords
-    ) where
-
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.Route53.Types
-import           Network.AWS.Route53.Types.Product
-
--- | The input for a ListChangeBatchesByRRSet request.
---
--- /See:/ 'listChangeBatchesByRRSet' smart constructor.
-data ListChangeBatchesByRRSet = ListChangeBatchesByRRSet'
-    { _lcbbrrsSetIdentifier :: !(Maybe Text)
-    , _lcbbrrsMarker        :: !(Maybe Text)
-    , _lcbbrrsMaxItems      :: !(Maybe Text)
-    , _lcbbrrsHostedZoneId  :: !Text
-    , _lcbbrrsName          :: !Text
-    , _lcbbrrsType          :: !RecordType
-    , _lcbbrrsStartDate     :: !Text
-    , _lcbbrrsEndDate       :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListChangeBatchesByRRSet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lcbbrrsSetIdentifier'
---
--- * 'lcbbrrsMarker'
---
--- * 'lcbbrrsMaxItems'
---
--- * 'lcbbrrsHostedZoneId'
---
--- * 'lcbbrrsName'
---
--- * 'lcbbrrsType'
---
--- * 'lcbbrrsStartDate'
---
--- * 'lcbbrrsEndDate'
-listChangeBatchesByRRSet
-    :: Text -- ^ 'lcbbrrsHostedZoneId'
-    -> Text -- ^ 'lcbbrrsName'
-    -> RecordType -- ^ 'lcbbrrsType'
-    -> Text -- ^ 'lcbbrrsStartDate'
-    -> Text -- ^ 'lcbbrrsEndDate'
-    -> ListChangeBatchesByRRSet
-listChangeBatchesByRRSet pHostedZoneId_ pName_ pType_ pStartDate_ pEndDate_ =
-    ListChangeBatchesByRRSet'
-    { _lcbbrrsSetIdentifier = Nothing
-    , _lcbbrrsMarker = Nothing
-    , _lcbbrrsMaxItems = Nothing
-    , _lcbbrrsHostedZoneId = pHostedZoneId_
-    , _lcbbrrsName = pName_
-    , _lcbbrrsType = pType_
-    , _lcbbrrsStartDate = pStartDate_
-    , _lcbbrrsEndDate = pEndDate_
-    }
-
--- | The identifier of the RRSet that you want to see changes for.
-lcbbrrsSetIdentifier :: Lens' ListChangeBatchesByRRSet (Maybe Text)
-lcbbrrsSetIdentifier = lens _lcbbrrsSetIdentifier (\ s a -> s{_lcbbrrsSetIdentifier = a});
-
--- | The page marker.
-lcbbrrsMarker :: Lens' ListChangeBatchesByRRSet (Maybe Text)
-lcbbrrsMarker = lens _lcbbrrsMarker (\ s a -> s{_lcbbrrsMarker = a});
-
--- | The maximum number of items on a page.
-lcbbrrsMaxItems :: Lens' ListChangeBatchesByRRSet (Maybe Text)
-lcbbrrsMaxItems = lens _lcbbrrsMaxItems (\ s a -> s{_lcbbrrsMaxItems = a});
-
--- | The ID of the hosted zone that you want to see changes for.
-lcbbrrsHostedZoneId :: Lens' ListChangeBatchesByRRSet Text
-lcbbrrsHostedZoneId = lens _lcbbrrsHostedZoneId (\ s a -> s{_lcbbrrsHostedZoneId = a});
-
--- | The name of the RRSet that you want to see changes for.
-lcbbrrsName :: Lens' ListChangeBatchesByRRSet Text
-lcbbrrsName = lens _lcbbrrsName (\ s a -> s{_lcbbrrsName = a});
-
--- | The type of the RRSet that you want to see changes for.
-lcbbrrsType :: Lens' ListChangeBatchesByRRSet RecordType
-lcbbrrsType = lens _lcbbrrsType (\ s a -> s{_lcbbrrsType = a});
-
--- | The start of the time period you want to see changes for.
-lcbbrrsStartDate :: Lens' ListChangeBatchesByRRSet Text
-lcbbrrsStartDate = lens _lcbbrrsStartDate (\ s a -> s{_lcbbrrsStartDate = a});
-
--- | The end of the time period you want to see changes for.
-lcbbrrsEndDate :: Lens' ListChangeBatchesByRRSet Text
-lcbbrrsEndDate = lens _lcbbrrsEndDate (\ s a -> s{_lcbbrrsEndDate = a});
-
-instance AWSRequest ListChangeBatchesByRRSet where
-        type Rs ListChangeBatchesByRRSet =
-             ListChangeBatchesByRRSetResponse
-        request = get route53
-        response
-          = receiveXML
-              (\ s h x ->
-                 ListChangeBatchesByRRSetResponse' <$>
-                   (x .@? "NextMarker") <*> (x .@? "IsTruncated") <*>
-                     (pure (fromEnum s))
-                     <*> (x .@ "MaxItems")
-                     <*> (x .@ "Marker")
-                     <*>
-                     (x .@? "ChangeBatchRecords" .!@ mempty >>=
-                        parseXMLList1 "ChangeBatchRecord"))
-
-instance ToHeaders ListChangeBatchesByRRSet where
-        toHeaders = const mempty
-
-instance ToPath ListChangeBatchesByRRSet where
-        toPath ListChangeBatchesByRRSet'{..}
-          = mconcat
-              ["/2013-04-01/hostedzone/",
-               toBS _lcbbrrsHostedZoneId, "/rrsChanges"]
-
-instance ToQuery ListChangeBatchesByRRSet where
-        toQuery ListChangeBatchesByRRSet'{..}
-          = mconcat
-              ["identifier" =: _lcbbrrsSetIdentifier,
-               "marker" =: _lcbbrrsMarker,
-               "maxItems" =: _lcbbrrsMaxItems,
-               "rrSet_name" =: _lcbbrrsName, "type" =: _lcbbrrsType,
-               "startDate" =: _lcbbrrsStartDate,
-               "endDate" =: _lcbbrrsEndDate]
-
--- | The input for a ListChangeBatchesByRRSet request.
---
--- /See:/ 'listChangeBatchesByRRSetResponse' smart constructor.
-data ListChangeBatchesByRRSetResponse = ListChangeBatchesByRRSetResponse'
-    { _lcbbrrsrsNextMarker         :: !(Maybe Text)
-    , _lcbbrrsrsIsTruncated        :: !(Maybe Bool)
-    , _lcbbrrsrsResponseStatus     :: !Int
-    , _lcbbrrsrsMaxItems           :: !Text
-    , _lcbbrrsrsMarker             :: !Text
-    , _lcbbrrsrsChangeBatchRecords :: !(List1 ChangeBatchRecord)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListChangeBatchesByRRSetResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lcbbrrsrsNextMarker'
---
--- * 'lcbbrrsrsIsTruncated'
---
--- * 'lcbbrrsrsResponseStatus'
---
--- * 'lcbbrrsrsMaxItems'
---
--- * 'lcbbrrsrsMarker'
---
--- * 'lcbbrrsrsChangeBatchRecords'
-listChangeBatchesByRRSetResponse
-    :: Int -- ^ 'lcbbrrsrsResponseStatus'
-    -> Text -- ^ 'lcbbrrsrsMaxItems'
-    -> Text -- ^ 'lcbbrrsrsMarker'
-    -> NonEmpty ChangeBatchRecord -- ^ 'lcbbrrsrsChangeBatchRecords'
-    -> ListChangeBatchesByRRSetResponse
-listChangeBatchesByRRSetResponse pResponseStatus_ pMaxItems_ pMarker_ pChangeBatchRecords_ =
-    ListChangeBatchesByRRSetResponse'
-    { _lcbbrrsrsNextMarker = Nothing
-    , _lcbbrrsrsIsTruncated = Nothing
-    , _lcbbrrsrsResponseStatus = pResponseStatus_
-    , _lcbbrrsrsMaxItems = pMaxItems_
-    , _lcbbrrsrsMarker = pMarker_
-    , _lcbbrrsrsChangeBatchRecords = _List1 # pChangeBatchRecords_
-    }
-
--- | The next page marker.
-lcbbrrsrsNextMarker :: Lens' ListChangeBatchesByRRSetResponse (Maybe Text)
-lcbbrrsrsNextMarker = lens _lcbbrrsrsNextMarker (\ s a -> s{_lcbbrrsrsNextMarker = a});
-
--- | A flag that indicates if there are more change batches to list.
-lcbbrrsrsIsTruncated :: Lens' ListChangeBatchesByRRSetResponse (Maybe Bool)
-lcbbrrsrsIsTruncated = lens _lcbbrrsrsIsTruncated (\ s a -> s{_lcbbrrsrsIsTruncated = a});
-
--- | The response status code.
-lcbbrrsrsResponseStatus :: Lens' ListChangeBatchesByRRSetResponse Int
-lcbbrrsrsResponseStatus = lens _lcbbrrsrsResponseStatus (\ s a -> s{_lcbbrrsrsResponseStatus = a});
-
--- | The maximum number of items on a page.
-lcbbrrsrsMaxItems :: Lens' ListChangeBatchesByRRSetResponse Text
-lcbbrrsrsMaxItems = lens _lcbbrrsrsMaxItems (\ s a -> s{_lcbbrrsrsMaxItems = a});
-
--- | The page marker.
-lcbbrrsrsMarker :: Lens' ListChangeBatchesByRRSetResponse Text
-lcbbrrsrsMarker = lens _lcbbrrsrsMarker (\ s a -> s{_lcbbrrsrsMarker = a});
-
--- | The change batches within the given hosted zone and time period.
-lcbbrrsrsChangeBatchRecords :: Lens' ListChangeBatchesByRRSetResponse (NonEmpty ChangeBatchRecord)
-lcbbrrsrsChangeBatchRecords = lens _lcbbrrsrsChangeBatchRecords (\ s a -> s{_lcbbrrsrsChangeBatchRecords = a}) . _List1;
diff --git a/gen/Network/AWS/Route53/ListGeoLocations.hs b/gen/Network/AWS/Route53/ListGeoLocations.hs
--- a/gen/Network/AWS/Route53/ListGeoLocations.hs
+++ b/gen/Network/AWS/Route53/ListGeoLocations.hs
@@ -12,18 +12,18 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListGeoLocations
--- 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)
 --
 -- To retrieve a list of supported geo locations, send a 'GET' request to
--- the '2013-04-01\/geolocations' resource. The response to this request
--- includes a 'GeoLocationDetailsList' element with zero, one, or multiple
--- 'GeoLocationDetails' child elements. The list is sorted by country code,
--- and then subdivision code, followed by continents at the end of the
--- list.
+-- the '\/Route 53 API version\/geolocations' resource. The response to
+-- this request includes a 'GeoLocationDetailsList' element with zero, one,
+-- or multiple 'GeoLocationDetails' child elements. The list is sorted by
+-- country code, and then subdivision code, followed by continents at the
+-- end of the list.
 --
 -- By default, the list of geo locations is displayed on a single page. You
 -- can control the length of the page that is displayed by using the
@@ -33,8 +33,6 @@
 -- populated. You can pass these as parameters to
 -- 'StartContinentCode, StartCountryCode, StartSubdivisionCode' to control
 -- the geo location that the list begins with.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListGeoLocations.html AWS API Reference> for ListGeoLocations.
 module Network.AWS.Route53.ListGeoLocations
     (
     -- * Creating a Request
@@ -66,7 +64,7 @@
 import           Network.AWS.Route53.Types
 import           Network.AWS.Route53.Types.Product
 
--- | The input for a ListGeoLocations request.
+-- | The input for a 'ListGeoLocations' request.
 --
 -- /See:/ 'listGeoLocations' smart constructor.
 data ListGeoLocations = ListGeoLocations'
@@ -101,7 +99,7 @@
 -- locations that you want the 'ListGeoLocations' request to list.
 --
 -- Constraint: Specifying 'SubdivisionCode' without 'CountryCode' returns
--- an InvalidInput error.
+-- an < InvalidInput> error.
 lglStartSubdivisionCode :: Lens' ListGeoLocations (Maybe Text)
 lglStartSubdivisionCode = lens _lglStartSubdivisionCode (\ s a -> s{_lglStartSubdivisionCode = a});
 
@@ -124,7 +122,7 @@
 -- Valid values: 'AF' | 'AN' | 'AS' | 'EU' | 'OC' | 'NA' | 'SA'
 --
 -- Constraint: Specifying 'ContinentCode' with either 'CountryCode' or
--- 'SubdivisionCode' returns an InvalidInput error.
+-- 'SubdivisionCode' returns an < InvalidInput> error.
 lglStartContinentCode :: Lens' ListGeoLocations (Maybe Text)
 lglStartContinentCode = lens _lglStartContinentCode (\ s a -> s{_lglStartContinentCode = a});
 
@@ -145,6 +143,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
 
+instance Hashable ListGeoLocations
+
 instance ToHeaders ListGeoLocations where
         toHeaders = const mempty
 
@@ -208,22 +208,22 @@
 
 -- | If the results were truncated, the continent code of the next geo
 -- location in the list. This element is present only if
--- ListGeoLocationsResponse$IsTruncated is true and the next geo location
--- to list is a continent location.
+-- < ListGeoLocationsResponse$IsTruncated> is true and the next geo
+-- location to list is a continent location.
 lglrsNextContinentCode :: Lens' ListGeoLocationsResponse (Maybe Text)
 lglrsNextContinentCode = lens _lglrsNextContinentCode (\ s a -> s{_lglrsNextContinentCode = a});
 
 -- | If the results were truncated, the country code of the next geo location
 -- in the list. This element is present only if
--- ListGeoLocationsResponse$IsTruncated is true and the next geo location
--- to list is not a continent location.
+-- < ListGeoLocationsResponse$IsTruncated> is true and the next geo
+-- location to list is not a continent location.
 lglrsNextCountryCode :: Lens' ListGeoLocationsResponse (Maybe Text)
 lglrsNextCountryCode = lens _lglrsNextCountryCode (\ s a -> s{_lglrsNextCountryCode = a});
 
 -- | If the results were truncated, the subdivision code of the next geo
 -- location in the list. This element is present only if
--- ListGeoLocationsResponse$IsTruncated is true and the next geo location
--- has a subdivision.
+-- < ListGeoLocationsResponse$IsTruncated> is true and the next geo
+-- location has a subdivision.
 lglrsNextSubdivisionCode :: Lens' ListGeoLocationsResponse (Maybe Text)
 lglrsNextSubdivisionCode = lens _lglrsNextSubdivisionCode (\ s a -> s{_lglrsNextSubdivisionCode = a});
 
@@ -239,9 +239,9 @@
 -- | A flag that indicates whether there are more geo locations to be listed.
 -- If your results were truncated, you can make a follow-up request for the
 -- next page of results by using the values included in the
--- ListGeoLocationsResponse$NextContinentCode,
--- ListGeoLocationsResponse$NextCountryCode and
--- ListGeoLocationsResponse$NextSubdivisionCode elements.
+-- < ListGeoLocationsResponse$NextContinentCode>,
+-- < ListGeoLocationsResponse$NextCountryCode> and
+-- < ListGeoLocationsResponse$NextSubdivisionCode> elements.
 --
 -- Valid Values: 'true' | 'false'
 lglrsIsTruncated :: Lens' ListGeoLocationsResponse Bool
diff --git a/gen/Network/AWS/Route53/ListHealthChecks.hs b/gen/Network/AWS/Route53/ListHealthChecks.hs
--- a/gen/Network/AWS/Route53/ListHealthChecks.hs
+++ b/gen/Network/AWS/Route53/ListHealthChecks.hs
@@ -12,15 +12,15 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListHealthChecks
--- 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)
 --
 -- To retrieve a list of your health checks, send a 'GET' request to the
--- '2013-04-01\/healthcheck' resource. The response to this request
--- includes a 'HealthChecks' element with zero, one, or multiple
+-- '\/Route 53 API version\/healthcheck' resource. The response to this
+-- request includes a 'HealthChecks' element with zero, one, or multiple
 -- 'HealthCheck' child elements. By default, the list of health checks is
 -- displayed on a single page. You can control the length of the page that
 -- is displayed by using the 'MaxItems' parameter. You can use the 'Marker'
@@ -29,8 +29,6 @@
 -- Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a
 -- value greater than 100, Amazon Route 53 returns only the first 100.
 --
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHealthChecks.html AWS API Reference> for ListHealthChecks.
---
 -- This operation returns paginated results.
 module Network.AWS.Route53.ListHealthChecks
     (
@@ -62,12 +60,12 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a list of your health checks, send a 'GET' request to the
--- '2013-04-01\/healthcheck' resource. The response to this request
--- includes a 'HealthChecks' element with zero or more 'HealthCheck' child
--- elements. By default, the list of health checks is displayed on a single
--- page. You can control the length of the page that is displayed by using
--- the 'MaxItems' parameter. You can use the 'Marker' parameter to control
--- the health check that the list begins with.
+-- '\/Route 53 API version\/healthcheck' resource. The response to this
+-- request includes a 'HealthChecks' element with zero or more
+-- 'HealthCheck' child elements. By default, the list of health checks is
+-- displayed on a single page. You can control the length of the page that
+-- is displayed by using the 'MaxItems' parameter. You can use the 'Marker'
+-- parameter to control the health check that the list begins with.
 --
 -- Amazon Route 53 returns a maximum of 100 items. If you set 'MaxItems' to
 -- a value greater than 100, Amazon Route 53 returns only the first 100.
@@ -125,6 +123,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
 
+instance Hashable ListHealthChecks
+
 instance ToHeaders ListHealthChecks where
         toHeaders = const mempty
 
@@ -180,9 +180,9 @@
     }
 
 -- | Indicates where to continue listing health checks. If
--- ListHealthChecksResponse$IsTruncated is 'true', make another request to
--- 'ListHealthChecks' and include the value of the 'NextMarker' element in
--- the 'Marker' element to get the next page of results.
+-- < ListHealthChecksResponse$IsTruncated> is 'true', make another request
+-- to 'ListHealthChecks' and include the value of the 'NextMarker' element
+-- in the 'Marker' element to get the next page of results.
 lhcrsNextMarker :: Lens' ListHealthChecksResponse (Maybe Text)
 lhcrsNextMarker = lens _lhcrsNextMarker (\ s a -> s{_lhcrsNextMarker = a});
 
@@ -211,9 +211,10 @@
 
 -- | The maximum number of health checks to be included in the response body.
 -- If the number of health checks associated with this AWS account exceeds
--- 'MaxItems', the value of ListHealthChecksResponse$IsTruncated in the
+-- 'MaxItems', the value of < ListHealthChecksResponse$IsTruncated> in the
 -- response is 'true'. Call 'ListHealthChecks' again and specify the value
--- of ListHealthChecksResponse$NextMarker in the
--- ListHostedZonesRequest$Marker element to get the next page of results.
+-- of < ListHealthChecksResponse$NextMarker> in the
+-- < ListHostedZonesRequest$Marker> element to get the next page of
+-- results.
 lhcrsMaxItems :: Lens' ListHealthChecksResponse Text
 lhcrsMaxItems = lens _lhcrsMaxItems (\ s a -> s{_lhcrsMaxItems = a});
diff --git a/gen/Network/AWS/Route53/ListHostedZones.hs b/gen/Network/AWS/Route53/ListHostedZones.hs
--- a/gen/Network/AWS/Route53/ListHostedZones.hs
+++ b/gen/Network/AWS/Route53/ListHostedZones.hs
@@ -12,25 +12,23 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListHostedZones
--- 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)
 --
 -- To retrieve a list of your hosted zones, send a 'GET' request to the
--- '2013-04-01\/hostedzone' resource. The response to this request includes
--- a 'HostedZones' element with zero, one, or multiple 'HostedZone' child
--- elements. By default, the list of hosted zones is displayed on a single
--- page. You can control the length of the page that is displayed by using
--- the 'MaxItems' parameter. You can use the 'Marker' parameter to control
--- the hosted zone that the list begins with.
+-- '\/Route 53 API version\/hostedzone' resource. The response to this
+-- request includes a 'HostedZones' element with zero, one, or multiple
+-- 'HostedZone' child elements. By default, the list of hosted zones is
+-- displayed on a single page. You can control the length of the page that
+-- is displayed by using the 'MaxItems' parameter. You can use the 'Marker'
+-- parameter to control the hosted zone that the list begins with.
 --
 -- Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a
 -- value greater than 100, Amazon Route 53 returns only the first 100.
 --
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZones.html AWS API Reference> for ListHostedZones.
---
 -- This operation returns paginated results.
 module Network.AWS.Route53.ListHostedZones
     (
@@ -63,13 +61,13 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a list of your hosted zones, send a 'GET' request to the
--- '2013-04-01\/hostedzone' resource. The response to this request includes
--- a 'HostedZones' element with zero or more 'HostedZone' child elements.
--- By default, the list of hosted zones is displayed on a single page. You
--- can control the length of the page that is displayed by using the
--- 'MaxItems' parameter. You can use the 'Marker' parameter to control the
--- hosted zone that the list begins with. For more information about
--- listing hosted zones, see
+-- '\/Route 53 API version\/hostedzone' resource. The response to this
+-- request includes a 'HostedZones' element with zero or more 'HostedZone'
+-- child elements. By default, the list of hosted zones is displayed on a
+-- single page. You can control the length of the page that is displayed by
+-- using the 'MaxItems' parameter. You can use the 'Marker' parameter to
+-- control the hosted zone that the list begins with. For more information
+-- about listing hosted zones, see
 -- <http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ListInfoOnHostedZone.html Listing the Hosted Zones for an AWS Account>
 -- in the /Amazon Route 53 Developer Guide/.
 --
@@ -138,6 +136,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
 
+instance Hashable ListHostedZones
+
 instance ToHeaders ListHostedZones where
         toHeaders = const mempty
 
@@ -199,9 +199,9 @@
 lhzrsMarker = lens _lhzrsMarker (\ s a -> s{_lhzrsMarker = a});
 
 -- | Indicates where to continue listing hosted zones. If
--- ListHostedZonesResponse$IsTruncated is 'true', make another request to
--- 'ListHostedZones' and include the value of the 'NextMarker' element in
--- the 'Marker' element to get the next page of results.
+-- < ListHostedZonesResponse$IsTruncated> is 'true', make another request
+-- to 'ListHostedZones' and include the value of the 'NextMarker' element
+-- in the 'Marker' element to get the next page of results.
 lhzrsNextMarker :: Lens' ListHostedZonesResponse (Maybe Text)
 lhzrsNextMarker = lens _lhzrsNextMarker (\ s a -> s{_lhzrsNextMarker = a});
 
@@ -224,9 +224,10 @@
 
 -- | The maximum number of hosted zones to be included in the response body.
 -- If the number of hosted zones associated with this AWS account exceeds
--- 'MaxItems', the value of ListHostedZonesResponse$IsTruncated in the
+-- 'MaxItems', the value of < ListHostedZonesResponse$IsTruncated> in the
 -- response is 'true'. Call 'ListHostedZones' again and specify the value
--- of ListHostedZonesResponse$NextMarker in the
--- ListHostedZonesRequest$Marker element to get the next page of results.
+-- of < ListHostedZonesResponse$NextMarker> in the
+-- < ListHostedZonesRequest$Marker> element to get the next page of
+-- results.
 lhzrsMaxItems :: Lens' ListHostedZonesResponse Text
 lhzrsMaxItems = lens _lhzrsMaxItems (\ s a -> s{_lhzrsMaxItems = a});
diff --git a/gen/Network/AWS/Route53/ListHostedZonesByName.hs b/gen/Network/AWS/Route53/ListHostedZonesByName.hs
--- a/gen/Network/AWS/Route53/ListHostedZonesByName.hs
+++ b/gen/Network/AWS/Route53/ListHostedZonesByName.hs
@@ -12,25 +12,24 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListHostedZonesByName
--- 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)
 --
 -- To retrieve a list of your hosted zones in lexicographic order, send a
--- 'GET' request to the '2013-04-01\/hostedzonesbyname' resource. The
--- response to this request includes a 'HostedZones' element with zero or
--- more 'HostedZone' child elements lexicographically ordered by DNS name.
--- By default, the list of hosted zones is displayed on a single page. You
--- can control the length of the page that is displayed by using the
--- 'MaxItems' parameter. You can use the 'DNSName' and 'HostedZoneId'
--- parameters to control the hosted zone that the list begins with.
+-- 'GET' request to the '\/Route 53 API version\/hostedzonesbyname'
+-- resource. The response to this request includes a 'HostedZones' element
+-- with zero or more 'HostedZone' child elements lexicographically ordered
+-- by DNS name. By default, the list of hosted zones is displayed on a
+-- single page. You can control the length of the page that is displayed by
+-- using the 'MaxItems' parameter. You can use the 'DNSName' and
+-- 'HostedZoneId' parameters to control the hosted zone that the list
+-- begins with.
 --
 -- Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a
 -- value greater than 100, Amazon Route 53 returns only the first 100.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZonesByName.html AWS API Reference> for ListHostedZonesByName.
 module Network.AWS.Route53.ListHostedZonesByName
     (
     -- * Creating a Request
@@ -63,13 +62,14 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a list of your hosted zones in lexicographic order, send a
--- 'GET' request to the '2013-04-01\/hostedzonesbyname' resource. The
--- response to this request includes a 'HostedZones' element with zero or
--- more 'HostedZone' child elements lexicographically ordered by DNS name.
--- By default, the list of hosted zones is displayed on a single page. You
--- can control the length of the page that is displayed by using the
--- 'MaxItems' parameter. You can use the 'DNSName' and 'HostedZoneId'
--- parameters to control the hosted zone that the list begins with.
+-- 'GET' request to the '\/Route 53 API version\/hostedzonesbyname'
+-- resource. The response to this request includes a 'HostedZones' element
+-- with zero or more 'HostedZone' child elements lexicographically ordered
+-- by DNS name. By default, the list of hosted zones is displayed on a
+-- single page. You can control the length of the page that is displayed by
+-- using the 'MaxItems' parameter. You can use the 'DNSName' and
+-- 'HostedZoneId' parameters to control the hosted zone that the list
+-- begins with.
 --
 -- For more information about listing hosted zones, see
 -- <http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ListInfoOnHostedZone.html Listing the Hosted Zones for an AWS Account>
@@ -140,6 +140,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
 
+instance Hashable ListHostedZonesByName
+
 instance ToHeaders ListHostedZonesByName where
         toHeaders = const mempty
 
@@ -207,13 +209,13 @@
 lhzbnrsHostedZoneId :: Lens' ListHostedZonesByNameResponse (Maybe Text)
 lhzbnrsHostedZoneId = lens _lhzbnrsHostedZoneId (\ s a -> s{_lhzbnrsHostedZoneId = a});
 
--- | If ListHostedZonesByNameResponse$IsTruncated is 'true', there are more
--- hosted zones associated with the current AWS account. To get the next
--- page of results, make another request to 'ListHostedZonesByName'.
--- Specify the value of ListHostedZonesByNameResponse$NextDNSName in the
--- ListHostedZonesByNameRequest$DNSName element and
--- ListHostedZonesByNameResponse$NextHostedZoneId in the
--- ListHostedZonesByNameRequest$HostedZoneId element.
+-- | If < ListHostedZonesByNameResponse$IsTruncated> is 'true', there are
+-- more hosted zones associated with the current AWS account. To get the
+-- next page of results, make another request to 'ListHostedZonesByName'.
+-- Specify the value of < ListHostedZonesByNameResponse$NextDNSName> in the
+-- < ListHostedZonesByNameRequest$DNSName> element and
+-- < ListHostedZonesByNameResponse$NextHostedZoneId> in the
+-- < ListHostedZonesByNameRequest$HostedZoneId> element.
 lhzbnrsNextHostedZoneId :: Lens' ListHostedZonesByNameResponse (Maybe Text)
 lhzbnrsNextHostedZoneId = lens _lhzbnrsNextHostedZoneId (\ s a -> s{_lhzbnrsNextHostedZoneId = a});
 
@@ -221,13 +223,13 @@
 lhzbnrsDNSName :: Lens' ListHostedZonesByNameResponse (Maybe Text)
 lhzbnrsDNSName = lens _lhzbnrsDNSName (\ s a -> s{_lhzbnrsDNSName = a});
 
--- | If ListHostedZonesByNameResponse$IsTruncated is 'true', there are more
--- hosted zones associated with the current AWS account. To get the next
--- page of results, make another request to 'ListHostedZonesByName'.
--- Specify the value of ListHostedZonesByNameResponse$NextDNSName in the
--- ListHostedZonesByNameRequest$DNSName element and
--- ListHostedZonesByNameResponse$NextHostedZoneId in the
--- ListHostedZonesByNameRequest$HostedZoneId element.
+-- | If < ListHostedZonesByNameResponse$IsTruncated> is 'true', there are
+-- more hosted zones associated with the current AWS account. To get the
+-- next page of results, make another request to 'ListHostedZonesByName'.
+-- Specify the value of < ListHostedZonesByNameResponse$NextDNSName> in the
+-- < ListHostedZonesByNameRequest$DNSName> element and
+-- < ListHostedZonesByNameResponse$NextHostedZoneId> in the
+-- < ListHostedZonesByNameRequest$HostedZoneId> element.
 lhzbnrsNextDNSName :: Lens' ListHostedZonesByNameResponse (Maybe Text)
 lhzbnrsNextDNSName = lens _lhzbnrsNextDNSName (\ s a -> s{_lhzbnrsNextDNSName = a});
 
@@ -251,10 +253,10 @@
 
 -- | The maximum number of hosted zones to be included in the response body.
 -- If the number of hosted zones associated with this AWS account exceeds
--- 'MaxItems', the value of ListHostedZonesByNameResponse$IsTruncated in
+-- 'MaxItems', the value of < ListHostedZonesByNameResponse$IsTruncated> in
 -- the response is 'true'. Call 'ListHostedZonesByName' again and specify
--- the value of ListHostedZonesByNameResponse$NextDNSName and
--- ListHostedZonesByNameResponse$NextHostedZoneId elements respectively to
--- get the next page of results.
+-- the value of < ListHostedZonesByNameResponse$NextDNSName> and
+-- < ListHostedZonesByNameResponse$NextHostedZoneId> elements respectively
+-- to get the next page of results.
 lhzbnrsMaxItems :: Lens' ListHostedZonesByNameResponse Text
 lhzbnrsMaxItems = lens _lhzbnrsMaxItems (\ s a -> s{_lhzbnrsMaxItems = a});
diff --git a/gen/Network/AWS/Route53/ListResourceRecordSets.hs b/gen/Network/AWS/Route53/ListResourceRecordSets.hs
--- a/gen/Network/AWS/Route53/ListResourceRecordSets.hs
+++ b/gen/Network/AWS/Route53/ListResourceRecordSets.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListResourceRecordSets
--- 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
@@ -61,8 +61,6 @@
 -- effects of that change will be visible in a subsequent call to
 -- ListResourceRecordSets by that process.
 --
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResourceRecordSets.html AWS API Reference> for ListResourceRecordSets.
---
 -- This operation returns paginated results.
 module Network.AWS.Route53.ListResourceRecordSets
     (
@@ -150,7 +148,7 @@
 -- Values for Alias Resource Record Sets: 'A' | 'AAAA'
 --
 -- Constraint: Specifying 'type' without specifying 'name' returns an
--- InvalidInput error.
+-- < InvalidInput> error.
 lrrsStartRecordType :: Lens' ListResourceRecordSets (Maybe RecordType)
 lrrsStartRecordType = lens _lrrsStartRecordType (\ s a -> s{_lrrsStartRecordType = a});
 
@@ -203,6 +201,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
 
+instance Hashable ListResourceRecordSets
+
 instance ToHeaders ListResourceRecordSets where
         toHeaders = const mempty
 
@@ -269,13 +269,13 @@
 
 -- | If the results were truncated, the type of the next record in the list.
 -- This element is present only if
--- ListResourceRecordSetsResponse$IsTruncated is true.
+-- < ListResourceRecordSetsResponse$IsTruncated> is true.
 lrrsrsNextRecordType :: Lens' ListResourceRecordSetsResponse (Maybe RecordType)
 lrrsrsNextRecordType = lens _lrrsrsNextRecordType (\ s a -> s{_lrrsrsNextRecordType = a});
 
 -- | If the results were truncated, the name of the next record in the list.
 -- This element is present only if
--- ListResourceRecordSetsResponse$IsTruncated is true.
+-- < ListResourceRecordSetsResponse$IsTruncated> is true.
 lrrsrsNextRecordName :: Lens' ListResourceRecordSetsResponse (Maybe Text)
 lrrsrsNextRecordName = lens _lrrsrsNextRecordName (\ s a -> s{_lrrsrsNextRecordName = a});
 
@@ -297,7 +297,7 @@
 -- | A flag that indicates whether there are more resource record sets to be
 -- listed. If your results were truncated, you can make a follow-up request
 -- for the next page of results by using the
--- ListResourceRecordSetsResponse$NextRecordName element.
+-- < ListResourceRecordSetsResponse$NextRecordName> element.
 --
 -- Valid Values: 'true' | 'false'
 lrrsrsIsTruncated :: Lens' ListResourceRecordSetsResponse Bool
diff --git a/gen/Network/AWS/Route53/ListReusableDelegationSets.hs b/gen/Network/AWS/Route53/ListReusableDelegationSets.hs
--- a/gen/Network/AWS/Route53/ListReusableDelegationSets.hs
+++ b/gen/Network/AWS/Route53/ListReusableDelegationSets.hs
@@ -12,16 +12,16 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListReusableDelegationSets
--- 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)
 --
 -- To retrieve a list of your reusable delegation sets, send a 'GET'
--- request to the '2013-04-01\/delegationset' resource. The response to
--- this request includes a 'DelegationSets' element with zero, one, or
--- multiple 'DelegationSet' child elements. By default, the list of
+-- request to the '\/Route 53 API version\/delegationset' resource. The
+-- response to this request includes a 'DelegationSets' element with zero,
+-- one, or multiple 'DelegationSet' child elements. By default, the list of
 -- delegation sets is displayed on a single page. You can control the
 -- length of the page that is displayed by using the 'MaxItems' parameter.
 -- You can use the 'Marker' parameter to control the delegation set that
@@ -29,8 +29,6 @@
 --
 -- Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a
 -- value greater than 100, Amazon Route 53 returns only the first 100.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListReusableDelegationSets.html AWS API Reference> for ListReusableDelegationSets.
 module Network.AWS.Route53.ListReusableDelegationSets
     (
     -- * Creating a Request
@@ -60,9 +58,9 @@
 import           Network.AWS.Route53.Types.Product
 
 -- | To retrieve a list of your reusable delegation sets, send a 'GET'
--- request to the '2013-04-01\/delegationset' resource. The response to
--- this request includes a 'DelegationSets' element with zero or more
--- 'DelegationSet' child elements. By default, the list of reusable
+-- request to the '\/Route 53 API version\/delegationset' resource. The
+-- response to this request includes a 'DelegationSets' element with zero
+-- or more 'DelegationSet' child elements. By default, the list of reusable
 -- delegation sets is displayed on a single page. You can control the
 -- length of the page that is displayed by using the 'MaxItems' parameter.
 -- You can use the 'Marker' parameter to control the delegation set that
@@ -118,6 +116,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
 
+instance Hashable ListReusableDelegationSets
+
 instance ToHeaders ListReusableDelegationSets where
         toHeaders = const mempty
 
@@ -174,9 +174,9 @@
     }
 
 -- | Indicates where to continue listing reusable delegation sets. If
--- ListReusableDelegationSetsResponse$IsTruncated is 'true', make another
--- request to 'ListReusableDelegationSets' and include the value of the
--- 'NextMarker' element in the 'Marker' element to get the next page of
+-- < ListReusableDelegationSetsResponse$IsTruncated> is 'true', make
+-- another request to 'ListReusableDelegationSets' and include the value of
+-- the 'NextMarker' element in the 'Marker' element to get the next page of
 -- results.
 lrdsrsNextMarker :: Lens' ListReusableDelegationSetsResponse (Maybe Text)
 lrdsrsNextMarker = lens _lrdsrsNextMarker (\ s a -> s{_lrdsrsNextMarker = a});
@@ -207,10 +207,10 @@
 -- | The maximum number of reusable delegation sets to be included in the
 -- response body. If the number of reusable delegation sets associated with
 -- this AWS account exceeds 'MaxItems', the value of
--- ListReusablDelegationSetsResponse$IsTruncated in the response is 'true'.
--- Call 'ListReusableDelegationSets' again and specify the value of
--- ListReusableDelegationSetsResponse$NextMarker in the
--- ListReusableDelegationSetsRequest$Marker element to get the next page of
--- results.
+-- < ListReusablDelegationSetsResponse$IsTruncated> in the response is
+-- 'true'. Call 'ListReusableDelegationSets' again and specify the value of
+-- < ListReusableDelegationSetsResponse$NextMarker> in the
+-- < ListReusableDelegationSetsRequest$Marker> element to get the next page
+-- of results.
 lrdsrsMaxItems :: Lens' ListReusableDelegationSetsResponse Text
 lrdsrsMaxItems = lens _lrdsrsMaxItems (\ s a -> s{_lrdsrsMaxItems = a});
diff --git a/gen/Network/AWS/Route53/ListTagsForResource.hs b/gen/Network/AWS/Route53/ListTagsForResource.hs
--- a/gen/Network/AWS/Route53/ListTagsForResource.hs
+++ b/gen/Network/AWS/Route53/ListTagsForResource.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTagsForResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTagsForResource.html AWS API Reference> for ListTagsForResource.
 module Network.AWS.Route53.ListTagsForResource
     (
     -- * Creating a Request
@@ -92,6 +90,8 @@
               (\ s h x ->
                  ListTagsForResourceResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "ResourceTagSet"))
+
+instance Hashable ListTagsForResource
 
 instance ToHeaders ListTagsForResource where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/ListTagsForResources.hs b/gen/Network/AWS/Route53/ListTagsForResources.hs
--- a/gen/Network/AWS/Route53/ListTagsForResources.hs
+++ b/gen/Network/AWS/Route53/ListTagsForResources.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTagsForResources
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Undocumented operation.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTagsForResources.html AWS API Reference> for ListTagsForResources.
 module Network.AWS.Route53.ListTagsForResources
     (
     -- * Creating a Request
@@ -95,6 +93,8 @@
                    (pure (fromEnum s)) <*>
                      (x .@? "ResourceTagSets" .!@ mempty >>=
                         parseXMLList "ResourceTagSet"))
+
+instance Hashable ListTagsForResources
 
 instance ToElement ListTagsForResources where
         toElement
diff --git a/gen/Network/AWS/Route53/ListTrafficPolicies.hs b/gen/Network/AWS/Route53/ListTrafficPolicies.hs
--- a/gen/Network/AWS/Route53/ListTrafficPolicies.hs
+++ b/gen/Network/AWS/Route53/ListTrafficPolicies.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTrafficPolicies
--- 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,7 +20,7 @@
 --
 -- Gets information about the latest version for every traffic policy that
 -- is associated with the current AWS account. To get the information, send
--- a 'GET' request to the '2013-04-01\/trafficpolicy' resource.
+-- a 'GET' request to the '\/Route 53 API version\/trafficpolicy' resource.
 --
 -- Amazon Route 53 returns a maximum of 100 items in each response. If you
 -- have a lot of traffic policies, you can use the 'maxitems' parameter to
@@ -32,8 +32,6 @@
 -- -   __IsTruncated__
 -- -   __TrafficPolicyIdMarker__
 -- -   __MaxItems__
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicies.html AWS API Reference> for ListTrafficPolicies.
 module Network.AWS.Route53.ListTrafficPolicies
     (
     -- * Creating a Request
@@ -123,6 +121,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "TrafficPolicyIdMarker")
                      <*> (x .@ "MaxItems"))
+
+instance Hashable ListTrafficPolicies
 
 instance ToHeaders ListTrafficPolicies where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/ListTrafficPolicyInstances.hs b/gen/Network/AWS/Route53/ListTrafficPolicyInstances.hs
--- a/gen/Network/AWS/Route53/ListTrafficPolicyInstances.hs
+++ b/gen/Network/AWS/Route53/ListTrafficPolicyInstances.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTrafficPolicyInstances
--- 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,11 +24,11 @@
 -- After you submit an 'UpdateTrafficPolicyInstance' request, there\'s a
 -- brief delay while Amazon Route 53 creates the resource record sets that
 -- are specified in the traffic policy definition. For more information,
--- see the State response element.
+-- see the < State> response element.
 --
 -- To get information about the traffic policy instances that are
 -- associated with the current AWS account, send a 'GET' request to the
--- '2013-04-01\/trafficpolicyinstance' resource.
+-- '\/Route 53 API version\/trafficpolicyinstance' resource.
 --
 -- Amazon Route 53 returns a maximum of 100 items in each response. If you
 -- have a lot of traffic policy instances, you can use the 'MaxItems'
@@ -41,8 +41,6 @@
 -- -   __MaxItems__
 -- -   __HostedZoneIdMarker__, __TrafficPolicyInstanceNameMarker__, and
 --     __TrafficPolicyInstanceTypeMarker__
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicyInstances.html AWS API Reference> for ListTrafficPolicyInstances.
 module Network.AWS.Route53.ListTrafficPolicyInstances
     (
     -- * Creating a Request
@@ -172,6 +170,8 @@
                         parseXMLList "TrafficPolicyInstance")
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
+
+instance Hashable ListTrafficPolicyInstances
 
 instance ToHeaders ListTrafficPolicyInstances where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByHostedZone.hs b/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByHostedZone.hs
--- a/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByHostedZone.hs
+++ b/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByHostedZone.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTrafficPolicyInstancesByHostedZone
--- 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,12 +24,12 @@
 -- After you submit an 'UpdateTrafficPolicyInstance' request, there\'s a
 -- brief delay while Amazon Route 53 creates the resource record sets that
 -- are specified in the traffic policy definition. For more information,
--- see the State response element.
+-- see the < State> response element.
 --
 -- To get information about the traffic policy instances that you created
 -- in a specified hosted zone, send a 'GET' request to the
--- '2013-04-01\/trafficpolicyinstance' resource and include the ID of the
--- hosted zone.
+-- '\/Route 53 API version\/trafficpolicyinstance' resource and include the
+-- ID of the hosted zone.
 --
 -- Amazon Route 53 returns a maximum of 100 items in each response. If you
 -- have a lot of traffic policy instances, you can use the 'MaxItems'
@@ -42,8 +42,6 @@
 -- -   __MaxItems__
 -- -   __TrafficPolicyInstanceNameMarker__ and
 --     __TrafficPolicyInstanceTypeMarker__
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicyInstancesByHostedZone.html AWS API Reference> for ListTrafficPolicyInstancesByHostedZone.
 module Network.AWS.Route53.ListTrafficPolicyInstancesByHostedZone
     (
     -- * Creating a Request
@@ -168,6 +166,9 @@
                         parseXMLList "TrafficPolicyInstance")
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
+
+instance Hashable
+         ListTrafficPolicyInstancesByHostedZone
 
 instance ToHeaders
          ListTrafficPolicyInstancesByHostedZone where
diff --git a/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByPolicy.hs b/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByPolicy.hs
--- a/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByPolicy.hs
+++ b/gen/Network/AWS/Route53/ListTrafficPolicyInstancesByPolicy.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTrafficPolicyInstancesByPolicy
--- 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,13 +24,13 @@
 -- After you submit a 'CreateTrafficPolicyInstance' or an
 -- 'UpdateTrafficPolicyInstance' request, there\'s a brief delay while
 -- Amazon Route 53 creates the resource record sets that are specified in
--- the traffic policy definition. For more information, see the State
+-- the traffic policy definition. For more information, see the < State>
 -- response element.
 --
 -- To get information about the traffic policy instances that you created
 -- by using a specify traffic policy version, send a 'GET' request to the
--- '2013-04-01\/trafficpolicyinstance' resource and include the ID and
--- version of the traffic policy.
+-- '\/Route 53 API version\/trafficpolicyinstance' resource and include the
+-- ID and version of the traffic policy.
 --
 -- Amazon Route 53 returns a maximum of 100 items in each response. If you
 -- have a lot of traffic policy instances, you can use the 'MaxItems'
@@ -66,8 +66,6 @@
 --     If 'IsTruncated' is 'false', all three elements are omitted from the
 --     response.
 --
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicyInstancesByPolicy.html AWS API Reference> for ListTrafficPolicyInstancesByPolicy.
 module Network.AWS.Route53.ListTrafficPolicyInstancesByPolicy
     (
     -- * Creating a Request
@@ -227,6 +225,8 @@
                         parseXMLList "TrafficPolicyInstance")
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "MaxItems"))
+
+instance Hashable ListTrafficPolicyInstancesByPolicy
 
 instance ToHeaders ListTrafficPolicyInstancesByPolicy
          where
diff --git a/gen/Network/AWS/Route53/ListTrafficPolicyVersions.hs b/gen/Network/AWS/Route53/ListTrafficPolicyVersions.hs
--- a/gen/Network/AWS/Route53/ListTrafficPolicyVersions.hs
+++ b/gen/Network/AWS/Route53/ListTrafficPolicyVersions.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.ListTrafficPolicyVersions
--- 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
@@ -32,8 +32,6 @@
 -- -   __IsTruncated__
 -- -   __TrafficPolicyVersionMarker__
 -- -   __MaxItems__
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicyVersions.html AWS API Reference> for ListTrafficPolicyVersions.
 module Network.AWS.Route53.ListTrafficPolicyVersions
     (
     -- * Creating a Request
@@ -134,6 +132,8 @@
                      <*> (x .@ "IsTruncated")
                      <*> (x .@ "TrafficPolicyVersionMarker")
                      <*> (x .@ "MaxItems"))
+
+instance Hashable ListTrafficPolicyVersions
 
 instance ToHeaders ListTrafficPolicyVersions where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/Route53/Types.hs b/gen/Network/AWS/Route53/Types.hs
--- a/gen/Network/AWS/Route53/Types.hs
+++ b/gen/Network/AWS/Route53/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.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
@@ -101,16 +101,6 @@
     , cbComment
     , cbChanges
 
-    -- * ChangeBatchRecord
-    , ChangeBatchRecord
-    , changeBatchRecord
-    , cbrChanges
-    , cbrSubmittedAt
-    , cbrSubmitter
-    , cbrComment
-    , cbrId
-    , cbrStatus
-
     -- * ChangeInfo
     , ChangeInfo
     , changeInfo
@@ -156,6 +146,7 @@
     , healthCheckConfig
     , hccFailureThreshold
     , hccIPAddress
+    , hccEnableSNI
     , hccSearchString
     , hccHealthThreshold
     , hccResourcePath
@@ -299,6 +290,7 @@
     check e
       | has (hasCode "Throttling" . hasStatus 400) e =
           Just "request_limit_exceeded"
+      | 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/Route53/Types/Product.hs b/gen/Network/AWS/Route53/Types/Product.hs
--- a/gen/Network/AWS/Route53/Types/Product.hs
+++ b/gen/Network/AWS/Route53/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.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
@@ -115,6 +115,9 @@
 --     values for 'HostedZoneId' and 'DNSName'. If you get one value from
 --     the console and the other value from the API or the CLI, creating
 --     the resource record set will fail.
+-- -   __An Elastic Beanstalk environment:__ Specify the CNAME attribute
+--     for the environment. (The environment must have a regionalized
+--     domain name.)
 -- -   __An Amazon S3 bucket that is configured as a static website:__
 --     Specify the domain name of the Amazon S3 website endpoint in which
 --     you created the bucket; for example,
@@ -125,7 +128,9 @@
 --     about using Amazon S3 buckets for websites, see
 --     <http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting a Static Website on Amazon S3>
 --     in the /Amazon Simple Storage Service Developer Guide/.
--- -
+-- -   __Another Amazon Route 53 resource record set:__ Specify the value
+--     of the 'Name' element for a resource record set in the current
+--     hosted zone.
 --
 -- For more information and an example, see
 -- <http://docs.aws.amazon.com/Route53/latest/APIReference/CreateAliasRRSAPI.html Example: Creating Alias Resource Record Sets>
@@ -165,8 +170,8 @@
 --
 -- Note the following:
 --
--- -   You cannot set EvaluateTargetHealth to true when the alias target is
---     a CloudFront distribution.
+-- -   You cannot set 'EvaluateTargetHealth' to true when the alias target
+--     is a CloudFront distribution.
 -- -   If the AWS resource that you specify in 'AliasTarget' is a resource
 --     record set or a group of resource record sets (for example, a group
 --     of weighted resource record sets), but it is not another alias
@@ -206,6 +211,8 @@
               (x .@ "HostedZoneId") <*> (x .@ "DNSName") <*>
                 (x .@ "EvaluateTargetHealth")
 
+instance Hashable AliasTarget
+
 instance ToXML AliasTarget where
         toXML AliasTarget'{..}
           = mconcat
@@ -261,10 +268,7 @@
 cResourceRecordSet :: Lens' Change ResourceRecordSet
 cResourceRecordSet = lens _cResourceRecordSet (\ s a -> s{_cResourceRecordSet = a});
 
-instance FromXML Change where
-        parseXML x
-          = Change' <$>
-              (x .@ "Action") <*> (x .@ "ResourceRecordSet")
+instance Hashable Change
 
 instance ToXML Change where
         toXML Change'{..}
@@ -307,103 +311,18 @@
 cbChanges :: Lens' ChangeBatch (NonEmpty Change)
 cbChanges = lens _cbChanges (\ s a -> s{_cbChanges = a}) . _List1;
 
+instance Hashable ChangeBatch
+
 instance ToXML ChangeBatch where
         toXML ChangeBatch'{..}
           = mconcat
               ["Comment" @= _cbComment,
                "Changes" @= toXMLList "Change" _cbChanges]
 
--- | A complex type that lists the changes and information for a ChangeBatch.
---
--- /See:/ 'changeBatchRecord' smart constructor.
-data ChangeBatchRecord = ChangeBatchRecord'
-    { _cbrChanges     :: !(Maybe (List1 Change))
-    , _cbrSubmittedAt :: !(Maybe ISO8601)
-    , _cbrSubmitter   :: !(Maybe Text)
-    , _cbrComment     :: !(Maybe Text)
-    , _cbrId          :: !Text
-    , _cbrStatus      :: !ChangeStatus
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ChangeBatchRecord' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cbrChanges'
---
--- * 'cbrSubmittedAt'
---
--- * 'cbrSubmitter'
---
--- * 'cbrComment'
---
--- * 'cbrId'
---
--- * 'cbrStatus'
-changeBatchRecord
-    :: Text -- ^ 'cbrId'
-    -> ChangeStatus -- ^ 'cbrStatus'
-    -> ChangeBatchRecord
-changeBatchRecord pId_ pStatus_ =
-    ChangeBatchRecord'
-    { _cbrChanges = Nothing
-    , _cbrSubmittedAt = Nothing
-    , _cbrSubmitter = Nothing
-    , _cbrComment = Nothing
-    , _cbrId = pId_
-    , _cbrStatus = pStatus_
-    }
-
--- | A list of changes made in the ChangeBatch.
-cbrChanges :: Lens' ChangeBatchRecord (Maybe (NonEmpty Change))
-cbrChanges = lens _cbrChanges (\ s a -> s{_cbrChanges = a}) . mapping _List1;
-
--- | The date and time the change was submitted, in the format
--- 'YYYY-MM-DDThh:mm:ssZ', as specified in the ISO 8601 standard (for
--- example, 2009-11-19T19:37:58Z). The 'Z' after the time indicates that
--- the time is listed in Coordinated Universal Time (UTC).
-cbrSubmittedAt :: Lens' ChangeBatchRecord (Maybe UTCTime)
-cbrSubmittedAt = lens _cbrSubmittedAt (\ s a -> s{_cbrSubmittedAt = a}) . mapping _Time;
-
--- | The AWS account ID attached to the changes.
-cbrSubmitter :: Lens' ChangeBatchRecord (Maybe Text)
-cbrSubmitter = lens _cbrSubmitter (\ s a -> s{_cbrSubmitter = a});
-
 -- | A complex type that describes change information about changes made to
 -- your hosted zone.
 --
--- This element contains an ID that you use when performing a GetChange
--- action to get detailed information about the change.
-cbrComment :: Lens' ChangeBatchRecord (Maybe Text)
-cbrComment = lens _cbrComment (\ s a -> s{_cbrComment = a});
-
--- | The ID of the request. Use this ID to track when the change has
--- completed across all Amazon Route 53 DNS servers.
-cbrId :: Lens' ChangeBatchRecord Text
-cbrId = lens _cbrId (\ s a -> s{_cbrId = a});
-
--- | The current state of the request. 'PENDING' indicates that this request
--- has not yet been applied to all Amazon Route 53 DNS servers.
---
--- Valid Values: 'PENDING' | 'INSYNC'
-cbrStatus :: Lens' ChangeBatchRecord ChangeStatus
-cbrStatus = lens _cbrStatus (\ s a -> s{_cbrStatus = a});
-
-instance FromXML ChangeBatchRecord where
-        parseXML x
-          = ChangeBatchRecord' <$>
-              (x .@? "Changes" .!@ mempty >>=
-                 may (parseXMLList1 "Change"))
-                <*> (x .@? "SubmittedAt")
-                <*> (x .@? "Submitter")
-                <*> (x .@? "Comment")
-                <*> (x .@ "Id")
-                <*> (x .@ "Status")
-
--- | A complex type that describes change information about changes made to
--- your hosted zone.
---
--- This element contains an ID that you use when performing a GetChange
+-- This element contains an ID that you use when performing a < GetChange>
 -- action to get detailed information about the change.
 --
 -- /See:/ 'changeInfo' smart constructor.
@@ -441,7 +360,7 @@
 -- | A complex type that describes change information about changes made to
 -- your hosted zone.
 --
--- This element contains an ID that you use when performing a GetChange
+-- This element contains an ID that you use when performing a < GetChange>
 -- action to get detailed information about the change.
 ciComment :: Lens' ChangeInfo (Maybe Text)
 ciComment = lens _ciComment (\ s a -> s{_ciComment = a});
@@ -471,6 +390,8 @@
               (x .@? "Comment") <*> (x .@ "Id") <*> (x .@ "Status")
                 <*> (x .@ "SubmittedAt")
 
+instance Hashable ChangeInfo
+
 -- | A complex type that contains name server information.
 --
 -- /See:/ 'delegationSet' smart constructor.
@@ -521,6 +442,8 @@
                 (x .@? "NameServers" .!@ mempty >>=
                    parseXMLList1 "NameServer")
 
+instance Hashable DelegationSet
+
 -- | A complex type that contains information about a geo location.
 --
 -- /See:/ 'geoLocation' smart constructor.
@@ -552,7 +475,7 @@
 -- subdivision code is only valid with the appropriate country code.
 --
 -- Constraint: Specifying 'SubdivisionCode' without 'CountryCode' returns
--- an InvalidInput error.
+-- an < InvalidInput> error.
 glSubdivisionCode :: Lens' GeoLocation (Maybe Text)
 glSubdivisionCode = lens _glSubdivisionCode (\ s a -> s{_glSubdivisionCode = a});
 
@@ -571,7 +494,7 @@
 -- Valid values: 'AF' | 'AN' | 'AS' | 'EU' | 'OC' | 'NA' | 'SA'
 --
 -- Constraint: Specifying 'ContinentCode' with either 'CountryCode' or
--- 'SubdivisionCode' returns an InvalidInput error.
+-- 'SubdivisionCode' returns an < InvalidInput> error.
 glContinentCode :: Lens' GeoLocation (Maybe Text)
 glContinentCode = lens _glContinentCode (\ s a -> s{_glContinentCode = a});
 
@@ -581,6 +504,8 @@
               (x .@? "SubdivisionCode") <*> (x .@? "CountryCode")
                 <*> (x .@? "ContinentCode")
 
+instance Hashable GeoLocation
+
 instance ToXML GeoLocation where
         toXML GeoLocation'{..}
           = mconcat
@@ -671,6 +596,8 @@
                 <*> (x .@? "ContinentCode")
                 <*> (x .@? "ContinentName")
 
+instance Hashable GeoLocationDetails
+
 -- | A complex type that contains identifying information about the health
 -- check.
 --
@@ -732,12 +659,15 @@
                 (x .@ "HealthCheckConfig")
                 <*> (x .@ "HealthCheckVersion")
 
+instance Hashable HealthCheck
+
 -- | A complex type that contains the health check configuration.
 --
 -- /See:/ 'healthCheckConfig' smart constructor.
 data HealthCheckConfig = HealthCheckConfig'
     { _hccFailureThreshold         :: !(Maybe Nat)
     , _hccIPAddress                :: !(Maybe Text)
+    , _hccEnableSNI                :: !(Maybe Bool)
     , _hccSearchString             :: !(Maybe Text)
     , _hccHealthThreshold          :: !(Maybe Nat)
     , _hccResourcePath             :: !(Maybe Text)
@@ -758,6 +688,8 @@
 --
 -- * 'hccIPAddress'
 --
+-- * 'hccEnableSNI'
+--
 -- * 'hccSearchString'
 --
 -- * 'hccHealthThreshold'
@@ -784,6 +716,7 @@
     HealthCheckConfig'
     { _hccFailureThreshold = Nothing
     , _hccIPAddress = Nothing
+    , _hccEnableSNI = Nothing
     , _hccSearchString = Nothing
     , _hccHealthThreshold = Nothing
     , _hccResourcePath = Nothing
@@ -810,8 +743,18 @@
 hccIPAddress :: Lens' HealthCheckConfig (Maybe Text)
 hccIPAddress = lens _hccIPAddress (\ s a -> s{_hccIPAddress = a});
 
+-- | Specify whether you want Amazon Route 53 to send the value of
+-- 'FullyQualifiedDomainName' to the endpoint in the 'client_hello' message
+-- during TLS negotiation. If you don\'t specify a value for 'EnableSNI',
+-- Amazon Route 53 defaults to 'true' when 'Type' is 'HTTPS' or
+-- 'HTTPS_STR_MATCH' and defaults to 'false' when 'Type' is any other
+-- value.
+hccEnableSNI :: Lens' HealthCheckConfig (Maybe Bool)
+hccEnableSNI = lens _hccEnableSNI (\ s a -> s{_hccEnableSNI = a});
+
 -- | A string to search for in the body of a health check response. Required
--- for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.
+-- for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks. Amazon Route 53
+-- considers case when searching for 'SearchString' in the response body.
 hccSearchString :: Lens' HealthCheckConfig (Maybe Text)
 hccSearchString = lens _hccSearchString (\ s a -> s{_hccSearchString = a});
 
@@ -874,6 +817,7 @@
         parseXML x
           = HealthCheckConfig' <$>
               (x .@? "FailureThreshold") <*> (x .@? "IPAddress")
+                <*> (x .@? "EnableSNI")
                 <*> (x .@? "SearchString")
                 <*> (x .@? "HealthThreshold")
                 <*> (x .@? "ResourcePath")
@@ -887,11 +831,14 @@
                 <*> (x .@? "Port")
                 <*> (x .@ "Type")
 
+instance Hashable HealthCheckConfig
+
 instance ToXML HealthCheckConfig where
         toXML HealthCheckConfig'{..}
           = mconcat
               ["FailureThreshold" @= _hccFailureThreshold,
                "IPAddress" @= _hccIPAddress,
+               "EnableSNI" @= _hccEnableSNI,
                "SearchString" @= _hccSearchString,
                "HealthThreshold" @= _hccHealthThreshold,
                "ResourcePath" @= _hccResourcePath,
@@ -945,6 +892,8 @@
           = HealthCheckObservation' <$>
               (x .@? "IPAddress") <*> (x .@? "StatusReport")
 
+instance Hashable HealthCheckObservation
+
 -- | A complex type that contain information about the specified hosted zone.
 --
 -- /See:/ 'hostedZone' smart constructor.
@@ -1019,6 +968,8 @@
                 <*> (x .@ "Name")
                 <*> (x .@ "CallerReference")
 
+instance Hashable HostedZone
+
 -- | A complex type that contains an optional comment about your hosted zone.
 -- If you don\'t want to specify a comment, you can omit the
 -- 'HostedZoneConfig' and 'Comment' elements from the XML document.
@@ -1059,6 +1010,8 @@
           = HostedZoneConfig' <$>
               (x .@? "PrivateZone") <*> (x .@? "Comment")
 
+instance Hashable HostedZoneConfig
+
 instance ToXML HostedZoneConfig where
         toXML HostedZoneConfig'{..}
           = mconcat
@@ -1101,6 +1054,8 @@
 instance FromXML ResourceRecord where
         parseXML x = ResourceRecord' <$> (x .@ "Value")
 
+instance Hashable ResourceRecord
+
 instance ToXML ResourceRecord where
         toXML ResourceRecord'{..}
           = mconcat ["Value" @= _rrValue]
@@ -1450,6 +1405,8 @@
                 <*> (x .@ "Name")
                 <*> (x .@ "Type")
 
+instance Hashable ResourceRecordSet
+
 instance ToXML ResourceRecordSet where
         toXML ResourceRecordSet'{..}
           = mconcat
@@ -1518,6 +1475,8 @@
                 (x .@? "Tags" .!@ mempty >>=
                    may (parseXMLList1 "Tag"))
 
+instance Hashable ResourceTagSet
+
 -- | A complex type that contains information about the health check status
 -- for the current observation.
 --
@@ -1558,6 +1517,8 @@
           = StatusReport' <$>
               (x .@? "Status") <*> (x .@? "CheckedTime")
 
+instance Hashable StatusReport
+
 -- | A single tag containing a key and value.
 --
 -- /See:/ 'tag' smart constructor.
@@ -1593,6 +1554,8 @@
         parseXML x
           = Tag' <$> (x .@? "Value") <*> (x .@? "Key")
 
+instance Hashable Tag
+
 instance ToXML Tag where
         toXML Tag'{..}
           = mconcat ["Value" @= _tagValue, "Key" @= _tagKey]
@@ -1672,6 +1635,8 @@
                 <*> (x .@ "Type")
                 <*> (x .@ "Document")
 
+instance Hashable TrafficPolicy
+
 -- | /See:/ 'trafficPolicyInstance' smart constructor.
 data TrafficPolicyInstance = TrafficPolicyInstance'
     { _tpiId                   :: !Text
@@ -1778,6 +1743,8 @@
                 <*> (x .@ "TrafficPolicyVersion")
                 <*> (x .@ "TrafficPolicyType")
 
+instance Hashable TrafficPolicyInstance
+
 -- | /See:/ 'trafficPolicySummary' smart constructor.
 data TrafficPolicySummary = TrafficPolicySummary'
     { _tpsId                 :: !Text
@@ -1843,6 +1810,8 @@
                 (x .@ "LatestVersion")
                 <*> (x .@ "TrafficPolicyCount")
 
+instance Hashable TrafficPolicySummary
+
 -- | /See:/ 'vpc' smart constructor.
 data VPC = VPC'
     { _vpcVPCRegion :: !(Maybe VPCRegion)
@@ -1875,6 +1844,8 @@
 instance FromXML VPC where
         parseXML x
           = VPC' <$> (x .@? "VPCRegion") <*> (x .@? "VPCId")
+
+instance Hashable VPC
 
 instance ToXML VPC where
         toXML VPC'{..}
diff --git a/gen/Network/AWS/Route53/Types/Sum.hs b/gen/Network/AWS/Route53/Types/Sum.hs
--- a/gen/Network/AWS/Route53/Types/Sum.hs
+++ b/gen/Network/AWS/Route53/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.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
@@ -45,9 +45,6 @@
 instance ToQuery      ChangeAction
 instance ToHeader     ChangeAction
 
-instance FromXML ChangeAction where
-    parseXML = parseXMLText "ChangeAction"
-
 instance ToXML ChangeAction where
     toXML = toXMLText
 
@@ -226,6 +223,7 @@
 
 data VPCRegion
     = ApNortheast1
+    | ApNortheast2
     | ApSoutheast1
     | ApSoutheast2
     | CnNorth1
@@ -240,6 +238,7 @@
 instance FromText VPCRegion where
     parser = takeLowerText >>= \case
         "ap-northeast-1" -> pure ApNortheast1
+        "ap-northeast-2" -> pure ApNortheast2
         "ap-southeast-1" -> pure ApSoutheast1
         "ap-southeast-2" -> pure ApSoutheast2
         "cn-north-1" -> pure CnNorth1
@@ -250,11 +249,12 @@
         "us-west-1" -> pure UsWest1
         "us-west-2" -> pure UsWest2
         e -> fromTextError $ "Failure parsing VPCRegion from value: '" <> e
-           <> "'. Accepted values: ap-northeast-1, ap-southeast-1, ap-southeast-2, cn-north-1, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2"
+           <> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, cn-north-1, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2"
 
 instance ToText VPCRegion where
     toText = \case
         ApNortheast1 -> "ap-northeast-1"
+        ApNortheast2 -> "ap-northeast-2"
         ApSoutheast1 -> "ap-southeast-1"
         ApSoutheast2 -> "ap-southeast-2"
         CnNorth1 -> "cn-north-1"
diff --git a/gen/Network/AWS/Route53/UpdateHealthCheck.hs b/gen/Network/AWS/Route53/UpdateHealthCheck.hs
--- a/gen/Network/AWS/Route53/UpdateHealthCheck.hs
+++ b/gen/Network/AWS/Route53/UpdateHealthCheck.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.UpdateHealthCheck
--- 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,12 +21,10 @@
 -- This action updates an existing health check.
 --
 -- To update a health check, send a 'POST' request to the
--- '2013-04-01\/healthcheck\/health check ID' resource. The request body
--- must include an XML document with an 'UpdateHealthCheckRequest' element.
--- The response returns an 'UpdateHealthCheckResponse' element, which
--- contains metadata about the health check.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html AWS API Reference> for UpdateHealthCheck.
+-- '\/Route 53 API version\/healthcheck\/health check ID' resource. The
+-- request body must include a document with an 'UpdateHealthCheckRequest'
+-- element. The response returns an 'UpdateHealthCheckResponse' element,
+-- which contains metadata about the health check.
 module Network.AWS.Route53.UpdateHealthCheck
     (
     -- * Creating a Request
@@ -35,6 +33,7 @@
     -- * Request Lenses
     , uhcFailureThreshold
     , uhcIPAddress
+    , uhcEnableSNI
     , uhcSearchString
     , uhcHealthThreshold
     , uhcResourcePath
@@ -67,6 +66,7 @@
 data UpdateHealthCheck = UpdateHealthCheck'
     { _uhcFailureThreshold         :: !(Maybe Nat)
     , _uhcIPAddress                :: !(Maybe Text)
+    , _uhcEnableSNI                :: !(Maybe Bool)
     , _uhcSearchString             :: !(Maybe Text)
     , _uhcHealthThreshold          :: !(Maybe Nat)
     , _uhcResourcePath             :: !(Maybe Text)
@@ -86,6 +86,8 @@
 --
 -- * 'uhcIPAddress'
 --
+-- * 'uhcEnableSNI'
+--
 -- * 'uhcSearchString'
 --
 -- * 'uhcHealthThreshold'
@@ -110,6 +112,7 @@
     UpdateHealthCheck'
     { _uhcFailureThreshold = Nothing
     , _uhcIPAddress = Nothing
+    , _uhcEnableSNI = Nothing
     , _uhcSearchString = Nothing
     , _uhcHealthThreshold = Nothing
     , _uhcResourcePath = Nothing
@@ -139,10 +142,22 @@
 uhcIPAddress :: Lens' UpdateHealthCheck (Maybe Text)
 uhcIPAddress = lens _uhcIPAddress (\ s a -> s{_uhcIPAddress = a});
 
+-- | Specify whether you want Amazon Route 53 to send the value of
+-- 'FullyQualifiedDomainName' to the endpoint in the 'client_hello' message
+-- during TLS negotiation. If you don\'t specify a value for 'EnableSNI',
+-- Amazon Route 53 defaults to 'true' when 'Type' is 'HTTPS' or
+-- 'HTTPS_STR_MATCH' and defaults to 'false' when 'Type' is any other
+-- value.
+--
+-- Specify this value only if you want to change it.
+uhcEnableSNI :: Lens' UpdateHealthCheck (Maybe Bool)
+uhcEnableSNI = lens _uhcEnableSNI (\ s a -> s{_uhcEnableSNI = a});
+
 -- | If the value of 'Type' is 'HTTP_STR_MATCH' or 'HTTP_STR_MATCH', the
 -- string that you want Amazon Route 53 to search for in the response body
 -- from the specified resource. If the string appears in the response body,
--- Amazon Route 53 considers the resource healthy.
+-- Amazon Route 53 considers the resource healthy. Amazon Route 53
+-- considers case when searching for 'SearchString' in the response body.
 --
 -- Specify this value only if you want to change it.
 uhcSearchString :: Lens' UpdateHealthCheck (Maybe Text)
@@ -214,6 +229,8 @@
                  UpdateHealthCheckResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "HealthCheck"))
 
+instance Hashable UpdateHealthCheck
+
 instance ToElement UpdateHealthCheck where
         toElement
           = mkElement
@@ -235,6 +252,7 @@
           = mconcat
               ["FailureThreshold" @= _uhcFailureThreshold,
                "IPAddress" @= _uhcIPAddress,
+               "EnableSNI" @= _uhcEnableSNI,
                "SearchString" @= _uhcSearchString,
                "HealthThreshold" @= _uhcHealthThreshold,
                "ResourcePath" @= _uhcResourcePath,
diff --git a/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs b/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs
--- a/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs
+++ b/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs
@@ -12,20 +12,19 @@
 
 -- |
 -- Module      : Network.AWS.Route53.UpdateHostedZoneComment
--- 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)
 --
 -- To update the hosted zone comment, send a 'POST' request to the
--- '2013-04-01\/hostedzone\/hosted zone ID' resource. The request body must
--- include an XML document with a 'UpdateHostedZoneCommentRequest' element.
--- The response to this request includes the modified 'HostedZone' element.
+-- '\/Route 53 API version\/hostedzone\/hosted zone ID' resource. The
+-- request body must include a document with a
+-- 'UpdateHostedZoneCommentRequest' element. The response to this request
+-- includes the modified 'HostedZone' element.
 --
 -- The comment can have a maximum length of 256 characters.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHostedZoneComment.html AWS API Reference> for UpdateHostedZoneComment.
 module Network.AWS.Route53.UpdateHostedZoneComment
     (
     -- * Creating a Request
@@ -92,6 +91,8 @@
               (\ s h x ->
                  UpdateHostedZoneCommentResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "HostedZone"))
+
+instance Hashable UpdateHostedZoneComment
 
 instance ToElement UpdateHostedZoneComment where
         toElement
diff --git a/gen/Network/AWS/Route53/UpdateTrafficPolicyComment.hs b/gen/Network/AWS/Route53/UpdateTrafficPolicyComment.hs
--- a/gen/Network/AWS/Route53/UpdateTrafficPolicyComment.hs
+++ b/gen/Network/AWS/Route53/UpdateTrafficPolicyComment.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.UpdateTrafficPolicyComment
--- 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,12 +21,10 @@
 -- Updates the comment for a specified traffic policy version.
 --
 -- To update the comment, send a 'POST' request to the
--- '\/2013-04-01\/trafficpolicy\/' resource.
+-- '\/Route 53 API version\/trafficpolicy\/' resource.
 --
--- The request body must include an XML document with an
+-- The request body must include a document with an
 -- 'UpdateTrafficPolicyCommentRequest' element.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateTrafficPolicyComment.html AWS API Reference> for UpdateTrafficPolicyComment.
 module Network.AWS.Route53.UpdateTrafficPolicyComment
     (
     -- * Creating a Request
@@ -106,6 +104,8 @@
               (\ s h x ->
                  UpdateTrafficPolicyCommentResponse' <$>
                    (pure (fromEnum s)) <*> (x .@ "TrafficPolicy"))
+
+instance Hashable UpdateTrafficPolicyComment
 
 instance ToElement UpdateTrafficPolicyComment where
         toElement
diff --git a/gen/Network/AWS/Route53/UpdateTrafficPolicyInstance.hs b/gen/Network/AWS/Route53/UpdateTrafficPolicyInstance.hs
--- a/gen/Network/AWS/Route53/UpdateTrafficPolicyInstance.hs
+++ b/gen/Network/AWS/Route53/UpdateTrafficPolicyInstance.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.UpdateTrafficPolicyInstance
--- 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
@@ -43,11 +43,9 @@
 --     are associated with the root resource record set name.
 --
 -- To update a traffic policy instance, send a 'POST' request to the
--- '\/2013-04-01\/trafficpolicyinstance\/traffic policy ID' resource. The
--- request body must include an XML document with an
+-- '\/Route 53 API version\/trafficpolicyinstance\/traffic policy ID'
+-- resource. The request body must include a document with an
 -- 'UpdateTrafficPolicyInstanceRequest' element.
---
--- /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateTrafficPolicyInstance.html AWS API Reference> for UpdateTrafficPolicyInstance.
 module Network.AWS.Route53.UpdateTrafficPolicyInstance
     (
     -- * Creating a Request
@@ -140,6 +138,8 @@
                  UpdateTrafficPolicyInstanceResponse' <$>
                    (pure (fromEnum s)) <*>
                      (x .@ "TrafficPolicyInstance"))
+
+instance Hashable UpdateTrafficPolicyInstance
 
 instance ToElement UpdateTrafficPolicyInstance where
         toElement
diff --git a/gen/Network/AWS/Route53/Waiters.hs b/gen/Network/AWS/Route53/Waiters.hs
--- a/gen/Network/AWS/Route53/Waiters.hs
+++ b/gen/Network/AWS/Route53/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.Route53.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/src/Network/AWS/Route53/Internal.hs b/src/Network/AWS/Route53/Internal.hs
--- a/src/Network/AWS/Route53/Internal.hs
+++ b/src/Network/AWS/Route53/Internal.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      : Network.AWS.Route53.Internal
--- 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   : experimental
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/Gen/Route53.hs b/test/Test/AWS/Gen/Route53.hs
--- a/test/Test/AWS/Gen/Route53.hs
+++ b/test/Test/AWS/Gen/Route53.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.Route53
--- 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
@@ -109,9 +109,6 @@
 --         , testCreateReusableDelegationSet $
 --             createReusableDelegationSet
 --
---         , testListChangeBatchesByRRSet $
---             listChangeBatchesByRRSet
---
 --         , testGetHealthCheckCount $
 --             getHealthCheckCount
 --
@@ -121,12 +118,6 @@
 --         , testGetHostedZoneCount $
 --             getHostedZoneCount
 --
---         , testListChangeBatchesByHostedZone $
---             listChangeBatchesByHostedZone
---
---         , testGetChangeDetails $
---             getChangeDetails
---
 --         , testGetReusableDelegationSet $
 --             getReusableDelegationSet
 --
@@ -256,9 +247,6 @@
 --         , testCreateReusableDelegationSetResponse $
 --             createReusableDelegationSetResponse
 --
---         , testListChangeBatchesByRRSetResponse $
---             listChangeBatchesByRRSetResponse
---
 --         , testGetHealthCheckCountResponse $
 --             getHealthCheckCountResponse
 --
@@ -268,12 +256,6 @@
 --         , testGetHostedZoneCountResponse $
 --             getHostedZoneCountResponse
 --
---         , testListChangeBatchesByHostedZoneResponse $
---             listChangeBatchesByHostedZoneResponse
---
---         , testGetChangeDetailsResponse $
---             getChangeDetailsResponse
---
 --         , testGetReusableDelegationSetResponse $
 --             getReusableDelegationSetResponse
 --
@@ -459,11 +441,6 @@
     "CreateReusableDelegationSet"
     "fixture/CreateReusableDelegationSet.yaml"
 
-testListChangeBatchesByRRSet :: ListChangeBatchesByRRSet -> TestTree
-testListChangeBatchesByRRSet = req
-    "ListChangeBatchesByRRSet"
-    "fixture/ListChangeBatchesByRRSet.yaml"
-
 testGetHealthCheckCount :: GetHealthCheckCount -> TestTree
 testGetHealthCheckCount = req
     "GetHealthCheckCount"
@@ -479,16 +456,6 @@
     "GetHostedZoneCount"
     "fixture/GetHostedZoneCount.yaml"
 
-testListChangeBatchesByHostedZone :: ListChangeBatchesByHostedZone -> TestTree
-testListChangeBatchesByHostedZone = req
-    "ListChangeBatchesByHostedZone"
-    "fixture/ListChangeBatchesByHostedZone.yaml"
-
-testGetChangeDetails :: GetChangeDetails -> TestTree
-testGetChangeDetails = req
-    "GetChangeDetails"
-    "fixture/GetChangeDetails.yaml"
-
 testGetReusableDelegationSet :: GetReusableDelegationSet -> TestTree
 testGetReusableDelegationSet = req
     "GetReusableDelegationSet"
@@ -755,13 +722,6 @@
     route53
     (Proxy :: Proxy CreateReusableDelegationSet)
 
-testListChangeBatchesByRRSetResponse :: ListChangeBatchesByRRSetResponse -> TestTree
-testListChangeBatchesByRRSetResponse = res
-    "ListChangeBatchesByRRSetResponse"
-    "fixture/ListChangeBatchesByRRSetResponse.proto"
-    route53
-    (Proxy :: Proxy ListChangeBatchesByRRSet)
-
 testGetHealthCheckCountResponse :: GetHealthCheckCountResponse -> TestTree
 testGetHealthCheckCountResponse = res
     "GetHealthCheckCountResponse"
@@ -782,20 +742,6 @@
     "fixture/GetHostedZoneCountResponse.proto"
     route53
     (Proxy :: Proxy GetHostedZoneCount)
-
-testListChangeBatchesByHostedZoneResponse :: ListChangeBatchesByHostedZoneResponse -> TestTree
-testListChangeBatchesByHostedZoneResponse = res
-    "ListChangeBatchesByHostedZoneResponse"
-    "fixture/ListChangeBatchesByHostedZoneResponse.proto"
-    route53
-    (Proxy :: Proxy ListChangeBatchesByHostedZone)
-
-testGetChangeDetailsResponse :: GetChangeDetailsResponse -> TestTree
-testGetChangeDetailsResponse = res
-    "GetChangeDetailsResponse"
-    "fixture/GetChangeDetailsResponse.proto"
-    route53
-    (Proxy :: Proxy GetChangeDetails)
 
 testGetReusableDelegationSetResponse :: GetReusableDelegationSetResponse -> TestTree
 testGetReusableDelegationSetResponse = res
diff --git a/test/Test/AWS/Route53.hs b/test/Test/AWS/Route53.hs
--- a/test/Test/AWS/Route53.hs
+++ b/test/Test/AWS/Route53.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- Module      : Test.AWS.Route53
--- 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/Route53/Internal.hs b/test/Test/AWS/Route53/Internal.hs
--- a/test/Test/AWS/Route53/Internal.hs
+++ b/test/Test/AWS/Route53/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.Route53.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
