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.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 ToHeaders GetStreamingDistribution where
toHeaders = const mempty
instance ToPath GetStreamingDistribution where
toPath GetStreamingDistribution'{..}
= mconcat
["/2015-04-17/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});