{-# 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.Kinesis.DescribeStreamSummary
(
describeStreamSummary
, DescribeStreamSummary
, dssStreamName
, describeStreamSummaryResponse
, DescribeStreamSummaryResponse
, dssrsResponseStatus
, dssrsStreamDescriptionSummary
) where
import Network.AWS.Kinesis.Types
import Network.AWS.Kinesis.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeStreamSummary = DescribeStreamSummary'
{ _dssStreamName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStreamSummary
:: Text
-> DescribeStreamSummary
describeStreamSummary pStreamName_ =
DescribeStreamSummary' {_dssStreamName = pStreamName_}
dssStreamName :: Lens' DescribeStreamSummary Text
dssStreamName = lens _dssStreamName (\ s a -> s{_dssStreamName = a})
instance AWSRequest DescribeStreamSummary where
type Rs DescribeStreamSummary =
DescribeStreamSummaryResponse
request = postJSON kinesis
response
= receiveJSON
(\ s h x ->
DescribeStreamSummaryResponse' <$>
(pure (fromEnum s)) <*>
(x .:> "StreamDescriptionSummary"))
instance Hashable DescribeStreamSummary where
instance NFData DescribeStreamSummary where
instance ToHeaders DescribeStreamSummary where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Kinesis_20131202.DescribeStreamSummary" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeStreamSummary where
toJSON DescribeStreamSummary'{..}
= object
(catMaybes [Just ("StreamName" .= _dssStreamName)])
instance ToPath DescribeStreamSummary where
toPath = const "/"
instance ToQuery DescribeStreamSummary where
toQuery = const mempty
data DescribeStreamSummaryResponse = DescribeStreamSummaryResponse'
{ _dssrsResponseStatus :: !Int
, _dssrsStreamDescriptionSummary :: !StreamDescriptionSummary
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStreamSummaryResponse
:: Int
-> StreamDescriptionSummary
-> DescribeStreamSummaryResponse
describeStreamSummaryResponse pResponseStatus_ pStreamDescriptionSummary_ =
DescribeStreamSummaryResponse'
{ _dssrsResponseStatus = pResponseStatus_
, _dssrsStreamDescriptionSummary = pStreamDescriptionSummary_
}
dssrsResponseStatus :: Lens' DescribeStreamSummaryResponse Int
dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a})
dssrsStreamDescriptionSummary :: Lens' DescribeStreamSummaryResponse StreamDescriptionSummary
dssrsStreamDescriptionSummary = lens _dssrsStreamDescriptionSummary (\ s a -> s{_dssrsStreamDescriptionSummary = a})
instance NFData DescribeStreamSummaryResponse where