AWS SDK for C++

AWS SDK for C++ Version 1.11.763

Loading...
Searching...
No Matches
SecondaryInterface.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/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/SecondaryInterfaceAttachment.h>
12#include <aws/ec2/model/SecondaryInterfaceIpv4Address.h>
13#include <aws/ec2/model/SecondaryInterfaceStatus.h>
14#include <aws/ec2/model/SecondaryInterfaceType.h>
15#include <aws/ec2/model/SecondaryNetworkType.h>
16#include <aws/ec2/model/Tag.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2 {
27namespace Model {
28
35 public:
36 AWS_EC2_API SecondaryInterface() = default;
37 AWS_EC2_API SecondaryInterface(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
47 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
48 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
49 template <typename AvailabilityZoneT = Aws::String>
50 void SetAvailabilityZone(AvailabilityZoneT&& value) {
51 m_availabilityZoneHasBeenSet = true;
52 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
53 }
54 template <typename AvailabilityZoneT = Aws::String>
55 SecondaryInterface& WithAvailabilityZone(AvailabilityZoneT&& value) {
56 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
66 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
67 template <typename AvailabilityZoneIdT = Aws::String>
68 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
69 m_availabilityZoneIdHasBeenSet = true;
70 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
71 }
72 template <typename AvailabilityZoneIdT = Aws::String>
73 SecondaryInterface& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
74 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
75 return *this;
76 }
78
80
83 inline const SecondaryInterfaceAttachment& GetAttachment() const { return m_attachment; }
84 inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; }
85 template <typename AttachmentT = SecondaryInterfaceAttachment>
86 void SetAttachment(AttachmentT&& value) {
87 m_attachmentHasBeenSet = true;
88 m_attachment = std::forward<AttachmentT>(value);
89 }
90 template <typename AttachmentT = SecondaryInterfaceAttachment>
91 SecondaryInterface& WithAttachment(AttachmentT&& value) {
92 SetAttachment(std::forward<AttachmentT>(value));
93 return *this;
94 }
96
98
101 inline const Aws::String& GetMacAddress() const { return m_macAddress; }
102 inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; }
103 template <typename MacAddressT = Aws::String>
104 void SetMacAddress(MacAddressT&& value) {
105 m_macAddressHasBeenSet = true;
106 m_macAddress = std::forward<MacAddressT>(value);
107 }
108 template <typename MacAddressT = Aws::String>
109 SecondaryInterface& WithMacAddress(MacAddressT&& value) {
110 SetMacAddress(std::forward<MacAddressT>(value));
111 return *this;
112 }
114
116
120 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
121 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
122 template <typename OwnerIdT = Aws::String>
123 void SetOwnerId(OwnerIdT&& value) {
124 m_ownerIdHasBeenSet = true;
125 m_ownerId = std::forward<OwnerIdT>(value);
126 }
127 template <typename OwnerIdT = Aws::String>
128 SecondaryInterface& WithOwnerId(OwnerIdT&& value) {
129 SetOwnerId(std::forward<OwnerIdT>(value));
130 return *this;
131 }
133
135
138 inline const Aws::Vector<SecondaryInterfaceIpv4Address>& GetPrivateIpv4Addresses() const { return m_privateIpv4Addresses; }
139 inline bool PrivateIpv4AddressesHasBeenSet() const { return m_privateIpv4AddressesHasBeenSet; }
140 template <typename PrivateIpv4AddressesT = Aws::Vector<SecondaryInterfaceIpv4Address>>
141 void SetPrivateIpv4Addresses(PrivateIpv4AddressesT&& value) {
142 m_privateIpv4AddressesHasBeenSet = true;
143 m_privateIpv4Addresses = std::forward<PrivateIpv4AddressesT>(value);
144 }
145 template <typename PrivateIpv4AddressesT = Aws::Vector<SecondaryInterfaceIpv4Address>>
146 SecondaryInterface& WithPrivateIpv4Addresses(PrivateIpv4AddressesT&& value) {
147 SetPrivateIpv4Addresses(std::forward<PrivateIpv4AddressesT>(value));
148 return *this;
149 }
150 template <typename PrivateIpv4AddressesT = SecondaryInterfaceIpv4Address>
151 SecondaryInterface& AddPrivateIpv4Addresses(PrivateIpv4AddressesT&& value) {
152 m_privateIpv4AddressesHasBeenSet = true;
153 m_privateIpv4Addresses.emplace_back(std::forward<PrivateIpv4AddressesT>(value));
154 return *this;
155 }
157
159
162 inline const Aws::String& GetSecondaryInterfaceId() const { return m_secondaryInterfaceId; }
163 inline bool SecondaryInterfaceIdHasBeenSet() const { return m_secondaryInterfaceIdHasBeenSet; }
164 template <typename SecondaryInterfaceIdT = Aws::String>
165 void SetSecondaryInterfaceId(SecondaryInterfaceIdT&& value) {
166 m_secondaryInterfaceIdHasBeenSet = true;
167 m_secondaryInterfaceId = std::forward<SecondaryInterfaceIdT>(value);
168 }
169 template <typename SecondaryInterfaceIdT = Aws::String>
170 SecondaryInterface& WithSecondaryInterfaceId(SecondaryInterfaceIdT&& value) {
171 SetSecondaryInterfaceId(std::forward<SecondaryInterfaceIdT>(value));
172 return *this;
173 }
175
177
180 inline const Aws::String& GetSecondaryInterfaceArn() const { return m_secondaryInterfaceArn; }
181 inline bool SecondaryInterfaceArnHasBeenSet() const { return m_secondaryInterfaceArnHasBeenSet; }
182 template <typename SecondaryInterfaceArnT = Aws::String>
183 void SetSecondaryInterfaceArn(SecondaryInterfaceArnT&& value) {
184 m_secondaryInterfaceArnHasBeenSet = true;
185 m_secondaryInterfaceArn = std::forward<SecondaryInterfaceArnT>(value);
186 }
187 template <typename SecondaryInterfaceArnT = Aws::String>
188 SecondaryInterface& WithSecondaryInterfaceArn(SecondaryInterfaceArnT&& value) {
189 SetSecondaryInterfaceArn(std::forward<SecondaryInterfaceArnT>(value));
190 return *this;
191 }
193
195
198 inline SecondaryInterfaceType GetSecondaryInterfaceType() const { return m_secondaryInterfaceType; }
199 inline bool SecondaryInterfaceTypeHasBeenSet() const { return m_secondaryInterfaceTypeHasBeenSet; }
201 m_secondaryInterfaceTypeHasBeenSet = true;
202 m_secondaryInterfaceType = value;
203 }
206 return *this;
207 }
209
211
214 inline const Aws::String& GetSecondarySubnetId() const { return m_secondarySubnetId; }
215 inline bool SecondarySubnetIdHasBeenSet() const { return m_secondarySubnetIdHasBeenSet; }
216 template <typename SecondarySubnetIdT = Aws::String>
217 void SetSecondarySubnetId(SecondarySubnetIdT&& value) {
218 m_secondarySubnetIdHasBeenSet = true;
219 m_secondarySubnetId = std::forward<SecondarySubnetIdT>(value);
220 }
221 template <typename SecondarySubnetIdT = Aws::String>
222 SecondaryInterface& WithSecondarySubnetId(SecondarySubnetIdT&& value) {
223 SetSecondarySubnetId(std::forward<SecondarySubnetIdT>(value));
224 return *this;
225 }
227
229
232 inline const Aws::String& GetSecondaryNetworkId() const { return m_secondaryNetworkId; }
233 inline bool SecondaryNetworkIdHasBeenSet() const { return m_secondaryNetworkIdHasBeenSet; }
234 template <typename SecondaryNetworkIdT = Aws::String>
235 void SetSecondaryNetworkId(SecondaryNetworkIdT&& value) {
236 m_secondaryNetworkIdHasBeenSet = true;
237 m_secondaryNetworkId = std::forward<SecondaryNetworkIdT>(value);
238 }
239 template <typename SecondaryNetworkIdT = Aws::String>
240 SecondaryInterface& WithSecondaryNetworkId(SecondaryNetworkIdT&& value) {
241 SetSecondaryNetworkId(std::forward<SecondaryNetworkIdT>(value));
242 return *this;
243 }
245
247
250 inline SecondaryNetworkType GetSecondaryNetworkType() const { return m_secondaryNetworkType; }
251 inline bool SecondaryNetworkTypeHasBeenSet() const { return m_secondaryNetworkTypeHasBeenSet; }
253 m_secondaryNetworkTypeHasBeenSet = true;
254 m_secondaryNetworkType = value;
255 }
258 return *this;
259 }
261
263
266 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
267 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
268 inline void SetSourceDestCheck(bool value) {
269 m_sourceDestCheckHasBeenSet = true;
270 m_sourceDestCheck = value;
271 }
273 SetSourceDestCheck(value);
274 return *this;
275 }
277
279
282 inline SecondaryInterfaceStatus GetStatus() const { return m_status; }
283 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
285 m_statusHasBeenSet = true;
286 m_status = value;
287 }
289 SetStatus(value);
290 return *this;
291 }
293
295
298 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
299 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
300 template <typename TagsT = Aws::Vector<Tag>>
301 void SetTags(TagsT&& value) {
302 m_tagsHasBeenSet = true;
303 m_tags = std::forward<TagsT>(value);
304 }
305 template <typename TagsT = Aws::Vector<Tag>>
306 SecondaryInterface& WithTags(TagsT&& value) {
307 SetTags(std::forward<TagsT>(value));
308 return *this;
309 }
310 template <typename TagsT = Tag>
311 SecondaryInterface& AddTags(TagsT&& value) {
312 m_tagsHasBeenSet = true;
313 m_tags.emplace_back(std::forward<TagsT>(value));
314 return *this;
315 }
317 private:
318 Aws::String m_availabilityZone;
319
320 Aws::String m_availabilityZoneId;
321
322 SecondaryInterfaceAttachment m_attachment;
323
324 Aws::String m_macAddress;
325
326 Aws::String m_ownerId;
327
328 Aws::Vector<SecondaryInterfaceIpv4Address> m_privateIpv4Addresses;
329
330 Aws::String m_secondaryInterfaceId;
331
332 Aws::String m_secondaryInterfaceArn;
333
335
336 Aws::String m_secondarySubnetId;
337
338 Aws::String m_secondaryNetworkId;
339
341
342 bool m_sourceDestCheck{false};
343
345
346 Aws::Vector<Tag> m_tags;
347 bool m_availabilityZoneHasBeenSet = false;
348 bool m_availabilityZoneIdHasBeenSet = false;
349 bool m_attachmentHasBeenSet = false;
350 bool m_macAddressHasBeenSet = false;
351 bool m_ownerIdHasBeenSet = false;
352 bool m_privateIpv4AddressesHasBeenSet = false;
353 bool m_secondaryInterfaceIdHasBeenSet = false;
354 bool m_secondaryInterfaceArnHasBeenSet = false;
355 bool m_secondaryInterfaceTypeHasBeenSet = false;
356 bool m_secondarySubnetIdHasBeenSet = false;
357 bool m_secondaryNetworkIdHasBeenSet = false;
358 bool m_secondaryNetworkTypeHasBeenSet = false;
359 bool m_sourceDestCheckHasBeenSet = false;
360 bool m_statusHasBeenSet = false;
361 bool m_tagsHasBeenSet = false;
362};
363
364} // namespace Model
365} // namespace EC2
366} // namespace Aws
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetStatus(SecondaryInterfaceStatus value)
const Aws::String & GetAvailabilityZone() const
AWS_EC2_API SecondaryInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< SecondaryInterfaceIpv4Address > & GetPrivateIpv4Addresses() const
SecondaryInterface & WithSourceDestCheck(bool value)
AWS_EC2_API SecondaryInterface()=default
SecondaryInterface & WithSecondaryInterfaceType(SecondaryInterfaceType value)
const Aws::Vector< Tag > & GetTags() const
SecondaryInterface & WithMacAddress(MacAddressT &&value)
SecondaryInterface & WithSecondarySubnetId(SecondarySubnetIdT &&value)
SecondaryInterface & WithStatus(SecondaryInterfaceStatus value)
void SetSecondaryInterfaceId(SecondaryInterfaceIdT &&value)
SecondaryInterface & AddPrivateIpv4Addresses(PrivateIpv4AddressesT &&value)
AWS_EC2_API SecondaryInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetMacAddress(MacAddressT &&value)
const SecondaryInterfaceAttachment & GetAttachment() const
void SetSecondaryNetworkId(SecondaryNetworkIdT &&value)
void SetSecondaryNetworkType(SecondaryNetworkType value)
const Aws::String & GetSecondaryInterfaceArn() const
SecondaryInterface & AddTags(TagsT &&value)
void SetSecondaryInterfaceType(SecondaryInterfaceType value)
const Aws::String & GetMacAddress() const
SecondaryInterface & WithSecondaryInterfaceArn(SecondaryInterfaceArnT &&value)
SecondaryInterface & WithAvailabilityZone(AvailabilityZoneT &&value)
SecondaryInterface & WithPrivateIpv4Addresses(PrivateIpv4AddressesT &&value)
SecondaryInterface & WithTags(TagsT &&value)
SecondaryInterface & WithOwnerId(OwnerIdT &&value)
SecondaryInterface & WithSecondaryNetworkType(SecondaryNetworkType value)
SecondaryInterfaceStatus GetStatus() const
const Aws::String & GetOwnerId() const
const Aws::String & GetSecondarySubnetId() const
const Aws::String & GetSecondaryInterfaceId() const
void SetAttachment(AttachmentT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
SecondaryInterface & WithSecondaryInterfaceId(SecondaryInterfaceIdT &&value)
const Aws::String & GetAvailabilityZoneId() const
SecondaryInterfaceType GetSecondaryInterfaceType() const
const Aws::String & GetSecondaryNetworkId() const
SecondaryInterface & WithAttachment(AttachmentT &&value)
void SetPrivateIpv4Addresses(PrivateIpv4AddressesT &&value)
void SetSecondaryInterfaceArn(SecondaryInterfaceArnT &&value)
SecondaryInterface & WithSecondaryNetworkId(SecondaryNetworkIdT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
SecondaryNetworkType GetSecondaryNetworkType() const
void SetSecondarySubnetId(SecondarySubnetIdT &&value)
SecondaryInterface & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream