7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/AllocationStrategy.h>
10#include <aws/ec2/model/OnDemandAllocationStrategy.h>
11#include <aws/ec2/model/SpotMaintenanceStrategies.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/ec2/model/ExcessCapacityTerminationPolicy.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/ec2/model/FleetType.h>
16#include <aws/core/utils/DateTime.h>
17#include <aws/ec2/model/InstanceInterruptionBehavior.h>
18#include <aws/ec2/model/LoadBalancersConfig.h>
19#include <aws/ec2/model/TargetCapacityUnitType.h>
20#include <aws/ec2/model/SpotFleetLaunchSpecification.h>
21#include <aws/ec2/model/LaunchTemplateConfig.h>
22#include <aws/ec2/model/TagSpecification.h>
124 template<
typename SpotMa
intenanceStrategiesT = SpotMa
intenanceStrategies>
125 void SetSpotMaintenanceStrategies(SpotMaintenanceStrategiesT&& value) { m_spotMaintenanceStrategiesHasBeenSet =
true; m_spotMaintenanceStrategies = std::forward<SpotMaintenanceStrategiesT>(value); }
126 template<
typename SpotMa
intenanceStrategiesT = SpotMa
intenanceStrategies>
140 template<
typename ClientTokenT = Aws::String>
141 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
142 template<
typename ClientTokenT = Aws::String>
165 inline void SetFulfilledCapacity(
double value) { m_fulfilledCapacityHasBeenSet =
true; m_fulfilledCapacity = value; }
195 template<
typename IamFleetRoleT = Aws::String>
196 void SetIamFleetRole(IamFleetRoleT&& value) { m_iamFleetRoleHasBeenSet =
true; m_iamFleetRole = std::forward<IamFleetRoleT>(value); }
197 template<
typename IamFleetRoleT = Aws::String>
213 template<
typename LaunchSpecificationsT = Aws::Vector<SpotFleetLaunchSpecification>>
214 void SetLaunchSpecifications(LaunchSpecificationsT&& value) { m_launchSpecificationsHasBeenSet =
true; m_launchSpecifications = std::forward<LaunchSpecificationsT>(value); }
215 template<
typename LaunchSpecificationsT = Aws::Vector<SpotFleetLaunchSpecification>>
217 template<
typename LaunchSpecificationsT = SpotFleetLaunchSpecification>
230 template<
typename LaunchTemplateConfigsT = Aws::Vector<LaunchTemplateConfig>>
231 void SetLaunchTemplateConfigs(LaunchTemplateConfigsT&& value) { m_launchTemplateConfigsHasBeenSet =
true; m_launchTemplateConfigs = std::forward<LaunchTemplateConfigsT>(value); }
232 template<
typename LaunchTemplateConfigsT = Aws::Vector<LaunchTemplateConfig>>
234 template<
typename LaunchTemplateConfigsT = LaunchTemplateConfig>
249 template<
typename SpotPriceT = Aws::String>
250 void SetSpotPrice(SpotPriceT&& value) { m_spotPriceHasBeenSet =
true; m_spotPrice = std::forward<SpotPriceT>(value); }
251 template<
typename SpotPriceT = Aws::String>
265 inline void SetTargetCapacity(
int value) { m_targetCapacityHasBeenSet =
true; m_targetCapacity = value; }
304 template<
typename OnDemandMaxTotalPriceT = Aws::String>
305 void SetOnDemandMaxTotalPrice(OnDemandMaxTotalPriceT&& value) { m_onDemandMaxTotalPriceHasBeenSet =
true; m_onDemandMaxTotalPrice = std::forward<OnDemandMaxTotalPriceT>(value); }
306 template<
typename OnDemandMaxTotalPriceT = Aws::String>
331 template<
typename SpotMaxTotalPriceT = Aws::String>
332 void SetSpotMaxTotalPrice(SpotMaxTotalPriceT&& value) { m_spotMaxTotalPriceHasBeenSet =
true; m_spotMaxTotalPrice = std::forward<SpotMaxTotalPriceT>(value); }
333 template<
typename SpotMaxTotalPriceT = Aws::String>
375 template<
typename Val
idFromT = Aws::Utils::DateTime>
376 void SetValidFrom(ValidFromT&& value) { m_validFromHasBeenSet =
true; m_validFrom = std::forward<ValidFromT>(value); }
377 template<
typename Val
idFromT = Aws::Utils::DateTime>
391 template<
typename Val
idUntilT = Aws::Utils::DateTime>
392 void SetValidUntil(ValidUntilT&& value) { m_validUntilHasBeenSet =
true; m_validUntil = std::forward<ValidUntilT>(value); }
393 template<
typename Val
idUntilT = Aws::Utils::DateTime>
429 template<
typename LoadBalancersConfigT = LoadBalancersConfig>
430 void SetLoadBalancersConfig(LoadBalancersConfigT&& value) { m_loadBalancersConfigHasBeenSet =
true; m_loadBalancersConfig = std::forward<LoadBalancersConfigT>(value); }
431 template<
typename LoadBalancersConfigT = LoadBalancersConfig>
462 template<
typename ContextT = Aws::String>
463 void SetContext(ContextT&& value) { m_contextHasBeenSet =
true; m_context = std::forward<ContextT>(value); }
464 template<
typename ContextT = Aws::String>
497 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
498 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
499 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
501 template<
typename TagSpecificationsT = TagSpecification>
507 bool m_allocationStrategyHasBeenSet =
false;
510 bool m_onDemandAllocationStrategyHasBeenSet =
false;
512 SpotMaintenanceStrategies m_spotMaintenanceStrategies;
513 bool m_spotMaintenanceStrategiesHasBeenSet =
false;
516 bool m_clientTokenHasBeenSet =
false;
519 bool m_excessCapacityTerminationPolicyHasBeenSet =
false;
521 double m_fulfilledCapacity{0.0};
522 bool m_fulfilledCapacityHasBeenSet =
false;
524 double m_onDemandFulfilledCapacity{0.0};
525 bool m_onDemandFulfilledCapacityHasBeenSet =
false;
528 bool m_iamFleetRoleHasBeenSet =
false;
531 bool m_launchSpecificationsHasBeenSet =
false;
534 bool m_launchTemplateConfigsHasBeenSet =
false;
537 bool m_spotPriceHasBeenSet =
false;
539 int m_targetCapacity{0};
540 bool m_targetCapacityHasBeenSet =
false;
542 int m_onDemandTargetCapacity{0};
543 bool m_onDemandTargetCapacityHasBeenSet =
false;
546 bool m_onDemandMaxTotalPriceHasBeenSet =
false;
549 bool m_spotMaxTotalPriceHasBeenSet =
false;
551 bool m_terminateInstancesWithExpiration{
false};
552 bool m_terminateInstancesWithExpirationHasBeenSet =
false;
555 bool m_typeHasBeenSet =
false;
558 bool m_validFromHasBeenSet =
false;
561 bool m_validUntilHasBeenSet =
false;
563 bool m_replaceUnhealthyInstances{
false};
564 bool m_replaceUnhealthyInstancesHasBeenSet =
false;
567 bool m_instanceInterruptionBehaviorHasBeenSet =
false;
569 LoadBalancersConfig m_loadBalancersConfig;
570 bool m_loadBalancersConfigHasBeenSet =
false;
572 int m_instancePoolsToUseCount{0};
573 bool m_instancePoolsToUseCountHasBeenSet =
false;
576 bool m_contextHasBeenSet =
false;
579 bool m_targetCapacityUnitTypeHasBeenSet =
false;
582 bool m_tagSpecificationsHasBeenSet =
false;
ExcessCapacityTerminationPolicy GetExcessCapacityTerminationPolicy() const
const Aws::String & GetSpotMaxTotalPrice() const
SpotFleetRequestConfigData & WithLaunchSpecifications(LaunchSpecificationsT &&value)
bool TypeHasBeenSet() const
void SetValidUntil(ValidUntilT &&value)
void SetTerminateInstancesWithExpiration(bool value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetLaunchTemplateConfigs(LaunchTemplateConfigsT &&value)
bool LoadBalancersConfigHasBeenSet() const
void SetInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
int GetTargetCapacity() const
bool GetReplaceUnhealthyInstances() const
SpotFleetRequestConfigData & WithLaunchTemplateConfigs(LaunchTemplateConfigsT &&value)
SpotFleetRequestConfigData & WithAllocationStrategy(AllocationStrategy value)
SpotFleetRequestConfigData & WithClientToken(ClientTokenT &&value)
AWS_EC2_API SpotFleetRequestConfigData()=default
const Aws::Utils::DateTime & GetValidFrom() const
bool FulfilledCapacityHasBeenSet() const
bool OnDemandMaxTotalPriceHasBeenSet() const
void SetValidFrom(ValidFromT &&value)
bool SpotPriceHasBeenSet() const
SpotFleetRequestConfigData & WithContext(ContextT &&value)
const Aws::String & GetContext() const
bool ValidUntilHasBeenSet() const
SpotFleetRequestConfigData & AddTagSpecifications(TagSpecificationsT &&value)
double GetOnDemandFulfilledCapacity() const
SpotFleetRequestConfigData & WithExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy value)
bool ReplaceUnhealthyInstancesHasBeenSet() const
SpotFleetRequestConfigData & WithLoadBalancersConfig(LoadBalancersConfigT &&value)
void SetTargetCapacityUnitType(TargetCapacityUnitType value)
const Aws::String & GetSpotPrice() const
void SetIamFleetRole(IamFleetRoleT &&value)
void SetInstancePoolsToUseCount(int value)
const Aws::Utils::DateTime & GetValidUntil() const
bool AllocationStrategyHasBeenSet() const
void SetContext(ContextT &&value)
SpotFleetRequestConfigData & WithReplaceUnhealthyInstances(bool value)
const Aws::String & GetClientToken() const
const SpotMaintenanceStrategies & GetSpotMaintenanceStrategies() const
bool TargetCapacityUnitTypeHasBeenSet() const
void SetTagSpecifications(TagSpecificationsT &&value)
SpotFleetRequestConfigData & WithFulfilledCapacity(double value)
InstanceInterruptionBehavior GetInstanceInterruptionBehavior() const
int GetOnDemandTargetCapacity() const
bool OnDemandAllocationStrategyHasBeenSet() const
SpotFleetRequestConfigData & WithOnDemandAllocationStrategy(OnDemandAllocationStrategy value)
void SetOnDemandTargetCapacity(int value)
void SetType(FleetType value)
bool InstancePoolsToUseCountHasBeenSet() const
bool TargetCapacityHasBeenSet() const
SpotFleetRequestConfigData & WithOnDemandTargetCapacity(int value)
void SetOnDemandFulfilledCapacity(double value)
SpotFleetRequestConfigData & WithSpotMaxTotalPrice(SpotMaxTotalPriceT &&value)
SpotFleetRequestConfigData & WithValidFrom(ValidFromT &&value)
SpotFleetRequestConfigData & WithType(FleetType value)
OnDemandAllocationStrategy GetOnDemandAllocationStrategy() const
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
bool SpotMaxTotalPriceHasBeenSet() const
void SetSpotMaxTotalPrice(SpotMaxTotalPriceT &&value)
bool TagSpecificationsHasBeenSet() const
SpotFleetRequestConfigData & WithOnDemandFulfilledCapacity(double value)
void SetLoadBalancersConfig(LoadBalancersConfigT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetReplaceUnhealthyInstances(bool value)
double GetFulfilledCapacity() const
void SetClientToken(ClientTokenT &&value)
void SetExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy value)
AWS_EC2_API SpotFleetRequestConfigData & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotFleetRequestConfigData & AddLaunchTemplateConfigs(LaunchTemplateConfigsT &&value)
TargetCapacityUnitType GetTargetCapacityUnitType() const
bool OnDemandFulfilledCapacityHasBeenSet() const
bool ClientTokenHasBeenSet() const
SpotFleetRequestConfigData & WithTargetCapacityUnitType(TargetCapacityUnitType value)
SpotFleetRequestConfigData & WithSpotMaintenanceStrategies(SpotMaintenanceStrategiesT &&value)
void SetLaunchSpecifications(LaunchSpecificationsT &&value)
bool ExcessCapacityTerminationPolicyHasBeenSet() const
SpotFleetRequestConfigData & WithSpotPrice(SpotPriceT &&value)
SpotFleetRequestConfigData & WithInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
bool ContextHasBeenSet() const
SpotFleetRequestConfigData & WithTerminateInstancesWithExpiration(bool value)
void SetOnDemandAllocationStrategy(OnDemandAllocationStrategy value)
bool GetTerminateInstancesWithExpiration() const
void SetFulfilledCapacity(double value)
bool SpotMaintenanceStrategiesHasBeenSet() const
const Aws::Vector< LaunchTemplateConfig > & GetLaunchTemplateConfigs() const
bool LaunchSpecificationsHasBeenSet() const
bool TerminateInstancesWithExpirationHasBeenSet() const
AWS_EC2_API SpotFleetRequestConfigData(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetTargetCapacity(int value)
void SetOnDemandMaxTotalPrice(OnDemandMaxTotalPriceT &&value)
SpotFleetRequestConfigData & WithOnDemandMaxTotalPrice(OnDemandMaxTotalPriceT &&value)
int GetInstancePoolsToUseCount() const
void SetSpotMaintenanceStrategies(SpotMaintenanceStrategiesT &&value)
SpotFleetRequestConfigData & WithInstancePoolsToUseCount(int value)
SpotFleetRequestConfigData & WithTargetCapacity(int value)
bool InstanceInterruptionBehaviorHasBeenSet() const
SpotFleetRequestConfigData & WithIamFleetRole(IamFleetRoleT &&value)
FleetType GetType() const
const Aws::Vector< SpotFleetLaunchSpecification > & GetLaunchSpecifications() const
bool OnDemandTargetCapacityHasBeenSet() const
void SetAllocationStrategy(AllocationStrategy value)
AllocationStrategy GetAllocationStrategy() const
void SetSpotPrice(SpotPriceT &&value)
const LoadBalancersConfig & GetLoadBalancersConfig() const
SpotFleetRequestConfigData & WithValidUntil(ValidUntilT &&value)
SpotFleetRequestConfigData & WithTagSpecifications(TagSpecificationsT &&value)
SpotFleetRequestConfigData & AddLaunchSpecifications(LaunchSpecificationsT &&value)
const Aws::String & GetIamFleetRole() const
bool IamFleetRoleHasBeenSet() const
bool LaunchTemplateConfigsHasBeenSet() const
const Aws::String & GetOnDemandMaxTotalPrice() const
bool ValidFromHasBeenSet() const
ExcessCapacityTerminationPolicy
InstanceInterruptionBehavior
OnDemandAllocationStrategy
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream