amazonka-pinpoint-email-2.0: gen/Amazonka/PinpointEmail/GetBlacklistReports.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.PinpointEmail.GetBlacklistReports
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieve a list of the blacklists that your dedicated IP addresses
-- appear on.
module Amazonka.PinpointEmail.GetBlacklistReports
( -- * Creating a Request
GetBlacklistReports (..),
newGetBlacklistReports,
-- * Request Lenses
getBlacklistReports_blacklistItemNames,
-- * Destructuring the Response
GetBlacklistReportsResponse (..),
newGetBlacklistReportsResponse,
-- * Response Lenses
getBlacklistReportsResponse_httpStatus,
getBlacklistReportsResponse_blacklistReport,
)
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 retrieve a list of the blacklists that your dedicated IP
-- addresses appear on.
--
-- /See:/ 'newGetBlacklistReports' smart constructor.
data GetBlacklistReports = GetBlacklistReports'
{ -- | A list of IP addresses that you want to retrieve blacklist information
-- about. You can only specify the dedicated IP addresses that you use to
-- send email using Amazon Pinpoint or Amazon SES.
blacklistItemNames :: [Prelude.Text]
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetBlacklistReports' 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:
--
-- 'blacklistItemNames', 'getBlacklistReports_blacklistItemNames' - A list of IP addresses that you want to retrieve blacklist information
-- about. You can only specify the dedicated IP addresses that you use to
-- send email using Amazon Pinpoint or Amazon SES.
newGetBlacklistReports ::
GetBlacklistReports
newGetBlacklistReports =
GetBlacklistReports'
{ blacklistItemNames =
Prelude.mempty
}
-- | A list of IP addresses that you want to retrieve blacklist information
-- about. You can only specify the dedicated IP addresses that you use to
-- send email using Amazon Pinpoint or Amazon SES.
getBlacklistReports_blacklistItemNames :: Lens.Lens' GetBlacklistReports [Prelude.Text]
getBlacklistReports_blacklistItemNames = Lens.lens (\GetBlacklistReports' {blacklistItemNames} -> blacklistItemNames) (\s@GetBlacklistReports' {} a -> s {blacklistItemNames = a} :: GetBlacklistReports) Prelude.. Lens.coerced
instance Core.AWSRequest GetBlacklistReports where
type
AWSResponse GetBlacklistReports =
GetBlacklistReportsResponse
request overrides =
Request.get (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
GetBlacklistReportsResponse'
Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
Prelude.<*> ( x
Data..?> "BlacklistReport"
Core..!@ Prelude.mempty
)
)
instance Prelude.Hashable GetBlacklistReports where
hashWithSalt _salt GetBlacklistReports' {..} =
_salt `Prelude.hashWithSalt` blacklistItemNames
instance Prelude.NFData GetBlacklistReports where
rnf GetBlacklistReports' {..} =
Prelude.rnf blacklistItemNames
instance Data.ToHeaders GetBlacklistReports where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath GetBlacklistReports where
toPath =
Prelude.const
"/v1/email/deliverability-dashboard/blacklist-report"
instance Data.ToQuery GetBlacklistReports where
toQuery GetBlacklistReports' {..} =
Prelude.mconcat
[ "BlacklistItemNames"
Data.=: Data.toQueryList "member" blacklistItemNames
]
-- | An object that contains information about blacklist events.
--
-- /See:/ 'newGetBlacklistReportsResponse' smart constructor.
data GetBlacklistReportsResponse = GetBlacklistReportsResponse'
{ -- | The response's http status code.
httpStatus :: Prelude.Int,
-- | An object that contains information about a blacklist that one of your
-- dedicated IP addresses appears on.
blacklistReport :: Prelude.HashMap Prelude.Text [BlacklistEntry]
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetBlacklistReportsResponse' 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', 'getBlacklistReportsResponse_httpStatus' - The response's http status code.
--
-- 'blacklistReport', 'getBlacklistReportsResponse_blacklistReport' - An object that contains information about a blacklist that one of your
-- dedicated IP addresses appears on.
newGetBlacklistReportsResponse ::
-- | 'httpStatus'
Prelude.Int ->
GetBlacklistReportsResponse
newGetBlacklistReportsResponse pHttpStatus_ =
GetBlacklistReportsResponse'
{ httpStatus =
pHttpStatus_,
blacklistReport = Prelude.mempty
}
-- | The response's http status code.
getBlacklistReportsResponse_httpStatus :: Lens.Lens' GetBlacklistReportsResponse Prelude.Int
getBlacklistReportsResponse_httpStatus = Lens.lens (\GetBlacklistReportsResponse' {httpStatus} -> httpStatus) (\s@GetBlacklistReportsResponse' {} a -> s {httpStatus = a} :: GetBlacklistReportsResponse)
-- | An object that contains information about a blacklist that one of your
-- dedicated IP addresses appears on.
getBlacklistReportsResponse_blacklistReport :: Lens.Lens' GetBlacklistReportsResponse (Prelude.HashMap Prelude.Text [BlacklistEntry])
getBlacklistReportsResponse_blacklistReport = Lens.lens (\GetBlacklistReportsResponse' {blacklistReport} -> blacklistReport) (\s@GetBlacklistReportsResponse' {} a -> s {blacklistReport = a} :: GetBlacklistReportsResponse) Prelude.. Lens.coerced
instance Prelude.NFData GetBlacklistReportsResponse where
rnf GetBlacklistReportsResponse' {..} =
Prelude.rnf httpStatus
`Prelude.seq` Prelude.rnf blacklistReport