module Network.AWS.CertificateManager.DescribeCertificate
(
describeCertificate
, DescribeCertificate
, dCertificateARN
, describeCertificateResponse
, DescribeCertificateResponse
, dcrsCertificate
, dcrsResponseStatus
) where
import Network.AWS.CertificateManager.Types
import Network.AWS.CertificateManager.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeCertificate = DescribeCertificate'
{ _dCertificateARN :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeCertificate
:: Text
-> DescribeCertificate
describeCertificate pCertificateARN_ =
DescribeCertificate'
{ _dCertificateARN = pCertificateARN_
}
dCertificateARN :: Lens' DescribeCertificate Text
dCertificateARN = lens _dCertificateARN (\ s a -> s{_dCertificateARN = a});
instance AWSRequest DescribeCertificate where
type Rs DescribeCertificate =
DescribeCertificateResponse
request = postJSON certificateManager
response
= receiveJSON
(\ s h x ->
DescribeCertificateResponse' <$>
(x .?> "Certificate") <*> (pure (fromEnum s)))
instance Hashable DescribeCertificate
instance NFData DescribeCertificate
instance ToHeaders DescribeCertificate where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CertificateManager.DescribeCertificate" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeCertificate where
toJSON DescribeCertificate'{..}
= object
(catMaybes
[Just ("CertificateArn" .= _dCertificateARN)])
instance ToPath DescribeCertificate where
toPath = const "/"
instance ToQuery DescribeCertificate where
toQuery = const mempty
data DescribeCertificateResponse = DescribeCertificateResponse'
{ _dcrsCertificate :: !(Maybe CertificateDetail)
, _dcrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeCertificateResponse
:: Int
-> DescribeCertificateResponse
describeCertificateResponse pResponseStatus_ =
DescribeCertificateResponse'
{ _dcrsCertificate = Nothing
, _dcrsResponseStatus = pResponseStatus_
}
dcrsCertificate :: Lens' DescribeCertificateResponse (Maybe CertificateDetail)
dcrsCertificate = lens _dcrsCertificate (\ s a -> s{_dcrsCertificate = a});
dcrsResponseStatus :: Lens' DescribeCertificateResponse Int
dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a});
instance NFData DescribeCertificateResponse