{-# 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.UntagStream
(
untagStream
, UntagStream
, usStreamARN
, usStreamName
, usTagKeyList
, untagStreamResponse
, UntagStreamResponse
, ursResponseStatus
) 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 UntagStream = UntagStream'
{ _usStreamARN :: !(Maybe Text)
, _usStreamName :: !(Maybe Text)
, _usTagKeyList :: !(List1 Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
untagStream
:: NonEmpty Text
-> UntagStream
untagStream pTagKeyList_ =
UntagStream'
{ _usStreamARN = Nothing
, _usStreamName = Nothing
, _usTagKeyList = _List1 # pTagKeyList_
}
usStreamARN :: Lens' UntagStream (Maybe Text)
usStreamARN = lens _usStreamARN (\ s a -> s{_usStreamARN = a})
usStreamName :: Lens' UntagStream (Maybe Text)
usStreamName = lens _usStreamName (\ s a -> s{_usStreamName = a})
usTagKeyList :: Lens' UntagStream (NonEmpty Text)
usTagKeyList = lens _usTagKeyList (\ s a -> s{_usTagKeyList = a}) . _List1
instance AWSRequest UntagStream where
type Rs UntagStream = UntagStreamResponse
request = postJSON kinesisVideo
response
= receiveEmpty
(\ s h x ->
UntagStreamResponse' <$> (pure (fromEnum s)))
instance Hashable UntagStream where
instance NFData UntagStream where
instance ToHeaders UntagStream where
toHeaders = const mempty
instance ToJSON UntagStream where
toJSON UntagStream'{..}
= object
(catMaybes
[("StreamARN" .=) <$> _usStreamARN,
("StreamName" .=) <$> _usStreamName,
Just ("TagKeyList" .= _usTagKeyList)])
instance ToPath UntagStream where
toPath = const "/untagStream"
instance ToQuery UntagStream where
toQuery = const mempty
newtype UntagStreamResponse = UntagStreamResponse'
{ _ursResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
untagStreamResponse
:: Int
-> UntagStreamResponse
untagStreamResponse pResponseStatus_ =
UntagStreamResponse' {_ursResponseStatus = pResponseStatus_}
ursResponseStatus :: Lens' UntagStreamResponse Int
ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a})
instance NFData UntagStreamResponse where