{-# 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.MQ.ListBrokers
(
listBrokers
, ListBrokers
, lbNextToken
, lbMaxResults
, listBrokersResponse
, ListBrokersResponse
, lbrsNextToken
, lbrsBrokerSummaries
, lbrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MQ.Types
import Network.AWS.MQ.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListBrokers = ListBrokers'
{ _lbNextToken :: !(Maybe Text)
, _lbMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listBrokers
:: ListBrokers
listBrokers = ListBrokers' {_lbNextToken = Nothing, _lbMaxResults = Nothing}
lbNextToken :: Lens' ListBrokers (Maybe Text)
lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a})
lbMaxResults :: Lens' ListBrokers (Maybe Natural)
lbMaxResults = lens _lbMaxResults (\ s a -> s{_lbMaxResults = a}) . mapping _Nat
instance AWSRequest ListBrokers where
type Rs ListBrokers = ListBrokersResponse
request = get mq
response
= receiveJSON
(\ s h x ->
ListBrokersResponse' <$>
(x .?> "nextToken") <*>
(x .?> "brokerSummaries" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListBrokers where
instance NFData ListBrokers where
instance ToHeaders ListBrokers where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath ListBrokers where
toPath = const "/v1/brokers"
instance ToQuery ListBrokers where
toQuery ListBrokers'{..}
= mconcat
["nextToken" =: _lbNextToken,
"maxResults" =: _lbMaxResults]
data ListBrokersResponse = ListBrokersResponse'
{ _lbrsNextToken :: !(Maybe Text)
, _lbrsBrokerSummaries :: !(Maybe [BrokerSummary])
, _lbrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listBrokersResponse
:: Int
-> ListBrokersResponse
listBrokersResponse pResponseStatus_ =
ListBrokersResponse'
{ _lbrsNextToken = Nothing
, _lbrsBrokerSummaries = Nothing
, _lbrsResponseStatus = pResponseStatus_
}
lbrsNextToken :: Lens' ListBrokersResponse (Maybe Text)
lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a})
lbrsBrokerSummaries :: Lens' ListBrokersResponse [BrokerSummary]
lbrsBrokerSummaries = lens _lbrsBrokerSummaries (\ s a -> s{_lbrsBrokerSummaries = a}) . _Default . _Coerce
lbrsResponseStatus :: Lens' ListBrokersResponse Int
lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a})
instance NFData ListBrokersResponse where