amazonka-sesv2-2.0: gen/Amazonka/SESV2/PutDeliverabilityDashboardOption.hs
{-# 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.PutDeliverabilityDashboardOption
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Enable or disable the Deliverability dashboard. When you enable the
-- Deliverability dashboard, you gain access to reputation, deliverability,
-- and other metrics for the domains that you use to send email. You also
-- gain the ability to perform predictive inbox placement tests.
--
-- When you use the Deliverability dashboard, you pay a monthly
-- subscription charge, in addition to any other fees that you accrue by
-- using Amazon SES and other Amazon Web Services services. For more
-- information about the features and cost of a Deliverability dashboard
-- subscription, see
-- <http://aws.amazon.com/ses/pricing/ Amazon SES Pricing>.
module Amazonka.SESV2.PutDeliverabilityDashboardOption
( -- * Creating a Request
PutDeliverabilityDashboardOption (..),
newPutDeliverabilityDashboardOption,
-- * Request Lenses
putDeliverabilityDashboardOption_subscribedDomains,
putDeliverabilityDashboardOption_dashboardEnabled,
-- * Destructuring the Response
PutDeliverabilityDashboardOptionResponse (..),
newPutDeliverabilityDashboardOptionResponse,
-- * Response Lenses
putDeliverabilityDashboardOptionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SESV2.Types
-- | Enable or disable the Deliverability dashboard. When you enable the
-- Deliverability dashboard, you gain access to reputation, deliverability,
-- and other metrics for the domains that you use to send email using
-- Amazon SES API v2. You also gain the ability to perform predictive inbox
-- placement tests.
--
-- When you use the Deliverability dashboard, you pay a monthly
-- subscription charge, in addition to any other fees that you accrue by
-- using Amazon SES and other Amazon Web Services services. For more
-- information about the features and cost of a Deliverability dashboard
-- subscription, see
-- <http://aws.amazon.com/pinpoint/pricing/ Amazon Pinpoint Pricing>.
--
-- /See:/ 'newPutDeliverabilityDashboardOption' smart constructor.
data PutDeliverabilityDashboardOption = PutDeliverabilityDashboardOption'
{ -- | An array of objects, one for each verified domain that you use to send
-- email and enabled the Deliverability dashboard for.
subscribedDomains :: Prelude.Maybe [DomainDeliverabilityTrackingOption],
-- | Specifies whether to enable the Deliverability dashboard. To enable the
-- dashboard, set this value to @true@.
dashboardEnabled :: Prelude.Bool
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'PutDeliverabilityDashboardOption' 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:
--
-- 'subscribedDomains', 'putDeliverabilityDashboardOption_subscribedDomains' - An array of objects, one for each verified domain that you use to send
-- email and enabled the Deliverability dashboard for.
--
-- 'dashboardEnabled', 'putDeliverabilityDashboardOption_dashboardEnabled' - Specifies whether to enable the Deliverability dashboard. To enable the
-- dashboard, set this value to @true@.
newPutDeliverabilityDashboardOption ::
-- | 'dashboardEnabled'
Prelude.Bool ->
PutDeliverabilityDashboardOption
newPutDeliverabilityDashboardOption
pDashboardEnabled_ =
PutDeliverabilityDashboardOption'
{ subscribedDomains =
Prelude.Nothing,
dashboardEnabled = pDashboardEnabled_
}
-- | An array of objects, one for each verified domain that you use to send
-- email and enabled the Deliverability dashboard for.
putDeliverabilityDashboardOption_subscribedDomains :: Lens.Lens' PutDeliverabilityDashboardOption (Prelude.Maybe [DomainDeliverabilityTrackingOption])
putDeliverabilityDashboardOption_subscribedDomains = Lens.lens (\PutDeliverabilityDashboardOption' {subscribedDomains} -> subscribedDomains) (\s@PutDeliverabilityDashboardOption' {} a -> s {subscribedDomains = a} :: PutDeliverabilityDashboardOption) Prelude.. Lens.mapping Lens.coerced
-- | Specifies whether to enable the Deliverability dashboard. To enable the
-- dashboard, set this value to @true@.
putDeliverabilityDashboardOption_dashboardEnabled :: Lens.Lens' PutDeliverabilityDashboardOption Prelude.Bool
putDeliverabilityDashboardOption_dashboardEnabled = Lens.lens (\PutDeliverabilityDashboardOption' {dashboardEnabled} -> dashboardEnabled) (\s@PutDeliverabilityDashboardOption' {} a -> s {dashboardEnabled = a} :: PutDeliverabilityDashboardOption)
instance
Core.AWSRequest
PutDeliverabilityDashboardOption
where
type
AWSResponse PutDeliverabilityDashboardOption =
PutDeliverabilityDashboardOptionResponse
request overrides =
Request.putJSON (overrides defaultService)
response =
Response.receiveEmpty
( \s h x ->
PutDeliverabilityDashboardOptionResponse'
Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
)
instance
Prelude.Hashable
PutDeliverabilityDashboardOption
where
hashWithSalt
_salt
PutDeliverabilityDashboardOption' {..} =
_salt
`Prelude.hashWithSalt` subscribedDomains
`Prelude.hashWithSalt` dashboardEnabled
instance
Prelude.NFData
PutDeliverabilityDashboardOption
where
rnf PutDeliverabilityDashboardOption' {..} =
Prelude.rnf subscribedDomains
`Prelude.seq` Prelude.rnf dashboardEnabled
instance
Data.ToHeaders
PutDeliverabilityDashboardOption
where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON PutDeliverabilityDashboardOption where
toJSON PutDeliverabilityDashboardOption' {..} =
Data.object
( Prelude.catMaybes
[ ("SubscribedDomains" Data..=)
Prelude.<$> subscribedDomains,
Prelude.Just
("DashboardEnabled" Data..= dashboardEnabled)
]
)
instance Data.ToPath PutDeliverabilityDashboardOption where
toPath =
Prelude.const "/v2/email/deliverability-dashboard"
instance
Data.ToQuery
PutDeliverabilityDashboardOption
where
toQuery = Prelude.const Prelude.mempty
-- | A response that indicates whether the Deliverability dashboard is
-- enabled.
--
-- /See:/ 'newPutDeliverabilityDashboardOptionResponse' smart constructor.
data PutDeliverabilityDashboardOptionResponse = PutDeliverabilityDashboardOptionResponse'
{ -- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'PutDeliverabilityDashboardOptionResponse' 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:
--
-- 'httpStatus', 'putDeliverabilityDashboardOptionResponse_httpStatus' - The response's http status code.
newPutDeliverabilityDashboardOptionResponse ::
-- | 'httpStatus'
Prelude.Int ->
PutDeliverabilityDashboardOptionResponse
newPutDeliverabilityDashboardOptionResponse
pHttpStatus_ =
PutDeliverabilityDashboardOptionResponse'
{ httpStatus =
pHttpStatus_
}
-- | The response's http status code.
putDeliverabilityDashboardOptionResponse_httpStatus :: Lens.Lens' PutDeliverabilityDashboardOptionResponse Prelude.Int
putDeliverabilityDashboardOptionResponse_httpStatus = Lens.lens (\PutDeliverabilityDashboardOptionResponse' {httpStatus} -> httpStatus) (\s@PutDeliverabilityDashboardOptionResponse' {} a -> s {httpStatus = a} :: PutDeliverabilityDashboardOptionResponse)
instance
Prelude.NFData
PutDeliverabilityDashboardOptionResponse
where
rnf PutDeliverabilityDashboardOptionResponse' {..} =
Prelude.rnf httpStatus