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

Describes an EC2 Fleet.

See Also:

AWS API * Reference

*/ class FleetData { public: AWS_EC2_API FleetData(); AWS_EC2_API FleetData(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API FleetData& 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 progress of the EC2 Fleet. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the EC2 Fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the EC2 Fleet is decreased, the status is * pending_termination while instances are terminating.

*/ inline const FleetActivityStatus& GetActivityStatus() const{ return m_activityStatus; } /** *

The progress of the EC2 Fleet. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the EC2 Fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the EC2 Fleet is decreased, the status is * pending_termination while instances are terminating.

*/ inline bool ActivityStatusHasBeenSet() const { return m_activityStatusHasBeenSet; } /** *

The progress of the EC2 Fleet. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the EC2 Fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the EC2 Fleet is decreased, the status is * pending_termination while instances are terminating.

*/ inline void SetActivityStatus(const FleetActivityStatus& value) { m_activityStatusHasBeenSet = true; m_activityStatus = value; } /** *

The progress of the EC2 Fleet. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the EC2 Fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the EC2 Fleet is decreased, the status is * pending_termination while instances are terminating.

*/ inline void SetActivityStatus(FleetActivityStatus&& value) { m_activityStatusHasBeenSet = true; m_activityStatus = std::move(value); } /** *

The progress of the EC2 Fleet. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the EC2 Fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the EC2 Fleet is decreased, the status is * pending_termination while instances are terminating.

*/ inline FleetData& WithActivityStatus(const FleetActivityStatus& value) { SetActivityStatus(value); return *this;} /** *

The progress of the EC2 Fleet. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the EC2 Fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the EC2 Fleet is decreased, the status is * pending_termination while instances are terminating.

*/ inline FleetData& WithActivityStatus(FleetActivityStatus&& value) { SetActivityStatus(std::move(value)); return *this;} /** *

The creation date and time of the EC2 Fleet.

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

The creation date and time of the EC2 Fleet.

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

The creation date and time of the EC2 Fleet.

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

The creation date and time of the EC2 Fleet.

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

The creation date and time of the EC2 Fleet.

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

The creation date and time of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The ID of the EC2 Fleet.

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

The state of the EC2 Fleet.

*/ inline const FleetStateCode& GetFleetState() const{ return m_fleetState; } /** *

The state of the EC2 Fleet.

*/ inline bool FleetStateHasBeenSet() const { return m_fleetStateHasBeenSet; } /** *

The state of the EC2 Fleet.

*/ inline void SetFleetState(const FleetStateCode& value) { m_fleetStateHasBeenSet = true; m_fleetState = value; } /** *

The state of the EC2 Fleet.

*/ inline void SetFleetState(FleetStateCode&& value) { m_fleetStateHasBeenSet = true; m_fleetState = std::move(value); } /** *

The state of the EC2 Fleet.

*/ inline FleetData& WithFleetState(const FleetStateCode& value) { SetFleetState(value); return *this;} /** *

The state of the EC2 Fleet.

*/ inline FleetData& WithFleetState(FleetStateCode&& value) { SetFleetState(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline FleetData& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline FleetData& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

Constraints: Maximum 64 ASCII characters

*/ inline FleetData& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Indicates whether running instances should be terminated if the target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline const FleetExcessCapacityTerminationPolicy& GetExcessCapacityTerminationPolicy() const{ return m_excessCapacityTerminationPolicy; } /** *

Indicates whether running instances should be terminated if the target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline bool ExcessCapacityTerminationPolicyHasBeenSet() const { return m_excessCapacityTerminationPolicyHasBeenSet; } /** *

Indicates whether running instances should be terminated if the target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline void SetExcessCapacityTerminationPolicy(const FleetExcessCapacityTerminationPolicy& value) { m_excessCapacityTerminationPolicyHasBeenSet = true; m_excessCapacityTerminationPolicy = value; } /** *

Indicates whether running instances should be terminated if the target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline void SetExcessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy&& value) { m_excessCapacityTerminationPolicyHasBeenSet = true; m_excessCapacityTerminationPolicy = std::move(value); } /** *

Indicates whether running instances should be terminated if the target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline FleetData& WithExcessCapacityTerminationPolicy(const FleetExcessCapacityTerminationPolicy& value) { SetExcessCapacityTerminationPolicy(value); return *this;} /** *

Indicates whether running instances should be terminated if the target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline FleetData& WithExcessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy&& value) { SetExcessCapacityTerminationPolicy(std::move(value)); return *this;} /** *

The number of units fulfilled by this request compared to the set target * capacity.

*/ inline double GetFulfilledCapacity() const{ return m_fulfilledCapacity; } /** *

The number of units fulfilled by this request compared to the set target * capacity.

*/ inline bool FulfilledCapacityHasBeenSet() const { return m_fulfilledCapacityHasBeenSet; } /** *

The number of units fulfilled by this request compared to the set target * capacity.

*/ inline void SetFulfilledCapacity(double value) { m_fulfilledCapacityHasBeenSet = true; m_fulfilledCapacity = value; } /** *

The number of units fulfilled by this request compared to the set target * capacity.

*/ inline FleetData& WithFulfilledCapacity(double value) { SetFulfilledCapacity(value); return *this;} /** *

The number of units fulfilled by this request compared to the set target * On-Demand capacity.

*/ inline double GetFulfilledOnDemandCapacity() const{ return m_fulfilledOnDemandCapacity; } /** *

The number of units fulfilled by this request compared to the set target * On-Demand capacity.

*/ inline bool FulfilledOnDemandCapacityHasBeenSet() const { return m_fulfilledOnDemandCapacityHasBeenSet; } /** *

The number of units fulfilled by this request compared to the set target * On-Demand capacity.

*/ inline void SetFulfilledOnDemandCapacity(double value) { m_fulfilledOnDemandCapacityHasBeenSet = true; m_fulfilledOnDemandCapacity = value; } /** *

The number of units fulfilled by this request compared to the set target * On-Demand capacity.

*/ inline FleetData& WithFulfilledOnDemandCapacity(double value) { SetFulfilledOnDemandCapacity(value); return *this;} /** *

The launch template and overrides.

*/ inline const Aws::Vector& GetLaunchTemplateConfigs() const{ return m_launchTemplateConfigs; } /** *

The launch template and overrides.

*/ inline bool LaunchTemplateConfigsHasBeenSet() const { return m_launchTemplateConfigsHasBeenSet; } /** *

The launch template and overrides.

*/ inline void SetLaunchTemplateConfigs(const Aws::Vector& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs = value; } /** *

The launch template and overrides.

*/ inline void SetLaunchTemplateConfigs(Aws::Vector&& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs = std::move(value); } /** *

The launch template and overrides.

*/ inline FleetData& WithLaunchTemplateConfigs(const Aws::Vector& value) { SetLaunchTemplateConfigs(value); return *this;} /** *

The launch template and overrides.

*/ inline FleetData& WithLaunchTemplateConfigs(Aws::Vector&& value) { SetLaunchTemplateConfigs(std::move(value)); return *this;} /** *

The launch template and overrides.

*/ inline FleetData& AddLaunchTemplateConfigs(const FleetLaunchTemplateConfig& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs.push_back(value); return *this; } /** *

The launch template and overrides.

*/ inline FleetData& AddLaunchTemplateConfigs(FleetLaunchTemplateConfig&& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs.push_back(std::move(value)); return *this; } /** *

The number of units to request. You can choose to set the target capacity in * terms of instances or a performance characteristic that is important to your * application workload, such as vCPUs, memory, or I/O. If the request type is * maintain, you can specify a target capacity of 0 and add capacity * later.

*/ inline const TargetCapacitySpecification& GetTargetCapacitySpecification() const{ return m_targetCapacitySpecification; } /** *

The number of units to request. You can choose to set the target capacity in * terms of instances or a performance characteristic that is important to your * application workload, such as vCPUs, memory, or I/O. If the request type is * maintain, you can specify a target capacity of 0 and add capacity * later.

*/ inline bool TargetCapacitySpecificationHasBeenSet() const { return m_targetCapacitySpecificationHasBeenSet; } /** *

The number of units to request. You can choose to set the target capacity in * terms of instances or a performance characteristic that is important to your * application workload, such as vCPUs, memory, or I/O. If the request type is * maintain, you can specify a target capacity of 0 and add capacity * later.

*/ inline void SetTargetCapacitySpecification(const TargetCapacitySpecification& value) { m_targetCapacitySpecificationHasBeenSet = true; m_targetCapacitySpecification = value; } /** *

The number of units to request. You can choose to set the target capacity in * terms of instances or a performance characteristic that is important to your * application workload, such as vCPUs, memory, or I/O. If the request type is * maintain, you can specify a target capacity of 0 and add capacity * later.

*/ inline void SetTargetCapacitySpecification(TargetCapacitySpecification&& value) { m_targetCapacitySpecificationHasBeenSet = true; m_targetCapacitySpecification = std::move(value); } /** *

The number of units to request. You can choose to set the target capacity in * terms of instances or a performance characteristic that is important to your * application workload, such as vCPUs, memory, or I/O. If the request type is * maintain, you can specify a target capacity of 0 and add capacity * later.

*/ inline FleetData& WithTargetCapacitySpecification(const TargetCapacitySpecification& value) { SetTargetCapacitySpecification(value); return *this;} /** *

The number of units to request. You can choose to set the target capacity in * terms of instances or a performance characteristic that is important to your * application workload, such as vCPUs, memory, or I/O. If the request type is * maintain, you can specify a target capacity of 0 and add capacity * later.

*/ inline FleetData& WithTargetCapacitySpecification(TargetCapacitySpecification&& value) { SetTargetCapacitySpecification(std::move(value)); return *this;} /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline bool GetTerminateInstancesWithExpiration() const{ return m_terminateInstancesWithExpiration; } /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline bool TerminateInstancesWithExpirationHasBeenSet() const { return m_terminateInstancesWithExpirationHasBeenSet; } /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline void SetTerminateInstancesWithExpiration(bool value) { m_terminateInstancesWithExpirationHasBeenSet = true; m_terminateInstancesWithExpiration = value; } /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline FleetData& WithTerminateInstancesWithExpiration(bool value) { SetTerminateInstancesWithExpiration(value); return *this;} /** *

The type of request. Indicates whether the EC2 Fleet only * requests the target capacity, or also attempts to * maintain it. If you request a certain target capacity, EC2 Fleet * only places the required requests; it does not attempt to replenish instances if * capacity is diminished, and it does not submit requests in alternative capacity * pools if capacity is unavailable. To maintain a certain target capacity, EC2 * Fleet places the required requests to meet this target capacity. It also * automatically replenishes any interrupted Spot Instances. Default: * maintain.

*/ inline const FleetType& GetType() const{ return m_type; } /** *

The type of request. Indicates whether the EC2 Fleet only * requests the target capacity, or also attempts to * maintain it. If you request a certain target capacity, EC2 Fleet * only places the required requests; it does not attempt to replenish instances if * capacity is diminished, and it does not submit requests in alternative capacity * pools if capacity is unavailable. To maintain a certain target capacity, EC2 * Fleet places the required requests to meet this target capacity. It also * automatically replenishes any interrupted Spot Instances. Default: * maintain.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of request. Indicates whether the EC2 Fleet only * requests the target capacity, or also attempts to * maintain it. If you request a certain target capacity, EC2 Fleet * only places the required requests; it does not attempt to replenish instances if * capacity is diminished, and it does not submit requests in alternative capacity * pools if capacity is unavailable. To maintain a certain target capacity, EC2 * Fleet places the required requests to meet this target capacity. It also * automatically replenishes any interrupted Spot Instances. Default: * maintain.

*/ inline void SetType(const FleetType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of request. Indicates whether the EC2 Fleet only * requests the target capacity, or also attempts to * maintain it. If you request a certain target capacity, EC2 Fleet * only places the required requests; it does not attempt to replenish instances if * capacity is diminished, and it does not submit requests in alternative capacity * pools if capacity is unavailable. To maintain a certain target capacity, EC2 * Fleet places the required requests to meet this target capacity. It also * automatically replenishes any interrupted Spot Instances. Default: * maintain.

*/ inline void SetType(FleetType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of request. Indicates whether the EC2 Fleet only * requests the target capacity, or also attempts to * maintain it. If you request a certain target capacity, EC2 Fleet * only places the required requests; it does not attempt to replenish instances if * capacity is diminished, and it does not submit requests in alternative capacity * pools if capacity is unavailable. To maintain a certain target capacity, EC2 * Fleet places the required requests to meet this target capacity. It also * automatically replenishes any interrupted Spot Instances. Default: * maintain.

*/ inline FleetData& WithType(const FleetType& value) { SetType(value); return *this;} /** *

The type of request. Indicates whether the EC2 Fleet only * requests the target capacity, or also attempts to * maintain it. If you request a certain target capacity, EC2 Fleet * only places the required requests; it does not attempt to replenish instances if * capacity is diminished, and it does not submit requests in alternative capacity * pools if capacity is unavailable. To maintain a certain target capacity, EC2 * Fleet places the required requests to meet this target capacity. It also * automatically replenishes any interrupted Spot Instances. Default: * maintain.

*/ inline FleetData& WithType(FleetType&& value) { SetType(std::move(value)); return *this;} /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline const Aws::Utils::DateTime& GetValidFrom() const{ return m_validFrom; } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline bool ValidFromHasBeenSet() const { return m_validFromHasBeenSet; } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline void SetValidFrom(const Aws::Utils::DateTime& value) { m_validFromHasBeenSet = true; m_validFrom = value; } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline void SetValidFrom(Aws::Utils::DateTime&& value) { m_validFromHasBeenSet = true; m_validFrom = std::move(value); } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline FleetData& WithValidFrom(const Aws::Utils::DateTime& value) { SetValidFrom(value); return *this;} /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline FleetData& WithValidFrom(Aws::Utils::DateTime&& value) { SetValidFrom(std::move(value)); return *this;} /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new instance requests are placed or able to fulfill the request. The default * end date is 7 days from the current date.

*/ inline const Aws::Utils::DateTime& GetValidUntil() const{ return m_validUntil; } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new instance requests are placed or able to fulfill the request. The default * end date is 7 days from the current date.

*/ inline bool ValidUntilHasBeenSet() const { return m_validUntilHasBeenSet; } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new instance requests are placed or able to fulfill the request. The default * end date is 7 days from the current date.

*/ inline void SetValidUntil(const Aws::Utils::DateTime& value) { m_validUntilHasBeenSet = true; m_validUntil = value; } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new instance requests are placed or able to fulfill the request. The default * end date is 7 days from the current date.

*/ inline void SetValidUntil(Aws::Utils::DateTime&& value) { m_validUntilHasBeenSet = true; m_validUntil = std::move(value); } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new instance requests are placed or able to fulfill the request. The default * end date is 7 days from the current date.

*/ inline FleetData& WithValidUntil(const Aws::Utils::DateTime& value) { SetValidUntil(value); return *this;} /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new instance requests are placed or able to fulfill the request. The default * end date is 7 days from the current date.

*/ inline FleetData& WithValidUntil(Aws::Utils::DateTime&& value) { SetValidUntil(std::move(value)); return *this;} /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline bool GetReplaceUnhealthyInstances() const{ return m_replaceUnhealthyInstances; } /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline bool ReplaceUnhealthyInstancesHasBeenSet() const { return m_replaceUnhealthyInstancesHasBeenSet; } /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline void SetReplaceUnhealthyInstances(bool value) { m_replaceUnhealthyInstancesHasBeenSet = true; m_replaceUnhealthyInstances = value; } /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline FleetData& WithReplaceUnhealthyInstances(bool value) { SetReplaceUnhealthyInstances(value); return *this;} /** *

The configuration of Spot Instances in an EC2 Fleet.

*/ inline const SpotOptions& GetSpotOptions() const{ return m_spotOptions; } /** *

The configuration of Spot Instances in an EC2 Fleet.

*/ inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } /** *

The configuration of Spot Instances in an EC2 Fleet.

*/ inline void SetSpotOptions(const SpotOptions& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; } /** *

The configuration of Spot Instances in an EC2 Fleet.

*/ inline void SetSpotOptions(SpotOptions&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); } /** *

The configuration of Spot Instances in an EC2 Fleet.

*/ inline FleetData& WithSpotOptions(const SpotOptions& value) { SetSpotOptions(value); return *this;} /** *

The configuration of Spot Instances in an EC2 Fleet.

*/ inline FleetData& WithSpotOptions(SpotOptions&& value) { SetSpotOptions(std::move(value)); return *this;} /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

*/ inline const OnDemandOptions& GetOnDemandOptions() const{ return m_onDemandOptions; } /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

*/ inline bool OnDemandOptionsHasBeenSet() const { return m_onDemandOptionsHasBeenSet; } /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

*/ inline void SetOnDemandOptions(const OnDemandOptions& value) { m_onDemandOptionsHasBeenSet = true; m_onDemandOptions = value; } /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

*/ inline void SetOnDemandOptions(OnDemandOptions&& value) { m_onDemandOptionsHasBeenSet = true; m_onDemandOptions = std::move(value); } /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

*/ inline FleetData& WithOnDemandOptions(const OnDemandOptions& value) { SetOnDemandOptions(value); return *this;} /** *

The allocation strategy of On-Demand Instances in an EC2 Fleet.

*/ inline FleetData& WithOnDemandOptions(OnDemandOptions&& value) { SetOnDemandOptions(std::move(value)); return *this;} /** *

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

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

The tags for an EC2 Fleet resource.

*/ inline FleetData& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline const Aws::Vector& GetErrors() const{ return m_errors; } /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline bool ErrorsHasBeenSet() const { return m_errorsHasBeenSet; } /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline void SetErrors(const Aws::Vector& value) { m_errorsHasBeenSet = true; m_errors = value; } /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline void SetErrors(Aws::Vector&& value) { m_errorsHasBeenSet = true; m_errors = std::move(value); } /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline FleetData& WithErrors(const Aws::Vector& value) { SetErrors(value); return *this;} /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline FleetData& WithErrors(Aws::Vector&& value) { SetErrors(std::move(value)); return *this;} /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline FleetData& AddErrors(const DescribeFleetError& value) { m_errorsHasBeenSet = true; m_errors.push_back(value); return *this; } /** *

Information about the instances that could not be launched by the fleet. * Valid only when Type is set to instant.

*/ inline FleetData& AddErrors(DescribeFleetError&& value) { m_errorsHasBeenSet = true; m_errors.push_back(std::move(value)); return *this; } /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline const Aws::Vector& GetInstances() const{ return m_instances; } /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; } /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline void SetInstances(const Aws::Vector& value) { m_instancesHasBeenSet = true; m_instances = value; } /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline void SetInstances(Aws::Vector&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); } /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline FleetData& WithInstances(const Aws::Vector& value) { SetInstances(value); return *this;} /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline FleetData& WithInstances(Aws::Vector&& value) { SetInstances(std::move(value)); return *this;} /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline FleetData& AddInstances(const DescribeFleetsInstances& value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; } /** *

Information about the instances that were launched by the fleet. Valid only * when Type is set to instant.

*/ inline FleetData& AddInstances(DescribeFleetsInstances&& value) { m_instancesHasBeenSet = true; m_instances.push_back(std::move(value)); return *this; } /** *

Reserved.

*/ inline const Aws::String& GetContext() const{ return m_context; } /** *

Reserved.

*/ inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; } /** *

Reserved.

*/ inline void SetContext(const Aws::String& value) { m_contextHasBeenSet = true; m_context = value; } /** *

Reserved.

*/ inline void SetContext(Aws::String&& value) { m_contextHasBeenSet = true; m_context = std::move(value); } /** *

Reserved.

*/ inline void SetContext(const char* value) { m_contextHasBeenSet = true; m_context.assign(value); } /** *

Reserved.

*/ inline FleetData& WithContext(const Aws::String& value) { SetContext(value); return *this;} /** *

Reserved.

*/ inline FleetData& WithContext(Aws::String&& value) { SetContext(std::move(value)); return *this;} /** *

Reserved.

*/ inline FleetData& WithContext(const char* value) { SetContext(value); return *this;} private: FleetActivityStatus m_activityStatus; bool m_activityStatusHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; Aws::String m_fleetId; bool m_fleetIdHasBeenSet = false; FleetStateCode m_fleetState; bool m_fleetStateHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; FleetExcessCapacityTerminationPolicy m_excessCapacityTerminationPolicy; bool m_excessCapacityTerminationPolicyHasBeenSet = false; double m_fulfilledCapacity; bool m_fulfilledCapacityHasBeenSet = false; double m_fulfilledOnDemandCapacity; bool m_fulfilledOnDemandCapacityHasBeenSet = false; Aws::Vector m_launchTemplateConfigs; bool m_launchTemplateConfigsHasBeenSet = false; TargetCapacitySpecification m_targetCapacitySpecification; bool m_targetCapacitySpecificationHasBeenSet = false; bool m_terminateInstancesWithExpiration; bool m_terminateInstancesWithExpirationHasBeenSet = false; FleetType m_type; bool m_typeHasBeenSet = false; Aws::Utils::DateTime m_validFrom; bool m_validFromHasBeenSet = false; Aws::Utils::DateTime m_validUntil; bool m_validUntilHasBeenSet = false; bool m_replaceUnhealthyInstances; bool m_replaceUnhealthyInstancesHasBeenSet = false; SpotOptions m_spotOptions; bool m_spotOptionsHasBeenSet = false; OnDemandOptions m_onDemandOptions; bool m_onDemandOptionsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_errors; bool m_errorsHasBeenSet = false; Aws::Vector m_instances; bool m_instancesHasBeenSet = false; Aws::String m_context; bool m_contextHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws