aws-0.15: Aws/Ses/Commands/VerifyDomainIdentity.hs
module Aws.Ses.Commands.VerifyDomainIdentity
( VerifyDomainIdentity(..)
, VerifyDomainIdentityResponse(..)
) where
import Data.Text (Text)
import Data.Text.Encoding as T (encodeUtf8)
import Data.Typeable
import Aws.Core
import Aws.Ses.Core
import Text.XML.Cursor (($//))
-- | Verify ownership of a domain.
data VerifyDomainIdentity = VerifyDomainIdentity Text
deriving (Eq, Ord, Show, Typeable)
-- | ServiceConfiguration: 'SesConfiguration'
instance SignQuery VerifyDomainIdentity where
type ServiceConfiguration VerifyDomainIdentity = SesConfiguration
signQuery (VerifyDomainIdentity domain) =
sesSignQuery [ ("Action", "VerifyDomainIdentity")
, ("Domain", T.encodeUtf8 domain)
]
-- | The response sent back by Amazon SES after a
-- 'VerifyDomainIdentity' command.
data VerifyDomainIdentityResponse = VerifyDomainIdentityResponse Text
deriving (Eq, Ord, Show, Typeable)
instance ResponseConsumer VerifyDomainIdentity VerifyDomainIdentityResponse where
type ResponseMetadata VerifyDomainIdentityResponse = SesMetadata
responseConsumer _ _ =
sesResponseConsumer $ \cursor -> do
token <- force "Verification token not found" $ cursor $// elContent "VerificationToken"
return (VerifyDomainIdentityResponse token)
instance Transaction VerifyDomainIdentity VerifyDomainIdentityResponse where
instance AsMemoryResponse VerifyDomainIdentityResponse where
type MemoryResponse VerifyDomainIdentityResponse = VerifyDomainIdentityResponse
loadToMemory = return