AWS SDK for C++

AWS SDK for C++ Version 1.11.634

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
52 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
53 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
54 template<typename AvailabilityZoneIdT = Aws::String>
55 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
56 template<typename AvailabilityZoneIdT = Aws::String>
57 Placement& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) { SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value)); return *this;}
59
61
68 inline const Aws::String& GetAffinity() const { return m_affinity; }
69 inline bool AffinityHasBeenSet() const { return m_affinityHasBeenSet; }
70 template<typename AffinityT = Aws::String>
71 void SetAffinity(AffinityT&& value) { m_affinityHasBeenSet = true; m_affinity = std::forward<AffinityT>(value); }
72 template<typename AffinityT = Aws::String>
73 Placement& WithAffinity(AffinityT&& value) { SetAffinity(std::forward<AffinityT>(value)); return *this;}
75
77
81 inline const Aws::String& GetGroupName() const { return m_groupName; }
82 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
83 template<typename GroupNameT = Aws::String>
84 void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet = true; m_groupName = std::forward<GroupNameT>(value); }
85 template<typename GroupNameT = Aws::String>
86 Placement& WithGroupName(GroupNameT&& value) { SetGroupName(std::forward<GroupNameT>(value)); return *this;}
88
90
96 inline int GetPartitionNumber() const { return m_partitionNumber; }
97 inline bool PartitionNumberHasBeenSet() const { return m_partitionNumberHasBeenSet; }
98 inline void SetPartitionNumber(int value) { m_partitionNumberHasBeenSet = true; m_partitionNumber = value; }
99 inline Placement& WithPartitionNumber(int value) { SetPartitionNumber(value); return *this;}
101
103
110 inline const Aws::String& GetHostId() const { return m_hostId; }
111 inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; }
112 template<typename HostIdT = Aws::String>
113 void SetHostId(HostIdT&& value) { m_hostIdHasBeenSet = true; m_hostId = std::forward<HostIdT>(value); }
114 template<typename HostIdT = Aws::String>
115 Placement& WithHostId(HostIdT&& value) { SetHostId(std::forward<HostIdT>(value)); return *this;}
117
119
129 inline Tenancy GetTenancy() const { return m_tenancy; }
130 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
131 inline void SetTenancy(Tenancy value) { m_tenancyHasBeenSet = true; m_tenancy = value; }
132 inline Placement& WithTenancy(Tenancy value) { SetTenancy(value); return *this;}
134
136
139 inline const Aws::String& GetSpreadDomain() const { return m_spreadDomain; }
140 inline bool SpreadDomainHasBeenSet() const { return m_spreadDomainHasBeenSet; }
141 template<typename SpreadDomainT = Aws::String>
142 void SetSpreadDomain(SpreadDomainT&& value) { m_spreadDomainHasBeenSet = true; m_spreadDomain = std::forward<SpreadDomainT>(value); }
143 template<typename SpreadDomainT = Aws::String>
144 Placement& WithSpreadDomain(SpreadDomainT&& value) { SetSpreadDomain(std::forward<SpreadDomainT>(value)); return *this;}
146
148
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
184 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
185 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
186 template<typename AvailabilityZoneT = Aws::String>
187 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
188 template<typename AvailabilityZoneT = Aws::String>
189 Placement& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
191 private:
192
193 Aws::String m_availabilityZoneId;
194 bool m_availabilityZoneIdHasBeenSet = false;
195
196 Aws::String m_affinity;
197 bool m_affinityHasBeenSet = false;
198
199 Aws::String m_groupName;
200 bool m_groupNameHasBeenSet = false;
201
202 int m_partitionNumber{0};
203 bool m_partitionNumberHasBeenSet = false;
204
205 Aws::String m_hostId;
206 bool m_hostIdHasBeenSet = false;
207
208 Tenancy m_tenancy{Tenancy::NOT_SET};
209 bool m_tenancyHasBeenSet = false;
210
211 Aws::String m_spreadDomain;
212 bool m_spreadDomainHasBeenSet = false;
213
214 Aws::String m_hostResourceGroupArn;
215 bool m_hostResourceGroupArnHasBeenSet = false;
216
217 Aws::String m_groupId;
218 bool m_groupIdHasBeenSet = false;
219
220 Aws::String m_availabilityZone;
221 bool m_availabilityZoneHasBeenSet = false;
222 };
223
224} // namespace Model
225} // namespace EC2
226} // namespace Aws
const Aws::String & GetSpreadDomain() const
Definition Placement.h:139
bool HostResourceGroupArnHasBeenSet() const
Definition Placement.h:155
const Aws::String & GetAffinity() const
Definition Placement.h:68
bool PartitionNumberHasBeenSet() const
Definition Placement.h:97
void SetSpreadDomain(SpreadDomainT &&value)
Definition Placement.h:142
bool TenancyHasBeenSet() const
Definition Placement.h:130
Placement & WithGroupId(GroupIdT &&value)
Definition Placement.h:172
AWS_EC2_API Placement()=default
void SetTenancy(Tenancy value)
Definition Placement.h:131
void SetPartitionNumber(int value)
Definition Placement.h:98
Placement & WithHostResourceGroupArn(HostResourceGroupArnT &&value)
Definition Placement.h:159
bool AvailabilityZoneIdHasBeenSet() const
Definition Placement.h:53
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
Definition Placement.h:55
void SetGroupId(GroupIdT &&value)
Definition Placement.h:170
Placement & WithGroupName(GroupNameT &&value)
Definition Placement.h:86
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:115
AWS_EC2_API Placement(const Aws::Utils::Xml::XmlNode &xmlNode)
bool SpreadDomainHasBeenSet() const
Definition Placement.h:140
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetAvailabilityZoneId() const
Definition Placement.h:52
Placement & WithAffinity(AffinityT &&value)
Definition Placement.h:73
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:184
void SetHostId(HostIdT &&value)
Definition Placement.h:113
Placement & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
Definition Placement.h:57
Placement & WithSpreadDomain(SpreadDomainT &&value)
Definition Placement.h:144
int GetPartitionNumber() const
Definition Placement.h:96
bool AvailabilityZoneHasBeenSet() const
Definition Placement.h:185
const Aws::String & GetGroupId() const
Definition Placement.h:167
const Aws::String & GetGroupName() const
Definition Placement.h:81
bool AffinityHasBeenSet() const
Definition Placement.h:69
void SetGroupName(GroupNameT &&value)
Definition Placement.h:84
bool GroupIdHasBeenSet() const
Definition Placement.h:168
void SetHostResourceGroupArn(HostResourceGroupArnT &&value)
Definition Placement.h:157
Placement & WithTenancy(Tenancy value)
Definition Placement.h:132
void SetAffinity(AffinityT &&value)
Definition Placement.h:71
const Aws::String & GetHostId() const
Definition Placement.h:110
bool GroupNameHasBeenSet() const
Definition Placement.h:82
Placement & WithAvailabilityZone(AvailabilityZoneT &&value)
Definition Placement.h:189
Placement & WithPartitionNumber(int value)
Definition Placement.h:99
bool HostIdHasBeenSet() const
Definition Placement.h:111
Tenancy GetTenancy() const
Definition Placement.h:129
void SetAvailabilityZone(AvailabilityZoneT &&value)
Definition Placement.h:187
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream