AWS SDK for C++

AWS SDK for C++ Version 1.11.644

Loading...
Searching...
No Matches
Placement.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/Tenancy.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Xml
18{
19 class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2
23{
24namespace Model
25{
26
33 {
34 public:
35 AWS_EC2_API Placement() = default;
36 AWS_EC2_API Placement(const Aws::Utils::Xml::XmlNode& xmlNode);
37 AWS_EC2_API Placement& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
42
44
51 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
52 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
53 template<typename AvailabilityZoneIdT = Aws::String>
54 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
55 template<typename AvailabilityZoneIdT = Aws::String>
56 Placement& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) { SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value)); return *this;}
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) { m_affinityHasBeenSet = true; m_affinity = std::forward<AffinityT>(value); }
71 template<typename AffinityT = Aws::String>
72 Placement& WithAffinity(AffinityT&& value) { SetAffinity(std::forward<AffinityT>(value)); return *this;}
74
76
80 inline const Aws::String& GetGroupName() const { return m_groupName; }
81 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
82 template<typename GroupNameT = Aws::String>
83 void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet = true; m_groupName = std::forward<GroupNameT>(value); }
84 template<typename GroupNameT = Aws::String>
85 Placement& WithGroupName(GroupNameT&& value) { SetGroupName(std::forward<GroupNameT>(value)); return *this;}
87
89
95 inline int GetPartitionNumber() const { return m_partitionNumber; }
96 inline bool PartitionNumberHasBeenSet() const { return m_partitionNumberHasBeenSet; }
97 inline void SetPartitionNumber(int value) { m_partitionNumberHasBeenSet = true; m_partitionNumber = value; }
98 inline Placement& WithPartitionNumber(int value) { SetPartitionNumber(value); return *this;}
100
102
109 inline const Aws::String& GetHostId() const { return m_hostId; }
110 inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; }
111 template<typename HostIdT = Aws::String>
112 void SetHostId(HostIdT&& value) { m_hostIdHasBeenSet = true; m_hostId = std::forward<HostIdT>(value); }
113 template<typename HostIdT = Aws::String>
114 Placement& WithHostId(HostIdT&& value) { SetHostId(std::forward<HostIdT>(value)); return *this;}
116
118
128 inline Tenancy GetTenancy() const { return m_tenancy; }
129 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
130 inline void SetTenancy(Tenancy value) { m_tenancyHasBeenSet = true; m_tenancy = value; }
131 inline Placement& WithTenancy(Tenancy value) { SetTenancy(value); return *this;}
133
135
138 inline const Aws::String& GetSpreadDomain() const { return m_spreadDomain; }
139 inline bool SpreadDomainHasBeenSet() const { return m_spreadDomainHasBeenSet; }
140 template<typename SpreadDomainT = Aws::String>
141 void SetSpreadDomain(SpreadDomainT&& value) { m_spreadDomainHasBeenSet = true; m_spreadDomain = std::forward<SpreadDomainT>(value); }
142 template<typename SpreadDomainT = Aws::String>
143 Placement& WithSpreadDomain(SpreadDomainT&& value) { SetSpreadDomain(std::forward<SpreadDomainT>(value)); return *this;}
145
147
154 inline const Aws::String& GetHostResourceGroupArn() const { return m_hostResourceGroupArn; }
155 inline bool HostResourceGroupArnHasBeenSet() const { return m_hostResourceGroupArnHasBeenSet; }
156 template<typename HostResourceGroupArnT = Aws::String>
157 void SetHostResourceGroupArn(HostResourceGroupArnT&& value) { m_hostResourceGroupArnHasBeenSet = true; m_hostResourceGroupArn = std::forward<HostResourceGroupArnT>(value); }
158 template<typename HostResourceGroupArnT = Aws::String>
159 Placement& WithHostResourceGroupArn(HostResourceGroupArnT&& value) { SetHostResourceGroupArn(std::forward<HostResourceGroupArnT>(value)); return *this;}
161
163
167 inline const Aws::String& GetGroupId() const { return m_groupId; }
168 inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; }
169 template<typename GroupIdT = Aws::String>
170 void SetGroupId(GroupIdT&& value) { m_groupIdHasBeenSet = true; m_groupId = std::forward<GroupIdT>(value); }
171 template<typename GroupIdT = Aws::String>
172 Placement& WithGroupId(GroupIdT&& value) { SetGroupId(std::forward<GroupIdT>(value)); return *this;}
174
176
183 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
184 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
185 template<typename AvailabilityZoneT = Aws::String>
186 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
187 template<typename AvailabilityZoneT = Aws::String>
188 Placement& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
190 private:
191
192 Aws::String m_availabilityZoneId;
193 bool m_availabilityZoneIdHasBeenSet = false;
194
195 Aws::String m_affinity;
196 bool m_affinityHasBeenSet = false;
197
198 Aws::String m_groupName;
199 bool m_groupNameHasBeenSet = false;
200
201 int m_partitionNumber{0};
202 bool m_partitionNumberHasBeenSet = false;
203
204 Aws::String m_hostId;
205 bool m_hostIdHasBeenSet = false;
206
207 Tenancy m_tenancy{Tenancy::NOT_SET};
208 bool m_tenancyHasBeenSet = false;
209
210 Aws::String m_spreadDomain;
211 bool m_spreadDomainHasBeenSet = false;
212
213 Aws::String m_hostResourceGroupArn;
214 bool m_hostResourceGroupArnHasBeenSet = false;
215
216 Aws::String m_groupId;
217 bool m_groupIdHasBeenSet = false;
218
219 Aws::String m_availabilityZone;
220 bool m_availabilityZoneHasBeenSet = false;
221 };
222
223} // namespace Model
224} // namespace EC2
225} // namespace Aws
const Aws::String & GetSpreadDomain() const
Definition Placement.h:138
bool HostResourceGroupArnHasBeenSet() const
Definition Placement.h:155
const Aws::String & GetAffinity() const
Definition Placement.h:67
bool PartitionNumberHasBeenSet() const
Definition Placement.h:96
void SetSpreadDomain(SpreadDomainT &&value)
Definition Placement.h:141
bool TenancyHasBeenSet() const
Definition Placement.h:129
Placement & WithGroupId(GroupIdT &&value)
Definition Placement.h:172
AWS_EC2_API Placement()=default
void SetTenancy(Tenancy value)
Definition Placement.h:130
void SetPartitionNumber(int value)
Definition Placement.h:97
Placement & WithHostResourceGroupArn(HostResourceGroupArnT &&value)
Definition Placement.h:159
bool AvailabilityZoneIdHasBeenSet() const
Definition Placement.h:52
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
Definition Placement.h:54
void SetGroupId(GroupIdT &&value)
Definition Placement.h:170
Placement & WithGroupName(GroupNameT &&value)
Definition Placement.h:85
const Aws::String & GetHostResourceGroupArn() const
Definition Placement.h:154
AWS_EC2_API Placement & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
Placement & WithHostId(HostIdT &&value)
Definition Placement.h:114
AWS_EC2_API Placement(const Aws::Utils::Xml::XmlNode &xmlNode)
bool SpreadDomainHasBeenSet() const
Definition Placement.h:139
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetAvailabilityZoneId() const
Definition Placement.h:51
Placement & WithAffinity(AffinityT &&value)
Definition Placement.h:72
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:183
void SetHostId(HostIdT &&value)
Definition Placement.h:112
Placement & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
Definition Placement.h:56
Placement & WithSpreadDomain(SpreadDomainT &&value)
Definition Placement.h:143
int GetPartitionNumber() const
Definition Placement.h:95
bool AvailabilityZoneHasBeenSet() const
Definition Placement.h:184
const Aws::String & GetGroupId() const
Definition Placement.h:167
const Aws::String & GetGroupName() const
Definition Placement.h:80
bool AffinityHasBeenSet() const
Definition Placement.h:68
void SetGroupName(GroupNameT &&value)
Definition Placement.h:83
bool GroupIdHasBeenSet() const
Definition Placement.h:168
void SetHostResourceGroupArn(HostResourceGroupArnT &&value)
Definition Placement.h:157
Placement & WithTenancy(Tenancy value)
Definition Placement.h:131
void SetAffinity(AffinityT &&value)
Definition Placement.h:70
const Aws::String & GetHostId() const
Definition Placement.h:109
bool GroupNameHasBeenSet() const
Definition Placement.h:81
Placement & WithAvailabilityZone(AvailabilityZoneT &&value)
Definition Placement.h:188
Placement & WithPartitionNumber(int value)
Definition Placement.h:98
bool HostIdHasBeenSet() const
Definition Placement.h:110
Tenancy GetTenancy() const
Definition Placement.h:128
void SetAvailabilityZone(AvailabilityZoneT &&value)
Definition Placement.h:186
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream