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/ec2/model/AddressFamily.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/IpamPoolAwsService.h>
13#include <aws/ec2/model/IpamPoolPublicIpSource.h>
14#include <aws/ec2/model/IpamPoolSourceResourceRequest.h>
15#include <aws/ec2/model/RequestIpamResourceTag.h>
16#include <aws/ec2/model/TagSpecification.h>
18#include <aws/core/utils/UUID.h>
56 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
66 template<
typename IpamScopeIdT = Aws::String>
67 void SetIpamScopeId(IpamScopeIdT&& value) { m_ipamScopeIdHasBeenSet =
true; m_ipamScopeId = std::forward<IpamScopeIdT>(value); }
68 template<
typename IpamScopeIdT = Aws::String>
87 template<
typename LocaleT = Aws::String>
88 void SetLocale(LocaleT&& value) { m_localeHasBeenSet =
true; m_locale = std::forward<LocaleT>(value); }
89 template<
typename LocaleT = Aws::String>
101 template<
typename SourceIpamPoolIdT = Aws::String>
102 void SetSourceIpamPoolId(SourceIpamPoolIdT&& value) { m_sourceIpamPoolIdHasBeenSet =
true; m_sourceIpamPoolId = std::forward<SourceIpamPoolIdT>(value); }
103 template<
typename SourceIpamPoolIdT = Aws::String>
113 template<
typename DescriptionT = Aws::String>
114 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
115 template<
typename DescriptionT = Aws::String>
145 inline void SetAutoImport(
bool value) { m_autoImportHasBeenSet =
true; m_autoImport = value; }
209 template<
typename AllocationResourceTagsT = Aws::Vector<RequestIpamResourceTag>>
210 void SetAllocationResourceTags(AllocationResourceTagsT&& value) { m_allocationResourceTagsHasBeenSet =
true; m_allocationResourceTags = std::forward<AllocationResourceTagsT>(value); }
211 template<
typename AllocationResourceTagsT = Aws::Vector<RequestIpamResourceTag>>
213 template<
typename AllocationResourceTagsT = RequestIpamResourceTag>
227 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
228 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
229 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
231 template<
typename TagSpecificationsT = TagSpecification>
244 template<
typename ClientTokenT = Aws::String>
245 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
246 template<
typename ClientTokenT = Aws::String>
287 template<
typename SourceResourceT = IpamPoolSourceResourceRequest>
288 void SetSourceResource(SourceResourceT&& value) { m_sourceResourceHasBeenSet =
true; m_sourceResource = std::forward<SourceResourceT>(value); }
289 template<
typename SourceResourceT = IpamPoolSourceResourceRequest>
294 bool m_dryRun{
false};
295 bool m_dryRunHasBeenSet =
false;
298 bool m_ipamScopeIdHasBeenSet =
false;
301 bool m_localeHasBeenSet =
false;
304 bool m_sourceIpamPoolIdHasBeenSet =
false;
307 bool m_descriptionHasBeenSet =
false;
310 bool m_addressFamilyHasBeenSet =
false;
312 bool m_autoImport{
false};
313 bool m_autoImportHasBeenSet =
false;
315 bool m_publiclyAdvertisable{
false};
316 bool m_publiclyAdvertisableHasBeenSet =
false;
318 int m_allocationMinNetmaskLength{0};
319 bool m_allocationMinNetmaskLengthHasBeenSet =
false;
321 int m_allocationMaxNetmaskLength{0};
322 bool m_allocationMaxNetmaskLengthHasBeenSet =
false;
324 int m_allocationDefaultNetmaskLength{0};
325 bool m_allocationDefaultNetmaskLengthHasBeenSet =
false;
328 bool m_allocationResourceTagsHasBeenSet =
false;
331 bool m_tagSpecificationsHasBeenSet =
false;
334 bool m_clientTokenHasBeenSet =
true;
337 bool m_awsServiceHasBeenSet =
false;
340 bool m_publicIpSourceHasBeenSet =
false;
342 IpamPoolSourceResourceRequest m_sourceResource;
343 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