module Network.AWS.Kinesis.RemoveTagsFromStream
(
RemoveTagsFromStream
, removeTagsFromStream
, rtfsStreamName
, rtfsTagKeys
, RemoveTagsFromStreamResponse
, removeTagsFromStreamResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.Kinesis.Types
import qualified GHC.Exts
data RemoveTagsFromStream = RemoveTagsFromStream
{ _rtfsStreamName :: Text
, _rtfsTagKeys :: List1 "TagKeys" Text
} deriving (Eq, Ord, Show)
removeTagsFromStream :: Text
-> NonEmpty Text
-> RemoveTagsFromStream
removeTagsFromStream p1 p2 = RemoveTagsFromStream
{ _rtfsStreamName = p1
, _rtfsTagKeys = withIso _List1 (const id) p2
}
rtfsStreamName :: Lens' RemoveTagsFromStream Text
rtfsStreamName = lens _rtfsStreamName (\s a -> s { _rtfsStreamName = a })
rtfsTagKeys :: Lens' RemoveTagsFromStream (NonEmpty Text)
rtfsTagKeys = lens _rtfsTagKeys (\s a -> s { _rtfsTagKeys = a }) . _List1
data RemoveTagsFromStreamResponse = RemoveTagsFromStreamResponse
deriving (Eq, Ord, Show, Generic)
removeTagsFromStreamResponse :: RemoveTagsFromStreamResponse
removeTagsFromStreamResponse = RemoveTagsFromStreamResponse
instance ToPath RemoveTagsFromStream where
toPath = const "/"
instance ToQuery RemoveTagsFromStream where
toQuery = const mempty
instance ToHeaders RemoveTagsFromStream
instance ToJSON RemoveTagsFromStream where
toJSON RemoveTagsFromStream{..} = object
[ "StreamName" .= _rtfsStreamName
, "TagKeys" .= _rtfsTagKeys
]
instance AWSRequest RemoveTagsFromStream where
type Sv RemoveTagsFromStream = Kinesis
type Rs RemoveTagsFromStream = RemoveTagsFromStreamResponse
request = post "RemoveTagsFromStream"
response = nullResponse RemoveTagsFromStreamResponse