{-# 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.DescribeMatchmaking
(
describeMatchmaking
, DescribeMatchmaking
, dmTicketIds
, describeMatchmakingResponse
, DescribeMatchmakingResponse
, dmrsTicketList
, dmrsResponseStatus
) 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
newtype DescribeMatchmaking = DescribeMatchmaking'
{ _dmTicketIds :: [Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMatchmaking
:: DescribeMatchmaking
describeMatchmaking = DescribeMatchmaking' {_dmTicketIds = mempty}
dmTicketIds :: Lens' DescribeMatchmaking [Text]
dmTicketIds = lens _dmTicketIds (\ s a -> s{_dmTicketIds = a}) . _Coerce
instance AWSRequest DescribeMatchmaking where
type Rs DescribeMatchmaking =
DescribeMatchmakingResponse
request = postJSON gameLift
response
= receiveJSON
(\ s h x ->
DescribeMatchmakingResponse' <$>
(x .?> "TicketList" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeMatchmaking where
instance NFData DescribeMatchmaking where
instance ToHeaders DescribeMatchmaking where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("GameLift.DescribeMatchmaking" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeMatchmaking where
toJSON DescribeMatchmaking'{..}
= object
(catMaybes [Just ("TicketIds" .= _dmTicketIds)])
instance ToPath DescribeMatchmaking where
toPath = const "/"
instance ToQuery DescribeMatchmaking where
toQuery = const mempty
data DescribeMatchmakingResponse = DescribeMatchmakingResponse'
{ _dmrsTicketList :: !(Maybe [MatchmakingTicket])
, _dmrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMatchmakingResponse
:: Int
-> DescribeMatchmakingResponse
describeMatchmakingResponse pResponseStatus_ =
DescribeMatchmakingResponse'
{_dmrsTicketList = Nothing, _dmrsResponseStatus = pResponseStatus_}
dmrsTicketList :: Lens' DescribeMatchmakingResponse [MatchmakingTicket]
dmrsTicketList = lens _dmrsTicketList (\ s a -> s{_dmrsTicketList = a}) . _Default . _Coerce
dmrsResponseStatus :: Lens' DescribeMatchmakingResponse Int
dmrsResponseStatus = lens _dmrsResponseStatus (\ s a -> s{_dmrsResponseStatus = a})
instance NFData DescribeMatchmakingResponse where