{-# 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.Route53Domains.ResendContactReachabilityEmail
-- 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)
--
-- For operations that require confirmation that the email address for the
-- registrant contact is valid, such as registering a new domain, this
-- operation resends the confirmation email to the current email address
-- for the registrant contact.
module Amazonka.Route53Domains.ResendContactReachabilityEmail
  ( -- * Creating a Request
    ResendContactReachabilityEmail (..),
    newResendContactReachabilityEmail,

    -- * Request Lenses
    resendContactReachabilityEmail_domainName,

    -- * Destructuring the Response
    ResendContactReachabilityEmailResponse (..),
    newResendContactReachabilityEmailResponse,

    -- * Response Lenses
    resendContactReachabilityEmailResponse_domainName,
    resendContactReachabilityEmailResponse_emailAddress,
    resendContactReachabilityEmailResponse_isAlreadyVerified,
    resendContactReachabilityEmailResponse_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.Route53Domains.Types

-- | /See:/ 'newResendContactReachabilityEmail' smart constructor.
data ResendContactReachabilityEmail = ResendContactReachabilityEmail'
  { -- | The name of the domain for which you want Route 53 to resend a
    -- confirmation email to the registrant contact.
    ResendContactReachabilityEmail -> Maybe Text
domainName :: Prelude.Maybe Prelude.Text
  }
  deriving (ResendContactReachabilityEmail
-> ResendContactReachabilityEmail -> Bool
(ResendContactReachabilityEmail
 -> ResendContactReachabilityEmail -> Bool)
-> (ResendContactReachabilityEmail
    -> ResendContactReachabilityEmail -> Bool)
-> Eq ResendContactReachabilityEmail
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResendContactReachabilityEmail
-> ResendContactReachabilityEmail -> Bool
$c/= :: ResendContactReachabilityEmail
-> ResendContactReachabilityEmail -> Bool
== :: ResendContactReachabilityEmail
-> ResendContactReachabilityEmail -> Bool
$c== :: ResendContactReachabilityEmail
-> ResendContactReachabilityEmail -> Bool
Prelude.Eq, ReadPrec [ResendContactReachabilityEmail]
ReadPrec ResendContactReachabilityEmail
Int -> ReadS ResendContactReachabilityEmail
ReadS [ResendContactReachabilityEmail]
(Int -> ReadS ResendContactReachabilityEmail)
-> ReadS [ResendContactReachabilityEmail]
-> ReadPrec ResendContactReachabilityEmail
-> ReadPrec [ResendContactReachabilityEmail]
-> Read ResendContactReachabilityEmail
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResendContactReachabilityEmail]
$creadListPrec :: ReadPrec [ResendContactReachabilityEmail]
readPrec :: ReadPrec ResendContactReachabilityEmail
$creadPrec :: ReadPrec ResendContactReachabilityEmail
readList :: ReadS [ResendContactReachabilityEmail]
$creadList :: ReadS [ResendContactReachabilityEmail]
readsPrec :: Int -> ReadS ResendContactReachabilityEmail
$creadsPrec :: Int -> ReadS ResendContactReachabilityEmail
Prelude.Read, Int -> ResendContactReachabilityEmail -> ShowS
[ResendContactReachabilityEmail] -> ShowS
ResendContactReachabilityEmail -> String
(Int -> ResendContactReachabilityEmail -> ShowS)
-> (ResendContactReachabilityEmail -> String)
-> ([ResendContactReachabilityEmail] -> ShowS)
-> Show ResendContactReachabilityEmail
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResendContactReachabilityEmail] -> ShowS
$cshowList :: [ResendContactReachabilityEmail] -> ShowS
show :: ResendContactReachabilityEmail -> String
$cshow :: ResendContactReachabilityEmail -> String
showsPrec :: Int -> ResendContactReachabilityEmail -> ShowS
$cshowsPrec :: Int -> ResendContactReachabilityEmail -> ShowS
Prelude.Show, (forall x.
 ResendContactReachabilityEmail
 -> Rep ResendContactReachabilityEmail x)
-> (forall x.
    Rep ResendContactReachabilityEmail x
    -> ResendContactReachabilityEmail)
-> Generic ResendContactReachabilityEmail
forall x.
Rep ResendContactReachabilityEmail x
-> ResendContactReachabilityEmail
forall x.
ResendContactReachabilityEmail
-> Rep ResendContactReachabilityEmail x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ResendContactReachabilityEmail x
-> ResendContactReachabilityEmail
$cfrom :: forall x.
ResendContactReachabilityEmail
-> Rep ResendContactReachabilityEmail x
Prelude.Generic)

-- |
-- Create a value of 'ResendContactReachabilityEmail' 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:
--
-- 'domainName', 'resendContactReachabilityEmail_domainName' - The name of the domain for which you want Route 53 to resend a
-- confirmation email to the registrant contact.
newResendContactReachabilityEmail ::
  ResendContactReachabilityEmail
newResendContactReachabilityEmail :: ResendContactReachabilityEmail
newResendContactReachabilityEmail =
  ResendContactReachabilityEmail' :: Maybe Text -> ResendContactReachabilityEmail
ResendContactReachabilityEmail'
    { $sel:domainName:ResendContactReachabilityEmail' :: Maybe Text
domainName =
        Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The name of the domain for which you want Route 53 to resend a
-- confirmation email to the registrant contact.
resendContactReachabilityEmail_domainName :: Lens.Lens' ResendContactReachabilityEmail (Prelude.Maybe Prelude.Text)
resendContactReachabilityEmail_domainName :: (Maybe Text -> f (Maybe Text))
-> ResendContactReachabilityEmail
-> f ResendContactReachabilityEmail
resendContactReachabilityEmail_domainName = (ResendContactReachabilityEmail -> Maybe Text)
-> (ResendContactReachabilityEmail
    -> Maybe Text -> ResendContactReachabilityEmail)
-> Lens
     ResendContactReachabilityEmail
     ResendContactReachabilityEmail
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResendContactReachabilityEmail' {Maybe Text
domainName :: Maybe Text
$sel:domainName:ResendContactReachabilityEmail' :: ResendContactReachabilityEmail -> Maybe Text
domainName} -> Maybe Text
domainName) (\s :: ResendContactReachabilityEmail
s@ResendContactReachabilityEmail' {} Maybe Text
a -> ResendContactReachabilityEmail
s {$sel:domainName:ResendContactReachabilityEmail' :: Maybe Text
domainName = Maybe Text
a} :: ResendContactReachabilityEmail)

instance
  Core.AWSRequest
    ResendContactReachabilityEmail
  where
  type
    AWSResponse ResendContactReachabilityEmail =
      ResendContactReachabilityEmailResponse
  request :: ResendContactReachabilityEmail
-> Request ResendContactReachabilityEmail
request = Service
-> ResendContactReachabilityEmail
-> Request ResendContactReachabilityEmail
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy ResendContactReachabilityEmail
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ResendContactReachabilityEmail)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse ResendContactReachabilityEmail))
-> Logger
-> Service
-> Proxy ResendContactReachabilityEmail
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ResendContactReachabilityEmail)))
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 Text
-> Maybe Bool
-> Int
-> ResendContactReachabilityEmailResponse
ResendContactReachabilityEmailResponse'
            (Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Int
 -> ResendContactReachabilityEmailResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Bool -> Int -> ResendContactReachabilityEmailResponse)
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
"domainName")
            Either
  String
  (Maybe Text
   -> Maybe Bool -> Int -> ResendContactReachabilityEmailResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Bool -> Int -> ResendContactReachabilityEmailResponse)
forall (f :: * -> *) a b. Applicative f => 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
"emailAddress")
            Either
  String
  (Maybe Bool -> Int -> ResendContactReachabilityEmailResponse)
-> Either String (Maybe Bool)
-> Either String (Int -> ResendContactReachabilityEmailResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"isAlreadyVerified")
            Either String (Int -> ResendContactReachabilityEmailResponse)
-> Either String Int
-> Either String ResendContactReachabilityEmailResponse
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
    ResendContactReachabilityEmail

instance
  Prelude.NFData
    ResendContactReachabilityEmail

instance
  Core.ToHeaders
    ResendContactReachabilityEmail
  where
  toHeaders :: ResendContactReachabilityEmail -> ResponseHeaders
toHeaders =
    ResponseHeaders
-> ResendContactReachabilityEmail -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"Route53Domains_v20140515.ResendContactReachabilityEmail" ::
                          Prelude.ByteString
                      ),
            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.ToJSON ResendContactReachabilityEmail where
  toJSON :: ResendContactReachabilityEmail -> Value
toJSON ResendContactReachabilityEmail' {Maybe Text
domainName :: Maybe Text
$sel:domainName:ResendContactReachabilityEmail' :: ResendContactReachabilityEmail -> Maybe Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [(Text
"domainName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
domainName]
      )

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

instance Core.ToQuery ResendContactReachabilityEmail where
  toQuery :: ResendContactReachabilityEmail -> QueryString
toQuery = QueryString -> ResendContactReachabilityEmail -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newResendContactReachabilityEmailResponse' smart constructor.
data ResendContactReachabilityEmailResponse = ResendContactReachabilityEmailResponse'
  { -- | The domain name for which you requested a confirmation email.
    ResendContactReachabilityEmailResponse -> Maybe Text
domainName :: Prelude.Maybe Prelude.Text,
    -- | The email address for the registrant contact at the time that we sent
    -- the verification email.
    ResendContactReachabilityEmailResponse -> Maybe Text
emailAddress :: Prelude.Maybe Prelude.Text,
    -- | @True@ if the email address for the registrant contact has already been
    -- verified, and @false@ otherwise. If the email address has already been
    -- verified, we don\'t send another confirmation email.
    ResendContactReachabilityEmailResponse -> Maybe Bool
isAlreadyVerified :: Prelude.Maybe Prelude.Bool,
    -- | The response's http status code.
    ResendContactReachabilityEmailResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ResendContactReachabilityEmailResponse
-> ResendContactReachabilityEmailResponse -> Bool
(ResendContactReachabilityEmailResponse
 -> ResendContactReachabilityEmailResponse -> Bool)
-> (ResendContactReachabilityEmailResponse
    -> ResendContactReachabilityEmailResponse -> Bool)
-> Eq ResendContactReachabilityEmailResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResendContactReachabilityEmailResponse
-> ResendContactReachabilityEmailResponse -> Bool
$c/= :: ResendContactReachabilityEmailResponse
-> ResendContactReachabilityEmailResponse -> Bool
== :: ResendContactReachabilityEmailResponse
-> ResendContactReachabilityEmailResponse -> Bool
$c== :: ResendContactReachabilityEmailResponse
-> ResendContactReachabilityEmailResponse -> Bool
Prelude.Eq, ReadPrec [ResendContactReachabilityEmailResponse]
ReadPrec ResendContactReachabilityEmailResponse
Int -> ReadS ResendContactReachabilityEmailResponse
ReadS [ResendContactReachabilityEmailResponse]
(Int -> ReadS ResendContactReachabilityEmailResponse)
-> ReadS [ResendContactReachabilityEmailResponse]
-> ReadPrec ResendContactReachabilityEmailResponse
-> ReadPrec [ResendContactReachabilityEmailResponse]
-> Read ResendContactReachabilityEmailResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResendContactReachabilityEmailResponse]
$creadListPrec :: ReadPrec [ResendContactReachabilityEmailResponse]
readPrec :: ReadPrec ResendContactReachabilityEmailResponse
$creadPrec :: ReadPrec ResendContactReachabilityEmailResponse
readList :: ReadS [ResendContactReachabilityEmailResponse]
$creadList :: ReadS [ResendContactReachabilityEmailResponse]
readsPrec :: Int -> ReadS ResendContactReachabilityEmailResponse
$creadsPrec :: Int -> ReadS ResendContactReachabilityEmailResponse
Prelude.Read, Int -> ResendContactReachabilityEmailResponse -> ShowS
[ResendContactReachabilityEmailResponse] -> ShowS
ResendContactReachabilityEmailResponse -> String
(Int -> ResendContactReachabilityEmailResponse -> ShowS)
-> (ResendContactReachabilityEmailResponse -> String)
-> ([ResendContactReachabilityEmailResponse] -> ShowS)
-> Show ResendContactReachabilityEmailResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResendContactReachabilityEmailResponse] -> ShowS
$cshowList :: [ResendContactReachabilityEmailResponse] -> ShowS
show :: ResendContactReachabilityEmailResponse -> String
$cshow :: ResendContactReachabilityEmailResponse -> String
showsPrec :: Int -> ResendContactReachabilityEmailResponse -> ShowS
$cshowsPrec :: Int -> ResendContactReachabilityEmailResponse -> ShowS
Prelude.Show, (forall x.
 ResendContactReachabilityEmailResponse
 -> Rep ResendContactReachabilityEmailResponse x)
-> (forall x.
    Rep ResendContactReachabilityEmailResponse x
    -> ResendContactReachabilityEmailResponse)
-> Generic ResendContactReachabilityEmailResponse
forall x.
Rep ResendContactReachabilityEmailResponse x
-> ResendContactReachabilityEmailResponse
forall x.
ResendContactReachabilityEmailResponse
-> Rep ResendContactReachabilityEmailResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ResendContactReachabilityEmailResponse x
-> ResendContactReachabilityEmailResponse
$cfrom :: forall x.
ResendContactReachabilityEmailResponse
-> Rep ResendContactReachabilityEmailResponse x
Prelude.Generic)

-- |
-- Create a value of 'ResendContactReachabilityEmailResponse' 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:
--
-- 'domainName', 'resendContactReachabilityEmailResponse_domainName' - The domain name for which you requested a confirmation email.
--
-- 'emailAddress', 'resendContactReachabilityEmailResponse_emailAddress' - The email address for the registrant contact at the time that we sent
-- the verification email.
--
-- 'isAlreadyVerified', 'resendContactReachabilityEmailResponse_isAlreadyVerified' - @True@ if the email address for the registrant contact has already been
-- verified, and @false@ otherwise. If the email address has already been
-- verified, we don\'t send another confirmation email.
--
-- 'httpStatus', 'resendContactReachabilityEmailResponse_httpStatus' - The response's http status code.
newResendContactReachabilityEmailResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ResendContactReachabilityEmailResponse
newResendContactReachabilityEmailResponse :: Int -> ResendContactReachabilityEmailResponse
newResendContactReachabilityEmailResponse
  Int
pHttpStatus_ =
    ResendContactReachabilityEmailResponse' :: Maybe Text
-> Maybe Text
-> Maybe Bool
-> Int
-> ResendContactReachabilityEmailResponse
ResendContactReachabilityEmailResponse'
      { $sel:domainName:ResendContactReachabilityEmailResponse' :: Maybe Text
domainName =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:emailAddress:ResendContactReachabilityEmailResponse' :: Maybe Text
emailAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:isAlreadyVerified:ResendContactReachabilityEmailResponse' :: Maybe Bool
isAlreadyVerified = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ResendContactReachabilityEmailResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The domain name for which you requested a confirmation email.
resendContactReachabilityEmailResponse_domainName :: Lens.Lens' ResendContactReachabilityEmailResponse (Prelude.Maybe Prelude.Text)
resendContactReachabilityEmailResponse_domainName :: (Maybe Text -> f (Maybe Text))
-> ResendContactReachabilityEmailResponse
-> f ResendContactReachabilityEmailResponse
resendContactReachabilityEmailResponse_domainName = (ResendContactReachabilityEmailResponse -> Maybe Text)
-> (ResendContactReachabilityEmailResponse
    -> Maybe Text -> ResendContactReachabilityEmailResponse)
-> Lens
     ResendContactReachabilityEmailResponse
     ResendContactReachabilityEmailResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResendContactReachabilityEmailResponse' {Maybe Text
domainName :: Maybe Text
$sel:domainName:ResendContactReachabilityEmailResponse' :: ResendContactReachabilityEmailResponse -> Maybe Text
domainName} -> Maybe Text
domainName) (\s :: ResendContactReachabilityEmailResponse
s@ResendContactReachabilityEmailResponse' {} Maybe Text
a -> ResendContactReachabilityEmailResponse
s {$sel:domainName:ResendContactReachabilityEmailResponse' :: Maybe Text
domainName = Maybe Text
a} :: ResendContactReachabilityEmailResponse)

-- | The email address for the registrant contact at the time that we sent
-- the verification email.
resendContactReachabilityEmailResponse_emailAddress :: Lens.Lens' ResendContactReachabilityEmailResponse (Prelude.Maybe Prelude.Text)
resendContactReachabilityEmailResponse_emailAddress :: (Maybe Text -> f (Maybe Text))
-> ResendContactReachabilityEmailResponse
-> f ResendContactReachabilityEmailResponse
resendContactReachabilityEmailResponse_emailAddress = (ResendContactReachabilityEmailResponse -> Maybe Text)
-> (ResendContactReachabilityEmailResponse
    -> Maybe Text -> ResendContactReachabilityEmailResponse)
-> Lens
     ResendContactReachabilityEmailResponse
     ResendContactReachabilityEmailResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResendContactReachabilityEmailResponse' {Maybe Text
emailAddress :: Maybe Text
$sel:emailAddress:ResendContactReachabilityEmailResponse' :: ResendContactReachabilityEmailResponse -> Maybe Text
emailAddress} -> Maybe Text
emailAddress) (\s :: ResendContactReachabilityEmailResponse
s@ResendContactReachabilityEmailResponse' {} Maybe Text
a -> ResendContactReachabilityEmailResponse
s {$sel:emailAddress:ResendContactReachabilityEmailResponse' :: Maybe Text
emailAddress = Maybe Text
a} :: ResendContactReachabilityEmailResponse)

-- | @True@ if the email address for the registrant contact has already been
-- verified, and @false@ otherwise. If the email address has already been
-- verified, we don\'t send another confirmation email.
resendContactReachabilityEmailResponse_isAlreadyVerified :: Lens.Lens' ResendContactReachabilityEmailResponse (Prelude.Maybe Prelude.Bool)
resendContactReachabilityEmailResponse_isAlreadyVerified :: (Maybe Bool -> f (Maybe Bool))
-> ResendContactReachabilityEmailResponse
-> f ResendContactReachabilityEmailResponse
resendContactReachabilityEmailResponse_isAlreadyVerified = (ResendContactReachabilityEmailResponse -> Maybe Bool)
-> (ResendContactReachabilityEmailResponse
    -> Maybe Bool -> ResendContactReachabilityEmailResponse)
-> Lens
     ResendContactReachabilityEmailResponse
     ResendContactReachabilityEmailResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResendContactReachabilityEmailResponse' {Maybe Bool
isAlreadyVerified :: Maybe Bool
$sel:isAlreadyVerified:ResendContactReachabilityEmailResponse' :: ResendContactReachabilityEmailResponse -> Maybe Bool
isAlreadyVerified} -> Maybe Bool
isAlreadyVerified) (\s :: ResendContactReachabilityEmailResponse
s@ResendContactReachabilityEmailResponse' {} Maybe Bool
a -> ResendContactReachabilityEmailResponse
s {$sel:isAlreadyVerified:ResendContactReachabilityEmailResponse' :: Maybe Bool
isAlreadyVerified = Maybe Bool
a} :: ResendContactReachabilityEmailResponse)

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

instance
  Prelude.NFData
    ResendContactReachabilityEmailResponse