{-# 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.APIGateway.CreateDomainName
(
createDomainName
, CreateDomainName
, cdnCertificateName
, cdnRegionalCertificateARN
, cdnCertificateARN
, cdnCertificatePrivateKey
, cdnRegionalCertificateName
, cdnCertificateBody
, cdnCertificateChain
, cdnEndpointConfiguration
, cdnDomainName
, domainName
, DomainName
, dnRegionalHostedZoneId
, dnCertificateName
, dnRegionalCertificateARN
, dnCertificateARN
, dnDistributionHostedZoneId
, dnDomainName
, dnRegionalCertificateName
, dnRegionalDomainName
, dnCertificateUploadDate
, dnDistributionDomainName
, dnEndpointConfiguration
) 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'
{ _cdnCertificateName :: !(Maybe Text)
, _cdnRegionalCertificateARN :: !(Maybe Text)
, _cdnCertificateARN :: !(Maybe Text)
, _cdnCertificatePrivateKey :: !(Maybe Text)
, _cdnRegionalCertificateName :: !(Maybe Text)
, _cdnCertificateBody :: !(Maybe Text)
, _cdnCertificateChain :: !(Maybe Text)
, _cdnEndpointConfiguration :: !(Maybe EndpointConfiguration)
, _cdnDomainName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createDomainName
:: Text
-> CreateDomainName
createDomainName pDomainName_ =
CreateDomainName'
{ _cdnCertificateName = Nothing
, _cdnRegionalCertificateARN = Nothing
, _cdnCertificateARN = Nothing
, _cdnCertificatePrivateKey = Nothing
, _cdnRegionalCertificateName = Nothing
, _cdnCertificateBody = Nothing
, _cdnCertificateChain = Nothing
, _cdnEndpointConfiguration = Nothing
, _cdnDomainName = pDomainName_
}
cdnCertificateName :: Lens' CreateDomainName (Maybe Text)
cdnCertificateName = lens _cdnCertificateName (\ s a -> s{_cdnCertificateName = a})
cdnRegionalCertificateARN :: Lens' CreateDomainName (Maybe Text)
cdnRegionalCertificateARN = lens _cdnRegionalCertificateARN (\ s a -> s{_cdnRegionalCertificateARN = a})
cdnCertificateARN :: Lens' CreateDomainName (Maybe Text)
cdnCertificateARN = lens _cdnCertificateARN (\ s a -> s{_cdnCertificateARN = a})
cdnCertificatePrivateKey :: Lens' CreateDomainName (Maybe Text)
cdnCertificatePrivateKey = lens _cdnCertificatePrivateKey (\ s a -> s{_cdnCertificatePrivateKey = a})
cdnRegionalCertificateName :: Lens' CreateDomainName (Maybe Text)
cdnRegionalCertificateName = lens _cdnRegionalCertificateName (\ s a -> s{_cdnRegionalCertificateName = a})
cdnCertificateBody :: Lens' CreateDomainName (Maybe Text)
cdnCertificateBody = lens _cdnCertificateBody (\ s a -> s{_cdnCertificateBody = a})
cdnCertificateChain :: Lens' CreateDomainName (Maybe Text)
cdnCertificateChain = lens _cdnCertificateChain (\ s a -> s{_cdnCertificateChain = a})
cdnEndpointConfiguration :: Lens' CreateDomainName (Maybe EndpointConfiguration)
cdnEndpointConfiguration = lens _cdnEndpointConfiguration (\ s a -> s{_cdnEndpointConfiguration = a})
cdnDomainName :: Lens' CreateDomainName Text
cdnDomainName = lens _cdnDomainName (\ s a -> s{_cdnDomainName = a})
instance AWSRequest CreateDomainName where
type Rs CreateDomainName = DomainName
request = postJSON apiGateway
response = receiveJSON (\ s h x -> eitherParseJSON x)
instance Hashable CreateDomainName where
instance NFData CreateDomainName where
instance ToHeaders CreateDomainName where
toHeaders
= const
(mconcat
["Accept" =# ("application/json" :: ByteString)])
instance ToJSON CreateDomainName where
toJSON CreateDomainName'{..}
= object
(catMaybes
[("certificateName" .=) <$> _cdnCertificateName,
("regionalCertificateArn" .=) <$>
_cdnRegionalCertificateARN,
("certificateArn" .=) <$> _cdnCertificateARN,
("certificatePrivateKey" .=) <$>
_cdnCertificatePrivateKey,
("regionalCertificateName" .=) <$>
_cdnRegionalCertificateName,
("certificateBody" .=) <$> _cdnCertificateBody,
("certificateChain" .=) <$> _cdnCertificateChain,
("endpointConfiguration" .=) <$>
_cdnEndpointConfiguration,
Just ("domainName" .= _cdnDomainName)])
instance ToPath CreateDomainName where
toPath = const "/domainnames"
instance ToQuery CreateDomainName where
toQuery = const mempty