amazonka-ses-1.4.1: gen/Network/AWS/SES/VerifyDomainDkim.hs
{-# 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.SES.VerifyDomainDkim
-- 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)
--
-- Returns a set of DKIM tokens for a domain. DKIM /tokens/ are character
-- strings that represent your domain\'s identity. Using these tokens, you
-- will need to create DNS CNAME records that point to DKIM public keys
-- hosted by Amazon SES. Amazon Web Services will eventually detect that
-- you have updated your DNS records; this detection process may take up to
-- 72 hours. Upon successful detection, Amazon SES will be able to
-- DKIM-sign email originating from that domain.
--
-- This action is throttled at one request per second.
--
-- To enable or disable Easy DKIM signing for a domain, use the
-- 'SetIdentityDkimEnabled' action.
--
-- For more information about creating DNS records using DKIM tokens, go to
-- the
-- <http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html Amazon SES Developer Guide>.
module Network.AWS.SES.VerifyDomainDkim
(
-- * Creating a Request
verifyDomainDkim
, VerifyDomainDkim
-- * Request Lenses
, vddDomain
-- * Destructuring the Response
, verifyDomainDkimResponse
, VerifyDomainDkimResponse
-- * Response Lenses
, vddrsResponseStatus
, vddrsDkimTokens
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SES.Types
import Network.AWS.SES.Types.Product
-- | /See:/ 'verifyDomainDkim' smart constructor.
newtype VerifyDomainDkim = VerifyDomainDkim'
{ _vddDomain :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'VerifyDomainDkim' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'vddDomain'
verifyDomainDkim
:: Text -- ^ 'vddDomain'
-> VerifyDomainDkim
verifyDomainDkim pDomain_ =
VerifyDomainDkim'
{ _vddDomain = pDomain_
}
-- | The name of the domain to be verified for Easy DKIM signing.
vddDomain :: Lens' VerifyDomainDkim Text
vddDomain = lens _vddDomain (\ s a -> s{_vddDomain = a});
instance AWSRequest VerifyDomainDkim where
type Rs VerifyDomainDkim = VerifyDomainDkimResponse
request = postQuery ses
response
= receiveXMLWrapper "VerifyDomainDkimResult"
(\ s h x ->
VerifyDomainDkimResponse' <$>
(pure (fromEnum s)) <*>
(x .@? "DkimTokens" .!@ mempty >>=
parseXMLList "member"))
instance Hashable VerifyDomainDkim
instance NFData VerifyDomainDkim
instance ToHeaders VerifyDomainDkim where
toHeaders = const mempty
instance ToPath VerifyDomainDkim where
toPath = const "/"
instance ToQuery VerifyDomainDkim where
toQuery VerifyDomainDkim'{..}
= mconcat
["Action" =: ("VerifyDomainDkim" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"Domain" =: _vddDomain]
-- | /See:/ 'verifyDomainDkimResponse' smart constructor.
data VerifyDomainDkimResponse = VerifyDomainDkimResponse'
{ _vddrsResponseStatus :: !Int
, _vddrsDkimTokens :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'VerifyDomainDkimResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'vddrsResponseStatus'
--
-- * 'vddrsDkimTokens'
verifyDomainDkimResponse
:: Int -- ^ 'vddrsResponseStatus'
-> VerifyDomainDkimResponse
verifyDomainDkimResponse pResponseStatus_ =
VerifyDomainDkimResponse'
{ _vddrsResponseStatus = pResponseStatus_
, _vddrsDkimTokens = mempty
}
-- | The response status code.
vddrsResponseStatus :: Lens' VerifyDomainDkimResponse Int
vddrsResponseStatus = lens _vddrsResponseStatus (\ s a -> s{_vddrsResponseStatus = a});
-- | A set of character strings that represent the domain\'s identity. If the
-- identity is an email address, the tokens represent the domain of that
-- address.
--
-- Using these tokens, you will need to create DNS CNAME records that point
-- to DKIM public keys hosted by Amazon SES. Amazon Web Services will
-- eventually detect that you have updated your DNS records; this detection
-- process may take up to 72 hours. Upon successful detection, Amazon SES
-- will be able to DKIM-sign emails originating from that domain.
--
-- For more information about creating DNS records using DKIM tokens, go to
-- the
-- <http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html Amazon SES Developer Guide>.
vddrsDkimTokens :: Lens' VerifyDomainDkimResponse [Text]
vddrsDkimTokens = lens _vddrsDkimTokens (\ s a -> s{_vddrsDkimTokens = a}) . _Coerce;
instance NFData VerifyDomainDkimResponse