AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
InstanceNetworkInterface.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/ConnectionTrackingSpecificationResponse.h>
12#include <aws/ec2/model/GroupIdentifier.h>
13#include <aws/ec2/model/InstanceIpv4Prefix.h>
14#include <aws/ec2/model/InstanceIpv6Address.h>
15#include <aws/ec2/model/InstanceIpv6Prefix.h>
16#include <aws/ec2/model/InstanceNetworkInterfaceAssociation.h>
17#include <aws/ec2/model/InstanceNetworkInterfaceAttachment.h>
18#include <aws/ec2/model/InstancePrivateIpAddress.h>
19#include <aws/ec2/model/NetworkInterfaceStatus.h>
20#include <aws/ec2/model/OperatorResponse.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Utils {
26namespace Xml {
27class XmlNode;
28} // namespace Xml
29} // namespace Utils
30namespace EC2 {
31namespace Model {
32
39 public:
40 AWS_EC2_API InstanceNetworkInterface() = default;
43
44 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
46
48
52 inline const InstanceNetworkInterfaceAssociation& GetAssociation() const { return m_association; }
53 inline bool AssociationHasBeenSet() const { return m_associationHasBeenSet; }
54 template <typename AssociationT = InstanceNetworkInterfaceAssociation>
55 void SetAssociation(AssociationT&& value) {
56 m_associationHasBeenSet = true;
57 m_association = std::forward<AssociationT>(value);
58 }
59 template <typename AssociationT = InstanceNetworkInterfaceAssociation>
61 SetAssociation(std::forward<AssociationT>(value));
62 return *this;
63 }
65
67
70 inline const InstanceNetworkInterfaceAttachment& GetAttachment() const { return m_attachment; }
71 inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; }
72 template <typename AttachmentT = InstanceNetworkInterfaceAttachment>
73 void SetAttachment(AttachmentT&& value) {
74 m_attachmentHasBeenSet = true;
75 m_attachment = std::forward<AttachmentT>(value);
76 }
77 template <typename AttachmentT = InstanceNetworkInterfaceAttachment>
79 SetAttachment(std::forward<AttachmentT>(value));
80 return *this;
81 }
83
85
88 inline const Aws::String& GetDescription() const { return m_description; }
89 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
90 template <typename DescriptionT = Aws::String>
91 void SetDescription(DescriptionT&& value) {
92 m_descriptionHasBeenSet = true;
93 m_description = std::forward<DescriptionT>(value);
94 }
95 template <typename DescriptionT = Aws::String>
97 SetDescription(std::forward<DescriptionT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::Vector<GroupIdentifier>& GetGroups() const { return m_groups; }
107 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
108 template <typename GroupsT = Aws::Vector<GroupIdentifier>>
109 void SetGroups(GroupsT&& value) {
110 m_groupsHasBeenSet = true;
111 m_groups = std::forward<GroupsT>(value);
112 }
113 template <typename GroupsT = Aws::Vector<GroupIdentifier>>
115 SetGroups(std::forward<GroupsT>(value));
116 return *this;
117 }
118 template <typename GroupsT = GroupIdentifier>
120 m_groupsHasBeenSet = true;
121 m_groups.emplace_back(std::forward<GroupsT>(value));
122 return *this;
123 }
125
127
130 inline const Aws::Vector<InstanceIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
131 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
132 template <typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
133 void SetIpv6Addresses(Ipv6AddressesT&& value) {
134 m_ipv6AddressesHasBeenSet = true;
135 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
136 }
137 template <typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
139 SetIpv6Addresses(std::forward<Ipv6AddressesT>(value));
140 return *this;
141 }
142 template <typename Ipv6AddressesT = InstanceIpv6Address>
144 m_ipv6AddressesHasBeenSet = true;
145 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::String& GetMacAddress() const { return m_macAddress; }
155 inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; }
156 template <typename MacAddressT = Aws::String>
157 void SetMacAddress(MacAddressT&& value) {
158 m_macAddressHasBeenSet = true;
159 m_macAddress = std::forward<MacAddressT>(value);
160 }
161 template <typename MacAddressT = Aws::String>
163 SetMacAddress(std::forward<MacAddressT>(value));
164 return *this;
165 }
167
169
172 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
173 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
174 template <typename NetworkInterfaceIdT = Aws::String>
175 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) {
176 m_networkInterfaceIdHasBeenSet = true;
177 m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value);
178 }
179 template <typename NetworkInterfaceIdT = Aws::String>
180 InstanceNetworkInterface& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) {
181 SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value));
182 return *this;
183 }
185
187
191 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
192 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
193 template <typename OwnerIdT = Aws::String>
194 void SetOwnerId(OwnerIdT&& value) {
195 m_ownerIdHasBeenSet = true;
196 m_ownerId = std::forward<OwnerIdT>(value);
197 }
198 template <typename OwnerIdT = Aws::String>
200 SetOwnerId(std::forward<OwnerIdT>(value));
201 return *this;
202 }
204
206
209 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
210 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
211 template <typename PrivateDnsNameT = Aws::String>
212 void SetPrivateDnsName(PrivateDnsNameT&& value) {
213 m_privateDnsNameHasBeenSet = true;
214 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
215 }
216 template <typename PrivateDnsNameT = Aws::String>
218 SetPrivateDnsName(std::forward<PrivateDnsNameT>(value));
219 return *this;
220 }
222
224
227 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
228 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
229 template <typename PrivateIpAddressT = Aws::String>
230 void SetPrivateIpAddress(PrivateIpAddressT&& value) {
231 m_privateIpAddressHasBeenSet = true;
232 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
233 }
234 template <typename PrivateIpAddressT = Aws::String>
235 InstanceNetworkInterface& WithPrivateIpAddress(PrivateIpAddressT&& value) {
236 SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value));
237 return *this;
238 }
240
242
245 inline const Aws::Vector<InstancePrivateIpAddress>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
246 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
247 template <typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
248 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) {
249 m_privateIpAddressesHasBeenSet = true;
250 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
251 }
252 template <typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
253 InstanceNetworkInterface& WithPrivateIpAddresses(PrivateIpAddressesT&& value) {
254 SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value));
255 return *this;
256 }
257 template <typename PrivateIpAddressesT = InstancePrivateIpAddress>
258 InstanceNetworkInterface& AddPrivateIpAddresses(PrivateIpAddressesT&& value) {
259 m_privateIpAddressesHasBeenSet = true;
260 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
261 return *this;
262 }
264
266
269 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
270 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
271 inline void SetSourceDestCheck(bool value) {
272 m_sourceDestCheckHasBeenSet = true;
273 m_sourceDestCheck = value;
274 }
276 SetSourceDestCheck(value);
277 return *this;
278 }
280
282
285 inline NetworkInterfaceStatus GetStatus() const { return m_status; }
286 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
288 m_statusHasBeenSet = true;
289 m_status = value;
290 }
292 SetStatus(value);
293 return *this;
294 }
296
298
301 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
302 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
303 template <typename SubnetIdT = Aws::String>
304 void SetSubnetId(SubnetIdT&& value) {
305 m_subnetIdHasBeenSet = true;
306 m_subnetId = std::forward<SubnetIdT>(value);
307 }
308 template <typename SubnetIdT = Aws::String>
310 SetSubnetId(std::forward<SubnetIdT>(value));
311 return *this;
312 }
314
316
319 inline const Aws::String& GetVpcId() const { return m_vpcId; }
320 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
321 template <typename VpcIdT = Aws::String>
322 void SetVpcId(VpcIdT&& value) {
323 m_vpcIdHasBeenSet = true;
324 m_vpcId = std::forward<VpcIdT>(value);
325 }
326 template <typename VpcIdT = Aws::String>
328 SetVpcId(std::forward<VpcIdT>(value));
329 return *this;
330 }
332
334
339 inline const Aws::String& GetInterfaceType() const { return m_interfaceType; }
340 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
341 template <typename InterfaceTypeT = Aws::String>
342 void SetInterfaceType(InterfaceTypeT&& value) {
343 m_interfaceTypeHasBeenSet = true;
344 m_interfaceType = std::forward<InterfaceTypeT>(value);
345 }
346 template <typename InterfaceTypeT = Aws::String>
348 SetInterfaceType(std::forward<InterfaceTypeT>(value));
349 return *this;
350 }
352
354
357 inline const Aws::Vector<InstanceIpv4Prefix>& GetIpv4Prefixes() const { return m_ipv4Prefixes; }
358 inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; }
359 template <typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
360 void SetIpv4Prefixes(Ipv4PrefixesT&& value) {
361 m_ipv4PrefixesHasBeenSet = true;
362 m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value);
363 }
364 template <typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
366 SetIpv4Prefixes(std::forward<Ipv4PrefixesT>(value));
367 return *this;
368 }
369 template <typename Ipv4PrefixesT = InstanceIpv4Prefix>
371 m_ipv4PrefixesHasBeenSet = true;
372 m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
373 return *this;
374 }
376
378
381 inline const Aws::Vector<InstanceIpv6Prefix>& GetIpv6Prefixes() const { return m_ipv6Prefixes; }
382 inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; }
383 template <typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
384 void SetIpv6Prefixes(Ipv6PrefixesT&& value) {
385 m_ipv6PrefixesHasBeenSet = true;
386 m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value);
387 }
388 template <typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
390 SetIpv6Prefixes(std::forward<Ipv6PrefixesT>(value));
391 return *this;
392 }
393 template <typename Ipv6PrefixesT = InstanceIpv6Prefix>
395 m_ipv6PrefixesHasBeenSet = true;
396 m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
397 return *this;
398 }
400
402
410 return m_connectionTrackingConfiguration;
411 }
412 inline bool ConnectionTrackingConfigurationHasBeenSet() const { return m_connectionTrackingConfigurationHasBeenSet; }
413 template <typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
414 void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) {
415 m_connectionTrackingConfigurationHasBeenSet = true;
416 m_connectionTrackingConfiguration = std::forward<ConnectionTrackingConfigurationT>(value);
417 }
418 template <typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
419 InstanceNetworkInterface& WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) {
420 SetConnectionTrackingConfiguration(std::forward<ConnectionTrackingConfigurationT>(value));
421 return *this;
422 }
424
426
429 inline const OperatorResponse& GetOperator() const { return m_operator; }
430 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
431 template <typename OperatorT = OperatorResponse>
432 void SetOperator(OperatorT&& value) {
433 m_operatorHasBeenSet = true;
434 m_operator = std::forward<OperatorT>(value);
435 }
436 template <typename OperatorT = OperatorResponse>
438 SetOperator(std::forward<OperatorT>(value));
439 return *this;
440 }
442 private:
444
446
447 Aws::String m_description;
448
450
451 Aws::Vector<InstanceIpv6Address> m_ipv6Addresses;
452
453 Aws::String m_macAddress;
454
455 Aws::String m_networkInterfaceId;
456
457 Aws::String m_ownerId;
458
459 Aws::String m_privateDnsName;
460
461 Aws::String m_privateIpAddress;
462
463 Aws::Vector<InstancePrivateIpAddress> m_privateIpAddresses;
464
465 bool m_sourceDestCheck{false};
466
468
469 Aws::String m_subnetId;
470
471 Aws::String m_vpcId;
472
473 Aws::String m_interfaceType;
474
475 Aws::Vector<InstanceIpv4Prefix> m_ipv4Prefixes;
476
477 Aws::Vector<InstanceIpv6Prefix> m_ipv6Prefixes;
478
479 ConnectionTrackingSpecificationResponse m_connectionTrackingConfiguration;
480
481 OperatorResponse m_operator;
482 bool m_associationHasBeenSet = false;
483 bool m_attachmentHasBeenSet = false;
484 bool m_descriptionHasBeenSet = false;
485 bool m_groupsHasBeenSet = false;
486 bool m_ipv6AddressesHasBeenSet = false;
487 bool m_macAddressHasBeenSet = false;
488 bool m_networkInterfaceIdHasBeenSet = false;
489 bool m_ownerIdHasBeenSet = false;
490 bool m_privateDnsNameHasBeenSet = false;
491 bool m_privateIpAddressHasBeenSet = false;
492 bool m_privateIpAddressesHasBeenSet = false;
493 bool m_sourceDestCheckHasBeenSet = false;
494 bool m_statusHasBeenSet = false;
495 bool m_subnetIdHasBeenSet = false;
496 bool m_vpcIdHasBeenSet = false;
497 bool m_interfaceTypeHasBeenSet = false;
498 bool m_ipv4PrefixesHasBeenSet = false;
499 bool m_ipv6PrefixesHasBeenSet = false;
500 bool m_connectionTrackingConfigurationHasBeenSet = false;
501 bool m_operatorHasBeenSet = false;
502};
503
504} // namespace Model
505} // namespace EC2
506} // namespace Aws
const Aws::Vector< InstancePrivateIpAddress > & GetPrivateIpAddresses() const
InstanceNetworkInterface & WithSourceDestCheck(bool value)
InstanceNetworkInterface & WithPrivateIpAddress(PrivateIpAddressT &&value)
InstanceNetworkInterface & WithStatus(NetworkInterfaceStatus value)
const Aws::Vector< InstanceIpv4Prefix > & GetIpv4Prefixes() const
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
AWS_EC2_API InstanceNetworkInterface()=default
InstanceNetworkInterface & WithDescription(DescriptionT &&value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
InstanceNetworkInterface & WithVpcId(VpcIdT &&value)
InstanceNetworkInterface & WithIpv4Prefixes(Ipv4PrefixesT &&value)
InstanceNetworkInterface & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
InstanceNetworkInterface & WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
const InstanceNetworkInterfaceAssociation & GetAssociation() const
void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
const InstanceNetworkInterfaceAttachment & GetAttachment() const
InstanceNetworkInterface & AddIpv4Prefixes(Ipv4PrefixesT &&value)
AWS_EC2_API InstanceNetworkInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterface & AddGroups(GroupsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceNetworkInterface & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterface & WithAssociation(AssociationT &&value)
InstanceNetworkInterface & WithOperator(OperatorT &&value)
AWS_EC2_API InstanceNetworkInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterface & WithAttachment(AttachmentT &&value)
InstanceNetworkInterface & WithMacAddress(MacAddressT &&value)
const Aws::Vector< InstanceIpv6Prefix > & GetIpv6Prefixes() const
InstanceNetworkInterface & WithSubnetId(SubnetIdT &&value)
InstanceNetworkInterface & AddIpv6Prefixes(Ipv6PrefixesT &&value)
InstanceNetworkInterface & WithGroups(GroupsT &&value)
InstanceNetworkInterface & AddIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterface & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterface & WithPrivateDnsName(PrivateDnsNameT &&value)
InstanceNetworkInterface & WithInterfaceType(InterfaceTypeT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceNetworkInterface & WithOwnerId(OwnerIdT &&value)
InstanceNetworkInterface & WithIpv6Prefixes(Ipv6PrefixesT &&value)
const ConnectionTrackingSpecificationResponse & GetConnectionTrackingConfiguration() const
InstanceNetworkInterface & WithIpv6Addresses(Ipv6AddressesT &&value)
void SetStatus(NetworkInterfaceStatus value)
const Aws::Vector< GroupIdentifier > & GetGroups() const
void SetNetworkInterfaceId(NetworkInterfaceIdT &&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