{-# 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.IoT.DescribeStream
(
describeStream
, DescribeStream
, dStreamId
, describeStreamResponse
, DescribeStreamResponse
, dssrsStreamInfo
, dssrsResponseStatus
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeStream = DescribeStream'
{ _dStreamId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStream
:: Text
-> DescribeStream
describeStream pStreamId_ = DescribeStream' {_dStreamId = pStreamId_}
dStreamId :: Lens' DescribeStream Text
dStreamId = lens _dStreamId (\ s a -> s{_dStreamId = a})
instance AWSRequest DescribeStream where
type Rs DescribeStream = DescribeStreamResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
DescribeStreamResponse' <$>
(x .?> "streamInfo") <*> (pure (fromEnum s)))
instance Hashable DescribeStream where
instance NFData DescribeStream where
instance ToHeaders DescribeStream where
toHeaders = const mempty
instance ToPath DescribeStream where
toPath DescribeStream'{..}
= mconcat ["/streams/", toBS _dStreamId]
instance ToQuery DescribeStream where
toQuery = const mempty
data DescribeStreamResponse = DescribeStreamResponse'
{ _dssrsStreamInfo :: !(Maybe StreamInfo)
, _dssrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStreamResponse
:: Int
-> DescribeStreamResponse
describeStreamResponse pResponseStatus_ =
DescribeStreamResponse'
{_dssrsStreamInfo = Nothing, _dssrsResponseStatus = pResponseStatus_}
dssrsStreamInfo :: Lens' DescribeStreamResponse (Maybe StreamInfo)
dssrsStreamInfo = lens _dssrsStreamInfo (\ s a -> s{_dssrsStreamInfo = a})
dssrsResponseStatus :: Lens' DescribeStreamResponse Int
dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a})
instance NFData DescribeStreamResponse where