{-# 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
-- <https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions UpdateCACertificate>
-- 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\".
    UpdateCACertificate -> Maybe AutoRegistrationStatus
newAutoRegistrationStatus' :: Prelude.Maybe AutoRegistrationStatus,
    -- | The updated status of the CA certificate.
    --
    -- __Note:__ The status value REGISTER_INACTIVE is deprecated and should
    -- not be used.
    UpdateCACertificate -> Maybe CACertificateStatus
newStatus' :: Prelude.Maybe CACertificateStatus,
    -- | Information about the registration configuration.
    UpdateCACertificate -> Maybe RegistrationConfig
registrationConfig :: Prelude.Maybe RegistrationConfig,
    -- | If true, removes auto registration.
    UpdateCACertificate -> Maybe Bool
removeAutoRegistration :: Prelude.Maybe Prelude.Bool,
    -- | The CA certificate identifier.
    UpdateCACertificate -> Text
certificateId :: Prelude.Text
  }
  deriving (UpdateCACertificate -> UpdateCACertificate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateCACertificate -> UpdateCACertificate -> Bool
$c/= :: UpdateCACertificate -> UpdateCACertificate -> Bool
== :: UpdateCACertificate -> UpdateCACertificate -> Bool
$c== :: UpdateCACertificate -> UpdateCACertificate -> Bool
Prelude.Eq, ReadPrec [UpdateCACertificate]
ReadPrec UpdateCACertificate
Int -> ReadS UpdateCACertificate
ReadS [UpdateCACertificate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateCACertificate]
$creadListPrec :: ReadPrec [UpdateCACertificate]
readPrec :: ReadPrec UpdateCACertificate
$creadPrec :: ReadPrec UpdateCACertificate
readList :: ReadS [UpdateCACertificate]
$creadList :: ReadS [UpdateCACertificate]
readsPrec :: Int -> ReadS UpdateCACertificate
$creadsPrec :: Int -> ReadS UpdateCACertificate
Prelude.Read, Int -> UpdateCACertificate -> ShowS
[UpdateCACertificate] -> ShowS
UpdateCACertificate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateCACertificate] -> ShowS
$cshowList :: [UpdateCACertificate] -> ShowS
show :: UpdateCACertificate -> String
$cshow :: UpdateCACertificate -> String
showsPrec :: Int -> UpdateCACertificate -> ShowS
$cshowsPrec :: Int -> UpdateCACertificate -> ShowS
Prelude.Show, forall x. Rep UpdateCACertificate x -> UpdateCACertificate
forall x. UpdateCACertificate -> Rep UpdateCACertificate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateCACertificate x -> UpdateCACertificate
$cfrom :: forall x. UpdateCACertificate -> Rep UpdateCACertificate x
Prelude.Generic)

-- |
-- Create a value of 'UpdateCACertificate' 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:
--
-- '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 :: Text -> UpdateCACertificate
newUpdateCACertificate Text
pCertificateId_ =
  UpdateCACertificate'
    { $sel:newAutoRegistrationStatus':UpdateCACertificate' :: Maybe AutoRegistrationStatus
newAutoRegistrationStatus' =
        forall a. Maybe a
Prelude.Nothing,
      $sel:newStatus':UpdateCACertificate' :: Maybe CACertificateStatus
newStatus' = forall a. Maybe a
Prelude.Nothing,
      $sel:registrationConfig:UpdateCACertificate' :: Maybe RegistrationConfig
registrationConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:removeAutoRegistration:UpdateCACertificate' :: Maybe Bool
removeAutoRegistration = forall a. Maybe a
Prelude.Nothing,
      $sel:certificateId:UpdateCACertificate' :: Text
certificateId = Text
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' UpdateCACertificate (Maybe AutoRegistrationStatus)
updateCACertificate_newAutoRegistrationStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCACertificate' {Maybe AutoRegistrationStatus
newAutoRegistrationStatus' :: Maybe AutoRegistrationStatus
$sel:newAutoRegistrationStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe AutoRegistrationStatus
newAutoRegistrationStatus'} -> Maybe AutoRegistrationStatus
newAutoRegistrationStatus') (\s :: UpdateCACertificate
s@UpdateCACertificate' {} Maybe AutoRegistrationStatus
a -> UpdateCACertificate
s {$sel:newAutoRegistrationStatus':UpdateCACertificate' :: Maybe AutoRegistrationStatus
newAutoRegistrationStatus' = Maybe AutoRegistrationStatus
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' UpdateCACertificate (Maybe CACertificateStatus)
updateCACertificate_newStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCACertificate' {Maybe CACertificateStatus
newStatus' :: Maybe CACertificateStatus
$sel:newStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe CACertificateStatus
newStatus'} -> Maybe CACertificateStatus
newStatus') (\s :: UpdateCACertificate
s@UpdateCACertificate' {} Maybe CACertificateStatus
a -> UpdateCACertificate
s {$sel:newStatus':UpdateCACertificate' :: Maybe CACertificateStatus
newStatus' = Maybe CACertificateStatus
a} :: UpdateCACertificate)

-- | Information about the registration configuration.
updateCACertificate_registrationConfig :: Lens.Lens' UpdateCACertificate (Prelude.Maybe RegistrationConfig)
updateCACertificate_registrationConfig :: Lens' UpdateCACertificate (Maybe RegistrationConfig)
updateCACertificate_registrationConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCACertificate' {Maybe RegistrationConfig
registrationConfig :: Maybe RegistrationConfig
$sel:registrationConfig:UpdateCACertificate' :: UpdateCACertificate -> Maybe RegistrationConfig
registrationConfig} -> Maybe RegistrationConfig
registrationConfig) (\s :: UpdateCACertificate
s@UpdateCACertificate' {} Maybe RegistrationConfig
a -> UpdateCACertificate
s {$sel:registrationConfig:UpdateCACertificate' :: Maybe RegistrationConfig
registrationConfig = Maybe RegistrationConfig
a} :: UpdateCACertificate)

-- | If true, removes auto registration.
updateCACertificate_removeAutoRegistration :: Lens.Lens' UpdateCACertificate (Prelude.Maybe Prelude.Bool)
updateCACertificate_removeAutoRegistration :: Lens' UpdateCACertificate (Maybe Bool)
updateCACertificate_removeAutoRegistration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCACertificate' {Maybe Bool
removeAutoRegistration :: Maybe Bool
$sel:removeAutoRegistration:UpdateCACertificate' :: UpdateCACertificate -> Maybe Bool
removeAutoRegistration} -> Maybe Bool
removeAutoRegistration) (\s :: UpdateCACertificate
s@UpdateCACertificate' {} Maybe Bool
a -> UpdateCACertificate
s {$sel:removeAutoRegistration:UpdateCACertificate' :: Maybe Bool
removeAutoRegistration = Maybe Bool
a} :: UpdateCACertificate)

-- | The CA certificate identifier.
updateCACertificate_certificateId :: Lens.Lens' UpdateCACertificate Prelude.Text
updateCACertificate_certificateId :: Lens' UpdateCACertificate Text
updateCACertificate_certificateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCACertificate' {Text
certificateId :: Text
$sel:certificateId:UpdateCACertificate' :: UpdateCACertificate -> Text
certificateId} -> Text
certificateId) (\s :: UpdateCACertificate
s@UpdateCACertificate' {} Text
a -> UpdateCACertificate
s {$sel:certificateId:UpdateCACertificate' :: Text
certificateId = Text
a} :: UpdateCACertificate)

instance Core.AWSRequest UpdateCACertificate where
  type
    AWSResponse UpdateCACertificate =
      UpdateCACertificateResponse
  request :: (Service -> Service)
-> UpdateCACertificate -> Request UpdateCACertificate
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateCACertificate
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateCACertificate)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull UpdateCACertificateResponse
UpdateCACertificateResponse'

instance Prelude.Hashable UpdateCACertificate where
  hashWithSalt :: Int -> UpdateCACertificate -> Int
hashWithSalt Int
_salt UpdateCACertificate' {Maybe Bool
Maybe AutoRegistrationStatus
Maybe CACertificateStatus
Maybe RegistrationConfig
Text
certificateId :: Text
removeAutoRegistration :: Maybe Bool
registrationConfig :: Maybe RegistrationConfig
newStatus' :: Maybe CACertificateStatus
newAutoRegistrationStatus' :: Maybe AutoRegistrationStatus
$sel:certificateId:UpdateCACertificate' :: UpdateCACertificate -> Text
$sel:removeAutoRegistration:UpdateCACertificate' :: UpdateCACertificate -> Maybe Bool
$sel:registrationConfig:UpdateCACertificate' :: UpdateCACertificate -> Maybe RegistrationConfig
$sel:newStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe CACertificateStatus
$sel:newAutoRegistrationStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe AutoRegistrationStatus
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AutoRegistrationStatus
newAutoRegistrationStatus'
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CACertificateStatus
newStatus'
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RegistrationConfig
registrationConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
removeAutoRegistration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
certificateId

instance Prelude.NFData UpdateCACertificate where
  rnf :: UpdateCACertificate -> ()
rnf UpdateCACertificate' {Maybe Bool
Maybe AutoRegistrationStatus
Maybe CACertificateStatus
Maybe RegistrationConfig
Text
certificateId :: Text
removeAutoRegistration :: Maybe Bool
registrationConfig :: Maybe RegistrationConfig
newStatus' :: Maybe CACertificateStatus
newAutoRegistrationStatus' :: Maybe AutoRegistrationStatus
$sel:certificateId:UpdateCACertificate' :: UpdateCACertificate -> Text
$sel:removeAutoRegistration:UpdateCACertificate' :: UpdateCACertificate -> Maybe Bool
$sel:registrationConfig:UpdateCACertificate' :: UpdateCACertificate -> Maybe RegistrationConfig
$sel:newStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe CACertificateStatus
$sel:newAutoRegistrationStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe AutoRegistrationStatus
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AutoRegistrationStatus
newAutoRegistrationStatus'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CACertificateStatus
newStatus'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RegistrationConfig
registrationConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
removeAutoRegistration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
certificateId

instance Data.ToHeaders UpdateCACertificate where
  toHeaders :: UpdateCACertificate -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToJSON UpdateCACertificate where
  toJSON :: UpdateCACertificate -> Value
toJSON UpdateCACertificate' {Maybe Bool
Maybe AutoRegistrationStatus
Maybe CACertificateStatus
Maybe RegistrationConfig
Text
certificateId :: Text
removeAutoRegistration :: Maybe Bool
registrationConfig :: Maybe RegistrationConfig
newStatus' :: Maybe CACertificateStatus
newAutoRegistrationStatus' :: Maybe AutoRegistrationStatus
$sel:certificateId:UpdateCACertificate' :: UpdateCACertificate -> Text
$sel:removeAutoRegistration:UpdateCACertificate' :: UpdateCACertificate -> Maybe Bool
$sel:registrationConfig:UpdateCACertificate' :: UpdateCACertificate -> Maybe RegistrationConfig
$sel:newStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe CACertificateStatus
$sel:newAutoRegistrationStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe AutoRegistrationStatus
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"registrationConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RegistrationConfig
registrationConfig,
            (Key
"removeAutoRegistration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
removeAutoRegistration
          ]
      )

instance Data.ToPath UpdateCACertificate where
  toPath :: UpdateCACertificate -> ByteString
toPath UpdateCACertificate' {Maybe Bool
Maybe AutoRegistrationStatus
Maybe CACertificateStatus
Maybe RegistrationConfig
Text
certificateId :: Text
removeAutoRegistration :: Maybe Bool
registrationConfig :: Maybe RegistrationConfig
newStatus' :: Maybe CACertificateStatus
newAutoRegistrationStatus' :: Maybe AutoRegistrationStatus
$sel:certificateId:UpdateCACertificate' :: UpdateCACertificate -> Text
$sel:removeAutoRegistration:UpdateCACertificate' :: UpdateCACertificate -> Maybe Bool
$sel:registrationConfig:UpdateCACertificate' :: UpdateCACertificate -> Maybe RegistrationConfig
$sel:newStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe CACertificateStatus
$sel:newAutoRegistrationStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe AutoRegistrationStatus
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/cacertificate/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
certificateId]

instance Data.ToQuery UpdateCACertificate where
  toQuery :: UpdateCACertificate -> QueryString
toQuery UpdateCACertificate' {Maybe Bool
Maybe AutoRegistrationStatus
Maybe CACertificateStatus
Maybe RegistrationConfig
Text
certificateId :: Text
removeAutoRegistration :: Maybe Bool
registrationConfig :: Maybe RegistrationConfig
newStatus' :: Maybe CACertificateStatus
newAutoRegistrationStatus' :: Maybe AutoRegistrationStatus
$sel:certificateId:UpdateCACertificate' :: UpdateCACertificate -> Text
$sel:removeAutoRegistration:UpdateCACertificate' :: UpdateCACertificate -> Maybe Bool
$sel:registrationConfig:UpdateCACertificate' :: UpdateCACertificate -> Maybe RegistrationConfig
$sel:newStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe CACertificateStatus
$sel:newAutoRegistrationStatus':UpdateCACertificate' :: UpdateCACertificate -> Maybe AutoRegistrationStatus
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"newAutoRegistrationStatus"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe AutoRegistrationStatus
newAutoRegistrationStatus',
        ByteString
"newStatus" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe CACertificateStatus
newStatus'
      ]

-- | /See:/ 'newUpdateCACertificateResponse' smart constructor.
data UpdateCACertificateResponse = UpdateCACertificateResponse'
  {
  }
  deriving (UpdateCACertificateResponse -> UpdateCACertificateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateCACertificateResponse -> UpdateCACertificateResponse -> Bool
$c/= :: UpdateCACertificateResponse -> UpdateCACertificateResponse -> Bool
== :: UpdateCACertificateResponse -> UpdateCACertificateResponse -> Bool
$c== :: UpdateCACertificateResponse -> UpdateCACertificateResponse -> Bool
Prelude.Eq, ReadPrec [UpdateCACertificateResponse]
ReadPrec UpdateCACertificateResponse
Int -> ReadS UpdateCACertificateResponse
ReadS [UpdateCACertificateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateCACertificateResponse]
$creadListPrec :: ReadPrec [UpdateCACertificateResponse]
readPrec :: ReadPrec UpdateCACertificateResponse
$creadPrec :: ReadPrec UpdateCACertificateResponse
readList :: ReadS [UpdateCACertificateResponse]
$creadList :: ReadS [UpdateCACertificateResponse]
readsPrec :: Int -> ReadS UpdateCACertificateResponse
$creadsPrec :: Int -> ReadS UpdateCACertificateResponse
Prelude.Read, Int -> UpdateCACertificateResponse -> ShowS
[UpdateCACertificateResponse] -> ShowS
UpdateCACertificateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateCACertificateResponse] -> ShowS
$cshowList :: [UpdateCACertificateResponse] -> ShowS
show :: UpdateCACertificateResponse -> String
$cshow :: UpdateCACertificateResponse -> String
showsPrec :: Int -> UpdateCACertificateResponse -> ShowS
$cshowsPrec :: Int -> UpdateCACertificateResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateCACertificateResponse x -> UpdateCACertificateResponse
forall x.
UpdateCACertificateResponse -> Rep UpdateCACertificateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateCACertificateResponse x -> UpdateCACertificateResponse
$cfrom :: forall x.
UpdateCACertificateResponse -> Rep UpdateCACertificateResponse x
Prelude.Generic)

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

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