{-# 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.SESV2.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 Amazon Web Services Region.
--
-- For more information about custom verification email templates, see
-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html Using Custom Verification Email Templates>
-- in the /Amazon SES Developer Guide/.
--
-- You can execute this operation no more than once per second.
module Amazonka.SESV2.ListCustomVerificationEmailTemplates
  ( -- * Creating a Request
    ListCustomVerificationEmailTemplates (..),
    newListCustomVerificationEmailTemplates,

    -- * Request Lenses
    listCustomVerificationEmailTemplates_nextToken,
    listCustomVerificationEmailTemplates_pageSize,

    -- * 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.SESV2.Types

-- | Represents a request to list the existing custom verification email
-- templates for your account.
--
-- /See:/ 'newListCustomVerificationEmailTemplates' smart constructor.
data ListCustomVerificationEmailTemplates = ListCustomVerificationEmailTemplates'
  { -- | A token returned from a previous call to
    -- @ListCustomVerificationEmailTemplates@ to indicate the position in the
    -- list of custom verification email templates.
    ListCustomVerificationEmailTemplates -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The number of results to show in a single call to
    -- @ListCustomVerificationEmailTemplates@. If the number of results is
    -- larger than the number you specified in this parameter, then the
    -- response includes a @NextToken@ element, which you can use to obtain
    -- additional results.
    --
    -- The value you specify has to be at least 1, and can be no more than 50.
    ListCustomVerificationEmailTemplates -> Maybe Int
pageSize :: Prelude.Maybe Prelude.Int
  }
  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' - A token returned from a previous call to
-- @ListCustomVerificationEmailTemplates@ to indicate the position in the
-- list of custom verification email templates.
--
-- 'pageSize', 'listCustomVerificationEmailTemplates_pageSize' - The number of results to show in a single call to
-- @ListCustomVerificationEmailTemplates@. If the number of results is
-- larger than the number you specified in this parameter, then the
-- response includes a @NextToken@ element, which you can use to obtain
-- additional results.
--
-- The value you specify has to be at least 1, and can be no more than 50.
newListCustomVerificationEmailTemplates ::
  ListCustomVerificationEmailTemplates
newListCustomVerificationEmailTemplates :: ListCustomVerificationEmailTemplates
newListCustomVerificationEmailTemplates =
  ListCustomVerificationEmailTemplates' :: Maybe Text -> Maybe Int -> ListCustomVerificationEmailTemplates
ListCustomVerificationEmailTemplates'
    { $sel:nextToken:ListCustomVerificationEmailTemplates' :: Maybe Text
nextToken =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:pageSize:ListCustomVerificationEmailTemplates' :: Maybe Int
pageSize = Maybe Int
forall a. Maybe a
Prelude.Nothing
    }

-- | A token returned from a previous call to
-- @ListCustomVerificationEmailTemplates@ to indicate the position in the
-- list of custom verification email templates.
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 number of results to show in a single call to
-- @ListCustomVerificationEmailTemplates@. If the number of results is
-- larger than the number you specified in this parameter, then the
-- response includes a @NextToken@ element, which you can use to obtain
-- additional results.
--
-- The value you specify has to be at least 1, and can be no more than 50.
listCustomVerificationEmailTemplates_pageSize :: Lens.Lens' ListCustomVerificationEmailTemplates (Prelude.Maybe Prelude.Int)
listCustomVerificationEmailTemplates_pageSize :: (Maybe Int -> f (Maybe Int))
-> ListCustomVerificationEmailTemplates
-> f ListCustomVerificationEmailTemplates
listCustomVerificationEmailTemplates_pageSize = (ListCustomVerificationEmailTemplates -> Maybe Int)
-> (ListCustomVerificationEmailTemplates
    -> Maybe Int -> ListCustomVerificationEmailTemplates)
-> Lens
     ListCustomVerificationEmailTemplates
     ListCustomVerificationEmailTemplates
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplates' {Maybe Int
pageSize :: Maybe Int
$sel:pageSize:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Int
pageSize} -> Maybe Int
pageSize) (\s :: ListCustomVerificationEmailTemplates
s@ListCustomVerificationEmailTemplates' {} Maybe Int
a -> ListCustomVerificationEmailTemplates
s {$sel:pageSize:ListCustomVerificationEmailTemplates' :: Maybe Int
pageSize = Maybe Int
a} :: ListCustomVerificationEmailTemplates)

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.get Service
defaultService
  response :: Logger
-> Service
-> Proxy ListCustomVerificationEmailTemplates
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ListCustomVerificationEmailTemplates)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either
      String (AWSResponse ListCustomVerificationEmailTemplates))
-> Logger
-> Service
-> Proxy ListCustomVerificationEmailTemplates
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ListCustomVerificationEmailTemplates)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe [CustomVerificationEmailTemplateMetadata]
-> Int
-> ListCustomVerificationEmailTemplatesResponse
ListCustomVerificationEmailTemplatesResponse'
            (Maybe Text
 -> Maybe [CustomVerificationEmailTemplateMetadata]
 -> Int
 -> ListCustomVerificationEmailTemplatesResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe [CustomVerificationEmailTemplateMetadata]
      -> Int -> ListCustomVerificationEmailTemplatesResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NextToken")
              Either
  String
  (Maybe [CustomVerificationEmailTemplateMetadata]
   -> Int -> ListCustomVerificationEmailTemplatesResponse)
-> Either String (Maybe [CustomVerificationEmailTemplateMetadata])
-> Either
     String (Int -> ListCustomVerificationEmailTemplatesResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Either
     String (Maybe (Maybe [CustomVerificationEmailTemplateMetadata]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CustomVerificationEmailTemplates"
                              Either
  String (Maybe (Maybe [CustomVerificationEmailTemplateMetadata]))
-> Maybe [CustomVerificationEmailTemplateMetadata]
-> Either String (Maybe [CustomVerificationEmailTemplateMetadata])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [CustomVerificationEmailTemplateMetadata]
forall a. Monoid a => a
Prelude.mempty
                          )
              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] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance
  Core.ToPath
    ListCustomVerificationEmailTemplates
  where
  toPath :: ListCustomVerificationEmailTemplates -> ByteString
toPath =
    ByteString -> ListCustomVerificationEmailTemplates -> ByteString
forall a b. a -> b -> a
Prelude.const
      ByteString
"/v2/email/custom-verification-email-templates"

instance
  Core.ToQuery
    ListCustomVerificationEmailTemplates
  where
  toQuery :: ListCustomVerificationEmailTemplates -> QueryString
toQuery ListCustomVerificationEmailTemplates' {Maybe Int
Maybe Text
pageSize :: Maybe Int
nextToken :: Maybe Text
$sel:pageSize:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Int
$sel:nextToken:ListCustomVerificationEmailTemplates' :: ListCustomVerificationEmailTemplates -> Maybe Text
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"NextToken" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
nextToken,
        ByteString
"PageSize" ByteString -> Maybe Int -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Int
pageSize
      ]

-- | The following elements are returned by the service.
--
-- /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 @ListCustomVerificationEmailTemplates@ 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 [CustomVerificationEmailTemplateMetadata]
customVerificationEmailTemplates :: Prelude.Maybe [CustomVerificationEmailTemplateMetadata],
    -- | 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 @ListCustomVerificationEmailTemplates@ 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 [CustomVerificationEmailTemplateMetadata]
-> Int
-> ListCustomVerificationEmailTemplatesResponse
ListCustomVerificationEmailTemplatesResponse'
      { $sel:nextToken:ListCustomVerificationEmailTemplatesResponse' :: Maybe Text
nextToken =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:customVerificationEmailTemplates:ListCustomVerificationEmailTemplatesResponse' :: Maybe [CustomVerificationEmailTemplateMetadata]
customVerificationEmailTemplates =
          Maybe [CustomVerificationEmailTemplateMetadata]
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 @ListCustomVerificationEmailTemplates@ 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
     ListCustomVerificationEmailTemplatesResponse
     (Maybe Text)
     (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 [CustomVerificationEmailTemplateMetadata])
listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates :: (Maybe [CustomVerificationEmailTemplateMetadata]
 -> f (Maybe [CustomVerificationEmailTemplateMetadata]))
-> ListCustomVerificationEmailTemplatesResponse
-> f ListCustomVerificationEmailTemplatesResponse
listCustomVerificationEmailTemplatesResponse_customVerificationEmailTemplates = (ListCustomVerificationEmailTemplatesResponse
 -> Maybe [CustomVerificationEmailTemplateMetadata])
-> (ListCustomVerificationEmailTemplatesResponse
    -> Maybe [CustomVerificationEmailTemplateMetadata]
    -> ListCustomVerificationEmailTemplatesResponse)
-> Lens
     ListCustomVerificationEmailTemplatesResponse
     ListCustomVerificationEmailTemplatesResponse
     (Maybe [CustomVerificationEmailTemplateMetadata])
     (Maybe [CustomVerificationEmailTemplateMetadata])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCustomVerificationEmailTemplatesResponse' {Maybe [CustomVerificationEmailTemplateMetadata]
customVerificationEmailTemplates :: Maybe [CustomVerificationEmailTemplateMetadata]
$sel:customVerificationEmailTemplates:ListCustomVerificationEmailTemplatesResponse' :: ListCustomVerificationEmailTemplatesResponse
-> Maybe [CustomVerificationEmailTemplateMetadata]
customVerificationEmailTemplates} -> Maybe [CustomVerificationEmailTemplateMetadata]
customVerificationEmailTemplates) (\s :: ListCustomVerificationEmailTemplatesResponse
s@ListCustomVerificationEmailTemplatesResponse' {} Maybe [CustomVerificationEmailTemplateMetadata]
a -> ListCustomVerificationEmailTemplatesResponse
s {$sel:customVerificationEmailTemplates:ListCustomVerificationEmailTemplatesResponse' :: Maybe [CustomVerificationEmailTemplateMetadata]
customVerificationEmailTemplates = Maybe [CustomVerificationEmailTemplateMetadata]
a} :: ListCustomVerificationEmailTemplatesResponse) ((Maybe [CustomVerificationEmailTemplateMetadata]
  -> f (Maybe [CustomVerificationEmailTemplateMetadata]))
 -> ListCustomVerificationEmailTemplatesResponse
 -> f ListCustomVerificationEmailTemplatesResponse)
-> ((Maybe [CustomVerificationEmailTemplateMetadata]
     -> f (Maybe [CustomVerificationEmailTemplateMetadata]))
    -> Maybe [CustomVerificationEmailTemplateMetadata]
    -> f (Maybe [CustomVerificationEmailTemplateMetadata]))
-> (Maybe [CustomVerificationEmailTemplateMetadata]
    -> f (Maybe [CustomVerificationEmailTemplateMetadata]))
-> ListCustomVerificationEmailTemplatesResponse
-> f ListCustomVerificationEmailTemplatesResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [CustomVerificationEmailTemplateMetadata]
  [CustomVerificationEmailTemplateMetadata]
  [CustomVerificationEmailTemplateMetadata]
  [CustomVerificationEmailTemplateMetadata]
-> Iso
     (Maybe [CustomVerificationEmailTemplateMetadata])
     (Maybe [CustomVerificationEmailTemplateMetadata])
     (Maybe [CustomVerificationEmailTemplateMetadata])
     (Maybe [CustomVerificationEmailTemplateMetadata])
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
  [CustomVerificationEmailTemplateMetadata]
  [CustomVerificationEmailTemplateMetadata]
  [CustomVerificationEmailTemplateMetadata]
  [CustomVerificationEmailTemplateMetadata]
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