/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools
* enable you to organize your IP addresses according to your routing and security
* needs. For example, if you have separate routing and security needs for
* development and production applications, you can create a pool for
* each.See Also:
AWS API
* Reference
The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline IpamPool& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline IpamPool& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *The Amazon Web Services account ID of the owner of the IPAM pool.
*/ inline IpamPool& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *The ID of the IPAM pool.
*/ inline const Aws::String& GetIpamPoolId() const{ return m_ipamPoolId; } /** *The ID of the IPAM pool.
*/ inline bool IpamPoolIdHasBeenSet() const { return m_ipamPoolIdHasBeenSet; } /** *The ID of the IPAM pool.
*/ inline void SetIpamPoolId(const Aws::String& value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId = value; } /** *The ID of the IPAM pool.
*/ inline void SetIpamPoolId(Aws::String&& value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId = std::move(value); } /** *The ID of the IPAM pool.
*/ inline void SetIpamPoolId(const char* value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId.assign(value); } /** *The ID of the IPAM pool.
*/ inline IpamPool& WithIpamPoolId(const Aws::String& value) { SetIpamPoolId(value); return *this;} /** *The ID of the IPAM pool.
*/ inline IpamPool& WithIpamPoolId(Aws::String&& value) { SetIpamPoolId(std::move(value)); return *this;} /** *The ID of the IPAM pool.
*/ inline IpamPool& WithIpamPoolId(const char* value) { SetIpamPoolId(value); return *this;} /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline const Aws::String& GetSourceIpamPoolId() const{ return m_sourceIpamPoolId; } /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline bool SourceIpamPoolIdHasBeenSet() const { return m_sourceIpamPoolIdHasBeenSet; } /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline void SetSourceIpamPoolId(const Aws::String& value) { m_sourceIpamPoolIdHasBeenSet = true; m_sourceIpamPoolId = value; } /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline void SetSourceIpamPoolId(Aws::String&& value) { m_sourceIpamPoolIdHasBeenSet = true; m_sourceIpamPoolId = std::move(value); } /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline void SetSourceIpamPoolId(const char* value) { m_sourceIpamPoolIdHasBeenSet = true; m_sourceIpamPoolId.assign(value); } /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline IpamPool& WithSourceIpamPoolId(const Aws::String& value) { SetSourceIpamPoolId(value); return *this;} /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline IpamPool& WithSourceIpamPoolId(Aws::String&& value) { SetSourceIpamPoolId(std::move(value)); return *this;} /** *The ID of the source IPAM pool. You can use this option to create an IPAM * pool within an existing source pool.
*/ inline IpamPool& WithSourceIpamPoolId(const char* value) { SetSourceIpamPoolId(value); return *this;} /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline const Aws::String& GetIpamPoolArn() const{ return m_ipamPoolArn; } /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline bool IpamPoolArnHasBeenSet() const { return m_ipamPoolArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline void SetIpamPoolArn(const Aws::String& value) { m_ipamPoolArnHasBeenSet = true; m_ipamPoolArn = value; } /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline void SetIpamPoolArn(Aws::String&& value) { m_ipamPoolArnHasBeenSet = true; m_ipamPoolArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline void SetIpamPoolArn(const char* value) { m_ipamPoolArnHasBeenSet = true; m_ipamPoolArn.assign(value); } /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline IpamPool& WithIpamPoolArn(const Aws::String& value) { SetIpamPoolArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline IpamPool& WithIpamPoolArn(Aws::String&& value) { SetIpamPoolArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the IPAM pool.
*/ inline IpamPool& WithIpamPoolArn(const char* value) { SetIpamPoolArn(value); return *this;} /** *The ARN of the scope of the IPAM pool.
*/ inline const Aws::String& GetIpamScopeArn() const{ return m_ipamScopeArn; } /** *The ARN of the scope of the IPAM pool.
*/ inline bool IpamScopeArnHasBeenSet() const { return m_ipamScopeArnHasBeenSet; } /** *The ARN of the scope of the IPAM pool.
*/ inline void SetIpamScopeArn(const Aws::String& value) { m_ipamScopeArnHasBeenSet = true; m_ipamScopeArn = value; } /** *The ARN of the scope of the IPAM pool.
*/ inline void SetIpamScopeArn(Aws::String&& value) { m_ipamScopeArnHasBeenSet = true; m_ipamScopeArn = std::move(value); } /** *The ARN of the scope of the IPAM pool.
*/ inline void SetIpamScopeArn(const char* value) { m_ipamScopeArnHasBeenSet = true; m_ipamScopeArn.assign(value); } /** *The ARN of the scope of the IPAM pool.
*/ inline IpamPool& WithIpamScopeArn(const Aws::String& value) { SetIpamScopeArn(value); return *this;} /** *The ARN of the scope of the IPAM pool.
*/ inline IpamPool& WithIpamScopeArn(Aws::String&& value) { SetIpamScopeArn(std::move(value)); return *this;} /** *The ARN of the scope of the IPAM pool.
*/ inline IpamPool& WithIpamScopeArn(const char* value) { SetIpamScopeArn(value); return *this;} /** *In IPAM, a scope is the highest-level container within IPAM. An IPAM contains * two default scopes. Each scope represents the IP space for a single network. The * private scope is intended for all private IP address space. The public scope is * intended for all public IP address space. Scopes enable you to reuse IP * addresses across multiple unconnected networks without causing IP address * overlap or conflict.
*/ inline const IpamScopeType& GetIpamScopeType() const{ return m_ipamScopeType; } /** *In IPAM, a scope is the highest-level container within IPAM. An IPAM contains * two default scopes. Each scope represents the IP space for a single network. The * private scope is intended for all private IP address space. The public scope is * intended for all public IP address space. Scopes enable you to reuse IP * addresses across multiple unconnected networks without causing IP address * overlap or conflict.
*/ inline bool IpamScopeTypeHasBeenSet() const { return m_ipamScopeTypeHasBeenSet; } /** *In IPAM, a scope is the highest-level container within IPAM. An IPAM contains * two default scopes. Each scope represents the IP space for a single network. The * private scope is intended for all private IP address space. The public scope is * intended for all public IP address space. Scopes enable you to reuse IP * addresses across multiple unconnected networks without causing IP address * overlap or conflict.
*/ inline void SetIpamScopeType(const IpamScopeType& value) { m_ipamScopeTypeHasBeenSet = true; m_ipamScopeType = value; } /** *In IPAM, a scope is the highest-level container within IPAM. An IPAM contains * two default scopes. Each scope represents the IP space for a single network. The * private scope is intended for all private IP address space. The public scope is * intended for all public IP address space. Scopes enable you to reuse IP * addresses across multiple unconnected networks without causing IP address * overlap or conflict.
*/ inline void SetIpamScopeType(IpamScopeType&& value) { m_ipamScopeTypeHasBeenSet = true; m_ipamScopeType = std::move(value); } /** *In IPAM, a scope is the highest-level container within IPAM. An IPAM contains * two default scopes. Each scope represents the IP space for a single network. The * private scope is intended for all private IP address space. The public scope is * intended for all public IP address space. Scopes enable you to reuse IP * addresses across multiple unconnected networks without causing IP address * overlap or conflict.
*/ inline IpamPool& WithIpamScopeType(const IpamScopeType& value) { SetIpamScopeType(value); return *this;} /** *In IPAM, a scope is the highest-level container within IPAM. An IPAM contains * two default scopes. Each scope represents the IP space for a single network. The * private scope is intended for all private IP address space. The public scope is * intended for all public IP address space. Scopes enable you to reuse IP * addresses across multiple unconnected networks without causing IP address * overlap or conflict.
*/ inline IpamPool& WithIpamScopeType(IpamScopeType&& value) { SetIpamScopeType(std::move(value)); return *this;} /** *The ARN of the IPAM.
*/ inline const Aws::String& GetIpamArn() const{ return m_ipamArn; } /** *The ARN of the IPAM.
*/ inline bool IpamArnHasBeenSet() const { return m_ipamArnHasBeenSet; } /** *The ARN of the IPAM.
*/ inline void SetIpamArn(const Aws::String& value) { m_ipamArnHasBeenSet = true; m_ipamArn = value; } /** *The ARN of the IPAM.
*/ inline void SetIpamArn(Aws::String&& value) { m_ipamArnHasBeenSet = true; m_ipamArn = std::move(value); } /** *The ARN of the IPAM.
*/ inline void SetIpamArn(const char* value) { m_ipamArnHasBeenSet = true; m_ipamArn.assign(value); } /** *The ARN of the IPAM.
*/ inline IpamPool& WithIpamArn(const Aws::String& value) { SetIpamArn(value); return *this;} /** *The ARN of the IPAM.
*/ inline IpamPool& WithIpamArn(Aws::String&& value) { SetIpamArn(std::move(value)); return *this;} /** *The ARN of the IPAM.
*/ inline IpamPool& WithIpamArn(const char* value) { SetIpamArn(value); return *this;} /** *The Amazon Web Services Region of the IPAM pool.
*/ inline const Aws::String& GetIpamRegion() const{ return m_ipamRegion; } /** *The Amazon Web Services Region of the IPAM pool.
*/ inline bool IpamRegionHasBeenSet() const { return m_ipamRegionHasBeenSet; } /** *The Amazon Web Services Region of the IPAM pool.
*/ inline void SetIpamRegion(const Aws::String& value) { m_ipamRegionHasBeenSet = true; m_ipamRegion = value; } /** *The Amazon Web Services Region of the IPAM pool.
*/ inline void SetIpamRegion(Aws::String&& value) { m_ipamRegionHasBeenSet = true; m_ipamRegion = std::move(value); } /** *The Amazon Web Services Region of the IPAM pool.
*/ inline void SetIpamRegion(const char* value) { m_ipamRegionHasBeenSet = true; m_ipamRegion.assign(value); } /** *The Amazon Web Services Region of the IPAM pool.
*/ inline IpamPool& WithIpamRegion(const Aws::String& value) { SetIpamRegion(value); return *this;} /** *The Amazon Web Services Region of the IPAM pool.
*/ inline IpamPool& WithIpamRegion(Aws::String&& value) { SetIpamRegion(std::move(value)); return *this;} /** *The Amazon Web Services Region of the IPAM pool.
*/ inline IpamPool& WithIpamRegion(const char* value) { SetIpamRegion(value); return *this;} /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline const Aws::String& GetLocale() const{ return m_locale; } /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; } /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline void SetLocale(const Aws::String& value) { m_localeHasBeenSet = true; m_locale = value; } /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline void SetLocale(Aws::String&& value) { m_localeHasBeenSet = true; m_locale = std::move(value); } /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline void SetLocale(const char* value) { m_localeHasBeenSet = true; m_locale.assign(value); } /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline IpamPool& WithLocale(const Aws::String& value) { SetLocale(value); return *this;} /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline IpamPool& WithLocale(Aws::String&& value) { SetLocale(std::move(value)); return *this;} /** *The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services * Region where you want to make an IPAM pool available for allocations. Only * resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, * from an IPAM pool that shares a locale with the VPC’s Region. Note that once you * choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web * Services Region for locale that has not been configured as an operating Region * for the IPAM, you'll get an error.
*/ inline IpamPool& WithLocale(const char* value) { SetLocale(value); return *this;} /** *The depth of pools in your IPAM pool. The pool depth quota is 10. For more * information, see Quotas in * IPAM in the Amazon VPC IPAM User Guide.
*/ inline int GetPoolDepth() const{ return m_poolDepth; } /** *The depth of pools in your IPAM pool. The pool depth quota is 10. For more * information, see Quotas in * IPAM in the Amazon VPC IPAM User Guide.
*/ inline bool PoolDepthHasBeenSet() const { return m_poolDepthHasBeenSet; } /** *The depth of pools in your IPAM pool. The pool depth quota is 10. For more * information, see Quotas in * IPAM in the Amazon VPC IPAM User Guide.
*/ inline void SetPoolDepth(int value) { m_poolDepthHasBeenSet = true; m_poolDepth = value; } /** *The depth of pools in your IPAM pool. The pool depth quota is 10. For more * information, see Quotas in * IPAM in the Amazon VPC IPAM User Guide.
*/ inline IpamPool& WithPoolDepth(int value) { SetPoolDepth(value); return *this;} /** *The state of the IPAM pool.
*/ inline const IpamPoolState& GetState() const{ return m_state; } /** *The state of the IPAM pool.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The state of the IPAM pool.
*/ inline void SetState(const IpamPoolState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The state of the IPAM pool.
*/ inline void SetState(IpamPoolState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The state of the IPAM pool.
*/ inline IpamPool& WithState(const IpamPoolState& value) { SetState(value); return *this;} /** *The state of the IPAM pool.
*/ inline IpamPool& WithState(IpamPoolState&& value) { SetState(std::move(value)); return *this;} /** *A message related to the failed creation of an IPAM pool.
*/ inline const Aws::String& GetStateMessage() const{ return m_stateMessage; } /** *A message related to the failed creation of an IPAM pool.
*/ inline bool StateMessageHasBeenSet() const { return m_stateMessageHasBeenSet; } /** *A message related to the failed creation of an IPAM pool.
*/ inline void SetStateMessage(const Aws::String& value) { m_stateMessageHasBeenSet = true; m_stateMessage = value; } /** *A message related to the failed creation of an IPAM pool.
*/ inline void SetStateMessage(Aws::String&& value) { m_stateMessageHasBeenSet = true; m_stateMessage = std::move(value); } /** *A message related to the failed creation of an IPAM pool.
*/ inline void SetStateMessage(const char* value) { m_stateMessageHasBeenSet = true; m_stateMessage.assign(value); } /** *A message related to the failed creation of an IPAM pool.
*/ inline IpamPool& WithStateMessage(const Aws::String& value) { SetStateMessage(value); return *this;} /** *A message related to the failed creation of an IPAM pool.
*/ inline IpamPool& WithStateMessage(Aws::String&& value) { SetStateMessage(std::move(value)); return *this;} /** *A message related to the failed creation of an IPAM pool.
*/ inline IpamPool& WithStateMessage(const char* value) { SetStateMessage(value); return *this;} /** *The description of the IPAM pool.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the IPAM pool.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the IPAM pool.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the IPAM pool.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the IPAM pool.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the IPAM pool.
*/ inline IpamPool& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the IPAM pool.
*/ inline IpamPool& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the IPAM pool.
*/ inline IpamPool& WithDescription(const char* value) { SetDescription(value); return *this;} /** *If selected, IPAM will continuously look for resources within the CIDR range * of this pool and automatically import them as allocations into your IPAM. The * CIDRs that will be allocated for these resources must not already be allocated * to other resources in order for the import to succeed. IPAM will import a CIDR * regardless of its compliance with the pool's allocation rules, so a resource * might be imported and subsequently marked as noncompliant. If IPAM discovers * multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of * them only.
A locale must be set on the pool for this feature to * work.
*/ inline bool GetAutoImport() const{ return m_autoImport; } /** *If selected, IPAM will continuously look for resources within the CIDR range * of this pool and automatically import them as allocations into your IPAM. The * CIDRs that will be allocated for these resources must not already be allocated * to other resources in order for the import to succeed. IPAM will import a CIDR * regardless of its compliance with the pool's allocation rules, so a resource * might be imported and subsequently marked as noncompliant. If IPAM discovers * multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of * them only.
A locale must be set on the pool for this feature to * work.
*/ inline bool AutoImportHasBeenSet() const { return m_autoImportHasBeenSet; } /** *If selected, IPAM will continuously look for resources within the CIDR range * of this pool and automatically import them as allocations into your IPAM. The * CIDRs that will be allocated for these resources must not already be allocated * to other resources in order for the import to succeed. IPAM will import a CIDR * regardless of its compliance with the pool's allocation rules, so a resource * might be imported and subsequently marked as noncompliant. If IPAM discovers * multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of * them only.
A locale must be set on the pool for this feature to * work.
*/ inline void SetAutoImport(bool value) { m_autoImportHasBeenSet = true; m_autoImport = value; } /** *If selected, IPAM will continuously look for resources within the CIDR range * of this pool and automatically import them as allocations into your IPAM. The * CIDRs that will be allocated for these resources must not already be allocated * to other resources in order for the import to succeed. IPAM will import a CIDR * regardless of its compliance with the pool's allocation rules, so a resource * might be imported and subsequently marked as noncompliant. If IPAM discovers * multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of * them only.
A locale must be set on the pool for this feature to * work.
*/ inline IpamPool& WithAutoImport(bool value) { SetAutoImport(value); return *this;} /** *Determines if a pool is publicly advertisable. This option is not available
* for pools with AddressFamily set to ipv4
.
Determines if a pool is publicly advertisable. This option is not available
* for pools with AddressFamily set to ipv4
.
Determines if a pool is publicly advertisable. This option is not available
* for pools with AddressFamily set to ipv4
.
Determines if a pool is publicly advertisable. This option is not available
* for pools with AddressFamily set to ipv4
.
The address family of the pool.
*/ inline const AddressFamily& GetAddressFamily() const{ return m_addressFamily; } /** *The address family of the pool.
*/ inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; } /** *The address family of the pool.
*/ inline void SetAddressFamily(const AddressFamily& value) { m_addressFamilyHasBeenSet = true; m_addressFamily = value; } /** *The address family of the pool.
*/ inline void SetAddressFamily(AddressFamily&& value) { m_addressFamilyHasBeenSet = true; m_addressFamily = std::move(value); } /** *The address family of the pool.
*/ inline IpamPool& WithAddressFamily(const AddressFamily& value) { SetAddressFamily(value); return *this;} /** *The address family of the pool.
*/ inline IpamPool& WithAddressFamily(AddressFamily&& value) { SetAddressFamily(std::move(value)); return *this;} /** *The minimum netmask length required for CIDR allocations in this IPAM pool to * be compliant. The minimum netmask length must be less than the maximum netmask * length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask * lengths for IPv6 addresses are 0 - 128.
*/ inline int GetAllocationMinNetmaskLength() const{ return m_allocationMinNetmaskLength; } /** *The minimum netmask length required for CIDR allocations in this IPAM pool to * be compliant. The minimum netmask length must be less than the maximum netmask * length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask * lengths for IPv6 addresses are 0 - 128.
*/ inline bool AllocationMinNetmaskLengthHasBeenSet() const { return m_allocationMinNetmaskLengthHasBeenSet; } /** *The minimum netmask length required for CIDR allocations in this IPAM pool to * be compliant. The minimum netmask length must be less than the maximum netmask * length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask * lengths for IPv6 addresses are 0 - 128.
*/ inline void SetAllocationMinNetmaskLength(int value) { m_allocationMinNetmaskLengthHasBeenSet = true; m_allocationMinNetmaskLength = value; } /** *The minimum netmask length required for CIDR allocations in this IPAM pool to * be compliant. The minimum netmask length must be less than the maximum netmask * length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask * lengths for IPv6 addresses are 0 - 128.
*/ inline IpamPool& WithAllocationMinNetmaskLength(int value) { SetAllocationMinNetmaskLength(value); return *this;} /** *The maximum netmask length possible for CIDR allocations in this IPAM pool to * be compliant. The maximum netmask length must be greater than the minimum * netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible * netmask lengths for IPv6 addresses are 0 - 128.
*/ inline int GetAllocationMaxNetmaskLength() const{ return m_allocationMaxNetmaskLength; } /** *The maximum netmask length possible for CIDR allocations in this IPAM pool to * be compliant. The maximum netmask length must be greater than the minimum * netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible * netmask lengths for IPv6 addresses are 0 - 128.
*/ inline bool AllocationMaxNetmaskLengthHasBeenSet() const { return m_allocationMaxNetmaskLengthHasBeenSet; } /** *The maximum netmask length possible for CIDR allocations in this IPAM pool to * be compliant. The maximum netmask length must be greater than the minimum * netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible * netmask lengths for IPv6 addresses are 0 - 128.
*/ inline void SetAllocationMaxNetmaskLength(int value) { m_allocationMaxNetmaskLengthHasBeenSet = true; m_allocationMaxNetmaskLength = value; } /** *The maximum netmask length possible for CIDR allocations in this IPAM pool to * be compliant. The maximum netmask length must be greater than the minimum * netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible * netmask lengths for IPv6 addresses are 0 - 128.
*/ inline IpamPool& WithAllocationMaxNetmaskLength(int value) { SetAllocationMaxNetmaskLength(value); return *this;} /** *The default netmask length for allocations added to this pool. If, for * example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new * allocations will default to 10.0.0.0/16.
*/ inline int GetAllocationDefaultNetmaskLength() const{ return m_allocationDefaultNetmaskLength; } /** *The default netmask length for allocations added to this pool. If, for * example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new * allocations will default to 10.0.0.0/16.
*/ inline bool AllocationDefaultNetmaskLengthHasBeenSet() const { return m_allocationDefaultNetmaskLengthHasBeenSet; } /** *The default netmask length for allocations added to this pool. If, for * example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new * allocations will default to 10.0.0.0/16.
*/ inline void SetAllocationDefaultNetmaskLength(int value) { m_allocationDefaultNetmaskLengthHasBeenSet = true; m_allocationDefaultNetmaskLength = value; } /** *The default netmask length for allocations added to this pool. If, for * example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new * allocations will default to 10.0.0.0/16.
*/ inline IpamPool& WithAllocationDefaultNetmaskLength(int value) { SetAllocationDefaultNetmaskLength(value); return *this;} /** *Tags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline const Aws::VectorTags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline bool AllocationResourceTagsHasBeenSet() const { return m_allocationResourceTagsHasBeenSet; } /** *Tags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline void SetAllocationResourceTags(const Aws::VectorTags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline void SetAllocationResourceTags(Aws::VectorTags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline IpamPool& WithAllocationResourceTags(const Aws::VectorTags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline IpamPool& WithAllocationResourceTags(Aws::VectorTags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline IpamPool& AddAllocationResourceTags(const IpamResourceTag& value) { m_allocationResourceTagsHasBeenSet = true; m_allocationResourceTags.push_back(value); return *this; } /** *Tags that are required for resources that use CIDRs from this IPAM pool. * Resources that do not have these tags will not be allowed to allocate space from * the pool. If the resources have their tags changed after they have allocated * space or if the allocation tagging requirements are changed on the pool, the * resource may be marked as noncompliant.
*/ inline IpamPool& AddAllocationResourceTags(IpamResourceTag&& value) { m_allocationResourceTagsHasBeenSet = true; m_allocationResourceTags.push_back(std::move(value)); return *this; } /** *The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
The key/value combination of a tag assigned to the resource. Use the tag key
* in the filter name and the tag value as the filter value. For example, to find
* all resources that have a tag with the key Owner
and the value
* TeamA
, specify tag:Owner
for the filter name and
* TeamA
for the filter value.
Limits which service in Amazon Web Services that the pool can be used in. * "ec2", for example, allows users to use space for Elastic IP addresses and * VPCs.
*/ inline const IpamPoolAwsService& GetAwsService() const{ return m_awsService; } /** *Limits which service in Amazon Web Services that the pool can be used in. * "ec2", for example, allows users to use space for Elastic IP addresses and * VPCs.
*/ inline bool AwsServiceHasBeenSet() const { return m_awsServiceHasBeenSet; } /** *Limits which service in Amazon Web Services that the pool can be used in. * "ec2", for example, allows users to use space for Elastic IP addresses and * VPCs.
*/ inline void SetAwsService(const IpamPoolAwsService& value) { m_awsServiceHasBeenSet = true; m_awsService = value; } /** *Limits which service in Amazon Web Services that the pool can be used in. * "ec2", for example, allows users to use space for Elastic IP addresses and * VPCs.
*/ inline void SetAwsService(IpamPoolAwsService&& value) { m_awsServiceHasBeenSet = true; m_awsService = std::move(value); } /** *Limits which service in Amazon Web Services that the pool can be used in. * "ec2", for example, allows users to use space for Elastic IP addresses and * VPCs.
*/ inline IpamPool& WithAwsService(const IpamPoolAwsService& value) { SetAwsService(value); return *this;} /** *Limits which service in Amazon Web Services that the pool can be used in. * "ec2", for example, allows users to use space for Elastic IP addresses and * VPCs.
*/ inline IpamPool& WithAwsService(IpamPoolAwsService&& value) { SetAwsService(std::move(value)); return *this;} /** *The IP address source for pools in the public scope. Only used for
* provisioning IP address CIDRs to pools in the public scope. Default is
* BYOIP
. For more information, see Create
* IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add
* only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For
* information on increasing the default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.
The IP address source for pools in the public scope. Only used for
* provisioning IP address CIDRs to pools in the public scope. Default is
* BYOIP
. For more information, see Create
* IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add
* only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For
* information on increasing the default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.
The IP address source for pools in the public scope. Only used for
* provisioning IP address CIDRs to pools in the public scope. Default is
* BYOIP
. For more information, see Create
* IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add
* only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For
* information on increasing the default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.
The IP address source for pools in the public scope. Only used for
* provisioning IP address CIDRs to pools in the public scope. Default is
* BYOIP
. For more information, see Create
* IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add
* only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For
* information on increasing the default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.
The IP address source for pools in the public scope. Only used for
* provisioning IP address CIDRs to pools in the public scope. Default is
* BYOIP
. For more information, see Create
* IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add
* only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For
* information on increasing the default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.
The IP address source for pools in the public scope. Only used for
* provisioning IP address CIDRs to pools in the public scope. Default is
* BYOIP
. For more information, see Create
* IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add
* only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For
* information on increasing the default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.