diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.0`
+`1.4.1`
 
 
 ## Description
diff --git a/amazonka-route53-domains.cabal b/amazonka-route53-domains.cabal
--- a/amazonka-route53-domains.cabal
+++ b/amazonka-route53-domains.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-route53-domains
-version:               1.4.0
+version:               1.4.1
 synopsis:              Amazon Route 53 Domains SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -47,12 +47,14 @@
         , Network.AWS.Route53Domains.DisableDomainTransferLock
         , Network.AWS.Route53Domains.EnableDomainAutoRenew
         , Network.AWS.Route53Domains.EnableDomainTransferLock
+        , Network.AWS.Route53Domains.GetContactReachabilityStatus
         , Network.AWS.Route53Domains.GetDomainDetail
         , Network.AWS.Route53Domains.GetOperationDetail
         , Network.AWS.Route53Domains.ListDomains
         , Network.AWS.Route53Domains.ListOperations
         , Network.AWS.Route53Domains.ListTagsForDomain
         , Network.AWS.Route53Domains.RegisterDomain
+        , Network.AWS.Route53Domains.ResendContactReachabilityEmail
         , Network.AWS.Route53Domains.RetrieveDomainAuthCode
         , Network.AWS.Route53Domains.TransferDomain
         , Network.AWS.Route53Domains.Types
@@ -67,7 +69,7 @@
         , Network.AWS.Route53Domains.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-route53-domains-test
@@ -87,9 +89,9 @@
         , Test.AWS.Route53Domains.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-route53-domains == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-route53-domains == 1.4.1.*
         , base
         , bytestring
         , tasty
diff --git a/fixture/GetContactReachabilityStatus.yaml b/fixture/GetContactReachabilityStatus.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetContactReachabilityStatus.yaml
diff --git a/fixture/GetContactReachabilityStatusResponse.proto b/fixture/GetContactReachabilityStatusResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetContactReachabilityStatusResponse.proto
diff --git a/fixture/ResendContactReachabilityEmail.yaml b/fixture/ResendContactReachabilityEmail.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ResendContactReachabilityEmail.yaml
diff --git a/fixture/ResendContactReachabilityEmailResponse.proto b/fixture/ResendContactReachabilityEmailResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ResendContactReachabilityEmailResponse.proto
diff --git a/gen/Network/AWS/Route53Domains.hs b/gen/Network/AWS/Route53Domains.hs
--- a/gen/Network/AWS/Route53Domains.hs
+++ b/gen/Network/AWS/Route53Domains.hs
@@ -59,6 +59,9 @@
     -- ** EnableDomainAutoRenew
     , module Network.AWS.Route53Domains.EnableDomainAutoRenew
 
+    -- ** ResendContactReachabilityEmail
+    , module Network.AWS.Route53Domains.ResendContactReachabilityEmail
+
     -- ** DisableDomainAutoRenew
     , module Network.AWS.Route53Domains.DisableDomainAutoRenew
 
@@ -77,6 +80,9 @@
     -- ** CheckDomainAvailability
     , module Network.AWS.Route53Domains.CheckDomainAvailability
 
+    -- ** GetContactReachabilityStatus
+    , module Network.AWS.Route53Domains.GetContactReachabilityStatus
+
     -- ** ListTagsForDomain
     , module Network.AWS.Route53Domains.ListTagsForDomain
 
@@ -118,6 +124,9 @@
     -- ** OperationType
     , OperationType (..)
 
+    -- ** ReachabilityStatus
+    , ReachabilityStatus (..)
+
     -- ** ContactDetail
     , ContactDetail
     , contactDetail
@@ -177,12 +186,14 @@
 import           Network.AWS.Route53Domains.DisableDomainTransferLock
 import           Network.AWS.Route53Domains.EnableDomainAutoRenew
 import           Network.AWS.Route53Domains.EnableDomainTransferLock
+import           Network.AWS.Route53Domains.GetContactReachabilityStatus
 import           Network.AWS.Route53Domains.GetDomainDetail
 import           Network.AWS.Route53Domains.GetOperationDetail
 import           Network.AWS.Route53Domains.ListDomains
 import           Network.AWS.Route53Domains.ListOperations
 import           Network.AWS.Route53Domains.ListTagsForDomain
 import           Network.AWS.Route53Domains.RegisterDomain
+import           Network.AWS.Route53Domains.ResendContactReachabilityEmail
 import           Network.AWS.Route53Domains.RetrieveDomainAuthCode
 import           Network.AWS.Route53Domains.TransferDomain
 import           Network.AWS.Route53Domains.Types
diff --git a/gen/Network/AWS/Route53Domains/CheckDomainAvailability.hs b/gen/Network/AWS/Route53Domains/CheckDomainAvailability.hs
--- a/gen/Network/AWS/Route53Domains/CheckDomainAvailability.hs
+++ b/gen/Network/AWS/Route53Domains/CheckDomainAvailability.hs
@@ -18,10 +18,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- This operation checks the availability of one domain name. You can
--- access this API without authenticating. Note that if the availability
--- status of a domain is pending, you must submit another request to
--- determine the availability of the domain name.
+-- This operation checks the availability of one domain name. Note that if
+-- the availability status of a domain is pending, you must submit another
+-- request to determine the availability of the domain name.
 module Network.AWS.Route53Domains.CheckDomainAvailability
     (
     -- * Creating a Request
@@ -100,6 +99,8 @@
 
 instance Hashable CheckDomainAvailability
 
+instance NFData CheckDomainAvailability
+
 instance ToHeaders CheckDomainAvailability where
         toHeaders
           = const
@@ -176,3 +177,5 @@
 --     registry is performing maintenance. Try again later.
 cdarsAvailability :: Lens' CheckDomainAvailabilityResponse DomainAvailability
 cdarsAvailability = lens _cdarsAvailability (\ s a -> s{_cdarsAvailability = a});
+
+instance NFData CheckDomainAvailabilityResponse
diff --git a/gen/Network/AWS/Route53Domains/DeleteTagsForDomain.hs b/gen/Network/AWS/Route53Domains/DeleteTagsForDomain.hs
--- a/gen/Network/AWS/Route53Domains/DeleteTagsForDomain.hs
+++ b/gen/Network/AWS/Route53Domains/DeleteTagsForDomain.hs
@@ -79,9 +79,9 @@
 --
 -- Constraints: The domain name can contain only the letters a through z,
 -- the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when
--- theyaposre surrounded by letters, numbers, or other hyphens. You
--- canapost specify a hyphen at the beginning or end of a label. To specify
--- an Internationalized Domain Name, you must convert the name to Punycode.
+-- they\'re surrounded by letters, numbers, or other hyphens. You can\'t
+-- specify a hyphen at the beginning or end of a label. To specify an
+-- Internationalized Domain Name, you must convert the name to Punycode.
 --
 -- Required: Yes
 dtfdDomainName :: Lens' DeleteTagsForDomain Text
@@ -110,6 +110,8 @@
 
 instance Hashable DeleteTagsForDomain
 
+instance NFData DeleteTagsForDomain
+
 instance ToHeaders DeleteTagsForDomain where
         toHeaders
           = const
@@ -154,3 +156,5 @@
 -- | The response status code.
 dtfdrsResponseStatus :: Lens' DeleteTagsForDomainResponse Int
 dtfdrsResponseStatus = lens _dtfdrsResponseStatus (\ s a -> s{_dtfdrsResponseStatus = a});
+
+instance NFData DeleteTagsForDomainResponse
diff --git a/gen/Network/AWS/Route53Domains/DisableDomainAutoRenew.hs b/gen/Network/AWS/Route53Domains/DisableDomainAutoRenew.hs
--- a/gen/Network/AWS/Route53Domains/DisableDomainAutoRenew.hs
+++ b/gen/Network/AWS/Route53Domains/DisableDomainAutoRenew.hs
@@ -81,6 +81,8 @@
 
 instance Hashable DisableDomainAutoRenew
 
+instance NFData DisableDomainAutoRenew
+
 instance ToHeaders DisableDomainAutoRenew where
         toHeaders
           = const
@@ -123,3 +125,5 @@
 -- | The response status code.
 ddarrsResponseStatus :: Lens' DisableDomainAutoRenewResponse Int
 ddarrsResponseStatus = lens _ddarrsResponseStatus (\ s a -> s{_ddarrsResponseStatus = a});
+
+instance NFData DisableDomainAutoRenewResponse
diff --git a/gen/Network/AWS/Route53Domains/DisableDomainTransferLock.hs b/gen/Network/AWS/Route53Domains/DisableDomainTransferLock.hs
--- a/gen/Network/AWS/Route53Domains/DisableDomainTransferLock.hs
+++ b/gen/Network/AWS/Route53Domains/DisableDomainTransferLock.hs
@@ -94,6 +94,8 @@
 
 instance Hashable DisableDomainTransferLock
 
+instance NFData DisableDomainTransferLock
+
 instance ToHeaders DisableDomainTransferLock where
         toHeaders
           = const
@@ -154,3 +156,5 @@
 -- Constraints: Maximum 255 characters.
 ddtlrsOperationId :: Lens' DisableDomainTransferLockResponse Text
 ddtlrsOperationId = lens _ddtlrsOperationId (\ s a -> s{_ddtlrsOperationId = a});
+
+instance NFData DisableDomainTransferLockResponse
diff --git a/gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs b/gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs
--- a/gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs
+++ b/gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs
@@ -84,6 +84,8 @@
 
 instance Hashable EnableDomainAutoRenew
 
+instance NFData EnableDomainAutoRenew
+
 instance ToHeaders EnableDomainAutoRenew where
         toHeaders
           = const
@@ -126,3 +128,5 @@
 -- | The response status code.
 edarrsResponseStatus :: Lens' EnableDomainAutoRenewResponse Int
 edarrsResponseStatus = lens _edarrsResponseStatus (\ s a -> s{_edarrsResponseStatus = a});
+
+instance NFData EnableDomainAutoRenewResponse
diff --git a/gen/Network/AWS/Route53Domains/EnableDomainTransferLock.hs b/gen/Network/AWS/Route53Domains/EnableDomainTransferLock.hs
--- a/gen/Network/AWS/Route53Domains/EnableDomainTransferLock.hs
+++ b/gen/Network/AWS/Route53Domains/EnableDomainTransferLock.hs
@@ -92,6 +92,8 @@
 
 instance Hashable EnableDomainTransferLock
 
+instance NFData EnableDomainTransferLock
+
 instance ToHeaders EnableDomainTransferLock where
         toHeaders
           = const
@@ -152,3 +154,5 @@
 -- Constraints: Maximum 255 characters.
 edtlrsOperationId :: Lens' EnableDomainTransferLockResponse Text
 edtlrsOperationId = lens _edtlrsOperationId (\ s a -> s{_edtlrsOperationId = a});
+
+instance NFData EnableDomainTransferLockResponse
diff --git a/gen/Network/AWS/Route53Domains/GetContactReachabilityStatus.hs b/gen/Network/AWS/Route53Domains/GetContactReachabilityStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/Route53Domains/GetContactReachabilityStatus.hs
@@ -0,0 +1,163 @@
+{-# 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.Route53Domains.GetContactReachabilityStatus
+-- 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)
+--
+-- For operations that require confirmation that the email address for the
+-- registrant contact is valid, such as registering a new domain, this
+-- operation returns information about whether the registrant contact has
+-- responded.
+--
+-- If you want us to resend the email, use the
+-- 'ResendContactReachabilityEmail' operation.
+module Network.AWS.Route53Domains.GetContactReachabilityStatus
+    (
+    -- * Creating a Request
+      getContactReachabilityStatus
+    , GetContactReachabilityStatus
+    -- * Request Lenses
+    , gcrsDomainName
+
+    -- * Destructuring the Response
+    , getContactReachabilityStatusResponse
+    , GetContactReachabilityStatusResponse
+    -- * Response Lenses
+    , gcrsrsStatus
+    , gcrsrsDomainName
+    , gcrsrsResponseStatus
+    ) where
+
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+import           Network.AWS.Route53Domains.Types
+import           Network.AWS.Route53Domains.Types.Product
+
+-- | /See:/ 'getContactReachabilityStatus' smart constructor.
+newtype GetContactReachabilityStatus = GetContactReachabilityStatus'
+    { _gcrsDomainName :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetContactReachabilityStatus' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gcrsDomainName'
+getContactReachabilityStatus
+    :: GetContactReachabilityStatus
+getContactReachabilityStatus =
+    GetContactReachabilityStatus'
+    { _gcrsDomainName = Nothing
+    }
+
+-- | The name of the domain for which you want to know whether the registrant
+-- contact has confirmed that the email address is valid.
+--
+-- Type: String
+--
+-- Default: None
+--
+-- Required: Yes
+gcrsDomainName :: Lens' GetContactReachabilityStatus (Maybe Text)
+gcrsDomainName = lens _gcrsDomainName (\ s a -> s{_gcrsDomainName = a});
+
+instance AWSRequest GetContactReachabilityStatus
+         where
+        type Rs GetContactReachabilityStatus =
+             GetContactReachabilityStatusResponse
+        request = postJSON route53Domains
+        response
+          = receiveJSON
+              (\ s h x ->
+                 GetContactReachabilityStatusResponse' <$>
+                   (x .?> "status") <*> (x .?> "domainName") <*>
+                     (pure (fromEnum s)))
+
+instance Hashable GetContactReachabilityStatus
+
+instance NFData GetContactReachabilityStatus
+
+instance ToHeaders GetContactReachabilityStatus where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("Route53Domains_v20140515.GetContactReachabilityStatus"
+                       :: ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON GetContactReachabilityStatus where
+        toJSON GetContactReachabilityStatus'{..}
+          = object
+              (catMaybes [("domainName" .=) <$> _gcrsDomainName])
+
+instance ToPath GetContactReachabilityStatus where
+        toPath = const "/"
+
+instance ToQuery GetContactReachabilityStatus where
+        toQuery = const mempty
+
+-- | /See:/ 'getContactReachabilityStatusResponse' smart constructor.
+data GetContactReachabilityStatusResponse = GetContactReachabilityStatusResponse'
+    { _gcrsrsStatus         :: !(Maybe ReachabilityStatus)
+    , _gcrsrsDomainName     :: !(Maybe Text)
+    , _gcrsrsResponseStatus :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetContactReachabilityStatusResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gcrsrsStatus'
+--
+-- * 'gcrsrsDomainName'
+--
+-- * 'gcrsrsResponseStatus'
+getContactReachabilityStatusResponse
+    :: Int -- ^ 'gcrsrsResponseStatus'
+    -> GetContactReachabilityStatusResponse
+getContactReachabilityStatusResponse pResponseStatus_ =
+    GetContactReachabilityStatusResponse'
+    { _gcrsrsStatus = Nothing
+    , _gcrsrsDomainName = Nothing
+    , _gcrsrsResponseStatus = pResponseStatus_
+    }
+
+-- | Whether the registrant contact has responded. 'PENDING' indicates that
+-- we sent the confirmation email and haven\'t received a response yet,
+-- 'DONE' indicates that we sent the email and got confirmation from the
+-- registrant contact, and 'EXPIRED' indicates that the time limit expired
+-- before the registrant contact responded.
+--
+-- Type: String
+--
+-- Valid values: 'PENDING', 'DONE', 'EXPIRED'
+gcrsrsStatus :: Lens' GetContactReachabilityStatusResponse (Maybe ReachabilityStatus)
+gcrsrsStatus = lens _gcrsrsStatus (\ s a -> s{_gcrsrsStatus = a});
+
+-- | The domain name for which you requested the reachability status.
+gcrsrsDomainName :: Lens' GetContactReachabilityStatusResponse (Maybe Text)
+gcrsrsDomainName = lens _gcrsrsDomainName (\ s a -> s{_gcrsrsDomainName = a});
+
+-- | The response status code.
+gcrsrsResponseStatus :: Lens' GetContactReachabilityStatusResponse Int
+gcrsrsResponseStatus = lens _gcrsrsResponseStatus (\ s a -> s{_gcrsrsResponseStatus = a});
+
+instance NFData GetContactReachabilityStatusResponse
diff --git a/gen/Network/AWS/Route53Domains/GetDomainDetail.hs b/gen/Network/AWS/Route53Domains/GetDomainDetail.hs
--- a/gen/Network/AWS/Route53Domains/GetDomainDetail.hs
+++ b/gen/Network/AWS/Route53Domains/GetDomainDetail.hs
@@ -128,6 +128,8 @@
 
 instance Hashable GetDomainDetail
 
+instance NFData GetDomainDetail
+
 instance ToHeaders GetDomainDetail where
         toHeaders
           = const
@@ -420,3 +422,5 @@
 -- 'CountryCode', 'ZipCode', 'PhoneNumber', 'Email', 'Fax', 'ExtraParams'
 gddrsTechContact :: Lens' GetDomainDetailResponse ContactDetail
 gddrsTechContact = lens _gddrsTechContact (\ s a -> s{_gddrsTechContact = a}) . _Sensitive;
+
+instance NFData GetDomainDetailResponse
diff --git a/gen/Network/AWS/Route53Domains/GetOperationDetail.hs b/gen/Network/AWS/Route53Domains/GetOperationDetail.hs
--- a/gen/Network/AWS/Route53Domains/GetOperationDetail.hs
+++ b/gen/Network/AWS/Route53Domains/GetOperationDetail.hs
@@ -97,6 +97,8 @@
 
 instance Hashable GetOperationDetail
 
+instance NFData GetOperationDetail
+
 instance ToHeaders GetOperationDetail where
         toHeaders
           = const
@@ -199,3 +201,5 @@
 -- | The response status code.
 godrsResponseStatus :: Lens' GetOperationDetailResponse Int
 godrsResponseStatus = lens _godrsResponseStatus (\ s a -> s{_godrsResponseStatus = a});
+
+instance NFData GetOperationDetailResponse
diff --git a/gen/Network/AWS/Route53Domains/ListDomains.hs b/gen/Network/AWS/Route53Domains/ListDomains.hs
--- a/gen/Network/AWS/Route53Domains/ListDomains.hs
+++ b/gen/Network/AWS/Route53Domains/ListDomains.hs
@@ -120,6 +120,8 @@
 
 instance Hashable ListDomains
 
+instance NFData ListDomains
+
 instance ToHeaders ListDomains where
         toHeaders
           = const
@@ -192,3 +194,5 @@
 -- Children: 'AutoRenew', 'DomainName', 'Expiry', 'TransferLock'
 ldrsDomains :: Lens' ListDomainsResponse [DomainSummary]
 ldrsDomains = lens _ldrsDomains (\ s a -> s{_ldrsDomains = a}) . _Coerce;
+
+instance NFData ListDomainsResponse
diff --git a/gen/Network/AWS/Route53Domains/ListOperations.hs b/gen/Network/AWS/Route53Domains/ListOperations.hs
--- a/gen/Network/AWS/Route53Domains/ListOperations.hs
+++ b/gen/Network/AWS/Route53Domains/ListOperations.hs
@@ -117,6 +117,8 @@
 
 instance Hashable ListOperations
 
+instance NFData ListOperations
+
 instance ToHeaders ListOperations where
         toHeaders
           = const
@@ -189,3 +191,5 @@
 -- Children: 'OperationId', 'Status', 'SubmittedDate', 'Type'
 lorsOperations :: Lens' ListOperationsResponse [OperationSummary]
 lorsOperations = lens _lorsOperations (\ s a -> s{_lorsOperations = a}) . _Coerce;
+
+instance NFData ListOperationsResponse
diff --git a/gen/Network/AWS/Route53Domains/ListTagsForDomain.hs b/gen/Network/AWS/Route53Domains/ListTagsForDomain.hs
--- a/gen/Network/AWS/Route53Domains/ListTagsForDomain.hs
+++ b/gen/Network/AWS/Route53Domains/ListTagsForDomain.hs
@@ -81,6 +81,8 @@
 
 instance Hashable ListTagsForDomain
 
+instance NFData ListTagsForDomain
+
 instance ToHeaders ListTagsForDomain where
         toHeaders
           = const
@@ -150,3 +152,5 @@
 --
 ltfdrsTagList :: Lens' ListTagsForDomainResponse [Tag]
 ltfdrsTagList = lens _ltfdrsTagList (\ s a -> s{_ltfdrsTagList = a}) . _Coerce;
+
+instance NFData ListTagsForDomainResponse
diff --git a/gen/Network/AWS/Route53Domains/RegisterDomain.hs b/gen/Network/AWS/Route53Domains/RegisterDomain.hs
--- a/gen/Network/AWS/Route53Domains/RegisterDomain.hs
+++ b/gen/Network/AWS/Route53Domains/RegisterDomain.hs
@@ -271,6 +271,8 @@
 
 instance Hashable RegisterDomain
 
+instance NFData RegisterDomain
+
 instance ToHeaders RegisterDomain where
         toHeaders
           = const
@@ -344,3 +346,5 @@
 -- Constraints: Maximum 255 characters.
 rdrsOperationId :: Lens' RegisterDomainResponse Text
 rdrsOperationId = lens _rdrsOperationId (\ s a -> s{_rdrsOperationId = a});
+
+instance NFData RegisterDomainResponse
diff --git a/gen/Network/AWS/Route53Domains/ResendContactReachabilityEmail.hs b/gen/Network/AWS/Route53Domains/ResendContactReachabilityEmail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/Route53Domains/ResendContactReachabilityEmail.hs
@@ -0,0 +1,167 @@
+{-# 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.Route53Domains.ResendContactReachabilityEmail
+-- 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)
+--
+-- For operations that require confirmation that the email address for the
+-- registrant contact is valid, such as registering a new domain, this
+-- operation resends the confirmation email to the current email address
+-- for the registrant contact.
+module Network.AWS.Route53Domains.ResendContactReachabilityEmail
+    (
+    -- * Creating a Request
+      resendContactReachabilityEmail
+    , ResendContactReachabilityEmail
+    -- * Request Lenses
+    , rcreDomainName
+
+    -- * Destructuring the Response
+    , resendContactReachabilityEmailResponse
+    , ResendContactReachabilityEmailResponse
+    -- * Response Lenses
+    , rcrersDomainName
+    , rcrersEmailAddress
+    , rcrersIsAlreadyVerified
+    , rcrersResponseStatus
+    ) where
+
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+import           Network.AWS.Route53Domains.Types
+import           Network.AWS.Route53Domains.Types.Product
+
+-- | /See:/ 'resendContactReachabilityEmail' smart constructor.
+newtype ResendContactReachabilityEmail = ResendContactReachabilityEmail'
+    { _rcreDomainName :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ResendContactReachabilityEmail' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rcreDomainName'
+resendContactReachabilityEmail
+    :: ResendContactReachabilityEmail
+resendContactReachabilityEmail =
+    ResendContactReachabilityEmail'
+    { _rcreDomainName = Nothing
+    }
+
+-- | The name of the domain for which you want Amazon Route 53 to resend a
+-- confirmation email to the registrant contact.
+--
+-- Type: String
+--
+-- Default: None
+--
+-- Required: Yes
+rcreDomainName :: Lens' ResendContactReachabilityEmail (Maybe Text)
+rcreDomainName = lens _rcreDomainName (\ s a -> s{_rcreDomainName = a});
+
+instance AWSRequest ResendContactReachabilityEmail
+         where
+        type Rs ResendContactReachabilityEmail =
+             ResendContactReachabilityEmailResponse
+        request = postJSON route53Domains
+        response
+          = receiveJSON
+              (\ s h x ->
+                 ResendContactReachabilityEmailResponse' <$>
+                   (x .?> "domainName") <*> (x .?> "emailAddress") <*>
+                     (x .?> "isAlreadyVerified")
+                     <*> (pure (fromEnum s)))
+
+instance Hashable ResendContactReachabilityEmail
+
+instance NFData ResendContactReachabilityEmail
+
+instance ToHeaders ResendContactReachabilityEmail
+         where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("Route53Domains_v20140515.ResendContactReachabilityEmail"
+                       :: ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON ResendContactReachabilityEmail where
+        toJSON ResendContactReachabilityEmail'{..}
+          = object
+              (catMaybes [("domainName" .=) <$> _rcreDomainName])
+
+instance ToPath ResendContactReachabilityEmail where
+        toPath = const "/"
+
+instance ToQuery ResendContactReachabilityEmail where
+        toQuery = const mempty
+
+-- | /See:/ 'resendContactReachabilityEmailResponse' smart constructor.
+data ResendContactReachabilityEmailResponse = ResendContactReachabilityEmailResponse'
+    { _rcrersDomainName        :: !(Maybe Text)
+    , _rcrersEmailAddress      :: !(Maybe Text)
+    , _rcrersIsAlreadyVerified :: !(Maybe Bool)
+    , _rcrersResponseStatus    :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ResendContactReachabilityEmailResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rcrersDomainName'
+--
+-- * 'rcrersEmailAddress'
+--
+-- * 'rcrersIsAlreadyVerified'
+--
+-- * 'rcrersResponseStatus'
+resendContactReachabilityEmailResponse
+    :: Int -- ^ 'rcrersResponseStatus'
+    -> ResendContactReachabilityEmailResponse
+resendContactReachabilityEmailResponse pResponseStatus_ =
+    ResendContactReachabilityEmailResponse'
+    { _rcrersDomainName = Nothing
+    , _rcrersEmailAddress = Nothing
+    , _rcrersIsAlreadyVerified = Nothing
+    , _rcrersResponseStatus = pResponseStatus_
+    }
+
+-- | The domain name for which you requested a confirmation email.
+rcrersDomainName :: Lens' ResendContactReachabilityEmailResponse (Maybe Text)
+rcrersDomainName = lens _rcrersDomainName (\ s a -> s{_rcrersDomainName = a});
+
+-- | The email address for the registrant contact at the time that we sent
+-- the verification email.
+rcrersEmailAddress :: Lens' ResendContactReachabilityEmailResponse (Maybe Text)
+rcrersEmailAddress = lens _rcrersEmailAddress (\ s a -> s{_rcrersEmailAddress = a});
+
+-- | True if the email address for the registrant contact has already been
+-- verified, and false otherwise. If the email address has already been
+-- verified, we don\'t send another confirmation email.
+rcrersIsAlreadyVerified :: Lens' ResendContactReachabilityEmailResponse (Maybe Bool)
+rcrersIsAlreadyVerified = lens _rcrersIsAlreadyVerified (\ s a -> s{_rcrersIsAlreadyVerified = a});
+
+-- | The response status code.
+rcrersResponseStatus :: Lens' ResendContactReachabilityEmailResponse Int
+rcrersResponseStatus = lens _rcrersResponseStatus (\ s a -> s{_rcrersResponseStatus = a});
+
+instance NFData
+         ResendContactReachabilityEmailResponse
diff --git a/gen/Network/AWS/Route53Domains/RetrieveDomainAuthCode.hs b/gen/Network/AWS/Route53Domains/RetrieveDomainAuthCode.hs
--- a/gen/Network/AWS/Route53Domains/RetrieveDomainAuthCode.hs
+++ b/gen/Network/AWS/Route53Domains/RetrieveDomainAuthCode.hs
@@ -89,6 +89,8 @@
 
 instance Hashable RetrieveDomainAuthCode
 
+instance NFData RetrieveDomainAuthCode
+
 instance ToHeaders RetrieveDomainAuthCode where
         toHeaders
           = const
@@ -144,3 +146,5 @@
 -- Type: String
 rdacrsAuthCode :: Lens' RetrieveDomainAuthCodeResponse Text
 rdacrsAuthCode = lens _rdacrsAuthCode (\ s a -> s{_rdacrsAuthCode = a}) . _Sensitive;
+
+instance NFData RetrieveDomainAuthCodeResponse
diff --git a/gen/Network/AWS/Route53Domains/TransferDomain.hs b/gen/Network/AWS/Route53Domains/TransferDomain.hs
--- a/gen/Network/AWS/Route53Domains/TransferDomain.hs
+++ b/gen/Network/AWS/Route53Domains/TransferDomain.hs
@@ -302,6 +302,8 @@
 
 instance Hashable TransferDomain
 
+instance NFData TransferDomain
+
 instance ToHeaders TransferDomain where
         toHeaders
           = const
@@ -377,3 +379,5 @@
 -- Constraints: Maximum 255 characters.
 tdrsOperationId :: Lens' TransferDomainResponse Text
 tdrsOperationId = lens _tdrsOperationId (\ s a -> s{_tdrsOperationId = a});
+
+instance NFData TransferDomainResponse
diff --git a/gen/Network/AWS/Route53Domains/Types.hs b/gen/Network/AWS/Route53Domains/Types.hs
--- a/gen/Network/AWS/Route53Domains/Types.hs
+++ b/gen/Network/AWS/Route53Domains/Types.hs
@@ -41,6 +41,9 @@
     -- * OperationType
     , OperationType (..)
 
+    -- * ReachabilityStatus
+    , ReachabilityStatus (..)
+
     -- * ContactDetail
     , ContactDetail
     , contactDetail
@@ -127,6 +130,8 @@
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 504) e = Just "gateway_timeout"
+      | has (hasStatus 502) e = Just "bad_gateway"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasStatus 500) e = Just "general_server_error"
       | has (hasStatus 509) e = Just "limit_exceeded"
@@ -137,29 +142,26 @@
 -- domain name, it may not be a valid domain name or belong to the
 -- requester account.
 _InvalidInput :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidInput = _ServiceError . hasStatus 400 . hasCode "InvalidInput"
+_InvalidInput = _ServiceError . hasCode "InvalidInput"
 
 -- | The number of operations or jobs running exceeded the allowed threshold
 -- for the account.
 _OperationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
-_OperationLimitExceeded =
-    _ServiceError . hasStatus 400 . hasCode "OperationLimitExceeded"
+_OperationLimitExceeded = _ServiceError . hasCode "OperationLimitExceeded"
 
 -- | The number of domains has exceeded the allowed threshold for the
 -- account.
 _DomainLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
-_DomainLimitExceeded =
-    _ServiceError . hasStatus 400 . hasCode "DomainLimitExceeded"
+_DomainLimitExceeded = _ServiceError . hasCode "DomainLimitExceeded"
 
 -- | Amazon Route 53 does not support this top-level domain.
 _UnsupportedTLD :: AsError a => Getting (First ServiceError) a ServiceError
-_UnsupportedTLD = _ServiceError . hasStatus 400 . hasCode "UnsupportedTLD"
+_UnsupportedTLD = _ServiceError . hasCode "UnsupportedTLD"
 
 -- | The top-level domain does not support this operation.
 _TLDRulesViolation :: AsError a => Getting (First ServiceError) a ServiceError
-_TLDRulesViolation =
-    _ServiceError . hasStatus 400 . hasCode "TLDRulesViolation"
+_TLDRulesViolation = _ServiceError . hasCode "TLDRulesViolation"
 
 -- | The request is already in progress for the domain.
 _DuplicateRequest :: AsError a => Getting (First ServiceError) a ServiceError
-_DuplicateRequest = _ServiceError . hasStatus 400 . hasCode "DuplicateRequest"
+_DuplicateRequest = _ServiceError . hasCode "DuplicateRequest"
diff --git a/gen/Network/AWS/Route53Domains/Types/Product.hs b/gen/Network/AWS/Route53Domains/Types/Product.hs
--- a/gen/Network/AWS/Route53Domains/Types/Product.hs
+++ b/gen/Network/AWS/Route53Domains/Types/Product.hs
@@ -319,6 +319,8 @@
 
 instance Hashable ContactDetail
 
+instance NFData ContactDetail
+
 instance ToJSON ContactDetail where
         toJSON ContactDetail'{..}
           = object
@@ -407,6 +409,8 @@
 
 instance Hashable DomainSummary
 
+instance NFData DomainSummary
+
 -- | ExtraParam includes the following elements.
 --
 -- /See:/ 'extraParam' smart constructor.
@@ -441,9 +445,10 @@
 -- Valid values: 'DUNS_NUMBER' | 'BRAND_NUMBER' | 'BIRTH_DEPARTMENT' |
 -- 'BIRTH_DATE_IN_YYYY_MM_DD' | 'BIRTH_COUNTRY' | 'BIRTH_CITY' |
 -- 'DOCUMENT_NUMBER' | 'AU_ID_NUMBER' | 'AU_ID_TYPE' | 'CA_LEGAL_TYPE' |
--- 'ES_IDENTIFICATION' | 'ES_IDENTIFICATION_TYPE' | 'ES_LEGAL_FORM' |
--- 'FI_BUSINESS_NUMBER' | 'FI_ID_NUMBER' | 'IT_PIN' | 'RU_PASSPORT_DATA' |
--- 'SE_ID_NUMBER' | 'SG_ID_NUMBER' | 'VAT_NUMBER'
+-- 'CA_BUSINESS_ENTITY_TYPE' |'ES_IDENTIFICATION' |
+-- 'ES_IDENTIFICATION_TYPE' | 'ES_LEGAL_FORM' | 'FI_BUSINESS_NUMBER' |
+-- 'FI_ID_NUMBER' | 'IT_PIN' | 'RU_PASSPORT_DATA' | 'SE_ID_NUMBER' |
+-- 'SG_ID_NUMBER' | 'VAT_NUMBER'
 --
 -- Parent: 'ExtraParams'
 --
@@ -474,6 +479,8 @@
 
 instance Hashable ExtraParam
 
+instance NFData ExtraParam
+
 instance ToJSON ExtraParam where
         toJSON ExtraParam'{..}
           = object
@@ -538,6 +545,8 @@
 
 instance Hashable Nameserver
 
+instance NFData Nameserver
+
 instance ToJSON Nameserver where
         toJSON Nameserver'{..}
           = object
@@ -617,6 +626,8 @@
 
 instance Hashable OperationSummary
 
+instance NFData OperationSummary
+
 -- | Each tag includes the following elements.
 --
 -- /See:/ 'tag' smart constructor.
@@ -674,6 +685,8 @@
               (\ x -> Tag' <$> (x .:? "Value") <*> (x .:? "Key"))
 
 instance Hashable Tag
+
+instance NFData Tag
 
 instance ToJSON Tag where
         toJSON Tag'{..}
diff --git a/gen/Network/AWS/Route53Domains/Types/Sum.hs b/gen/Network/AWS/Route53Domains/Types/Sum.hs
--- a/gen/Network/AWS/Route53Domains/Types/Sum.hs
+++ b/gen/Network/AWS/Route53Domains/Types/Sum.hs
@@ -46,6 +46,7 @@
         Reseller -> "RESELLER"
 
 instance Hashable     ContactType
+instance NFData       ContactType
 instance ToByteString ContactType
 instance ToQuery      ContactType
 instance ToHeader     ContactType
@@ -755,6 +756,7 @@
         ZW -> "ZW"
 
 instance Hashable     CountryCode
+instance NFData       CountryCode
 instance ToByteString CountryCode
 instance ToQuery      CountryCode
 instance ToHeader     CountryCode
@@ -801,6 +803,7 @@
         UnavailableRestricted -> "UNAVAILABLE_RESTRICTED"
 
 instance Hashable     DomainAvailability
+instance NFData       DomainAvailability
 instance ToByteString DomainAvailability
 instance ToQuery      DomainAvailability
 instance ToHeader     DomainAvailability
@@ -816,6 +819,7 @@
     | BirthDateInYyyyMmDd
     | BirthDepartment
     | BrandNumber
+    | CaBusinessEntityType
     | CaLegalType
     | DocumentNumber
     | DunsNumber
@@ -840,6 +844,7 @@
         "birth_date_in_yyyy_mm_dd" -> pure BirthDateInYyyyMmDd
         "birth_department" -> pure BirthDepartment
         "brand_number" -> pure BrandNumber
+        "ca_business_entity_type" -> pure CaBusinessEntityType
         "ca_legal_type" -> pure CaLegalType
         "document_number" -> pure DocumentNumber
         "duns_number" -> pure DunsNumber
@@ -854,7 +859,7 @@
         "sg_id_number" -> pure SgIdNumber
         "vat_number" -> pure VatNumber
         e -> fromTextError $ "Failure parsing ExtraParamName from value: '" <> e
-           <> "'. Accepted values: AU_ID_NUMBER, AU_ID_TYPE, BIRTH_CITY, BIRTH_COUNTRY, BIRTH_DATE_IN_YYYY_MM_DD, BIRTH_DEPARTMENT, BRAND_NUMBER, CA_LEGAL_TYPE, DOCUMENT_NUMBER, DUNS_NUMBER, ES_IDENTIFICATION, ES_IDENTIFICATION_TYPE, ES_LEGAL_FORM, FI_BUSINESS_NUMBER, FI_ID_NUMBER, IT_PIN, RU_PASSPORT_DATA, SE_ID_NUMBER, SG_ID_NUMBER, VAT_NUMBER"
+           <> "'. Accepted values: AU_ID_NUMBER, AU_ID_TYPE, BIRTH_CITY, BIRTH_COUNTRY, BIRTH_DATE_IN_YYYY_MM_DD, BIRTH_DEPARTMENT, BRAND_NUMBER, CA_BUSINESS_ENTITY_TYPE, CA_LEGAL_TYPE, DOCUMENT_NUMBER, DUNS_NUMBER, ES_IDENTIFICATION, ES_IDENTIFICATION_TYPE, ES_LEGAL_FORM, FI_BUSINESS_NUMBER, FI_ID_NUMBER, IT_PIN, RU_PASSPORT_DATA, SE_ID_NUMBER, SG_ID_NUMBER, VAT_NUMBER"
 
 instance ToText ExtraParamName where
     toText = \case
@@ -865,6 +870,7 @@
         BirthDateInYyyyMmDd -> "BIRTH_DATE_IN_YYYY_MM_DD"
         BirthDepartment -> "BIRTH_DEPARTMENT"
         BrandNumber -> "BRAND_NUMBER"
+        CaBusinessEntityType -> "CA_BUSINESS_ENTITY_TYPE"
         CaLegalType -> "CA_LEGAL_TYPE"
         DocumentNumber -> "DOCUMENT_NUMBER"
         DunsNumber -> "DUNS_NUMBER"
@@ -880,6 +886,7 @@
         VatNumber -> "VAT_NUMBER"
 
 instance Hashable     ExtraParamName
+instance NFData       ExtraParamName
 instance ToByteString ExtraParamName
 instance ToQuery      ExtraParamName
 instance ToHeader     ExtraParamName
@@ -917,6 +924,7 @@
         Successful -> "SUCCESSFUL"
 
 instance Hashable     OperationStatus
+instance NFData       OperationStatus
 instance ToByteString OperationStatus
 instance ToQuery      OperationStatus
 instance ToHeader     OperationStatus
@@ -957,9 +965,39 @@
         UpdateNameserver -> "UPDATE_NAMESERVER"
 
 instance Hashable     OperationType
+instance NFData       OperationType
 instance ToByteString OperationType
 instance ToQuery      OperationType
 instance ToHeader     OperationType
 
 instance FromJSON OperationType where
     parseJSON = parseJSONText "OperationType"
+
+data ReachabilityStatus
+    = Done
+    | Expired
+    | Pending
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+
+instance FromText ReachabilityStatus where
+    parser = takeLowerText >>= \case
+        "done" -> pure Done
+        "expired" -> pure Expired
+        "pending" -> pure Pending
+        e -> fromTextError $ "Failure parsing ReachabilityStatus from value: '" <> e
+           <> "'. Accepted values: DONE, EXPIRED, PENDING"
+
+instance ToText ReachabilityStatus where
+    toText = \case
+        Done -> "DONE"
+        Expired -> "EXPIRED"
+        Pending -> "PENDING"
+
+instance Hashable     ReachabilityStatus
+instance NFData       ReachabilityStatus
+instance ToByteString ReachabilityStatus
+instance ToQuery      ReachabilityStatus
+instance ToHeader     ReachabilityStatus
+
+instance FromJSON ReachabilityStatus where
+    parseJSON = parseJSONText "ReachabilityStatus"
diff --git a/gen/Network/AWS/Route53Domains/UpdateDomainContact.hs b/gen/Network/AWS/Route53Domains/UpdateDomainContact.hs
--- a/gen/Network/AWS/Route53Domains/UpdateDomainContact.hs
+++ b/gen/Network/AWS/Route53Domains/UpdateDomainContact.hs
@@ -146,6 +146,8 @@
 
 instance Hashable UpdateDomainContact
 
+instance NFData UpdateDomainContact
+
 instance ToHeaders UpdateDomainContact where
         toHeaders
           = const
@@ -210,3 +212,5 @@
 -- Constraints: Maximum 255 characters.
 udcrsOperationId :: Lens' UpdateDomainContactResponse Text
 udcrsOperationId = lens _udcrsOperationId (\ s a -> s{_udcrsOperationId = a});
+
+instance NFData UpdateDomainContactResponse
diff --git a/gen/Network/AWS/Route53Domains/UpdateDomainContactPrivacy.hs b/gen/Network/AWS/Route53Domains/UpdateDomainContactPrivacy.hs
--- a/gen/Network/AWS/Route53Domains/UpdateDomainContactPrivacy.hs
+++ b/gen/Network/AWS/Route53Domains/UpdateDomainContactPrivacy.hs
@@ -159,6 +159,8 @@
 
 instance Hashable UpdateDomainContactPrivacy
 
+instance NFData UpdateDomainContactPrivacy
+
 instance ToHeaders UpdateDomainContactPrivacy where
         toHeaders
           = const
@@ -223,3 +225,5 @@
 -- Constraints: Maximum 255 characters.
 udcprsOperationId :: Lens' UpdateDomainContactPrivacyResponse Text
 udcprsOperationId = lens _udcprsOperationId (\ s a -> s{_udcprsOperationId = a});
+
+instance NFData UpdateDomainContactPrivacyResponse
diff --git a/gen/Network/AWS/Route53Domains/UpdateDomainNameservers.hs b/gen/Network/AWS/Route53Domains/UpdateDomainNameservers.hs
--- a/gen/Network/AWS/Route53Domains/UpdateDomainNameservers.hs
+++ b/gen/Network/AWS/Route53Domains/UpdateDomainNameservers.hs
@@ -120,6 +120,8 @@
 
 instance Hashable UpdateDomainNameservers
 
+instance NFData UpdateDomainNameservers
+
 instance ToHeaders UpdateDomainNameservers where
         toHeaders
           = const
@@ -183,3 +185,5 @@
 -- Constraints: Maximum 255 characters.
 udnrsOperationId :: Lens' UpdateDomainNameserversResponse Text
 udnrsOperationId = lens _udnrsOperationId (\ s a -> s{_udnrsOperationId = a});
+
+instance NFData UpdateDomainNameserversResponse
diff --git a/gen/Network/AWS/Route53Domains/UpdateTagsForDomain.hs b/gen/Network/AWS/Route53Domains/UpdateTagsForDomain.hs
--- a/gen/Network/AWS/Route53Domains/UpdateTagsForDomain.hs
+++ b/gen/Network/AWS/Route53Domains/UpdateTagsForDomain.hs
@@ -126,9 +126,9 @@
 --
 -- Constraints: The domain name can contain only the letters a through z,
 -- the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when
--- theyaposre surrounded by letters, numbers, or other hyphens. You
--- canapost specify a hyphen at the beginning or end of a label. To specify
--- an Internationalized Domain Name, you must convert the name to Punycode.
+-- they\'re surrounded by letters, numbers, or other hyphens. You can\'t
+-- specify a hyphen at the beginning or end of a label. To specify an
+-- Internationalized Domain Name, you must convert the name to Punycode.
 --
 -- Required: Yes
 utfdDomainName :: Lens' UpdateTagsForDomain Text
@@ -145,6 +145,8 @@
 
 instance Hashable UpdateTagsForDomain
 
+instance NFData UpdateTagsForDomain
+
 instance ToHeaders UpdateTagsForDomain where
         toHeaders
           = const
@@ -189,3 +191,5 @@
 -- | The response status code.
 utfdrsResponseStatus :: Lens' UpdateTagsForDomainResponse Int
 utfdrsResponseStatus = lens _utfdrsResponseStatus (\ s a -> s{_utfdrsResponseStatus = a});
+
+instance NFData UpdateTagsForDomainResponse
diff --git a/test/Test/AWS/Gen/Route53Domains.hs b/test/Test/AWS/Gen/Route53Domains.hs
--- a/test/Test/AWS/Gen/Route53Domains.hs
+++ b/test/Test/AWS/Gen/Route53Domains.hs
@@ -43,6 +43,9 @@
 --         , testEnableDomainAutoRenew $
 --             enableDomainAutoRenew
 --
+--         , testResendContactReachabilityEmail $
+--             resendContactReachabilityEmail
+--
 --         , testDisableDomainAutoRenew $
 --             disableDomainAutoRenew
 --
@@ -61,6 +64,9 @@
 --         , testCheckDomainAvailability $
 --             checkDomainAvailability
 --
+--         , testGetContactReachabilityStatus $
+--             getContactReachabilityStatus
+--
 --         , testListTagsForDomain $
 --             listTagsForDomain
 --
@@ -100,6 +106,9 @@
 --         , testEnableDomainAutoRenewResponse $
 --             enableDomainAutoRenewResponse
 --
+--         , testResendContactReachabilityEmailResponse $
+--             resendContactReachabilityEmailResponse
+--
 --         , testDisableDomainAutoRenewResponse $
 --             disableDomainAutoRenewResponse
 --
@@ -118,6 +127,9 @@
 --         , testCheckDomainAvailabilityResponse $
 --             checkDomainAvailabilityResponse
 --
+--         , testGetContactReachabilityStatusResponse $
+--             getContactReachabilityStatusResponse
+--
 --         , testListTagsForDomainResponse $
 --             listTagsForDomainResponse
 --
@@ -169,6 +181,11 @@
     "EnableDomainAutoRenew"
     "fixture/EnableDomainAutoRenew.yaml"
 
+testResendContactReachabilityEmail :: ResendContactReachabilityEmail -> TestTree
+testResendContactReachabilityEmail = req
+    "ResendContactReachabilityEmail"
+    "fixture/ResendContactReachabilityEmail.yaml"
+
 testDisableDomainAutoRenew :: DisableDomainAutoRenew -> TestTree
 testDisableDomainAutoRenew = req
     "DisableDomainAutoRenew"
@@ -199,6 +216,11 @@
     "CheckDomainAvailability"
     "fixture/CheckDomainAvailability.yaml"
 
+testGetContactReachabilityStatus :: GetContactReachabilityStatus -> TestTree
+testGetContactReachabilityStatus = req
+    "GetContactReachabilityStatus"
+    "fixture/GetContactReachabilityStatus.yaml"
+
 testListTagsForDomain :: ListTagsForDomain -> TestTree
 testListTagsForDomain = req
     "ListTagsForDomain"
@@ -271,6 +293,13 @@
     route53Domains
     (Proxy :: Proxy EnableDomainAutoRenew)
 
+testResendContactReachabilityEmailResponse :: ResendContactReachabilityEmailResponse -> TestTree
+testResendContactReachabilityEmailResponse = res
+    "ResendContactReachabilityEmailResponse"
+    "fixture/ResendContactReachabilityEmailResponse.proto"
+    route53Domains
+    (Proxy :: Proxy ResendContactReachabilityEmail)
+
 testDisableDomainAutoRenewResponse :: DisableDomainAutoRenewResponse -> TestTree
 testDisableDomainAutoRenewResponse = res
     "DisableDomainAutoRenewResponse"
@@ -312,6 +341,13 @@
     "fixture/CheckDomainAvailabilityResponse.proto"
     route53Domains
     (Proxy :: Proxy CheckDomainAvailability)
+
+testGetContactReachabilityStatusResponse :: GetContactReachabilityStatusResponse -> TestTree
+testGetContactReachabilityStatusResponse = res
+    "GetContactReachabilityStatusResponse"
+    "fixture/GetContactReachabilityStatusResponse.proto"
+    route53Domains
+    (Proxy :: Proxy GetContactReachabilityStatus)
 
 testListTagsForDomainResponse :: ListTagsForDomainResponse -> TestTree
 testListTagsForDomainResponse = res
