{-# 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.CertificateManagerPCA.UpdateCertificateAuthority
(
updateCertificateAuthority
, UpdateCertificateAuthority
, ucaStatus
, ucaRevocationConfiguration
, ucaCertificateAuthorityARN
, updateCertificateAuthorityResponse
, UpdateCertificateAuthorityResponse
) where
import Network.AWS.CertificateManagerPCA.Types
import Network.AWS.CertificateManagerPCA.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateCertificateAuthority = UpdateCertificateAuthority'
{ _ucaStatus :: !(Maybe CertificateAuthorityStatus)
, _ucaRevocationConfiguration :: !(Maybe RevocationConfiguration)
, _ucaCertificateAuthorityARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateCertificateAuthority
:: Text
-> UpdateCertificateAuthority
updateCertificateAuthority pCertificateAuthorityARN_ =
UpdateCertificateAuthority'
{ _ucaStatus = Nothing
, _ucaRevocationConfiguration = Nothing
, _ucaCertificateAuthorityARN = pCertificateAuthorityARN_
}
ucaStatus :: Lens' UpdateCertificateAuthority (Maybe CertificateAuthorityStatus)
ucaStatus = lens _ucaStatus (\ s a -> s{_ucaStatus = a})
ucaRevocationConfiguration :: Lens' UpdateCertificateAuthority (Maybe RevocationConfiguration)
ucaRevocationConfiguration = lens _ucaRevocationConfiguration (\ s a -> s{_ucaRevocationConfiguration = a})
ucaCertificateAuthorityARN :: Lens' UpdateCertificateAuthority Text
ucaCertificateAuthorityARN = lens _ucaCertificateAuthorityARN (\ s a -> s{_ucaCertificateAuthorityARN = a})
instance AWSRequest UpdateCertificateAuthority where
type Rs UpdateCertificateAuthority =
UpdateCertificateAuthorityResponse
request = postJSON certificateManagerPCA
response
= receiveNull UpdateCertificateAuthorityResponse'
instance Hashable UpdateCertificateAuthority where
instance NFData UpdateCertificateAuthority where
instance ToHeaders UpdateCertificateAuthority where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("ACMPrivateCA.UpdateCertificateAuthority" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateCertificateAuthority where
toJSON UpdateCertificateAuthority'{..}
= object
(catMaybes
[("Status" .=) <$> _ucaStatus,
("RevocationConfiguration" .=) <$>
_ucaRevocationConfiguration,
Just
("CertificateAuthorityArn" .=
_ucaCertificateAuthorityARN)])
instance ToPath UpdateCertificateAuthority where
toPath = const "/"
instance ToQuery UpdateCertificateAuthority where
toQuery = const mempty
data UpdateCertificateAuthorityResponse =
UpdateCertificateAuthorityResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
updateCertificateAuthorityResponse
:: UpdateCertificateAuthorityResponse
updateCertificateAuthorityResponse = UpdateCertificateAuthorityResponse'
instance NFData UpdateCertificateAuthorityResponse
where