/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GameLift { namespace Model { /** *

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 Also:

AWS * API Reference

*/ class AWS_GAMELIFT_API GameSessionPlacement { public: GameSessionPlacement(); GameSessionPlacement(Aws::Utils::Json::JsonView jsonValue); GameSessionPlacement& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

A unique identifier for a game session placement.

*/ inline const Aws::String& GetPlacementId() const{ return m_placementId; } /** *

A unique identifier for a game session placement.

*/ inline bool PlacementIdHasBeenSet() const { return m_placementIdHasBeenSet; } /** *

A unique identifier for a game session placement.

*/ inline void SetPlacementId(const Aws::String& value) { m_placementIdHasBeenSet = true; m_placementId = value; } /** *

A unique identifier for a game session placement.

*/ inline void SetPlacementId(Aws::String&& value) { m_placementIdHasBeenSet = true; m_placementId = std::move(value); } /** *

A unique identifier for a game session placement.

*/ inline void SetPlacementId(const char* value) { m_placementIdHasBeenSet = true; m_placementId.assign(value); } /** *

A unique identifier for a game session placement.

*/ inline GameSessionPlacement& WithPlacementId(const Aws::String& value) { SetPlacementId(value); return *this;} /** *

A unique identifier for a game session placement.

*/ inline GameSessionPlacement& WithPlacementId(Aws::String&& value) { SetPlacementId(std::move(value)); return *this;} /** *

A unique identifier for a game session placement.

*/ inline GameSessionPlacement& WithPlacementId(const char* value) { SetPlacementId(value); return *this;} /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline const Aws::String& GetGameSessionQueueName() const{ return m_gameSessionQueueName; } /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline bool GameSessionQueueNameHasBeenSet() const { return m_gameSessionQueueNameHasBeenSet; } /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline void SetGameSessionQueueName(const Aws::String& value) { m_gameSessionQueueNameHasBeenSet = true; m_gameSessionQueueName = value; } /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline void SetGameSessionQueueName(Aws::String&& value) { m_gameSessionQueueNameHasBeenSet = true; m_gameSessionQueueName = std::move(value); } /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline void SetGameSessionQueueName(const char* value) { m_gameSessionQueueNameHasBeenSet = true; m_gameSessionQueueName.assign(value); } /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline GameSessionPlacement& WithGameSessionQueueName(const Aws::String& value) { SetGameSessionQueueName(value); return *this;} /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline GameSessionPlacement& WithGameSessionQueueName(Aws::String&& value) { SetGameSessionQueueName(std::move(value)); return *this;} /** *

A descriptive label that is associated with game session queue. Queue names * must be unique within each Region.

*/ inline GameSessionPlacement& WithGameSessionQueueName(const char* value) { SetGameSessionQueueName(value); 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.

*/ inline const GameSessionPlacementState& GetStatus() const{ return m_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.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

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.

*/ inline void SetStatus(const GameSessionPlacementState& value) { m_statusHasBeenSet = true; m_status = value; } /** *

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.

*/ inline void SetStatus(GameSessionPlacementState&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

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.

*/ inline GameSessionPlacement& WithStatus(const GameSessionPlacementState& value) { SetStatus(value); 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.

*/ inline GameSessionPlacement& WithStatus(GameSessionPlacementState&& value) { SetStatus(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Vector& GetGameProperties() const{ return m_gameProperties; } /** *

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

*/ inline bool GamePropertiesHasBeenSet() const { return m_gamePropertiesHasBeenSet; } /** *

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

*/ inline void SetGameProperties(const Aws::Vector& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = value; } /** *

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

*/ inline void SetGameProperties(Aws::Vector&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = std::move(value); } /** *

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

*/ inline GameSessionPlacement& WithGameProperties(const Aws::Vector& value) { SetGameProperties(value); return *this;} /** *

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

*/ inline GameSessionPlacement& WithGameProperties(Aws::Vector&& value) { SetGameProperties(std::move(value)); return *this;} /** *

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

*/ inline GameSessionPlacement& AddGameProperties(const GameProperty& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(value); return *this; } /** *

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

*/ inline GameSessionPlacement& AddGameProperties(GameProperty&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(std::move(value)); return *this; } /** *

The maximum number of players that can be connected simultaneously to the * game session.

*/ inline int GetMaximumPlayerSessionCount() const{ return m_maximumPlayerSessionCount; } /** *

The maximum number of players that can be connected simultaneously to the * game session.

*/ inline bool MaximumPlayerSessionCountHasBeenSet() const { return m_maximumPlayerSessionCountHasBeenSet; } /** *

The maximum number of players that can be connected simultaneously to the * game session.

*/ inline void SetMaximumPlayerSessionCount(int value) { m_maximumPlayerSessionCountHasBeenSet = true; m_maximumPlayerSessionCount = value; } /** *

The maximum number of players that can be connected simultaneously to the * game session.

*/ inline GameSessionPlacement& WithMaximumPlayerSessionCount(int value) { SetMaximumPlayerSessionCount(value); return *this;} /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline const Aws::String& GetGameSessionName() const{ return m_gameSessionName; } /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline bool GameSessionNameHasBeenSet() const { return m_gameSessionNameHasBeenSet; } /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline void SetGameSessionName(const Aws::String& value) { m_gameSessionNameHasBeenSet = true; m_gameSessionName = value; } /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline void SetGameSessionName(Aws::String&& value) { m_gameSessionNameHasBeenSet = true; m_gameSessionName = std::move(value); } /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline void SetGameSessionName(const char* value) { m_gameSessionNameHasBeenSet = true; m_gameSessionName.assign(value); } /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline GameSessionPlacement& WithGameSessionName(const Aws::String& value) { SetGameSessionName(value); return *this;} /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline GameSessionPlacement& WithGameSessionName(Aws::String&& value) { SetGameSessionName(std::move(value)); return *this;} /** *

A descriptive label that is associated with a game session. Session names do * not need to be unique.

*/ inline GameSessionPlacement& WithGameSessionName(const char* value) { SetGameSessionName(value); return *this;} /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline const Aws::String& GetGameSessionId() const{ return m_gameSessionId; } /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline bool GameSessionIdHasBeenSet() const { return m_gameSessionIdHasBeenSet; } /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline void SetGameSessionId(const Aws::String& value) { m_gameSessionIdHasBeenSet = true; m_gameSessionId = value; } /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline void SetGameSessionId(Aws::String&& value) { m_gameSessionIdHasBeenSet = true; m_gameSessionId = std::move(value); } /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline void SetGameSessionId(const char* value) { m_gameSessionIdHasBeenSet = true; m_gameSessionId.assign(value); } /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline GameSessionPlacement& WithGameSessionId(const Aws::String& value) { SetGameSessionId(value); return *this;} /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline GameSessionPlacement& WithGameSessionId(Aws::String&& value) { SetGameSessionId(std::move(value)); return *this;} /** *

A unique identifier for the game session. This value is set once the new game * session is placed (placement status is FULFILLED).

*/ inline GameSessionPlacement& WithGameSessionId(const char* value) { SetGameSessionId(value); 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.

*/ inline const Aws::String& GetGameSessionArn() const{ return m_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.

*/ inline bool GameSessionArnHasBeenSet() const { return m_gameSessionArnHasBeenSet; } /** *

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.

*/ inline void SetGameSessionArn(const Aws::String& value) { m_gameSessionArnHasBeenSet = true; m_gameSessionArn = value; } /** *

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.

*/ inline void SetGameSessionArn(Aws::String&& value) { m_gameSessionArnHasBeenSet = true; m_gameSessionArn = std::move(value); } /** *

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.

*/ inline void SetGameSessionArn(const char* value) { m_gameSessionArnHasBeenSet = true; m_gameSessionArn.assign(value); } /** *

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.

*/ inline GameSessionPlacement& WithGameSessionArn(const Aws::String& value) { SetGameSessionArn(value); 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.

*/ inline GameSessionPlacement& WithGameSessionArn(Aws::String&& value) { SetGameSessionArn(std::move(value)); 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.

*/ inline GameSessionPlacement& WithGameSessionArn(const char* value) { SetGameSessionArn(value); 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).

*/ inline const Aws::String& GetGameSessionRegion() const{ return m_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).

*/ inline bool GameSessionRegionHasBeenSet() const { return m_gameSessionRegionHasBeenSet; } /** *

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

*/ inline void SetGameSessionRegion(const Aws::String& value) { m_gameSessionRegionHasBeenSet = true; m_gameSessionRegion = value; } /** *

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

*/ inline void SetGameSessionRegion(Aws::String&& value) { m_gameSessionRegionHasBeenSet = true; m_gameSessionRegion = std::move(value); } /** *

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

*/ inline void SetGameSessionRegion(const char* value) { m_gameSessionRegionHasBeenSet = true; m_gameSessionRegion.assign(value); } /** *

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

*/ inline GameSessionPlacement& WithGameSessionRegion(const Aws::String& value) { SetGameSessionRegion(value); 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).

*/ inline GameSessionPlacement& WithGameSessionRegion(Aws::String&& value) { SetGameSessionRegion(std::move(value)); 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).

*/ inline GameSessionPlacement& WithGameSessionRegion(const char* value) { SetGameSessionRegion(value); return *this;} /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline const Aws::Vector& GetPlayerLatencies() const{ return m_playerLatencies; } /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline bool PlayerLatenciesHasBeenSet() const { return m_playerLatenciesHasBeenSet; } /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline void SetPlayerLatencies(const Aws::Vector& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies = value; } /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline void SetPlayerLatencies(Aws::Vector&& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies = std::move(value); } /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline GameSessionPlacement& WithPlayerLatencies(const Aws::Vector& value) { SetPlayerLatencies(value); return *this;} /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline GameSessionPlacement& WithPlayerLatencies(Aws::Vector&& value) { SetPlayerLatencies(std::move(value)); return *this;} /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline GameSessionPlacement& AddPlayerLatencies(const PlayerLatency& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies.push_back(value); return *this; } /** *

Set of values, expressed in milliseconds, indicating the amount of latency * that a player experiences when connected to AWS Regions.

*/ inline GameSessionPlacement& AddPlayerLatencies(PlayerLatency&& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies.push_back(std::move(value)); 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").

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_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").

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

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

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

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

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

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

*/ inline GameSessionPlacement& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); 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").

*/ inline GameSessionPlacement& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

Time stamp indicating when this request was completed, canceled, or timed * out.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

Time stamp indicating when this request was completed, canceled, or timed * out.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

Time stamp indicating when this request was completed, canceled, or timed * out.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

Time stamp indicating when this request was completed, canceled, or timed * out.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

Time stamp indicating when this request was completed, canceled, or timed * out.

*/ inline GameSessionPlacement& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

Time stamp indicating when this request was completed, canceled, or timed * out.

*/ inline GameSessionPlacement& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline GameSessionPlacement& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline GameSessionPlacement& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} /** *

IP address of the instance that is running the game session. When connecting * to a Amazon GameLift game server, a client needs to reference an IP address (or * DNS name) and port number. This value is set once the new game session is placed * (placement status is FULFILLED).

*/ inline GameSessionPlacement& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} /** *

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.

*/ inline const Aws::String& GetDnsName() const{ return m_dnsName; } /** *

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.

*/ inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; } /** *

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.

*/ inline void SetDnsName(const Aws::String& value) { m_dnsNameHasBeenSet = true; m_dnsName = value; } /** *

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.

*/ inline void SetDnsName(Aws::String&& value) { m_dnsNameHasBeenSet = true; m_dnsName = std::move(value); } /** *

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.

*/ inline void SetDnsName(const char* value) { m_dnsNameHasBeenSet = true; m_dnsName.assign(value); } /** *

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.

*/ inline GameSessionPlacement& WithDnsName(const Aws::String& value) { SetDnsName(value); return *this;} /** *

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.

*/ inline GameSessionPlacement& WithDnsName(Aws::String&& value) { SetDnsName(std::move(value)); return *this;} /** *

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.

*/ inline GameSessionPlacement& WithDnsName(const char* value) { SetDnsName(value); return *this;} /** *

Port number for the game session. To connect to a Amazon 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).

*/ inline int GetPort() const{ return m_port; } /** *

Port number for the game session. To connect to a Amazon 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).

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

Port number for the game session. To connect to a Amazon 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).

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

Port number for the game session. To connect to a Amazon 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).

*/ inline GameSessionPlacement& WithPort(int value) { SetPort(value); 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.

*/ inline const Aws::Vector& GetPlacedPlayerSessions() const{ return m_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.

*/ inline bool PlacedPlayerSessionsHasBeenSet() const { return m_placedPlayerSessionsHasBeenSet; } /** *

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.

*/ inline void SetPlacedPlayerSessions(const Aws::Vector& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions = value; } /** *

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.

*/ inline void SetPlacedPlayerSessions(Aws::Vector&& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions = std::move(value); } /** *

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.

*/ inline GameSessionPlacement& WithPlacedPlayerSessions(const Aws::Vector& value) { SetPlacedPlayerSessions(value); 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.

*/ inline GameSessionPlacement& WithPlacedPlayerSessions(Aws::Vector&& value) { SetPlacedPlayerSessions(std::move(value)); 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.

*/ inline GameSessionPlacement& AddPlacedPlayerSessions(const PlacedPlayerSession& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions.push_back(value); 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.

*/ inline GameSessionPlacement& AddPlacedPlayerSessions(PlacedPlayerSession&& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::String& GetGameSessionData() const{ return m_gameSessionData; } /** *

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

*/ inline bool GameSessionDataHasBeenSet() const { return m_gameSessionDataHasBeenSet; } /** *

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

*/ inline void SetGameSessionData(const Aws::String& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = value; } /** *

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

*/ inline void SetGameSessionData(Aws::String&& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = std::move(value); } /** *

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

*/ inline void SetGameSessionData(const char* value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData.assign(value); } /** *

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

*/ inline GameSessionPlacement& WithGameSessionData(const Aws::String& value) { SetGameSessionData(value); return *this;} /** *

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

*/ inline GameSessionPlacement& WithGameSessionData(Aws::String&& value) { SetGameSessionData(std::move(value)); return *this;} /** *

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

*/ inline GameSessionPlacement& WithGameSessionData(const char* value) { SetGameSessionData(value); 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.

*/ inline const Aws::String& GetMatchmakerData() const{ return m_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.

*/ inline bool MatchmakerDataHasBeenSet() const { return m_matchmakerDataHasBeenSet; } /** *

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.

*/ inline void SetMatchmakerData(const Aws::String& value) { m_matchmakerDataHasBeenSet = true; m_matchmakerData = value; } /** *

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.

*/ inline void SetMatchmakerData(Aws::String&& value) { m_matchmakerDataHasBeenSet = true; m_matchmakerData = std::move(value); } /** *

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.

*/ inline void SetMatchmakerData(const char* value) { m_matchmakerDataHasBeenSet = true; m_matchmakerData.assign(value); } /** *

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.

*/ inline GameSessionPlacement& WithMatchmakerData(const Aws::String& value) { SetMatchmakerData(value); 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.

*/ inline GameSessionPlacement& WithMatchmakerData(Aws::String&& value) { SetMatchmakerData(std::move(value)); 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.

*/ inline GameSessionPlacement& WithMatchmakerData(const char* value) { SetMatchmakerData(value); return *this;} private: Aws::String m_placementId; bool m_placementIdHasBeenSet; Aws::String m_gameSessionQueueName; bool m_gameSessionQueueNameHasBeenSet; GameSessionPlacementState m_status; bool m_statusHasBeenSet; Aws::Vector m_gameProperties; bool m_gamePropertiesHasBeenSet; int m_maximumPlayerSessionCount; bool m_maximumPlayerSessionCountHasBeenSet; Aws::String m_gameSessionName; bool m_gameSessionNameHasBeenSet; Aws::String m_gameSessionId; bool m_gameSessionIdHasBeenSet; Aws::String m_gameSessionArn; bool m_gameSessionArnHasBeenSet; Aws::String m_gameSessionRegion; bool m_gameSessionRegionHasBeenSet; Aws::Vector m_playerLatencies; bool m_playerLatenciesHasBeenSet; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet; Aws::String m_ipAddress; bool m_ipAddressHasBeenSet; Aws::String m_dnsName; bool m_dnsNameHasBeenSet; int m_port; bool m_portHasBeenSet; Aws::Vector m_placedPlayerSessions; bool m_placedPlayerSessionsHasBeenSet; Aws::String m_gameSessionData; bool m_gameSessionDataHasBeenSet; Aws::String m_matchmakerData; bool m_matchmakerDataHasBeenSet; }; } // namespace Model } // namespace GameLift } // namespace Aws