{-# 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.DescribeMatchmakingConfigurations
(
describeMatchmakingConfigurations
, DescribeMatchmakingConfigurations
, dmcRuleSetName
, dmcNextToken
, dmcNames
, dmcLimit
, describeMatchmakingConfigurationsResponse
, DescribeMatchmakingConfigurationsResponse
, dmcsrsConfigurations
, dmcsrsNextToken
, dmcsrsResponseStatus
) 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 DescribeMatchmakingConfigurations = DescribeMatchmakingConfigurations'
{ _dmcRuleSetName :: !(Maybe Text)
, _dmcNextToken :: !(Maybe Text)
, _dmcNames :: !(Maybe [Text])
, _dmcLimit :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMatchmakingConfigurations
:: DescribeMatchmakingConfigurations
describeMatchmakingConfigurations =
DescribeMatchmakingConfigurations'
{ _dmcRuleSetName = Nothing
, _dmcNextToken = Nothing
, _dmcNames = Nothing
, _dmcLimit = Nothing
}
dmcRuleSetName :: Lens' DescribeMatchmakingConfigurations (Maybe Text)
dmcRuleSetName = lens _dmcRuleSetName (\ s a -> s{_dmcRuleSetName = a})
dmcNextToken :: Lens' DescribeMatchmakingConfigurations (Maybe Text)
dmcNextToken = lens _dmcNextToken (\ s a -> s{_dmcNextToken = a})
dmcNames :: Lens' DescribeMatchmakingConfigurations [Text]
dmcNames = lens _dmcNames (\ s a -> s{_dmcNames = a}) . _Default . _Coerce
dmcLimit :: Lens' DescribeMatchmakingConfigurations (Maybe Natural)
dmcLimit = lens _dmcLimit (\ s a -> s{_dmcLimit = a}) . mapping _Nat
instance AWSRequest DescribeMatchmakingConfigurations
where
type Rs DescribeMatchmakingConfigurations =
DescribeMatchmakingConfigurationsResponse
request = postJSON gameLift
response
= receiveJSON
(\ s h x ->
DescribeMatchmakingConfigurationsResponse' <$>
(x .?> "Configurations" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeMatchmakingConfigurations
where
instance NFData DescribeMatchmakingConfigurations
where
instance ToHeaders DescribeMatchmakingConfigurations
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("GameLift.DescribeMatchmakingConfigurations" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeMatchmakingConfigurations
where
toJSON DescribeMatchmakingConfigurations'{..}
= object
(catMaybes
[("RuleSetName" .=) <$> _dmcRuleSetName,
("NextToken" .=) <$> _dmcNextToken,
("Names" .=) <$> _dmcNames,
("Limit" .=) <$> _dmcLimit])
instance ToPath DescribeMatchmakingConfigurations
where
toPath = const "/"
instance ToQuery DescribeMatchmakingConfigurations
where
toQuery = const mempty
data DescribeMatchmakingConfigurationsResponse = DescribeMatchmakingConfigurationsResponse'
{ _dmcsrsConfigurations :: !(Maybe [MatchmakingConfiguration])
, _dmcsrsNextToken :: !(Maybe Text)
, _dmcsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMatchmakingConfigurationsResponse
:: Int
-> DescribeMatchmakingConfigurationsResponse
describeMatchmakingConfigurationsResponse pResponseStatus_ =
DescribeMatchmakingConfigurationsResponse'
{ _dmcsrsConfigurations = Nothing
, _dmcsrsNextToken = Nothing
, _dmcsrsResponseStatus = pResponseStatus_
}
dmcsrsConfigurations :: Lens' DescribeMatchmakingConfigurationsResponse [MatchmakingConfiguration]
dmcsrsConfigurations = lens _dmcsrsConfigurations (\ s a -> s{_dmcsrsConfigurations = a}) . _Default . _Coerce
dmcsrsNextToken :: Lens' DescribeMatchmakingConfigurationsResponse (Maybe Text)
dmcsrsNextToken = lens _dmcsrsNextToken (\ s a -> s{_dmcsrsNextToken = a})
dmcsrsResponseStatus :: Lens' DescribeMatchmakingConfigurationsResponse Int
dmcsrsResponseStatus = lens _dmcsrsResponseStatus (\ s a -> s{_dmcsrsResponseStatus = a})
instance NFData
DescribeMatchmakingConfigurationsResponse
where