{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.SES.ListCustomVerificationEmailTemplates
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists the existing custom verification email templates for your account
-- in the current AWS Region.
--
-- For more information about custom verification email templates, see
-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html Using Custom Verification Email Templates>
-- in the /Amazon SES Developer Guide/.
--
-- You can execute this operation no more than once per second.
--
-- This operation returns paginated results.
module Amazonka.SES.ListCustomVerificationEmailTemplates
  ( -- * Creating a Request
    ListCustomVerificationEmailTemplates (..),
    newListCustomVerificationEmailTemplates,

    -- * Request Lenses
    listCustomVerificationEmailTemplates_nextToken,
    listCustomVerificationEmailTemplates_maxResults,

    -- * Destructuring the Response
    ListCustomVerificationEmailTemplatesResponse (..),
    newListCustomVerificationEmailTemplatesResponse,

    -- * Response Lenses
    listCustomVerificationEmailTemplatesResponse_nextToken,
    listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates,
    listCustomVerificationEmailTemplatesResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SES.Types

-- | Represents a request to list the existing custom verification email
-- templates for your account.
--
-- For more information about custom verification email templates, see
-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html Using Custom Verification Email Templates>
-- in the /Amazon SES Developer Guide/.
--
-- /See:/ 'newListCustomVerificationEmailTemplates' smart constructor.
data ListCustomVerificationEmailTemplates = ListCustomVerificationEmailTemplates'
  { -- | An array the contains the name and creation time stamp for each template
    -- in your Amazon SES account.
    ListCustomVerificationEmailTemplates -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of custom verification email templates to return.
    -- This value must be at least 1 and less than or equal to 50. If you do
    -- not specify a value, or if you specify a value less than 1 or greater
    -- than 50, the operation will return up to 50 results.
    ListCustomVerificationEmailTemplates -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural
  }
  deriving (ListCustomVerificationEmailTemplates
-> ListCustomVerificationEmailTemplates -> Bool
(ListCustomVerificationEmailTemplates
 -> ListCustomVerificationEmailTemplates -> Bool)
-> (ListCustomVerificationEmailTemplates
    -> ListCustomVerificationEmailTemplates -> Bool)
-> Eq ListCustomVerificationEmailTemplates
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListCustomVerificationEmailTemplates
-> ListCustomVerificationEmailTemplates -> Bool
$c/= :: ListCustomVerificationEmailTemplates
-> ListCustomVerificationEmailTemplates -> Bool
== :: ListCustomVerificationEmailTemplates
-> ListCustomVerificationEmailTemplates -> Bool
$c== :: ListCustomVerificationEmailTemplates
-> ListCustomVerificationEmailTemplates -> Bool
Prelude.Eq, ReadPrec [ListCustomVerificationEmailTemplates]
ReadPrec ListCustomVerificationEmailTemplates
Int -> ReadS ListCustomVerificationEmailTemplates
ReadS [ListCustomVerificationEmailTemplates]
(Int -> ReadS ListCustomVerificationEmailTemplates)
-> ReadS [ListCustomVerificationEmailTemplates]
-> ReadPrec ListCustomVerificationEmailTemplates
-> ReadPrec [ListCustomVerificationEmailTemplates]
-> Read ListCustomVerificationEmailTemplates
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListCustomVerificationEmailTemplates]
$creadListPrec :: ReadPrec [ListCustomVerificationEmailTemplates]
readPrec :: ReadPrec ListCustomVerificationEmailTemplates
$creadPrec :: ReadPrec ListCustomVerificationEmailTemplates
readList :: ReadS [ListCustomVerificationEmailTemplates]
$creadList :: ReadS [ListCustomVerificationEmailTemplates]
readsPrec :: Int -> ReadS ListCustomVerificationEmailTemplates
$creadsPrec :: Int -> ReadS ListCustomVerificationEmailTemplates
Prelude.Read, Int -> ListCustomVerificationEmailTemplates -> ShowS
[ListCustomVerificationEmailTemplates] -> ShowS
ListCustomVerificationEmailTemplates -> String
(Int -> ListCustomVerificationEmailTemplates -> ShowS)
-> (ListCustomVerificationEmailTemplates -> String)
-> ([ListCustomVerificationEmailTemplates] -> ShowS)
-> Show ListCustomVerificationEmailTemplates
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListCustomVerificationEmailTemplates] -> ShowS
$cshowList :: [ListCustomVerificationEmailTemplates] -> ShowS
show :: ListCustomVerificationEmailTemplates -> String
$cshow :: ListCustomVerificationEmailTemplates -> String
showsPrec :: Int -> ListCustomVerificationEmailTemplates -> ShowS
$cshowsPrec :: Int -> ListCustomVerificationEmailTemplates -> ShowS
Prelude.Show, (forall x.
 ListCustomVerificationEmailTemplates
 -> Rep ListCustomVerificationEmailTemplates x)
-> (forall x.
    Rep ListCustomVerificationEmailTemplates x
    -> ListCustomVerificationEmailTemplates)
-> Generic ListCustomVerificationEmailTemplates
forall x.
Rep ListCustomVerificationEmailTemplates x
-> ListCustomVerificationEmailTemplates
forall x.
ListCustomVerificationEmailTemplates
-> Rep ListCustomVerificationEmailTemplates x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListCustomVerificationEmailTemplates x
-> ListCustomVerificationEmailTemplates
$cfrom :: forall x.
ListCustomVerificationEmailTemplates
-> Rep ListCustomVerificationEmailTemplates x
Prelude.Generic)

-- |
-- Create a value of 'ListCustomVerificationEmailTemplates' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'listCustomVerificationEmailTemplates_nextToken' - An array the contains the name and creation time stamp for each template
-- in your Amazon SES account.
--
-- 'maxResults', 'listCustomVerificationEmailTemplates_maxResults' - The maximum number of custom verification email templates to return.
-- This value must be at least 1 and less than or equal to 50. If you do
-- not specify a value, or if you specify a value less than 1 or greater
-- than 50, the operation will return up to 50 results.
newListCustomVerificationEmailTemplates ::
  ListCustomVerificationEmailTemplates
newListCustomVerificationEmailTemplates :: ListCustomVerificationEmailTemplates
newListCustomVerificationEmailTemplates =
  ListCustomVerificationEmailTemplates' :: Maybe Text -> Maybe Natural -> ListCustomVerificationEmailTemplates
ListCustomVerificationEmailTemplates'
    { $sel:nextToken:ListCustomVerificationEmailTemplates' :: Maybe Text
nextToken =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListCustomVerificationEmailTemplates' :: Maybe Natural
maxResults = Maybe Natural
forall a. Maybe a
Prelude.Nothing
    }

-- | An array the contains the name and creation time stamp for each template
-- in your Amazon SES account.
listCustomVerificationEmailTemplates_nextToken :: Lens.Lens' ListCustomVerificationEmailTemplates (Prelude.Maybe Prelude.Text)
listCustomVerificationEmailTemplates_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListCustomVerificationEmailTemplates
-> f ListCustomVerificationEmailTemplates
listCustomVerificationEmailTemplates_nextToken = (ListCustomVerificationEmailTemplates -> Maybe Text)
-> (ListCustomVerificationEmailTemplates
    -> Maybe Text -> ListCustomVerificationEmailTemplates)
-> Lens
     ListCustomVerificationEmailTemplates
     ListCustomVerificationEmailTemplates
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplates' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListCustomVerificationEmailTemplates
s@ListCustomVerificationEmailTemplates' {} Maybe Text
a -> ListCustomVerificationEmailTemplates
s {$sel:nextToken:ListCustomVerificationEmailTemplates' :: Maybe Text
nextToken = Maybe Text
a} :: ListCustomVerificationEmailTemplates)

-- | The maximum number of custom verification email templates to return.
-- This value must be at least 1 and less than or equal to 50. If you do
-- not specify a value, or if you specify a value less than 1 or greater
-- than 50, the operation will return up to 50 results.
listCustomVerificationEmailTemplates_maxResults :: Lens.Lens' ListCustomVerificationEmailTemplates (Prelude.Maybe Prelude.Natural)
listCustomVerificationEmailTemplates_maxResults :: (Maybe Natural -> f (Maybe Natural))
-> ListCustomVerificationEmailTemplates
-> f ListCustomVerificationEmailTemplates
listCustomVerificationEmailTemplates_maxResults = (ListCustomVerificationEmailTemplates -> Maybe Natural)
-> (ListCustomVerificationEmailTemplates
    -> Maybe Natural -> ListCustomVerificationEmailTemplates)
-> Lens
     ListCustomVerificationEmailTemplates
     ListCustomVerificationEmailTemplates
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplates' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListCustomVerificationEmailTemplates
s@ListCustomVerificationEmailTemplates' {} Maybe Natural
a -> ListCustomVerificationEmailTemplates
s {$sel:maxResults:ListCustomVerificationEmailTemplates' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListCustomVerificationEmailTemplates)

instance
  Core.AWSPager
    ListCustomVerificationEmailTemplates
  where
  page :: ListCustomVerificationEmailTemplates
-> AWSResponse ListCustomVerificationEmailTemplates
-> Maybe ListCustomVerificationEmailTemplates
page ListCustomVerificationEmailTemplates
rq AWSResponse ListCustomVerificationEmailTemplates
rs
    | Maybe Text -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListCustomVerificationEmailTemplates
ListCustomVerificationEmailTemplatesResponse
rs
            ListCustomVerificationEmailTemplatesResponse
-> Getting
     (First Text) ListCustomVerificationEmailTemplatesResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> ListCustomVerificationEmailTemplatesResponse
-> Const (First Text) ListCustomVerificationEmailTemplatesResponse
Lens' ListCustomVerificationEmailTemplatesResponse (Maybe Text)
listCustomVerificationEmailTemplatesResponse_nextToken
              ((Maybe Text -> Const (First Text) (Maybe Text))
 -> ListCustomVerificationEmailTemplatesResponse
 -> Const (First Text) ListCustomVerificationEmailTemplatesResponse)
-> ((Text -> Const (First Text) Text)
    -> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting
     (First Text) ListCustomVerificationEmailTemplatesResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
      Maybe ListCustomVerificationEmailTemplates
forall a. Maybe a
Prelude.Nothing
    | Maybe [CustomVerificationEmailTemplate] -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListCustomVerificationEmailTemplates
ListCustomVerificationEmailTemplatesResponse
rs
            ListCustomVerificationEmailTemplatesResponse
-> Getting
     (First [CustomVerificationEmailTemplate])
     ListCustomVerificationEmailTemplatesResponse
     [CustomVerificationEmailTemplate]
-> Maybe [CustomVerificationEmailTemplate]
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe [CustomVerificationEmailTemplate]
 -> Const
      (First [CustomVerificationEmailTemplate])
      (Maybe [CustomVerificationEmailTemplate]))
-> ListCustomVerificationEmailTemplatesResponse
-> Const
     (First [CustomVerificationEmailTemplate])
     ListCustomVerificationEmailTemplatesResponse
Lens'
  ListCustomVerificationEmailTemplatesResponse
  (Maybe [CustomVerificationEmailTemplate])
listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates
              ((Maybe [CustomVerificationEmailTemplate]
  -> Const
       (First [CustomVerificationEmailTemplate])
       (Maybe [CustomVerificationEmailTemplate]))
 -> ListCustomVerificationEmailTemplatesResponse
 -> Const
      (First [CustomVerificationEmailTemplate])
      ListCustomVerificationEmailTemplatesResponse)
-> (([CustomVerificationEmailTemplate]
     -> Const
          (First [CustomVerificationEmailTemplate])
          [CustomVerificationEmailTemplate])
    -> Maybe [CustomVerificationEmailTemplate]
    -> Const
         (First [CustomVerificationEmailTemplate])
         (Maybe [CustomVerificationEmailTemplate]))
-> Getting
     (First [CustomVerificationEmailTemplate])
     ListCustomVerificationEmailTemplatesResponse
     [CustomVerificationEmailTemplate]
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([CustomVerificationEmailTemplate]
 -> Const
      (First [CustomVerificationEmailTemplate])
      [CustomVerificationEmailTemplate])
-> Maybe [CustomVerificationEmailTemplate]
-> Const
     (First [CustomVerificationEmailTemplate])
     (Maybe [CustomVerificationEmailTemplate])
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
      Maybe ListCustomVerificationEmailTemplates
forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
      ListCustomVerificationEmailTemplates
-> Maybe ListCustomVerificationEmailTemplates
forall a. a -> Maybe a
Prelude.Just (ListCustomVerificationEmailTemplates
 -> Maybe ListCustomVerificationEmailTemplates)
-> ListCustomVerificationEmailTemplates
-> Maybe ListCustomVerificationEmailTemplates
forall a b. (a -> b) -> a -> b
Prelude.$
        ListCustomVerificationEmailTemplates
rq
          ListCustomVerificationEmailTemplates
-> (ListCustomVerificationEmailTemplates
    -> ListCustomVerificationEmailTemplates)
-> ListCustomVerificationEmailTemplates
forall a b. a -> (a -> b) -> b
Prelude.& (Maybe Text -> Identity (Maybe Text))
-> ListCustomVerificationEmailTemplates
-> Identity ListCustomVerificationEmailTemplates
Lens
  ListCustomVerificationEmailTemplates
  ListCustomVerificationEmailTemplates
  (Maybe Text)
  (Maybe Text)
listCustomVerificationEmailTemplates_nextToken
          ((Maybe Text -> Identity (Maybe Text))
 -> ListCustomVerificationEmailTemplates
 -> Identity ListCustomVerificationEmailTemplates)
-> Maybe Text
-> ListCustomVerificationEmailTemplates
-> ListCustomVerificationEmailTemplates
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListCustomVerificationEmailTemplates
ListCustomVerificationEmailTemplatesResponse
rs
            ListCustomVerificationEmailTemplatesResponse
-> Getting
     (First Text) ListCustomVerificationEmailTemplatesResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> ListCustomVerificationEmailTemplatesResponse
-> Const (First Text) ListCustomVerificationEmailTemplatesResponse
Lens' ListCustomVerificationEmailTemplatesResponse (Maybe Text)
listCustomVerificationEmailTemplatesResponse_nextToken
              ((Maybe Text -> Const (First Text) (Maybe Text))
 -> ListCustomVerificationEmailTemplatesResponse
 -> Const (First Text) ListCustomVerificationEmailTemplatesResponse)
-> ((Text -> Const (First Text) Text)
    -> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting
     (First Text) ListCustomVerificationEmailTemplatesResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance
  Core.AWSRequest
    ListCustomVerificationEmailTemplates
  where
  type
    AWSResponse ListCustomVerificationEmailTemplates =
      ListCustomVerificationEmailTemplatesResponse
  request :: ListCustomVerificationEmailTemplates
-> Request ListCustomVerificationEmailTemplates
request = Service
-> ListCustomVerificationEmailTemplates
-> Request ListCustomVerificationEmailTemplates
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery Service
defaultService
  response :: Logger
-> Service
-> Proxy ListCustomVerificationEmailTemplates
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ListCustomVerificationEmailTemplates)))
response =
    Text
-> (Int
    -> ResponseHeaders
    -> [Node]
    -> Either
         String (AWSResponse ListCustomVerificationEmailTemplates))
-> Logger
-> Service
-> Proxy ListCustomVerificationEmailTemplates
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ListCustomVerificationEmailTemplates)))
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
    -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
      Text
"ListCustomVerificationEmailTemplatesResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe Text
-> Maybe [CustomVerificationEmailTemplate]
-> Int
-> ListCustomVerificationEmailTemplatesResponse
ListCustomVerificationEmailTemplatesResponse'
            (Maybe Text
 -> Maybe [CustomVerificationEmailTemplate]
 -> Int
 -> ListCustomVerificationEmailTemplatesResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe [CustomVerificationEmailTemplate]
      -> Int -> ListCustomVerificationEmailTemplatesResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"NextToken")
              Either
  String
  (Maybe [CustomVerificationEmailTemplate]
   -> Int -> ListCustomVerificationEmailTemplatesResponse)
-> Either String (Maybe [CustomVerificationEmailTemplate])
-> Either
     String (Int -> ListCustomVerificationEmailTemplatesResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x [Node] -> Text -> Either String (Maybe [Node])
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"CustomVerificationEmailTemplates"
                              Either String (Maybe [Node]) -> [Node] -> Either String [Node]
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ [Node]
forall a. Monoid a => a
Prelude.mempty
                              Either String [Node]
-> ([Node]
    -> Either String (Maybe [CustomVerificationEmailTemplate]))
-> Either String (Maybe [CustomVerificationEmailTemplate])
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= ([Node] -> Either String [CustomVerificationEmailTemplate])
-> [Node]
-> Either String (Maybe [CustomVerificationEmailTemplate])
forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (Text -> [Node] -> Either String [CustomVerificationEmailTemplate]
forall a. FromXML a => Text -> [Node] -> Either String [a]
Core.parseXMLList Text
"member")
                          )
              Either String (Int -> ListCustomVerificationEmailTemplatesResponse)
-> Either String Int
-> Either String ListCustomVerificationEmailTemplatesResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
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
    ListCustomVerificationEmailTemplates

instance
  Prelude.NFData
    ListCustomVerificationEmailTemplates

instance
  Core.ToHeaders
    ListCustomVerificationEmailTemplates
  where
  toHeaders :: ListCustomVerificationEmailTemplates -> ResponseHeaders
toHeaders = ResponseHeaders
-> ListCustomVerificationEmailTemplates -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty

instance
  Core.ToPath
    ListCustomVerificationEmailTemplates
  where
  toPath :: ListCustomVerificationEmailTemplates -> ByteString
toPath = ByteString -> ListCustomVerificationEmailTemplates -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance
  Core.ToQuery
    ListCustomVerificationEmailTemplates
  where
  toQuery :: ListCustomVerificationEmailTemplates -> QueryString
toQuery ListCustomVerificationEmailTemplates' {Maybe Natural
Maybe Text
maxResults :: Maybe Natural
nextToken :: Maybe Text
$sel:maxResults:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Natural
$sel:nextToken:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Text
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: ( ByteString
"ListCustomVerificationEmailTemplates" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"2010-12-01" :: Prelude.ByteString),
        ByteString
"NextToken" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
nextToken,
        ByteString
"MaxResults" ByteString -> Maybe Natural -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Natural
maxResults
      ]

-- | A paginated list of custom verification email templates.
--
-- /See:/ 'newListCustomVerificationEmailTemplatesResponse' smart constructor.
data ListCustomVerificationEmailTemplatesResponse = ListCustomVerificationEmailTemplatesResponse'
  { -- | A token indicating that there are additional custom verification email
    -- templates available to be listed. Pass this token to a subsequent call
    -- to @ListTemplates@ to retrieve the next 50 custom verification email
    -- templates.
    ListCustomVerificationEmailTemplatesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A list of the custom verification email templates that exist in your
    -- account.
    ListCustomVerificationEmailTemplatesResponse
-> Maybe [CustomVerificationEmailTemplate]
customVerificationEmailTemplates :: Prelude.Maybe [CustomVerificationEmailTemplate],
    -- | The response's http status code.
    ListCustomVerificationEmailTemplatesResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListCustomVerificationEmailTemplatesResponse
-> ListCustomVerificationEmailTemplatesResponse -> Bool
(ListCustomVerificationEmailTemplatesResponse
 -> ListCustomVerificationEmailTemplatesResponse -> Bool)
-> (ListCustomVerificationEmailTemplatesResponse
    -> ListCustomVerificationEmailTemplatesResponse -> Bool)
-> Eq ListCustomVerificationEmailTemplatesResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListCustomVerificationEmailTemplatesResponse
-> ListCustomVerificationEmailTemplatesResponse -> Bool
$c/= :: ListCustomVerificationEmailTemplatesResponse
-> ListCustomVerificationEmailTemplatesResponse -> Bool
== :: ListCustomVerificationEmailTemplatesResponse
-> ListCustomVerificationEmailTemplatesResponse -> Bool
$c== :: ListCustomVerificationEmailTemplatesResponse
-> ListCustomVerificationEmailTemplatesResponse -> Bool
Prelude.Eq, ReadPrec [ListCustomVerificationEmailTemplatesResponse]
ReadPrec ListCustomVerificationEmailTemplatesResponse
Int -> ReadS ListCustomVerificationEmailTemplatesResponse
ReadS [ListCustomVerificationEmailTemplatesResponse]
(Int -> ReadS ListCustomVerificationEmailTemplatesResponse)
-> ReadS [ListCustomVerificationEmailTemplatesResponse]
-> ReadPrec ListCustomVerificationEmailTemplatesResponse
-> ReadPrec [ListCustomVerificationEmailTemplatesResponse]
-> Read ListCustomVerificationEmailTemplatesResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListCustomVerificationEmailTemplatesResponse]
$creadListPrec :: ReadPrec [ListCustomVerificationEmailTemplatesResponse]
readPrec :: ReadPrec ListCustomVerificationEmailTemplatesResponse
$creadPrec :: ReadPrec ListCustomVerificationEmailTemplatesResponse
readList :: ReadS [ListCustomVerificationEmailTemplatesResponse]
$creadList :: ReadS [ListCustomVerificationEmailTemplatesResponse]
readsPrec :: Int -> ReadS ListCustomVerificationEmailTemplatesResponse
$creadsPrec :: Int -> ReadS ListCustomVerificationEmailTemplatesResponse
Prelude.Read, Int -> ListCustomVerificationEmailTemplatesResponse -> ShowS
[ListCustomVerificationEmailTemplatesResponse] -> ShowS
ListCustomVerificationEmailTemplatesResponse -> String
(Int -> ListCustomVerificationEmailTemplatesResponse -> ShowS)
-> (ListCustomVerificationEmailTemplatesResponse -> String)
-> ([ListCustomVerificationEmailTemplatesResponse] -> ShowS)
-> Show ListCustomVerificationEmailTemplatesResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListCustomVerificationEmailTemplatesResponse] -> ShowS
$cshowList :: [ListCustomVerificationEmailTemplatesResponse] -> ShowS
show :: ListCustomVerificationEmailTemplatesResponse -> String
$cshow :: ListCustomVerificationEmailTemplatesResponse -> String
showsPrec :: Int -> ListCustomVerificationEmailTemplatesResponse -> ShowS
$cshowsPrec :: Int -> ListCustomVerificationEmailTemplatesResponse -> ShowS
Prelude.Show, (forall x.
 ListCustomVerificationEmailTemplatesResponse
 -> Rep ListCustomVerificationEmailTemplatesResponse x)
-> (forall x.
    Rep ListCustomVerificationEmailTemplatesResponse x
    -> ListCustomVerificationEmailTemplatesResponse)
-> Generic ListCustomVerificationEmailTemplatesResponse
forall x.
Rep ListCustomVerificationEmailTemplatesResponse x
-> ListCustomVerificationEmailTemplatesResponse
forall x.
ListCustomVerificationEmailTemplatesResponse
-> Rep ListCustomVerificationEmailTemplatesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListCustomVerificationEmailTemplatesResponse x
-> ListCustomVerificationEmailTemplatesResponse
$cfrom :: forall x.
ListCustomVerificationEmailTemplatesResponse
-> Rep ListCustomVerificationEmailTemplatesResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListCustomVerificationEmailTemplatesResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'listCustomVerificationEmailTemplatesResponse_nextToken' - A token indicating that there are additional custom verification email
-- templates available to be listed. Pass this token to a subsequent call
-- to @ListTemplates@ to retrieve the next 50 custom verification email
-- templates.
--
-- 'customVerificationEmailTemplates', 'listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates' - A list of the custom verification email templates that exist in your
-- account.
--
-- 'httpStatus', 'listCustomVerificationEmailTemplatesResponse_httpStatus' - The response's http status code.
newListCustomVerificationEmailTemplatesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListCustomVerificationEmailTemplatesResponse
newListCustomVerificationEmailTemplatesResponse :: Int -> ListCustomVerificationEmailTemplatesResponse
newListCustomVerificationEmailTemplatesResponse
  Int
pHttpStatus_ =
    ListCustomVerificationEmailTemplatesResponse' :: Maybe Text
-> Maybe [CustomVerificationEmailTemplate]
-> Int
-> ListCustomVerificationEmailTemplatesResponse
ListCustomVerificationEmailTemplatesResponse'
      { $sel:nextToken:ListCustomVerificationEmailTemplatesResponse' :: Maybe Text
nextToken =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:customVerificationEmailTemplates:ListCustomVerificationEmailTemplatesResponse' :: Maybe [CustomVerificationEmailTemplate]
customVerificationEmailTemplates =
          Maybe [CustomVerificationEmailTemplate]
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ListCustomVerificationEmailTemplatesResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | A token indicating that there are additional custom verification email
-- templates available to be listed. Pass this token to a subsequent call
-- to @ListTemplates@ to retrieve the next 50 custom verification email
-- templates.
listCustomVerificationEmailTemplatesResponse_nextToken :: Lens.Lens' ListCustomVerificationEmailTemplatesResponse (Prelude.Maybe Prelude.Text)
listCustomVerificationEmailTemplatesResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListCustomVerificationEmailTemplatesResponse
-> f ListCustomVerificationEmailTemplatesResponse
listCustomVerificationEmailTemplatesResponse_nextToken = (ListCustomVerificationEmailTemplatesResponse -> Maybe Text)
-> (ListCustomVerificationEmailTemplatesResponse
    -> Maybe Text -> ListCustomVerificationEmailTemplatesResponse)
-> Lens' ListCustomVerificationEmailTemplatesResponse (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplatesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListCustomVerificationEmailTemplatesResponse' :: ListCustomVerificationEmailTemplatesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListCustomVerificationEmailTemplatesResponse
s@ListCustomVerificationEmailTemplatesResponse' {} Maybe Text
a -> ListCustomVerificationEmailTemplatesResponse
s {$sel:nextToken:ListCustomVerificationEmailTemplatesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListCustomVerificationEmailTemplatesResponse)

-- | A list of the custom verification email templates that exist in your
-- account.
listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates :: Lens.Lens' ListCustomVerificationEmailTemplatesResponse (Prelude.Maybe [CustomVerificationEmailTemplate])
listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates :: (Maybe [CustomVerificationEmailTemplate]
 -> f (Maybe [CustomVerificationEmailTemplate]))
-> ListCustomVerificationEmailTemplatesResponse
-> f ListCustomVerificationEmailTemplatesResponse
listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates = (ListCustomVerificationEmailTemplatesResponse
 -> Maybe [CustomVerificationEmailTemplate])
-> (ListCustomVerificationEmailTemplatesResponse
    -> Maybe [CustomVerificationEmailTemplate]
    -> ListCustomVerificationEmailTemplatesResponse)
-> Lens'
     ListCustomVerificationEmailTemplatesResponse
     (Maybe [CustomVerificationEmailTemplate])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplatesResponse' {Maybe [CustomVerificationEmailTemplate]
customVerificationEmailTemplates :: Maybe [CustomVerificationEmailTemplate]
$sel:customVerificationEmailTemplates:ListCustomVerificationEmailTemplatesResponse' :: ListCustomVerificationEmailTemplatesResponse
-> Maybe [CustomVerificationEmailTemplate]
customVerificationEmailTemplates} -> Maybe [CustomVerificationEmailTemplate]
customVerificationEmailTemplates) (\s :: ListCustomVerificationEmailTemplatesResponse
s@ListCustomVerificationEmailTemplatesResponse' {} Maybe [CustomVerificationEmailTemplate]
a -> ListCustomVerificationEmailTemplatesResponse
s {$sel:customVerificationEmailTemplates:ListCustomVerificationEmailTemplatesResponse' :: Maybe [CustomVerificationEmailTemplate]
customVerificationEmailTemplates = Maybe [CustomVerificationEmailTemplate]
a} :: ListCustomVerificationEmailTemplatesResponse) ((Maybe [CustomVerificationEmailTemplate]
  -> f (Maybe [CustomVerificationEmailTemplate]))
 -> ListCustomVerificationEmailTemplatesResponse
 -> f ListCustomVerificationEmailTemplatesResponse)
-> ((Maybe [CustomVerificationEmailTemplate]
     -> f (Maybe [CustomVerificationEmailTemplate]))
    -> Maybe [CustomVerificationEmailTemplate]
    -> f (Maybe [CustomVerificationEmailTemplate]))
-> (Maybe [CustomVerificationEmailTemplate]
    -> f (Maybe [CustomVerificationEmailTemplate]))
-> ListCustomVerificationEmailTemplatesResponse
-> f ListCustomVerificationEmailTemplatesResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [CustomVerificationEmailTemplate]
  [CustomVerificationEmailTemplate]
  [CustomVerificationEmailTemplate]
  [CustomVerificationEmailTemplate]
-> Iso
     (Maybe [CustomVerificationEmailTemplate])
     (Maybe [CustomVerificationEmailTemplate])
     (Maybe [CustomVerificationEmailTemplate])
     (Maybe [CustomVerificationEmailTemplate])
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 AnIso
  [CustomVerificationEmailTemplate]
  [CustomVerificationEmailTemplate]
  [CustomVerificationEmailTemplate]
  [CustomVerificationEmailTemplate]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
listCustomVerificationEmailTemplatesResponse_httpStatus :: Lens.Lens' ListCustomVerificationEmailTemplatesResponse Prelude.Int
listCustomVerificationEmailTemplatesResponse_httpStatus :: (Int -> f Int)
-> ListCustomVerificationEmailTemplatesResponse
-> f ListCustomVerificationEmailTemplatesResponse
listCustomVerificationEmailTemplatesResponse_httpStatus = (ListCustomVerificationEmailTemplatesResponse -> Int)
-> (ListCustomVerificationEmailTemplatesResponse
    -> Int -> ListCustomVerificationEmailTemplatesResponse)
-> Lens
     ListCustomVerificationEmailTemplatesResponse
     ListCustomVerificationEmailTemplatesResponse
     Int
     Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplatesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListCustomVerificationEmailTemplatesResponse' :: ListCustomVerificationEmailTemplatesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListCustomVerificationEmailTemplatesResponse
s@ListCustomVerificationEmailTemplatesResponse' {} Int
a -> ListCustomVerificationEmailTemplatesResponse
s {$sel:httpStatus:ListCustomVerificationEmailTemplatesResponse' :: Int
httpStatus = Int
a} :: ListCustomVerificationEmailTemplatesResponse)

instance
  Prelude.NFData
    ListCustomVerificationEmailTemplatesResponse