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

This data type is used with the Amazon GameLift FleetIQ and game server * groups.

Additional properties, including status, that describe an * EC2 instance in a game server group. Instance configurations are set with game * server group properties (see DescribeGameServerGroup and with the * EC2 launch template that was used when creating the game server group.

*

Retrieve game server instances for a game server group by calling * DescribeGameServerInstances.

See Also:

AWS * API Reference

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

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline const Aws::String& GetGameServerGroupName() const{ return m_gameServerGroupName; } /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline bool GameServerGroupNameHasBeenSet() const { return m_gameServerGroupNameHasBeenSet; } /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline void SetGameServerGroupName(const Aws::String& value) { m_gameServerGroupNameHasBeenSet = true; m_gameServerGroupName = value; } /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline void SetGameServerGroupName(Aws::String&& value) { m_gameServerGroupNameHasBeenSet = true; m_gameServerGroupName = std::move(value); } /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline void SetGameServerGroupName(const char* value) { m_gameServerGroupNameHasBeenSet = true; m_gameServerGroupName.assign(value); } /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline GameServerInstance& WithGameServerGroupName(const Aws::String& value) { SetGameServerGroupName(value); return *this;} /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline GameServerInstance& WithGameServerGroupName(Aws::String&& value) { SetGameServerGroupName(std::move(value)); return *this;} /** *

A developer-defined identifier for the game server group that includes the * game server instance. The name is unique for each Region in each Amazon Web * Services account.

*/ inline GameServerInstance& WithGameServerGroupName(const char* value) { SetGameServerGroupName(value); return *this;} /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline const Aws::String& GetGameServerGroupArn() const{ return m_gameServerGroupArn; } /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline bool GameServerGroupArnHasBeenSet() const { return m_gameServerGroupArnHasBeenSet; } /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline void SetGameServerGroupArn(const Aws::String& value) { m_gameServerGroupArnHasBeenSet = true; m_gameServerGroupArn = value; } /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline void SetGameServerGroupArn(Aws::String&& value) { m_gameServerGroupArnHasBeenSet = true; m_gameServerGroupArn = std::move(value); } /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline void SetGameServerGroupArn(const char* value) { m_gameServerGroupArnHasBeenSet = true; m_gameServerGroupArn.assign(value); } /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline GameServerInstance& WithGameServerGroupArn(const Aws::String& value) { SetGameServerGroupArn(value); return *this;} /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline GameServerInstance& WithGameServerGroupArn(Aws::String&& value) { SetGameServerGroupArn(std::move(value)); return *this;} /** *

A generated unique identifier for the game server group that includes the * game server instance.

*/ inline GameServerInstance& WithGameServerGroupArn(const char* value) { SetGameServerGroupArn(value); return *this;} /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline GameServerInstance& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline GameServerInstance& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The unique identifier for the instance where the game server is running. This * ID is available in the instance metadata. EC2 instance IDs use a 17-character * format, for example: i-1234567890abcdef0.

*/ inline GameServerInstance& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

Current status of the game server instance

*/ inline const GameServerInstanceStatus& GetInstanceStatus() const{ return m_instanceStatus; } /** *

Current status of the game server instance

*/ inline bool InstanceStatusHasBeenSet() const { return m_instanceStatusHasBeenSet; } /** *

Current status of the game server instance

*/ inline void SetInstanceStatus(const GameServerInstanceStatus& value) { m_instanceStatusHasBeenSet = true; m_instanceStatus = value; } /** *

Current status of the game server instance

*/ inline void SetInstanceStatus(GameServerInstanceStatus&& value) { m_instanceStatusHasBeenSet = true; m_instanceStatus = std::move(value); } /** *

Current status of the game server instance

*/ inline GameServerInstance& WithInstanceStatus(const GameServerInstanceStatus& value) { SetInstanceStatus(value); return *this;} /** *

Current status of the game server instance

*/ inline GameServerInstance& WithInstanceStatus(GameServerInstanceStatus&& value) { SetInstanceStatus(std::move(value)); return *this;} private: Aws::String m_gameServerGroupName; bool m_gameServerGroupNameHasBeenSet = false; Aws::String m_gameServerGroupArn; bool m_gameServerGroupArnHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; GameServerInstanceStatus m_instanceStatus; bool m_instanceStatusHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws