AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
InstanceNetworkInterfaceSpecification.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/ConnectionTrackingSpecificationRequest.h>
12#include <aws/ec2/model/EnaSrdSpecificationRequest.h>
13#include <aws/ec2/model/InstanceIpv6Address.h>
14#include <aws/ec2/model/Ipv4PrefixSpecificationRequest.h>
15#include <aws/ec2/model/Ipv6PrefixSpecificationRequest.h>
16#include <aws/ec2/model/PrivateIpAddressSpecification.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:
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
55 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
56 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
57 inline void SetAssociatePublicIpAddress(bool value) {
58 m_associatePublicIpAddressHasBeenSet = true;
59 m_associatePublicIpAddress = value;
60 }
63 return *this;
64 }
66
68
73 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
74 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
75 inline void SetDeleteOnTermination(bool value) {
76 m_deleteOnTerminationHasBeenSet = true;
77 m_deleteOnTermination = value;
78 }
81 return *this;
82 }
84
86
90 inline const Aws::String& GetDescription() const { return m_description; }
91 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
92 template <typename DescriptionT = Aws::String>
93 void SetDescription(DescriptionT&& value) {
94 m_descriptionHasBeenSet = true;
95 m_description = std::forward<DescriptionT>(value);
96 }
97 template <typename DescriptionT = Aws::String>
99 SetDescription(std::forward<DescriptionT>(value));
100 return *this;
101 }
103
105
110 inline int GetDeviceIndex() const { return m_deviceIndex; }
111 inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; }
112 inline void SetDeviceIndex(int value) {
113 m_deviceIndexHasBeenSet = true;
114 m_deviceIndex = value;
115 }
117 SetDeviceIndex(value);
118 return *this;
119 }
121
123
127 inline const Aws::Vector<Aws::String>& GetGroups() const { return m_groups; }
128 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
129 template <typename GroupsT = Aws::Vector<Aws::String>>
130 void SetGroups(GroupsT&& value) {
131 m_groupsHasBeenSet = true;
132 m_groups = std::forward<GroupsT>(value);
133 }
134 template <typename GroupsT = Aws::Vector<Aws::String>>
136 SetGroups(std::forward<GroupsT>(value));
137 return *this;
138 }
139 template <typename GroupsT = Aws::String>
141 m_groupsHasBeenSet = true;
142 m_groups.emplace_back(std::forward<GroupsT>(value));
143 return *this;
144 }
146
148
155 inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; }
156 inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; }
157 inline void SetIpv6AddressCount(int value) {
158 m_ipv6AddressCountHasBeenSet = true;
159 m_ipv6AddressCount = value;
160 }
162 SetIpv6AddressCount(value);
163 return *this;
164 }
166
168
174 inline const Aws::Vector<InstanceIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
175 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
176 template <typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
177 void SetIpv6Addresses(Ipv6AddressesT&& value) {
178 m_ipv6AddressesHasBeenSet = true;
179 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
180 }
181 template <typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
183 SetIpv6Addresses(std::forward<Ipv6AddressesT>(value));
184 return *this;
185 }
186 template <typename Ipv6AddressesT = InstanceIpv6Address>
188 m_ipv6AddressesHasBeenSet = true;
189 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
190 return *this;
191 }
193
195
200 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
201 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
202 template <typename NetworkInterfaceIdT = Aws::String>
203 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) {
204 m_networkInterfaceIdHasBeenSet = true;
205 m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value);
206 }
207 template <typename NetworkInterfaceIdT = Aws::String>
209 SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value));
210 return *this;
211 }
213
215
222 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
223 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
224 template <typename PrivateIpAddressT = Aws::String>
225 void SetPrivateIpAddress(PrivateIpAddressT&& value) {
226 m_privateIpAddressHasBeenSet = true;
227 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
228 }
229 template <typename PrivateIpAddressT = Aws::String>
231 SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value));
232 return *this;
233 }
235
237
244 inline const Aws::Vector<PrivateIpAddressSpecification>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
245 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
246 template <typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
247 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) {
248 m_privateIpAddressesHasBeenSet = true;
249 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
250 }
251 template <typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
253 SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value));
254 return *this;
255 }
256 template <typename PrivateIpAddressesT = PrivateIpAddressSpecification>
258 m_privateIpAddressesHasBeenSet = true;
259 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
260 return *this;
261 }
263
265
270 inline int GetSecondaryPrivateIpAddressCount() const { return m_secondaryPrivateIpAddressCount; }
271 inline bool SecondaryPrivateIpAddressCountHasBeenSet() const { return m_secondaryPrivateIpAddressCountHasBeenSet; }
272 inline void SetSecondaryPrivateIpAddressCount(int value) {
273 m_secondaryPrivateIpAddressCountHasBeenSet = true;
274 m_secondaryPrivateIpAddressCount = value;
275 }
278 return *this;
279 }
281
283
287 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
288 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
289 template <typename SubnetIdT = Aws::String>
290 void SetSubnetId(SubnetIdT&& value) {
291 m_subnetIdHasBeenSet = true;
292 m_subnetId = std::forward<SubnetIdT>(value);
293 }
294 template <typename SubnetIdT = Aws::String>
296 SetSubnetId(std::forward<SubnetIdT>(value));
297 return *this;
298 }
300
302
310 inline bool GetAssociateCarrierIpAddress() const { return m_associateCarrierIpAddress; }
311 inline bool AssociateCarrierIpAddressHasBeenSet() const { return m_associateCarrierIpAddressHasBeenSet; }
312 inline void SetAssociateCarrierIpAddress(bool value) {
313 m_associateCarrierIpAddressHasBeenSet = true;
314 m_associateCarrierIpAddress = value;
315 }
318 return *this;
319 }
321
323
329 inline const Aws::String& GetInterfaceType() const { return m_interfaceType; }
330 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
331 template <typename InterfaceTypeT = Aws::String>
332 void SetInterfaceType(InterfaceTypeT&& value) {
333 m_interfaceTypeHasBeenSet = true;
334 m_interfaceType = std::forward<InterfaceTypeT>(value);
335 }
336 template <typename InterfaceTypeT = Aws::String>
338 SetInterfaceType(std::forward<InterfaceTypeT>(value));
339 return *this;
340 }
342
344
354 inline int GetNetworkCardIndex() const { return m_networkCardIndex; }
355 inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; }
356 inline void SetNetworkCardIndex(int value) {
357 m_networkCardIndexHasBeenSet = true;
358 m_networkCardIndex = value;
359 }
361 SetNetworkCardIndex(value);
362 return *this;
363 }
365
367
371 inline const Aws::Vector<Ipv4PrefixSpecificationRequest>& GetIpv4Prefixes() const { return m_ipv4Prefixes; }
372 inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; }
373 template <typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
374 void SetIpv4Prefixes(Ipv4PrefixesT&& value) {
375 m_ipv4PrefixesHasBeenSet = true;
376 m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value);
377 }
378 template <typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
380 SetIpv4Prefixes(std::forward<Ipv4PrefixesT>(value));
381 return *this;
382 }
383 template <typename Ipv4PrefixesT = Ipv4PrefixSpecificationRequest>
385 m_ipv4PrefixesHasBeenSet = true;
386 m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
387 return *this;
388 }
390
392
397 inline int GetIpv4PrefixCount() const { return m_ipv4PrefixCount; }
398 inline bool Ipv4PrefixCountHasBeenSet() const { return m_ipv4PrefixCountHasBeenSet; }
399 inline void SetIpv4PrefixCount(int value) {
400 m_ipv4PrefixCountHasBeenSet = true;
401 m_ipv4PrefixCount = value;
402 }
404 SetIpv4PrefixCount(value);
405 return *this;
406 }
408
410
414 inline const Aws::Vector<Ipv6PrefixSpecificationRequest>& GetIpv6Prefixes() const { return m_ipv6Prefixes; }
415 inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; }
416 template <typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
417 void SetIpv6Prefixes(Ipv6PrefixesT&& value) {
418 m_ipv6PrefixesHasBeenSet = true;
419 m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value);
420 }
421 template <typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
423 SetIpv6Prefixes(std::forward<Ipv6PrefixesT>(value));
424 return *this;
425 }
426 template <typename Ipv6PrefixesT = Ipv6PrefixSpecificationRequest>
428 m_ipv6PrefixesHasBeenSet = true;
429 m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
430 return *this;
431 }
433
435
440 inline int GetIpv6PrefixCount() const { return m_ipv6PrefixCount; }
441 inline bool Ipv6PrefixCountHasBeenSet() const { return m_ipv6PrefixCountHasBeenSet; }
442 inline void SetIpv6PrefixCount(int value) {
443 m_ipv6PrefixCountHasBeenSet = true;
444 m_ipv6PrefixCount = value;
445 }
447 SetIpv6PrefixCount(value);
448 return *this;
449 }
451
453
460 inline bool GetPrimaryIpv6() const { return m_primaryIpv6; }
461 inline bool PrimaryIpv6HasBeenSet() const { return m_primaryIpv6HasBeenSet; }
462 inline void SetPrimaryIpv6(bool value) {
463 m_primaryIpv6HasBeenSet = true;
464 m_primaryIpv6 = value;
465 }
467 SetPrimaryIpv6(value);
468 return *this;
469 }
471
473
477 inline const EnaSrdSpecificationRequest& GetEnaSrdSpecification() const { return m_enaSrdSpecification; }
478 inline bool EnaSrdSpecificationHasBeenSet() const { return m_enaSrdSpecificationHasBeenSet; }
479 template <typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
480 void SetEnaSrdSpecification(EnaSrdSpecificationT&& value) {
481 m_enaSrdSpecificationHasBeenSet = true;
482 m_enaSrdSpecification = std::forward<EnaSrdSpecificationT>(value);
483 }
484 template <typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
486 SetEnaSrdSpecification(std::forward<EnaSrdSpecificationT>(value));
487 return *this;
488 }
490
492
500 return m_connectionTrackingSpecification;
501 }
502 inline bool ConnectionTrackingSpecificationHasBeenSet() const { return m_connectionTrackingSpecificationHasBeenSet; }
503 template <typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
504 void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) {
505 m_connectionTrackingSpecificationHasBeenSet = true;
506 m_connectionTrackingSpecification = std::forward<ConnectionTrackingSpecificationT>(value);
507 }
508 template <typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
510 SetConnectionTrackingSpecification(std::forward<ConnectionTrackingSpecificationT>(value));
511 return *this;
512 }
514
516
519 inline int GetEnaQueueCount() const { return m_enaQueueCount; }
520 inline bool EnaQueueCountHasBeenSet() const { return m_enaQueueCountHasBeenSet; }
521 inline void SetEnaQueueCount(int value) {
522 m_enaQueueCountHasBeenSet = true;
523 m_enaQueueCount = value;
524 }
526 SetEnaQueueCount(value);
527 return *this;
528 }
530 private:
531 bool m_associatePublicIpAddress{false};
532
533 bool m_deleteOnTermination{false};
534
535 Aws::String m_description;
536
537 int m_deviceIndex{0};
538
540
541 int m_ipv6AddressCount{0};
542
543 Aws::Vector<InstanceIpv6Address> m_ipv6Addresses;
544
545 Aws::String m_networkInterfaceId;
546
547 Aws::String m_privateIpAddress;
548
550
551 int m_secondaryPrivateIpAddressCount{0};
552
553 Aws::String m_subnetId;
554
555 bool m_associateCarrierIpAddress{false};
556
557 Aws::String m_interfaceType;
558
559 int m_networkCardIndex{0};
560
562
563 int m_ipv4PrefixCount{0};
564
566
567 int m_ipv6PrefixCount{0};
568
569 bool m_primaryIpv6{false};
570
571 EnaSrdSpecificationRequest m_enaSrdSpecification;
572
573 ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification;
574
575 int m_enaQueueCount{0};
576 bool m_associatePublicIpAddressHasBeenSet = false;
577 bool m_deleteOnTerminationHasBeenSet = false;
578 bool m_descriptionHasBeenSet = false;
579 bool m_deviceIndexHasBeenSet = false;
580 bool m_groupsHasBeenSet = false;
581 bool m_ipv6AddressCountHasBeenSet = false;
582 bool m_ipv6AddressesHasBeenSet = false;
583 bool m_networkInterfaceIdHasBeenSet = false;
584 bool m_privateIpAddressHasBeenSet = false;
585 bool m_privateIpAddressesHasBeenSet = false;
586 bool m_secondaryPrivateIpAddressCountHasBeenSet = false;
587 bool m_subnetIdHasBeenSet = false;
588 bool m_associateCarrierIpAddressHasBeenSet = false;
589 bool m_interfaceTypeHasBeenSet = false;
590 bool m_networkCardIndexHasBeenSet = false;
591 bool m_ipv4PrefixesHasBeenSet = false;
592 bool m_ipv4PrefixCountHasBeenSet = false;
593 bool m_ipv6PrefixesHasBeenSet = false;
594 bool m_ipv6PrefixCountHasBeenSet = false;
595 bool m_primaryIpv6HasBeenSet = false;
596 bool m_enaSrdSpecificationHasBeenSet = false;
597 bool m_connectionTrackingSpecificationHasBeenSet = false;
598 bool m_enaQueueCountHasBeenSet = false;
599};
600
601} // namespace Model
602} // namespace EC2
603} // namespace Aws
InstanceNetworkInterfaceSpecification & AddIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterfaceSpecification & WithSecondaryPrivateIpAddressCount(int value)
InstanceNetworkInterfaceSpecification & AddIpv4Prefixes(Ipv4PrefixesT &&value)
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceNetworkInterfaceSpecification & WithIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterfaceSpecification & WithIpv4PrefixCount(int value)
InstanceNetworkInterfaceSpecification & WithIpv6PrefixCount(int value)
InstanceNetworkInterfaceSpecification & WithEnaSrdSpecification(EnaSrdSpecificationT &&value)
InstanceNetworkInterfaceSpecification & WithInterfaceType(InterfaceTypeT &&value)
InstanceNetworkInterfaceSpecification & WithDescription(DescriptionT &&value)
InstanceNetworkInterfaceSpecification & WithGroups(GroupsT &&value)
InstanceNetworkInterfaceSpecification & WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceNetworkInterfaceSpecification & WithIpv6Prefixes(Ipv6PrefixesT &&value)
const Aws::Vector< Ipv4PrefixSpecificationRequest > & GetIpv4Prefixes() const
InstanceNetworkInterfaceSpecification & WithAssociateCarrierIpAddress(bool value)
const ConnectionTrackingSpecificationRequest & GetConnectionTrackingSpecification() const
InstanceNetworkInterfaceSpecification & WithDeviceIndex(int value)
InstanceNetworkInterfaceSpecification & WithPrimaryIpv6(bool value)
InstanceNetworkInterfaceSpecification & WithSubnetId(SubnetIdT &&value)
InstanceNetworkInterfaceSpecification & WithPrivateIpAddress(PrivateIpAddressT &&value)
InstanceNetworkInterfaceSpecification & WithIpv4Prefixes(Ipv4PrefixesT &&value)
InstanceNetworkInterfaceSpecification & WithIpv6AddressCount(int value)
InstanceNetworkInterfaceSpecification & WithNetworkCardIndex(int value)
InstanceNetworkInterfaceSpecification & AddGroups(GroupsT &&value)
InstanceNetworkInterfaceSpecification & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
const Aws::Vector< Ipv6PrefixSpecificationRequest > & GetIpv6Prefixes() const
void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
InstanceNetworkInterfaceSpecification & WithEnaQueueCount(int value)
AWS_EC2_API InstanceNetworkInterfaceSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterfaceSpecification & AddIpv6Prefixes(Ipv6PrefixesT &&value)
const Aws::Vector< PrivateIpAddressSpecification > & GetPrivateIpAddresses() const
AWS_EC2_API InstanceNetworkInterfaceSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterfaceSpecification & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
InstanceNetworkInterfaceSpecification & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterfaceSpecification & WithDeleteOnTermination(bool value)
InstanceNetworkInterfaceSpecification & WithAssociatePublicIpAddress(bool 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