{-# 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.DescribeCACertificate
(
describeCACertificate
, DescribeCACertificate
, dCertificateId
, describeCACertificateResponse
, DescribeCACertificateResponse
, dcaccrsCertificateDescription
, dcaccrsRegistrationConfig
, dcaccrsResponseStatus
) 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
newtype DescribeCACertificate = DescribeCACertificate'
{ _dCertificateId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeCACertificate
:: Text
-> DescribeCACertificate
describeCACertificate pCertificateId_ =
DescribeCACertificate' {_dCertificateId = pCertificateId_}
dCertificateId :: Lens' DescribeCACertificate Text
dCertificateId = lens _dCertificateId (\ s a -> s{_dCertificateId = a})
instance AWSRequest DescribeCACertificate where
type Rs DescribeCACertificate =
DescribeCACertificateResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
DescribeCACertificateResponse' <$>
(x .?> "certificateDescription") <*>
(x .?> "registrationConfig")
<*> (pure (fromEnum s)))
instance Hashable DescribeCACertificate where
instance NFData DescribeCACertificate where
instance ToHeaders DescribeCACertificate where
toHeaders = const mempty
instance ToPath DescribeCACertificate where
toPath DescribeCACertificate'{..}
= mconcat ["/cacertificate/", toBS _dCertificateId]
instance ToQuery DescribeCACertificate where
toQuery = const mempty
data DescribeCACertificateResponse = DescribeCACertificateResponse'
{ _dcaccrsCertificateDescription :: !(Maybe CACertificateDescription)
, _dcaccrsRegistrationConfig :: !(Maybe RegistrationConfig)
, _dcaccrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeCACertificateResponse
:: Int
-> DescribeCACertificateResponse
describeCACertificateResponse pResponseStatus_ =
DescribeCACertificateResponse'
{ _dcaccrsCertificateDescription = Nothing
, _dcaccrsRegistrationConfig = Nothing
, _dcaccrsResponseStatus = pResponseStatus_
}
dcaccrsCertificateDescription :: Lens' DescribeCACertificateResponse (Maybe CACertificateDescription)
dcaccrsCertificateDescription = lens _dcaccrsCertificateDescription (\ s a -> s{_dcaccrsCertificateDescription = a})
dcaccrsRegistrationConfig :: Lens' DescribeCACertificateResponse (Maybe RegistrationConfig)
dcaccrsRegistrationConfig = lens _dcaccrsRegistrationConfig (\ s a -> s{_dcaccrsRegistrationConfig = a})
dcaccrsResponseStatus :: Lens' DescribeCACertificateResponse Int
dcaccrsResponseStatus = lens _dcaccrsResponseStatus (\ s a -> s{_dcaccrsResponseStatus = a})
instance NFData DescribeCACertificateResponse where