{-# 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.GameLift.ListAliases
(
listAliases
, ListAliases
, laRoutingStrategyType
, laNextToken
, laName
, laLimit
, listAliasesResponse
, ListAliasesResponse
, larsAliases
, larsNextToken
, larsResponseStatus
) where
import Network.AWS.GameLift.Types
import Network.AWS.GameLift.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListAliases = ListAliases'
{ _laRoutingStrategyType :: !(Maybe RoutingStrategyType)
, _laNextToken :: !(Maybe Text)
, _laName :: !(Maybe Text)
, _laLimit :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAliases
:: ListAliases
listAliases =
ListAliases'
{ _laRoutingStrategyType = Nothing
, _laNextToken = Nothing
, _laName = Nothing
, _laLimit = Nothing
}
laRoutingStrategyType :: Lens' ListAliases (Maybe RoutingStrategyType)
laRoutingStrategyType = lens _laRoutingStrategyType (\ s a -> s{_laRoutingStrategyType = a});
laNextToken :: Lens' ListAliases (Maybe Text)
laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});
laName :: Lens' ListAliases (Maybe Text)
laName = lens _laName (\ s a -> s{_laName = a});
laLimit :: Lens' ListAliases (Maybe Natural)
laLimit = lens _laLimit (\ s a -> s{_laLimit = a}) . mapping _Nat;
instance AWSRequest ListAliases where
type Rs ListAliases = ListAliasesResponse
request = postJSON gameLift
response
= receiveJSON
(\ s h x ->
ListAliasesResponse' <$>
(x .?> "Aliases" .!@ mempty) <*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListAliases
instance NFData ListAliases
instance ToHeaders ListAliases where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("GameLift.ListAliases" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAliases where
toJSON ListAliases'{..}
= object
(catMaybes
[("RoutingStrategyType" .=) <$>
_laRoutingStrategyType,
("NextToken" .=) <$> _laNextToken,
("Name" .=) <$> _laName, ("Limit" .=) <$> _laLimit])
instance ToPath ListAliases where
toPath = const "/"
instance ToQuery ListAliases where
toQuery = const mempty
data ListAliasesResponse = ListAliasesResponse'
{ _larsAliases :: !(Maybe [Alias])
, _larsNextToken :: !(Maybe Text)
, _larsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAliasesResponse
:: Int
-> ListAliasesResponse
listAliasesResponse pResponseStatus_ =
ListAliasesResponse'
{ _larsAliases = Nothing
, _larsNextToken = Nothing
, _larsResponseStatus = pResponseStatus_
}
larsAliases :: Lens' ListAliasesResponse [Alias]
larsAliases = lens _larsAliases (\ s a -> s{_larsAliases = a}) . _Default . _Coerce;
larsNextToken :: Lens' ListAliasesResponse (Maybe Text)
larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});
larsResponseStatus :: Lens' ListAliasesResponse Int
larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});
instance NFData ListAliasesResponse