/** * 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 { /** *

This object includes the full details of the original request plus the * current status and start/end time stamps.

See Also:

AWS * API Reference

*/ class GameSessionPlacement { public: AWS_GAMELIFT_API GameSessionPlacement(); AWS_GAMELIFT_API GameSessionPlacement(Aws::Utils::Json::JsonView jsonValue); AWS_GAMELIFT_API GameSessionPlacement& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GAMELIFT_API 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.

  • *

    TIMED_OUT -- A new game session was not successfully created before * the time limit expired. You can resubmit the placement request as needed.

    *
  • FAILED -- Amazon 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.

  • *

    TIMED_OUT -- A new game session was not successfully created before * the time limit expired. You can resubmit the placement request as needed.

    *
  • FAILED -- Amazon 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.

  • *

    TIMED_OUT -- A new game session was not successfully created before * the time limit expired. You can resubmit the placement request as needed.

    *
  • FAILED -- Amazon 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.

  • *

    TIMED_OUT -- A new game session was not successfully created before * the time limit expired. You can resubmit the placement request as needed.

    *
  • FAILED -- Amazon 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.

  • *

    TIMED_OUT -- A new game session was not successfully created before * the time limit expired. You can resubmit the placement request as needed.

    *
  • FAILED -- Amazon 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.

  • *

    TIMED_OUT -- A new game session was not successfully created before * the time limit expired. You can resubmit the placement request as needed.

    *
  • FAILED -- Amazon 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;} /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session).

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

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session).

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

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

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

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

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

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

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * Regions.

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

A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to Amazon Web Services * 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;} /** *

The IP address of 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 const Aws::String& GetIpAddress() const{ return m_ipAddress; } /** *

The IP address of 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 IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } /** *

The IP address of 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 SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } /** *

The IP address of 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 SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } /** *

The IP address of 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 SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } /** *

The IP address of 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& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} /** *

The IP address of 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& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} /** *

The IP address of 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& WithIpAddress(const char* value) { SetIpAddress(value); 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.

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

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

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.

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

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.

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

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.

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

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.

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

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

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

The 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; } /** *

The 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; } /** *

The 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; } /** *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ 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 = false; Aws::String m_gameSessionQueueName; bool m_gameSessionQueueNameHasBeenSet = false; GameSessionPlacementState m_status; bool m_statusHasBeenSet = false; Aws::Vector m_gameProperties; bool m_gamePropertiesHasBeenSet = false; int m_maximumPlayerSessionCount; bool m_maximumPlayerSessionCountHasBeenSet = false; Aws::String m_gameSessionName; bool m_gameSessionNameHasBeenSet = false; Aws::String m_gameSessionId; bool m_gameSessionIdHasBeenSet = false; Aws::String m_gameSessionArn; bool m_gameSessionArnHasBeenSet = false; Aws::String m_gameSessionRegion; bool m_gameSessionRegionHasBeenSet = false; Aws::Vector m_playerLatencies; bool m_playerLatenciesHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::String m_ipAddress; bool m_ipAddressHasBeenSet = false; Aws::String m_dnsName; bool m_dnsNameHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::Vector m_placedPlayerSessions; bool m_placedPlayerSessionsHasBeenSet = false; Aws::String m_gameSessionData; bool m_gameSessionDataHasBeenSet = false; Aws::String m_matchmakerData; bool m_matchmakerDataHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws