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

Current resource capacity settings in a specified fleet or location. The * location value might refer to a fleet's remote location or its home Region.

*

Related actions

DescribeFleetCapacity * | DescribeFleetLocationCapacity * | UpdateFleetCapacity *

See Also:

AWS * API Reference

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

A unique identifier for the fleet associated with the location.

*/ inline const Aws::String& GetFleetId() const{ return m_fleetId; } /** *

A unique identifier for the fleet associated with the location.

*/ inline bool FleetIdHasBeenSet() const { return m_fleetIdHasBeenSet; } /** *

A unique identifier for the fleet associated with the location.

*/ inline void SetFleetId(const Aws::String& value) { m_fleetIdHasBeenSet = true; m_fleetId = value; } /** *

A unique identifier for the fleet associated with the location.

*/ inline void SetFleetId(Aws::String&& value) { m_fleetIdHasBeenSet = true; m_fleetId = std::move(value); } /** *

A unique identifier for the fleet associated with the location.

*/ inline void SetFleetId(const char* value) { m_fleetIdHasBeenSet = true; m_fleetId.assign(value); } /** *

A unique identifier for the fleet associated with the location.

*/ inline FleetCapacity& WithFleetId(const Aws::String& value) { SetFleetId(value); return *this;} /** *

A unique identifier for the fleet associated with the location.

*/ inline FleetCapacity& WithFleetId(Aws::String&& value) { SetFleetId(std::move(value)); return *this;} /** *

A unique identifier for the fleet associated with the location.

*/ inline FleetCapacity& WithFleetId(const char* value) { SetFleetId(value); return *this;} /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline const Aws::String& GetFleetArn() const{ return m_fleetArn; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline bool FleetArnHasBeenSet() const { return m_fleetArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline void SetFleetArn(const Aws::String& value) { m_fleetArnHasBeenSet = true; m_fleetArn = value; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline void SetFleetArn(Aws::String&& value) { m_fleetArnHasBeenSet = true; m_fleetArn = std::move(value); } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline void SetFleetArn(const char* value) { m_fleetArnHasBeenSet = true; m_fleetArn.assign(value); } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline FleetCapacity& WithFleetArn(const Aws::String& value) { SetFleetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline FleetCapacity& WithFleetArn(Aws::String&& value) { SetFleetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. * ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

*/ inline FleetCapacity& WithFleetArn(const char* value) { SetFleetArn(value); return *this;} /** *

The Amazon EC2 instance type that is used for all instances in a fleet. The * instance type determines the computing resources in use, including CPU, memory, * storage, and networking capacity. See Amazon Elastic Compute Cloud * Instance Types for detailed descriptions.

*/ inline const EC2InstanceType& GetInstanceType() const{ return m_instanceType; } /** *

The Amazon EC2 instance type that is used for all instances in a fleet. The * instance type determines the computing resources in use, including CPU, memory, * storage, and networking capacity. See Amazon Elastic Compute Cloud * Instance Types for detailed descriptions.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The Amazon EC2 instance type that is used for all instances in a fleet. The * instance type determines the computing resources in use, including CPU, memory, * storage, and networking capacity. See Amazon Elastic Compute Cloud * Instance Types for detailed descriptions.

*/ inline void SetInstanceType(const EC2InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The Amazon EC2 instance type that is used for all instances in a fleet. The * instance type determines the computing resources in use, including CPU, memory, * storage, and networking capacity. See Amazon Elastic Compute Cloud * Instance Types for detailed descriptions.

*/ inline void SetInstanceType(EC2InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The Amazon EC2 instance type that is used for all instances in a fleet. The * instance type determines the computing resources in use, including CPU, memory, * storage, and networking capacity. See Amazon Elastic Compute Cloud * Instance Types for detailed descriptions.

*/ inline FleetCapacity& WithInstanceType(const EC2InstanceType& value) { SetInstanceType(value); return *this;} /** *

The Amazon EC2 instance type that is used for all instances in a fleet. The * instance type determines the computing resources in use, including CPU, memory, * storage, and networking capacity. See Amazon Elastic Compute Cloud * Instance Types for detailed descriptions.

*/ inline FleetCapacity& WithInstanceType(EC2InstanceType&& value) { SetInstanceType(std::move(value)); return *this;} inline const EC2InstanceCounts& GetInstanceCounts() const{ return m_instanceCounts; } inline bool InstanceCountsHasBeenSet() const { return m_instanceCountsHasBeenSet; } inline void SetInstanceCounts(const EC2InstanceCounts& value) { m_instanceCountsHasBeenSet = true; m_instanceCounts = value; } inline void SetInstanceCounts(EC2InstanceCounts&& value) { m_instanceCountsHasBeenSet = true; m_instanceCounts = std::move(value); } inline FleetCapacity& WithInstanceCounts(const EC2InstanceCounts& value) { SetInstanceCounts(value); return *this;} inline FleetCapacity& WithInstanceCounts(EC2InstanceCounts&& value) { SetInstanceCounts(std::move(value)); return *this;} /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline FleetCapacity& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline FleetCapacity& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

The fleet location for the instance count information, expressed as an Amazon * Web Services Region code, such as us-west-2.

*/ inline FleetCapacity& WithLocation(const char* value) { SetLocation(value); return *this;} private: Aws::String m_fleetId; bool m_fleetIdHasBeenSet = false; Aws::String m_fleetArn; bool m_fleetArnHasBeenSet = false; EC2InstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; EC2InstanceCounts m_instanceCounts; bool m_instanceCountsHasBeenSet = false; Aws::String m_location; bool m_locationHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws