{-# 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 -- 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