{-# 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.DescribeMatchmakingRuleSets
(
describeMatchmakingRuleSets
, DescribeMatchmakingRuleSets
, dmrsNextToken
, dmrsNames
, dmrsLimit
, describeMatchmakingRuleSetsResponse
, DescribeMatchmakingRuleSetsResponse
, dmrsrsNextToken
, dmrsrsResponseStatus
, dmrsrsRuleSets
) 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 DescribeMatchmakingRuleSets = DescribeMatchmakingRuleSets'
{ _dmrsNextToken :: !(Maybe Text)
, _dmrsNames :: !(Maybe (List1 Text))
, _dmrsLimit :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMatchmakingRuleSets
:: DescribeMatchmakingRuleSets
describeMatchmakingRuleSets =
DescribeMatchmakingRuleSets'
{_dmrsNextToken = Nothing, _dmrsNames = Nothing, _dmrsLimit = Nothing}
dmrsNextToken :: Lens' DescribeMatchmakingRuleSets (Maybe Text)
dmrsNextToken = lens _dmrsNextToken (\ s a -> s{_dmrsNextToken = a})
dmrsNames :: Lens' DescribeMatchmakingRuleSets (Maybe (NonEmpty Text))
dmrsNames = lens _dmrsNames (\ s a -> s{_dmrsNames = a}) . mapping _List1
dmrsLimit :: Lens' DescribeMatchmakingRuleSets (Maybe Natural)
dmrsLimit = lens _dmrsLimit (\ s a -> s{_dmrsLimit = a}) . mapping _Nat
instance AWSRequest DescribeMatchmakingRuleSets where
type Rs DescribeMatchmakingRuleSets =
DescribeMatchmakingRuleSetsResponse
request = postJSON gameLift
response
= receiveJSON
(\ s h x ->
DescribeMatchmakingRuleSetsResponse' <$>
(x .?> "NextToken") <*> (pure (fromEnum s)) <*>
(x .?> "RuleSets" .!@ mempty))
instance Hashable DescribeMatchmakingRuleSets where
instance NFData DescribeMatchmakingRuleSets where
instance ToHeaders DescribeMatchmakingRuleSets where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("GameLift.DescribeMatchmakingRuleSets" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeMatchmakingRuleSets where
toJSON DescribeMatchmakingRuleSets'{..}
= object
(catMaybes
[("NextToken" .=) <$> _dmrsNextToken,
("Names" .=) <$> _dmrsNames,
("Limit" .=) <$> _dmrsLimit])
instance ToPath DescribeMatchmakingRuleSets where
toPath = const "/"
instance ToQuery DescribeMatchmakingRuleSets where
toQuery = const mempty
data DescribeMatchmakingRuleSetsResponse = DescribeMatchmakingRuleSetsResponse'
{ _dmrsrsNextToken :: !(Maybe Text)
, _dmrsrsResponseStatus :: !Int
, _dmrsrsRuleSets :: ![MatchmakingRuleSet]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMatchmakingRuleSetsResponse
:: Int
-> DescribeMatchmakingRuleSetsResponse
describeMatchmakingRuleSetsResponse pResponseStatus_ =
DescribeMatchmakingRuleSetsResponse'
{ _dmrsrsNextToken = Nothing
, _dmrsrsResponseStatus = pResponseStatus_
, _dmrsrsRuleSets = mempty
}
dmrsrsNextToken :: Lens' DescribeMatchmakingRuleSetsResponse (Maybe Text)
dmrsrsNextToken = lens _dmrsrsNextToken (\ s a -> s{_dmrsrsNextToken = a})
dmrsrsResponseStatus :: Lens' DescribeMatchmakingRuleSetsResponse Int
dmrsrsResponseStatus = lens _dmrsrsResponseStatus (\ s a -> s{_dmrsrsResponseStatus = a})
dmrsrsRuleSets :: Lens' DescribeMatchmakingRuleSetsResponse [MatchmakingRuleSet]
dmrsrsRuleSets = lens _dmrsrsRuleSets (\ s a -> s{_dmrsrsRuleSets = a}) . _Coerce
instance NFData DescribeMatchmakingRuleSetsResponse
where