7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/ConnectionTrackingSpecificationRequest.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/NetworkInterfaceCreationType.h>
17#include <aws/ec2/model/OperatorRequest.h>
18#include <aws/ec2/model/PrivateIpAddressSpecification.h>
19#include <aws/ec2/model/TagSpecification.h>
54 template <
typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
56 m_ipv4PrefixesHasBeenSet =
true;
57 m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value);
59 template <
typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
64 template <
typename Ipv4PrefixesT = Ipv4PrefixSpecificationRequest>
66 m_ipv4PrefixesHasBeenSet =
true;
67 m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
82 m_ipv4PrefixCountHasBeenSet =
true;
83 m_ipv4PrefixCount = value;
99 template <
typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
101 m_ipv6PrefixesHasBeenSet =
true;
102 m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value);
104 template <
typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
109 template <
typename Ipv6PrefixesT = Ipv6PrefixSpecificationRequest>
111 m_ipv6PrefixesHasBeenSet =
true;
112 m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
127 m_ipv6PrefixCountHasBeenSet =
true;
128 m_ipv6PrefixCount = value;
147 m_interfaceTypeHasBeenSet =
true;
148 m_interfaceType = value;
162 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
164 m_tagSpecificationsHasBeenSet =
true;
165 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
167 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
172 template <
typename TagSpecificationsT = TagSpecification>
174 m_tagSpecificationsHasBeenSet =
true;
175 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
189 template <
typename ClientTokenT = Aws::String>
191 m_clientTokenHasBeenSet =
true;
192 m_clientToken = std::forward<ClientTokenT>(value);
194 template <
typename ClientTokenT = Aws::String>
220 m_enablePrimaryIpv6HasBeenSet =
true;
221 m_enablePrimaryIpv6 = value;
234 return m_connectionTrackingSpecification;
237 template <
typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
239 m_connectionTrackingSpecificationHasBeenSet =
true;
240 m_connectionTrackingSpecification = std::forward<ConnectionTrackingSpecificationT>(value);
242 template <
typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
255 template <
typename OperatorT = OperatorRequest>
257 m_operatorHasBeenSet =
true;
258 m_operator = std::forward<OperatorT>(value);
260 template <
typename OperatorT = OperatorRequest>
273 template <
typename SubnetIdT = Aws::String>
275 m_subnetIdHasBeenSet =
true;
276 m_subnetId = std::forward<SubnetIdT>(value);
278 template <
typename SubnetIdT = Aws::String>
291 template <
typename DescriptionT = Aws::String>
293 m_descriptionHasBeenSet =
true;
294 m_description = std::forward<DescriptionT>(value);
296 template <
typename DescriptionT = Aws::String>
313 template <
typename PrivateIpAddressT = Aws::String>
315 m_privateIpAddressHasBeenSet =
true;
316 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
318 template <
typename PrivateIpAddressT = Aws::String>
331 template <
typename GroupsT = Aws::Vector<Aws::String>>
333 m_groupsHasBeenSet =
true;
334 m_groups = std::forward<GroupsT>(value);
336 template <
typename GroupsT = Aws::Vector<Aws::String>>
341 template <
typename GroupsT = Aws::String>
343 m_groupsHasBeenSet =
true;
344 m_groups.emplace_back(std::forward<GroupsT>(value));
357 template <
typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
359 m_privateIpAddressesHasBeenSet =
true;
360 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
362 template <
typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
367 template <
typename PrivateIpAddressesT = PrivateIpAddressSpecification>
369 m_privateIpAddressesHasBeenSet =
true;
370 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
388 m_secondaryPrivateIpAddressCountHasBeenSet =
true;
389 m_secondaryPrivateIpAddressCount = value;
406 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
408 m_ipv6AddressesHasBeenSet =
true;
409 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
411 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
416 template <
typename Ipv6AddressesT = InstanceIpv6Address>
418 m_ipv6AddressesHasBeenSet =
true;
419 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
437 m_ipv6AddressCountHasBeenSet =
true;
438 m_ipv6AddressCount = value;
456 m_dryRunHasBeenSet =
true;
467 int m_ipv4PrefixCount{0};
471 int m_ipv6PrefixCount{0};
479 bool m_enablePrimaryIpv6{
false};
481 ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification;
483 OperatorRequest m_operator;
495 int m_secondaryPrivateIpAddressCount{0};
499 int m_ipv6AddressCount{0};
501 bool m_dryRun{
false};
502 bool m_ipv4PrefixesHasBeenSet =
false;
503 bool m_ipv4PrefixCountHasBeenSet =
false;
504 bool m_ipv6PrefixesHasBeenSet =
false;
505 bool m_ipv6PrefixCountHasBeenSet =
false;
506 bool m_interfaceTypeHasBeenSet =
false;
507 bool m_tagSpecificationsHasBeenSet =
false;
508 bool m_clientTokenHasBeenSet =
true;
509 bool m_enablePrimaryIpv6HasBeenSet =
false;
510 bool m_connectionTrackingSpecificationHasBeenSet =
false;
511 bool m_operatorHasBeenSet =
false;
512 bool m_subnetIdHasBeenSet =
false;
513 bool m_descriptionHasBeenSet =
false;
514 bool m_privateIpAddressHasBeenSet =
false;
515 bool m_groupsHasBeenSet =
false;
516 bool m_privateIpAddressesHasBeenSet =
false;
517 bool m_secondaryPrivateIpAddressCountHasBeenSet =
false;
518 bool m_ipv6AddressesHasBeenSet =
false;
519 bool m_ipv6AddressCountHasBeenSet =
false;
520 bool m_dryRunHasBeenSet =
false;
void SetIpv4PrefixCount(int value)
const Aws::Vector< Aws::String > & GetGroups() const
CreateNetworkInterfaceRequest & WithSecondaryPrivateIpAddressCount(int value)
const Aws::String & GetSubnetId() const
const Aws::String & GetClientToken() const
CreateNetworkInterfaceRequest & WithPrivateIpAddress(PrivateIpAddressT &&value)
const Aws::Vector< PrivateIpAddressSpecification > & GetPrivateIpAddresses() const
void SetIpv6AddressCount(int value)
bool Ipv6AddressCountHasBeenSet() const
bool InterfaceTypeHasBeenSet() const
bool SecondaryPrivateIpAddressCountHasBeenSet() const
bool PrivateIpAddressHasBeenSet() const
bool ClientTokenHasBeenSet() const
void SetPrivateIpAddress(PrivateIpAddressT &&value)
void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
const Aws::Vector< Ipv6PrefixSpecificationRequest > & GetIpv6Prefixes() const
void SetDryRun(bool value)
CreateNetworkInterfaceRequest & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
CreateNetworkInterfaceRequest & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
CreateNetworkInterfaceRequest & WithIpv4PrefixCount(int value)
CreateNetworkInterfaceRequest & WithIpv6AddressCount(int value)
bool TagSpecificationsHasBeenSet() const
void SetIpv6Prefixes(Ipv6PrefixesT &&value)
NetworkInterfaceCreationType GetInterfaceType() const
CreateNetworkInterfaceRequest & WithTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateNetworkInterfaceRequest & WithOperator(OperatorT &&value)
int GetSecondaryPrivateIpAddressCount() const
bool GetEnablePrimaryIpv6() const
CreateNetworkInterfaceRequest & WithClientToken(ClientTokenT &&value)
CreateNetworkInterfaceRequest & AddIpv4Prefixes(Ipv4PrefixesT &&value)
const ConnectionTrackingSpecificationRequest & GetConnectionTrackingSpecification() const
void SetIpv6PrefixCount(int value)
CreateNetworkInterfaceRequest & WithEnablePrimaryIpv6(bool value)
CreateNetworkInterfaceRequest & WithDryRun(bool value)
bool OperatorHasBeenSet() const
CreateNetworkInterfaceRequest & WithIpv4Prefixes(Ipv4PrefixesT &&value)
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
bool DescriptionHasBeenSet() const
const OperatorRequest & GetOperator() const
CreateNetworkInterfaceRequest & WithIpv6PrefixCount(int value)
CreateNetworkInterfaceRequest & WithSubnetId(SubnetIdT &&value)
void SetClientToken(ClientTokenT &&value)
bool Ipv6PrefixCountHasBeenSet() const
const Aws::String & GetPrivateIpAddress() const
bool Ipv4PrefixesHasBeenSet() const
bool ConnectionTrackingSpecificationHasBeenSet() const
CreateNetworkInterfaceRequest & WithIpv6Addresses(Ipv6AddressesT &&value)
CreateNetworkInterfaceRequest & AddIpv6Addresses(Ipv6AddressesT &&value)
int GetIpv4PrefixCount() const
bool Ipv6AddressesHasBeenSet() const
int GetIpv6PrefixCount() const
CreateNetworkInterfaceRequest & AddIpv6Prefixes(Ipv6PrefixesT &&value)
void SetSecondaryPrivateIpAddressCount(int value)
bool Ipv4PrefixCountHasBeenSet() const
CreateNetworkInterfaceRequest & WithInterfaceType(NetworkInterfaceCreationType value)
CreateNetworkInterfaceRequest & WithGroups(GroupsT &&value)
CreateNetworkInterfaceRequest & WithDescription(DescriptionT &&value)
void SetDescription(DescriptionT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
bool DryRunHasBeenSet() const
CreateNetworkInterfaceRequest & AddTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API CreateNetworkInterfaceRequest()=default
void SetSubnetId(SubnetIdT &&value)
void SetInterfaceType(NetworkInterfaceCreationType value)
void SetIpv6Addresses(Ipv6AddressesT &&value)
bool SubnetIdHasBeenSet() const
CreateNetworkInterfaceRequest & WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
CreateNetworkInterfaceRequest & AddGroups(GroupsT &&value)
void SetGroups(GroupsT &&value)
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetOperator(OperatorT &&value)
bool PrivateIpAddressesHasBeenSet() const
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
bool Ipv6PrefixesHasBeenSet() const
const Aws::Vector< Ipv4PrefixSpecificationRequest > & GetIpv4Prefixes() const
int GetIpv6AddressCount() const
void SetIpv4Prefixes(Ipv4PrefixesT &&value)
virtual const char * GetServiceRequestName() const override
void SetEnablePrimaryIpv6(bool value)
const Aws::String & GetDescription() const
bool GroupsHasBeenSet() const
bool EnablePrimaryIpv6HasBeenSet() const
CreateNetworkInterfaceRequest & WithIpv6Prefixes(Ipv6PrefixesT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
NetworkInterfaceCreationType
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector