{-# 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.KinesisVideo.DescribeStream
(
describeStream
, DescribeStream
, dStreamARN
, dStreamName
, describeStreamResponse
, DescribeStreamResponse
, drsStreamInfo
, drsResponseStatus
) where
import Network.AWS.KinesisVideo.Types
import Network.AWS.KinesisVideo.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeStream = DescribeStream'
{ _dStreamARN :: !(Maybe Text)
, _dStreamName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStream
:: DescribeStream
describeStream = DescribeStream' {_dStreamARN = Nothing, _dStreamName = Nothing}
dStreamARN :: Lens' DescribeStream (Maybe Text)
dStreamARN = lens _dStreamARN (\ s a -> s{_dStreamARN = a})
dStreamName :: Lens' DescribeStream (Maybe Text)
dStreamName = lens _dStreamName (\ s a -> s{_dStreamName = a})
instance AWSRequest DescribeStream where
type Rs DescribeStream = DescribeStreamResponse
request = postJSON kinesisVideo
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 ToJSON DescribeStream where
toJSON DescribeStream'{..}
= object
(catMaybes
[("StreamARN" .=) <$> _dStreamARN,
("StreamName" .=) <$> _dStreamName])
instance ToPath DescribeStream where
toPath = const "/describeStream"
instance ToQuery DescribeStream where
toQuery = const mempty
data DescribeStreamResponse = DescribeStreamResponse'
{ _drsStreamInfo :: !(Maybe StreamInfo)
, _drsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStreamResponse
:: Int
-> DescribeStreamResponse
describeStreamResponse pResponseStatus_ =
DescribeStreamResponse'
{_drsStreamInfo = Nothing, _drsResponseStatus = pResponseStatus_}
drsStreamInfo :: Lens' DescribeStreamResponse (Maybe StreamInfo)
drsStreamInfo = lens _drsStreamInfo (\ s a -> s{_drsStreamInfo = a})
drsResponseStatus :: Lens' DescribeStreamResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})
instance NFData DescribeStreamResponse where