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/AvailabilityMode.h>
13#include <aws/ec2/model/AvailabilityZoneAddress.h>
14#include <aws/ec2/model/ConnectivityType.h>
15#include <aws/ec2/model/TagSpecification.h>
56 m_availabilityModeHasBeenSet =
true;
57 m_availabilityMode = value;
74 template <
typename AllocationIdT = Aws::String>
76 m_allocationIdHasBeenSet =
true;
77 m_allocationId = std::forward<AllocationIdT>(value);
79 template <
typename AllocationIdT = Aws::String>
95 template <
typename ClientTokenT = Aws::String>
97 m_clientTokenHasBeenSet =
true;
98 m_clientToken = std::forward<ClientTokenT>(value);
100 template <
typename ClientTokenT = Aws::String>
117 m_dryRunHasBeenSet =
true;
132 template <
typename SubnetIdT = Aws::String>
134 m_subnetIdHasBeenSet =
true;
135 m_subnetId = std::forward<SubnetIdT>(value);
137 template <
typename SubnetIdT = Aws::String>
150 template <
typename VpcIdT = Aws::String>
152 m_vpcIdHasBeenSet =
true;
153 m_vpcId = std::forward<VpcIdT>(value);
155 template <
typename VpcIdT = Aws::String>
157 SetVpcId(std::forward<VpcIdT>(value));
180 template <
typename AvailabilityZoneAddressesT = Aws::Vector<AvailabilityZoneAddress>>
182 m_availabilityZoneAddressesHasBeenSet =
true;
183 m_availabilityZoneAddresses = std::forward<AvailabilityZoneAddressesT>(value);
185 template <
typename AvailabilityZoneAddressesT = Aws::Vector<AvailabilityZoneAddress>>
190 template <
typename AvailabilityZoneAddressesT = AvailabilityZoneAddress>
192 m_availabilityZoneAddressesHasBeenSet =
true;
193 m_availabilityZoneAddresses.emplace_back(std::forward<AvailabilityZoneAddressesT>(value));
204 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
206 m_tagSpecificationsHasBeenSet =
true;
207 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
209 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
214 template <
typename TagSpecificationsT = TagSpecification>
216 m_tagSpecificationsHasBeenSet =
true;
217 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
230 m_connectivityTypeHasBeenSet =
true;
231 m_connectivityType = value;
246 template <
typename PrivateIpAddressT = Aws::String>
248 m_privateIpAddressHasBeenSet =
true;
249 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
251 template <
typename PrivateIpAddressT = Aws::String>
266 template <
typename SecondaryAllocationIdsT = Aws::Vector<Aws::String>>
268 m_secondaryAllocationIdsHasBeenSet =
true;
269 m_secondaryAllocationIds = std::forward<SecondaryAllocationIdsT>(value);
271 template <
typename SecondaryAllocationIdsT = Aws::Vector<Aws::String>>
276 template <
typename SecondaryAllocationIdsT = Aws::String>
278 m_secondaryAllocationIdsHasBeenSet =
true;
279 m_secondaryAllocationIds.emplace_back(std::forward<SecondaryAllocationIdsT>(value));
293 template <
typename SecondaryPrivateIpAddressesT = Aws::Vector<Aws::String>>
295 m_secondaryPrivateIpAddressesHasBeenSet =
true;
296 m_secondaryPrivateIpAddresses = std::forward<SecondaryPrivateIpAddressesT>(value);
298 template <
typename SecondaryPrivateIpAddressesT = Aws::Vector<Aws::String>>
303 template <
typename SecondaryPrivateIpAddressesT = Aws::String>
305 m_secondaryPrivateIpAddressesHasBeenSet =
true;
306 m_secondaryPrivateIpAddresses.emplace_back(std::forward<SecondaryPrivateIpAddressesT>(value));
322 m_secondaryPrivateIpAddressCountHasBeenSet =
true;
323 m_secondaryPrivateIpAddressCount = value;
337 bool m_dryRun{
false};
355 int m_secondaryPrivateIpAddressCount{0};
356 bool m_availabilityModeHasBeenSet =
false;
357 bool m_allocationIdHasBeenSet =
false;
358 bool m_clientTokenHasBeenSet =
true;
359 bool m_dryRunHasBeenSet =
false;
360 bool m_subnetIdHasBeenSet =
false;
361 bool m_vpcIdHasBeenSet =
false;
362 bool m_availabilityZoneAddressesHasBeenSet =
false;
363 bool m_tagSpecificationsHasBeenSet =
false;
364 bool m_connectivityTypeHasBeenSet =
false;
365 bool m_privateIpAddressHasBeenSet =
false;
366 bool m_secondaryAllocationIdsHasBeenSet =
false;
367 bool m_secondaryPrivateIpAddressesHasBeenSet =
false;
368 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
CreateNatGatewayRequest & WithAvailabilityZoneAddresses(AvailabilityZoneAddressesT &&value)
void SetSubnetId(SubnetIdT &&value)
const Aws::Vector< AvailabilityZoneAddress > & GetAvailabilityZoneAddresses() const
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
const Aws::String & GetVpcId() const
virtual const char * GetServiceRequestName() const override
CreateNatGatewayRequest & AddAvailabilityZoneAddresses(AvailabilityZoneAddressesT &&value)
CreateNatGatewayRequest & WithConnectivityType(ConnectivityType value)
CreateNatGatewayRequest & WithVpcId(VpcIdT &&value)
bool ConnectivityTypeHasBeenSet() const
void SetSecondaryAllocationIds(SecondaryAllocationIdsT &&value)
bool SecondaryAllocationIdsHasBeenSet() const
void SetClientToken(ClientTokenT &&value)
CreateNatGatewayRequest & WithDryRun(bool value)
bool AllocationIdHasBeenSet() const
AvailabilityMode GetAvailabilityMode() const
void SetVpcId(VpcIdT &&value)
const Aws::Vector< Aws::String > & GetSecondaryAllocationIds() const
bool ClientTokenHasBeenSet() const
CreateNatGatewayRequest & WithClientToken(ClientTokenT &&value)
CreateNatGatewayRequest & WithSecondaryPrivateIpAddresses(SecondaryPrivateIpAddressesT &&value)
bool AvailabilityZoneAddressesHasBeenSet() const
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)
void SetAvailabilityZoneAddresses(AvailabilityZoneAddressesT &&value)
void SetAvailabilityMode(AvailabilityMode value)
bool AvailabilityModeHasBeenSet() const
CreateNatGatewayRequest & WithSubnetId(SubnetIdT &&value)
CreateNatGatewayRequest & WithAvailabilityMode(AvailabilityMode value)
CreateNatGatewayRequest & AddSecondaryPrivateIpAddresses(SecondaryPrivateIpAddressesT &&value)
bool SecondaryPrivateIpAddressCountHasBeenSet() const
CreateNatGatewayRequest & AddTagSpecifications(TagSpecificationsT &&value)
bool VpcIdHasBeenSet() const
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector