7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/IpamScopeType.h>
11#include <aws/ec2/model/IpamPoolState.h>
12#include <aws/ec2/model/AddressFamily.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ec2/model/IpamPoolAwsService.h>
15#include <aws/ec2/model/IpamPoolPublicIpSource.h>
16#include <aws/ec2/model/IpamPoolSourceResource.h>
17#include <aws/ec2/model/IpamResourceTag.h>
18#include <aws/ec2/model/Tag.h>
61 template<
typename OwnerIdT = Aws::String>
62 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
63 template<
typename OwnerIdT = Aws::String>
73 template<
typename IpamPoolIdT = Aws::String>
74 void SetIpamPoolId(IpamPoolIdT&& value) { m_ipamPoolIdHasBeenSet =
true; m_ipamPoolId = std::forward<IpamPoolIdT>(value); }
75 template<
typename IpamPoolIdT = Aws::String>
86 template<
typename SourceIpamPoolIdT = Aws::String>
87 void SetSourceIpamPoolId(SourceIpamPoolIdT&& value) { m_sourceIpamPoolIdHasBeenSet =
true; m_sourceIpamPoolId = std::forward<SourceIpamPoolIdT>(value); }
88 template<
typename SourceIpamPoolIdT = Aws::String>
98 template<
typename IpamPoolArnT = Aws::String>
99 void SetIpamPoolArn(IpamPoolArnT&& value) { m_ipamPoolArnHasBeenSet =
true; m_ipamPoolArn = std::forward<IpamPoolArnT>(value); }
100 template<
typename IpamPoolArnT = Aws::String>
110 template<
typename IpamScopeArnT = Aws::String>
111 void SetIpamScopeArn(IpamScopeArnT&& value) { m_ipamScopeArnHasBeenSet =
true; m_ipamScopeArn = std::forward<IpamScopeArnT>(value); }
112 template<
typename IpamScopeArnT = Aws::String>
137 template<
typename IpamArnT = Aws::String>
138 void SetIpamArn(IpamArnT&& value) { m_ipamArnHasBeenSet =
true; m_ipamArn = std::forward<IpamArnT>(value); }
139 template<
typename IpamArnT = Aws::String>
149 template<
typename IpamRegionT = Aws::String>
150 void SetIpamRegion(IpamRegionT&& value) { m_ipamRegionHasBeenSet =
true; m_ipamRegion = std::forward<IpamRegionT>(value); }
151 template<
typename IpamRegionT = Aws::String>
170 template<
typename LocaleT = Aws::String>
171 void SetLocale(LocaleT&& value) { m_localeHasBeenSet =
true; m_locale = std::forward<LocaleT>(value); }
172 template<
typename LocaleT = Aws::String>
185 inline void SetPoolDepth(
int value) { m_poolDepthHasBeenSet =
true; m_poolDepth = value; }
205 template<
typename StateMessageT = Aws::String>
206 void SetStateMessage(StateMessageT&& value) { m_stateMessageHasBeenSet =
true; m_stateMessage = std::forward<StateMessageT>(value); }
207 template<
typename StateMessageT = Aws::String>
217 template<
typename DescriptionT = Aws::String>
218 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
219 template<
typename DescriptionT = Aws::String>
238 inline void SetAutoImport(
bool value) { m_autoImportHasBeenSet =
true; m_autoImport = value; }
311 template<
typename AllocationResourceTagsT = Aws::Vector<IpamResourceTag>>
312 void SetAllocationResourceTags(AllocationResourceTagsT&& value) { m_allocationResourceTagsHasBeenSet =
true; m_allocationResourceTags = std::forward<AllocationResourceTagsT>(value); }
313 template<
typename AllocationResourceTagsT = Aws::Vector<IpamResourceTag>>
315 template<
typename AllocationResourceTagsT = IpamResourceTag>
316 IpamPool&
AddAllocationResourceTags(AllocationResourceTagsT&& value) { m_allocationResourceTagsHasBeenSet =
true; m_allocationResourceTags.emplace_back(std::forward<AllocationResourceTagsT>(value));
return *
this; }
329 template<
typename TagsT = Aws::Vector<Tag>>
330 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
331 template<
typename TagsT = Aws::Vector<Tag>>
333 template<
typename TagsT = Tag>
334 IpamPool&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
373 template<
typename SourceResourceT = IpamPoolSourceResource>
374 void SetSourceResource(SourceResourceT&& value) { m_sourceResourceHasBeenSet =
true; m_sourceResource = std::forward<SourceResourceT>(value); }
375 template<
typename SourceResourceT = IpamPoolSourceResource>
381 bool m_ownerIdHasBeenSet =
false;
384 bool m_ipamPoolIdHasBeenSet =
false;
387 bool m_sourceIpamPoolIdHasBeenSet =
false;
390 bool m_ipamPoolArnHasBeenSet =
false;
393 bool m_ipamScopeArnHasBeenSet =
false;
396 bool m_ipamScopeTypeHasBeenSet =
false;
399 bool m_ipamArnHasBeenSet =
false;
402 bool m_ipamRegionHasBeenSet =
false;
405 bool m_localeHasBeenSet =
false;
408 bool m_poolDepthHasBeenSet =
false;
411 bool m_stateHasBeenSet =
false;
414 bool m_stateMessageHasBeenSet =
false;
417 bool m_descriptionHasBeenSet =
false;
419 bool m_autoImport{
false};
420 bool m_autoImportHasBeenSet =
false;
422 bool m_publiclyAdvertisable{
false};
423 bool m_publiclyAdvertisableHasBeenSet =
false;
426 bool m_addressFamilyHasBeenSet =
false;
428 int m_allocationMinNetmaskLength{0};
429 bool m_allocationMinNetmaskLengthHasBeenSet =
false;
431 int m_allocationMaxNetmaskLength{0};
432 bool m_allocationMaxNetmaskLengthHasBeenSet =
false;
434 int m_allocationDefaultNetmaskLength{0};
435 bool m_allocationDefaultNetmaskLengthHasBeenSet =
false;
438 bool m_allocationResourceTagsHasBeenSet =
false;
441 bool m_tagsHasBeenSet =
false;
444 bool m_awsServiceHasBeenSet =
false;
447 bool m_publicIpSourceHasBeenSet =
false;
449 IpamPoolSourceResource m_sourceResource;
450 bool m_sourceResourceHasBeenSet =
false;
IpamPool & WithLocale(LocaleT &&value)
void SetAllocationMaxNetmaskLength(int value)
const Aws::String & GetOwnerId() const
bool IpamPoolArnHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
bool AddressFamilyHasBeenSet() const
bool IpamScopeTypeHasBeenSet() const
void SetDescription(DescriptionT &&value)
IpamPool & AddTags(TagsT &&value)
bool StateMessageHasBeenSet() const
IpamPoolState GetState() const
bool GetPubliclyAdvertisable() const
IpamPool & WithIpamScopeType(IpamScopeType value)
IpamPoolAwsService GetAwsService() const
bool AllocationMaxNetmaskLengthHasBeenSet() const
bool PubliclyAdvertisableHasBeenSet() const
bool PublicIpSourceHasBeenSet() const
IpamPool & WithPoolDepth(int value)
AWS_EC2_API IpamPool(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API IpamPool & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
IpamPool & WithIpamArn(IpamArnT &&value)
IpamPool & WithPubliclyAdvertisable(bool value)
IpamPool & WithIpamPoolId(IpamPoolIdT &&value)
IpamPool & WithIpamScopeArn(IpamScopeArnT &&value)
IpamPool & WithAutoImport(bool value)
const Aws::String & GetSourceIpamPoolId() const
IpamPool & WithTags(TagsT &&value)
const Aws::String & GetStateMessage() const
bool AllocationMinNetmaskLengthHasBeenSet() const
bool OwnerIdHasBeenSet() const
bool SourceIpamPoolIdHasBeenSet() const
IpamPool & AddAllocationResourceTags(AllocationResourceTagsT &&value)
void SetAutoImport(bool value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPoolDepth(int value)
bool PoolDepthHasBeenSet() const
int GetAllocationMaxNetmaskLength() const
const IpamPoolSourceResource & GetSourceResource() const
bool DescriptionHasBeenSet() const
void SetAllocationDefaultNetmaskLength(int value)
void SetIpamPoolArn(IpamPoolArnT &&value)
AWS_EC2_API IpamPool()=default
IpamPool & WithSourceIpamPoolId(SourceIpamPoolIdT &&value)
void SetAllocationResourceTags(AllocationResourceTagsT &&value)
bool TagsHasBeenSet() const
IpamScopeType GetIpamScopeType() const
void SetAllocationMinNetmaskLength(int value)
IpamPool & WithPublicIpSource(IpamPoolPublicIpSource value)
const Aws::String & GetIpamPoolArn() const
void SetSourceIpamPoolId(SourceIpamPoolIdT &&value)
void SetLocale(LocaleT &&value)
const Aws::String & GetLocale() const
void SetIpamRegion(IpamRegionT &&value)
IpamPool & WithIpamRegion(IpamRegionT &&value)
int GetAllocationDefaultNetmaskLength() const
IpamPool & WithSourceResource(SourceResourceT &&value)
void SetTags(TagsT &&value)
void SetState(IpamPoolState value)
const Aws::String & GetDescription() const
const Aws::String & GetIpamRegion() const
bool IpamRegionHasBeenSet() const
bool LocaleHasBeenSet() const
bool IpamScopeArnHasBeenSet() const
IpamPool & WithAllocationDefaultNetmaskLength(int value)
void SetSourceResource(SourceResourceT &&value)
IpamPool & WithState(IpamPoolState value)
void SetIpamArn(IpamArnT &&value)
void SetIpamScopeType(IpamScopeType value)
void SetIpamScopeArn(IpamScopeArnT &&value)
bool AwsServiceHasBeenSet() const
IpamPool & WithStateMessage(StateMessageT &&value)
void SetOwnerId(OwnerIdT &&value)
IpamPool & WithAddressFamily(AddressFamily value)
void SetAddressFamily(AddressFamily value)
bool SourceResourceHasBeenSet() const
IpamPool & WithOwnerId(OwnerIdT &&value)
const Aws::String & GetIpamPoolId() const
IpamPool & WithDescription(DescriptionT &&value)
const Aws::Vector< IpamResourceTag > & GetAllocationResourceTags() const
void SetPublicIpSource(IpamPoolPublicIpSource value)
bool IpamPoolIdHasBeenSet() const
bool AutoImportHasBeenSet() const
int GetAllocationMinNetmaskLength() const
IpamPool & WithIpamPoolArn(IpamPoolArnT &&value)
void SetPubliclyAdvertisable(bool value)
void SetStateMessage(StateMessageT &&value)
const Aws::String & GetIpamScopeArn() const
bool GetAutoImport() const
IpamPoolPublicIpSource GetPublicIpSource() const
const Aws::String & GetIpamArn() const
void SetAwsService(IpamPoolAwsService value)
IpamPool & WithAllocationMaxNetmaskLength(int value)
bool IpamArnHasBeenSet() const
IpamPool & WithAwsService(IpamPoolAwsService value)
AddressFamily GetAddressFamily() const
bool AllocationDefaultNetmaskLengthHasBeenSet() const
bool StateHasBeenSet() const
void SetIpamPoolId(IpamPoolIdT &&value)
IpamPool & WithAllocationResourceTags(AllocationResourceTagsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
IpamPool & WithAllocationMinNetmaskLength(int value)
bool AllocationResourceTagsHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream