{-# 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.DescribeReceiptRuleSet
(
DescribeReceiptRuleSet (..),
newDescribeReceiptRuleSet,
describeReceiptRuleSet_ruleSetName,
DescribeReceiptRuleSetResponse (..),
newDescribeReceiptRuleSetResponse,
describeReceiptRuleSetResponse_metadata,
describeReceiptRuleSetResponse_rules,
describeReceiptRuleSetResponse_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 DescribeReceiptRuleSet = DescribeReceiptRuleSet'
{
DescribeReceiptRuleSet -> Text
ruleSetName :: Prelude.Text
}
deriving (DescribeReceiptRuleSet -> DescribeReceiptRuleSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeReceiptRuleSet -> DescribeReceiptRuleSet -> Bool
$c/= :: DescribeReceiptRuleSet -> DescribeReceiptRuleSet -> Bool
== :: DescribeReceiptRuleSet -> DescribeReceiptRuleSet -> Bool
$c== :: DescribeReceiptRuleSet -> DescribeReceiptRuleSet -> Bool
Prelude.Eq, ReadPrec [DescribeReceiptRuleSet]
ReadPrec DescribeReceiptRuleSet
Int -> ReadS DescribeReceiptRuleSet
ReadS [DescribeReceiptRuleSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeReceiptRuleSet]
$creadListPrec :: ReadPrec [DescribeReceiptRuleSet]
readPrec :: ReadPrec DescribeReceiptRuleSet
$creadPrec :: ReadPrec DescribeReceiptRuleSet
readList :: ReadS [DescribeReceiptRuleSet]
$creadList :: ReadS [DescribeReceiptRuleSet]
readsPrec :: Int -> ReadS DescribeReceiptRuleSet
$creadsPrec :: Int -> ReadS DescribeReceiptRuleSet
Prelude.Read, Int -> DescribeReceiptRuleSet -> ShowS
[DescribeReceiptRuleSet] -> ShowS
DescribeReceiptRuleSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeReceiptRuleSet] -> ShowS
$cshowList :: [DescribeReceiptRuleSet] -> ShowS
show :: DescribeReceiptRuleSet -> String
$cshow :: DescribeReceiptRuleSet -> String
showsPrec :: Int -> DescribeReceiptRuleSet -> ShowS
$cshowsPrec :: Int -> DescribeReceiptRuleSet -> ShowS
Prelude.Show, forall x. Rep DescribeReceiptRuleSet x -> DescribeReceiptRuleSet
forall x. DescribeReceiptRuleSet -> Rep DescribeReceiptRuleSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeReceiptRuleSet x -> DescribeReceiptRuleSet
$cfrom :: forall x. DescribeReceiptRuleSet -> Rep DescribeReceiptRuleSet x
Prelude.Generic)
newDescribeReceiptRuleSet ::
Prelude.Text ->
DescribeReceiptRuleSet
newDescribeReceiptRuleSet :: Text -> DescribeReceiptRuleSet
newDescribeReceiptRuleSet Text
pRuleSetName_ =
DescribeReceiptRuleSet'
{ $sel:ruleSetName:DescribeReceiptRuleSet' :: Text
ruleSetName =
Text
pRuleSetName_
}
describeReceiptRuleSet_ruleSetName :: Lens.Lens' DescribeReceiptRuleSet Prelude.Text
describeReceiptRuleSet_ruleSetName :: Lens' DescribeReceiptRuleSet Text
describeReceiptRuleSet_ruleSetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReceiptRuleSet' {Text
ruleSetName :: Text
$sel:ruleSetName:DescribeReceiptRuleSet' :: DescribeReceiptRuleSet -> Text
ruleSetName} -> Text
ruleSetName) (\s :: DescribeReceiptRuleSet
s@DescribeReceiptRuleSet' {} Text
a -> DescribeReceiptRuleSet
s {$sel:ruleSetName:DescribeReceiptRuleSet' :: Text
ruleSetName = Text
a} :: DescribeReceiptRuleSet)
instance Core.AWSRequest DescribeReceiptRuleSet where
type
AWSResponse DescribeReceiptRuleSet =
DescribeReceiptRuleSetResponse
request :: (Service -> Service)
-> DescribeReceiptRuleSet -> Request DescribeReceiptRuleSet
request Service -> Service
overrides =
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 DescribeReceiptRuleSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeReceiptRuleSet)))
response =
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
"DescribeReceiptRuleSetResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe ReceiptRuleSetMetadata
-> Maybe [ReceiptRule] -> Int -> DescribeReceiptRuleSetResponse
DescribeReceiptRuleSetResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Metadata")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Rules"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DescribeReceiptRuleSet where
hashWithSalt :: Int -> DescribeReceiptRuleSet -> Int
hashWithSalt Int
_salt DescribeReceiptRuleSet' {Text
ruleSetName :: Text
$sel:ruleSetName:DescribeReceiptRuleSet' :: DescribeReceiptRuleSet -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ruleSetName
instance Prelude.NFData DescribeReceiptRuleSet where
rnf :: DescribeReceiptRuleSet -> ()
rnf DescribeReceiptRuleSet' {Text
ruleSetName :: Text
$sel:ruleSetName:DescribeReceiptRuleSet' :: DescribeReceiptRuleSet -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
ruleSetName
instance Data.ToHeaders DescribeReceiptRuleSet where
toHeaders :: DescribeReceiptRuleSet -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeReceiptRuleSet where
toPath :: DescribeReceiptRuleSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeReceiptRuleSet where
toQuery :: DescribeReceiptRuleSet -> QueryString
toQuery DescribeReceiptRuleSet' {Text
ruleSetName :: Text
$sel:ruleSetName:DescribeReceiptRuleSet' :: DescribeReceiptRuleSet -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DescribeReceiptRuleSet" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-12-01" :: Prelude.ByteString),
ByteString
"RuleSetName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ruleSetName
]
data DescribeReceiptRuleSetResponse = DescribeReceiptRuleSetResponse'
{
DescribeReceiptRuleSetResponse -> Maybe ReceiptRuleSetMetadata
metadata :: Prelude.Maybe ReceiptRuleSetMetadata,
DescribeReceiptRuleSetResponse -> Maybe [ReceiptRule]
rules :: Prelude.Maybe [ReceiptRule],
DescribeReceiptRuleSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeReceiptRuleSetResponse
-> DescribeReceiptRuleSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeReceiptRuleSetResponse
-> DescribeReceiptRuleSetResponse -> Bool
$c/= :: DescribeReceiptRuleSetResponse
-> DescribeReceiptRuleSetResponse -> Bool
== :: DescribeReceiptRuleSetResponse
-> DescribeReceiptRuleSetResponse -> Bool
$c== :: DescribeReceiptRuleSetResponse
-> DescribeReceiptRuleSetResponse -> Bool
Prelude.Eq, ReadPrec [DescribeReceiptRuleSetResponse]
ReadPrec DescribeReceiptRuleSetResponse
Int -> ReadS DescribeReceiptRuleSetResponse
ReadS [DescribeReceiptRuleSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeReceiptRuleSetResponse]
$creadListPrec :: ReadPrec [DescribeReceiptRuleSetResponse]
readPrec :: ReadPrec DescribeReceiptRuleSetResponse
$creadPrec :: ReadPrec DescribeReceiptRuleSetResponse
readList :: ReadS [DescribeReceiptRuleSetResponse]
$creadList :: ReadS [DescribeReceiptRuleSetResponse]
readsPrec :: Int -> ReadS DescribeReceiptRuleSetResponse
$creadsPrec :: Int -> ReadS DescribeReceiptRuleSetResponse
Prelude.Read, Int -> DescribeReceiptRuleSetResponse -> ShowS
[DescribeReceiptRuleSetResponse] -> ShowS
DescribeReceiptRuleSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeReceiptRuleSetResponse] -> ShowS
$cshowList :: [DescribeReceiptRuleSetResponse] -> ShowS
show :: DescribeReceiptRuleSetResponse -> String
$cshow :: DescribeReceiptRuleSetResponse -> String
showsPrec :: Int -> DescribeReceiptRuleSetResponse -> ShowS
$cshowsPrec :: Int -> DescribeReceiptRuleSetResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeReceiptRuleSetResponse x
-> DescribeReceiptRuleSetResponse
forall x.
DescribeReceiptRuleSetResponse
-> Rep DescribeReceiptRuleSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeReceiptRuleSetResponse x
-> DescribeReceiptRuleSetResponse
$cfrom :: forall x.
DescribeReceiptRuleSetResponse
-> Rep DescribeReceiptRuleSetResponse x
Prelude.Generic)
newDescribeReceiptRuleSetResponse ::
Prelude.Int ->
DescribeReceiptRuleSetResponse
newDescribeReceiptRuleSetResponse :: Int -> DescribeReceiptRuleSetResponse
newDescribeReceiptRuleSetResponse Int
pHttpStatus_ =
DescribeReceiptRuleSetResponse'
{ $sel:metadata:DescribeReceiptRuleSetResponse' :: Maybe ReceiptRuleSetMetadata
metadata =
forall a. Maybe a
Prelude.Nothing,
$sel:rules:DescribeReceiptRuleSetResponse' :: Maybe [ReceiptRule]
rules = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeReceiptRuleSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeReceiptRuleSetResponse_metadata :: Lens.Lens' DescribeReceiptRuleSetResponse (Prelude.Maybe ReceiptRuleSetMetadata)
describeReceiptRuleSetResponse_metadata :: Lens' DescribeReceiptRuleSetResponse (Maybe ReceiptRuleSetMetadata)
describeReceiptRuleSetResponse_metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReceiptRuleSetResponse' {Maybe ReceiptRuleSetMetadata
metadata :: Maybe ReceiptRuleSetMetadata
$sel:metadata:DescribeReceiptRuleSetResponse' :: DescribeReceiptRuleSetResponse -> Maybe ReceiptRuleSetMetadata
metadata} -> Maybe ReceiptRuleSetMetadata
metadata) (\s :: DescribeReceiptRuleSetResponse
s@DescribeReceiptRuleSetResponse' {} Maybe ReceiptRuleSetMetadata
a -> DescribeReceiptRuleSetResponse
s {$sel:metadata:DescribeReceiptRuleSetResponse' :: Maybe ReceiptRuleSetMetadata
metadata = Maybe ReceiptRuleSetMetadata
a} :: DescribeReceiptRuleSetResponse)
describeReceiptRuleSetResponse_rules :: Lens.Lens' DescribeReceiptRuleSetResponse (Prelude.Maybe [ReceiptRule])
describeReceiptRuleSetResponse_rules :: Lens' DescribeReceiptRuleSetResponse (Maybe [ReceiptRule])
describeReceiptRuleSetResponse_rules = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReceiptRuleSetResponse' {Maybe [ReceiptRule]
rules :: Maybe [ReceiptRule]
$sel:rules:DescribeReceiptRuleSetResponse' :: DescribeReceiptRuleSetResponse -> Maybe [ReceiptRule]
rules} -> Maybe [ReceiptRule]
rules) (\s :: DescribeReceiptRuleSetResponse
s@DescribeReceiptRuleSetResponse' {} Maybe [ReceiptRule]
a -> DescribeReceiptRuleSetResponse
s {$sel:rules:DescribeReceiptRuleSetResponse' :: Maybe [ReceiptRule]
rules = Maybe [ReceiptRule]
a} :: DescribeReceiptRuleSetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeReceiptRuleSetResponse_httpStatus :: Lens.Lens' DescribeReceiptRuleSetResponse Prelude.Int
describeReceiptRuleSetResponse_httpStatus :: Lens' DescribeReceiptRuleSetResponse Int
describeReceiptRuleSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReceiptRuleSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeReceiptRuleSetResponse' :: DescribeReceiptRuleSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeReceiptRuleSetResponse
s@DescribeReceiptRuleSetResponse' {} Int
a -> DescribeReceiptRuleSetResponse
s {$sel:httpStatus:DescribeReceiptRuleSetResponse' :: Int
httpStatus = Int
a} :: DescribeReceiptRuleSetResponse)
instance
Prelude.NFData
DescribeReceiptRuleSetResponse
where
rnf :: DescribeReceiptRuleSetResponse -> ()
rnf DescribeReceiptRuleSetResponse' {Int
Maybe [ReceiptRule]
Maybe ReceiptRuleSetMetadata
httpStatus :: Int
rules :: Maybe [ReceiptRule]
metadata :: Maybe ReceiptRuleSetMetadata
$sel:httpStatus:DescribeReceiptRuleSetResponse' :: DescribeReceiptRuleSetResponse -> Int
$sel:rules:DescribeReceiptRuleSetResponse' :: DescribeReceiptRuleSetResponse -> Maybe [ReceiptRule]
$sel:metadata:DescribeReceiptRuleSetResponse' :: DescribeReceiptRuleSetResponse -> Maybe ReceiptRuleSetMetadata
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ReceiptRuleSetMetadata
metadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ReceiptRule]
rules
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus