Class MatchmakingConfiguration

java.lang.Object
software.amazon.awssdk.services.gamelift.model.MatchmakingConfiguration
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<MatchmakingConfiguration.Builder,MatchmakingConfiguration>

@Generated("software.amazon.awssdk:codegen") public final class MatchmakingConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<MatchmakingConfiguration.Builder,MatchmakingConfiguration>

Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.

See Also:
  • Method Details

    • name

      public final String name()

      A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

      Returns:
      A unique identifier for the matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.
    • configurationArn

      public final String 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.

      Returns:
      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.
    • description

      public final String description()

      A descriptive label that is associated with matchmaking configuration.

      Returns:
      A descriptive label that is associated with matchmaking configuration.
    • hasGameSessionQueueArns

      public final boolean hasGameSessionQueueArns()
      For responses, this returns true if the service returned a value for the GameSessionQueueArns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • gameSessionQueueArns

      public final List<String> 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 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGameSessionQueueArns() method.

      Returns:
      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.
    • requestTimeoutSeconds

      public final Integer 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.

      Returns:
      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.
    • acceptanceTimeoutSeconds

      public final Integer 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.

      Returns:
      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.
    • acceptanceRequired

      public final Boolean 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.

      Returns:
      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.
    • ruleSetName

      public final String 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.

      Returns:
      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.
    • ruleSetArn

      public final String ruleSetArn()

      The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

      Returns:
      The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.
    • notificationTarget

      public final String notificationTarget()

      An SNS topic ARN that is set up to receive matchmaking notifications.

      Returns:
      An SNS topic ARN that is set up to receive matchmaking notifications.
    • additionalPlayerCount

      public final Integer 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.

      Returns:
      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.
    • customEventData

      public final String customEventData()

      Information to attach to all events related to the matchmaking configuration.

      Returns:
      Information to attach to all events related to the matchmaking configuration.
    • creationTime

      public final Instant 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").

      Returns:
      A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
    • hasGameProperties

      public final boolean hasGameProperties()
      For responses, this returns true if the service returned a value for the GameProperties property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • gameProperties

      public final List<GameProperty> gameProperties()

      A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}. 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGameProperties() method.

      Returns:
      A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}. 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.
    • gameSessionData

      public final String 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.

      Returns:
      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.
    • backfillMode

      public final 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.

      If the service returns an enum value that is not available in the current SDK version, backfillMode will return BackfillMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from backfillModeAsString().

      Returns:
      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.
      See Also:
    • backfillModeAsString

      public final String backfillModeAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, backfillMode will return BackfillMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from backfillModeAsString().

      Returns:
      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.
      See Also:
    • flexMatchMode

      public final FlexMatchMode flexMatchMode()

      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.

      If the service returns an enum value that is not available in the current SDK version, flexMatchMode will return FlexMatchMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from flexMatchModeAsString().

      Returns:
      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.

      See Also:
    • flexMatchModeAsString

      public final String flexMatchModeAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, flexMatchMode will return FlexMatchMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from flexMatchModeAsString().

      Returns:
      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.

      See Also:
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<MatchmakingConfiguration.Builder,MatchmakingConfiguration>
      Returns:
      a builder for type T
    • builder

      public static MatchmakingConfiguration.Builder builder()
    • serializableBuilderClass

      public static Class<? extends MatchmakingConfiguration.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.