{-# 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.Lambda.ListAliases
(
listAliases
, ListAliases
, laMarker
, laMaxItems
, laFunctionVersion
, laFunctionName
, listAliasesResponse
, ListAliasesResponse
, larsAliases
, larsNextMarker
, larsResponseStatus
) 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 ListAliases = ListAliases'
{ _laMarker :: !(Maybe Text)
, _laMaxItems :: !(Maybe Nat)
, _laFunctionVersion :: !(Maybe Text)
, _laFunctionName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listAliases
:: Text
-> ListAliases
listAliases pFunctionName_ =
ListAliases'
{ _laMarker = Nothing
, _laMaxItems = Nothing
, _laFunctionVersion = Nothing
, _laFunctionName = pFunctionName_
}
laMarker :: Lens' ListAliases (Maybe Text)
laMarker = lens _laMarker (\ s a -> s{_laMarker = a})
laMaxItems :: Lens' ListAliases (Maybe Natural)
laMaxItems = lens _laMaxItems (\ s a -> s{_laMaxItems = a}) . mapping _Nat
laFunctionVersion :: Lens' ListAliases (Maybe Text)
laFunctionVersion = lens _laFunctionVersion (\ s a -> s{_laFunctionVersion = a})
laFunctionName :: Lens' ListAliases Text
laFunctionName = lens _laFunctionName (\ s a -> s{_laFunctionName = a})
instance AWSPager ListAliases where
page rq rs
| stop (rs ^. larsNextMarker) = Nothing
| stop (rs ^. larsAliases) = Nothing
| otherwise =
Just $ rq & laMarker .~ rs ^. larsNextMarker
instance AWSRequest ListAliases where
type Rs ListAliases = ListAliasesResponse
request = get lambda
response
= receiveJSON
(\ s h x ->
ListAliasesResponse' <$>
(x .?> "Aliases" .!@ mempty) <*> (x .?> "NextMarker")
<*> (pure (fromEnum s)))
instance Hashable ListAliases where
instance NFData ListAliases where
instance ToHeaders ListAliases where
toHeaders = const mempty
instance ToPath ListAliases where
toPath ListAliases'{..}
= mconcat
["/2015-03-31/functions/", toBS _laFunctionName,
"/aliases"]
instance ToQuery ListAliases where
toQuery ListAliases'{..}
= mconcat
["Marker" =: _laMarker, "MaxItems" =: _laMaxItems,
"FunctionVersion" =: _laFunctionVersion]
data ListAliasesResponse = ListAliasesResponse'
{ _larsAliases :: !(Maybe [AliasConfiguration])
, _larsNextMarker :: !(Maybe Text)
, _larsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listAliasesResponse
:: Int
-> ListAliasesResponse
listAliasesResponse pResponseStatus_ =
ListAliasesResponse'
{ _larsAliases = Nothing
, _larsNextMarker = Nothing
, _larsResponseStatus = pResponseStatus_
}
larsAliases :: Lens' ListAliasesResponse [AliasConfiguration]
larsAliases = lens _larsAliases (\ s a -> s{_larsAliases = a}) . _Default . _Coerce
larsNextMarker :: Lens' ListAliasesResponse (Maybe Text)
larsNextMarker = lens _larsNextMarker (\ s a -> s{_larsNextMarker = a})
larsResponseStatus :: Lens' ListAliasesResponse Int
larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a})
instance NFData ListAliasesResponse where