/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.gamelift.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking * configuration. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class MatchmakingConfiguration implements Serializable, Cloneable, StructuredPojo { /** ** A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated * with a matchmaking request or ticket. *
*/ private String name; /** *
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift matchmaking configuration resource and uniquely identifies it. ARNs are
* unique across all Regions. Format is
* arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
. In
* a Amazon GameLift configuration ARN, the resource ID matches the Name value.
*
* A descriptive label that is associated with matchmaking configuration. *
*/ private String description; /** *
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique
* across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*
* The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests * that fail due to timing out can be resubmitted as needed. *
*/ private Integer requestTimeoutSeconds; /** ** The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. If any * player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable * match. *
*/ private Integer acceptanceTimeoutSeconds; /** *
* A flag that indicates whether a match that was created with this configuration must be accepted by the matched
* players. To require acceptance, set to TRUE. When this option is enabled, matchmaking tickets use the status
* REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for player acceptance.
*
* A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking configuration can * only use rule sets that are defined in the same Region. *
*/ private String ruleSetName; /** ** The Amazon Resource Name (ARN) * associated with the GameLift matchmaking rule set resource that this configuration uses. *
*/ private String ruleSetArn; /** ** An SNS topic ARN that is set up to receive matchmaking notifications. *
*/ private String notificationTarget; /** *
* The number of player slots in a match to keep open for future players. For example, if the configuration's rule
* set specifies a match for a single 10-person team, and the additional player count is set to 2, 10 players will
* be selected for the match and 2 more player slots will be open for future players. This parameter is not used
* when FlexMatchMode
is set to STANDALONE
.
*
* Information to attach to all events related to the matchmaking configuration. *
*/ private String customEventData; /** *
* A time stamp indicating when this data object was created. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a
* game server process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
* A set of custom game session properties, formatted as a single string value. This data is passed to a game server
* process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
* The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the
* game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift
* creates backfill requests whenever a game session has one or more open slots. Learn more about manual and
* automatic backfill in Backfill existing games
* with FlexMatch. Automatic backfill is not available when FlexMatchMode
is set to
* STANDALONE
.
*
* Indicates whether this matchmaking configuration is being used with Amazon GameLift hosting or as a standalone * matchmaking solution. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a * MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game session * for the match. *
** A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated * with a matchmaking request or ticket. *
* * @param name * A unique identifier for the matchmaking configuration. This name is used to identify the configuration * associated with a matchmaking request or ticket. */ public void setName(String name) { this.name = name; } /** ** A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated * with a matchmaking request or ticket. *
* * @return A unique identifier for the matchmaking configuration. This name is used to identify the configuration * associated with a matchmaking request or ticket. */ public String getName() { return this.name; } /** ** A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated * with a matchmaking request or ticket. *
* * @param name * A unique identifier for the matchmaking configuration. This name is used to identify the configuration * associated with a matchmaking request or ticket. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withName(String name) { setName(name); return this; } /** *
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift matchmaking configuration resource and uniquely identifies it. ARNs are
* unique across all Regions. Format is
* arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
. In
* a Amazon GameLift configuration ARN, the resource ID matches the Name value.
*
arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
* . In a Amazon GameLift configuration ARN, the resource ID matches the Name value.
*/
public void setConfigurationArn(String configurationArn) {
this.configurationArn = configurationArn;
}
/**
*
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift matchmaking configuration resource and uniquely identifies it. ARNs are
* unique across all Regions. Format is
* arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
. In
* a Amazon GameLift configuration ARN, the resource ID matches the Name value.
*
arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
* . In a Amazon GameLift configuration ARN, the resource ID matches the Name value.
*/
public String getConfigurationArn() {
return this.configurationArn;
}
/**
*
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift matchmaking configuration resource and uniquely identifies it. ARNs are
* unique across all Regions. Format is
* arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
. In
* a Amazon GameLift configuration ARN, the resource ID matches the Name value.
*
arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking configuration name>
* . In a Amazon GameLift configuration ARN, the resource ID matches the Name value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withConfigurationArn(String configurationArn) {
setConfigurationArn(configurationArn);
return this;
}
/**
* * A descriptive label that is associated with matchmaking configuration. *
* * @param description * A descriptive label that is associated with matchmaking configuration. */ public void setDescription(String description) { this.description = description; } /** ** A descriptive label that is associated with matchmaking configuration. *
* * @return A descriptive label that is associated with matchmaking configuration. */ public String getDescription() { return this.description; } /** ** A descriptive label that is associated with matchmaking configuration. *
* * @param description * A descriptive label that is associated with matchmaking configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withDescription(String description) { setDescription(description); return this; } /** *
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique
* across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*
arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions
* for matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*/
public java.util.List
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique
* across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*
arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*/
public void setGameSessionQueueArns(java.util.Collection
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique
* across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setGameSessionQueueArns(java.util.Collection)} or {@link #withGameSessionQueueArns(java.util.Collection)} * if you want to override the existing values. *
* * @param gameSessionQueueArns * The Amazon Resource Name (ARN) that is assigned to a * Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique across all * Regions. Format isarn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withGameSessionQueueArns(String... gameSessionQueueArns) {
if (this.gameSessionQueueArns == null) {
setGameSessionQueueArns(new java.util.ArrayList
* The Amazon Resource Name (ARN)
* that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. ARNs are unique
* across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
*
arn:aws:gamelift:<region>::gamesessionqueue/<queue name>
.
* Queues can be located in any Region. Queues are used to start new Amazon GameLift-hosted game sessions for
* matches that are created with this matchmaking configuration. This property is not set when
* FlexMatchMode
is set to STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withGameSessionQueueArns(java.util.Collection* The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests * that fail due to timing out can be resubmitted as needed. *
* * @param requestTimeoutSeconds * The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. * Requests that fail due to timing out can be resubmitted as needed. */ public void setRequestTimeoutSeconds(Integer requestTimeoutSeconds) { this.requestTimeoutSeconds = requestTimeoutSeconds; } /** ** The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests * that fail due to timing out can be resubmitted as needed. *
* * @return The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. * Requests that fail due to timing out can be resubmitted as needed. */ public Integer getRequestTimeoutSeconds() { return this.requestTimeoutSeconds; } /** ** The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests * that fail due to timing out can be resubmitted as needed. *
* * @param requestTimeoutSeconds * The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. * Requests that fail due to timing out can be resubmitted as needed. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withRequestTimeoutSeconds(Integer requestTimeoutSeconds) { setRequestTimeoutSeconds(requestTimeoutSeconds); return this; } /** ** The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. If any * player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable * match. *
* * @param acceptanceTimeoutSeconds * The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. * If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an * acceptable match. */ public void setAcceptanceTimeoutSeconds(Integer acceptanceTimeoutSeconds) { this.acceptanceTimeoutSeconds = acceptanceTimeoutSeconds; } /** ** The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. If any * player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable * match. *
* * @return The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is * required. If any player rejects the match or fails to accept before the timeout, the ticket continues to * look for an acceptable match. */ public Integer getAcceptanceTimeoutSeconds() { return this.acceptanceTimeoutSeconds; } /** ** The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. If any * player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable * match. *
* * @param acceptanceTimeoutSeconds * The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. * If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an * acceptable match. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withAcceptanceTimeoutSeconds(Integer acceptanceTimeoutSeconds) { setAcceptanceTimeoutSeconds(acceptanceTimeoutSeconds); return this; } /** *
* A flag that indicates whether a match that was created with this configuration must be accepted by the matched
* players. To require acceptance, set to TRUE. When this option is enabled, matchmaking tickets use the status
* REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for player acceptance.
*
REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for
* player acceptance.
*/
public void setAcceptanceRequired(Boolean acceptanceRequired) {
this.acceptanceRequired = acceptanceRequired;
}
/**
*
* A flag that indicates whether a match that was created with this configuration must be accepted by the matched
* players. To require acceptance, set to TRUE. When this option is enabled, matchmaking tickets use the status
* REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for player acceptance.
*
REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for
* player acceptance.
*/
public Boolean getAcceptanceRequired() {
return this.acceptanceRequired;
}
/**
*
* A flag that indicates whether a match that was created with this configuration must be accepted by the matched
* players. To require acceptance, set to TRUE. When this option is enabled, matchmaking tickets use the status
* REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for player acceptance.
*
REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for
* player acceptance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withAcceptanceRequired(Boolean acceptanceRequired) {
setAcceptanceRequired(acceptanceRequired);
return this;
}
/**
*
* A flag that indicates whether a match that was created with this configuration must be accepted by the matched
* players. To require acceptance, set to TRUE. When this option is enabled, matchmaking tickets use the status
* REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for player acceptance.
*
REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for
* player acceptance.
*/
public Boolean isAcceptanceRequired() {
return this.acceptanceRequired;
}
/**
* * A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking configuration can * only use rule sets that are defined in the same Region. *
* * @param ruleSetName * A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking * configuration can only use rule sets that are defined in the same Region. */ public void setRuleSetName(String ruleSetName) { this.ruleSetName = ruleSetName; } /** ** A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking configuration can * only use rule sets that are defined in the same Region. *
* * @return A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking * configuration can only use rule sets that are defined in the same Region. */ public String getRuleSetName() { return this.ruleSetName; } /** ** A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking configuration can * only use rule sets that are defined in the same Region. *
* * @param ruleSetName * A unique identifier for the matchmaking rule set to use with this configuration. A matchmaking * configuration can only use rule sets that are defined in the same Region. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withRuleSetName(String ruleSetName) { setRuleSetName(ruleSetName); return this; } /** ** The Amazon Resource Name (ARN) * associated with the GameLift matchmaking rule set resource that this configuration uses. *
* * @param ruleSetArn * The Amazon Resource Name (ARN) associated with the * GameLift matchmaking rule set resource that this configuration uses. */ public void setRuleSetArn(String ruleSetArn) { this.ruleSetArn = ruleSetArn; } /** ** The Amazon Resource Name (ARN) * associated with the GameLift matchmaking rule set resource that this configuration uses. *
* * @return The Amazon Resource Name (ARN) associated with the * GameLift matchmaking rule set resource that this configuration uses. */ public String getRuleSetArn() { return this.ruleSetArn; } /** ** The Amazon Resource Name (ARN) * associated with the GameLift matchmaking rule set resource that this configuration uses. *
* * @param ruleSetArn * The Amazon Resource Name (ARN) associated with the * GameLift matchmaking rule set resource that this configuration uses. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withRuleSetArn(String ruleSetArn) { setRuleSetArn(ruleSetArn); return this; } /** ** An SNS topic ARN that is set up to receive matchmaking notifications. *
* * @param notificationTarget * An SNS topic ARN that is set up to receive matchmaking notifications. */ public void setNotificationTarget(String notificationTarget) { this.notificationTarget = notificationTarget; } /** ** An SNS topic ARN that is set up to receive matchmaking notifications. *
* * @return An SNS topic ARN that is set up to receive matchmaking notifications. */ public String getNotificationTarget() { return this.notificationTarget; } /** ** An SNS topic ARN that is set up to receive matchmaking notifications. *
* * @param notificationTarget * An SNS topic ARN that is set up to receive matchmaking notifications. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withNotificationTarget(String notificationTarget) { setNotificationTarget(notificationTarget); return this; } /** *
* The number of player slots in a match to keep open for future players. For example, if the configuration's rule
* set specifies a match for a single 10-person team, and the additional player count is set to 2, 10 players will
* be selected for the match and 2 more player slots will be open for future players. This parameter is not used
* when FlexMatchMode
is set to STANDALONE
.
*
FlexMatchMode
is set to STANDALONE
.
*/
public void setAdditionalPlayerCount(Integer additionalPlayerCount) {
this.additionalPlayerCount = additionalPlayerCount;
}
/**
*
* The number of player slots in a match to keep open for future players. For example, if the configuration's rule
* set specifies a match for a single 10-person team, and the additional player count is set to 2, 10 players will
* be selected for the match and 2 more player slots will be open for future players. This parameter is not used
* when FlexMatchMode
is set to STANDALONE
.
*
FlexMatchMode
is set to STANDALONE
.
*/
public Integer getAdditionalPlayerCount() {
return this.additionalPlayerCount;
}
/**
*
* The number of player slots in a match to keep open for future players. For example, if the configuration's rule
* set specifies a match for a single 10-person team, and the additional player count is set to 2, 10 players will
* be selected for the match and 2 more player slots will be open for future players. This parameter is not used
* when FlexMatchMode
is set to STANDALONE
.
*
FlexMatchMode
is set to STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withAdditionalPlayerCount(Integer additionalPlayerCount) {
setAdditionalPlayerCount(additionalPlayerCount);
return this;
}
/**
* * Information to attach to all events related to the matchmaking configuration. *
* * @param customEventData * Information to attach to all events related to the matchmaking configuration. */ public void setCustomEventData(String customEventData) { this.customEventData = customEventData; } /** ** Information to attach to all events related to the matchmaking configuration. *
* * @return Information to attach to all events related to the matchmaking configuration. */ public String getCustomEventData() { return this.customEventData; } /** ** Information to attach to all events related to the matchmaking configuration. *
* * @param customEventData * Information to attach to all events related to the matchmaking configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withCustomEventData(String customEventData) { setCustomEventData(customEventData); return this; } /** *
* A time stamp indicating when this data object was created. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
"1469498468.057"
).
*/
public void setCreationTime(java.util.Date creationTime) {
this.creationTime = creationTime;
}
/**
*
* A time stamp indicating when this data object was created. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
"1469498468.057"
).
*/
public java.util.Date getCreationTime() {
return this.creationTime;
}
/**
*
* A time stamp indicating when this data object was created. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
"1469498468.057"
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withCreationTime(java.util.Date creationTime) {
setCreationTime(creationTime);
return this;
}
/**
*
* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a
* game server process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
GameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*/
public java.util.List
* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a
* game server process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
GameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*/
public void setGameProperties(java.util.Collection
* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a
* game server process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setGameProperties(java.util.Collection)} or {@link #withGameProperties(java.util.Collection)} if you want * to override the existing values. *
* * @param gameProperties * A set of custom properties for a game session, formatted as key:value pairs. These properties are passed * to a game server process with a request to start a new game session (see Start a Game Session). This information is added to the newGameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withGameProperties(GameProperty... gameProperties) {
if (this.gameProperties == null) {
setGameProperties(new java.util.ArrayList
* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a
* game server process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
GameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withGameProperties(java.util.Collection
* A set of custom game session properties, formatted as a single string value. This data is passed to a game server
* process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
GameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*/
public void setGameSessionData(String gameSessionData) {
this.gameSessionData = gameSessionData;
}
/**
*
* A set of custom game session properties, formatted as a single string value. This data is passed to a game server
* process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
GameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*/
public String getGameSessionData() {
return this.gameSessionData;
}
/**
*
* A set of custom game session properties, formatted as a single string value. This data is passed to a game server
* process with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession
object that is created
* for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
*
GameSession
object that is
* created for a successful match. This parameter is not used when FlexMatchMode
is set to
* STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MatchmakingConfiguration withGameSessionData(String gameSessionData) {
setGameSessionData(gameSessionData);
return this;
}
/**
*
* The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the
* game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift
* creates backfill requests whenever a game session has one or more open slots. Learn more about manual and
* automatic backfill in Backfill existing games
* with FlexMatch. Automatic backfill is not available when FlexMatchMode
is set to
* STANDALONE
.
*
FlexMatchMode
is set to
* STANDALONE
.
* @see BackfillMode
*/
public void setBackfillMode(String backfillMode) {
this.backfillMode = backfillMode;
}
/**
*
* The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the
* game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift
* creates backfill requests whenever a game session has one or more open slots. Learn more about manual and
* automatic backfill in Backfill existing games
* with FlexMatch. Automatic backfill is not available when FlexMatchMode
is set to
* STANDALONE
.
*
FlexMatchMode
is set to
* STANDALONE
.
* @see BackfillMode
*/
public String getBackfillMode() {
return this.backfillMode;
}
/**
*
* The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the
* game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift
* creates backfill requests whenever a game session has one or more open slots. Learn more about manual and
* automatic backfill in Backfill existing games
* with FlexMatch. Automatic backfill is not available when FlexMatchMode
is set to
* STANDALONE
.
*
FlexMatchMode
is set to
* STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see BackfillMode
*/
public MatchmakingConfiguration withBackfillMode(String backfillMode) {
setBackfillMode(backfillMode);
return this;
}
/**
*
* The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the
* game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift
* creates backfill requests whenever a game session has one or more open slots. Learn more about manual and
* automatic backfill in Backfill existing games
* with FlexMatch. Automatic backfill is not available when FlexMatchMode
is set to
* STANDALONE
.
*
FlexMatchMode
is set to
* STANDALONE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see BackfillMode
*/
public MatchmakingConfiguration withBackfillMode(BackfillMode backfillMode) {
this.backfillMode = backfillMode.toString();
return this;
}
/**
* * Indicates whether this matchmaking configuration is being used with Amazon GameLift hosting or as a standalone * matchmaking solution. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a * MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game session * for the match. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game * session for the match. *
** Indicates whether this matchmaking configuration is being used with Amazon GameLift hosting or as a standalone * matchmaking solution. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a * MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game session * for the match. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game * session for the match. *
** Indicates whether this matchmaking configuration is being used with Amazon GameLift hosting or as a standalone * matchmaking solution. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a * MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game session * for the match. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game * session for the match. *
** Indicates whether this matchmaking configuration is being used with Amazon GameLift hosting or as a standalone * matchmaking solution. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a * MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game session * for the match. *
** STANDALONE - FlexMatch forms matches and returns match information, including players and team * assignments, in a MatchmakingSucceeded event. *
** WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift queue to start a game * session for the match. *
*