AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Placement.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/Tenancy.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace EC2 {
21namespace Model {
22
28class Placement {
29 public:
30 AWS_EC2_API Placement() = default;
31 AWS_EC2_API Placement(const Aws::Utils::Xml::XmlNode& xmlNode);
32 AWS_EC2_API Placement& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
33
34 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
35 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
36
38
45 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
46 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
47 template <typename AvailabilityZoneIdT = Aws::String>
48 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
49 m_availabilityZoneIdHasBeenSet = true;
50 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
51 }
52 template <typename AvailabilityZoneIdT = Aws::String>
53 Placement& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
54 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
55 return *this;
56 }
58
60
67 inline const Aws::String& GetAffinity() const { return m_affinity; }
68 inline bool AffinityHasBeenSet() const { return m_affinityHasBeenSet; }
69 template <typename AffinityT = Aws::String>
70 void SetAffinity(AffinityT&& value) {
71 m_affinityHasBeenSet = true;
72 m_affinity = std::forward<AffinityT>(value);
73 }
74 template <typename AffinityT = Aws::String>
75 Placement& WithAffinity(AffinityT&& value) {
76 SetAffinity(std::forward<AffinityT>(value));
77 return *this;
78 }
80
82
86 inline const Aws::String& GetGroupName() const { return m_groupName; }
87 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
88 template <typename GroupNameT = Aws::String>
89 void SetGroupName(GroupNameT&& value) {
90 m_groupNameHasBeenSet = true;
91 m_groupName = std::forward<GroupNameT>(value);
92 }
93 template <typename GroupNameT = Aws::String>
94 Placement& WithGroupName(GroupNameT&& value) {
95 SetGroupName(std::forward<GroupNameT>(value));
96 return *this;
97 }
99
101
107 inline int GetPartitionNumber() const { return m_partitionNumber; }
108 inline bool PartitionNumberHasBeenSet() const { return m_partitionNumberHasBeenSet; }
109 inline void SetPartitionNumber(int value) {
110 m_partitionNumberHasBeenSet = true;
111 m_partitionNumber = value;
112 }
113 inline Placement& WithPartitionNumber(int value) {
114 SetPartitionNumber(value);
115 return *this;
116 }
118
120
127 inline const Aws::String& GetHostId() const { return m_hostId; }
128 inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; }
129 template <typename HostIdT = Aws::String>
130 void SetHostId(HostIdT&& value) {
131 m_hostIdHasBeenSet = true;
132 m_hostId = std::forward<HostIdT>(value);
133 }
134 template <typename HostIdT = Aws::String>
135 Placement& WithHostId(HostIdT&& value) {
136 SetHostId(std::forward<HostIdT>(value));
137 return *this;
138 }
140
142
152 inline Tenancy GetTenancy() const { return m_tenancy; }
153 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
154 inline void SetTenancy(Tenancy value) {
155 m_tenancyHasBeenSet = true;
156 m_tenancy = value;
157 }
159 SetTenancy(value);
160 return *this;
161 }
163
165
168 inline const Aws::String& GetSpreadDomain() const { return m_spreadDomain; }
169 inline bool SpreadDomainHasBeenSet() const { return m_spreadDomainHasBeenSet; }
170 template <typename SpreadDomainT = Aws::String>
171 void SetSpreadDomain(SpreadDomainT&& value) {
172 m_spreadDomainHasBeenSet = true;
173 m_spreadDomain = std::forward<SpreadDomainT>(value);
174 }
175 template <typename SpreadDomainT = Aws::String>
176 Placement& WithSpreadDomain(SpreadDomainT&& value) {
177 SetSpreadDomain(std::forward<SpreadDomainT>(value));
178 return *this;
179 }
181
183
190 inline const Aws::String& GetHostResourceGroupArn() const { return m_hostResourceGroupArn; }
191 inline bool HostResourceGroupArnHasBeenSet() const { return m_hostResourceGroupArnHasBeenSet; }
192 template <typename HostResourceGroupArnT = Aws::String>
193 void SetHostResourceGroupArn(HostResourceGroupArnT&& value) {
194 m_hostResourceGroupArnHasBeenSet = true;
195 m_hostResourceGroupArn = std::forward<HostResourceGroupArnT>(value);
196 }
197 template <typename HostResourceGroupArnT = Aws::String>
198 Placement& WithHostResourceGroupArn(HostResourceGroupArnT&& value) {
199 SetHostResourceGroupArn(std::forward<HostResourceGroupArnT>(value));
200 return *this;
201 }
203
205
209 inline const Aws::String& GetGroupId() const { return m_groupId; }
210 inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; }
211 template <typename GroupIdT = Aws::String>
212 void SetGroupId(GroupIdT&& value) {
213 m_groupIdHasBeenSet = true;
214 m_groupId = std::forward<GroupIdT>(value);
215 }
216 template <typename GroupIdT = Aws::String>
217 Placement& WithGroupId(GroupIdT&& value) {
218 SetGroupId(std::forward<GroupIdT>(value));
219 return *this;
220 }
222
224
231 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
232 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
233 template <typename AvailabilityZoneT = Aws::String>
234 void SetAvailabilityZone(AvailabilityZoneT&& value) {
235 m_availabilityZoneHasBeenSet = true;
236 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
237 }
238 template <typename AvailabilityZoneT = Aws::String>
239 Placement& WithAvailabilityZone(AvailabilityZoneT&& value) {
240 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
241 return *this;
242 }
244 private:
245 Aws::String m_availabilityZoneId;
246
247 Aws::String m_affinity;
248
249 Aws::String m_groupName;
250
251 int m_partitionNumber{0};
252
253 Aws::String m_hostId;
254
255 Tenancy m_tenancy{Tenancy::NOT_SET};
256
257 Aws::String m_spreadDomain;
258
259 Aws::String m_hostResourceGroupArn;
260
261 Aws::String m_groupId;
262
263 Aws::String m_availabilityZone;
264 bool m_availabilityZoneIdHasBeenSet = false;
265 bool m_affinityHasBeenSet = false;
266 bool m_groupNameHasBeenSet = false;
267 bool m_partitionNumberHasBeenSet = false;
268 bool m_hostIdHasBeenSet = false;
269 bool m_tenancyHasBeenSet = false;
270 bool m_spreadDomainHasBeenSet = false;
271 bool m_hostResourceGroupArnHasBeenSet = false;
272 bool m_groupIdHasBeenSet = false;
273 bool m_availabilityZoneHasBeenSet = false;
274};
275
276} // namespace Model
277} // namespace EC2
278} // namespace Aws
const Aws::String & GetSpreadDomain() const
Definition Placement.h:168
bool HostResourceGroupArnHasBeenSet() const
Definition Placement.h:191
const Aws::String & GetAffinity() const
Definition Placement.h:67
bool PartitionNumberHasBeenSet() const
Definition Placement.h:108
void SetSpreadDomain(SpreadDomainT &&value)
Definition Placement.h:171
bool TenancyHasBeenSet() const
Definition Placement.h:153
Placement & WithGroupId(GroupIdT &&value)
Definition Placement.h:217
AWS_EC2_API Placement()=default
void SetTenancy(Tenancy value)
Definition Placement.h:154
void SetPartitionNumber(int value)
Definition Placement.h:109
Placement & WithHostResourceGroupArn(HostResourceGroupArnT &&value)
Definition Placement.h:198
bool AvailabilityZoneIdHasBeenSet() const
Definition Placement.h:46
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
Definition Placement.h:48
void SetGroupId(GroupIdT &&value)
Definition Placement.h:212
Placement & WithGroupName(GroupNameT &&value)
Definition Placement.h:94
const Aws::String & GetHostResourceGroupArn() const
Definition Placement.h:190
AWS_EC2_API Placement & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
Placement & WithHostId(HostIdT &&value)
Definition Placement.h:135
AWS_EC2_API Placement(const Aws::Utils::Xml::XmlNode &xmlNode)
bool SpreadDomainHasBeenSet() const
Definition Placement.h:169
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetAvailabilityZoneId() const
Definition Placement.h:45
Placement & WithAffinity(AffinityT &&value)
Definition Placement.h:75
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetAvailabilityZone() const
Definition Placement.h:231
void SetHostId(HostIdT &&value)
Definition Placement.h:130
Placement & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
Definition Placement.h:53
Placement & WithSpreadDomain(SpreadDomainT &&value)
Definition Placement.h:176
int GetPartitionNumber() const
Definition Placement.h:107
bool AvailabilityZoneHasBeenSet() const
Definition Placement.h:232
const Aws::String & GetGroupId() const
Definition Placement.h:209
const Aws::String & GetGroupName() const
Definition Placement.h:86
bool AffinityHasBeenSet() const
Definition Placement.h:68
void SetGroupName(GroupNameT &&value)
Definition Placement.h:89
bool GroupIdHasBeenSet() const
Definition Placement.h:210
void SetHostResourceGroupArn(HostResourceGroupArnT &&value)
Definition Placement.h:193
Placement & WithTenancy(Tenancy value)
Definition Placement.h:158
void SetAffinity(AffinityT &&value)
Definition Placement.h:70
const Aws::String & GetHostId() const
Definition Placement.h:127
bool GroupNameHasBeenSet() const
Definition Placement.h:87
Placement & WithAvailabilityZone(AvailabilityZoneT &&value)
Definition Placement.h:239
Placement & WithPartitionNumber(int value)
Definition Placement.h:113
bool HostIdHasBeenSet() const
Definition Placement.h:128
Tenancy GetTenancy() const
Definition Placement.h:152
void SetAvailabilityZone(AvailabilityZoneT &&value)
Definition Placement.h:234
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream