/* * 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.AmazonWebServiceRequest; /** * * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateGameSessionQueueRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* A descriptive label that is associated with game session queue. Queue names must be unique within each Region. *
*/ private String name; /** *
* The maximum time, in seconds, that a new game session placement request remains in the queue. When a request
* exceeds this time, the game session placement changes to a TIMED_OUT
status. By default, this
* property is set to 600
.
*
* A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for most * players in a game session. These policies ensure that no individual player can be placed into a game with * unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a time. * Multiple policies are applied based on their maximum allowed latency, starting with the lowest value. *
*/ private java.util.List* A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. * Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of placement * preference. *
*/ private java.util.List
* A list of locations where a queue is allowed to place new game sessions. Locations are specified in the form of
* Amazon Web Services Region codes, such as us-west-2
. If this parameter is not set, game sessions can
* be placed in any queue location.
*
* Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly named * will be automatically applied at the end of the prioritization process. *
*/ private PriorityConfiguration priorityConfiguration; /** ** Information to be added to all events that are related to this game session queue. *
*/ private String customEventData; /** ** An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. *
*/ private String notificationTarget; /** ** A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. * Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. * For more information, see Tagging * Amazon Web Services Resources in the Amazon Web Services General Reference. *
*/ private java.util.List* A descriptive label that is associated with game session queue. Queue names must be unique within each Region. *
* * @param name * A descriptive label that is associated with game session queue. Queue names must be unique within each * Region. */ public void setName(String name) { this.name = name; } /** ** A descriptive label that is associated with game session queue. Queue names must be unique within each Region. *
* * @return A descriptive label that is associated with game session queue. Queue names must be unique within each * Region. */ public String getName() { return this.name; } /** ** A descriptive label that is associated with game session queue. Queue names must be unique within each Region. *
* * @param name * A descriptive label that is associated with game session queue. Queue names must be unique within each * Region. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withName(String name) { setName(name); return this; } /** *
* The maximum time, in seconds, that a new game session placement request remains in the queue. When a request
* exceeds this time, the game session placement changes to a TIMED_OUT
status. By default, this
* property is set to 600
.
*
TIMED_OUT
status. By
* default, this property is set to 600
.
*/
public void setTimeoutInSeconds(Integer timeoutInSeconds) {
this.timeoutInSeconds = timeoutInSeconds;
}
/**
*
* The maximum time, in seconds, that a new game session placement request remains in the queue. When a request
* exceeds this time, the game session placement changes to a TIMED_OUT
status. By default, this
* property is set to 600
.
*
TIMED_OUT
status. By
* default, this property is set to 600
.
*/
public Integer getTimeoutInSeconds() {
return this.timeoutInSeconds;
}
/**
*
* The maximum time, in seconds, that a new game session placement request remains in the queue. When a request
* exceeds this time, the game session placement changes to a TIMED_OUT
status. By default, this
* property is set to 600
.
*
TIMED_OUT
status. By
* default, this property is set to 600
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateGameSessionQueueRequest withTimeoutInSeconds(Integer timeoutInSeconds) {
setTimeoutInSeconds(timeoutInSeconds);
return this;
}
/**
* * A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for most * players in a game session. These policies ensure that no individual player can be placed into a game with * unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a time. * Multiple policies are applied based on their maximum allowed latency, starting with the lowest value. *
* * @return A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for * most players in a game session. These policies ensure that no individual player can be placed into a game * with unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a * time. Multiple policies are applied based on their maximum allowed latency, starting with the lowest * value. */ public java.util.List* A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for most * players in a game session. These policies ensure that no individual player can be placed into a game with * unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a time. * Multiple policies are applied based on their maximum allowed latency, starting with the lowest value. *
* * @param playerLatencyPolicies * A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for * most players in a game session. These policies ensure that no individual player can be placed into a game * with unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a * time. Multiple policies are applied based on their maximum allowed latency, starting with the lowest * value. */ public void setPlayerLatencyPolicies(java.util.Collection* A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for most * players in a game session. These policies ensure that no individual player can be placed into a game with * unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a time. * Multiple policies are applied based on their maximum allowed latency, starting with the lowest value. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPlayerLatencyPolicies(java.util.Collection)} or * {@link #withPlayerLatencyPolicies(java.util.Collection)} if you want to override the existing values. *
* * @param playerLatencyPolicies * A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for * most players in a game session. These policies ensure that no individual player can be placed into a game * with unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a * time. Multiple policies are applied based on their maximum allowed latency, starting with the lowest * value. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withPlayerLatencyPolicies(PlayerLatencyPolicy... playerLatencyPolicies) { if (this.playerLatencyPolicies == null) { setPlayerLatencyPolicies(new java.util.ArrayList* A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for most * players in a game session. These policies ensure that no individual player can be placed into a game with * unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a time. * Multiple policies are applied based on their maximum allowed latency, starting with the lowest value. *
* * @param playerLatencyPolicies * A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver low latency for * most players in a game session. These policies ensure that no individual player can be placed into a game * with unreasonably high latency. Use multiple policies to gradually relax latency requirements a step at a * time. Multiple policies are applied based on their maximum allowed latency, starting with the lowest * value. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withPlayerLatencyPolicies(java.util.Collection* A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. * Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of placement * preference. *
* * @return A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the * queue. Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of * placement preference. */ public java.util.List* A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. * Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of placement * preference. *
* * @param destinations * A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the * queue. Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of * placement preference. */ public void setDestinations(java.util.Collection* A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. * Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of placement * preference. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setDestinations(java.util.Collection)} or {@link #withDestinations(java.util.Collection)} if you want to * override the existing values. *
* * @param destinations * A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the * queue. Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of * placement preference. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withDestinations(GameSessionQueueDestination... destinations) { if (this.destinations == null) { setDestinations(new java.util.ArrayList* A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. * Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of placement * preference. *
* * @param destinations * A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the * queue. Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of * placement preference. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withDestinations(java.util.Collection
* A list of locations where a queue is allowed to place new game sessions. Locations are specified in the form of
* Amazon Web Services Region codes, such as us-west-2
. If this parameter is not set, game sessions can
* be placed in any queue location.
*
us-west-2
. If this parameter is not set,
* game sessions can be placed in any queue location.
*/
public void setFilterConfiguration(FilterConfiguration filterConfiguration) {
this.filterConfiguration = filterConfiguration;
}
/**
*
* A list of locations where a queue is allowed to place new game sessions. Locations are specified in the form of
* Amazon Web Services Region codes, such as us-west-2
. If this parameter is not set, game sessions can
* be placed in any queue location.
*
us-west-2
. If this parameter is not set,
* game sessions can be placed in any queue location.
*/
public FilterConfiguration getFilterConfiguration() {
return this.filterConfiguration;
}
/**
*
* A list of locations where a queue is allowed to place new game sessions. Locations are specified in the form of
* Amazon Web Services Region codes, such as us-west-2
. If this parameter is not set, game sessions can
* be placed in any queue location.
*
us-west-2
. If this parameter is not set,
* game sessions can be placed in any queue location.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateGameSessionQueueRequest withFilterConfiguration(FilterConfiguration filterConfiguration) {
setFilterConfiguration(filterConfiguration);
return this;
}
/**
* * Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly named * will be automatically applied at the end of the prioritization process. *
* * @param priorityConfiguration * Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly * named will be automatically applied at the end of the prioritization process. */ public void setPriorityConfiguration(PriorityConfiguration priorityConfiguration) { this.priorityConfiguration = priorityConfiguration; } /** ** Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly named * will be automatically applied at the end of the prioritization process. *
* * @return Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly * named will be automatically applied at the end of the prioritization process. */ public PriorityConfiguration getPriorityConfiguration() { return this.priorityConfiguration; } /** ** Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly named * will be automatically applied at the end of the prioritization process. *
* * @param priorityConfiguration * Custom settings to use when prioritizing destinations and locations for game session placements. This * configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly * named will be automatically applied at the end of the prioritization process. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withPriorityConfiguration(PriorityConfiguration priorityConfiguration) { setPriorityConfiguration(priorityConfiguration); return this; } /** ** Information to be added to all events that are related to this game session queue. *
* * @param customEventData * Information to be added to all events that are related to this game session queue. */ public void setCustomEventData(String customEventData) { this.customEventData = customEventData; } /** ** Information to be added to all events that are related to this game session queue. *
* * @return Information to be added to all events that are related to this game session queue. */ public String getCustomEventData() { return this.customEventData; } /** ** Information to be added to all events that are related to this game session queue. *
* * @param customEventData * Information to be added to all events that are related to this game session queue. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withCustomEventData(String customEventData) { setCustomEventData(customEventData); return this; } /** ** An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. *
* * @param notificationTarget * An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. */ public void setNotificationTarget(String notificationTarget) { this.notificationTarget = notificationTarget; } /** ** An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. *
* * @return An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. */ public String getNotificationTarget() { return this.notificationTarget; } /** ** An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. *
* * @param notificationTarget * An SNS topic ARN that is set up to receive game session placement notifications. See Setting up * notifications for game session placement. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withNotificationTarget(String notificationTarget) { setNotificationTarget(notificationTarget); return this; } /** ** A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. * Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. * For more information, see Tagging * Amazon Web Services Resources in the Amazon Web Services General Reference. *
* * @return A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value * pairs. Tagging Amazon Web Services resources are useful for resource management, access management and * cost allocation. For more information, see Tagging Amazon Web Services * Resources in the Amazon Web Services General Reference. */ public java.util.List* A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. * Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. * For more information, see Tagging * Amazon Web Services Resources in the Amazon Web Services General Reference. *
* * @param tags * A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value * pairs. Tagging Amazon Web Services resources are useful for resource management, access management and * cost allocation. For more information, see Tagging Amazon Web Services * Resources in the Amazon Web Services General Reference. */ public void setTags(java.util.Collection* A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. * Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. * For more information, see Tagging * Amazon Web Services Resources in the Amazon Web Services General Reference. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value * pairs. Tagging Amazon Web Services resources are useful for resource management, access management and * cost allocation. For more information, see Tagging Amazon Web Services * Resources in the Amazon Web Services General Reference. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList* A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. * Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. * For more information, see Tagging * Amazon Web Services Resources in the Amazon Web Services General Reference. *
* * @param tags * A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value * pairs. Tagging Amazon Web Services resources are useful for resource management, access management and * cost allocation. For more information, see Tagging Amazon Web Services * Resources in the Amazon Web Services General Reference. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateGameSessionQueueRequest withTags(java.util.Collection