{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.SES.CreateReceiptRuleSet
(
CreateReceiptRuleSet (..),
newCreateReceiptRuleSet,
createReceiptRuleSet_ruleSetName,
CreateReceiptRuleSetResponse (..),
newCreateReceiptRuleSetResponse,
createReceiptRuleSetResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SES.Types
data CreateReceiptRuleSet = CreateReceiptRuleSet'
{
CreateReceiptRuleSet -> Text
ruleSetName :: Prelude.Text
}
deriving (CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool
(CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool)
-> (CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool)
-> Eq CreateReceiptRuleSet
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool
== :: CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool
$c/= :: CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool
/= :: CreateReceiptRuleSet -> CreateReceiptRuleSet -> Bool
Prelude.Eq, ReadPrec [CreateReceiptRuleSet]
ReadPrec CreateReceiptRuleSet
Int -> ReadS CreateReceiptRuleSet
ReadS [CreateReceiptRuleSet]
(Int -> ReadS CreateReceiptRuleSet)
-> ReadS [CreateReceiptRuleSet]
-> ReadPrec CreateReceiptRuleSet
-> ReadPrec [CreateReceiptRuleSet]
-> Read CreateReceiptRuleSet
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS CreateReceiptRuleSet
readsPrec :: Int -> ReadS CreateReceiptRuleSet
$creadList :: ReadS [CreateReceiptRuleSet]
readList :: ReadS [CreateReceiptRuleSet]
$creadPrec :: ReadPrec CreateReceiptRuleSet
readPrec :: ReadPrec CreateReceiptRuleSet
$creadListPrec :: ReadPrec [CreateReceiptRuleSet]
readListPrec :: ReadPrec [CreateReceiptRuleSet]
Prelude.Read, Int -> CreateReceiptRuleSet -> ShowS
[CreateReceiptRuleSet] -> ShowS
CreateReceiptRuleSet -> String
(Int -> CreateReceiptRuleSet -> ShowS)
-> (CreateReceiptRuleSet -> String)
-> ([CreateReceiptRuleSet] -> ShowS)
-> Show CreateReceiptRuleSet
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreateReceiptRuleSet -> ShowS
showsPrec :: Int -> CreateReceiptRuleSet -> ShowS
$cshow :: CreateReceiptRuleSet -> String
show :: CreateReceiptRuleSet -> String
$cshowList :: [CreateReceiptRuleSet] -> ShowS
showList :: [CreateReceiptRuleSet] -> ShowS
Prelude.Show, (forall x. CreateReceiptRuleSet -> Rep CreateReceiptRuleSet x)
-> (forall x. Rep CreateReceiptRuleSet x -> CreateReceiptRuleSet)
-> Generic CreateReceiptRuleSet
forall x. Rep CreateReceiptRuleSet x -> CreateReceiptRuleSet
forall x. CreateReceiptRuleSet -> Rep CreateReceiptRuleSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. CreateReceiptRuleSet -> Rep CreateReceiptRuleSet x
from :: forall x. CreateReceiptRuleSet -> Rep CreateReceiptRuleSet x
$cto :: forall x. Rep CreateReceiptRuleSet x -> CreateReceiptRuleSet
to :: forall x. Rep CreateReceiptRuleSet x -> CreateReceiptRuleSet
Prelude.Generic)
newCreateReceiptRuleSet ::
Prelude.Text ->
CreateReceiptRuleSet
newCreateReceiptRuleSet :: Text -> CreateReceiptRuleSet
newCreateReceiptRuleSet Text
pRuleSetName_ =
CreateReceiptRuleSet' {$sel:ruleSetName:CreateReceiptRuleSet' :: Text
ruleSetName = Text
pRuleSetName_}
createReceiptRuleSet_ruleSetName :: Lens.Lens' CreateReceiptRuleSet Prelude.Text
createReceiptRuleSet_ruleSetName :: Lens' CreateReceiptRuleSet Text
createReceiptRuleSet_ruleSetName = (CreateReceiptRuleSet -> Text)
-> (CreateReceiptRuleSet -> Text -> CreateReceiptRuleSet)
-> Lens' CreateReceiptRuleSet Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReceiptRuleSet' {Text
$sel:ruleSetName:CreateReceiptRuleSet' :: CreateReceiptRuleSet -> Text
ruleSetName :: Text
ruleSetName} -> Text
ruleSetName) (\s :: CreateReceiptRuleSet
s@CreateReceiptRuleSet' {} Text
a -> CreateReceiptRuleSet
s {ruleSetName = a} :: CreateReceiptRuleSet)
instance Core.AWSRequest CreateReceiptRuleSet where
type
AWSResponse CreateReceiptRuleSet =
CreateReceiptRuleSetResponse
request :: (Service -> Service)
-> CreateReceiptRuleSet -> Request CreateReceiptRuleSet
request Service -> Service
overrides =
Service -> CreateReceiptRuleSet -> Request CreateReceiptRuleSet
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateReceiptRuleSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateReceiptRuleSet)))
response =
Text
-> (Int
-> ResponseHeaders
-> [Node]
-> Either String (AWSResponse CreateReceiptRuleSet))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateReceiptRuleSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateReceiptRuleSet)))
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"CreateReceiptRuleSetResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> CreateReceiptRuleSetResponse
CreateReceiptRuleSetResponse'
(Int -> CreateReceiptRuleSetResponse)
-> Either String Int -> Either String CreateReceiptRuleSetResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Int -> Either String Int
forall a. a -> Either String a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable CreateReceiptRuleSet where
hashWithSalt :: Int -> CreateReceiptRuleSet -> Int
hashWithSalt Int
_salt CreateReceiptRuleSet' {Text
$sel:ruleSetName:CreateReceiptRuleSet' :: CreateReceiptRuleSet -> Text
ruleSetName :: Text
..} =
Int
_salt Int -> Text -> Int
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ruleSetName
instance Prelude.NFData CreateReceiptRuleSet where
rnf :: CreateReceiptRuleSet -> ()
rnf CreateReceiptRuleSet' {Text
$sel:ruleSetName:CreateReceiptRuleSet' :: CreateReceiptRuleSet -> Text
ruleSetName :: Text
..} =
Text -> ()
forall a. NFData a => a -> ()
Prelude.rnf Text
ruleSetName
instance Data.ToHeaders CreateReceiptRuleSet where
toHeaders :: CreateReceiptRuleSet -> ResponseHeaders
toHeaders = ResponseHeaders -> CreateReceiptRuleSet -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateReceiptRuleSet where
toPath :: CreateReceiptRuleSet -> ByteString
toPath = ByteString -> CreateReceiptRuleSet -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateReceiptRuleSet where
toQuery :: CreateReceiptRuleSet -> QueryString
toQuery CreateReceiptRuleSet' {Text
$sel:ruleSetName:CreateReceiptRuleSet' :: CreateReceiptRuleSet -> Text
ruleSetName :: Text
..} =
[QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"CreateReceiptRuleSet" :: Prelude.ByteString),
ByteString
"Version"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-12-01" :: Prelude.ByteString),
ByteString
"RuleSetName" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ruleSetName
]
data CreateReceiptRuleSetResponse = CreateReceiptRuleSetResponse'
{
CreateReceiptRuleSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool
(CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool)
-> (CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool)
-> Eq CreateReceiptRuleSetResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool
== :: CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool
$c/= :: CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool
/= :: CreateReceiptRuleSetResponse
-> CreateReceiptRuleSetResponse -> Bool
Prelude.Eq, ReadPrec [CreateReceiptRuleSetResponse]
ReadPrec CreateReceiptRuleSetResponse
Int -> ReadS CreateReceiptRuleSetResponse
ReadS [CreateReceiptRuleSetResponse]
(Int -> ReadS CreateReceiptRuleSetResponse)
-> ReadS [CreateReceiptRuleSetResponse]
-> ReadPrec CreateReceiptRuleSetResponse
-> ReadPrec [CreateReceiptRuleSetResponse]
-> Read CreateReceiptRuleSetResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS CreateReceiptRuleSetResponse
readsPrec :: Int -> ReadS CreateReceiptRuleSetResponse
$creadList :: ReadS [CreateReceiptRuleSetResponse]
readList :: ReadS [CreateReceiptRuleSetResponse]
$creadPrec :: ReadPrec CreateReceiptRuleSetResponse
readPrec :: ReadPrec CreateReceiptRuleSetResponse
$creadListPrec :: ReadPrec [CreateReceiptRuleSetResponse]
readListPrec :: ReadPrec [CreateReceiptRuleSetResponse]
Prelude.Read, Int -> CreateReceiptRuleSetResponse -> ShowS
[CreateReceiptRuleSetResponse] -> ShowS
CreateReceiptRuleSetResponse -> String
(Int -> CreateReceiptRuleSetResponse -> ShowS)
-> (CreateReceiptRuleSetResponse -> String)
-> ([CreateReceiptRuleSetResponse] -> ShowS)
-> Show CreateReceiptRuleSetResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreateReceiptRuleSetResponse -> ShowS
showsPrec :: Int -> CreateReceiptRuleSetResponse -> ShowS
$cshow :: CreateReceiptRuleSetResponse -> String
show :: CreateReceiptRuleSetResponse -> String
$cshowList :: [CreateReceiptRuleSetResponse] -> ShowS
showList :: [CreateReceiptRuleSetResponse] -> ShowS
Prelude.Show, (forall x.
CreateReceiptRuleSetResponse -> Rep CreateReceiptRuleSetResponse x)
-> (forall x.
Rep CreateReceiptRuleSetResponse x -> CreateReceiptRuleSetResponse)
-> Generic CreateReceiptRuleSetResponse
forall x.
Rep CreateReceiptRuleSetResponse x -> CreateReceiptRuleSetResponse
forall x.
CreateReceiptRuleSetResponse -> Rep CreateReceiptRuleSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
CreateReceiptRuleSetResponse -> Rep CreateReceiptRuleSetResponse x
from :: forall x.
CreateReceiptRuleSetResponse -> Rep CreateReceiptRuleSetResponse x
$cto :: forall x.
Rep CreateReceiptRuleSetResponse x -> CreateReceiptRuleSetResponse
to :: forall x.
Rep CreateReceiptRuleSetResponse x -> CreateReceiptRuleSetResponse
Prelude.Generic)
newCreateReceiptRuleSetResponse ::
Prelude.Int ->
CreateReceiptRuleSetResponse
newCreateReceiptRuleSetResponse :: Int -> CreateReceiptRuleSetResponse
newCreateReceiptRuleSetResponse Int
pHttpStatus_ =
CreateReceiptRuleSetResponse'
{ $sel:httpStatus:CreateReceiptRuleSetResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
createReceiptRuleSetResponse_httpStatus :: Lens.Lens' CreateReceiptRuleSetResponse Prelude.Int
createReceiptRuleSetResponse_httpStatus :: Lens' CreateReceiptRuleSetResponse Int
createReceiptRuleSetResponse_httpStatus = (CreateReceiptRuleSetResponse -> Int)
-> (CreateReceiptRuleSetResponse
-> Int -> CreateReceiptRuleSetResponse)
-> Lens' CreateReceiptRuleSetResponse Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReceiptRuleSetResponse' {Int
$sel:httpStatus:CreateReceiptRuleSetResponse' :: CreateReceiptRuleSetResponse -> Int
httpStatus :: Int
httpStatus} -> Int
httpStatus) (\s :: CreateReceiptRuleSetResponse
s@CreateReceiptRuleSetResponse' {} Int
a -> CreateReceiptRuleSetResponse
s {httpStatus = a} :: CreateReceiptRuleSetResponse)
instance Prelude.NFData CreateReceiptRuleSetResponse where
rnf :: CreateReceiptRuleSetResponse -> ()
rnf CreateReceiptRuleSetResponse' {Int
$sel:httpStatus:CreateReceiptRuleSetResponse' :: CreateReceiptRuleSetResponse -> Int
httpStatus :: Int
..} =
Int -> ()
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus