AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
NetworkInterface.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/ConnectionTrackingConfiguration.h>
12#include <aws/ec2/model/GroupIdentifier.h>
13#include <aws/ec2/model/Ipv4PrefixSpecification.h>
14#include <aws/ec2/model/Ipv6PrefixSpecification.h>
15#include <aws/ec2/model/NetworkInterfaceAssociation.h>
16#include <aws/ec2/model/NetworkInterfaceAttachment.h>
17#include <aws/ec2/model/NetworkInterfaceIpv6Address.h>
18#include <aws/ec2/model/NetworkInterfacePrivateIpAddress.h>
19#include <aws/ec2/model/NetworkInterfaceStatus.h>
20#include <aws/ec2/model/NetworkInterfaceType.h>
21#include <aws/ec2/model/OperatorResponse.h>
22#include <aws/ec2/model/PublicIpDnsNameOptions.h>
23#include <aws/ec2/model/Tag.h>
24
25#include <utility>
26
27namespace Aws {
28namespace Utils {
29namespace Xml {
30class XmlNode;
31} // namespace Xml
32} // namespace Utils
33namespace EC2 {
34namespace Model {
35
42 public:
43 AWS_EC2_API NetworkInterface() = default;
44 AWS_EC2_API NetworkInterface(const Aws::Utils::Xml::XmlNode& xmlNode);
46
47 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
49
51
55 inline const NetworkInterfaceAssociation& GetAssociation() const { return m_association; }
56 inline bool AssociationHasBeenSet() const { return m_associationHasBeenSet; }
57 template <typename AssociationT = NetworkInterfaceAssociation>
58 void SetAssociation(AssociationT&& value) {
59 m_associationHasBeenSet = true;
60 m_association = std::forward<AssociationT>(value);
61 }
62 template <typename AssociationT = NetworkInterfaceAssociation>
63 NetworkInterface& WithAssociation(AssociationT&& value) {
64 SetAssociation(std::forward<AssociationT>(value));
65 return *this;
66 }
68
70
73 inline const NetworkInterfaceAttachment& GetAttachment() const { return m_attachment; }
74 inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; }
75 template <typename AttachmentT = NetworkInterfaceAttachment>
76 void SetAttachment(AttachmentT&& value) {
77 m_attachmentHasBeenSet = true;
78 m_attachment = std::forward<AttachmentT>(value);
79 }
80 template <typename AttachmentT = NetworkInterfaceAttachment>
81 NetworkInterface& WithAttachment(AttachmentT&& value) {
82 SetAttachment(std::forward<AttachmentT>(value));
83 return *this;
84 }
86
88
91 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
92 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
93 template <typename AvailabilityZoneT = Aws::String>
94 void SetAvailabilityZone(AvailabilityZoneT&& value) {
95 m_availabilityZoneHasBeenSet = true;
96 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
97 }
98 template <typename AvailabilityZoneT = Aws::String>
99 NetworkInterface& WithAvailabilityZone(AvailabilityZoneT&& value) {
100 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
101 return *this;
102 }
104
106
113 inline const ConnectionTrackingConfiguration& GetConnectionTrackingConfiguration() const { return m_connectionTrackingConfiguration; }
114 inline bool ConnectionTrackingConfigurationHasBeenSet() const { return m_connectionTrackingConfigurationHasBeenSet; }
115 template <typename ConnectionTrackingConfigurationT = ConnectionTrackingConfiguration>
116 void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) {
117 m_connectionTrackingConfigurationHasBeenSet = true;
118 m_connectionTrackingConfiguration = std::forward<ConnectionTrackingConfigurationT>(value);
119 }
120 template <typename ConnectionTrackingConfigurationT = ConnectionTrackingConfiguration>
121 NetworkInterface& WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) {
122 SetConnectionTrackingConfiguration(std::forward<ConnectionTrackingConfigurationT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::String& GetDescription() const { return m_description; }
132 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
133 template <typename DescriptionT = Aws::String>
134 void SetDescription(DescriptionT&& value) {
135 m_descriptionHasBeenSet = true;
136 m_description = std::forward<DescriptionT>(value);
137 }
138 template <typename DescriptionT = Aws::String>
139 NetworkInterface& WithDescription(DescriptionT&& value) {
140 SetDescription(std::forward<DescriptionT>(value));
141 return *this;
142 }
144
146
149 inline const Aws::Vector<GroupIdentifier>& GetGroups() const { return m_groups; }
150 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
151 template <typename GroupsT = Aws::Vector<GroupIdentifier>>
152 void SetGroups(GroupsT&& value) {
153 m_groupsHasBeenSet = true;
154 m_groups = std::forward<GroupsT>(value);
155 }
156 template <typename GroupsT = Aws::Vector<GroupIdentifier>>
157 NetworkInterface& WithGroups(GroupsT&& value) {
158 SetGroups(std::forward<GroupsT>(value));
159 return *this;
160 }
161 template <typename GroupsT = GroupIdentifier>
162 NetworkInterface& AddGroups(GroupsT&& value) {
163 m_groupsHasBeenSet = true;
164 m_groups.emplace_back(std::forward<GroupsT>(value));
165 return *this;
166 }
168
170
173 inline NetworkInterfaceType GetInterfaceType() const { return m_interfaceType; }
174 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
176 m_interfaceTypeHasBeenSet = true;
177 m_interfaceType = value;
178 }
180 SetInterfaceType(value);
181 return *this;
182 }
184
186
189 inline const Aws::Vector<NetworkInterfaceIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
190 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
191 template <typename Ipv6AddressesT = Aws::Vector<NetworkInterfaceIpv6Address>>
192 void SetIpv6Addresses(Ipv6AddressesT&& value) {
193 m_ipv6AddressesHasBeenSet = true;
194 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
195 }
196 template <typename Ipv6AddressesT = Aws::Vector<NetworkInterfaceIpv6Address>>
197 NetworkInterface& WithIpv6Addresses(Ipv6AddressesT&& value) {
198 SetIpv6Addresses(std::forward<Ipv6AddressesT>(value));
199 return *this;
200 }
201 template <typename Ipv6AddressesT = NetworkInterfaceIpv6Address>
202 NetworkInterface& AddIpv6Addresses(Ipv6AddressesT&& value) {
203 m_ipv6AddressesHasBeenSet = true;
204 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
205 return *this;
206 }
208
210
213 inline const Aws::String& GetMacAddress() const { return m_macAddress; }
214 inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; }
215 template <typename MacAddressT = Aws::String>
216 void SetMacAddress(MacAddressT&& value) {
217 m_macAddressHasBeenSet = true;
218 m_macAddress = std::forward<MacAddressT>(value);
219 }
220 template <typename MacAddressT = Aws::String>
221 NetworkInterface& WithMacAddress(MacAddressT&& value) {
222 SetMacAddress(std::forward<MacAddressT>(value));
223 return *this;
224 }
226
228
231 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
232 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
233 template <typename NetworkInterfaceIdT = Aws::String>
234 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) {
235 m_networkInterfaceIdHasBeenSet = true;
236 m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value);
237 }
238 template <typename NetworkInterfaceIdT = Aws::String>
239 NetworkInterface& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) {
240 SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value));
241 return *this;
242 }
244
246
249 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
250 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
251 template <typename OutpostArnT = Aws::String>
252 void SetOutpostArn(OutpostArnT&& value) {
253 m_outpostArnHasBeenSet = true;
254 m_outpostArn = std::forward<OutpostArnT>(value);
255 }
256 template <typename OutpostArnT = Aws::String>
257 NetworkInterface& WithOutpostArn(OutpostArnT&& value) {
258 SetOutpostArn(std::forward<OutpostArnT>(value));
259 return *this;
260 }
262
264
267 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
268 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
269 template <typename OwnerIdT = Aws::String>
270 void SetOwnerId(OwnerIdT&& value) {
271 m_ownerIdHasBeenSet = true;
272 m_ownerId = std::forward<OwnerIdT>(value);
273 }
274 template <typename OwnerIdT = Aws::String>
275 NetworkInterface& WithOwnerId(OwnerIdT&& value) {
276 SetOwnerId(std::forward<OwnerIdT>(value));
277 return *this;
278 }
280
282
288 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
289 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
290 template <typename PrivateDnsNameT = Aws::String>
291 void SetPrivateDnsName(PrivateDnsNameT&& value) {
292 m_privateDnsNameHasBeenSet = true;
293 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
294 }
295 template <typename PrivateDnsNameT = Aws::String>
296 NetworkInterface& WithPrivateDnsName(PrivateDnsNameT&& value) {
297 SetPrivateDnsName(std::forward<PrivateDnsNameT>(value));
298 return *this;
299 }
301
303
309 inline const Aws::String& GetPublicDnsName() const { return m_publicDnsName; }
310 inline bool PublicDnsNameHasBeenSet() const { return m_publicDnsNameHasBeenSet; }
311 template <typename PublicDnsNameT = Aws::String>
312 void SetPublicDnsName(PublicDnsNameT&& value) {
313 m_publicDnsNameHasBeenSet = true;
314 m_publicDnsName = std::forward<PublicDnsNameT>(value);
315 }
316 template <typename PublicDnsNameT = Aws::String>
317 NetworkInterface& WithPublicDnsName(PublicDnsNameT&& value) {
318 SetPublicDnsName(std::forward<PublicDnsNameT>(value));
319 return *this;
320 }
322
324
330 inline const PublicIpDnsNameOptions& GetPublicIpDnsNameOptions() const { return m_publicIpDnsNameOptions; }
331 inline bool PublicIpDnsNameOptionsHasBeenSet() const { return m_publicIpDnsNameOptionsHasBeenSet; }
332 template <typename PublicIpDnsNameOptionsT = PublicIpDnsNameOptions>
333 void SetPublicIpDnsNameOptions(PublicIpDnsNameOptionsT&& value) {
334 m_publicIpDnsNameOptionsHasBeenSet = true;
335 m_publicIpDnsNameOptions = std::forward<PublicIpDnsNameOptionsT>(value);
336 }
337 template <typename PublicIpDnsNameOptionsT = PublicIpDnsNameOptions>
338 NetworkInterface& WithPublicIpDnsNameOptions(PublicIpDnsNameOptionsT&& value) {
339 SetPublicIpDnsNameOptions(std::forward<PublicIpDnsNameOptionsT>(value));
340 return *this;
341 }
343
345
348 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
349 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
350 template <typename PrivateIpAddressT = Aws::String>
351 void SetPrivateIpAddress(PrivateIpAddressT&& value) {
352 m_privateIpAddressHasBeenSet = true;
353 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
354 }
355 template <typename PrivateIpAddressT = Aws::String>
356 NetworkInterface& WithPrivateIpAddress(PrivateIpAddressT&& value) {
357 SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value));
358 return *this;
359 }
361
363
366 inline const Aws::Vector<NetworkInterfacePrivateIpAddress>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
367 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
368 template <typename PrivateIpAddressesT = Aws::Vector<NetworkInterfacePrivateIpAddress>>
369 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) {
370 m_privateIpAddressesHasBeenSet = true;
371 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
372 }
373 template <typename PrivateIpAddressesT = Aws::Vector<NetworkInterfacePrivateIpAddress>>
374 NetworkInterface& WithPrivateIpAddresses(PrivateIpAddressesT&& value) {
375 SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value));
376 return *this;
377 }
378 template <typename PrivateIpAddressesT = NetworkInterfacePrivateIpAddress>
379 NetworkInterface& AddPrivateIpAddresses(PrivateIpAddressesT&& value) {
380 m_privateIpAddressesHasBeenSet = true;
381 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
382 return *this;
383 }
385
387
390 inline const Aws::Vector<Ipv4PrefixSpecification>& GetIpv4Prefixes() const { return m_ipv4Prefixes; }
391 inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; }
392 template <typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecification>>
393 void SetIpv4Prefixes(Ipv4PrefixesT&& value) {
394 m_ipv4PrefixesHasBeenSet = true;
395 m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value);
396 }
397 template <typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecification>>
398 NetworkInterface& WithIpv4Prefixes(Ipv4PrefixesT&& value) {
399 SetIpv4Prefixes(std::forward<Ipv4PrefixesT>(value));
400 return *this;
401 }
402 template <typename Ipv4PrefixesT = Ipv4PrefixSpecification>
403 NetworkInterface& AddIpv4Prefixes(Ipv4PrefixesT&& value) {
404 m_ipv4PrefixesHasBeenSet = true;
405 m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
406 return *this;
407 }
409
411
414 inline const Aws::Vector<Ipv6PrefixSpecification>& GetIpv6Prefixes() const { return m_ipv6Prefixes; }
415 inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; }
416 template <typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecification>>
417 void SetIpv6Prefixes(Ipv6PrefixesT&& value) {
418 m_ipv6PrefixesHasBeenSet = true;
419 m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value);
420 }
421 template <typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecification>>
422 NetworkInterface& WithIpv6Prefixes(Ipv6PrefixesT&& value) {
423 SetIpv6Prefixes(std::forward<Ipv6PrefixesT>(value));
424 return *this;
425 }
426 template <typename Ipv6PrefixesT = Ipv6PrefixSpecification>
427 NetworkInterface& AddIpv6Prefixes(Ipv6PrefixesT&& value) {
428 m_ipv6PrefixesHasBeenSet = true;
429 m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
430 return *this;
431 }
433
435
439 inline const Aws::String& GetRequesterId() const { return m_requesterId; }
440 inline bool RequesterIdHasBeenSet() const { return m_requesterIdHasBeenSet; }
441 template <typename RequesterIdT = Aws::String>
442 void SetRequesterId(RequesterIdT&& value) {
443 m_requesterIdHasBeenSet = true;
444 m_requesterId = std::forward<RequesterIdT>(value);
445 }
446 template <typename RequesterIdT = Aws::String>
447 NetworkInterface& WithRequesterId(RequesterIdT&& value) {
448 SetRequesterId(std::forward<RequesterIdT>(value));
449 return *this;
450 }
452
454
458 inline bool GetRequesterManaged() const { return m_requesterManaged; }
459 inline bool RequesterManagedHasBeenSet() const { return m_requesterManagedHasBeenSet; }
460 inline void SetRequesterManaged(bool value) {
461 m_requesterManagedHasBeenSet = true;
462 m_requesterManaged = value;
463 }
465 SetRequesterManaged(value);
466 return *this;
467 }
469
471
474 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
475 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
476 inline void SetSourceDestCheck(bool value) {
477 m_sourceDestCheckHasBeenSet = true;
478 m_sourceDestCheck = value;
479 }
481 SetSourceDestCheck(value);
482 return *this;
483 }
485
487
490 inline NetworkInterfaceStatus GetStatus() const { return m_status; }
491 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
493 m_statusHasBeenSet = true;
494 m_status = value;
495 }
497 SetStatus(value);
498 return *this;
499 }
501
503
506 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
507 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
508 template <typename SubnetIdT = Aws::String>
509 void SetSubnetId(SubnetIdT&& value) {
510 m_subnetIdHasBeenSet = true;
511 m_subnetId = std::forward<SubnetIdT>(value);
512 }
513 template <typename SubnetIdT = Aws::String>
514 NetworkInterface& WithSubnetId(SubnetIdT&& value) {
515 SetSubnetId(std::forward<SubnetIdT>(value));
516 return *this;
517 }
519
521
524 inline const Aws::Vector<Tag>& GetTagSet() const { return m_tagSet; }
525 inline bool TagSetHasBeenSet() const { return m_tagSetHasBeenSet; }
526 template <typename TagSetT = Aws::Vector<Tag>>
527 void SetTagSet(TagSetT&& value) {
528 m_tagSetHasBeenSet = true;
529 m_tagSet = std::forward<TagSetT>(value);
530 }
531 template <typename TagSetT = Aws::Vector<Tag>>
532 NetworkInterface& WithTagSet(TagSetT&& value) {
533 SetTagSet(std::forward<TagSetT>(value));
534 return *this;
535 }
536 template <typename TagSetT = Tag>
537 NetworkInterface& AddTagSet(TagSetT&& value) {
538 m_tagSetHasBeenSet = true;
539 m_tagSet.emplace_back(std::forward<TagSetT>(value));
540 return *this;
541 }
543
545
548 inline const Aws::String& GetVpcId() const { return m_vpcId; }
549 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
550 template <typename VpcIdT = Aws::String>
551 void SetVpcId(VpcIdT&& value) {
552 m_vpcIdHasBeenSet = true;
553 m_vpcId = std::forward<VpcIdT>(value);
554 }
555 template <typename VpcIdT = Aws::String>
556 NetworkInterface& WithVpcId(VpcIdT&& value) {
557 SetVpcId(std::forward<VpcIdT>(value));
558 return *this;
559 }
561
563
571 inline bool GetDenyAllIgwTraffic() const { return m_denyAllIgwTraffic; }
572 inline bool DenyAllIgwTrafficHasBeenSet() const { return m_denyAllIgwTrafficHasBeenSet; }
573 inline void SetDenyAllIgwTraffic(bool value) {
574 m_denyAllIgwTrafficHasBeenSet = true;
575 m_denyAllIgwTraffic = value;
576 }
579 return *this;
580 }
582
584
587 inline bool GetIpv6Native() const { return m_ipv6Native; }
588 inline bool Ipv6NativeHasBeenSet() const { return m_ipv6NativeHasBeenSet; }
589 inline void SetIpv6Native(bool value) {
590 m_ipv6NativeHasBeenSet = true;
591 m_ipv6Native = value;
592 }
593 inline NetworkInterface& WithIpv6Native(bool value) {
594 SetIpv6Native(value);
595 return *this;
596 }
598
600
603 inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; }
604 inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; }
605 template <typename Ipv6AddressT = Aws::String>
606 void SetIpv6Address(Ipv6AddressT&& value) {
607 m_ipv6AddressHasBeenSet = true;
608 m_ipv6Address = std::forward<Ipv6AddressT>(value);
609 }
610 template <typename Ipv6AddressT = Aws::String>
611 NetworkInterface& WithIpv6Address(Ipv6AddressT&& value) {
612 SetIpv6Address(std::forward<Ipv6AddressT>(value));
613 return *this;
614 }
616
618
621 inline const OperatorResponse& GetOperator() const { return m_operator; }
622 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
623 template <typename OperatorT = OperatorResponse>
624 void SetOperator(OperatorT&& value) {
625 m_operatorHasBeenSet = true;
626 m_operator = std::forward<OperatorT>(value);
627 }
628 template <typename OperatorT = OperatorResponse>
629 NetworkInterface& WithOperator(OperatorT&& value) {
630 SetOperator(std::forward<OperatorT>(value));
631 return *this;
632 }
634
636
639 inline const Aws::Vector<Aws::String>& GetAssociatedSubnets() const { return m_associatedSubnets; }
640 inline bool AssociatedSubnetsHasBeenSet() const { return m_associatedSubnetsHasBeenSet; }
641 template <typename AssociatedSubnetsT = Aws::Vector<Aws::String>>
642 void SetAssociatedSubnets(AssociatedSubnetsT&& value) {
643 m_associatedSubnetsHasBeenSet = true;
644 m_associatedSubnets = std::forward<AssociatedSubnetsT>(value);
645 }
646 template <typename AssociatedSubnetsT = Aws::Vector<Aws::String>>
647 NetworkInterface& WithAssociatedSubnets(AssociatedSubnetsT&& value) {
648 SetAssociatedSubnets(std::forward<AssociatedSubnetsT>(value));
649 return *this;
650 }
651 template <typename AssociatedSubnetsT = Aws::String>
652 NetworkInterface& AddAssociatedSubnets(AssociatedSubnetsT&& value) {
653 m_associatedSubnetsHasBeenSet = true;
654 m_associatedSubnets.emplace_back(std::forward<AssociatedSubnetsT>(value));
655 return *this;
656 }
658
660
663 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
664 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
665 template <typename AvailabilityZoneIdT = Aws::String>
666 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
667 m_availabilityZoneIdHasBeenSet = true;
668 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
669 }
670 template <typename AvailabilityZoneIdT = Aws::String>
671 NetworkInterface& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
672 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
673 return *this;
674 }
676 private:
677 NetworkInterfaceAssociation m_association;
678
679 NetworkInterfaceAttachment m_attachment;
680
681 Aws::String m_availabilityZone;
682
683 ConnectionTrackingConfiguration m_connectionTrackingConfiguration;
684
685 Aws::String m_description;
686
688
690
692
693 Aws::String m_macAddress;
694
695 Aws::String m_networkInterfaceId;
696
697 Aws::String m_outpostArn;
698
699 Aws::String m_ownerId;
700
701 Aws::String m_privateDnsName;
702
703 Aws::String m_publicDnsName;
704
705 PublicIpDnsNameOptions m_publicIpDnsNameOptions;
706
707 Aws::String m_privateIpAddress;
708
710
712
714
715 Aws::String m_requesterId;
716
717 bool m_requesterManaged{false};
718
719 bool m_sourceDestCheck{false};
720
722
723 Aws::String m_subnetId;
724
725 Aws::Vector<Tag> m_tagSet;
726
727 Aws::String m_vpcId;
728
729 bool m_denyAllIgwTraffic{false};
730
731 bool m_ipv6Native{false};
732
733 Aws::String m_ipv6Address;
734
735 OperatorResponse m_operator;
736
737 Aws::Vector<Aws::String> m_associatedSubnets;
738
739 Aws::String m_availabilityZoneId;
740 bool m_associationHasBeenSet = false;
741 bool m_attachmentHasBeenSet = false;
742 bool m_availabilityZoneHasBeenSet = false;
743 bool m_connectionTrackingConfigurationHasBeenSet = false;
744 bool m_descriptionHasBeenSet = false;
745 bool m_groupsHasBeenSet = false;
746 bool m_interfaceTypeHasBeenSet = false;
747 bool m_ipv6AddressesHasBeenSet = false;
748 bool m_macAddressHasBeenSet = false;
749 bool m_networkInterfaceIdHasBeenSet = false;
750 bool m_outpostArnHasBeenSet = false;
751 bool m_ownerIdHasBeenSet = false;
752 bool m_privateDnsNameHasBeenSet = false;
753 bool m_publicDnsNameHasBeenSet = false;
754 bool m_publicIpDnsNameOptionsHasBeenSet = false;
755 bool m_privateIpAddressHasBeenSet = false;
756 bool m_privateIpAddressesHasBeenSet = false;
757 bool m_ipv4PrefixesHasBeenSet = false;
758 bool m_ipv6PrefixesHasBeenSet = false;
759 bool m_requesterIdHasBeenSet = false;
760 bool m_requesterManagedHasBeenSet = false;
761 bool m_sourceDestCheckHasBeenSet = false;
762 bool m_statusHasBeenSet = false;
763 bool m_subnetIdHasBeenSet = false;
764 bool m_tagSetHasBeenSet = false;
765 bool m_vpcIdHasBeenSet = false;
766 bool m_denyAllIgwTrafficHasBeenSet = false;
767 bool m_ipv6NativeHasBeenSet = false;
768 bool m_ipv6AddressHasBeenSet = false;
769 bool m_operatorHasBeenSet = false;
770 bool m_associatedSubnetsHasBeenSet = false;
771 bool m_availabilityZoneIdHasBeenSet = false;
772};
773
774} // namespace Model
775} // namespace EC2
776} // namespace Aws
const Aws::String & GetPrivateDnsName() const
void SetIpv6Addresses(Ipv6AddressesT &&value)
NetworkInterface & WithOperator(OperatorT &&value)
const Aws::String & GetVpcId() const
NetworkInterfaceStatus GetStatus() const
const Aws::String & GetRequesterId() const
NetworkInterface & WithGroups(GroupsT &&value)
NetworkInterface & WithStatus(NetworkInterfaceStatus value)
NetworkInterface & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
void SetInterfaceType(NetworkInterfaceType value)
const Aws::String & GetPrivateIpAddress() const
void SetNetworkInterfaceId(NetworkInterfaceIdT &&value)
NetworkInterface & AddGroups(GroupsT &&value)
NetworkInterface & WithDenyAllIgwTraffic(bool value)
AWS_EC2_API NetworkInterface()=default
void SetDescription(DescriptionT &&value)
const Aws::String & GetOwnerId() const
void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
void SetPublicDnsName(PublicDnsNameT &&value)
NetworkInterface & WithPrivateIpAddress(PrivateIpAddressT &&value)
void SetOperator(OperatorT &&value)
const OperatorResponse & GetOperator() const
const Aws::String & GetMacAddress() const
const PublicIpDnsNameOptions & GetPublicIpDnsNameOptions() const
AWS_EC2_API NetworkInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
NetworkInterface & WithInterfaceType(NetworkInterfaceType value)
NetworkInterface & WithIpv6Native(bool value)
const Aws::String & GetOutpostArn() const
void SetPrivateDnsName(PrivateDnsNameT &&value)
NetworkInterface & WithRequesterManaged(bool value)
NetworkInterface & WithTagSet(TagSetT &&value)
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
const Aws::String & GetAvailabilityZoneId() const
NetworkInterface & WithAttachment(AttachmentT &&value)
NetworkInterface & WithIpv6Prefixes(Ipv6PrefixesT &&value)
NetworkInterface & WithIpv6Address(Ipv6AddressT &&value)
const Aws::String & GetDescription() const
void SetAttachment(AttachmentT &&value)
NetworkInterface & WithPublicIpDnsNameOptions(PublicIpDnsNameOptionsT &&value)
void SetIpv4Prefixes(Ipv4PrefixesT &&value)
NetworkInterface & WithSubnetId(SubnetIdT &&value)
const Aws::String & GetNetworkInterfaceId() const
const Aws::Vector< Ipv4PrefixSpecification > & GetIpv4Prefixes() const
void SetPublicIpDnsNameOptions(PublicIpDnsNameOptionsT &&value)
const NetworkInterfaceAssociation & GetAssociation() const
NetworkInterface & AddIpv6Prefixes(Ipv6PrefixesT &&value)
void SetAssociation(AssociationT &&value)
void SetMacAddress(MacAddressT &&value)
void SetRequesterId(RequesterIdT &&value)
NetworkInterface & AddIpv4Prefixes(Ipv4PrefixesT &&value)
const Aws::Vector< Ipv6PrefixSpecification > & GetIpv6Prefixes() const
const Aws::Vector< NetworkInterfacePrivateIpAddress > & GetPrivateIpAddresses() const
void SetStatus(NetworkInterfaceStatus value)
void SetSubnetId(SubnetIdT &&value)
NetworkInterface & WithOutpostArn(OutpostArnT &&value)
const Aws::String & GetIpv6Address() const
void SetAssociatedSubnets(AssociatedSubnetsT &&value)
const Aws::String & GetAvailabilityZone() const
NetworkInterfaceType GetInterfaceType() const
const ConnectionTrackingConfiguration & GetConnectionTrackingConfiguration() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
NetworkInterface & WithMacAddress(MacAddressT &&value)
NetworkInterface & AddAssociatedSubnets(AssociatedSubnetsT &&value)
const Aws::String & GetSubnetId() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
NetworkInterface & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
const Aws::Vector< Aws::String > & GetAssociatedSubnets() const
NetworkInterface & WithAssociation(AssociationT &&value)
NetworkInterface & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
NetworkInterface & WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
NetworkInterface & WithIpv4Prefixes(Ipv4PrefixesT &&value)
NetworkInterface & WithDescription(DescriptionT &&value)
NetworkInterface & WithOwnerId(OwnerIdT &&value)
NetworkInterface & AddIpv6Addresses(Ipv6AddressesT &&value)
NetworkInterface & WithRequesterId(RequesterIdT &&value)
NetworkInterface & WithPrivateDnsName(PrivateDnsNameT &&value)
NetworkInterface & AddTagSet(TagSetT &&value)
NetworkInterface & WithAssociatedSubnets(AssociatedSubnetsT &&value)
NetworkInterface & WithIpv6Addresses(Ipv6AddressesT &&value)
const NetworkInterfaceAttachment & GetAttachment() const
void SetIpv6Address(Ipv6AddressT &&value)
AWS_EC2_API NetworkInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
NetworkInterface & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetIpv6Prefixes(Ipv6PrefixesT &&value)
NetworkInterface & WithSourceDestCheck(bool value)
const Aws::String & GetPublicDnsName() const
NetworkInterface & WithPublicDnsName(PublicDnsNameT &&value)
const Aws::Vector< NetworkInterfaceIpv6Address > & GetIpv6Addresses() const
const Aws::Vector< GroupIdentifier > & GetGroups() const
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
NetworkInterface & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
const Aws::Vector< Tag > & GetTagSet() const
NetworkInterface & WithVpcId(VpcIdT &&value)
void SetOutpostArn(OutpostArnT &&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