/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Current resource capacity settings for managed EC2 fleets and managed
* container fleets. For multi-location fleets, location values might refer to a
* fleet's remote location or its home Region. Returned by: DescribeFleetCapacity,
* DescribeFleetLocationCapacity,
* UpdateFleetCapacity
* See Also:
AWS
* API Reference
A unique identifier for the fleet associated with the location.
*/ inline const Aws::String& GetFleetId() const{ return m_fleetId; } inline bool FleetIdHasBeenSet() const { return m_fleetIdHasBeenSet; } inline void SetFleetId(const Aws::String& value) { m_fleetIdHasBeenSet = true; m_fleetId = value; } inline void SetFleetId(Aws::String&& value) { m_fleetIdHasBeenSet = true; m_fleetId = std::move(value); } inline void SetFleetId(const char* value) { m_fleetIdHasBeenSet = true; m_fleetId.assign(value); } inline FleetCapacity& WithFleetId(const Aws::String& value) { SetFleetId(value); return *this;} inline FleetCapacity& WithFleetId(Aws::String&& value) { SetFleetId(std::move(value)); return *this;} 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.
The Amazon EC2 instance type that is used for instances in a fleet. 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; } inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } inline void SetInstanceType(const EC2InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } inline void SetInstanceType(EC2InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } inline FleetCapacity& WithInstanceType(const EC2InstanceType& value) { SetInstanceType(value); return *this;} inline FleetCapacity& WithInstanceType(EC2InstanceType&& value) { SetInstanceType(std::move(value)); return *this;} ///@} ///@{ /** *The current number of instances in the fleet, listed by instance status. * Counts for pending and terminating instances might be non-zero if the fleet is * adjusting to a scaling event or if access to resources is temporarily * affected.
*/ 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.
The number and status of game server container groups deployed in a container * fleet.
*/ inline const GameServerContainerGroupCounts& GetGameServerContainerGroupCounts() const{ return m_gameServerContainerGroupCounts; } inline bool GameServerContainerGroupCountsHasBeenSet() const { return m_gameServerContainerGroupCountsHasBeenSet; } inline void SetGameServerContainerGroupCounts(const GameServerContainerGroupCounts& value) { m_gameServerContainerGroupCountsHasBeenSet = true; m_gameServerContainerGroupCounts = value; } inline void SetGameServerContainerGroupCounts(GameServerContainerGroupCounts&& value) { m_gameServerContainerGroupCountsHasBeenSet = true; m_gameServerContainerGroupCounts = std::move(value); } inline FleetCapacity& WithGameServerContainerGroupCounts(const GameServerContainerGroupCounts& value) { SetGameServerContainerGroupCounts(value); return *this;} inline FleetCapacity& WithGameServerContainerGroupCounts(GameServerContainerGroupCounts&& value) { SetGameServerContainerGroupCounts(std::move(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; GameServerContainerGroupCounts m_gameServerContainerGroupCounts; bool m_gameServerContainerGroupCountsHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws