amazonka-iot-2.0: gen/Amazonka/IoT/RejectCertificateTransfer.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.IoT.RejectCertificateTransfer
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Rejects a pending certificate transfer. After IoT rejects a certificate
-- transfer, the certificate status changes from __PENDING_TRANSFER__ to
-- __INACTIVE__.
--
-- To check for pending certificate transfers, call ListCertificates to
-- enumerate your certificates.
--
-- This operation can only be called by the transfer destination. After it
-- is called, the certificate will be returned to the source\'s account in
-- the INACTIVE state.
--
-- Requires permission to access the
-- <https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions RejectCertificateTransfer>
-- action.
module Amazonka.IoT.RejectCertificateTransfer
( -- * Creating a Request
RejectCertificateTransfer (..),
newRejectCertificateTransfer,
-- * Request Lenses
rejectCertificateTransfer_rejectReason,
rejectCertificateTransfer_certificateId,
-- * Destructuring the Response
RejectCertificateTransferResponse (..),
newRejectCertificateTransferResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
-- | The input for the RejectCertificateTransfer operation.
--
-- /See:/ 'newRejectCertificateTransfer' smart constructor.
data RejectCertificateTransfer = RejectCertificateTransfer'
{ -- | The reason the certificate transfer was rejected.
rejectReason :: Prelude.Maybe Prelude.Text,
-- | The ID of the certificate. (The last part of the certificate ARN
-- contains the certificate ID.)
certificateId :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'RejectCertificateTransfer' 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:
--
-- 'rejectReason', 'rejectCertificateTransfer_rejectReason' - The reason the certificate transfer was rejected.
--
-- 'certificateId', 'rejectCertificateTransfer_certificateId' - The ID of the certificate. (The last part of the certificate ARN
-- contains the certificate ID.)
newRejectCertificateTransfer ::
-- | 'certificateId'
Prelude.Text ->
RejectCertificateTransfer
newRejectCertificateTransfer pCertificateId_ =
RejectCertificateTransfer'
{ rejectReason =
Prelude.Nothing,
certificateId = pCertificateId_
}
-- | The reason the certificate transfer was rejected.
rejectCertificateTransfer_rejectReason :: Lens.Lens' RejectCertificateTransfer (Prelude.Maybe Prelude.Text)
rejectCertificateTransfer_rejectReason = Lens.lens (\RejectCertificateTransfer' {rejectReason} -> rejectReason) (\s@RejectCertificateTransfer' {} a -> s {rejectReason = a} :: RejectCertificateTransfer)
-- | The ID of the certificate. (The last part of the certificate ARN
-- contains the certificate ID.)
rejectCertificateTransfer_certificateId :: Lens.Lens' RejectCertificateTransfer Prelude.Text
rejectCertificateTransfer_certificateId = Lens.lens (\RejectCertificateTransfer' {certificateId} -> certificateId) (\s@RejectCertificateTransfer' {} a -> s {certificateId = a} :: RejectCertificateTransfer)
instance Core.AWSRequest RejectCertificateTransfer where
type
AWSResponse RejectCertificateTransfer =
RejectCertificateTransferResponse
request overrides =
Request.patchJSON (overrides defaultService)
response =
Response.receiveNull
RejectCertificateTransferResponse'
instance Prelude.Hashable RejectCertificateTransfer where
hashWithSalt _salt RejectCertificateTransfer' {..} =
_salt
`Prelude.hashWithSalt` rejectReason
`Prelude.hashWithSalt` certificateId
instance Prelude.NFData RejectCertificateTransfer where
rnf RejectCertificateTransfer' {..} =
Prelude.rnf rejectReason
`Prelude.seq` Prelude.rnf certificateId
instance Data.ToHeaders RejectCertificateTransfer where
toHeaders = Prelude.const Prelude.mempty
instance Data.ToJSON RejectCertificateTransfer where
toJSON RejectCertificateTransfer' {..} =
Data.object
( Prelude.catMaybes
[("rejectReason" Data..=) Prelude.<$> rejectReason]
)
instance Data.ToPath RejectCertificateTransfer where
toPath RejectCertificateTransfer' {..} =
Prelude.mconcat
[ "/reject-certificate-transfer/",
Data.toBS certificateId
]
instance Data.ToQuery RejectCertificateTransfer where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newRejectCertificateTransferResponse' smart constructor.
data RejectCertificateTransferResponse = RejectCertificateTransferResponse'
{
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'RejectCertificateTransferResponse' 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.
newRejectCertificateTransferResponse ::
RejectCertificateTransferResponse
newRejectCertificateTransferResponse =
RejectCertificateTransferResponse'
instance
Prelude.NFData
RejectCertificateTransferResponse
where
rnf _ = ()