/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Ticket generated to track the progress of a matchmaking request. Each ticket
* is uniquely identified by a ticket ID, supplied by the requester, when creating
* a matchmaking request.See Also:
AWS
* API Reference
A unique identifier for a matchmaking ticket.
*/ inline const Aws::String& GetTicketId() const{ return m_ticketId; } /** *A unique identifier for a matchmaking ticket.
*/ inline bool TicketIdHasBeenSet() const { return m_ticketIdHasBeenSet; } /** *A unique identifier for a matchmaking ticket.
*/ inline void SetTicketId(const Aws::String& value) { m_ticketIdHasBeenSet = true; m_ticketId = value; } /** *A unique identifier for a matchmaking ticket.
*/ inline void SetTicketId(Aws::String&& value) { m_ticketIdHasBeenSet = true; m_ticketId = std::move(value); } /** *A unique identifier for a matchmaking ticket.
*/ inline void SetTicketId(const char* value) { m_ticketIdHasBeenSet = true; m_ticketId.assign(value); } /** *A unique identifier for a matchmaking ticket.
*/ inline MatchmakingTicket& WithTicketId(const Aws::String& value) { SetTicketId(value); return *this;} /** *A unique identifier for a matchmaking ticket.
*/ inline MatchmakingTicket& WithTicketId(Aws::String&& value) { SetTicketId(std::move(value)); return *this;} /** *A unique identifier for a matchmaking ticket.
*/ inline MatchmakingTicket& WithTicketId(const char* value) { SetTicketId(value); return *this;} /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline const Aws::String& GetConfigurationName() const{ return m_configurationName; } /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline bool ConfigurationNameHasBeenSet() const { return m_configurationNameHasBeenSet; } /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline void SetConfigurationName(const Aws::String& value) { m_configurationNameHasBeenSet = true; m_configurationName = value; } /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline void SetConfigurationName(Aws::String&& value) { m_configurationNameHasBeenSet = true; m_configurationName = std::move(value); } /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline void SetConfigurationName(const char* value) { m_configurationNameHasBeenSet = true; m_configurationName.assign(value); } /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline MatchmakingTicket& WithConfigurationName(const Aws::String& value) { SetConfigurationName(value); return *this;} /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline MatchmakingTicket& WithConfigurationName(Aws::String&& value) { SetConfigurationName(std::move(value)); return *this;} /** *Name of the matchmaking configuration that is used with this ticket. * Matchmaking configurations determine how players are grouped into a match and * how a new game session is created for the match.
*/ inline MatchmakingTicket& WithConfigurationName(const char* value) { SetConfigurationName(value); return *this;} /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline const Aws::String& GetConfigurationArn() const{ return m_configurationArn; } /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline bool ConfigurationArnHasBeenSet() const { return m_configurationArnHasBeenSet; } /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline void SetConfigurationArn(const Aws::String& value) { m_configurationArnHasBeenSet = true; m_configurationArn = value; } /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline void SetConfigurationArn(Aws::String&& value) { m_configurationArnHasBeenSet = true; m_configurationArn = std::move(value); } /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline void SetConfigurationArn(const char* value) { m_configurationArnHasBeenSet = true; m_configurationArn.assign(value); } /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline MatchmakingTicket& WithConfigurationArn(const Aws::String& value) { SetConfigurationArn(value); return *this;} /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline MatchmakingTicket& WithConfigurationArn(Aws::String&& value) { SetConfigurationArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) * associated with the GameLift matchmaking configuration resource that is used * with this ticket.
*/ inline MatchmakingTicket& WithConfigurationArn(const char* value) { SetConfigurationArn(value); return *this;} /** *Current status of the matchmaking request.
QUEUED -- * The matchmaking request has been received and is currently waiting to be * processed.
SEARCHING -- The matchmaking request is * currently being processed.
REQUIRES_ACCEPTANCE -- A * match has been proposed and the players must accept the match. This status is * used only with requests that use a matchmaking configuration with a player * acceptance requirement.
PLACING -- The FlexMatch * engine has matched players and is in the process of placing a new game session * for the match.
COMPLETED -- Players have been matched * and a game session is ready to host the players. A ticket in this state contains * the necessary connection information for players.
* FAILED -- The matchmaking request was not completed.
* CANCELLED -- The matchmaking request was canceled. This may be the result
* of a StopMatchmaking
operation or a proposed match that one or more
* players failed to accept.
TIMED_OUT -- The matchmaking * request was not successful within the duration specified in the matchmaking * configuration.
Matchmaking requests that fail to * successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted * as new requests with new ticket IDs.
*/ inline const MatchmakingConfigurationStatus& GetStatus() const{ return m_status; } /** *Current status of the matchmaking request.
QUEUED -- * The matchmaking request has been received and is currently waiting to be * processed.
SEARCHING -- The matchmaking request is * currently being processed.
REQUIRES_ACCEPTANCE -- A * match has been proposed and the players must accept the match. This status is * used only with requests that use a matchmaking configuration with a player * acceptance requirement.
PLACING -- The FlexMatch * engine has matched players and is in the process of placing a new game session * for the match.
COMPLETED -- Players have been matched * and a game session is ready to host the players. A ticket in this state contains * the necessary connection information for players.
* FAILED -- The matchmaking request was not completed.
* CANCELLED -- The matchmaking request was canceled. This may be the result
* of a StopMatchmaking
operation or a proposed match that one or more
* players failed to accept.
TIMED_OUT -- The matchmaking * request was not successful within the duration specified in the matchmaking * configuration.
Matchmaking requests that fail to * successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted * as new requests with new ticket IDs.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Current status of the matchmaking request.
QUEUED -- * The matchmaking request has been received and is currently waiting to be * processed.
SEARCHING -- The matchmaking request is * currently being processed.
REQUIRES_ACCEPTANCE -- A * match has been proposed and the players must accept the match. This status is * used only with requests that use a matchmaking configuration with a player * acceptance requirement.
PLACING -- The FlexMatch * engine has matched players and is in the process of placing a new game session * for the match.
COMPLETED -- Players have been matched * and a game session is ready to host the players. A ticket in this state contains * the necessary connection information for players.
* FAILED -- The matchmaking request was not completed.
* CANCELLED -- The matchmaking request was canceled. This may be the result
* of a StopMatchmaking
operation or a proposed match that one or more
* players failed to accept.
TIMED_OUT -- The matchmaking * request was not successful within the duration specified in the matchmaking * configuration.
Matchmaking requests that fail to * successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted * as new requests with new ticket IDs.
*/ inline void SetStatus(const MatchmakingConfigurationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *Current status of the matchmaking request.
QUEUED -- * The matchmaking request has been received and is currently waiting to be * processed.
SEARCHING -- The matchmaking request is * currently being processed.
REQUIRES_ACCEPTANCE -- A * match has been proposed and the players must accept the match. This status is * used only with requests that use a matchmaking configuration with a player * acceptance requirement.
PLACING -- The FlexMatch * engine has matched players and is in the process of placing a new game session * for the match.
COMPLETED -- Players have been matched * and a game session is ready to host the players. A ticket in this state contains * the necessary connection information for players.
* FAILED -- The matchmaking request was not completed.
* CANCELLED -- The matchmaking request was canceled. This may be the result
* of a StopMatchmaking
operation or a proposed match that one or more
* players failed to accept.
TIMED_OUT -- The matchmaking * request was not successful within the duration specified in the matchmaking * configuration.
Matchmaking requests that fail to * successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted * as new requests with new ticket IDs.
*/ inline void SetStatus(MatchmakingConfigurationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Current status of the matchmaking request.
QUEUED -- * The matchmaking request has been received and is currently waiting to be * processed.
SEARCHING -- The matchmaking request is * currently being processed.
REQUIRES_ACCEPTANCE -- A * match has been proposed and the players must accept the match. This status is * used only with requests that use a matchmaking configuration with a player * acceptance requirement.
PLACING -- The FlexMatch * engine has matched players and is in the process of placing a new game session * for the match.
COMPLETED -- Players have been matched * and a game session is ready to host the players. A ticket in this state contains * the necessary connection information for players.
* FAILED -- The matchmaking request was not completed.
* CANCELLED -- The matchmaking request was canceled. This may be the result
* of a StopMatchmaking
operation or a proposed match that one or more
* players failed to accept.
TIMED_OUT -- The matchmaking * request was not successful within the duration specified in the matchmaking * configuration.
Matchmaking requests that fail to * successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted * as new requests with new ticket IDs.
*/ inline MatchmakingTicket& WithStatus(const MatchmakingConfigurationStatus& value) { SetStatus(value); return *this;} /** *Current status of the matchmaking request.
QUEUED -- * The matchmaking request has been received and is currently waiting to be * processed.
SEARCHING -- The matchmaking request is * currently being processed.
REQUIRES_ACCEPTANCE -- A * match has been proposed and the players must accept the match. This status is * used only with requests that use a matchmaking configuration with a player * acceptance requirement.
PLACING -- The FlexMatch * engine has matched players and is in the process of placing a new game session * for the match.
COMPLETED -- Players have been matched * and a game session is ready to host the players. A ticket in this state contains * the necessary connection information for players.
* FAILED -- The matchmaking request was not completed.
* CANCELLED -- The matchmaking request was canceled. This may be the result
* of a StopMatchmaking
operation or a proposed match that one or more
* players failed to accept.
TIMED_OUT -- The matchmaking * request was not successful within the duration specified in the matchmaking * configuration.
Matchmaking requests that fail to * successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted * as new requests with new ticket IDs.
*/ inline MatchmakingTicket& WithStatus(MatchmakingConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} /** *Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Code to explain the current status. For example, a status reason may indicate
* when a ticket has returned to SEARCHING
status after a proposed
* match fails to receive player acceptances.
Additional information about the current status.
*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *Additional information about the current status.
*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *Additional information about the current status.
*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *Additional information about the current status.
*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *Additional information about the current status.
*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *Additional information about the current status.
*/ inline MatchmakingTicket& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *Additional information about the current status.
*/ inline MatchmakingTicket& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *Additional information about the current status.
*/ inline MatchmakingTicket& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *Time stamp indicating when this matchmaking request was received. Format is a
* number expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when this matchmaking request was received. Format is a
* number expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when this matchmaking request was received. Format is a
* number expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when this matchmaking request was received. Format is a
* number expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when this matchmaking request was received. Format is a
* number expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when this matchmaking request was received. Format is a
* number expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when the matchmaking request stopped being processed
* due to successful completion, timeout, or cancellation. Format is a number
* expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when the matchmaking request stopped being processed
* due to successful completion, timeout, or cancellation. Format is a number
* expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when the matchmaking request stopped being processed
* due to successful completion, timeout, or cancellation. Format is a number
* expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when the matchmaking request stopped being processed
* due to successful completion, timeout, or cancellation. Format is a number
* expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when the matchmaking request stopped being processed
* due to successful completion, timeout, or cancellation. Format is a number
* expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
Time stamp indicating when the matchmaking request stopped being processed
* due to successful completion, timeout, or cancellation. Format is a number
* expressed in Unix time as milliseconds (for example
* "1469498468.057"
).
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
A set of Player
objects, each representing a player to find
* matches for. Players are identified by a unique player ID and may include
* latency data for use during matchmaking. If the ticket is in status
* COMPLETED
, the Player
objects include the team the
* players were assigned to in the resulting match.
Connection information for a new game session. Once a match is made, the * FlexMatch engine creates a new game session for it. This information is added to * the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking * .
*/ inline const GameSessionConnectionInfo& GetGameSessionConnectionInfo() const{ return m_gameSessionConnectionInfo; } /** *Connection information for a new game session. Once a match is made, the * FlexMatch engine creates a new game session for it. This information is added to * the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking * .
*/ inline bool GameSessionConnectionInfoHasBeenSet() const { return m_gameSessionConnectionInfoHasBeenSet; } /** *Connection information for a new game session. Once a match is made, the * FlexMatch engine creates a new game session for it. This information is added to * the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking * .
*/ inline void SetGameSessionConnectionInfo(const GameSessionConnectionInfo& value) { m_gameSessionConnectionInfoHasBeenSet = true; m_gameSessionConnectionInfo = value; } /** *Connection information for a new game session. Once a match is made, the * FlexMatch engine creates a new game session for it. This information is added to * the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking * .
*/ inline void SetGameSessionConnectionInfo(GameSessionConnectionInfo&& value) { m_gameSessionConnectionInfoHasBeenSet = true; m_gameSessionConnectionInfo = std::move(value); } /** *Connection information for a new game session. Once a match is made, the * FlexMatch engine creates a new game session for it. This information is added to * the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking * .
*/ inline MatchmakingTicket& WithGameSessionConnectionInfo(const GameSessionConnectionInfo& value) { SetGameSessionConnectionInfo(value); return *this;} /** *Connection information for a new game session. Once a match is made, the * FlexMatch engine creates a new game session for it. This information is added to * the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking * .
*/ inline MatchmakingTicket& WithGameSessionConnectionInfo(GameSessionConnectionInfo&& value) { SetGameSessionConnectionInfo(std::move(value)); return *this;} /** *Average amount of time (in seconds) that players are currently waiting for a * match. If there is not enough recent data, this property may be empty.
*/ inline int GetEstimatedWaitTime() const{ return m_estimatedWaitTime; } /** *Average amount of time (in seconds) that players are currently waiting for a * match. If there is not enough recent data, this property may be empty.
*/ inline bool EstimatedWaitTimeHasBeenSet() const { return m_estimatedWaitTimeHasBeenSet; } /** *Average amount of time (in seconds) that players are currently waiting for a * match. If there is not enough recent data, this property may be empty.
*/ inline void SetEstimatedWaitTime(int value) { m_estimatedWaitTimeHasBeenSet = true; m_estimatedWaitTime = value; } /** *Average amount of time (in seconds) that players are currently waiting for a * match. If there is not enough recent data, this property may be empty.
*/ inline MatchmakingTicket& WithEstimatedWaitTime(int value) { SetEstimatedWaitTime(value); return *this;} private: Aws::String m_ticketId; bool m_ticketIdHasBeenSet = false; Aws::String m_configurationName; bool m_configurationNameHasBeenSet = false; Aws::String m_configurationArn; bool m_configurationArnHasBeenSet = false; MatchmakingConfigurationStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::Vector