AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InstanceNetworkInterfaceSpecification.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/EnaSrdSpecificationRequest.h>
12#include <aws/ec2/model/ConnectionTrackingSpecificationRequest.h>
13#include <aws/ec2/model/InstanceIpv6Address.h>
14#include <aws/ec2/model/PrivateIpAddressSpecification.h>
15#include <aws/ec2/model/Ipv4PrefixSpecificationRequest.h>
16#include <aws/ec2/model/Ipv6PrefixSpecificationRequest.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Xml
24{
25 class XmlNode;
26} // namespace Xml
27} // namespace Utils
28namespace EC2
29{
30namespace Model
31{
32
39 {
40 public:
44
45 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
46 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
47
48
50
61 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
62 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
63 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
66
68
73 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
74 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
75 inline void SetDeleteOnTermination(bool value) { m_deleteOnTerminationHasBeenSet = true; m_deleteOnTermination = value; }
78
80
84 inline const Aws::String& GetDescription() const { return m_description; }
85 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
86 template<typename DescriptionT = Aws::String>
87 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
88 template<typename DescriptionT = Aws::String>
89 InstanceNetworkInterfaceSpecification& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
91
93
98 inline int GetDeviceIndex() const { return m_deviceIndex; }
99 inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; }
100 inline void SetDeviceIndex(int value) { m_deviceIndexHasBeenSet = true; m_deviceIndex = value; }
101 inline InstanceNetworkInterfaceSpecification& WithDeviceIndex(int value) { SetDeviceIndex(value); return *this;}
103
105
109 inline const Aws::Vector<Aws::String>& GetGroups() const { return m_groups; }
110 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
111 template<typename GroupsT = Aws::Vector<Aws::String>>
112 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
113 template<typename GroupsT = Aws::Vector<Aws::String>>
114 InstanceNetworkInterfaceSpecification& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
115 template<typename GroupsT = Aws::String>
116 InstanceNetworkInterfaceSpecification& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
118
120
127 inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; }
128 inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; }
129 inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; }
132
134
140 inline const Aws::Vector<InstanceIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
141 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
142 template<typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
143 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
144 template<typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
145 InstanceNetworkInterfaceSpecification& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward<Ipv6AddressesT>(value)); return *this;}
146 template<typename Ipv6AddressesT = InstanceIpv6Address>
147 InstanceNetworkInterfaceSpecification& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value)); return *this; }
149
151
156 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
157 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
158 template<typename NetworkInterfaceIdT = Aws::String>
159 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
160 template<typename NetworkInterfaceIdT = Aws::String>
161 InstanceNetworkInterfaceSpecification& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value)); return *this;}
163
165
172 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
173 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
174 template<typename PrivateIpAddressT = Aws::String>
175 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
176 template<typename PrivateIpAddressT = Aws::String>
177 InstanceNetworkInterfaceSpecification& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value)); return *this;}
179
181
188 inline const Aws::Vector<PrivateIpAddressSpecification>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
189 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
190 template<typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
191 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
192 template<typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
193 InstanceNetworkInterfaceSpecification& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value)); return *this;}
194 template<typename PrivateIpAddressesT = PrivateIpAddressSpecification>
195 InstanceNetworkInterfaceSpecification& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value)); return *this; }
197
199
204 inline int GetSecondaryPrivateIpAddressCount() const { return m_secondaryPrivateIpAddressCount; }
205 inline bool SecondaryPrivateIpAddressCountHasBeenSet() const { return m_secondaryPrivateIpAddressCountHasBeenSet; }
206 inline void SetSecondaryPrivateIpAddressCount(int value) { m_secondaryPrivateIpAddressCountHasBeenSet = true; m_secondaryPrivateIpAddressCount = value; }
209
211
215 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
216 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
217 template<typename SubnetIdT = Aws::String>
218 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
219 template<typename SubnetIdT = Aws::String>
220 InstanceNetworkInterfaceSpecification& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
222
224
232 inline bool GetAssociateCarrierIpAddress() const { return m_associateCarrierIpAddress; }
233 inline bool AssociateCarrierIpAddressHasBeenSet() const { return m_associateCarrierIpAddressHasBeenSet; }
234 inline void SetAssociateCarrierIpAddress(bool value) { m_associateCarrierIpAddressHasBeenSet = true; m_associateCarrierIpAddress = value; }
237
239
245 inline const Aws::String& GetInterfaceType() const { return m_interfaceType; }
246 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
247 template<typename InterfaceTypeT = Aws::String>
248 void SetInterfaceType(InterfaceTypeT&& value) { m_interfaceTypeHasBeenSet = true; m_interfaceType = std::forward<InterfaceTypeT>(value); }
249 template<typename InterfaceTypeT = Aws::String>
250 InstanceNetworkInterfaceSpecification& WithInterfaceType(InterfaceTypeT&& value) { SetInterfaceType(std::forward<InterfaceTypeT>(value)); return *this;}
252
254
264 inline int GetNetworkCardIndex() const { return m_networkCardIndex; }
265 inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; }
266 inline void SetNetworkCardIndex(int value) { m_networkCardIndexHasBeenSet = true; m_networkCardIndex = value; }
269
271
275 inline const Aws::Vector<Ipv4PrefixSpecificationRequest>& GetIpv4Prefixes() const { return m_ipv4Prefixes; }
276 inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; }
277 template<typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
278 void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value); }
279 template<typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
280 InstanceNetworkInterfaceSpecification& WithIpv4Prefixes(Ipv4PrefixesT&& value) { SetIpv4Prefixes(std::forward<Ipv4PrefixesT>(value)); return *this;}
281 template<typename Ipv4PrefixesT = Ipv4PrefixSpecificationRequest>
282 InstanceNetworkInterfaceSpecification& AddIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value)); return *this; }
284
286
291 inline int GetIpv4PrefixCount() const { return m_ipv4PrefixCount; }
292 inline bool Ipv4PrefixCountHasBeenSet() const { return m_ipv4PrefixCountHasBeenSet; }
293 inline void SetIpv4PrefixCount(int value) { m_ipv4PrefixCountHasBeenSet = true; m_ipv4PrefixCount = value; }
296
298
302 inline const Aws::Vector<Ipv6PrefixSpecificationRequest>& GetIpv6Prefixes() const { return m_ipv6Prefixes; }
303 inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; }
304 template<typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
305 void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value); }
306 template<typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
307 InstanceNetworkInterfaceSpecification& WithIpv6Prefixes(Ipv6PrefixesT&& value) { SetIpv6Prefixes(std::forward<Ipv6PrefixesT>(value)); return *this;}
308 template<typename Ipv6PrefixesT = Ipv6PrefixSpecificationRequest>
309 InstanceNetworkInterfaceSpecification& AddIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value)); return *this; }
311
313
318 inline int GetIpv6PrefixCount() const { return m_ipv6PrefixCount; }
319 inline bool Ipv6PrefixCountHasBeenSet() const { return m_ipv6PrefixCountHasBeenSet; }
320 inline void SetIpv6PrefixCount(int value) { m_ipv6PrefixCountHasBeenSet = true; m_ipv6PrefixCount = value; }
323
325
332 inline bool GetPrimaryIpv6() const { return m_primaryIpv6; }
333 inline bool PrimaryIpv6HasBeenSet() const { return m_primaryIpv6HasBeenSet; }
334 inline void SetPrimaryIpv6(bool value) { m_primaryIpv6HasBeenSet = true; m_primaryIpv6 = value; }
335 inline InstanceNetworkInterfaceSpecification& WithPrimaryIpv6(bool value) { SetPrimaryIpv6(value); return *this;}
337
339
343 inline const EnaSrdSpecificationRequest& GetEnaSrdSpecification() const { return m_enaSrdSpecification; }
344 inline bool EnaSrdSpecificationHasBeenSet() const { return m_enaSrdSpecificationHasBeenSet; }
345 template<typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
346 void SetEnaSrdSpecification(EnaSrdSpecificationT&& value) { m_enaSrdSpecificationHasBeenSet = true; m_enaSrdSpecification = std::forward<EnaSrdSpecificationT>(value); }
347 template<typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
348 InstanceNetworkInterfaceSpecification& WithEnaSrdSpecification(EnaSrdSpecificationT&& value) { SetEnaSrdSpecification(std::forward<EnaSrdSpecificationT>(value)); return *this;}
350
352
359 inline const ConnectionTrackingSpecificationRequest& GetConnectionTrackingSpecification() const { return m_connectionTrackingSpecification; }
360 inline bool ConnectionTrackingSpecificationHasBeenSet() const { return m_connectionTrackingSpecificationHasBeenSet; }
361 template<typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
362 void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { m_connectionTrackingSpecificationHasBeenSet = true; m_connectionTrackingSpecification = std::forward<ConnectionTrackingSpecificationT>(value); }
363 template<typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
364 InstanceNetworkInterfaceSpecification& WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { SetConnectionTrackingSpecification(std::forward<ConnectionTrackingSpecificationT>(value)); return *this;}
366
368
371 inline int GetEnaQueueCount() const { return m_enaQueueCount; }
372 inline bool EnaQueueCountHasBeenSet() const { return m_enaQueueCountHasBeenSet; }
373 inline void SetEnaQueueCount(int value) { m_enaQueueCountHasBeenSet = true; m_enaQueueCount = value; }
376 private:
377
378 bool m_associatePublicIpAddress{false};
379 bool m_associatePublicIpAddressHasBeenSet = false;
380
381 bool m_deleteOnTermination{false};
382 bool m_deleteOnTerminationHasBeenSet = false;
383
384 Aws::String m_description;
385 bool m_descriptionHasBeenSet = false;
386
387 int m_deviceIndex{0};
388 bool m_deviceIndexHasBeenSet = false;
389
391 bool m_groupsHasBeenSet = false;
392
393 int m_ipv6AddressCount{0};
394 bool m_ipv6AddressCountHasBeenSet = false;
395
396 Aws::Vector<InstanceIpv6Address> m_ipv6Addresses;
397 bool m_ipv6AddressesHasBeenSet = false;
398
399 Aws::String m_networkInterfaceId;
400 bool m_networkInterfaceIdHasBeenSet = false;
401
402 Aws::String m_privateIpAddress;
403 bool m_privateIpAddressHasBeenSet = false;
404
406 bool m_privateIpAddressesHasBeenSet = false;
407
408 int m_secondaryPrivateIpAddressCount{0};
409 bool m_secondaryPrivateIpAddressCountHasBeenSet = false;
410
411 Aws::String m_subnetId;
412 bool m_subnetIdHasBeenSet = false;
413
414 bool m_associateCarrierIpAddress{false};
415 bool m_associateCarrierIpAddressHasBeenSet = false;
416
417 Aws::String m_interfaceType;
418 bool m_interfaceTypeHasBeenSet = false;
419
420 int m_networkCardIndex{0};
421 bool m_networkCardIndexHasBeenSet = false;
422
424 bool m_ipv4PrefixesHasBeenSet = false;
425
426 int m_ipv4PrefixCount{0};
427 bool m_ipv4PrefixCountHasBeenSet = false;
428
430 bool m_ipv6PrefixesHasBeenSet = false;
431
432 int m_ipv6PrefixCount{0};
433 bool m_ipv6PrefixCountHasBeenSet = false;
434
435 bool m_primaryIpv6{false};
436 bool m_primaryIpv6HasBeenSet = false;
437
438 EnaSrdSpecificationRequest m_enaSrdSpecification;
439 bool m_enaSrdSpecificationHasBeenSet = false;
440
441 ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification;
442 bool m_connectionTrackingSpecificationHasBeenSet = false;
443
444 int m_enaQueueCount{0};
445 bool m_enaQueueCountHasBeenSet = false;
446 };
447
448} // namespace Model
449} // namespace EC2
450} // 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