{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.IoT.UpdateCACertificate
(
updateCACertificate
, UpdateCACertificate
, ucacRemoveAutoRegistration
, ucacNewStatus
, ucacRegistrationConfig
, ucacNewAutoRegistrationStatus
, ucacCertificateId
, updateCACertificateResponse
, UpdateCACertificateResponse
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateCACertificate = UpdateCACertificate'
{ _ucacRemoveAutoRegistration :: !(Maybe Bool)
, _ucacNewStatus :: !(Maybe CACertificateStatus)
, _ucacRegistrationConfig :: !(Maybe RegistrationConfig)
, _ucacNewAutoRegistrationStatus :: !(Maybe AutoRegistrationStatus)
, _ucacCertificateId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateCACertificate
:: Text
-> UpdateCACertificate
updateCACertificate pCertificateId_ =
UpdateCACertificate'
{ _ucacRemoveAutoRegistration = Nothing
, _ucacNewStatus = Nothing
, _ucacRegistrationConfig = Nothing
, _ucacNewAutoRegistrationStatus = Nothing
, _ucacCertificateId = pCertificateId_
}
ucacRemoveAutoRegistration :: Lens' UpdateCACertificate (Maybe Bool)
ucacRemoveAutoRegistration = lens _ucacRemoveAutoRegistration (\ s a -> s{_ucacRemoveAutoRegistration = a})
ucacNewStatus :: Lens' UpdateCACertificate (Maybe CACertificateStatus)
ucacNewStatus = lens _ucacNewStatus (\ s a -> s{_ucacNewStatus = a})
ucacRegistrationConfig :: Lens' UpdateCACertificate (Maybe RegistrationConfig)
ucacRegistrationConfig = lens _ucacRegistrationConfig (\ s a -> s{_ucacRegistrationConfig = a})
ucacNewAutoRegistrationStatus :: Lens' UpdateCACertificate (Maybe AutoRegistrationStatus)
ucacNewAutoRegistrationStatus = lens _ucacNewAutoRegistrationStatus (\ s a -> s{_ucacNewAutoRegistrationStatus = a})
ucacCertificateId :: Lens' UpdateCACertificate Text
ucacCertificateId = lens _ucacCertificateId (\ s a -> s{_ucacCertificateId = a})
instance AWSRequest UpdateCACertificate where
type Rs UpdateCACertificate =
UpdateCACertificateResponse
request = putJSON ioT
response = receiveNull UpdateCACertificateResponse'
instance Hashable UpdateCACertificate where
instance NFData UpdateCACertificate where
instance ToHeaders UpdateCACertificate where
toHeaders = const mempty
instance ToJSON UpdateCACertificate where
toJSON UpdateCACertificate'{..}
= object
(catMaybes
[("removeAutoRegistration" .=) <$>
_ucacRemoveAutoRegistration,
("registrationConfig" .=) <$>
_ucacRegistrationConfig])
instance ToPath UpdateCACertificate where
toPath UpdateCACertificate'{..}
= mconcat
["/cacertificate/", toBS _ucacCertificateId]
instance ToQuery UpdateCACertificate where
toQuery UpdateCACertificate'{..}
= mconcat
["newStatus" =: _ucacNewStatus,
"newAutoRegistrationStatus" =:
_ucacNewAutoRegistrationStatus]
data UpdateCACertificateResponse =
UpdateCACertificateResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
updateCACertificateResponse
:: UpdateCACertificateResponse
updateCACertificateResponse = UpdateCACertificateResponse'
instance NFData UpdateCACertificateResponse where