AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
SpotOptionsRequest.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/FleetSpotMaintenanceStrategiesRequest.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 SpotOptionsRequest() = default;
39 AWS_EC2_API SpotOptionsRequest(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 FleetSpotMaintenanceStrategiesRequest& GetMaintenanceStrategies() const { return m_maintenanceStrategies; }
99 inline bool MaintenanceStrategiesHasBeenSet() const { return m_maintenanceStrategiesHasBeenSet; }
100 template<typename MaintenanceStrategiesT = FleetSpotMaintenanceStrategiesRequest>
101 void SetMaintenanceStrategies(MaintenanceStrategiesT&& value) { m_maintenanceStrategiesHasBeenSet = true; m_maintenanceStrategies = std::forward<MaintenanceStrategiesT>(value); }
102 template<typename MaintenanceStrategiesT = FleetSpotMaintenanceStrategiesRequest>
103 SpotOptionsRequest& 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; }
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 SpotOptionsRequest& 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; }
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 SpotOptionsRequest& 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 SpotOptionsRequest& WithMaxTotalPrice(MaxTotalPriceT&& value) { SetMaxTotalPrice(std::forward<MaxTotalPriceT>(value)); return *this;}
199 private:
200
202 bool m_allocationStrategyHasBeenSet = false;
203
204 FleetSpotMaintenanceStrategiesRequest 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
SpotOptionsRequest & WithMaxTotalPrice(MaxTotalPriceT &&value)
void SetMaintenanceStrategies(MaintenanceStrategiesT &&value)
SpotOptionsRequest & WithAllocationStrategy(SpotAllocationStrategy value)
SpotInstanceInterruptionBehavior GetInstanceInterruptionBehavior() const
AWS_EC2_API SpotOptionsRequest & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotOptionsRequest & WithSingleInstanceType(bool value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetMaxTotalPrice(MaxTotalPriceT &&value)
SpotAllocationStrategy GetAllocationStrategy() const
void SetAllocationStrategy(SpotAllocationStrategy value)
SpotOptionsRequest & WithMaintenanceStrategies(MaintenanceStrategiesT &&value)
AWS_EC2_API SpotOptionsRequest(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetMaxTotalPrice() const
SpotOptionsRequest & WithMinTargetCapacity(int value)
SpotOptionsRequest & WithInstanceInterruptionBehavior(SpotInstanceInterruptionBehavior value)
SpotOptionsRequest & WithInstancePoolsToUseCount(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API SpotOptionsRequest()=default
const FleetSpotMaintenanceStrategiesRequest & GetMaintenanceStrategies() const
SpotOptionsRequest & WithSingleAvailabilityZone(bool value)
void SetInstanceInterruptionBehavior(SpotInstanceInterruptionBehavior value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream