{-# 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.CreateCertificateFromCSR
(
createCertificateFromCSR
, CreateCertificateFromCSR
, ccfcsrSetAsActive
, ccfcsrCertificateSigningRequest
, createCertificateFromCSRResponse
, CreateCertificateFromCSRResponse
, ccfcsrrsCertificatePem
, ccfcsrrsCertificateARN
, ccfcsrrsCertificateId
, ccfcsrrsResponseStatus
) 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 CreateCertificateFromCSR = CreateCertificateFromCSR'
{ _ccfcsrSetAsActive :: !(Maybe Bool)
, _ccfcsrCertificateSigningRequest :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createCertificateFromCSR
:: Text
-> CreateCertificateFromCSR
createCertificateFromCSR pCertificateSigningRequest_ =
CreateCertificateFromCSR'
{ _ccfcsrSetAsActive = Nothing
, _ccfcsrCertificateSigningRequest = pCertificateSigningRequest_
}
ccfcsrSetAsActive :: Lens' CreateCertificateFromCSR (Maybe Bool)
ccfcsrSetAsActive = lens _ccfcsrSetAsActive (\ s a -> s{_ccfcsrSetAsActive = a});
ccfcsrCertificateSigningRequest :: Lens' CreateCertificateFromCSR Text
ccfcsrCertificateSigningRequest = lens _ccfcsrCertificateSigningRequest (\ s a -> s{_ccfcsrCertificateSigningRequest = a});
instance AWSRequest CreateCertificateFromCSR where
type Rs CreateCertificateFromCSR =
CreateCertificateFromCSRResponse
request = postJSON ioT
response
= receiveJSON
(\ s h x ->
CreateCertificateFromCSRResponse' <$>
(x .?> "certificatePem") <*> (x .?> "certificateArn")
<*> (x .?> "certificateId")
<*> (pure (fromEnum s)))
instance Hashable CreateCertificateFromCSR
instance NFData CreateCertificateFromCSR
instance ToHeaders CreateCertificateFromCSR where
toHeaders = const mempty
instance ToJSON CreateCertificateFromCSR where
toJSON CreateCertificateFromCSR'{..}
= object
(catMaybes
[Just
("certificateSigningRequest" .=
_ccfcsrCertificateSigningRequest)])
instance ToPath CreateCertificateFromCSR where
toPath = const "/certificates"
instance ToQuery CreateCertificateFromCSR where
toQuery CreateCertificateFromCSR'{..}
= mconcat ["setAsActive" =: _ccfcsrSetAsActive]
data CreateCertificateFromCSRResponse = CreateCertificateFromCSRResponse'
{ _ccfcsrrsCertificatePem :: !(Maybe Text)
, _ccfcsrrsCertificateARN :: !(Maybe Text)
, _ccfcsrrsCertificateId :: !(Maybe Text)
, _ccfcsrrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createCertificateFromCSRResponse
:: Int
-> CreateCertificateFromCSRResponse
createCertificateFromCSRResponse pResponseStatus_ =
CreateCertificateFromCSRResponse'
{ _ccfcsrrsCertificatePem = Nothing
, _ccfcsrrsCertificateARN = Nothing
, _ccfcsrrsCertificateId = Nothing
, _ccfcsrrsResponseStatus = pResponseStatus_
}
ccfcsrrsCertificatePem :: Lens' CreateCertificateFromCSRResponse (Maybe Text)
ccfcsrrsCertificatePem = lens _ccfcsrrsCertificatePem (\ s a -> s{_ccfcsrrsCertificatePem = a});
ccfcsrrsCertificateARN :: Lens' CreateCertificateFromCSRResponse (Maybe Text)
ccfcsrrsCertificateARN = lens _ccfcsrrsCertificateARN (\ s a -> s{_ccfcsrrsCertificateARN = a});
ccfcsrrsCertificateId :: Lens' CreateCertificateFromCSRResponse (Maybe Text)
ccfcsrrsCertificateId = lens _ccfcsrrsCertificateId (\ s a -> s{_ccfcsrrsCertificateId = a});
ccfcsrrsResponseStatus :: Lens' CreateCertificateFromCSRResponse Int
ccfcsrrsResponseStatus = lens _ccfcsrrsResponseStatus (\ s a -> s{_ccfcsrrsResponseStatus = a});
instance NFData CreateCertificateFromCSRResponse