{-# 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.GetStreamingDistribution
(
getStreamingDistribution
, GetStreamingDistribution
, gsdId
, getStreamingDistributionResponse
, GetStreamingDistributionResponse
, gsdrsETag
, gsdrsStreamingDistribution
, gsdrsResponseStatus
) 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 GetStreamingDistribution = GetStreamingDistribution'
{ _gsdId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getStreamingDistribution
:: Text
-> GetStreamingDistribution
getStreamingDistribution pId_ = GetStreamingDistribution' {_gsdId = pId_}
gsdId :: Lens' GetStreamingDistribution Text
gsdId = lens _gsdId (\ s a -> s{_gsdId = a})
instance AWSRequest GetStreamingDistribution where
type Rs GetStreamingDistribution =
GetStreamingDistributionResponse
request = get cloudFront
response
= receiveXML
(\ s h x ->
GetStreamingDistributionResponse' <$>
(h .#? "ETag") <*> (parseXML x) <*>
(pure (fromEnum s)))
instance Hashable GetStreamingDistribution where
instance NFData GetStreamingDistribution where
instance ToHeaders GetStreamingDistribution where
toHeaders = const mempty
instance ToPath GetStreamingDistribution where
toPath GetStreamingDistribution'{..}
= mconcat
["/2017-10-30/streaming-distribution/", toBS _gsdId]
instance ToQuery GetStreamingDistribution where
toQuery = const mempty
data GetStreamingDistributionResponse = GetStreamingDistributionResponse'
{ _gsdrsETag :: !(Maybe Text)
, _gsdrsStreamingDistribution :: !(Maybe StreamingDistribution)
, _gsdrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getStreamingDistributionResponse
:: Int
-> GetStreamingDistributionResponse
getStreamingDistributionResponse pResponseStatus_ =
GetStreamingDistributionResponse'
{ _gsdrsETag = Nothing
, _gsdrsStreamingDistribution = Nothing
, _gsdrsResponseStatus = pResponseStatus_
}
gsdrsETag :: Lens' GetStreamingDistributionResponse (Maybe Text)
gsdrsETag = lens _gsdrsETag (\ s a -> s{_gsdrsETag = a})
gsdrsStreamingDistribution :: Lens' GetStreamingDistributionResponse (Maybe StreamingDistribution)
gsdrsStreamingDistribution = lens _gsdrsStreamingDistribution (\ s a -> s{_gsdrsStreamingDistribution = a})
gsdrsResponseStatus :: Lens' GetStreamingDistributionResponse Int
gsdrsResponseStatus = lens _gsdrsResponseStatus (\ s a -> s{_gsdrsResponseStatus = a})
instance NFData GetStreamingDistributionResponse
where