/** * 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 #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Information about a Capacity Reservation Fleet.

See Also:

AWS * API Reference

*/ class CapacityReservationFleet { public: AWS_EC2_API CapacityReservationFleet(); AWS_EC2_API CapacityReservationFleet(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API CapacityReservationFleet& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the Capacity Reservation Fleet.

*/ inline const Aws::String& GetCapacityReservationFleetId() const{ return m_capacityReservationFleetId; } /** *

The ID of the Capacity Reservation Fleet.

*/ inline bool CapacityReservationFleetIdHasBeenSet() const { return m_capacityReservationFleetIdHasBeenSet; } /** *

The ID of the Capacity Reservation Fleet.

*/ inline void SetCapacityReservationFleetId(const Aws::String& value) { m_capacityReservationFleetIdHasBeenSet = true; m_capacityReservationFleetId = value; } /** *

The ID of the Capacity Reservation Fleet.

*/ inline void SetCapacityReservationFleetId(Aws::String&& value) { m_capacityReservationFleetIdHasBeenSet = true; m_capacityReservationFleetId = std::move(value); } /** *

The ID of the Capacity Reservation Fleet.

*/ inline void SetCapacityReservationFleetId(const char* value) { m_capacityReservationFleetIdHasBeenSet = true; m_capacityReservationFleetId.assign(value); } /** *

The ID of the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithCapacityReservationFleetId(const Aws::String& value) { SetCapacityReservationFleetId(value); return *this;} /** *

The ID of the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithCapacityReservationFleetId(Aws::String&& value) { SetCapacityReservationFleetId(std::move(value)); return *this;} /** *

The ID of the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithCapacityReservationFleetId(const char* value) { SetCapacityReservationFleetId(value); return *this;} /** *

The ARN of the Capacity Reservation Fleet.

*/ inline const Aws::String& GetCapacityReservationFleetArn() const{ return m_capacityReservationFleetArn; } /** *

The ARN of the Capacity Reservation Fleet.

*/ inline bool CapacityReservationFleetArnHasBeenSet() const { return m_capacityReservationFleetArnHasBeenSet; } /** *

The ARN of the Capacity Reservation Fleet.

*/ inline void SetCapacityReservationFleetArn(const Aws::String& value) { m_capacityReservationFleetArnHasBeenSet = true; m_capacityReservationFleetArn = value; } /** *

The ARN of the Capacity Reservation Fleet.

*/ inline void SetCapacityReservationFleetArn(Aws::String&& value) { m_capacityReservationFleetArnHasBeenSet = true; m_capacityReservationFleetArn = std::move(value); } /** *

The ARN of the Capacity Reservation Fleet.

*/ inline void SetCapacityReservationFleetArn(const char* value) { m_capacityReservationFleetArnHasBeenSet = true; m_capacityReservationFleetArn.assign(value); } /** *

The ARN of the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithCapacityReservationFleetArn(const Aws::String& value) { SetCapacityReservationFleetArn(value); return *this;} /** *

The ARN of the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithCapacityReservationFleetArn(Aws::String&& value) { SetCapacityReservationFleetArn(std::move(value)); return *this;} /** *

The ARN of the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithCapacityReservationFleetArn(const char* value) { SetCapacityReservationFleetArn(value); return *this;} /** *

The state of the Capacity Reservation Fleet. Possible states include:

*
  • submitted - The Capacity Reservation Fleet request * has been submitted and Amazon Elastic Compute Cloud is preparing to create the * Capacity Reservations.

  • modifying - The Capacity * Reservation Fleet is being modified. The Fleet remains in this state until the * modification is complete.

  • active - The Capacity * Reservation Fleet has fulfilled its total target capacity and it is attempting * to maintain this capacity. The Fleet remains in this state until it is modified * or deleted.

  • partially_fulfilled - The Capacity * Reservation Fleet has partially fulfilled its total target capacity. There is * insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is * attempting to asynchronously fulfill its total target capacity.

  • *

    expiring - The Capacity Reservation Fleet has reach its end * date and it is in the process of expiring. One or more of its Capacity * reservations might still be active.

  • expired - * The Capacity Reservation Fleet has reach its end date. The Fleet and its * Capacity Reservations are expired. The Fleet can't create new Capacity * Reservations.

  • cancelling - The Capacity * Reservation Fleet is in the process of being cancelled. One or more of its * Capacity reservations might still be active.

  • * cancelled - The Capacity Reservation Fleet has been manually * cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet * can't create new Capacity Reservations.

  • failed - * The Capacity Reservation Fleet failed to reserve capacity for the specified * instance types.

*/ inline const CapacityReservationFleetState& GetState() const{ return m_state; } /** *

The state of the Capacity Reservation Fleet. Possible states include:

*
  • submitted - The Capacity Reservation Fleet request * has been submitted and Amazon Elastic Compute Cloud is preparing to create the * Capacity Reservations.

  • modifying - The Capacity * Reservation Fleet is being modified. The Fleet remains in this state until the * modification is complete.

  • active - The Capacity * Reservation Fleet has fulfilled its total target capacity and it is attempting * to maintain this capacity. The Fleet remains in this state until it is modified * or deleted.

  • partially_fulfilled - The Capacity * Reservation Fleet has partially fulfilled its total target capacity. There is * insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is * attempting to asynchronously fulfill its total target capacity.

  • *

    expiring - The Capacity Reservation Fleet has reach its end * date and it is in the process of expiring. One or more of its Capacity * reservations might still be active.

  • expired - * The Capacity Reservation Fleet has reach its end date. The Fleet and its * Capacity Reservations are expired. The Fleet can't create new Capacity * Reservations.

  • cancelling - The Capacity * Reservation Fleet is in the process of being cancelled. One or more of its * Capacity reservations might still be active.

  • * cancelled - The Capacity Reservation Fleet has been manually * cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet * can't create new Capacity Reservations.

  • failed - * The Capacity Reservation Fleet failed to reserve capacity for the specified * instance types.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the Capacity Reservation Fleet. Possible states include:

*
  • submitted - The Capacity Reservation Fleet request * has been submitted and Amazon Elastic Compute Cloud is preparing to create the * Capacity Reservations.

  • modifying - The Capacity * Reservation Fleet is being modified. The Fleet remains in this state until the * modification is complete.

  • active - The Capacity * Reservation Fleet has fulfilled its total target capacity and it is attempting * to maintain this capacity. The Fleet remains in this state until it is modified * or deleted.

  • partially_fulfilled - The Capacity * Reservation Fleet has partially fulfilled its total target capacity. There is * insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is * attempting to asynchronously fulfill its total target capacity.

  • *

    expiring - The Capacity Reservation Fleet has reach its end * date and it is in the process of expiring. One or more of its Capacity * reservations might still be active.

  • expired - * The Capacity Reservation Fleet has reach its end date. The Fleet and its * Capacity Reservations are expired. The Fleet can't create new Capacity * Reservations.

  • cancelling - The Capacity * Reservation Fleet is in the process of being cancelled. One or more of its * Capacity reservations might still be active.

  • * cancelled - The Capacity Reservation Fleet has been manually * cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet * can't create new Capacity Reservations.

  • failed - * The Capacity Reservation Fleet failed to reserve capacity for the specified * instance types.

*/ inline void SetState(const CapacityReservationFleetState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the Capacity Reservation Fleet. Possible states include:

*
  • submitted - The Capacity Reservation Fleet request * has been submitted and Amazon Elastic Compute Cloud is preparing to create the * Capacity Reservations.

  • modifying - The Capacity * Reservation Fleet is being modified. The Fleet remains in this state until the * modification is complete.

  • active - The Capacity * Reservation Fleet has fulfilled its total target capacity and it is attempting * to maintain this capacity. The Fleet remains in this state until it is modified * or deleted.

  • partially_fulfilled - The Capacity * Reservation Fleet has partially fulfilled its total target capacity. There is * insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is * attempting to asynchronously fulfill its total target capacity.

  • *

    expiring - The Capacity Reservation Fleet has reach its end * date and it is in the process of expiring. One or more of its Capacity * reservations might still be active.

  • expired - * The Capacity Reservation Fleet has reach its end date. The Fleet and its * Capacity Reservations are expired. The Fleet can't create new Capacity * Reservations.

  • cancelling - The Capacity * Reservation Fleet is in the process of being cancelled. One or more of its * Capacity reservations might still be active.

  • * cancelled - The Capacity Reservation Fleet has been manually * cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet * can't create new Capacity Reservations.

  • failed - * The Capacity Reservation Fleet failed to reserve capacity for the specified * instance types.

*/ inline void SetState(CapacityReservationFleetState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the Capacity Reservation Fleet. Possible states include:

*
  • submitted - The Capacity Reservation Fleet request * has been submitted and Amazon Elastic Compute Cloud is preparing to create the * Capacity Reservations.

  • modifying - The Capacity * Reservation Fleet is being modified. The Fleet remains in this state until the * modification is complete.

  • active - The Capacity * Reservation Fleet has fulfilled its total target capacity and it is attempting * to maintain this capacity. The Fleet remains in this state until it is modified * or deleted.

  • partially_fulfilled - The Capacity * Reservation Fleet has partially fulfilled its total target capacity. There is * insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is * attempting to asynchronously fulfill its total target capacity.

  • *

    expiring - The Capacity Reservation Fleet has reach its end * date and it is in the process of expiring. One or more of its Capacity * reservations might still be active.

  • expired - * The Capacity Reservation Fleet has reach its end date. The Fleet and its * Capacity Reservations are expired. The Fleet can't create new Capacity * Reservations.

  • cancelling - The Capacity * Reservation Fleet is in the process of being cancelled. One or more of its * Capacity reservations might still be active.

  • * cancelled - The Capacity Reservation Fleet has been manually * cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet * can't create new Capacity Reservations.

  • failed - * The Capacity Reservation Fleet failed to reserve capacity for the specified * instance types.

*/ inline CapacityReservationFleet& WithState(const CapacityReservationFleetState& value) { SetState(value); return *this;} /** *

The state of the Capacity Reservation Fleet. Possible states include:

*
  • submitted - The Capacity Reservation Fleet request * has been submitted and Amazon Elastic Compute Cloud is preparing to create the * Capacity Reservations.

  • modifying - The Capacity * Reservation Fleet is being modified. The Fleet remains in this state until the * modification is complete.

  • active - The Capacity * Reservation Fleet has fulfilled its total target capacity and it is attempting * to maintain this capacity. The Fleet remains in this state until it is modified * or deleted.

  • partially_fulfilled - The Capacity * Reservation Fleet has partially fulfilled its total target capacity. There is * insufficient Amazon EC2 to fulfill the total target capacity. The Fleet is * attempting to asynchronously fulfill its total target capacity.

  • *

    expiring - The Capacity Reservation Fleet has reach its end * date and it is in the process of expiring. One or more of its Capacity * reservations might still be active.

  • expired - * The Capacity Reservation Fleet has reach its end date. The Fleet and its * Capacity Reservations are expired. The Fleet can't create new Capacity * Reservations.

  • cancelling - The Capacity * Reservation Fleet is in the process of being cancelled. One or more of its * Capacity reservations might still be active.

  • * cancelled - The Capacity Reservation Fleet has been manually * cancelled. The Fleet and its Capacity Reservations are cancelled and the Fleet * can't create new Capacity Reservations.

  • failed - * The Capacity Reservation Fleet failed to reserve capacity for the specified * instance types.

*/ inline CapacityReservationFleet& WithState(CapacityReservationFleetState&& value) { SetState(std::move(value)); return *this;} /** *

The total number of capacity units for which the Capacity Reservation Fleet * reserves capacity. For more information, see Total * target capacity in the Amazon EC2 User Guide.

*/ inline int GetTotalTargetCapacity() const{ return m_totalTargetCapacity; } /** *

The total number of capacity units for which the Capacity Reservation Fleet * reserves capacity. For more information, see Total * target capacity in the Amazon EC2 User Guide.

*/ inline bool TotalTargetCapacityHasBeenSet() const { return m_totalTargetCapacityHasBeenSet; } /** *

The total number of capacity units for which the Capacity Reservation Fleet * reserves capacity. For more information, see Total * target capacity in the Amazon EC2 User Guide.

*/ inline void SetTotalTargetCapacity(int value) { m_totalTargetCapacityHasBeenSet = true; m_totalTargetCapacity = value; } /** *

The total number of capacity units for which the Capacity Reservation Fleet * reserves capacity. For more information, see Total * target capacity in the Amazon EC2 User Guide.

*/ inline CapacityReservationFleet& WithTotalTargetCapacity(int value) { SetTotalTargetCapacity(value); return *this;} /** *

The capacity units that have been fulfilled.

*/ inline double GetTotalFulfilledCapacity() const{ return m_totalFulfilledCapacity; } /** *

The capacity units that have been fulfilled.

*/ inline bool TotalFulfilledCapacityHasBeenSet() const { return m_totalFulfilledCapacityHasBeenSet; } /** *

The capacity units that have been fulfilled.

*/ inline void SetTotalFulfilledCapacity(double value) { m_totalFulfilledCapacityHasBeenSet = true; m_totalFulfilledCapacity = value; } /** *

The capacity units that have been fulfilled.

*/ inline CapacityReservationFleet& WithTotalFulfilledCapacity(double value) { SetTotalFulfilledCapacity(value); return *this;} /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

    *
  • default - The Capacity Reservation Fleet is created on * hardware that is shared with other Amazon Web Services accounts.

  • *

    dedicated - The Capacity Reservation Fleet is created on * single-tenant hardware that is dedicated to a single Amazon Web Services * account.

*/ inline const FleetCapacityReservationTenancy& GetTenancy() const{ return m_tenancy; } /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

    *
  • default - The Capacity Reservation Fleet is created on * hardware that is shared with other Amazon Web Services accounts.

  • *

    dedicated - The Capacity Reservation Fleet is created on * single-tenant hardware that is dedicated to a single Amazon Web Services * account.

*/ inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; } /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

    *
  • default - The Capacity Reservation Fleet is created on * hardware that is shared with other Amazon Web Services accounts.

  • *

    dedicated - The Capacity Reservation Fleet is created on * single-tenant hardware that is dedicated to a single Amazon Web Services * account.

*/ inline void SetTenancy(const FleetCapacityReservationTenancy& value) { m_tenancyHasBeenSet = true; m_tenancy = value; } /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

    *
  • default - The Capacity Reservation Fleet is created on * hardware that is shared with other Amazon Web Services accounts.

  • *

    dedicated - The Capacity Reservation Fleet is created on * single-tenant hardware that is dedicated to a single Amazon Web Services * account.

*/ inline void SetTenancy(FleetCapacityReservationTenancy&& value) { m_tenancyHasBeenSet = true; m_tenancy = std::move(value); } /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

    *
  • default - The Capacity Reservation Fleet is created on * hardware that is shared with other Amazon Web Services accounts.

  • *

    dedicated - The Capacity Reservation Fleet is created on * single-tenant hardware that is dedicated to a single Amazon Web Services * account.

*/ inline CapacityReservationFleet& WithTenancy(const FleetCapacityReservationTenancy& value) { SetTenancy(value); return *this;} /** *

The tenancy of the Capacity Reservation Fleet. Tenancies include:

    *
  • default - The Capacity Reservation Fleet is created on * hardware that is shared with other Amazon Web Services accounts.

  • *

    dedicated - The Capacity Reservation Fleet is created on * single-tenant hardware that is dedicated to a single Amazon Web Services * account.

*/ inline CapacityReservationFleet& WithTenancy(FleetCapacityReservationTenancy&& value) { SetTenancy(std::move(value)); return *this;} /** *

The date and time at which the Capacity Reservation Fleet expires.

*/ inline const Aws::Utils::DateTime& GetEndDate() const{ return m_endDate; } /** *

The date and time at which the Capacity Reservation Fleet expires.

*/ inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; } /** *

The date and time at which the Capacity Reservation Fleet expires.

*/ inline void SetEndDate(const Aws::Utils::DateTime& value) { m_endDateHasBeenSet = true; m_endDate = value; } /** *

The date and time at which the Capacity Reservation Fleet expires.

*/ inline void SetEndDate(Aws::Utils::DateTime&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); } /** *

The date and time at which the Capacity Reservation Fleet expires.

*/ inline CapacityReservationFleet& WithEndDate(const Aws::Utils::DateTime& value) { SetEndDate(value); return *this;} /** *

The date and time at which the Capacity Reservation Fleet expires.

*/ inline CapacityReservationFleet& WithEndDate(Aws::Utils::DateTime&& value) { SetEndDate(std::move(value)); return *this;} /** *

The date and time at which the Capacity Reservation Fleet was created.

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

The date and time at which the Capacity Reservation Fleet was created.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

The date and time at which the Capacity Reservation Fleet was created.

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

The date and time at which the Capacity Reservation Fleet was created.

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

The date and time at which the Capacity Reservation Fleet was created.

*/ inline CapacityReservationFleet& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

The date and time at which the Capacity Reservation Fleet was created.

*/ inline CapacityReservationFleet& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *

Indicates the type of instance launches that the Capacity Reservation Fleet * accepts. All Capacity Reservations in the Fleet inherit this instance matching * criteria.

Currently, Capacity Reservation Fleets support * open instance matching criteria only. This means that instances * that have matching attributes (instance type, platform, and Availability Zone) * run in the Capacity Reservations automatically. Instances do not need to * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

*/ inline const FleetInstanceMatchCriteria& GetInstanceMatchCriteria() const{ return m_instanceMatchCriteria; } /** *

Indicates the type of instance launches that the Capacity Reservation Fleet * accepts. All Capacity Reservations in the Fleet inherit this instance matching * criteria.

Currently, Capacity Reservation Fleets support * open instance matching criteria only. This means that instances * that have matching attributes (instance type, platform, and Availability Zone) * run in the Capacity Reservations automatically. Instances do not need to * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

*/ inline bool InstanceMatchCriteriaHasBeenSet() const { return m_instanceMatchCriteriaHasBeenSet; } /** *

Indicates the type of instance launches that the Capacity Reservation Fleet * accepts. All Capacity Reservations in the Fleet inherit this instance matching * criteria.

Currently, Capacity Reservation Fleets support * open instance matching criteria only. This means that instances * that have matching attributes (instance type, platform, and Availability Zone) * run in the Capacity Reservations automatically. Instances do not need to * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

*/ inline void SetInstanceMatchCriteria(const FleetInstanceMatchCriteria& value) { m_instanceMatchCriteriaHasBeenSet = true; m_instanceMatchCriteria = value; } /** *

Indicates the type of instance launches that the Capacity Reservation Fleet * accepts. All Capacity Reservations in the Fleet inherit this instance matching * criteria.

Currently, Capacity Reservation Fleets support * open instance matching criteria only. This means that instances * that have matching attributes (instance type, platform, and Availability Zone) * run in the Capacity Reservations automatically. Instances do not need to * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

*/ inline void SetInstanceMatchCriteria(FleetInstanceMatchCriteria&& value) { m_instanceMatchCriteriaHasBeenSet = true; m_instanceMatchCriteria = std::move(value); } /** *

Indicates the type of instance launches that the Capacity Reservation Fleet * accepts. All Capacity Reservations in the Fleet inherit this instance matching * criteria.

Currently, Capacity Reservation Fleets support * open instance matching criteria only. This means that instances * that have matching attributes (instance type, platform, and Availability Zone) * run in the Capacity Reservations automatically. Instances do not need to * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

*/ inline CapacityReservationFleet& WithInstanceMatchCriteria(const FleetInstanceMatchCriteria& value) { SetInstanceMatchCriteria(value); return *this;} /** *

Indicates the type of instance launches that the Capacity Reservation Fleet * accepts. All Capacity Reservations in the Fleet inherit this instance matching * criteria.

Currently, Capacity Reservation Fleets support * open instance matching criteria only. This means that instances * that have matching attributes (instance type, platform, and Availability Zone) * run in the Capacity Reservations automatically. Instances do not need to * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

*/ inline CapacityReservationFleet& WithInstanceMatchCriteria(FleetInstanceMatchCriteria&& value) { SetInstanceMatchCriteria(std::move(value)); return *this;} /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline const Aws::String& GetAllocationStrategy() const{ return m_allocationStrategy; } /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; } /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline void SetAllocationStrategy(const Aws::String& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; } /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline void SetAllocationStrategy(Aws::String&& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = std::move(value); } /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline void SetAllocationStrategy(const char* value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy.assign(value); } /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline CapacityReservationFleet& WithAllocationStrategy(const Aws::String& value) { SetAllocationStrategy(value); return *this;} /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline CapacityReservationFleet& WithAllocationStrategy(Aws::String&& value) { SetAllocationStrategy(std::move(value)); return *this;} /** *

The strategy used by the Capacity Reservation Fleet to determine which of the * specified instance types to use. For more information, see For more information, * see * Allocation strategy in the Amazon EC2 User Guide.

*/ inline CapacityReservationFleet& WithAllocationStrategy(const char* value) { SetAllocationStrategy(value); return *this;} /** *

Information about the instance types for which to reserve the capacity.

*/ inline const Aws::Vector& GetInstanceTypeSpecifications() const{ return m_instanceTypeSpecifications; } /** *

Information about the instance types for which to reserve the capacity.

*/ inline bool InstanceTypeSpecificationsHasBeenSet() const { return m_instanceTypeSpecificationsHasBeenSet; } /** *

Information about the instance types for which to reserve the capacity.

*/ inline void SetInstanceTypeSpecifications(const Aws::Vector& value) { m_instanceTypeSpecificationsHasBeenSet = true; m_instanceTypeSpecifications = value; } /** *

Information about the instance types for which to reserve the capacity.

*/ inline void SetInstanceTypeSpecifications(Aws::Vector&& value) { m_instanceTypeSpecificationsHasBeenSet = true; m_instanceTypeSpecifications = std::move(value); } /** *

Information about the instance types for which to reserve the capacity.

*/ inline CapacityReservationFleet& WithInstanceTypeSpecifications(const Aws::Vector& value) { SetInstanceTypeSpecifications(value); return *this;} /** *

Information about the instance types for which to reserve the capacity.

*/ inline CapacityReservationFleet& WithInstanceTypeSpecifications(Aws::Vector&& value) { SetInstanceTypeSpecifications(std::move(value)); return *this;} /** *

Information about the instance types for which to reserve the capacity.

*/ inline CapacityReservationFleet& AddInstanceTypeSpecifications(const FleetCapacityReservation& value) { m_instanceTypeSpecificationsHasBeenSet = true; m_instanceTypeSpecifications.push_back(value); return *this; } /** *

Information about the instance types for which to reserve the capacity.

*/ inline CapacityReservationFleet& AddInstanceTypeSpecifications(FleetCapacityReservation&& value) { m_instanceTypeSpecificationsHasBeenSet = true; m_instanceTypeSpecifications.push_back(std::move(value)); return *this; } /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags assigned to the Capacity Reservation Fleet.

*/ inline CapacityReservationFleet& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_capacityReservationFleetId; bool m_capacityReservationFleetIdHasBeenSet = false; Aws::String m_capacityReservationFleetArn; bool m_capacityReservationFleetArnHasBeenSet = false; CapacityReservationFleetState m_state; bool m_stateHasBeenSet = false; int m_totalTargetCapacity; bool m_totalTargetCapacityHasBeenSet = false; double m_totalFulfilledCapacity; bool m_totalFulfilledCapacityHasBeenSet = false; FleetCapacityReservationTenancy m_tenancy; bool m_tenancyHasBeenSet = false; Aws::Utils::DateTime m_endDate; bool m_endDateHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; FleetInstanceMatchCriteria m_instanceMatchCriteria; bool m_instanceMatchCriteriaHasBeenSet = false; Aws::String m_allocationStrategy; bool m_allocationStrategyHasBeenSet = false; Aws::Vector m_instanceTypeSpecifications; bool m_instanceTypeSpecificationsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws