{-# 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.SESV2.TestRenderEmailTemplate
(
TestRenderEmailTemplate (..),
newTestRenderEmailTemplate,
testRenderEmailTemplate_templateName,
testRenderEmailTemplate_templateData,
TestRenderEmailTemplateResponse (..),
newTestRenderEmailTemplateResponse,
testRenderEmailTemplateResponse_httpStatus,
testRenderEmailTemplateResponse_renderedTemplate,
)
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.SESV2.Types
data TestRenderEmailTemplate = TestRenderEmailTemplate'
{
TestRenderEmailTemplate -> Text
templateName :: Prelude.Text,
TestRenderEmailTemplate -> Text
templateData :: Prelude.Text
}
deriving (TestRenderEmailTemplate -> TestRenderEmailTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TestRenderEmailTemplate -> TestRenderEmailTemplate -> Bool
$c/= :: TestRenderEmailTemplate -> TestRenderEmailTemplate -> Bool
== :: TestRenderEmailTemplate -> TestRenderEmailTemplate -> Bool
$c== :: TestRenderEmailTemplate -> TestRenderEmailTemplate -> Bool
Prelude.Eq, ReadPrec [TestRenderEmailTemplate]
ReadPrec TestRenderEmailTemplate
Int -> ReadS TestRenderEmailTemplate
ReadS [TestRenderEmailTemplate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TestRenderEmailTemplate]
$creadListPrec :: ReadPrec [TestRenderEmailTemplate]
readPrec :: ReadPrec TestRenderEmailTemplate
$creadPrec :: ReadPrec TestRenderEmailTemplate
readList :: ReadS [TestRenderEmailTemplate]
$creadList :: ReadS [TestRenderEmailTemplate]
readsPrec :: Int -> ReadS TestRenderEmailTemplate
$creadsPrec :: Int -> ReadS TestRenderEmailTemplate
Prelude.Read, Int -> TestRenderEmailTemplate -> ShowS
[TestRenderEmailTemplate] -> ShowS
TestRenderEmailTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TestRenderEmailTemplate] -> ShowS
$cshowList :: [TestRenderEmailTemplate] -> ShowS
show :: TestRenderEmailTemplate -> String
$cshow :: TestRenderEmailTemplate -> String
showsPrec :: Int -> TestRenderEmailTemplate -> ShowS
$cshowsPrec :: Int -> TestRenderEmailTemplate -> ShowS
Prelude.Show, forall x. Rep TestRenderEmailTemplate x -> TestRenderEmailTemplate
forall x. TestRenderEmailTemplate -> Rep TestRenderEmailTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TestRenderEmailTemplate x -> TestRenderEmailTemplate
$cfrom :: forall x. TestRenderEmailTemplate -> Rep TestRenderEmailTemplate x
Prelude.Generic)
newTestRenderEmailTemplate ::
Prelude.Text ->
Prelude.Text ->
TestRenderEmailTemplate
newTestRenderEmailTemplate :: Text -> Text -> TestRenderEmailTemplate
newTestRenderEmailTemplate
Text
pTemplateName_
Text
pTemplateData_ =
TestRenderEmailTemplate'
{ $sel:templateName:TestRenderEmailTemplate' :: Text
templateName =
Text
pTemplateName_,
$sel:templateData:TestRenderEmailTemplate' :: Text
templateData = Text
pTemplateData_
}
testRenderEmailTemplate_templateName :: Lens.Lens' TestRenderEmailTemplate Prelude.Text
testRenderEmailTemplate_templateName :: Lens' TestRenderEmailTemplate Text
testRenderEmailTemplate_templateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TestRenderEmailTemplate' {Text
templateName :: Text
$sel:templateName:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
templateName} -> Text
templateName) (\s :: TestRenderEmailTemplate
s@TestRenderEmailTemplate' {} Text
a -> TestRenderEmailTemplate
s {$sel:templateName:TestRenderEmailTemplate' :: Text
templateName = Text
a} :: TestRenderEmailTemplate)
testRenderEmailTemplate_templateData :: Lens.Lens' TestRenderEmailTemplate Prelude.Text
testRenderEmailTemplate_templateData :: Lens' TestRenderEmailTemplate Text
testRenderEmailTemplate_templateData = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TestRenderEmailTemplate' {Text
templateData :: Text
$sel:templateData:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
templateData} -> Text
templateData) (\s :: TestRenderEmailTemplate
s@TestRenderEmailTemplate' {} Text
a -> TestRenderEmailTemplate
s {$sel:templateData:TestRenderEmailTemplate' :: Text
templateData = Text
a} :: TestRenderEmailTemplate)
instance Core.AWSRequest TestRenderEmailTemplate where
type
AWSResponse TestRenderEmailTemplate =
TestRenderEmailTemplateResponse
request :: (Service -> Service)
-> TestRenderEmailTemplate -> Request TestRenderEmailTemplate
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy TestRenderEmailTemplate
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse TestRenderEmailTemplate)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int -> Text -> TestRenderEmailTemplateResponse
TestRenderEmailTemplateResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"RenderedTemplate")
)
instance Prelude.Hashable TestRenderEmailTemplate where
hashWithSalt :: Int -> TestRenderEmailTemplate -> Int
hashWithSalt Int
_salt TestRenderEmailTemplate' {Text
templateData :: Text
templateName :: Text
$sel:templateData:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
$sel:templateName:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateData
instance Prelude.NFData TestRenderEmailTemplate where
rnf :: TestRenderEmailTemplate -> ()
rnf TestRenderEmailTemplate' {Text
templateData :: Text
templateName :: Text
$sel:templateData:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
$sel:templateName:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
templateName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
templateData
instance Data.ToHeaders TestRenderEmailTemplate where
toHeaders :: TestRenderEmailTemplate -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON TestRenderEmailTemplate where
toJSON :: TestRenderEmailTemplate -> Value
toJSON TestRenderEmailTemplate' {Text
templateData :: Text
templateName :: Text
$sel:templateData:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
$sel:templateName:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"TemplateData" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
templateData)]
)
instance Data.ToPath TestRenderEmailTemplate where
toPath :: TestRenderEmailTemplate -> ByteString
toPath TestRenderEmailTemplate' {Text
templateData :: Text
templateName :: Text
$sel:templateData:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
$sel:templateName:TestRenderEmailTemplate' :: TestRenderEmailTemplate -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v2/email/templates/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
templateName,
ByteString
"/render"
]
instance Data.ToQuery TestRenderEmailTemplate where
toQuery :: TestRenderEmailTemplate -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data TestRenderEmailTemplateResponse = TestRenderEmailTemplateResponse'
{
TestRenderEmailTemplateResponse -> Int
httpStatus :: Prelude.Int,
TestRenderEmailTemplateResponse -> Text
renderedTemplate :: Prelude.Text
}
deriving (TestRenderEmailTemplateResponse
-> TestRenderEmailTemplateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TestRenderEmailTemplateResponse
-> TestRenderEmailTemplateResponse -> Bool
$c/= :: TestRenderEmailTemplateResponse
-> TestRenderEmailTemplateResponse -> Bool
== :: TestRenderEmailTemplateResponse
-> TestRenderEmailTemplateResponse -> Bool
$c== :: TestRenderEmailTemplateResponse
-> TestRenderEmailTemplateResponse -> Bool
Prelude.Eq, ReadPrec [TestRenderEmailTemplateResponse]
ReadPrec TestRenderEmailTemplateResponse
Int -> ReadS TestRenderEmailTemplateResponse
ReadS [TestRenderEmailTemplateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TestRenderEmailTemplateResponse]
$creadListPrec :: ReadPrec [TestRenderEmailTemplateResponse]
readPrec :: ReadPrec TestRenderEmailTemplateResponse
$creadPrec :: ReadPrec TestRenderEmailTemplateResponse
readList :: ReadS [TestRenderEmailTemplateResponse]
$creadList :: ReadS [TestRenderEmailTemplateResponse]
readsPrec :: Int -> ReadS TestRenderEmailTemplateResponse
$creadsPrec :: Int -> ReadS TestRenderEmailTemplateResponse
Prelude.Read, Int -> TestRenderEmailTemplateResponse -> ShowS
[TestRenderEmailTemplateResponse] -> ShowS
TestRenderEmailTemplateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TestRenderEmailTemplateResponse] -> ShowS
$cshowList :: [TestRenderEmailTemplateResponse] -> ShowS
show :: TestRenderEmailTemplateResponse -> String
$cshow :: TestRenderEmailTemplateResponse -> String
showsPrec :: Int -> TestRenderEmailTemplateResponse -> ShowS
$cshowsPrec :: Int -> TestRenderEmailTemplateResponse -> ShowS
Prelude.Show, forall x.
Rep TestRenderEmailTemplateResponse x
-> TestRenderEmailTemplateResponse
forall x.
TestRenderEmailTemplateResponse
-> Rep TestRenderEmailTemplateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep TestRenderEmailTemplateResponse x
-> TestRenderEmailTemplateResponse
$cfrom :: forall x.
TestRenderEmailTemplateResponse
-> Rep TestRenderEmailTemplateResponse x
Prelude.Generic)
newTestRenderEmailTemplateResponse ::
Prelude.Int ->
Prelude.Text ->
TestRenderEmailTemplateResponse
newTestRenderEmailTemplateResponse :: Int -> Text -> TestRenderEmailTemplateResponse
newTestRenderEmailTemplateResponse
Int
pHttpStatus_
Text
pRenderedTemplate_ =
TestRenderEmailTemplateResponse'
{ $sel:httpStatus:TestRenderEmailTemplateResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:renderedTemplate:TestRenderEmailTemplateResponse' :: Text
renderedTemplate = Text
pRenderedTemplate_
}
testRenderEmailTemplateResponse_httpStatus :: Lens.Lens' TestRenderEmailTemplateResponse Prelude.Int
testRenderEmailTemplateResponse_httpStatus :: Lens' TestRenderEmailTemplateResponse Int
testRenderEmailTemplateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TestRenderEmailTemplateResponse' {Int
httpStatus :: Int
$sel:httpStatus:TestRenderEmailTemplateResponse' :: TestRenderEmailTemplateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: TestRenderEmailTemplateResponse
s@TestRenderEmailTemplateResponse' {} Int
a -> TestRenderEmailTemplateResponse
s {$sel:httpStatus:TestRenderEmailTemplateResponse' :: Int
httpStatus = Int
a} :: TestRenderEmailTemplateResponse)
testRenderEmailTemplateResponse_renderedTemplate :: Lens.Lens' TestRenderEmailTemplateResponse Prelude.Text
testRenderEmailTemplateResponse_renderedTemplate :: Lens' TestRenderEmailTemplateResponse Text
testRenderEmailTemplateResponse_renderedTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TestRenderEmailTemplateResponse' {Text
renderedTemplate :: Text
$sel:renderedTemplate:TestRenderEmailTemplateResponse' :: TestRenderEmailTemplateResponse -> Text
renderedTemplate} -> Text
renderedTemplate) (\s :: TestRenderEmailTemplateResponse
s@TestRenderEmailTemplateResponse' {} Text
a -> TestRenderEmailTemplateResponse
s {$sel:renderedTemplate:TestRenderEmailTemplateResponse' :: Text
renderedTemplate = Text
a} :: TestRenderEmailTemplateResponse)
instance
Prelude.NFData
TestRenderEmailTemplateResponse
where
rnf :: TestRenderEmailTemplateResponse -> ()
rnf TestRenderEmailTemplateResponse' {Int
Text
renderedTemplate :: Text
httpStatus :: Int
$sel:renderedTemplate:TestRenderEmailTemplateResponse' :: TestRenderEmailTemplateResponse -> Text
$sel:httpStatus:TestRenderEmailTemplateResponse' :: TestRenderEmailTemplateResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
renderedTemplate