All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.gamelift.model.MatchmakingConfiguration Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS GameLift module holds the client classes that are used for communicating with AWS GameLift service.

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2017-2022 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 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 GameLift configuration ARN, the resource ID matches the Name value. *

*/ private String configurationArn; /** *

* A descriptive label that is associated with matchmaking configuration. *

*/ private String description; /** *

* The Amazon Resource Name (ARN) * that is assigned to a 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 GameLift-hosted game sessions for matches that are created * with this matchmaking configuration. This property is not set when FlexMatchMode is set to * STANDALONE. *

*/ private java.util.List gameSessionQueueArns; /** *

* 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. *

*/ private Boolean 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. *

*/ 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 12-person team, and the additional player count is set to 2, only 10 players * are selected for the match. This parameter is not used when FlexMatchMode is set to * STANDALONE. *

*/ private Integer additionalPlayerCount; /** *

* 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"). *

*/ private java.util.Date creationTime; /** *

* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a * game server process in the GameSession object 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. *

*/ private java.util.List gameProperties; /** *

* A set of custom game session properties, formatted as a single string value. This data is passed to a game server * process in the GameSession object 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. *

*/ private String gameSessionData; /** *

* 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 StartMatchBackfill 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. *

*/ private String backfillMode; /** *

* Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session for the * match. *

    *
  • *
*/ private String flexMatchMode; /** *

* 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 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 GameLift configuration ARN, the resource ID matches the Name value. *

* * @param configurationArn * The Amazon Resource Name (ARN) that is assigned to a * 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 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 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 GameLift configuration ARN, the resource ID matches the Name value. *

* * @return The Amazon Resource Name (ARN) that is assigned to a * 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 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 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 GameLift configuration ARN, the resource ID matches the Name value. *

* * @param configurationArn * The Amazon Resource Name (ARN) that is assigned to a * 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 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 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 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 The Amazon Resource Name (ARN) that is assigned to a * 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 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 getGameSessionQueueArns() { return gameSessionQueueArns; } /** *

* The Amazon Resource Name (ARN) * that is assigned to a 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 GameLift-hosted game sessions for matches that are created * with this matchmaking configuration. This property is not set when FlexMatchMode is set to * STANDALONE. *

* * @param gameSessionQueueArns * The Amazon Resource Name (ARN) that is assigned to a * 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 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 gameSessionQueueArns) { if (gameSessionQueueArns == null) { this.gameSessionQueueArns = null; return; } this.gameSessionQueueArns = new java.util.ArrayList(gameSessionQueueArns); } /** *

* The Amazon Resource Name (ARN) * that is assigned to a 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 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 * 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 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(gameSessionQueueArns.length)); } for (String ele : gameSessionQueueArns) { this.gameSessionQueueArns.add(ele); } return this; } /** *

* The Amazon Resource Name (ARN) * that is assigned to a 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 GameLift-hosted game sessions for matches that are created * with this matchmaking configuration. This property is not set when FlexMatchMode is set to * STANDALONE. *

* * @param gameSessionQueueArns * The Amazon Resource Name (ARN) that is assigned to a * 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 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 gameSessionQueueArns) { setGameSessionQueueArns(gameSessionQueueArns); return this; } /** *

* 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. *

* * @param 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. */ 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. *

* * @return 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. */ 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. *

* * @param 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. * @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. *

* * @return 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. */ 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 12-person team, and the additional player count is set to 2, only 10 players * are selected for the match. This parameter is not used when FlexMatchMode is set to * STANDALONE. *

* * @param 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 12-person team, and the additional player count is set to 2, only * 10 players are selected for the match. This parameter is not used when 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 12-person team, and the additional player count is set to 2, only 10 players * are selected for the match. This parameter is not used when FlexMatchMode is set to * STANDALONE. *

* * @return 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 12-person team, and the additional player count * is set to 2, only 10 players are selected for the match. This parameter is not used when * 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 12-person team, and the additional player count is set to 2, only 10 players * are selected for the match. This parameter is not used when FlexMatchMode is set to * STANDALONE. *

* * @param 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 12-person team, and the additional player count is set to 2, only * 10 players are selected for the 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 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"). *

* * @param 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"). */ 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"). *

* * @return A time stamp indicating when this data object was created. Format is a number expressed in Unix time as * milliseconds (for example "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"). *

* * @param 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"). * @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 in the GameSession object 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. *

* * @return A set of custom properties for a game session, formatted as key:value pairs. These properties are passed * to a game server process in the GameSession object 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. */ public java.util.List getGameProperties() { return gameProperties; } /** *

* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a * game server process in the GameSession object 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. *

* * @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 in the GameSession object 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. */ public void setGameProperties(java.util.Collection gameProperties) { if (gameProperties == null) { this.gameProperties = null; return; } this.gameProperties = new java.util.ArrayList(gameProperties); } /** *

* A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a * game server process in the GameSession object 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 in the GameSession object 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. * @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(gameProperties.length)); } for (GameProperty ele : gameProperties) { this.gameProperties.add(ele); } 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 in the GameSession object 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. *

* * @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 in the GameSession object 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. * @return Returns a reference to this object so that method calls can be chained together. */ public MatchmakingConfiguration withGameProperties(java.util.Collection gameProperties) { setGameProperties(gameProperties); return this; } /** *

* A set of custom game session properties, formatted as a single string value. This data is passed to a game server * process in the GameSession object 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. *

* * @param gameSessionData * A set of custom game session properties, formatted as a single string value. This data is passed to a game * server process in the GameSession object 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. */ 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 in the GameSession object 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. *

* * @return A set of custom game session properties, formatted as a single string value. This data is passed to a * game server process in the GameSession object 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. */ 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 in the GameSession object 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. *

* * @param gameSessionData * A set of custom game session properties, formatted as a single string value. This data is passed to a game * server process in the GameSession object 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. * @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 StartMatchBackfill 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. *

* * @param 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 StartMatchBackfill 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. * @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 StartMatchBackfill 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. *

* * @return 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 StartMatchBackfill 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. * @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 StartMatchBackfill 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. *

* * @param 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 StartMatchBackfill 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. * @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 StartMatchBackfill 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. *

* * @param 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 StartMatchBackfill 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. * @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 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 GameLift queue to start a game session for the * match. *

    *
  • *
* * @param flexMatchMode * Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session * for the match. *

    *
  • * @see FlexMatchMode */ public void setFlexMatchMode(String flexMatchMode) { this.flexMatchMode = flexMatchMode; } /** *

    * Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session for the * match. *

      *
    • *
    * * @return Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session * for the match. *

      *
    • * @see FlexMatchMode */ public String getFlexMatchMode() { return this.flexMatchMode; } /** *

      * Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session for the * match. *

        *
      • *
      * * @param flexMatchMode * Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session * for the match. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see FlexMatchMode */ public MatchmakingConfiguration withFlexMatchMode(String flexMatchMode) { setFlexMatchMode(flexMatchMode); return this; } /** *

        * Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session for the * match. *

          *
        • *
        * * @param flexMatchMode * Indicates whether this matchmaking configuration is being used with 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 GameLift queue to start a game session * for the match. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see FlexMatchMode */ public MatchmakingConfiguration withFlexMatchMode(FlexMatchMode flexMatchMode) { this.flexMatchMode = flexMatchMode.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getConfigurationArn() != null) sb.append("ConfigurationArn: ").append(getConfigurationArn()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getGameSessionQueueArns() != null) sb.append("GameSessionQueueArns: ").append(getGameSessionQueueArns()).append(","); if (getRequestTimeoutSeconds() != null) sb.append("RequestTimeoutSeconds: ").append(getRequestTimeoutSeconds()).append(","); if (getAcceptanceTimeoutSeconds() != null) sb.append("AcceptanceTimeoutSeconds: ").append(getAcceptanceTimeoutSeconds()).append(","); if (getAcceptanceRequired() != null) sb.append("AcceptanceRequired: ").append(getAcceptanceRequired()).append(","); if (getRuleSetName() != null) sb.append("RuleSetName: ").append(getRuleSetName()).append(","); if (getRuleSetArn() != null) sb.append("RuleSetArn: ").append(getRuleSetArn()).append(","); if (getNotificationTarget() != null) sb.append("NotificationTarget: ").append(getNotificationTarget()).append(","); if (getAdditionalPlayerCount() != null) sb.append("AdditionalPlayerCount: ").append(getAdditionalPlayerCount()).append(","); if (getCustomEventData() != null) sb.append("CustomEventData: ").append(getCustomEventData()).append(","); if (getCreationTime() != null) sb.append("CreationTime: ").append(getCreationTime()).append(","); if (getGameProperties() != null) sb.append("GameProperties: ").append(getGameProperties()).append(","); if (getGameSessionData() != null) sb.append("GameSessionData: ").append(getGameSessionData()).append(","); if (getBackfillMode() != null) sb.append("BackfillMode: ").append(getBackfillMode()).append(","); if (getFlexMatchMode() != null) sb.append("FlexMatchMode: ").append(getFlexMatchMode()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof MatchmakingConfiguration == false) return false; MatchmakingConfiguration other = (MatchmakingConfiguration) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getConfigurationArn() == null ^ this.getConfigurationArn() == null) return false; if (other.getConfigurationArn() != null && other.getConfigurationArn().equals(this.getConfigurationArn()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getGameSessionQueueArns() == null ^ this.getGameSessionQueueArns() == null) return false; if (other.getGameSessionQueueArns() != null && other.getGameSessionQueueArns().equals(this.getGameSessionQueueArns()) == false) return false; if (other.getRequestTimeoutSeconds() == null ^ this.getRequestTimeoutSeconds() == null) return false; if (other.getRequestTimeoutSeconds() != null && other.getRequestTimeoutSeconds().equals(this.getRequestTimeoutSeconds()) == false) return false; if (other.getAcceptanceTimeoutSeconds() == null ^ this.getAcceptanceTimeoutSeconds() == null) return false; if (other.getAcceptanceTimeoutSeconds() != null && other.getAcceptanceTimeoutSeconds().equals(this.getAcceptanceTimeoutSeconds()) == false) return false; if (other.getAcceptanceRequired() == null ^ this.getAcceptanceRequired() == null) return false; if (other.getAcceptanceRequired() != null && other.getAcceptanceRequired().equals(this.getAcceptanceRequired()) == false) return false; if (other.getRuleSetName() == null ^ this.getRuleSetName() == null) return false; if (other.getRuleSetName() != null && other.getRuleSetName().equals(this.getRuleSetName()) == false) return false; if (other.getRuleSetArn() == null ^ this.getRuleSetArn() == null) return false; if (other.getRuleSetArn() != null && other.getRuleSetArn().equals(this.getRuleSetArn()) == false) return false; if (other.getNotificationTarget() == null ^ this.getNotificationTarget() == null) return false; if (other.getNotificationTarget() != null && other.getNotificationTarget().equals(this.getNotificationTarget()) == false) return false; if (other.getAdditionalPlayerCount() == null ^ this.getAdditionalPlayerCount() == null) return false; if (other.getAdditionalPlayerCount() != null && other.getAdditionalPlayerCount().equals(this.getAdditionalPlayerCount()) == false) return false; if (other.getCustomEventData() == null ^ this.getCustomEventData() == null) return false; if (other.getCustomEventData() != null && other.getCustomEventData().equals(this.getCustomEventData()) == false) return false; if (other.getCreationTime() == null ^ this.getCreationTime() == null) return false; if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false) return false; if (other.getGameProperties() == null ^ this.getGameProperties() == null) return false; if (other.getGameProperties() != null && other.getGameProperties().equals(this.getGameProperties()) == false) return false; if (other.getGameSessionData() == null ^ this.getGameSessionData() == null) return false; if (other.getGameSessionData() != null && other.getGameSessionData().equals(this.getGameSessionData()) == false) return false; if (other.getBackfillMode() == null ^ this.getBackfillMode() == null) return false; if (other.getBackfillMode() != null && other.getBackfillMode().equals(this.getBackfillMode()) == false) return false; if (other.getFlexMatchMode() == null ^ this.getFlexMatchMode() == null) return false; if (other.getFlexMatchMode() != null && other.getFlexMatchMode().equals(this.getFlexMatchMode()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getConfigurationArn() == null) ? 0 : getConfigurationArn().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getGameSessionQueueArns() == null) ? 0 : getGameSessionQueueArns().hashCode()); hashCode = prime * hashCode + ((getRequestTimeoutSeconds() == null) ? 0 : getRequestTimeoutSeconds().hashCode()); hashCode = prime * hashCode + ((getAcceptanceTimeoutSeconds() == null) ? 0 : getAcceptanceTimeoutSeconds().hashCode()); hashCode = prime * hashCode + ((getAcceptanceRequired() == null) ? 0 : getAcceptanceRequired().hashCode()); hashCode = prime * hashCode + ((getRuleSetName() == null) ? 0 : getRuleSetName().hashCode()); hashCode = prime * hashCode + ((getRuleSetArn() == null) ? 0 : getRuleSetArn().hashCode()); hashCode = prime * hashCode + ((getNotificationTarget() == null) ? 0 : getNotificationTarget().hashCode()); hashCode = prime * hashCode + ((getAdditionalPlayerCount() == null) ? 0 : getAdditionalPlayerCount().hashCode()); hashCode = prime * hashCode + ((getCustomEventData() == null) ? 0 : getCustomEventData().hashCode()); hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode()); hashCode = prime * hashCode + ((getGameProperties() == null) ? 0 : getGameProperties().hashCode()); hashCode = prime * hashCode + ((getGameSessionData() == null) ? 0 : getGameSessionData().hashCode()); hashCode = prime * hashCode + ((getBackfillMode() == null) ? 0 : getBackfillMode().hashCode()); hashCode = prime * hashCode + ((getFlexMatchMode() == null) ? 0 : getFlexMatchMode().hashCode()); return hashCode; } @Override public MatchmakingConfiguration clone() { try { return (MatchmakingConfiguration) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.gamelift.model.transform.MatchmakingConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy