7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/AddressFamily.h>
12#include <aws/ec2/model/IpamPoolAwsService.h>
13#include <aws/ec2/model/IpamPoolPublicIpSource.h>
14#include <aws/ec2/model/IpamPoolSourceResource.h>
15#include <aws/ec2/model/IpamPoolState.h>
16#include <aws/ec2/model/IpamResourceTag.h>
17#include <aws/ec2/model/IpamScopeType.h>
18#include <aws/ec2/model/Tag.h>
55 template <
typename OwnerIdT = Aws::String>
57 m_ownerIdHasBeenSet =
true;
58 m_ownerId = std::forward<OwnerIdT>(value);
60 template <
typename OwnerIdT = Aws::String>
73 template <
typename IpamPoolIdT = Aws::String>
75 m_ipamPoolIdHasBeenSet =
true;
76 m_ipamPoolId = std::forward<IpamPoolIdT>(value);
78 template <
typename IpamPoolIdT = Aws::String>
92 template <
typename SourceIpamPoolIdT = Aws::String>
94 m_sourceIpamPoolIdHasBeenSet =
true;
95 m_sourceIpamPoolId = std::forward<SourceIpamPoolIdT>(value);
97 template <
typename SourceIpamPoolIdT = Aws::String>
110 template <
typename IpamPoolArnT = Aws::String>
112 m_ipamPoolArnHasBeenSet =
true;
113 m_ipamPoolArn = std::forward<IpamPoolArnT>(value);
115 template <
typename IpamPoolArnT = Aws::String>
128 template <
typename IpamScopeArnT = Aws::String>
130 m_ipamScopeArnHasBeenSet =
true;
131 m_ipamScopeArn = std::forward<IpamScopeArnT>(value);
133 template <
typename IpamScopeArnT = Aws::String>
152 m_ipamScopeTypeHasBeenSet =
true;
153 m_ipamScopeType = value;
167 template <
typename IpamArnT = Aws::String>
169 m_ipamArnHasBeenSet =
true;
170 m_ipamArn = std::forward<IpamArnT>(value);
172 template <
typename IpamArnT = Aws::String>
185 template <
typename IpamRegionT = Aws::String>
187 m_ipamRegionHasBeenSet =
true;
188 m_ipamRegion = std::forward<IpamRegionT>(value);
190 template <
typename IpamRegionT = Aws::String>
212 template <
typename LocaleT = Aws::String>
214 m_localeHasBeenSet =
true;
215 m_locale = std::forward<LocaleT>(value);
217 template <
typename LocaleT = Aws::String>
234 m_poolDepthHasBeenSet =
true;
250 m_stateHasBeenSet =
true;
265 template <
typename StateMessageT = Aws::String>
267 m_stateMessageHasBeenSet =
true;
268 m_stateMessage = std::forward<StateMessageT>(value);
270 template <
typename StateMessageT = Aws::String>
283 template <
typename DescriptionT = Aws::String>
285 m_descriptionHasBeenSet =
true;
286 m_description = std::forward<DescriptionT>(value);
288 template <
typename DescriptionT = Aws::String>
311 m_autoImportHasBeenSet =
true;
312 m_autoImport = value;
328 m_publiclyAdvertisableHasBeenSet =
true;
329 m_publiclyAdvertisable = value;
344 m_addressFamilyHasBeenSet =
true;
345 m_addressFamily = value;
363 m_allocationMinNetmaskLengthHasBeenSet =
true;
364 m_allocationMinNetmaskLength = value;
382 m_allocationMaxNetmaskLengthHasBeenSet =
true;
383 m_allocationMaxNetmaskLength = value;
400 m_allocationDefaultNetmaskLengthHasBeenSet =
true;
401 m_allocationDefaultNetmaskLength = value;
419 template <
typename AllocationResourceTagsT = Aws::Vector<IpamResourceTag>>
421 m_allocationResourceTagsHasBeenSet =
true;
422 m_allocationResourceTags = std::forward<AllocationResourceTagsT>(value);
424 template <
typename AllocationResourceTagsT = Aws::Vector<IpamResourceTag>>
429 template <
typename AllocationResourceTagsT = IpamResourceTag>
431 m_allocationResourceTagsHasBeenSet =
true;
432 m_allocationResourceTags.emplace_back(std::forward<AllocationResourceTagsT>(value));
447 template <
typename TagsT = Aws::Vector<Tag>>
449 m_tagsHasBeenSet =
true;
450 m_tags = std::forward<TagsT>(value);
452 template <
typename TagsT = Aws::Vector<Tag>>
454 SetTags(std::forward<TagsT>(value));
457 template <
typename TagsT = Tag>
459 m_tagsHasBeenSet =
true;
460 m_tags.emplace_back(std::forward<TagsT>(value));
474 m_awsServiceHasBeenSet =
true;
475 m_awsService = value;
498 m_publicIpSourceHasBeenSet =
true;
499 m_publicIpSource = value;
513 template <
typename SourceResourceT = IpamPoolSourceResource>
515 m_sourceResourceHasBeenSet =
true;
516 m_sourceResource = std::forward<SourceResourceT>(value);
518 template <
typename SourceResourceT = IpamPoolSourceResource>
551 bool m_autoImport{
false};
553 bool m_publiclyAdvertisable{
false};
557 int m_allocationMinNetmaskLength{0};
559 int m_allocationMaxNetmaskLength{0};
561 int m_allocationDefaultNetmaskLength{0};
571 IpamPoolSourceResource m_sourceResource;
572 bool m_ownerIdHasBeenSet =
false;
573 bool m_ipamPoolIdHasBeenSet =
false;
574 bool m_sourceIpamPoolIdHasBeenSet =
false;
575 bool m_ipamPoolArnHasBeenSet =
false;
576 bool m_ipamScopeArnHasBeenSet =
false;
577 bool m_ipamScopeTypeHasBeenSet =
false;
578 bool m_ipamArnHasBeenSet =
false;
579 bool m_ipamRegionHasBeenSet =
false;
580 bool m_localeHasBeenSet =
false;
581 bool m_poolDepthHasBeenSet =
false;
582 bool m_stateHasBeenSet =
false;
583 bool m_stateMessageHasBeenSet =
false;
584 bool m_descriptionHasBeenSet =
false;
585 bool m_autoImportHasBeenSet =
false;
586 bool m_publiclyAdvertisableHasBeenSet =
false;
587 bool m_addressFamilyHasBeenSet =
false;
588 bool m_allocationMinNetmaskLengthHasBeenSet =
false;
589 bool m_allocationMaxNetmaskLengthHasBeenSet =
false;
590 bool m_allocationDefaultNetmaskLengthHasBeenSet =
false;
591 bool m_allocationResourceTagsHasBeenSet =
false;
592 bool m_tagsHasBeenSet =
false;
593 bool m_awsServiceHasBeenSet =
false;
594 bool m_publicIpSourceHasBeenSet =
false;
595 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