AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
SpotOptions.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/SpotAllocationStrategy.h>
10#include <aws/ec2/model/FleetSpotMaintenanceStrategies.h>
11#include <aws/ec2/model/SpotInstanceInterruptionBehavior.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Xml
20{
21 class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_EC2_API SpotOptions() = default;
39 AWS_EC2_API SpotOptions(const Aws::Utils::Xml::XmlNode& xmlNode);
40 AWS_EC2_API SpotOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
41
42 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
45
47
87 inline SpotAllocationStrategy GetAllocationStrategy() const { return m_allocationStrategy; }
88 inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; }
89 inline void SetAllocationStrategy(SpotAllocationStrategy value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; }
92
94
98 inline const FleetSpotMaintenanceStrategies& GetMaintenanceStrategies() const { return m_maintenanceStrategies; }
99 inline bool MaintenanceStrategiesHasBeenSet() const { return m_maintenanceStrategiesHasBeenSet; }
100 template<typename MaintenanceStrategiesT = FleetSpotMaintenanceStrategies>
101 void SetMaintenanceStrategies(MaintenanceStrategiesT&& value) { m_maintenanceStrategiesHasBeenSet = true; m_maintenanceStrategies = std::forward<MaintenanceStrategiesT>(value); }
102 template<typename MaintenanceStrategiesT = FleetSpotMaintenanceStrategies>
103 SpotOptions& WithMaintenanceStrategies(MaintenanceStrategiesT&& value) { SetMaintenanceStrategies(std::forward<MaintenanceStrategiesT>(value)); return *this;}
105
107
111 inline SpotInstanceInterruptionBehavior GetInstanceInterruptionBehavior() const { return m_instanceInterruptionBehavior; }
112 inline bool InstanceInterruptionBehaviorHasBeenSet() const { return m_instanceInterruptionBehaviorHasBeenSet; }
113 inline void SetInstanceInterruptionBehavior(SpotInstanceInterruptionBehavior value) { m_instanceInterruptionBehaviorHasBeenSet = true; m_instanceInterruptionBehavior = value; }
116
118
132 inline int GetInstancePoolsToUseCount() const { return m_instancePoolsToUseCount; }
133 inline bool InstancePoolsToUseCountHasBeenSet() const { return m_instancePoolsToUseCountHasBeenSet; }
134 inline void SetInstancePoolsToUseCount(int value) { m_instancePoolsToUseCountHasBeenSet = true; m_instancePoolsToUseCount = value; }
135 inline SpotOptions& WithInstancePoolsToUseCount(int value) { SetInstancePoolsToUseCount(value); return *this;}
137
139
144 inline bool GetSingleInstanceType() const { return m_singleInstanceType; }
145 inline bool SingleInstanceTypeHasBeenSet() const { return m_singleInstanceTypeHasBeenSet; }
146 inline void SetSingleInstanceType(bool value) { m_singleInstanceTypeHasBeenSet = true; m_singleInstanceType = value; }
147 inline SpotOptions& WithSingleInstanceType(bool value) { SetSingleInstanceType(value); return *this;}
149
151
156 inline bool GetSingleAvailabilityZone() const { return m_singleAvailabilityZone; }
157 inline bool SingleAvailabilityZoneHasBeenSet() const { return m_singleAvailabilityZoneHasBeenSet; }
158 inline void SetSingleAvailabilityZone(bool value) { m_singleAvailabilityZoneHasBeenSet = true; m_singleAvailabilityZone = value; }
159 inline SpotOptions& WithSingleAvailabilityZone(bool value) { SetSingleAvailabilityZone(value); return *this;}
161
163
170 inline int GetMinTargetCapacity() const { return m_minTargetCapacity; }
171 inline bool MinTargetCapacityHasBeenSet() const { return m_minTargetCapacityHasBeenSet; }
172 inline void SetMinTargetCapacity(int value) { m_minTargetCapacityHasBeenSet = true; m_minTargetCapacity = value; }
173 inline SpotOptions& WithMinTargetCapacity(int value) { SetMinTargetCapacity(value); return *this;}
175
177
192 inline const Aws::String& GetMaxTotalPrice() const { return m_maxTotalPrice; }
193 inline bool MaxTotalPriceHasBeenSet() const { return m_maxTotalPriceHasBeenSet; }
194 template<typename MaxTotalPriceT = Aws::String>
195 void SetMaxTotalPrice(MaxTotalPriceT&& value) { m_maxTotalPriceHasBeenSet = true; m_maxTotalPrice = std::forward<MaxTotalPriceT>(value); }
196 template<typename MaxTotalPriceT = Aws::String>
197 SpotOptions& WithMaxTotalPrice(MaxTotalPriceT&& value) { SetMaxTotalPrice(std::forward<MaxTotalPriceT>(value)); return *this;}
199 private:
200
202 bool m_allocationStrategyHasBeenSet = false;
203
204 FleetSpotMaintenanceStrategies m_maintenanceStrategies;
205 bool m_maintenanceStrategiesHasBeenSet = false;
206
208 bool m_instanceInterruptionBehaviorHasBeenSet = false;
209
210 int m_instancePoolsToUseCount{0};
211 bool m_instancePoolsToUseCountHasBeenSet = false;
212
213 bool m_singleInstanceType{false};
214 bool m_singleInstanceTypeHasBeenSet = false;
215
216 bool m_singleAvailabilityZone{false};
217 bool m_singleAvailabilityZoneHasBeenSet = false;
218
219 int m_minTargetCapacity{0};
220 bool m_minTargetCapacityHasBeenSet = false;
221
222 Aws::String m_maxTotalPrice;
223 bool m_maxTotalPriceHasBeenSet = false;
224 };
225
226} // namespace Model
227} // namespace EC2
228} // namespace Aws
bool MaintenanceStrategiesHasBeenSet() const
Definition SpotOptions.h:99
SpotOptions & WithInstanceInterruptionBehavior(SpotInstanceInterruptionBehavior value)
void SetSingleInstanceType(bool value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetMaxTotalPrice(MaxTotalPriceT &&value)
void SetMaintenanceStrategies(MaintenanceStrategiesT &&value)
void SetInstanceInterruptionBehavior(SpotInstanceInterruptionBehavior value)
SpotAllocationStrategy GetAllocationStrategy() const
Definition SpotOptions.h:87
AWS_EC2_API SpotOptions()=default
AWS_EC2_API SpotOptions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotOptions & WithAllocationStrategy(SpotAllocationStrategy value)
Definition SpotOptions.h:90
bool MinTargetCapacityHasBeenSet() const
void SetAllocationStrategy(SpotAllocationStrategy value)
Definition SpotOptions.h:89
const FleetSpotMaintenanceStrategies & GetMaintenanceStrategies() const
Definition SpotOptions.h:98
bool SingleAvailabilityZoneHasBeenSet() const
bool AllocationStrategyHasBeenSet() const
Definition SpotOptions.h:88
bool InstanceInterruptionBehaviorHasBeenSet() const
bool GetSingleAvailabilityZone() const
AWS_EC2_API SpotOptions(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetMinTargetCapacity(int value)
bool MaxTotalPriceHasBeenSet() const
SpotOptions & WithInstancePoolsToUseCount(int value)
void SetInstancePoolsToUseCount(int value)
void SetSingleAvailabilityZone(bool value)
SpotOptions & WithSingleAvailabilityZone(bool value)
SpotInstanceInterruptionBehavior GetInstanceInterruptionBehavior() const
const Aws::String & GetMaxTotalPrice() const
SpotOptions & WithSingleInstanceType(bool value)
SpotOptions & WithMaintenanceStrategies(MaintenanceStrategiesT &&value)
int GetInstancePoolsToUseCount() const
bool InstancePoolsToUseCountHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool SingleInstanceTypeHasBeenSet() const
SpotOptions & WithMinTargetCapacity(int value)
SpotOptions & WithMaxTotalPrice(MaxTotalPriceT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream