/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.ec2.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CreateIpamPoolRequestMarshaller;
/**
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateIpamPoolRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest
* The ID of the scope in which you would like to create 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 do not choose a locale,
* resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.
*
* Possible values: Any Amazon Web Services Region, such as us-east-1.
*
* The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you
* provision for the pool within the source pool must be available in the source pool's CIDR range.
*
* A description for the IPAM pool.
*
* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.
*
* 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.
*
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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
* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring
* Idempotency.
*
* 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.
*
* 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
* The ID of the scope in which you would like to create the IPAM pool.
*
* The ID of the scope in which you would like to create the IPAM pool.
*
* The ID of the scope in which you would like to create 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 do not choose a locale,
* resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.
*
* Possible values: Any Amazon Web Services Region, such as us-east-1.
* ipv4
.
* Owner
and the
* value TeamA
, specify tag:Owner
for the filter name and TeamA
for the
* filter value.
* 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 if PublicIpSource is amazon
. For information on increasing the default limit,
* see Quotas for your IPAM in the
* Amazon VPC IPAM User Guide.
*
* Possible values: Any Amazon Web Services Region, such as us-east-1. */ public void setLocale(String locale) { this.locale = locale; } /** *
* 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 do not choose a locale, * resources in Regions others than the IPAM's home region cannot use CIDRs from this pool. *
** Possible values: Any Amazon Web Services Region, such as us-east-1. *
* * @return 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 * do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from * this pool. ** Possible values: Any Amazon Web Services Region, such as us-east-1. */ public String getLocale() { return this.locale; } /** *
* 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 do not choose a locale, * resources in Regions others than the IPAM's home region cannot use CIDRs from this pool. *
** Possible values: Any Amazon Web Services Region, such as us-east-1. *
* * @param locale * 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 do not * choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this * pool. ** Possible values: Any Amazon Web Services Region, such as us-east-1. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withLocale(String locale) { setLocale(locale); return this; } /** *
* The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *
* * @param sourceIpamPoolId * The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the * CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range. */ public void setSourceIpamPoolId(String sourceIpamPoolId) { this.sourceIpamPoolId = sourceIpamPoolId; } /** ** The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *
* * @return The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the * CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range. */ public String getSourceIpamPoolId() { return this.sourceIpamPoolId; } /** ** The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *
* * @param sourceIpamPoolId * The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the * CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withSourceIpamPoolId(String sourceIpamPoolId) { setSourceIpamPoolId(sourceIpamPoolId); return this; } /** ** A description for the IPAM pool. *
* * @param description * A description for the IPAM pool. */ public void setDescription(String description) { this.description = description; } /** ** A description for the IPAM pool. *
* * @return A description for the IPAM pool. */ public String getDescription() { return this.description; } /** ** A description for the IPAM pool. *
* * @param description * A description for the IPAM pool. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withDescription(String description) { setDescription(description); return this; } /** ** The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *
* * @param addressFamily * The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @see AddressFamily */ public void setAddressFamily(String addressFamily) { this.addressFamily = addressFamily; } /** ** The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *
* * @return The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @see AddressFamily */ public String getAddressFamily() { return this.addressFamily; } /** ** The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *
* * @param addressFamily * The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @return Returns a reference to this object so that method calls can be chained together. * @see AddressFamily */ public CreateIpamPoolRequest withAddressFamily(String addressFamily) { setAddressFamily(addressFamily); return this; } /** ** The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *
* * @param addressFamily * The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @return Returns a reference to this object so that method calls can be chained together. * @see AddressFamily */ public CreateIpamPoolRequest withAddressFamily(AddressFamily addressFamily) { this.addressFamily = addressFamily.toString(); 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. *
* * @param 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. */ public void setAutoImport(Boolean autoImport) { this.autoImport = 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. *
* * @return 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. */ public Boolean getAutoImport() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAutoImport(Boolean autoImport) { setAutoImport(autoImport); 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. *
* * @return 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. */ public Boolean isAutoImport() { return this.autoImport; } /** *
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
ipv4
.
*/
public void setPubliclyAdvertisable(Boolean publiclyAdvertisable) {
this.publiclyAdvertisable = publiclyAdvertisable;
}
/**
*
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
ipv4
.
*/
public Boolean getPubliclyAdvertisable() {
return this.publiclyAdvertisable;
}
/**
*
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
ipv4
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIpamPoolRequest withPubliclyAdvertisable(Boolean publiclyAdvertisable) {
setPubliclyAdvertisable(publiclyAdvertisable);
return this;
}
/**
*
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
ipv4
.
*/
public Boolean isPubliclyAdvertisable() {
return this.publiclyAdvertisable;
}
/**
* * 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. *
* * @param 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. */ public void setAllocationMinNetmaskLength(Integer allocationMinNetmaskLength) { this.allocationMinNetmaskLength = 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. *
* * @return 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. */ public Integer getAllocationMinNetmaskLength() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationMinNetmaskLength(Integer allocationMinNetmaskLength) { setAllocationMinNetmaskLength(allocationMinNetmaskLength); 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. *
* * @param 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. */ public void setAllocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) { this.allocationMaxNetmaskLength = 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. *
* * @return 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. */ public Integer getAllocationMaxNetmaskLength() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) { setAllocationMaxNetmaskLength(allocationMaxNetmaskLength); 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. *
* * @param 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. */ public void setAllocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) { this.allocationDefaultNetmaskLength = 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. *
* * @return 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. */ public Integer getAllocationDefaultNetmaskLength() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) { setAllocationDefaultNetmaskLength(allocationDefaultNetmaskLength); 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. *
* * @return 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. */ public java.util.List* 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. *
* * @param allocationResourceTags * 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. */ public void setAllocationResourceTags(java.util.Collection* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAllocationResourceTags(java.util.Collection)} or * {@link #withAllocationResourceTags(java.util.Collection)} if you want to override the existing values. *
* * @param allocationResourceTags * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationResourceTags(RequestIpamResourceTag... allocationResourceTags) { if (this.allocationResourceTags == null) { setAllocationResourceTags(new com.amazonaws.internal.SdkInternalList* 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. *
* * @param allocationResourceTags * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationResourceTags(java.util.Collection
* 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.
*
Owner
and the value TeamA
, specify tag:Owner
for the filter name
* and TeamA
for the filter value.
*/
public java.util.List
* 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.
*
Owner
and the value TeamA
, specify tag:Owner
for the filter name
* and TeamA
for the filter value.
*/
public void setTagSpecifications(java.util.Collection
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTagSpecifications(java.util.Collection)} or {@link #withTagSpecifications(java.util.Collection)} if * you want to override the existing values. *
* * @param tagSpecifications * 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIpamPoolRequest withTagSpecifications(TagSpecification... tagSpecifications) {
if (this.tagSpecifications == null) {
setTagSpecifications(new com.amazonaws.internal.SdkInternalList
* 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.
*
Owner
and the value TeamA
, specify tag:Owner
for the filter name
* and TeamA
for the filter value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIpamPoolRequest withTagSpecifications(java.util.Collection* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * Idempotency. *
* * @param clientToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * Idempotency. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** ** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * Idempotency. *
* * @return A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * Idempotency. */ public String getClientToken() { return this.clientToken; } /** ** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * Idempotency. *
* * @param clientToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * Idempotency. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withClientToken(String clientToken) { setClientToken(clientToken); 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. *
* * @param 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. * @see IpamPoolAwsService */ public void setAwsService(String awsService) { this.awsService = 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. *
* * @return 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. * @see IpamPoolAwsService */ public String getAwsService() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see IpamPoolAwsService */ public CreateIpamPoolRequest withAwsService(String awsService) { setAwsService(awsService); 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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see IpamPoolAwsService */ public CreateIpamPoolRequest withAwsService(IpamPoolAwsService awsService) { this.awsService = awsService.toString(); 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 if PublicIpSource is amazon
. For information on increasing the default limit,
* see Quotas for your IPAM in the
* Amazon VPC IPAM User Guide.
*
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 if PublicIpSource is amazon
. For information on increasing the default
* limit, see Quotas for your
* IPAM in the Amazon VPC IPAM User Guide.
* @see IpamPoolPublicIpSource
*/
public void setPublicIpSource(String publicIpSource) {
this.publicIpSource = publicIpSource;
}
/**
*
* 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 if PublicIpSource is amazon
. For information on increasing the default limit,
* see Quotas for your IPAM in the
* Amazon VPC IPAM User Guide.
*
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 if PublicIpSource is amazon
. For information on increasing the
* default limit, see Quotas for
* your IPAM in the Amazon VPC IPAM User Guide.
* @see IpamPoolPublicIpSource
*/
public String getPublicIpSource() {
return this.publicIpSource;
}
/**
*
* 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 if PublicIpSource is amazon
. For information on increasing the default limit,
* see Quotas for your IPAM in the
* Amazon VPC IPAM User Guide.
*
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 if PublicIpSource is amazon
. For information on increasing the default
* limit, see Quotas for your
* IPAM in the Amazon VPC IPAM User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IpamPoolPublicIpSource
*/
public CreateIpamPoolRequest withPublicIpSource(String publicIpSource) {
setPublicIpSource(publicIpSource);
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 if PublicIpSource is amazon
. For information on increasing the default limit,
* see Quotas for your IPAM in the
* Amazon VPC IPAM User Guide.
*
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 if PublicIpSource is amazon
. For information on increasing the default
* limit, see Quotas for your
* IPAM in the Amazon VPC IPAM User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IpamPoolPublicIpSource
*/
public CreateIpamPoolRequest withPublicIpSource(IpamPoolPublicIpSource publicIpSource) {
this.publicIpSource = publicIpSource.toString();
return this;
}
/**
* This method is intended for internal use only. Returns the marshaled request configured with additional
* parameters to enable operation dry-run.
*/
@Override
public Request