AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InstanceNetworkInterface.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/InstanceNetworkInterfaceAssociation.h>
10#include <aws/ec2/model/InstanceNetworkInterfaceAttachment.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ec2/model/NetworkInterfaceStatus.h>
14#include <aws/ec2/model/ConnectionTrackingSpecificationResponse.h>
15#include <aws/ec2/model/OperatorResponse.h>
16#include <aws/ec2/model/GroupIdentifier.h>
17#include <aws/ec2/model/InstanceIpv6Address.h>
18#include <aws/ec2/model/InstancePrivateIpAddress.h>
19#include <aws/ec2/model/InstanceIpv4Prefix.h>
20#include <aws/ec2/model/InstanceIpv6Prefix.h>
21#include <utility>
22
23namespace Aws
24{
25namespace Utils
26{
27namespace Xml
28{
29 class XmlNode;
30} // namespace Xml
31} // namespace Utils
32namespace EC2
33{
34namespace Model
35{
36
43 {
44 public:
45 AWS_EC2_API InstanceNetworkInterface() = default;
48
49 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
51
52
54
58 inline const InstanceNetworkInterfaceAssociation& GetAssociation() const { return m_association; }
59 inline bool AssociationHasBeenSet() const { return m_associationHasBeenSet; }
60 template<typename AssociationT = InstanceNetworkInterfaceAssociation>
61 void SetAssociation(AssociationT&& value) { m_associationHasBeenSet = true; m_association = std::forward<AssociationT>(value); }
62 template<typename AssociationT = InstanceNetworkInterfaceAssociation>
63 InstanceNetworkInterface& WithAssociation(AssociationT&& value) { SetAssociation(std::forward<AssociationT>(value)); return *this;}
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) { m_attachmentHasBeenSet = true; m_attachment = std::forward<AttachmentT>(value); }
74 template<typename AttachmentT = InstanceNetworkInterfaceAttachment>
75 InstanceNetworkInterface& WithAttachment(AttachmentT&& value) { SetAttachment(std::forward<AttachmentT>(value)); return *this;}
77
79
82 inline const Aws::String& GetDescription() const { return m_description; }
83 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
84 template<typename DescriptionT = Aws::String>
85 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
86 template<typename DescriptionT = Aws::String>
87 InstanceNetworkInterface& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
89
91
94 inline const Aws::Vector<GroupIdentifier>& GetGroups() const { return m_groups; }
95 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
96 template<typename GroupsT = Aws::Vector<GroupIdentifier>>
97 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
98 template<typename GroupsT = Aws::Vector<GroupIdentifier>>
99 InstanceNetworkInterface& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
100 template<typename GroupsT = GroupIdentifier>
101 InstanceNetworkInterface& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
103
105
108 inline const Aws::Vector<InstanceIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
109 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
110 template<typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
111 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
112 template<typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
113 InstanceNetworkInterface& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward<Ipv6AddressesT>(value)); return *this;}
114 template<typename Ipv6AddressesT = InstanceIpv6Address>
115 InstanceNetworkInterface& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value)); return *this; }
117
119
122 inline const Aws::String& GetMacAddress() const { return m_macAddress; }
123 inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; }
124 template<typename MacAddressT = Aws::String>
125 void SetMacAddress(MacAddressT&& value) { m_macAddressHasBeenSet = true; m_macAddress = std::forward<MacAddressT>(value); }
126 template<typename MacAddressT = Aws::String>
127 InstanceNetworkInterface& WithMacAddress(MacAddressT&& value) { SetMacAddress(std::forward<MacAddressT>(value)); return *this;}
129
131
134 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
135 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
136 template<typename NetworkInterfaceIdT = Aws::String>
137 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
138 template<typename NetworkInterfaceIdT = Aws::String>
139 InstanceNetworkInterface& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value)); return *this;}
141
143
147 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
148 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
149 template<typename OwnerIdT = Aws::String>
150 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::forward<OwnerIdT>(value); }
151 template<typename OwnerIdT = Aws::String>
152 InstanceNetworkInterface& WithOwnerId(OwnerIdT&& value) { SetOwnerId(std::forward<OwnerIdT>(value)); return *this;}
154
156
159 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
160 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
161 template<typename PrivateDnsNameT = Aws::String>
162 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
163 template<typename PrivateDnsNameT = Aws::String>
164 InstanceNetworkInterface& WithPrivateDnsName(PrivateDnsNameT&& value) { SetPrivateDnsName(std::forward<PrivateDnsNameT>(value)); return *this;}
166
168
171 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
172 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
173 template<typename PrivateIpAddressT = Aws::String>
174 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
175 template<typename PrivateIpAddressT = Aws::String>
176 InstanceNetworkInterface& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value)); return *this;}
178
180
183 inline const Aws::Vector<InstancePrivateIpAddress>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
184 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
185 template<typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
186 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
187 template<typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
188 InstanceNetworkInterface& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value)); return *this;}
189 template<typename PrivateIpAddressesT = InstancePrivateIpAddress>
190 InstanceNetworkInterface& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value)); return *this; }
192
194
197 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
198 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
199 inline void SetSourceDestCheck(bool value) { m_sourceDestCheckHasBeenSet = true; m_sourceDestCheck = value; }
200 inline InstanceNetworkInterface& WithSourceDestCheck(bool value) { SetSourceDestCheck(value); return *this;}
202
204
207 inline NetworkInterfaceStatus GetStatus() const { return m_status; }
208 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
209 inline void SetStatus(NetworkInterfaceStatus value) { m_statusHasBeenSet = true; m_status = value; }
212
214
217 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
218 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
219 template<typename SubnetIdT = Aws::String>
220 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
221 template<typename SubnetIdT = Aws::String>
222 InstanceNetworkInterface& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
224
226
229 inline const Aws::String& GetVpcId() const { return m_vpcId; }
230 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
231 template<typename VpcIdT = Aws::String>
232 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
233 template<typename VpcIdT = Aws::String>
234 InstanceNetworkInterface& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
236
238
243 inline const Aws::String& GetInterfaceType() const { return m_interfaceType; }
244 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
245 template<typename InterfaceTypeT = Aws::String>
246 void SetInterfaceType(InterfaceTypeT&& value) { m_interfaceTypeHasBeenSet = true; m_interfaceType = std::forward<InterfaceTypeT>(value); }
247 template<typename InterfaceTypeT = Aws::String>
248 InstanceNetworkInterface& WithInterfaceType(InterfaceTypeT&& value) { SetInterfaceType(std::forward<InterfaceTypeT>(value)); return *this;}
250
252
255 inline const Aws::Vector<InstanceIpv4Prefix>& GetIpv4Prefixes() const { return m_ipv4Prefixes; }
256 inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; }
257 template<typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
258 void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value); }
259 template<typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
260 InstanceNetworkInterface& WithIpv4Prefixes(Ipv4PrefixesT&& value) { SetIpv4Prefixes(std::forward<Ipv4PrefixesT>(value)); return *this;}
261 template<typename Ipv4PrefixesT = InstanceIpv4Prefix>
262 InstanceNetworkInterface& AddIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value)); return *this; }
264
266
269 inline const Aws::Vector<InstanceIpv6Prefix>& GetIpv6Prefixes() const { return m_ipv6Prefixes; }
270 inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; }
271 template<typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
272 void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value); }
273 template<typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
274 InstanceNetworkInterface& WithIpv6Prefixes(Ipv6PrefixesT&& value) { SetIpv6Prefixes(std::forward<Ipv6PrefixesT>(value)); return *this;}
275 template<typename Ipv6PrefixesT = InstanceIpv6Prefix>
276 InstanceNetworkInterface& AddIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value)); return *this; }
278
280
287 inline const ConnectionTrackingSpecificationResponse& GetConnectionTrackingConfiguration() const { return m_connectionTrackingConfiguration; }
288 inline bool ConnectionTrackingConfigurationHasBeenSet() const { return m_connectionTrackingConfigurationHasBeenSet; }
289 template<typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
290 void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) { m_connectionTrackingConfigurationHasBeenSet = true; m_connectionTrackingConfiguration = std::forward<ConnectionTrackingConfigurationT>(value); }
291 template<typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
292 InstanceNetworkInterface& WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) { SetConnectionTrackingConfiguration(std::forward<ConnectionTrackingConfigurationT>(value)); return *this;}
294
296
299 inline const OperatorResponse& GetOperator() const { return m_operator; }
300 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
301 template<typename OperatorT = OperatorResponse>
302 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet = true; m_operator = std::forward<OperatorT>(value); }
303 template<typename OperatorT = OperatorResponse>
304 InstanceNetworkInterface& WithOperator(OperatorT&& value) { SetOperator(std::forward<OperatorT>(value)); return *this;}
306 private:
307
309 bool m_associationHasBeenSet = false;
310
312 bool m_attachmentHasBeenSet = false;
313
314 Aws::String m_description;
315 bool m_descriptionHasBeenSet = false;
316
318 bool m_groupsHasBeenSet = false;
319
320 Aws::Vector<InstanceIpv6Address> m_ipv6Addresses;
321 bool m_ipv6AddressesHasBeenSet = false;
322
323 Aws::String m_macAddress;
324 bool m_macAddressHasBeenSet = false;
325
326 Aws::String m_networkInterfaceId;
327 bool m_networkInterfaceIdHasBeenSet = false;
328
329 Aws::String m_ownerId;
330 bool m_ownerIdHasBeenSet = false;
331
332 Aws::String m_privateDnsName;
333 bool m_privateDnsNameHasBeenSet = false;
334
335 Aws::String m_privateIpAddress;
336 bool m_privateIpAddressHasBeenSet = false;
337
338 Aws::Vector<InstancePrivateIpAddress> m_privateIpAddresses;
339 bool m_privateIpAddressesHasBeenSet = false;
340
341 bool m_sourceDestCheck{false};
342 bool m_sourceDestCheckHasBeenSet = false;
343
345 bool m_statusHasBeenSet = false;
346
347 Aws::String m_subnetId;
348 bool m_subnetIdHasBeenSet = false;
349
350 Aws::String m_vpcId;
351 bool m_vpcIdHasBeenSet = false;
352
353 Aws::String m_interfaceType;
354 bool m_interfaceTypeHasBeenSet = false;
355
356 Aws::Vector<InstanceIpv4Prefix> m_ipv4Prefixes;
357 bool m_ipv4PrefixesHasBeenSet = false;
358
359 Aws::Vector<InstanceIpv6Prefix> m_ipv6Prefixes;
360 bool m_ipv6PrefixesHasBeenSet = false;
361
362 ConnectionTrackingSpecificationResponse m_connectionTrackingConfiguration;
363 bool m_connectionTrackingConfigurationHasBeenSet = false;
364
365 OperatorResponse m_operator;
366 bool m_operatorHasBeenSet = false;
367 };
368
369} // namespace Model
370} // namespace EC2
371} // 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