com.amazonaws.services.gamelift.model.GameSessionPlacement Maven / Gradle / Ivy
/*
* 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;
/**
*
* Object that describes a StartGameSessionPlacement request. This object includes the full details of the
* original request plus the current status and start/end time stamps.
*
*
* Game session placement-related operations include:
*
*
* -
*
*
* -
*
*
* -
*
*
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class GameSessionPlacement implements Serializable, Cloneable, StructuredPojo {
/**
*
* A unique identifier for a game session placement.
*
*/
private String placementId;
/**
*
* A descriptive label that is associated with game session queue. Queue names must be unique within each Region.
*
*/
private String gameSessionQueueName;
/**
*
* Current status of the game session placement request.
*
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values
* for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the
* game session terminated before the placement process was completed, or an unexpected internal error.
*
*
*
*/
private String status;
/**
*
* 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).
*
*/
private java.util.List gameProperties;
/**
*
* The maximum number of players that can be connected simultaneously to the game session.
*
*/
private Integer maximumPlayerSessionCount;
/**
*
* A descriptive label that is associated with a game session. Session names do not need to be unique.
*
*/
private String gameSessionName;
/**
*
* A unique identifier for the game session. This value is set once the new game session is placed (placement status
* is FULFILLED
).
*
*/
private String gameSessionId;
/**
*
* Identifier for the game session created by this placement request. This value is set once the new game session is
* placed (placement status is FULFILLED
). This identifier is unique across all Regions. You can use
* this value as a GameSessionId
value as needed.
*
*/
private String gameSessionArn;
/**
*
* Name of the Region where the game session created by this placement request is running. This value is set once
* the new game session is placed (placement status is FULFILLED
).
*
*/
private String gameSessionRegion;
/**
*
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when
* connected to @aws; Regions.
*
*/
private java.util.List playerLatencies;
/**
*
* Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
*/
private java.util.Date startTime;
/**
*
* Time stamp indicating when this request was completed, canceled, or timed out.
*
*/
private java.util.Date endTime;
/**
*
* The IP address of the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*/
private String ipAddress;
/**
*
* The DNS identifier assigned to the instance that is running the game session. Values have the following format:
*
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP
* address.
*
*/
private String dnsName;
/**
*
* The port number for the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*/
private Integer port;
/**
*
* A collection of information on player sessions created in response to the game session placement request. These
* player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request) and the
* corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the
* player session ID.
*
*/
private java.util.List placedPlayerSessions;
/**
*
* 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).
*
*/
private String gameSessionData;
/**
*
* Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players assigned to
* the match, including player attributes and team assignments. For more details on matchmaker data, see Match
* Data.
*
*/
private String matchmakerData;
/**
*
* A unique identifier for a game session placement.
*
*
* @param placementId
* A unique identifier for a game session placement.
*/
public void setPlacementId(String placementId) {
this.placementId = placementId;
}
/**
*
* A unique identifier for a game session placement.
*
*
* @return A unique identifier for a game session placement.
*/
public String getPlacementId() {
return this.placementId;
}
/**
*
* A unique identifier for a game session placement.
*
*
* @param placementId
* A unique identifier for a game session placement.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withPlacementId(String placementId) {
setPlacementId(placementId);
return this;
}
/**
*
* A descriptive label that is associated with game session queue. Queue names must be unique within each Region.
*
*
* @param gameSessionQueueName
* A descriptive label that is associated with game session queue. Queue names must be unique within each
* Region.
*/
public void setGameSessionQueueName(String gameSessionQueueName) {
this.gameSessionQueueName = gameSessionQueueName;
}
/**
*
* 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 getGameSessionQueueName() {
return this.gameSessionQueueName;
}
/**
*
* A descriptive label that is associated with game session queue. Queue names must be unique within each Region.
*
*
* @param gameSessionQueueName
* 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 GameSessionPlacement withGameSessionQueueName(String gameSessionQueueName) {
setGameSessionQueueName(gameSessionQueueName);
return this;
}
/**
*
* Current status of the game session placement request.
*
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values
* for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the
* game session terminated before the placement process was completed, or an unexpected internal error.
*
*
*
*
* @param status
* Current status of the game session placement request.
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created.
* Values for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons
* are the game session terminated before the placement process was completed, or an unexpected internal
* error.
*
*
* @see GameSessionPlacementState
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* Current status of the game session placement request.
*
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values
* for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the
* game session terminated before the placement process was completed, or an unexpected internal error.
*
*
*
*
* @return Current status of the game session placement request.
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created.
* Values for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You
* can resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons
* are the game session terminated before the placement process was completed, or an unexpected internal
* error.
*
*
* @see GameSessionPlacementState
*/
public String getStatus() {
return this.status;
}
/**
*
* Current status of the game session placement request.
*
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values
* for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the
* game session terminated before the placement process was completed, or an unexpected internal error.
*
*
*
*
* @param status
* Current status of the game session placement request.
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created.
* Values for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons
* are the game session terminated before the placement process was completed, or an unexpected internal
* error.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see GameSessionPlacementState
*/
public GameSessionPlacement withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* Current status of the game session placement request.
*
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values
* for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the
* game session terminated before the placement process was completed, or an unexpected internal error.
*
*
*
*
* @param status
* Current status of the game session placement request.
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created.
* Values for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons
* are the game session terminated before the placement process was completed, or an unexpected internal
* error.
*
*
* @see GameSessionPlacementState
*/
public void setStatus(GameSessionPlacementState status) {
withStatus(status);
}
/**
*
* Current status of the game session placement request.
*
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values
* for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the
* game session terminated before the placement process was completed, or an unexpected internal error.
*
*
*
*
* @param status
* Current status of the game session placement request.
*
* -
*
* PENDING -- The placement request is currently in the queue waiting to be processed.
*
*
* -
*
* FULFILLED -- A new game session and player sessions (if requested) have been successfully created.
* Values for GameSessionArn and GameSessionRegion are available.
*
*
* -
*
* CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
*
*
* -
*
* TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can
* resubmit the placement request as needed.
*
*
* -
*
* FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons
* are the game session terminated before the placement process was completed, or an unexpected internal
* error.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see GameSessionPlacementState
*/
public GameSessionPlacement withStatus(GameSessionPlacementState status) {
this.status = status.toString();
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).
*
*
* @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).
*/
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).
*
*
* @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).
*/
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).
*
*
* 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).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement 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).
*
*
* @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).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withGameProperties(java.util.Collection gameProperties) {
setGameProperties(gameProperties);
return this;
}
/**
*
* The maximum number of players that can be connected simultaneously to the game session.
*
*
* @param maximumPlayerSessionCount
* The maximum number of players that can be connected simultaneously to the game session.
*/
public void setMaximumPlayerSessionCount(Integer maximumPlayerSessionCount) {
this.maximumPlayerSessionCount = maximumPlayerSessionCount;
}
/**
*
* The maximum number of players that can be connected simultaneously to the game session.
*
*
* @return The maximum number of players that can be connected simultaneously to the game session.
*/
public Integer getMaximumPlayerSessionCount() {
return this.maximumPlayerSessionCount;
}
/**
*
* The maximum number of players that can be connected simultaneously to the game session.
*
*
* @param maximumPlayerSessionCount
* The maximum number of players that can be connected simultaneously to the game session.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withMaximumPlayerSessionCount(Integer maximumPlayerSessionCount) {
setMaximumPlayerSessionCount(maximumPlayerSessionCount);
return this;
}
/**
*
* A descriptive label that is associated with a game session. Session names do not need to be unique.
*
*
* @param gameSessionName
* A descriptive label that is associated with a game session. Session names do not need to be unique.
*/
public void setGameSessionName(String gameSessionName) {
this.gameSessionName = gameSessionName;
}
/**
*
* A descriptive label that is associated with a game session. Session names do not need to be unique.
*
*
* @return A descriptive label that is associated with a game session. Session names do not need to be unique.
*/
public String getGameSessionName() {
return this.gameSessionName;
}
/**
*
* A descriptive label that is associated with a game session. Session names do not need to be unique.
*
*
* @param gameSessionName
* A descriptive label that is associated with a game session. Session names do not need to be unique.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withGameSessionName(String gameSessionName) {
setGameSessionName(gameSessionName);
return this;
}
/**
*
* A unique identifier for the game session. This value is set once the new game session is placed (placement status
* is FULFILLED
).
*
*
* @param gameSessionId
* A unique identifier for the game session. This value is set once the new game session is placed (placement
* status is FULFILLED
).
*/
public void setGameSessionId(String gameSessionId) {
this.gameSessionId = gameSessionId;
}
/**
*
* A unique identifier for the game session. This value is set once the new game session is placed (placement status
* is FULFILLED
).
*
*
* @return A unique identifier for the game session. This value is set once the new game session is placed
* (placement status is FULFILLED
).
*/
public String getGameSessionId() {
return this.gameSessionId;
}
/**
*
* A unique identifier for the game session. This value is set once the new game session is placed (placement status
* is FULFILLED
).
*
*
* @param gameSessionId
* A unique identifier for the game session. This value is set once the new game session is placed (placement
* status is FULFILLED
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withGameSessionId(String gameSessionId) {
setGameSessionId(gameSessionId);
return this;
}
/**
*
* Identifier for the game session created by this placement request. This value is set once the new game session is
* placed (placement status is FULFILLED
). This identifier is unique across all Regions. You can use
* this value as a GameSessionId
value as needed.
*
*
* @param gameSessionArn
* Identifier for the game session created by this placement request. This value is set once the new game
* session is placed (placement status is FULFILLED
). This identifier is unique across all
* Regions. You can use this value as a GameSessionId
value as needed.
*/
public void setGameSessionArn(String gameSessionArn) {
this.gameSessionArn = gameSessionArn;
}
/**
*
* Identifier for the game session created by this placement request. This value is set once the new game session is
* placed (placement status is FULFILLED
). This identifier is unique across all Regions. You can use
* this value as a GameSessionId
value as needed.
*
*
* @return Identifier for the game session created by this placement request. This value is set once the new game
* session is placed (placement status is FULFILLED
). This identifier is unique across all
* Regions. You can use this value as a GameSessionId
value as needed.
*/
public String getGameSessionArn() {
return this.gameSessionArn;
}
/**
*
* Identifier for the game session created by this placement request. This value is set once the new game session is
* placed (placement status is FULFILLED
). This identifier is unique across all Regions. You can use
* this value as a GameSessionId
value as needed.
*
*
* @param gameSessionArn
* Identifier for the game session created by this placement request. This value is set once the new game
* session is placed (placement status is FULFILLED
). This identifier is unique across all
* Regions. You can use this value as a GameSessionId
value as needed.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withGameSessionArn(String gameSessionArn) {
setGameSessionArn(gameSessionArn);
return this;
}
/**
*
* Name of the Region where the game session created by this placement request is running. This value is set once
* the new game session is placed (placement status is FULFILLED
).
*
*
* @param gameSessionRegion
* Name of the Region where the game session created by this placement request is running. This value is set
* once the new game session is placed (placement status is FULFILLED
).
*/
public void setGameSessionRegion(String gameSessionRegion) {
this.gameSessionRegion = gameSessionRegion;
}
/**
*
* Name of the Region where the game session created by this placement request is running. This value is set once
* the new game session is placed (placement status is FULFILLED
).
*
*
* @return Name of the Region where the game session created by this placement request is running. This value is set
* once the new game session is placed (placement status is FULFILLED
).
*/
public String getGameSessionRegion() {
return this.gameSessionRegion;
}
/**
*
* Name of the Region where the game session created by this placement request is running. This value is set once
* the new game session is placed (placement status is FULFILLED
).
*
*
* @param gameSessionRegion
* Name of the Region where the game session created by this placement request is running. This value is set
* once the new game session is placed (placement status is FULFILLED
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withGameSessionRegion(String gameSessionRegion) {
setGameSessionRegion(gameSessionRegion);
return this;
}
/**
*
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when
* connected to @aws; Regions.
*
*
* @return A set of values, expressed in milliseconds, that indicates the amount of latency that a player
* experiences when connected to @aws; Regions.
*/
public java.util.List getPlayerLatencies() {
return playerLatencies;
}
/**
*
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when
* connected to @aws; Regions.
*
*
* @param playerLatencies
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences
* when connected to @aws; Regions.
*/
public void setPlayerLatencies(java.util.Collection playerLatencies) {
if (playerLatencies == null) {
this.playerLatencies = null;
return;
}
this.playerLatencies = new java.util.ArrayList(playerLatencies);
}
/**
*
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when
* connected to @aws; Regions.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setPlayerLatencies(java.util.Collection)} or {@link #withPlayerLatencies(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param playerLatencies
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences
* when connected to @aws; Regions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withPlayerLatencies(PlayerLatency... playerLatencies) {
if (this.playerLatencies == null) {
setPlayerLatencies(new java.util.ArrayList(playerLatencies.length));
}
for (PlayerLatency ele : playerLatencies) {
this.playerLatencies.add(ele);
}
return this;
}
/**
*
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when
* connected to @aws; Regions.
*
*
* @param playerLatencies
* A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences
* when connected to @aws; Regions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withPlayerLatencies(java.util.Collection playerLatencies) {
setPlayerLatencies(playerLatencies);
return this;
}
/**
*
* Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
*
* @param startTime
* Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time
* as milliseconds (for example "1469498468.057"
).
*/
public void setStartTime(java.util.Date startTime) {
this.startTime = startTime;
}
/**
*
* Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
*
* @return Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix
* time as milliseconds (for example "1469498468.057"
).
*/
public java.util.Date getStartTime() {
return this.startTime;
}
/**
*
* Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as
* milliseconds (for example "1469498468.057"
).
*
*
* @param startTime
* Time stamp indicating when this request was placed in the queue. 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 GameSessionPlacement withStartTime(java.util.Date startTime) {
setStartTime(startTime);
return this;
}
/**
*
* Time stamp indicating when this request was completed, canceled, or timed out.
*
*
* @param endTime
* Time stamp indicating when this request was completed, canceled, or timed out.
*/
public void setEndTime(java.util.Date endTime) {
this.endTime = endTime;
}
/**
*
* Time stamp indicating when this request was completed, canceled, or timed out.
*
*
* @return Time stamp indicating when this request was completed, canceled, or timed out.
*/
public java.util.Date getEndTime() {
return this.endTime;
}
/**
*
* Time stamp indicating when this request was completed, canceled, or timed out.
*
*
* @param endTime
* Time stamp indicating when this request was completed, canceled, or timed out.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withEndTime(java.util.Date endTime) {
setEndTime(endTime);
return this;
}
/**
*
* The IP address of the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*
* @param ipAddress
* The IP address of the game session. To connect to a GameLift game server, an app needs both the IP address
* and port number. This value is set once the new game session is placed (placement status is
* FULFILLED
).
*/
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
/**
*
* The IP address of the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*
* @return The IP address of the game session. To connect to a GameLift game server, an app needs both the IP
* address and port number. This value is set once the new game session is placed (placement status is
* FULFILLED
).
*/
public String getIpAddress() {
return this.ipAddress;
}
/**
*
* The IP address of the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*
* @param ipAddress
* The IP address of the game session. To connect to a GameLift game server, an app needs both the IP address
* and port number. This value is set once the new game session is placed (placement status is
* FULFILLED
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withIpAddress(String ipAddress) {
setIpAddress(ipAddress);
return this;
}
/**
*
* The DNS identifier assigned to the instance that is running the game session. Values have the following format:
*
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP
* address.
*
*
* @param dnsName
* The DNS identifier assigned to the instance that is running the game session. Values have the following
* format:
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not
* the IP address.
*/
public void setDnsName(String dnsName) {
this.dnsName = dnsName;
}
/**
*
* The DNS identifier assigned to the instance that is running the game session. Values have the following format:
*
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP
* address.
*
*
* @return The DNS identifier assigned to the instance that is running the game session. Values have the following
* format:
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not
* the IP address.
*/
public String getDnsName() {
return this.dnsName;
}
/**
*
* The DNS identifier assigned to the instance that is running the game session. Values have the following format:
*
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP
* address.
*
*
* @param dnsName
* The DNS identifier assigned to the instance that is running the game session. Values have the following
* format:
*
* -
*
* TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com
.
*
*
* -
*
* Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com
. (See Amazon EC2 Instance IP Addressing.)
*
*
*
*
* When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not
* the IP address.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withDnsName(String dnsName) {
setDnsName(dnsName);
return this;
}
/**
*
* The port number for the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*
* @param port
* The port number for the game session. To connect to a GameLift game server, an app needs both the IP
* address and port number. This value is set once the new game session is placed (placement status is
* FULFILLED
).
*/
public void setPort(Integer port) {
this.port = port;
}
/**
*
* The port number for the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*
* @return The port number for the game session. To connect to a GameLift game server, an app needs both the IP
* address and port number. This value is set once the new game session is placed (placement status is
* FULFILLED
).
*/
public Integer getPort() {
return this.port;
}
/**
*
* The port number for the game session. To connect to a GameLift game server, an app needs both the IP address and
* port number. This value is set once the new game session is placed (placement status is FULFILLED
).
*
*
* @param port
* The port number for the game session. To connect to a GameLift game server, an app needs both the IP
* address and port number. This value is set once the new game session is placed (placement status is
* FULFILLED
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withPort(Integer port) {
setPort(port);
return this;
}
/**
*
* A collection of information on player sessions created in response to the game session placement request. These
* player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request) and the
* corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the
* player session ID.
*
*
* @return A collection of information on player sessions created in response to the game session placement request.
* These player sessions are created only once a new game session is successfully placed (placement status
* is FULFILLED
). This information includes the player ID (as provided in the placement
* request) and the corresponding player session ID. Retrieve full player sessions by calling
* DescribePlayerSessions with the player session ID.
*/
public java.util.List getPlacedPlayerSessions() {
return placedPlayerSessions;
}
/**
*
* A collection of information on player sessions created in response to the game session placement request. These
* player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request) and the
* corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the
* player session ID.
*
*
* @param placedPlayerSessions
* A collection of information on player sessions created in response to the game session placement request.
* These player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request)
* and the corresponding player session ID. Retrieve full player sessions by calling
* DescribePlayerSessions with the player session ID.
*/
public void setPlacedPlayerSessions(java.util.Collection placedPlayerSessions) {
if (placedPlayerSessions == null) {
this.placedPlayerSessions = null;
return;
}
this.placedPlayerSessions = new java.util.ArrayList(placedPlayerSessions);
}
/**
*
* A collection of information on player sessions created in response to the game session placement request. These
* player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request) and the
* corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the
* player session ID.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setPlacedPlayerSessions(java.util.Collection)} or {@link #withPlacedPlayerSessions(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param placedPlayerSessions
* A collection of information on player sessions created in response to the game session placement request.
* These player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request)
* and the corresponding player session ID. Retrieve full player sessions by calling
* DescribePlayerSessions with the player session ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withPlacedPlayerSessions(PlacedPlayerSession... placedPlayerSessions) {
if (this.placedPlayerSessions == null) {
setPlacedPlayerSessions(new java.util.ArrayList(placedPlayerSessions.length));
}
for (PlacedPlayerSession ele : placedPlayerSessions) {
this.placedPlayerSessions.add(ele);
}
return this;
}
/**
*
* A collection of information on player sessions created in response to the game session placement request. These
* player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request) and the
* corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the
* player session ID.
*
*
* @param placedPlayerSessions
* A collection of information on player sessions created in response to the game session placement request.
* These player sessions are created only once a new game session is successfully placed (placement status is
* FULFILLED
). This information includes the player ID (as provided in the placement request)
* and the corresponding player session ID. Retrieve full player sessions by calling
* DescribePlayerSessions with the player session ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withPlacedPlayerSessions(java.util.Collection placedPlayerSessions) {
setPlacedPlayerSessions(placedPlayerSessions);
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).
*
*
* @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).
*/
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).
*
*
* @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).
*/
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).
*
*
* @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).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withGameSessionData(String gameSessionData) {
setGameSessionData(gameSessionData);
return this;
}
/**
*
* Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players assigned to
* the match, including player attributes and team assignments. For more details on matchmaker data, see Match
* Data.
*
*
* @param matchmakerData
* Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players
* assigned to the match, including player attributes and team assignments. For more details on matchmaker
* data, see Match Data.
*/
public void setMatchmakerData(String matchmakerData) {
this.matchmakerData = matchmakerData;
}
/**
*
* Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players assigned to
* the match, including player attributes and team assignments. For more details on matchmaker data, see Match
* Data.
*
*
* @return Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players
* assigned to the match, including player attributes and team assignments. For more details on matchmaker
* data, see Match Data.
*/
public String getMatchmakerData() {
return this.matchmakerData;
}
/**
*
* Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players assigned to
* the match, including player attributes and team assignments. For more details on matchmaker data, see Match
* Data.
*
*
* @param matchmakerData
* Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It
* identifies the matchmaking configuration used to create the match, and contains data on all players
* assigned to the match, including player attributes and team assignments. For more details on matchmaker
* data, see Match Data.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GameSessionPlacement withMatchmakerData(String matchmakerData) {
setMatchmakerData(matchmakerData);
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 (getPlacementId() != null)
sb.append("PlacementId: ").append(getPlacementId()).append(",");
if (getGameSessionQueueName() != null)
sb.append("GameSessionQueueName: ").append(getGameSessionQueueName()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getGameProperties() != null)
sb.append("GameProperties: ").append(getGameProperties()).append(",");
if (getMaximumPlayerSessionCount() != null)
sb.append("MaximumPlayerSessionCount: ").append(getMaximumPlayerSessionCount()).append(",");
if (getGameSessionName() != null)
sb.append("GameSessionName: ").append(getGameSessionName()).append(",");
if (getGameSessionId() != null)
sb.append("GameSessionId: ").append(getGameSessionId()).append(",");
if (getGameSessionArn() != null)
sb.append("GameSessionArn: ").append(getGameSessionArn()).append(",");
if (getGameSessionRegion() != null)
sb.append("GameSessionRegion: ").append(getGameSessionRegion()).append(",");
if (getPlayerLatencies() != null)
sb.append("PlayerLatencies: ").append(getPlayerLatencies()).append(",");
if (getStartTime() != null)
sb.append("StartTime: ").append(getStartTime()).append(",");
if (getEndTime() != null)
sb.append("EndTime: ").append(getEndTime()).append(",");
if (getIpAddress() != null)
sb.append("IpAddress: ").append(getIpAddress()).append(",");
if (getDnsName() != null)
sb.append("DnsName: ").append(getDnsName()).append(",");
if (getPort() != null)
sb.append("Port: ").append(getPort()).append(",");
if (getPlacedPlayerSessions() != null)
sb.append("PlacedPlayerSessions: ").append(getPlacedPlayerSessions()).append(",");
if (getGameSessionData() != null)
sb.append("GameSessionData: ").append(getGameSessionData()).append(",");
if (getMatchmakerData() != null)
sb.append("MatchmakerData: ").append(getMatchmakerData());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof GameSessionPlacement == false)
return false;
GameSessionPlacement other = (GameSessionPlacement) obj;
if (other.getPlacementId() == null ^ this.getPlacementId() == null)
return false;
if (other.getPlacementId() != null && other.getPlacementId().equals(this.getPlacementId()) == false)
return false;
if (other.getGameSessionQueueName() == null ^ this.getGameSessionQueueName() == null)
return false;
if (other.getGameSessionQueueName() != null && other.getGameSessionQueueName().equals(this.getGameSessionQueueName()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == 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.getMaximumPlayerSessionCount() == null ^ this.getMaximumPlayerSessionCount() == null)
return false;
if (other.getMaximumPlayerSessionCount() != null && other.getMaximumPlayerSessionCount().equals(this.getMaximumPlayerSessionCount()) == false)
return false;
if (other.getGameSessionName() == null ^ this.getGameSessionName() == null)
return false;
if (other.getGameSessionName() != null && other.getGameSessionName().equals(this.getGameSessionName()) == false)
return false;
if (other.getGameSessionId() == null ^ this.getGameSessionId() == null)
return false;
if (other.getGameSessionId() != null && other.getGameSessionId().equals(this.getGameSessionId()) == false)
return false;
if (other.getGameSessionArn() == null ^ this.getGameSessionArn() == null)
return false;
if (other.getGameSessionArn() != null && other.getGameSessionArn().equals(this.getGameSessionArn()) == false)
return false;
if (other.getGameSessionRegion() == null ^ this.getGameSessionRegion() == null)
return false;
if (other.getGameSessionRegion() != null && other.getGameSessionRegion().equals(this.getGameSessionRegion()) == false)
return false;
if (other.getPlayerLatencies() == null ^ this.getPlayerLatencies() == null)
return false;
if (other.getPlayerLatencies() != null && other.getPlayerLatencies().equals(this.getPlayerLatencies()) == false)
return false;
if (other.getStartTime() == null ^ this.getStartTime() == null)
return false;
if (other.getStartTime() != null && other.getStartTime().equals(this.getStartTime()) == false)
return false;
if (other.getEndTime() == null ^ this.getEndTime() == null)
return false;
if (other.getEndTime() != null && other.getEndTime().equals(this.getEndTime()) == false)
return false;
if (other.getIpAddress() == null ^ this.getIpAddress() == null)
return false;
if (other.getIpAddress() != null && other.getIpAddress().equals(this.getIpAddress()) == false)
return false;
if (other.getDnsName() == null ^ this.getDnsName() == null)
return false;
if (other.getDnsName() != null && other.getDnsName().equals(this.getDnsName()) == false)
return false;
if (other.getPort() == null ^ this.getPort() == null)
return false;
if (other.getPort() != null && other.getPort().equals(this.getPort()) == false)
return false;
if (other.getPlacedPlayerSessions() == null ^ this.getPlacedPlayerSessions() == null)
return false;
if (other.getPlacedPlayerSessions() != null && other.getPlacedPlayerSessions().equals(this.getPlacedPlayerSessions()) == 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.getMatchmakerData() == null ^ this.getMatchmakerData() == null)
return false;
if (other.getMatchmakerData() != null && other.getMatchmakerData().equals(this.getMatchmakerData()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getPlacementId() == null) ? 0 : getPlacementId().hashCode());
hashCode = prime * hashCode + ((getGameSessionQueueName() == null) ? 0 : getGameSessionQueueName().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getGameProperties() == null) ? 0 : getGameProperties().hashCode());
hashCode = prime * hashCode + ((getMaximumPlayerSessionCount() == null) ? 0 : getMaximumPlayerSessionCount().hashCode());
hashCode = prime * hashCode + ((getGameSessionName() == null) ? 0 : getGameSessionName().hashCode());
hashCode = prime * hashCode + ((getGameSessionId() == null) ? 0 : getGameSessionId().hashCode());
hashCode = prime * hashCode + ((getGameSessionArn() == null) ? 0 : getGameSessionArn().hashCode());
hashCode = prime * hashCode + ((getGameSessionRegion() == null) ? 0 : getGameSessionRegion().hashCode());
hashCode = prime * hashCode + ((getPlayerLatencies() == null) ? 0 : getPlayerLatencies().hashCode());
hashCode = prime * hashCode + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
hashCode = prime * hashCode + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
hashCode = prime * hashCode + ((getIpAddress() == null) ? 0 : getIpAddress().hashCode());
hashCode = prime * hashCode + ((getDnsName() == null) ? 0 : getDnsName().hashCode());
hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode());
hashCode = prime * hashCode + ((getPlacedPlayerSessions() == null) ? 0 : getPlacedPlayerSessions().hashCode());
hashCode = prime * hashCode + ((getGameSessionData() == null) ? 0 : getGameSessionData().hashCode());
hashCode = prime * hashCode + ((getMatchmakerData() == null) ? 0 : getMatchmakerData().hashCode());
return hashCode;
}
@Override
public GameSessionPlacement clone() {
try {
return (GameSessionPlacement) 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.GameSessionPlacementMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}