AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
LaunchTemplateOverrides.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/InstanceRequirements.h>
11#include <aws/ec2/model/InstanceType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace EC2 {
22namespace Model {
23
30 public:
31 AWS_EC2_API LaunchTemplateOverrides() = default;
34
35 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
42 inline InstanceType GetInstanceType() const { return m_instanceType; }
43 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
44 inline void SetInstanceType(InstanceType value) {
45 m_instanceTypeHasBeenSet = true;
46 m_instanceType = value;
47 }
49 SetInstanceType(value);
50 return *this;
51 }
53
55
63 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
64 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
65 template <typename SpotPriceT = Aws::String>
66 void SetSpotPrice(SpotPriceT&& value) {
67 m_spotPriceHasBeenSet = true;
68 m_spotPrice = std::forward<SpotPriceT>(value);
69 }
70 template <typename SpotPriceT = Aws::String>
72 SetSpotPrice(std::forward<SpotPriceT>(value));
73 return *this;
74 }
76
78
81 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
82 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
83 template <typename SubnetIdT = Aws::String>
84 void SetSubnetId(SubnetIdT&& value) {
85 m_subnetIdHasBeenSet = true;
86 m_subnetId = std::forward<SubnetIdT>(value);
87 }
88 template <typename SubnetIdT = Aws::String>
90 SetSubnetId(std::forward<SubnetIdT>(value));
91 return *this;
92 }
94
96
102 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
103 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
104 template <typename AvailabilityZoneT = Aws::String>
105 void SetAvailabilityZone(AvailabilityZoneT&& value) {
106 m_availabilityZoneHasBeenSet = true;
107 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
108 }
109 template <typename AvailabilityZoneT = Aws::String>
110 LaunchTemplateOverrides& WithAvailabilityZone(AvailabilityZoneT&& value) {
111 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
112 return *this;
113 }
115
117
130 inline double GetWeightedCapacity() const { return m_weightedCapacity; }
131 inline bool WeightedCapacityHasBeenSet() const { return m_weightedCapacityHasBeenSet; }
132 inline void SetWeightedCapacity(double value) {
133 m_weightedCapacityHasBeenSet = true;
134 m_weightedCapacity = value;
135 }
137 SetWeightedCapacity(value);
138 return *this;
139 }
141
143
157 inline double GetPriority() const { return m_priority; }
158 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
159 inline void SetPriority(double value) {
160 m_priorityHasBeenSet = true;
161 m_priority = value;
162 }
163 inline LaunchTemplateOverrides& WithPriority(double value) {
164 SetPriority(value);
165 return *this;
166 }
168
170
178 inline const InstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
179 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
180 template <typename InstanceRequirementsT = InstanceRequirements>
181 void SetInstanceRequirements(InstanceRequirementsT&& value) {
182 m_instanceRequirementsHasBeenSet = true;
183 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
184 }
185 template <typename InstanceRequirementsT = InstanceRequirements>
186 LaunchTemplateOverrides& WithInstanceRequirements(InstanceRequirementsT&& value) {
187 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
188 return *this;
189 }
191
193
199 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
200 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
201 template <typename AvailabilityZoneIdT = Aws::String>
202 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
203 m_availabilityZoneIdHasBeenSet = true;
204 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
205 }
206 template <typename AvailabilityZoneIdT = Aws::String>
207 LaunchTemplateOverrides& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
208 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
209 return *this;
210 }
212 private:
213 InstanceType m_instanceType{InstanceType::NOT_SET};
214
215 Aws::String m_spotPrice;
216
217 Aws::String m_subnetId;
218
219 Aws::String m_availabilityZone;
220
221 double m_weightedCapacity{0.0};
222
223 double m_priority{0.0};
224
225 InstanceRequirements m_instanceRequirements;
226
227 Aws::String m_availabilityZoneId;
228 bool m_instanceTypeHasBeenSet = false;
229 bool m_spotPriceHasBeenSet = false;
230 bool m_subnetIdHasBeenSet = false;
231 bool m_availabilityZoneHasBeenSet = false;
232 bool m_weightedCapacityHasBeenSet = false;
233 bool m_priorityHasBeenSet = false;
234 bool m_instanceRequirementsHasBeenSet = false;
235 bool m_availabilityZoneIdHasBeenSet = false;
236};
237
238} // namespace Model
239} // namespace EC2
240} // namespace Aws
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
LaunchTemplateOverrides & WithSpotPrice(SpotPriceT &&value)
const InstanceRequirements & GetInstanceRequirements() const
LaunchTemplateOverrides & WithPriority(double value)
LaunchTemplateOverrides & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
AWS_EC2_API LaunchTemplateOverrides(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API LaunchTemplateOverrides & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetAvailabilityZone(AvailabilityZoneT &&value)
LaunchTemplateOverrides & WithAvailabilityZone(AvailabilityZoneT &&value)
LaunchTemplateOverrides & WithInstanceType(InstanceType value)
LaunchTemplateOverrides & WithSubnetId(SubnetIdT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
LaunchTemplateOverrides & WithWeightedCapacity(double value)
LaunchTemplateOverrides & WithInstanceRequirements(InstanceRequirementsT &&value)
AWS_EC2_API LaunchTemplateOverrides()=default
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetInstanceRequirements(InstanceRequirementsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream