7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/ConnectivityType.h>
12#include <aws/ec2/model/TagSpecification.h>
14#include <aws/core/utils/UUID.h>
52 template<
typename AllocationIdT = Aws::String>
53 void SetAllocationId(AllocationIdT&& value) { m_allocationIdHasBeenSet =
true; m_allocationId = std::forward<AllocationIdT>(value); }
54 template<
typename AllocationIdT = Aws::String>
67 template<
typename ClientTokenT = Aws::String>
68 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
69 template<
typename ClientTokenT = Aws::String>
82 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
92 template<
typename SubnetIdT = Aws::String>
93 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
94 template<
typename SubnetIdT = Aws::String>
104 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
105 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
106 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
108 template<
typename TagSpecificationsT = TagSpecification>
130 template<
typename PrivateIpAddressT = Aws::String>
131 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet =
true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
132 template<
typename PrivateIpAddressT = Aws::String>
144 template<
typename SecondaryAllocationIdsT = Aws::Vector<Aws::String>>
145 void SetSecondaryAllocationIds(SecondaryAllocationIdsT&& value) { m_secondaryAllocationIdsHasBeenSet =
true; m_secondaryAllocationIds = std::forward<SecondaryAllocationIdsT>(value); }
146 template<
typename SecondaryAllocationIdsT = Aws::Vector<Aws::String>>
148 template<
typename SecondaryAllocationIdsT = Aws::String>
161 template<
typename SecondaryPrivateIpAddressesT = Aws::Vector<Aws::String>>
162 void SetSecondaryPrivateIpAddresses(SecondaryPrivateIpAddressesT&& value) { m_secondaryPrivateIpAddressesHasBeenSet =
true; m_secondaryPrivateIpAddresses = std::forward<SecondaryPrivateIpAddressesT>(value); }
163 template<
typename SecondaryPrivateIpAddressesT = Aws::Vector<Aws::String>>
165 template<
typename SecondaryPrivateIpAddressesT = Aws::String>
185 bool m_allocationIdHasBeenSet =
false;
188 bool m_clientTokenHasBeenSet =
true;
190 bool m_dryRun{
false};
191 bool m_dryRunHasBeenSet =
false;
194 bool m_subnetIdHasBeenSet =
false;
197 bool m_tagSpecificationsHasBeenSet =
false;
200 bool m_connectivityTypeHasBeenSet =
false;
203 bool m_privateIpAddressHasBeenSet =
false;
206 bool m_secondaryAllocationIdsHasBeenSet =
false;
209 bool m_secondaryPrivateIpAddressesHasBeenSet =
false;
211 int m_secondaryPrivateIpAddressCount{0};
212 bool m_secondaryPrivateIpAddressCountHasBeenSet =
false;
bool SecondaryPrivateIpAddressesHasBeenSet() const
const Aws::String & GetPrivateIpAddress() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const Aws::Vector< Aws::String > & GetSecondaryPrivateIpAddresses() const
void SetSubnetId(SubnetIdT &&value)
bool TagSpecificationsHasBeenSet() const
CreateNatGatewayRequest & WithTagSpecifications(TagSpecificationsT &&value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
CreateNatGatewayRequest & AddSecondaryAllocationIds(SecondaryAllocationIdsT &&value)
const Aws::String & GetClientToken() const
const Aws::String & GetAllocationId() const
AWS_EC2_API Aws::String SerializePayload() const override
virtual const char * GetServiceRequestName() const override
CreateNatGatewayRequest & WithConnectivityType(ConnectivityType value)
bool ConnectivityTypeHasBeenSet() const
void SetSecondaryAllocationIds(SecondaryAllocationIdsT &&value)
bool SecondaryAllocationIdsHasBeenSet() const
void SetClientToken(ClientTokenT &&value)
CreateNatGatewayRequest & WithDryRun(bool value)
bool AllocationIdHasBeenSet() const
const Aws::Vector< Aws::String > & GetSecondaryAllocationIds() const
bool ClientTokenHasBeenSet() const
CreateNatGatewayRequest & WithClientToken(ClientTokenT &&value)
CreateNatGatewayRequest & WithSecondaryPrivateIpAddresses(SecondaryPrivateIpAddressesT &&value)
bool SubnetIdHasBeenSet() const
CreateNatGatewayRequest & WithAllocationId(AllocationIdT &&value)
AWS_EC2_API CreateNatGatewayRequest()=default
CreateNatGatewayRequest & WithSecondaryAllocationIds(SecondaryAllocationIdsT &&value)
bool PrivateIpAddressHasBeenSet() const
void SetDryRun(bool value)
int GetSecondaryPrivateIpAddressCount() const
CreateNatGatewayRequest & WithSecondaryPrivateIpAddressCount(int value)
const Aws::String & GetSubnetId() const
void SetAllocationId(AllocationIdT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateNatGatewayRequest & WithPrivateIpAddress(PrivateIpAddressT &&value)
void SetConnectivityType(ConnectivityType value)
void SetTagSpecifications(TagSpecificationsT &&value)
bool DryRunHasBeenSet() const
ConnectivityType GetConnectivityType() const
void SetSecondaryPrivateIpAddresses(SecondaryPrivateIpAddressesT &&value)
void SetSecondaryPrivateIpAddressCount(int value)
CreateNatGatewayRequest & WithSubnetId(SubnetIdT &&value)
CreateNatGatewayRequest & AddSecondaryPrivateIpAddresses(SecondaryPrivateIpAddressesT &&value)
bool SecondaryPrivateIpAddressCountHasBeenSet() const
CreateNatGatewayRequest & AddTagSpecifications(TagSpecificationsT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector