module Network.AWS.APIGateway.CreateDomainName
(
createDomainName
, CreateDomainName
, cdnDomainName
, cdnCertificateName
, cdnCertificateBody
, cdnCertificatePrivateKey
, cdnCertificateChain
, domainName
, DomainName
, dnCertificateName
, dnDomainName
, dnCertificateUploadDate
, dnDistributionDomainName
) where
import Network.AWS.APIGateway.Types
import Network.AWS.APIGateway.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateDomainName = CreateDomainName'
{ _cdnDomainName :: !Text
, _cdnCertificateName :: !Text
, _cdnCertificateBody :: !Text
, _cdnCertificatePrivateKey :: !Text
, _cdnCertificateChain :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createDomainName
:: Text
-> Text
-> Text
-> Text
-> Text
-> CreateDomainName
createDomainName pDomainName_ pCertificateName_ pCertificateBody_ pCertificatePrivateKey_ pCertificateChain_ =
CreateDomainName'
{ _cdnDomainName = pDomainName_
, _cdnCertificateName = pCertificateName_
, _cdnCertificateBody = pCertificateBody_
, _cdnCertificatePrivateKey = pCertificatePrivateKey_
, _cdnCertificateChain = pCertificateChain_
}
cdnDomainName :: Lens' CreateDomainName Text
cdnDomainName = lens _cdnDomainName (\ s a -> s{_cdnDomainName = a});
cdnCertificateName :: Lens' CreateDomainName Text
cdnCertificateName = lens _cdnCertificateName (\ s a -> s{_cdnCertificateName = a});
cdnCertificateBody :: Lens' CreateDomainName Text
cdnCertificateBody = lens _cdnCertificateBody (\ s a -> s{_cdnCertificateBody = a});
cdnCertificatePrivateKey :: Lens' CreateDomainName Text
cdnCertificatePrivateKey = lens _cdnCertificatePrivateKey (\ s a -> s{_cdnCertificatePrivateKey = a});
cdnCertificateChain :: Lens' CreateDomainName Text
cdnCertificateChain = lens _cdnCertificateChain (\ s a -> s{_cdnCertificateChain = a});
instance AWSRequest CreateDomainName where
type Rs CreateDomainName = DomainName
request = postJSON apiGateway
response = receiveJSON (\ s h x -> eitherParseJSON x)
instance Hashable CreateDomainName
instance ToHeaders CreateDomainName where
toHeaders
= const
(mconcat
["Accept" =# ("application/json" :: ByteString)])
instance ToJSON CreateDomainName where
toJSON CreateDomainName'{..}
= object
(catMaybes
[Just ("domainName" .= _cdnDomainName),
Just ("certificateName" .= _cdnCertificateName),
Just ("certificateBody" .= _cdnCertificateBody),
Just
("certificatePrivateKey" .=
_cdnCertificatePrivateKey),
Just ("certificateChain" .= _cdnCertificateChain)])
instance ToPath CreateDomainName where
toPath = const "/domainnames"
instance ToQuery CreateDomainName where
toQuery = const mempty