module Network.AWS.Lambda.ListEventSourceMappings
(
listEventSourceMappings
, ListEventSourceMappings
, lesmEventSourceARN
, lesmMarker
, lesmMaxItems
, lesmFunctionName
, listEventSourceMappingsResponse
, ListEventSourceMappingsResponse
, lesmrsEventSourceMappings
, lesmrsNextMarker
, lesmrsResponseStatus
) where
import Network.AWS.Lambda.Types
import Network.AWS.Lambda.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListEventSourceMappings = ListEventSourceMappings'
{ _lesmEventSourceARN :: !(Maybe Text)
, _lesmMarker :: !(Maybe Text)
, _lesmMaxItems :: !(Maybe Nat)
, _lesmFunctionName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listEventSourceMappings
:: ListEventSourceMappings
listEventSourceMappings =
ListEventSourceMappings'
{ _lesmEventSourceARN = Nothing
, _lesmMarker = Nothing
, _lesmMaxItems = Nothing
, _lesmFunctionName = Nothing
}
lesmEventSourceARN :: Lens' ListEventSourceMappings (Maybe Text)
lesmEventSourceARN = lens _lesmEventSourceARN (\ s a -> s{_lesmEventSourceARN = a});
lesmMarker :: Lens' ListEventSourceMappings (Maybe Text)
lesmMarker = lens _lesmMarker (\ s a -> s{_lesmMarker = a});
lesmMaxItems :: Lens' ListEventSourceMappings (Maybe Natural)
lesmMaxItems = lens _lesmMaxItems (\ s a -> s{_lesmMaxItems = a}) . mapping _Nat;
lesmFunctionName :: Lens' ListEventSourceMappings (Maybe Text)
lesmFunctionName = lens _lesmFunctionName (\ s a -> s{_lesmFunctionName = a});
instance AWSPager ListEventSourceMappings where
page rq rs
| stop (rs ^. lesmrsNextMarker) = Nothing
| stop (rs ^. lesmrsEventSourceMappings) = Nothing
| otherwise =
Just $ rq & lesmMarker .~ rs ^. lesmrsNextMarker
instance AWSRequest ListEventSourceMappings where
type Rs ListEventSourceMappings =
ListEventSourceMappingsResponse
request = get lambda
response
= receiveJSON
(\ s h x ->
ListEventSourceMappingsResponse' <$>
(x .?> "EventSourceMappings" .!@ mempty) <*>
(x .?> "NextMarker")
<*> (pure (fromEnum s)))
instance Hashable ListEventSourceMappings
instance ToHeaders ListEventSourceMappings where
toHeaders = const mempty
instance ToPath ListEventSourceMappings where
toPath = const "/2015-03-31/event-source-mappings/"
instance ToQuery ListEventSourceMappings where
toQuery ListEventSourceMappings'{..}
= mconcat
["EventSourceArn" =: _lesmEventSourceARN,
"Marker" =: _lesmMarker, "MaxItems" =: _lesmMaxItems,
"FunctionName" =: _lesmFunctionName]
data ListEventSourceMappingsResponse = ListEventSourceMappingsResponse'
{ _lesmrsEventSourceMappings :: !(Maybe [EventSourceMappingConfiguration])
, _lesmrsNextMarker :: !(Maybe Text)
, _lesmrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listEventSourceMappingsResponse
:: Int
-> ListEventSourceMappingsResponse
listEventSourceMappingsResponse pResponseStatus_ =
ListEventSourceMappingsResponse'
{ _lesmrsEventSourceMappings = Nothing
, _lesmrsNextMarker = Nothing
, _lesmrsResponseStatus = pResponseStatus_
}
lesmrsEventSourceMappings :: Lens' ListEventSourceMappingsResponse [EventSourceMappingConfiguration]
lesmrsEventSourceMappings = lens _lesmrsEventSourceMappings (\ s a -> s{_lesmrsEventSourceMappings = a}) . _Default . _Coerce;
lesmrsNextMarker :: Lens' ListEventSourceMappingsResponse (Maybe Text)
lesmrsNextMarker = lens _lesmrsNextMarker (\ s a -> s{_lesmrsNextMarker = a});
lesmrsResponseStatus :: Lens' ListEventSourceMappingsResponse Int
lesmrsResponseStatus = lens _lesmrsResponseStatus (\ s a -> s{_lesmrsResponseStatus = a});