{-# 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.ListTagsForStream
(
listTagsForStream
, ListTagsForStream
, ltfsStreamARN
, ltfsNextToken
, ltfsStreamName
, listTagsForStreamResponse
, ListTagsForStreamResponse
, ltfsrsNextToken
, ltfsrsTags
, ltfsrsResponseStatus
) 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 ListTagsForStream = ListTagsForStream'
{ _ltfsStreamARN :: !(Maybe Text)
, _ltfsNextToken :: !(Maybe Text)
, _ltfsStreamName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForStream
:: ListTagsForStream
listTagsForStream =
ListTagsForStream'
{ _ltfsStreamARN = Nothing
, _ltfsNextToken = Nothing
, _ltfsStreamName = Nothing
}
ltfsStreamARN :: Lens' ListTagsForStream (Maybe Text)
ltfsStreamARN = lens _ltfsStreamARN (\ s a -> s{_ltfsStreamARN = a})
ltfsNextToken :: Lens' ListTagsForStream (Maybe Text)
ltfsNextToken = lens _ltfsNextToken (\ s a -> s{_ltfsNextToken = a})
ltfsStreamName :: Lens' ListTagsForStream (Maybe Text)
ltfsStreamName = lens _ltfsStreamName (\ s a -> s{_ltfsStreamName = a})
instance AWSRequest ListTagsForStream where
type Rs ListTagsForStream = ListTagsForStreamResponse
request = postJSON kinesisVideo
response
= receiveJSON
(\ s h x ->
ListTagsForStreamResponse' <$>
(x .?> "NextToken") <*> (x .?> "Tags" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable ListTagsForStream where
instance NFData ListTagsForStream where
instance ToHeaders ListTagsForStream where
toHeaders = const mempty
instance ToJSON ListTagsForStream where
toJSON ListTagsForStream'{..}
= object
(catMaybes
[("StreamARN" .=) <$> _ltfsStreamARN,
("NextToken" .=) <$> _ltfsNextToken,
("StreamName" .=) <$> _ltfsStreamName])
instance ToPath ListTagsForStream where
toPath = const "/listTagsForStream"
instance ToQuery ListTagsForStream where
toQuery = const mempty
data ListTagsForStreamResponse = ListTagsForStreamResponse'
{ _ltfsrsNextToken :: !(Maybe Text)
, _ltfsrsTags :: !(Maybe (Map Text Text))
, _ltfsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForStreamResponse
:: Int
-> ListTagsForStreamResponse
listTagsForStreamResponse pResponseStatus_ =
ListTagsForStreamResponse'
{ _ltfsrsNextToken = Nothing
, _ltfsrsTags = Nothing
, _ltfsrsResponseStatus = pResponseStatus_
}
ltfsrsNextToken :: Lens' ListTagsForStreamResponse (Maybe Text)
ltfsrsNextToken = lens _ltfsrsNextToken (\ s a -> s{_ltfsrsNextToken = a})
ltfsrsTags :: Lens' ListTagsForStreamResponse (HashMap Text Text)
ltfsrsTags = lens _ltfsrsTags (\ s a -> s{_ltfsrsTags = a}) . _Default . _Map
ltfsrsResponseStatus :: Lens' ListTagsForStreamResponse Int
ltfsrsResponseStatus = lens _ltfsrsResponseStatus (\ s a -> s{_ltfsrsResponseStatus = a})
instance NFData ListTagsForStreamResponse where