{-# 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.UpdateCACertificate -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Updates a registered CA certificate. -- -- Requires permission to access the -- -- action. module Amazonka.IoT.UpdateCACertificate ( -- * Creating a Request UpdateCACertificate (..), newUpdateCACertificate, -- * Request Lenses updateCACertificate_newAutoRegistrationStatus, updateCACertificate_newStatus, updateCACertificate_registrationConfig, updateCACertificate_removeAutoRegistration, updateCACertificate_certificateId, -- * Destructuring the Response UpdateCACertificateResponse (..), newUpdateCACertificateResponse, ) 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 to the UpdateCACertificate operation. -- -- /See:/ 'newUpdateCACertificate' smart constructor. data UpdateCACertificate = UpdateCACertificate' { -- | The new value for the auto registration status. Valid values are: -- \"ENABLE\" or \"DISABLE\". newAutoRegistrationStatus' :: Prelude.Maybe AutoRegistrationStatus, -- | The updated status of the CA certificate. -- -- __Note:__ The status value REGISTER_INACTIVE is deprecated and should -- not be used. newStatus' :: Prelude.Maybe CACertificateStatus, -- | Information about the registration configuration. registrationConfig :: Prelude.Maybe RegistrationConfig, -- | If true, removes auto registration. removeAutoRegistration :: Prelude.Maybe Prelude.Bool, -- | The CA certificate identifier. certificateId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateCACertificate' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'newAutoRegistrationStatus'', 'updateCACertificate_newAutoRegistrationStatus' - The new value for the auto registration status. Valid values are: -- \"ENABLE\" or \"DISABLE\". -- -- 'newStatus'', 'updateCACertificate_newStatus' - The updated status of the CA certificate. -- -- __Note:__ The status value REGISTER_INACTIVE is deprecated and should -- not be used. -- -- 'registrationConfig', 'updateCACertificate_registrationConfig' - Information about the registration configuration. -- -- 'removeAutoRegistration', 'updateCACertificate_removeAutoRegistration' - If true, removes auto registration. -- -- 'certificateId', 'updateCACertificate_certificateId' - The CA certificate identifier. newUpdateCACertificate :: -- | 'certificateId' Prelude.Text -> UpdateCACertificate newUpdateCACertificate pCertificateId_ = UpdateCACertificate' { newAutoRegistrationStatus' = Prelude.Nothing, newStatus' = Prelude.Nothing, registrationConfig = Prelude.Nothing, removeAutoRegistration = Prelude.Nothing, certificateId = pCertificateId_ } -- | The new value for the auto registration status. Valid values are: -- \"ENABLE\" or \"DISABLE\". updateCACertificate_newAutoRegistrationStatus :: Lens.Lens' UpdateCACertificate (Prelude.Maybe AutoRegistrationStatus) updateCACertificate_newAutoRegistrationStatus = Lens.lens (\UpdateCACertificate' {newAutoRegistrationStatus'} -> newAutoRegistrationStatus') (\s@UpdateCACertificate' {} a -> s {newAutoRegistrationStatus' = a} :: UpdateCACertificate) -- | The updated status of the CA certificate. -- -- __Note:__ The status value REGISTER_INACTIVE is deprecated and should -- not be used. updateCACertificate_newStatus :: Lens.Lens' UpdateCACertificate (Prelude.Maybe CACertificateStatus) updateCACertificate_newStatus = Lens.lens (\UpdateCACertificate' {newStatus'} -> newStatus') (\s@UpdateCACertificate' {} a -> s {newStatus' = a} :: UpdateCACertificate) -- | Information about the registration configuration. updateCACertificate_registrationConfig :: Lens.Lens' UpdateCACertificate (Prelude.Maybe RegistrationConfig) updateCACertificate_registrationConfig = Lens.lens (\UpdateCACertificate' {registrationConfig} -> registrationConfig) (\s@UpdateCACertificate' {} a -> s {registrationConfig = a} :: UpdateCACertificate) -- | If true, removes auto registration. updateCACertificate_removeAutoRegistration :: Lens.Lens' UpdateCACertificate (Prelude.Maybe Prelude.Bool) updateCACertificate_removeAutoRegistration = Lens.lens (\UpdateCACertificate' {removeAutoRegistration} -> removeAutoRegistration) (\s@UpdateCACertificate' {} a -> s {removeAutoRegistration = a} :: UpdateCACertificate) -- | The CA certificate identifier. updateCACertificate_certificateId :: Lens.Lens' UpdateCACertificate Prelude.Text updateCACertificate_certificateId = Lens.lens (\UpdateCACertificate' {certificateId} -> certificateId) (\s@UpdateCACertificate' {} a -> s {certificateId = a} :: UpdateCACertificate) instance Core.AWSRequest UpdateCACertificate where type AWSResponse UpdateCACertificate = UpdateCACertificateResponse request overrides = Request.putJSON (overrides defaultService) response = Response.receiveNull UpdateCACertificateResponse' instance Prelude.Hashable UpdateCACertificate where hashWithSalt _salt UpdateCACertificate' {..} = _salt `Prelude.hashWithSalt` newAutoRegistrationStatus' `Prelude.hashWithSalt` newStatus' `Prelude.hashWithSalt` registrationConfig `Prelude.hashWithSalt` removeAutoRegistration `Prelude.hashWithSalt` certificateId instance Prelude.NFData UpdateCACertificate where rnf UpdateCACertificate' {..} = Prelude.rnf newAutoRegistrationStatus' `Prelude.seq` Prelude.rnf newStatus' `Prelude.seq` Prelude.rnf registrationConfig `Prelude.seq` Prelude.rnf removeAutoRegistration `Prelude.seq` Prelude.rnf certificateId instance Data.ToHeaders UpdateCACertificate where toHeaders = Prelude.const Prelude.mempty instance Data.ToJSON UpdateCACertificate where toJSON UpdateCACertificate' {..} = Data.object ( Prelude.catMaybes [ ("registrationConfig" Data..=) Prelude.<$> registrationConfig, ("removeAutoRegistration" Data..=) Prelude.<$> removeAutoRegistration ] ) instance Data.ToPath UpdateCACertificate where toPath UpdateCACertificate' {..} = Prelude.mconcat ["/cacertificate/", Data.toBS certificateId] instance Data.ToQuery UpdateCACertificate where toQuery UpdateCACertificate' {..} = Prelude.mconcat [ "newAutoRegistrationStatus" Data.=: newAutoRegistrationStatus', "newStatus" Data.=: newStatus' ] -- | /See:/ 'newUpdateCACertificateResponse' smart constructor. data UpdateCACertificateResponse = UpdateCACertificateResponse' { } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateCACertificateResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. newUpdateCACertificateResponse :: UpdateCACertificateResponse newUpdateCACertificateResponse = UpdateCACertificateResponse' instance Prelude.NFData UpdateCACertificateResponse where rnf _ = ()