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/AddressFamily.h>
13#include <aws/ec2/model/IpamPoolAwsService.h>
14#include <aws/ec2/model/IpamPoolPublicIpSource.h>
15#include <aws/ec2/model/IpamPoolSourceResourceRequest.h>
16#include <aws/ec2/model/RequestIpamResourceTag.h>
17#include <aws/ec2/model/TagSpecification.h>
53 m_dryRunHasBeenSet =
true;
68 template <
typename IpamScopeIdT = Aws::String>
70 m_ipamScopeIdHasBeenSet =
true;
71 m_ipamScopeId = std::forward<IpamScopeIdT>(value);
73 template <
typename IpamScopeIdT = Aws::String>
95 template <
typename LocaleT = Aws::String>
97 m_localeHasBeenSet =
true;
98 m_locale = std::forward<LocaleT>(value);
100 template <
typename LocaleT = Aws::String>
115 template <
typename SourceIpamPoolIdT = Aws::String>
117 m_sourceIpamPoolIdHasBeenSet =
true;
118 m_sourceIpamPoolId = std::forward<SourceIpamPoolIdT>(value);
120 template <
typename SourceIpamPoolIdT = Aws::String>
133 template <
typename DescriptionT = Aws::String>
135 m_descriptionHasBeenSet =
true;
136 m_description = std::forward<DescriptionT>(value);
138 template <
typename DescriptionT = Aws::String>
153 m_addressFamilyHasBeenSet =
true;
154 m_addressFamily = value;
178 m_autoImportHasBeenSet =
true;
179 m_autoImport = value;
196 m_publiclyAdvertisableHasBeenSet =
true;
197 m_publiclyAdvertisable = value;
215 m_allocationMinNetmaskLengthHasBeenSet =
true;
216 m_allocationMinNetmaskLength = value;
234 m_allocationMaxNetmaskLengthHasBeenSet =
true;
235 m_allocationMaxNetmaskLength = value;
252 m_allocationDefaultNetmaskLengthHasBeenSet =
true;
253 m_allocationDefaultNetmaskLength = value;
271 template <
typename AllocationResourceTagsT = Aws::Vector<RequestIpamResourceTag>>
273 m_allocationResourceTagsHasBeenSet =
true;
274 m_allocationResourceTags = std::forward<AllocationResourceTagsT>(value);
276 template <
typename AllocationResourceTagsT = Aws::Vector<RequestIpamResourceTag>>
281 template <
typename AllocationResourceTagsT = RequestIpamResourceTag>
283 m_allocationResourceTagsHasBeenSet =
true;
284 m_allocationResourceTags.emplace_back(std::forward<AllocationResourceTagsT>(value));
299 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
301 m_tagSpecificationsHasBeenSet =
true;
302 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
304 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
309 template <
typename TagSpecificationsT = TagSpecification>
311 m_tagSpecificationsHasBeenSet =
true;
312 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
326 template <
typename ClientTokenT = Aws::String>
328 m_clientTokenHasBeenSet =
true;
329 m_clientToken = std::forward<ClientTokenT>(value);
331 template <
typename ClientTokenT = Aws::String>
347 m_awsServiceHasBeenSet =
true;
348 m_awsService = value;
372 m_publicIpSourceHasBeenSet =
true;
373 m_publicIpSource = value;
387 template <
typename SourceResourceT = IpamPoolSourceResourceRequest>
389 m_sourceResourceHasBeenSet =
true;
390 m_sourceResource = std::forward<SourceResourceT>(value);
392 template <
typename SourceResourceT = IpamPoolSourceResourceRequest>
399 bool m_dryRun{
false};
411 bool m_autoImport{
false};
413 bool m_publiclyAdvertisable{
false};
415 int m_allocationMinNetmaskLength{0};
417 int m_allocationMaxNetmaskLength{0};
419 int m_allocationDefaultNetmaskLength{0};
431 IpamPoolSourceResourceRequest m_sourceResource;
432 bool m_dryRunHasBeenSet =
false;
433 bool m_ipamScopeIdHasBeenSet =
false;
434 bool m_localeHasBeenSet =
false;
435 bool m_sourceIpamPoolIdHasBeenSet =
false;
436 bool m_descriptionHasBeenSet =
false;
437 bool m_addressFamilyHasBeenSet =
false;
438 bool m_autoImportHasBeenSet =
false;
439 bool m_publiclyAdvertisableHasBeenSet =
false;
440 bool m_allocationMinNetmaskLengthHasBeenSet =
false;
441 bool m_allocationMaxNetmaskLengthHasBeenSet =
false;
442 bool m_allocationDefaultNetmaskLengthHasBeenSet =
false;
443 bool m_allocationResourceTagsHasBeenSet =
false;
444 bool m_tagSpecificationsHasBeenSet =
false;
445 bool m_clientTokenHasBeenSet =
true;
446 bool m_awsServiceHasBeenSet =
false;
447 bool m_publicIpSourceHasBeenSet =
false;
448 bool m_sourceResourceHasBeenSet =
false;
CreateIpamPoolRequest & AddAllocationResourceTags(AllocationResourceTagsT &&value)
CreateIpamPoolRequest & WithPublicIpSource(IpamPoolPublicIpSource value)
CreateIpamPoolRequest & WithDescription(DescriptionT &&value)
bool GetPubliclyAdvertisable() const
CreateIpamPoolRequest & WithClientToken(ClientTokenT &&value)
CreateIpamPoolRequest & WithIpamScopeId(IpamScopeIdT &&value)
AWS_EC2_API CreateIpamPoolRequest()=default
IpamPoolAwsService GetAwsService() const
const Aws::String & GetLocale() const
CreateIpamPoolRequest & WithLocale(LocaleT &&value)
CreateIpamPoolRequest & WithPubliclyAdvertisable(bool value)
void SetAllocationDefaultNetmaskLength(int value)
void SetAllocationMaxNetmaskLength(int value)
AWS_EC2_API Aws::String SerializePayload() const override
IpamPoolPublicIpSource GetPublicIpSource() const
int GetAllocationDefaultNetmaskLength() const
const Aws::String & GetDescription() const
void SetIpamScopeId(IpamScopeIdT &&value)
bool DryRunHasBeenSet() const
CreateIpamPoolRequest & WithSourceIpamPoolId(SourceIpamPoolIdT &&value)
const Aws::String & GetSourceIpamPoolId() const
virtual const char * GetServiceRequestName() const override
void SetAllocationMinNetmaskLength(int value)
void SetTagSpecifications(TagSpecificationsT &&value)
bool GetAutoImport() const
AddressFamily GetAddressFamily() const
CreateIpamPoolRequest & WithTagSpecifications(TagSpecificationsT &&value)
bool LocaleHasBeenSet() const
bool SourceResourceHasBeenSet() const
const Aws::Vector< RequestIpamResourceTag > & GetAllocationResourceTags() const
void SetAutoImport(bool value)
void SetPubliclyAdvertisable(bool value)
CreateIpamPoolRequest & WithAddressFamily(AddressFamily value)
int GetAllocationMinNetmaskLength() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateIpamPoolRequest & WithAllocationDefaultNetmaskLength(int value)
bool TagSpecificationsHasBeenSet() const
bool SourceIpamPoolIdHasBeenSet() const
CreateIpamPoolRequest & WithAllocationResourceTags(AllocationResourceTagsT &&value)
bool AutoImportHasBeenSet() const
const Aws::String & GetClientToken() const
bool IpamScopeIdHasBeenSet() const
void SetLocale(LocaleT &&value)
void SetAddressFamily(AddressFamily value)
const IpamPoolSourceResourceRequest & GetSourceResource() const
CreateIpamPoolRequest & WithAutoImport(bool value)
CreateIpamPoolRequest & WithSourceResource(SourceResourceT &&value)
bool PublicIpSourceHasBeenSet() const
void SetClientToken(ClientTokenT &&value)
void SetPublicIpSource(IpamPoolPublicIpSource value)
void SetDescription(DescriptionT &&value)
CreateIpamPoolRequest & WithAwsService(IpamPoolAwsService value)
bool DescriptionHasBeenSet() const
CreateIpamPoolRequest & WithDryRun(bool value)
CreateIpamPoolRequest & WithAllocationMinNetmaskLength(int value)
const Aws::String & GetIpamScopeId() const
bool AllocationDefaultNetmaskLengthHasBeenSet() const
bool AllocationMaxNetmaskLengthHasBeenSet() const
CreateIpamPoolRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetAwsService(IpamPoolAwsService value)
int GetAllocationMaxNetmaskLength() const
bool AddressFamilyHasBeenSet() const
bool AllocationMinNetmaskLengthHasBeenSet() const
bool PubliclyAdvertisableHasBeenSet() const
void SetSourceResource(SourceResourceT &&value)
bool AllocationResourceTagsHasBeenSet() const
void SetDryRun(bool value)
bool ClientTokenHasBeenSet() const
void SetAllocationResourceTags(AllocationResourceTagsT &&value)
CreateIpamPoolRequest & WithAllocationMaxNetmaskLength(int value)
bool AwsServiceHasBeenSet() const
void SetSourceIpamPoolId(SourceIpamPoolIdT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() 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