/*
* 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.ModifyIpamPoolRequestMarshaller;
/**
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ModifyIpamPoolRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest
* The ID of the IPAM pool you want to modify.
*
* The description of the IPAM pool you want to modify.
*
* If true, 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.
*
* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible netmask
* lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum
* netmask length must be less than the maximum netmask length.
*
* The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible netmask
* lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum
* netmask length must be greater than the minimum netmask length.
*
* 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.
*
* Clear the default netmask length allocation rule for this pool.
*
* Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the
* Amazon VPC IPAM User Guide.
*
* Remove tag allocation rules from a pool.
*
* The ID of the IPAM pool you want to modify.
*
* The ID of the IPAM pool you want to modify.
*
* The ID of the IPAM pool you want to modify.
*
* The description of the IPAM pool you want to modify.
*
* The description of the IPAM pool you want to modify.
*
* The description of the IPAM pool you want to modify.
*
* If true, 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.
*
* A locale must be set on the pool for this feature to work. */ public void setAutoImport(Boolean autoImport) { this.autoImport = autoImport; } /** *
* If true, 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 true, 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 true, 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 true, 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 ModifyIpamPoolRequest withAutoImport(Boolean autoImport) { setAutoImport(autoImport); return this; } /** *
* If true, 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 true, 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; } /** *
* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible netmask * lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum * netmask length must be less than the maximum netmask length. *
* * @param allocationMinNetmaskLength * The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. * The minimum netmask length must be less than the maximum netmask length. */ public void setAllocationMinNetmaskLength(Integer allocationMinNetmaskLength) { this.allocationMinNetmaskLength = allocationMinNetmaskLength; } /** ** The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible netmask * lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum * netmask length must be less than the maximum netmask length. *
* * @return The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. * The minimum netmask length must be less than the maximum netmask length. */ public Integer getAllocationMinNetmaskLength() { return this.allocationMinNetmaskLength; } /** ** The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible netmask * lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum * netmask length must be less than the maximum netmask length. *
* * @param allocationMinNetmaskLength * The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. * The minimum netmask length must be less than the maximum netmask length. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest withAllocationMinNetmaskLength(Integer allocationMinNetmaskLength) { setAllocationMinNetmaskLength(allocationMinNetmaskLength); return this; } /** ** The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible netmask * lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum * netmask length must be greater than the minimum netmask length. *
* * @param allocationMaxNetmaskLength * The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The * maximum netmask length must be greater than the minimum netmask length. */ public void setAllocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) { this.allocationMaxNetmaskLength = allocationMaxNetmaskLength; } /** ** The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible netmask * lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum * netmask length must be greater than the minimum netmask length. *
* * @return The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - * 128.The maximum netmask length must be greater than the minimum netmask length. */ public Integer getAllocationMaxNetmaskLength() { return this.allocationMaxNetmaskLength; } /** ** The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible netmask * lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum * netmask length must be greater than the minimum netmask length. *
* * @param allocationMaxNetmaskLength * The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The * maximum netmask length must be greater than the minimum netmask length. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest 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 ModifyIpamPoolRequest withAllocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) { setAllocationDefaultNetmaskLength(allocationDefaultNetmaskLength); return this; } /** ** Clear the default netmask length allocation rule for this pool. *
* * @param clearAllocationDefaultNetmaskLength * Clear the default netmask length allocation rule for this pool. */ public void setClearAllocationDefaultNetmaskLength(Boolean clearAllocationDefaultNetmaskLength) { this.clearAllocationDefaultNetmaskLength = clearAllocationDefaultNetmaskLength; } /** ** Clear the default netmask length allocation rule for this pool. *
* * @return Clear the default netmask length allocation rule for this pool. */ public Boolean getClearAllocationDefaultNetmaskLength() { return this.clearAllocationDefaultNetmaskLength; } /** ** Clear the default netmask length allocation rule for this pool. *
* * @param clearAllocationDefaultNetmaskLength * Clear the default netmask length allocation rule for this pool. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest withClearAllocationDefaultNetmaskLength(Boolean clearAllocationDefaultNetmaskLength) { setClearAllocationDefaultNetmaskLength(clearAllocationDefaultNetmaskLength); return this; } /** ** Clear the default netmask length allocation rule for this pool. *
* * @return Clear the default netmask length allocation rule for this pool. */ public Boolean isClearAllocationDefaultNetmaskLength() { return this.clearAllocationDefaultNetmaskLength; } /** ** Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. *
* * @return Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in * the Amazon VPC IPAM User Guide. */ public java.util.List* Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. *
* * @param addAllocationResourceTags * Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. */ public void setAddAllocationResourceTags(java.util.Collection* Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAddAllocationResourceTags(java.util.Collection)} or * {@link #withAddAllocationResourceTags(java.util.Collection)} if you want to override the existing values. *
* * @param addAllocationResourceTags * Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest withAddAllocationResourceTags(RequestIpamResourceTag... addAllocationResourceTags) { if (this.addAllocationResourceTags == null) { setAddAllocationResourceTags(new com.amazonaws.internal.SdkInternalList* Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. *
* * @param addAllocationResourceTags * Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the * Amazon VPC IPAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest withAddAllocationResourceTags(java.util.Collection* Remove tag allocation rules from a pool. *
* * @return Remove tag allocation rules from a pool. */ public java.util.List* Remove tag allocation rules from a pool. *
* * @param removeAllocationResourceTags * Remove tag allocation rules from a pool. */ public void setRemoveAllocationResourceTags(java.util.Collection* Remove tag allocation rules from a pool. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setRemoveAllocationResourceTags(java.util.Collection)} or * {@link #withRemoveAllocationResourceTags(java.util.Collection)} if you want to override the existing values. *
* * @param removeAllocationResourceTags * Remove tag allocation rules from a pool. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest withRemoveAllocationResourceTags(RequestIpamResourceTag... removeAllocationResourceTags) { if (this.removeAllocationResourceTags == null) { setRemoveAllocationResourceTags(new com.amazonaws.internal.SdkInternalList* Remove tag allocation rules from a pool. *
* * @param removeAllocationResourceTags * Remove tag allocation rules from a pool. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyIpamPoolRequest withRemoveAllocationResourceTags(java.util.Collection