{-# 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.CloudFront.CreateDistributionWithTags
(
createDistributionWithTags
, CreateDistributionWithTags
, cdwtDistributionConfigWithTags
, createDistributionWithTagsResponse
, CreateDistributionWithTagsResponse
, cdwtrsETag
, cdwtrsDistribution
, cdwtrsLocation
, cdwtrsResponseStatus
) where
import Network.AWS.CloudFront.Types
import Network.AWS.CloudFront.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype CreateDistributionWithTags = CreateDistributionWithTags'
{ _cdwtDistributionConfigWithTags :: DistributionConfigWithTags
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createDistributionWithTags
:: DistributionConfigWithTags
-> CreateDistributionWithTags
createDistributionWithTags pDistributionConfigWithTags_ =
CreateDistributionWithTags'
{_cdwtDistributionConfigWithTags = pDistributionConfigWithTags_}
cdwtDistributionConfigWithTags :: Lens' CreateDistributionWithTags DistributionConfigWithTags
cdwtDistributionConfigWithTags = lens _cdwtDistributionConfigWithTags (\ s a -> s{_cdwtDistributionConfigWithTags = a})
instance AWSRequest CreateDistributionWithTags where
type Rs CreateDistributionWithTags =
CreateDistributionWithTagsResponse
request = postXML cloudFront
response
= receiveXML
(\ s h x ->
CreateDistributionWithTagsResponse' <$>
(h .#? "ETag") <*> (parseXML x) <*>
(h .#? "Location")
<*> (pure (fromEnum s)))
instance Hashable CreateDistributionWithTags where
instance NFData CreateDistributionWithTags where
instance ToElement CreateDistributionWithTags where
toElement
= mkElement
"{http://cloudfront.amazonaws.com/doc/2017-10-30/}DistributionConfigWithTags"
.
_cdwtDistributionConfigWithTags
instance ToHeaders CreateDistributionWithTags where
toHeaders = const mempty
instance ToPath CreateDistributionWithTags where
toPath = const "/2017-10-30/distribution"
instance ToQuery CreateDistributionWithTags where
toQuery = const (mconcat ["WithTags"])
data CreateDistributionWithTagsResponse = CreateDistributionWithTagsResponse'
{ _cdwtrsETag :: !(Maybe Text)
, _cdwtrsDistribution :: !(Maybe Distribution)
, _cdwtrsLocation :: !(Maybe Text)
, _cdwtrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createDistributionWithTagsResponse
:: Int
-> CreateDistributionWithTagsResponse
createDistributionWithTagsResponse pResponseStatus_ =
CreateDistributionWithTagsResponse'
{ _cdwtrsETag = Nothing
, _cdwtrsDistribution = Nothing
, _cdwtrsLocation = Nothing
, _cdwtrsResponseStatus = pResponseStatus_
}
cdwtrsETag :: Lens' CreateDistributionWithTagsResponse (Maybe Text)
cdwtrsETag = lens _cdwtrsETag (\ s a -> s{_cdwtrsETag = a})
cdwtrsDistribution :: Lens' CreateDistributionWithTagsResponse (Maybe Distribution)
cdwtrsDistribution = lens _cdwtrsDistribution (\ s a -> s{_cdwtrsDistribution = a})
cdwtrsLocation :: Lens' CreateDistributionWithTagsResponse (Maybe Text)
cdwtrsLocation = lens _cdwtrsLocation (\ s a -> s{_cdwtrsLocation = a})
cdwtrsResponseStatus :: Lens' CreateDistributionWithTagsResponse Int
cdwtrsResponseStatus = lens _cdwtrsResponseStatus (\ s a -> s{_cdwtrsResponseStatus = a})
instance NFData CreateDistributionWithTagsResponse
where