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

Information about the fleet's capacity. Fleet capacity is measured in EC2 * instances. By default, new fleets have a capacity of one instance, but can be * updated as needed. The maximum number of instances for a fleet is determined by * the fleet's instance type.

See Also:

AWS * API Reference

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

A unique identifier for a fleet.

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

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet * instance type determines the computing resources of each instance in the fleet, * including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

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

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet * instance type determines the computing resources of each instance in the fleet, * including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

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

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet * instance type determines the computing resources of each instance in the fleet, * including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

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

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet * instance type determines the computing resources of each instance in the fleet, * including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

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

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet * instance type determines the computing resources of each instance in the fleet, * including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

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

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet * instance type determines the computing resources of each instance in the fleet, * including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

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

Current status of fleet capacity.

*/ inline const EC2InstanceCounts& GetInstanceCounts() const{ return m_instanceCounts; } /** *

Current status of fleet capacity.

*/ inline bool InstanceCountsHasBeenSet() const { return m_instanceCountsHasBeenSet; } /** *

Current status of fleet capacity.

*/ inline void SetInstanceCounts(const EC2InstanceCounts& value) { m_instanceCountsHasBeenSet = true; m_instanceCounts = value; } /** *

Current status of fleet capacity.

*/ inline void SetInstanceCounts(EC2InstanceCounts&& value) { m_instanceCountsHasBeenSet = true; m_instanceCounts = std::move(value); } /** *

Current status of fleet capacity.

*/ inline FleetCapacity& WithInstanceCounts(const EC2InstanceCounts& value) { SetInstanceCounts(value); return *this;} /** *

Current status of fleet capacity.

*/ inline FleetCapacity& WithInstanceCounts(EC2InstanceCounts&& value) { SetInstanceCounts(std::move(value)); return *this;} private: Aws::String m_fleetId; bool m_fleetIdHasBeenSet; EC2InstanceType m_instanceType; bool m_instanceTypeHasBeenSet; EC2InstanceCounts m_instanceCounts; bool m_instanceCountsHasBeenSet; }; } // namespace Model } // namespace GameLift } // namespace Aws