{-# 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.PinpointEmail.GetAccount
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Obtain information about the email-sending status and capabilities of
-- your Amazon Pinpoint account in the current AWS Region.
module Amazonka.PinpointEmail.GetAccount
  ( -- * Creating a Request
    GetAccount (..),
    newGetAccount,

    -- * Destructuring the Response
    GetAccountResponse (..),
    newGetAccountResponse,

    -- * Response Lenses
    getAccountResponse_dedicatedIpAutoWarmupEnabled,
    getAccountResponse_enforcementStatus,
    getAccountResponse_productionAccessEnabled,
    getAccountResponse_sendQuota,
    getAccountResponse_sendingEnabled,
    getAccountResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.PinpointEmail.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | A request to obtain information about the email-sending capabilities of
-- your Amazon Pinpoint account.
--
-- /See:/ 'newGetAccount' smart constructor.
data GetAccount = GetAccount'
  {
  }
  deriving (GetAccount -> GetAccount -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccount -> GetAccount -> Bool
$c/= :: GetAccount -> GetAccount -> Bool
== :: GetAccount -> GetAccount -> Bool
$c== :: GetAccount -> GetAccount -> Bool
Prelude.Eq, ReadPrec [GetAccount]
ReadPrec GetAccount
Int -> ReadS GetAccount
ReadS [GetAccount]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccount]
$creadListPrec :: ReadPrec [GetAccount]
readPrec :: ReadPrec GetAccount
$creadPrec :: ReadPrec GetAccount
readList :: ReadS [GetAccount]
$creadList :: ReadS [GetAccount]
readsPrec :: Int -> ReadS GetAccount
$creadsPrec :: Int -> ReadS GetAccount
Prelude.Read, Int -> GetAccount -> ShowS
[GetAccount] -> ShowS
GetAccount -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccount] -> ShowS
$cshowList :: [GetAccount] -> ShowS
show :: GetAccount -> String
$cshow :: GetAccount -> String
showsPrec :: Int -> GetAccount -> ShowS
$cshowsPrec :: Int -> GetAccount -> ShowS
Prelude.Show, forall x. Rep GetAccount x -> GetAccount
forall x. GetAccount -> Rep GetAccount x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccount x -> GetAccount
$cfrom :: forall x. GetAccount -> Rep GetAccount x
Prelude.Generic)

-- |
-- Create a value of 'GetAccount' 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.
newGetAccount ::
  GetAccount
newGetAccount :: GetAccount
newGetAccount = GetAccount
GetAccount'

instance Core.AWSRequest GetAccount where
  type AWSResponse GetAccount = GetAccountResponse
  request :: (Service -> Service) -> GetAccount -> Request GetAccount
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetAccount
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetAccount)))
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 ->
          Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe SendQuota
-> Maybe Bool
-> Int
-> GetAccountResponse
GetAccountResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DedicatedIpAutoWarmupEnabled")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"EnforcementStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ProductionAccessEnabled")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SendQuota")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SendingEnabled")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable GetAccount where
  hashWithSalt :: Int -> GetAccount -> Int
hashWithSalt Int
_salt GetAccount
_ =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()

instance Prelude.NFData GetAccount where
  rnf :: GetAccount -> ()
rnf GetAccount
_ = ()

instance Data.ToHeaders GetAccount where
  toHeaders :: GetAccount -> 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.ToPath GetAccount where
  toPath :: GetAccount -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/email/account"

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

-- | A list of details about the email-sending capabilities of your Amazon
-- Pinpoint account in the current AWS Region.
--
-- /See:/ 'newGetAccountResponse' smart constructor.
data GetAccountResponse = GetAccountResponse'
  { -- | Indicates whether or not the automatic warm-up feature is enabled for
    -- dedicated IP addresses that are associated with your account.
    GetAccountResponse -> Maybe Bool
dedicatedIpAutoWarmupEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The reputation status of your Amazon Pinpoint account. The status can be
    -- one of the following:
    --
    -- -   @HEALTHY@ – There are no reputation-related issues that currently
    --     impact your account.
    --
    -- -   @PROBATION@ – We\'ve identified some issues with your Amazon
    --     Pinpoint account. We\'re placing your account under review while you
    --     work on correcting these issues.
    --
    -- -   @SHUTDOWN@ – Your account\'s ability to send email is currently
    --     paused because of an issue with the email sent from your account.
    --     When you correct the issue, you can contact us and request that your
    --     account\'s ability to send email is resumed.
    GetAccountResponse -> Maybe Text
enforcementStatus :: Prelude.Maybe Prelude.Text,
    -- | Indicates whether or not your account has production access in the
    -- current AWS Region.
    --
    -- If the value is @false@, then your account is in the /sandbox/. When
    -- your account is in the sandbox, you can only send email to verified
    -- identities. Additionally, the maximum number of emails you can send in a
    -- 24-hour period (your sending quota) is 200, and the maximum number of
    -- emails you can send per second (your maximum sending rate) is 1.
    --
    -- If the value is @true@, then your account has production access. When
    -- your account has production access, you can send email to any address.
    -- The sending quota and maximum sending rate for your account vary based
    -- on your specific use case.
    GetAccountResponse -> Maybe Bool
productionAccessEnabled :: Prelude.Maybe Prelude.Bool,
    -- | An object that contains information about the per-day and per-second
    -- sending limits for your Amazon Pinpoint account in the current AWS
    -- Region.
    GetAccountResponse -> Maybe SendQuota
sendQuota :: Prelude.Maybe SendQuota,
    -- | Indicates whether or not email sending is enabled for your Amazon
    -- Pinpoint account in the current AWS Region.
    GetAccountResponse -> Maybe Bool
sendingEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The response's http status code.
    GetAccountResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetAccountResponse -> GetAccountResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccountResponse -> GetAccountResponse -> Bool
$c/= :: GetAccountResponse -> GetAccountResponse -> Bool
== :: GetAccountResponse -> GetAccountResponse -> Bool
$c== :: GetAccountResponse -> GetAccountResponse -> Bool
Prelude.Eq, ReadPrec [GetAccountResponse]
ReadPrec GetAccountResponse
Int -> ReadS GetAccountResponse
ReadS [GetAccountResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccountResponse]
$creadListPrec :: ReadPrec [GetAccountResponse]
readPrec :: ReadPrec GetAccountResponse
$creadPrec :: ReadPrec GetAccountResponse
readList :: ReadS [GetAccountResponse]
$creadList :: ReadS [GetAccountResponse]
readsPrec :: Int -> ReadS GetAccountResponse
$creadsPrec :: Int -> ReadS GetAccountResponse
Prelude.Read, Int -> GetAccountResponse -> ShowS
[GetAccountResponse] -> ShowS
GetAccountResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccountResponse] -> ShowS
$cshowList :: [GetAccountResponse] -> ShowS
show :: GetAccountResponse -> String
$cshow :: GetAccountResponse -> String
showsPrec :: Int -> GetAccountResponse -> ShowS
$cshowsPrec :: Int -> GetAccountResponse -> ShowS
Prelude.Show, forall x. Rep GetAccountResponse x -> GetAccountResponse
forall x. GetAccountResponse -> Rep GetAccountResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccountResponse x -> GetAccountResponse
$cfrom :: forall x. GetAccountResponse -> Rep GetAccountResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetAccountResponse' 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:
--
-- 'dedicatedIpAutoWarmupEnabled', 'getAccountResponse_dedicatedIpAutoWarmupEnabled' - Indicates whether or not the automatic warm-up feature is enabled for
-- dedicated IP addresses that are associated with your account.
--
-- 'enforcementStatus', 'getAccountResponse_enforcementStatus' - The reputation status of your Amazon Pinpoint account. The status can be
-- one of the following:
--
-- -   @HEALTHY@ – There are no reputation-related issues that currently
--     impact your account.
--
-- -   @PROBATION@ – We\'ve identified some issues with your Amazon
--     Pinpoint account. We\'re placing your account under review while you
--     work on correcting these issues.
--
-- -   @SHUTDOWN@ – Your account\'s ability to send email is currently
--     paused because of an issue with the email sent from your account.
--     When you correct the issue, you can contact us and request that your
--     account\'s ability to send email is resumed.
--
-- 'productionAccessEnabled', 'getAccountResponse_productionAccessEnabled' - Indicates whether or not your account has production access in the
-- current AWS Region.
--
-- If the value is @false@, then your account is in the /sandbox/. When
-- your account is in the sandbox, you can only send email to verified
-- identities. Additionally, the maximum number of emails you can send in a
-- 24-hour period (your sending quota) is 200, and the maximum number of
-- emails you can send per second (your maximum sending rate) is 1.
--
-- If the value is @true@, then your account has production access. When
-- your account has production access, you can send email to any address.
-- The sending quota and maximum sending rate for your account vary based
-- on your specific use case.
--
-- 'sendQuota', 'getAccountResponse_sendQuota' - An object that contains information about the per-day and per-second
-- sending limits for your Amazon Pinpoint account in the current AWS
-- Region.
--
-- 'sendingEnabled', 'getAccountResponse_sendingEnabled' - Indicates whether or not email sending is enabled for your Amazon
-- Pinpoint account in the current AWS Region.
--
-- 'httpStatus', 'getAccountResponse_httpStatus' - The response's http status code.
newGetAccountResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetAccountResponse
newGetAccountResponse :: Int -> GetAccountResponse
newGetAccountResponse Int
pHttpStatus_ =
  GetAccountResponse'
    { $sel:dedicatedIpAutoWarmupEnabled:GetAccountResponse' :: Maybe Bool
dedicatedIpAutoWarmupEnabled =
        forall a. Maybe a
Prelude.Nothing,
      $sel:enforcementStatus:GetAccountResponse' :: Maybe Text
enforcementStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:productionAccessEnabled:GetAccountResponse' :: Maybe Bool
productionAccessEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:sendQuota:GetAccountResponse' :: Maybe SendQuota
sendQuota = forall a. Maybe a
Prelude.Nothing,
      $sel:sendingEnabled:GetAccountResponse' :: Maybe Bool
sendingEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetAccountResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Indicates whether or not the automatic warm-up feature is enabled for
-- dedicated IP addresses that are associated with your account.
getAccountResponse_dedicatedIpAutoWarmupEnabled :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Bool)
getAccountResponse_dedicatedIpAutoWarmupEnabled :: Lens' GetAccountResponse (Maybe Bool)
getAccountResponse_dedicatedIpAutoWarmupEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountResponse' {Maybe Bool
dedicatedIpAutoWarmupEnabled :: Maybe Bool
$sel:dedicatedIpAutoWarmupEnabled:GetAccountResponse' :: GetAccountResponse -> Maybe Bool
dedicatedIpAutoWarmupEnabled} -> Maybe Bool
dedicatedIpAutoWarmupEnabled) (\s :: GetAccountResponse
s@GetAccountResponse' {} Maybe Bool
a -> GetAccountResponse
s {$sel:dedicatedIpAutoWarmupEnabled:GetAccountResponse' :: Maybe Bool
dedicatedIpAutoWarmupEnabled = Maybe Bool
a} :: GetAccountResponse)

-- | The reputation status of your Amazon Pinpoint account. The status can be
-- one of the following:
--
-- -   @HEALTHY@ – There are no reputation-related issues that currently
--     impact your account.
--
-- -   @PROBATION@ – We\'ve identified some issues with your Amazon
--     Pinpoint account. We\'re placing your account under review while you
--     work on correcting these issues.
--
-- -   @SHUTDOWN@ – Your account\'s ability to send email is currently
--     paused because of an issue with the email sent from your account.
--     When you correct the issue, you can contact us and request that your
--     account\'s ability to send email is resumed.
getAccountResponse_enforcementStatus :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Text)
getAccountResponse_enforcementStatus :: Lens' GetAccountResponse (Maybe Text)
getAccountResponse_enforcementStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountResponse' {Maybe Text
enforcementStatus :: Maybe Text
$sel:enforcementStatus:GetAccountResponse' :: GetAccountResponse -> Maybe Text
enforcementStatus} -> Maybe Text
enforcementStatus) (\s :: GetAccountResponse
s@GetAccountResponse' {} Maybe Text
a -> GetAccountResponse
s {$sel:enforcementStatus:GetAccountResponse' :: Maybe Text
enforcementStatus = Maybe Text
a} :: GetAccountResponse)

-- | Indicates whether or not your account has production access in the
-- current AWS Region.
--
-- If the value is @false@, then your account is in the /sandbox/. When
-- your account is in the sandbox, you can only send email to verified
-- identities. Additionally, the maximum number of emails you can send in a
-- 24-hour period (your sending quota) is 200, and the maximum number of
-- emails you can send per second (your maximum sending rate) is 1.
--
-- If the value is @true@, then your account has production access. When
-- your account has production access, you can send email to any address.
-- The sending quota and maximum sending rate for your account vary based
-- on your specific use case.
getAccountResponse_productionAccessEnabled :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Bool)
getAccountResponse_productionAccessEnabled :: Lens' GetAccountResponse (Maybe Bool)
getAccountResponse_productionAccessEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountResponse' {Maybe Bool
productionAccessEnabled :: Maybe Bool
$sel:productionAccessEnabled:GetAccountResponse' :: GetAccountResponse -> Maybe Bool
productionAccessEnabled} -> Maybe Bool
productionAccessEnabled) (\s :: GetAccountResponse
s@GetAccountResponse' {} Maybe Bool
a -> GetAccountResponse
s {$sel:productionAccessEnabled:GetAccountResponse' :: Maybe Bool
productionAccessEnabled = Maybe Bool
a} :: GetAccountResponse)

-- | An object that contains information about the per-day and per-second
-- sending limits for your Amazon Pinpoint account in the current AWS
-- Region.
getAccountResponse_sendQuota :: Lens.Lens' GetAccountResponse (Prelude.Maybe SendQuota)
getAccountResponse_sendQuota :: Lens' GetAccountResponse (Maybe SendQuota)
getAccountResponse_sendQuota = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountResponse' {Maybe SendQuota
sendQuota :: Maybe SendQuota
$sel:sendQuota:GetAccountResponse' :: GetAccountResponse -> Maybe SendQuota
sendQuota} -> Maybe SendQuota
sendQuota) (\s :: GetAccountResponse
s@GetAccountResponse' {} Maybe SendQuota
a -> GetAccountResponse
s {$sel:sendQuota:GetAccountResponse' :: Maybe SendQuota
sendQuota = Maybe SendQuota
a} :: GetAccountResponse)

-- | Indicates whether or not email sending is enabled for your Amazon
-- Pinpoint account in the current AWS Region.
getAccountResponse_sendingEnabled :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Bool)
getAccountResponse_sendingEnabled :: Lens' GetAccountResponse (Maybe Bool)
getAccountResponse_sendingEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountResponse' {Maybe Bool
sendingEnabled :: Maybe Bool
$sel:sendingEnabled:GetAccountResponse' :: GetAccountResponse -> Maybe Bool
sendingEnabled} -> Maybe Bool
sendingEnabled) (\s :: GetAccountResponse
s@GetAccountResponse' {} Maybe Bool
a -> GetAccountResponse
s {$sel:sendingEnabled:GetAccountResponse' :: Maybe Bool
sendingEnabled = Maybe Bool
a} :: GetAccountResponse)

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

instance Prelude.NFData GetAccountResponse where
  rnf :: GetAccountResponse -> ()
rnf GetAccountResponse' {Int
Maybe Bool
Maybe Text
Maybe SendQuota
httpStatus :: Int
sendingEnabled :: Maybe Bool
sendQuota :: Maybe SendQuota
productionAccessEnabled :: Maybe Bool
enforcementStatus :: Maybe Text
dedicatedIpAutoWarmupEnabled :: Maybe Bool
$sel:httpStatus:GetAccountResponse' :: GetAccountResponse -> Int
$sel:sendingEnabled:GetAccountResponse' :: GetAccountResponse -> Maybe Bool
$sel:sendQuota:GetAccountResponse' :: GetAccountResponse -> Maybe SendQuota
$sel:productionAccessEnabled:GetAccountResponse' :: GetAccountResponse -> Maybe Bool
$sel:enforcementStatus:GetAccountResponse' :: GetAccountResponse -> Maybe Text
$sel:dedicatedIpAutoWarmupEnabled:GetAccountResponse' :: GetAccountResponse -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dedicatedIpAutoWarmupEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
enforcementStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
productionAccessEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SendQuota
sendQuota
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
sendingEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus