AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
LaunchTemplatePlacement.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
29 public:
30 AWS_EC2_API LaunchTemplatePlacement() = default;
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
41 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
42 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
43 template <typename AvailabilityZoneT = Aws::String>
44 void SetAvailabilityZone(AvailabilityZoneT&& value) {
45 m_availabilityZoneHasBeenSet = true;
46 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
47 }
48 template <typename AvailabilityZoneT = Aws::String>
49 LaunchTemplatePlacement& WithAvailabilityZone(AvailabilityZoneT&& value) {
50 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
60 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
61 template <typename AvailabilityZoneIdT = Aws::String>
62 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
63 m_availabilityZoneIdHasBeenSet = true;
64 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
65 }
66 template <typename AvailabilityZoneIdT = Aws::String>
67 LaunchTemplatePlacement& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
68 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetAffinity() const { return m_affinity; }
78 inline bool AffinityHasBeenSet() const { return m_affinityHasBeenSet; }
79 template <typename AffinityT = Aws::String>
80 void SetAffinity(AffinityT&& value) {
81 m_affinityHasBeenSet = true;
82 m_affinity = std::forward<AffinityT>(value);
83 }
84 template <typename AffinityT = Aws::String>
86 SetAffinity(std::forward<AffinityT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::String& GetGroupName() const { return m_groupName; }
96 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
97 template <typename GroupNameT = Aws::String>
98 void SetGroupName(GroupNameT&& value) {
99 m_groupNameHasBeenSet = true;
100 m_groupName = std::forward<GroupNameT>(value);
101 }
102 template <typename GroupNameT = Aws::String>
104 SetGroupName(std::forward<GroupNameT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::String& GetHostId() const { return m_hostId; }
114 inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; }
115 template <typename HostIdT = Aws::String>
116 void SetHostId(HostIdT&& value) {
117 m_hostIdHasBeenSet = true;
118 m_hostId = std::forward<HostIdT>(value);
119 }
120 template <typename HostIdT = Aws::String>
122 SetHostId(std::forward<HostIdT>(value));
123 return *this;
124 }
126
128
132 inline Tenancy GetTenancy() const { return m_tenancy; }
133 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
134 inline void SetTenancy(Tenancy value) {
135 m_tenancyHasBeenSet = true;
136 m_tenancy = value;
137 }
139 SetTenancy(value);
140 return *this;
141 }
143
145
148 inline const Aws::String& GetSpreadDomain() const { return m_spreadDomain; }
149 inline bool SpreadDomainHasBeenSet() const { return m_spreadDomainHasBeenSet; }
150 template <typename SpreadDomainT = Aws::String>
151 void SetSpreadDomain(SpreadDomainT&& value) {
152 m_spreadDomainHasBeenSet = true;
153 m_spreadDomain = std::forward<SpreadDomainT>(value);
154 }
155 template <typename SpreadDomainT = Aws::String>
157 SetSpreadDomain(std::forward<SpreadDomainT>(value));
158 return *this;
159 }
161
163
166 inline const Aws::String& GetHostResourceGroupArn() const { return m_hostResourceGroupArn; }
167 inline bool HostResourceGroupArnHasBeenSet() const { return m_hostResourceGroupArnHasBeenSet; }
168 template <typename HostResourceGroupArnT = Aws::String>
169 void SetHostResourceGroupArn(HostResourceGroupArnT&& value) {
170 m_hostResourceGroupArnHasBeenSet = true;
171 m_hostResourceGroupArn = std::forward<HostResourceGroupArnT>(value);
172 }
173 template <typename HostResourceGroupArnT = Aws::String>
174 LaunchTemplatePlacement& WithHostResourceGroupArn(HostResourceGroupArnT&& value) {
175 SetHostResourceGroupArn(std::forward<HostResourceGroupArnT>(value));
176 return *this;
177 }
179
181
185 inline int GetPartitionNumber() const { return m_partitionNumber; }
186 inline bool PartitionNumberHasBeenSet() const { return m_partitionNumberHasBeenSet; }
187 inline void SetPartitionNumber(int value) {
188 m_partitionNumberHasBeenSet = true;
189 m_partitionNumber = value;
190 }
192 SetPartitionNumber(value);
193 return *this;
194 }
196
198
202 inline const Aws::String& GetGroupId() const { return m_groupId; }
203 inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; }
204 template <typename GroupIdT = Aws::String>
205 void SetGroupId(GroupIdT&& value) {
206 m_groupIdHasBeenSet = true;
207 m_groupId = std::forward<GroupIdT>(value);
208 }
209 template <typename GroupIdT = Aws::String>
211 SetGroupId(std::forward<GroupIdT>(value));
212 return *this;
213 }
215 private:
216 Aws::String m_availabilityZone;
217
218 Aws::String m_availabilityZoneId;
219
220 Aws::String m_affinity;
221
222 Aws::String m_groupName;
223
224 Aws::String m_hostId;
225
226 Tenancy m_tenancy{Tenancy::NOT_SET};
227
228 Aws::String m_spreadDomain;
229
230 Aws::String m_hostResourceGroupArn;
231
232 int m_partitionNumber{0};
233
234 Aws::String m_groupId;
235 bool m_availabilityZoneHasBeenSet = false;
236 bool m_availabilityZoneIdHasBeenSet = false;
237 bool m_affinityHasBeenSet = false;
238 bool m_groupNameHasBeenSet = false;
239 bool m_hostIdHasBeenSet = false;
240 bool m_tenancyHasBeenSet = false;
241 bool m_spreadDomainHasBeenSet = false;
242 bool m_hostResourceGroupArnHasBeenSet = false;
243 bool m_partitionNumberHasBeenSet = false;
244 bool m_groupIdHasBeenSet = false;
245};
246
247} // namespace Model
248} // namespace EC2
249} // namespace Aws
LaunchTemplatePlacement & WithGroupName(GroupNameT &&value)
LaunchTemplatePlacement & WithHostId(HostIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
LaunchTemplatePlacement & WithAffinity(AffinityT &&value)
LaunchTemplatePlacement & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
LaunchTemplatePlacement & WithSpreadDomain(SpreadDomainT &&value)
AWS_EC2_API LaunchTemplatePlacement & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API LaunchTemplatePlacement()=default
LaunchTemplatePlacement & WithTenancy(Tenancy value)
AWS_EC2_API LaunchTemplatePlacement(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetAvailabilityZone(AvailabilityZoneT &&value)
LaunchTemplatePlacement & WithHostResourceGroupArn(HostResourceGroupArnT &&value)
LaunchTemplatePlacement & WithAvailabilityZone(AvailabilityZoneT &&value)
void SetHostResourceGroupArn(HostResourceGroupArnT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
LaunchTemplatePlacement & WithPartitionNumber(int value)
LaunchTemplatePlacement & WithGroupId(GroupIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream