7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/AllocationStrategy.h>
13#include <aws/ec2/model/ExcessCapacityTerminationPolicy.h>
14#include <aws/ec2/model/FleetType.h>
15#include <aws/ec2/model/InstanceInterruptionBehavior.h>
16#include <aws/ec2/model/LaunchTemplateConfig.h>
17#include <aws/ec2/model/LoadBalancersConfig.h>
18#include <aws/ec2/model/OnDemandAllocationStrategy.h>
19#include <aws/ec2/model/SpotFleetLaunchSpecification.h>
20#include <aws/ec2/model/SpotMaintenanceStrategies.h>
21#include <aws/ec2/model/TagSpecification.h>
22#include <aws/ec2/model/TargetCapacityUnitType.h>
93 m_allocationStrategyHasBeenSet =
true;
94 m_allocationStrategy = value;
114 m_onDemandAllocationStrategyHasBeenSet =
true;
115 m_onDemandAllocationStrategy = value;
130 template <
typename SpotMa
intenanceStrategiesT = SpotMa
intenanceStrategies>
132 m_spotMaintenanceStrategiesHasBeenSet =
true;
133 m_spotMaintenanceStrategies = std::forward<SpotMaintenanceStrategiesT>(value);
135 template <
typename SpotMa
intenanceStrategiesT = SpotMa
intenanceStrategies>
152 template <
typename ClientTokenT = Aws::String>
154 m_clientTokenHasBeenSet =
true;
155 m_clientToken = std::forward<ClientTokenT>(value);
157 template <
typename ClientTokenT = Aws::String>
173 m_excessCapacityTerminationPolicyHasBeenSet =
true;
174 m_excessCapacityTerminationPolicy = value;
190 m_fulfilledCapacityHasBeenSet =
true;
191 m_fulfilledCapacity = value;
207 m_onDemandFulfilledCapacityHasBeenSet =
true;
208 m_onDemandFulfilledCapacity = value;
231 template <
typename IamFleetRoleT = Aws::String>
233 m_iamFleetRoleHasBeenSet =
true;
234 m_iamFleetRole = std::forward<IamFleetRoleT>(value);
236 template <
typename IamFleetRoleT = Aws::String>
255 template <
typename LaunchSpecificationsT = Aws::Vector<SpotFleetLaunchSpecification>>
257 m_launchSpecificationsHasBeenSet =
true;
258 m_launchSpecifications = std::forward<LaunchSpecificationsT>(value);
260 template <
typename LaunchSpecificationsT = Aws::Vector<SpotFleetLaunchSpecification>>
265 template <
typename LaunchSpecificationsT = SpotFleetLaunchSpecification>
267 m_launchSpecificationsHasBeenSet =
true;
268 m_launchSpecifications.emplace_back(std::forward<LaunchSpecificationsT>(value));
282 template <
typename LaunchTemplateConfigsT = Aws::Vector<LaunchTemplateConfig>>
284 m_launchTemplateConfigsHasBeenSet =
true;
285 m_launchTemplateConfigs = std::forward<LaunchTemplateConfigsT>(value);
287 template <
typename LaunchTemplateConfigsT = Aws::Vector<LaunchTemplateConfig>>
292 template <
typename LaunchTemplateConfigsT = LaunchTemplateConfig>
294 m_launchTemplateConfigsHasBeenSet =
true;
295 m_launchTemplateConfigs.emplace_back(std::forward<LaunchTemplateConfigsT>(value));
311 template <
typename SpotPriceT = Aws::String>
313 m_spotPriceHasBeenSet =
true;
314 m_spotPrice = std::forward<SpotPriceT>(value);
316 template <
typename SpotPriceT = Aws::String>
334 m_targetCapacityHasBeenSet =
true;
335 m_targetCapacity = value;
354 m_onDemandTargetCapacityHasBeenSet =
true;
355 m_onDemandTargetCapacity = value;
384 template <
typename OnDemandMaxTotalPriceT = Aws::String>
386 m_onDemandMaxTotalPriceHasBeenSet =
true;
387 m_onDemandMaxTotalPrice = std::forward<OnDemandMaxTotalPriceT>(value);
389 template <
typename OnDemandMaxTotalPriceT = Aws::String>
417 template <
typename SpotMaxTotalPriceT = Aws::String>
419 m_spotMaxTotalPriceHasBeenSet =
true;
420 m_spotMaxTotalPrice = std::forward<SpotMaxTotalPriceT>(value);
422 template <
typename SpotMaxTotalPriceT = Aws::String>
437 m_terminateInstancesWithExpirationHasBeenSet =
true;
438 m_terminateInstancesWithExpiration = value;
462 m_typeHasBeenSet =
true;
479 template <
typename Val
idFromT = Aws::Utils::DateTime>
481 m_validFromHasBeenSet =
true;
482 m_validFrom = std::forward<ValidFromT>(value);
484 template <
typename Val
idFromT = Aws::Utils::DateTime>
501 template <
typename Val
idUntilT = Aws::Utils::DateTime>
503 m_validUntilHasBeenSet =
true;
504 m_validUntil = std::forward<ValidUntilT>(value);
506 template <
typename Val
idUntilT = Aws::Utils::DateTime>
520 m_replaceUnhealthyInstancesHasBeenSet =
true;
521 m_replaceUnhealthyInstances = value;
537 m_instanceInterruptionBehaviorHasBeenSet =
true;
538 m_instanceInterruptionBehavior = value;
557 template <
typename LoadBalancersConfigT = LoadBalancersConfig>
559 m_loadBalancersConfigHasBeenSet =
true;
560 m_loadBalancersConfig = std::forward<LoadBalancersConfigT>(value);
562 template <
typename LoadBalancersConfigT = LoadBalancersConfig>
587 m_instancePoolsToUseCountHasBeenSet =
true;
588 m_instancePoolsToUseCount = value;
602 template <
typename ContextT = Aws::String>
604 m_contextHasBeenSet =
true;
605 m_context = std::forward<ContextT>(value);
607 template <
typename ContextT = Aws::String>
623 m_targetCapacityUnitTypeHasBeenSet =
true;
624 m_targetCapacityUnitType = value;
649 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
651 m_tagSpecificationsHasBeenSet =
true;
652 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
654 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
659 template <
typename TagSpecificationsT = TagSpecification>
661 m_tagSpecificationsHasBeenSet =
true;
662 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
671 SpotMaintenanceStrategies m_spotMaintenanceStrategies;
677 double m_fulfilledCapacity{0.0};
679 double m_onDemandFulfilledCapacity{0.0};
689 int m_targetCapacity{0};
691 int m_onDemandTargetCapacity{0};
697 bool m_terminateInstancesWithExpiration{
false};
705 bool m_replaceUnhealthyInstances{
false};
709 LoadBalancersConfig m_loadBalancersConfig;
711 int m_instancePoolsToUseCount{0};
718 bool m_allocationStrategyHasBeenSet =
false;
719 bool m_onDemandAllocationStrategyHasBeenSet =
false;
720 bool m_spotMaintenanceStrategiesHasBeenSet =
false;
721 bool m_clientTokenHasBeenSet =
false;
722 bool m_excessCapacityTerminationPolicyHasBeenSet =
false;
723 bool m_fulfilledCapacityHasBeenSet =
false;
724 bool m_onDemandFulfilledCapacityHasBeenSet =
false;
725 bool m_iamFleetRoleHasBeenSet =
false;
726 bool m_launchSpecificationsHasBeenSet =
false;
727 bool m_launchTemplateConfigsHasBeenSet =
false;
728 bool m_spotPriceHasBeenSet =
false;
729 bool m_targetCapacityHasBeenSet =
false;
730 bool m_onDemandTargetCapacityHasBeenSet =
false;
731 bool m_onDemandMaxTotalPriceHasBeenSet =
false;
732 bool m_spotMaxTotalPriceHasBeenSet =
false;
733 bool m_terminateInstancesWithExpirationHasBeenSet =
false;
734 bool m_typeHasBeenSet =
false;
735 bool m_validFromHasBeenSet =
false;
736 bool m_validUntilHasBeenSet =
false;
737 bool m_replaceUnhealthyInstancesHasBeenSet =
false;
738 bool m_instanceInterruptionBehaviorHasBeenSet =
false;
739 bool m_loadBalancersConfigHasBeenSet =
false;
740 bool m_instancePoolsToUseCountHasBeenSet =
false;
741 bool m_contextHasBeenSet =
false;
742 bool m_targetCapacityUnitTypeHasBeenSet =
false;
743 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