com.amazonaws.services.ec2.model.CreateIpamPoolRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ec2 Show documentation
/*
* Copyright 2019-2024 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.
*
*/
private String ipamScopeId;
/**
*
* The locale for the pool should be one of the following:
*
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for
* allocations (supported Local
* Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
*
*/
private String locale;
/**
*
* 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.
*
*/
private String sourceIpamPoolId;
/**
*
* A description for the IPAM pool.
*
*/
private String description;
/**
*
* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.
*
*/
private String addressFamily;
/**
*
* 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.
*
*/
private Boolean autoImport;
/**
*
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
*/
private Boolean 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.
*
*/
private Integer allocationMinNetmaskLength;
/**
*
* 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.
*
*/
private Integer allocationMaxNetmaskLength;
/**
*
* 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.
*
*/
private Integer allocationDefaultNetmaskLength;
/**
*
* 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.
*
*/
private com.amazonaws.internal.SdkInternalList allocationResourceTags;
/**
*
* 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.
*
*/
private com.amazonaws.internal.SdkInternalList tagSpecifications;
/**
*
* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring
* idempotency.
*
*/
private String clientToken;
/**
*
* 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.
*
*/
private String awsService;
/**
*
* 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.
*
*/
private String publicIpSource;
/**
*
* The resource used to provision CIDRs to a resource planning pool.
*
*/
private IpamPoolSourceResourceRequest sourceResource;
/**
*
* The ID of the scope in which you would like to create the IPAM pool.
*
*
* @param ipamScopeId
* The ID of the scope in which you would like to create the IPAM pool.
*/
public void setIpamScopeId(String ipamScopeId) {
this.ipamScopeId = ipamScopeId;
}
/**
*
* The ID of the scope in which you would like to create the IPAM pool.
*
*
* @return The ID of the scope in which you would like to create the IPAM pool.
*/
public String getIpamScopeId() {
return this.ipamScopeId;
}
/**
*
* The ID of the scope in which you would like to create the IPAM pool.
*
*
* @param ipamScopeId
* The ID of the scope in which you would like to create the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIpamPoolRequest withIpamScopeId(String ipamScopeId) {
setIpamScopeId(ipamScopeId);
return this;
}
/**
*
* The locale for the pool should be one of the following:
*
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for
* allocations (supported Local
* Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
*
*
* @param locale
* The locale for the pool should be one of the following:
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be
* available for allocations (supported Local
* Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
*/
public void setLocale(String locale) {
this.locale = locale;
}
/**
*
* The locale for the pool should be one of the following:
*
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for
* allocations (supported Local
* Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
*
*
* @return The locale for the pool should be one of the following:
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be
* available for allocations (supported
* Local Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
*/
public String getLocale() {
return this.locale;
}
/**
*
* The locale for the pool should be one of the following:
*
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for
* allocations (supported Local
* Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
*
*
* @param locale
* The locale for the pool should be one of the following:
*
* -
*
* An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
*
*
* -
*
* The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be
* available for allocations (supported Local
* Zones). This option is only available for IPAM IPv4 pools in the public scope.
*
*
*
*
* 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 or supported Amazon Web Services Local Zone.
* @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
.
*
*
* @param publiclyAdvertisable
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily
* set to 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
.
*
*
* @return Determines if the pool is publicly advertisable. This option is not available for pools with
* AddressFamily set to 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
.
*
*
* @param publiclyAdvertisable
* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily
* set to 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
.
*
*
* @return Determines if the pool is publicly advertisable. This option is not available for pools with
* AddressFamily set to 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 getAllocationResourceTags() {
if (allocationResourceTags == null) {
allocationResourceTags = new com.amazonaws.internal.SdkInternalList();
}
return 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.
*
*
* @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 allocationResourceTags) {
if (allocationResourceTags == null) {
this.allocationResourceTags = null;
return;
}
this.allocationResourceTags = new com.amazonaws.internal.SdkInternalList(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.
*
*
* 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(allocationResourceTags.length));
}
for (RequestIpamResourceTag ele : allocationResourceTags) {
this.allocationResourceTags.add(ele);
}
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.
*
*
* @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 allocationResourceTags) {
setAllocationResourceTags(allocationResourceTags);
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.
*
*
* @return 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.
*/
public java.util.List getTagSpecifications() {
if (tagSpecifications == null) {
tagSpecifications = new com.amazonaws.internal.SdkInternalList();
}
return 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.
*
*
* @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.
*/
public void setTagSpecifications(java.util.Collection tagSpecifications) {
if (tagSpecifications == null) {
this.tagSpecifications = null;
return;
}
this.tagSpecifications = new com.amazonaws.internal.SdkInternalList(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.
*
*
* 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(tagSpecifications.length));
}
for (TagSpecification ele : tagSpecifications) {
this.tagSpecifications.add(ele);
}
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.
*
*
* @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(java.util.Collection tagSpecifications) {
setTagSpecifications(tagSpecifications);
return this;
}
/**
*
* 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.
*
*
* @param 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.
* @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.
*
*
* @return 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.
* @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.
*
*
* @param 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.
* @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.
*
*
* @param 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.
* @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;
}
/**
*
* The resource used to provision CIDRs to a resource planning pool.
*
*
* @param sourceResource
* The resource used to provision CIDRs to a resource planning pool.
*/
public void setSourceResource(IpamPoolSourceResourceRequest sourceResource) {
this.sourceResource = sourceResource;
}
/**
*
* The resource used to provision CIDRs to a resource planning pool.
*
*
* @return The resource used to provision CIDRs to a resource planning pool.
*/
public IpamPoolSourceResourceRequest getSourceResource() {
return this.sourceResource;
}
/**
*
* The resource used to provision CIDRs to a resource planning pool.
*
*
* @param sourceResource
* The resource used to provision CIDRs to a resource planning pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIpamPoolRequest withSourceResource(IpamPoolSourceResourceRequest sourceResource) {
setSourceResource(sourceResource);
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 getDryRunRequest() {
Request request = new CreateIpamPoolRequestMarshaller().marshall(this);
request.addParameter("DryRun", Boolean.toString(true));
return request;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getIpamScopeId() != null)
sb.append("IpamScopeId: ").append(getIpamScopeId()).append(",");
if (getLocale() != null)
sb.append("Locale: ").append(getLocale()).append(",");
if (getSourceIpamPoolId() != null)
sb.append("SourceIpamPoolId: ").append(getSourceIpamPoolId()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getAddressFamily() != null)
sb.append("AddressFamily: ").append(getAddressFamily()).append(",");
if (getAutoImport() != null)
sb.append("AutoImport: ").append(getAutoImport()).append(",");
if (getPubliclyAdvertisable() != null)
sb.append("PubliclyAdvertisable: ").append(getPubliclyAdvertisable()).append(",");
if (getAllocationMinNetmaskLength() != null)
sb.append("AllocationMinNetmaskLength: ").append(getAllocationMinNetmaskLength()).append(",");
if (getAllocationMaxNetmaskLength() != null)
sb.append("AllocationMaxNetmaskLength: ").append(getAllocationMaxNetmaskLength()).append(",");
if (getAllocationDefaultNetmaskLength() != null)
sb.append("AllocationDefaultNetmaskLength: ").append(getAllocationDefaultNetmaskLength()).append(",");
if (getAllocationResourceTags() != null)
sb.append("AllocationResourceTags: ").append(getAllocationResourceTags()).append(",");
if (getTagSpecifications() != null)
sb.append("TagSpecifications: ").append(getTagSpecifications()).append(",");
if (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken()).append(",");
if (getAwsService() != null)
sb.append("AwsService: ").append(getAwsService()).append(",");
if (getPublicIpSource() != null)
sb.append("PublicIpSource: ").append(getPublicIpSource()).append(",");
if (getSourceResource() != null)
sb.append("SourceResource: ").append(getSourceResource());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateIpamPoolRequest == false)
return false;
CreateIpamPoolRequest other = (CreateIpamPoolRequest) obj;
if (other.getIpamScopeId() == null ^ this.getIpamScopeId() == null)
return false;
if (other.getIpamScopeId() != null && other.getIpamScopeId().equals(this.getIpamScopeId()) == false)
return false;
if (other.getLocale() == null ^ this.getLocale() == null)
return false;
if (other.getLocale() != null && other.getLocale().equals(this.getLocale()) == false)
return false;
if (other.getSourceIpamPoolId() == null ^ this.getSourceIpamPoolId() == null)
return false;
if (other.getSourceIpamPoolId() != null && other.getSourceIpamPoolId().equals(this.getSourceIpamPoolId()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getAddressFamily() == null ^ this.getAddressFamily() == null)
return false;
if (other.getAddressFamily() != null && other.getAddressFamily().equals(this.getAddressFamily()) == false)
return false;
if (other.getAutoImport() == null ^ this.getAutoImport() == null)
return false;
if (other.getAutoImport() != null && other.getAutoImport().equals(this.getAutoImport()) == false)
return false;
if (other.getPubliclyAdvertisable() == null ^ this.getPubliclyAdvertisable() == null)
return false;
if (other.getPubliclyAdvertisable() != null && other.getPubliclyAdvertisable().equals(this.getPubliclyAdvertisable()) == false)
return false;
if (other.getAllocationMinNetmaskLength() == null ^ this.getAllocationMinNetmaskLength() == null)
return false;
if (other.getAllocationMinNetmaskLength() != null && other.getAllocationMinNetmaskLength().equals(this.getAllocationMinNetmaskLength()) == false)
return false;
if (other.getAllocationMaxNetmaskLength() == null ^ this.getAllocationMaxNetmaskLength() == null)
return false;
if (other.getAllocationMaxNetmaskLength() != null && other.getAllocationMaxNetmaskLength().equals(this.getAllocationMaxNetmaskLength()) == false)
return false;
if (other.getAllocationDefaultNetmaskLength() == null ^ this.getAllocationDefaultNetmaskLength() == null)
return false;
if (other.getAllocationDefaultNetmaskLength() != null
&& other.getAllocationDefaultNetmaskLength().equals(this.getAllocationDefaultNetmaskLength()) == false)
return false;
if (other.getAllocationResourceTags() == null ^ this.getAllocationResourceTags() == null)
return false;
if (other.getAllocationResourceTags() != null && other.getAllocationResourceTags().equals(this.getAllocationResourceTags()) == false)
return false;
if (other.getTagSpecifications() == null ^ this.getTagSpecifications() == null)
return false;
if (other.getTagSpecifications() != null && other.getTagSpecifications().equals(this.getTagSpecifications()) == false)
return false;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getAwsService() == null ^ this.getAwsService() == null)
return false;
if (other.getAwsService() != null && other.getAwsService().equals(this.getAwsService()) == false)
return false;
if (other.getPublicIpSource() == null ^ this.getPublicIpSource() == null)
return false;
if (other.getPublicIpSource() != null && other.getPublicIpSource().equals(this.getPublicIpSource()) == false)
return false;
if (other.getSourceResource() == null ^ this.getSourceResource() == null)
return false;
if (other.getSourceResource() != null && other.getSourceResource().equals(this.getSourceResource()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getIpamScopeId() == null) ? 0 : getIpamScopeId().hashCode());
hashCode = prime * hashCode + ((getLocale() == null) ? 0 : getLocale().hashCode());
hashCode = prime * hashCode + ((getSourceIpamPoolId() == null) ? 0 : getSourceIpamPoolId().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getAddressFamily() == null) ? 0 : getAddressFamily().hashCode());
hashCode = prime * hashCode + ((getAutoImport() == null) ? 0 : getAutoImport().hashCode());
hashCode = prime * hashCode + ((getPubliclyAdvertisable() == null) ? 0 : getPubliclyAdvertisable().hashCode());
hashCode = prime * hashCode + ((getAllocationMinNetmaskLength() == null) ? 0 : getAllocationMinNetmaskLength().hashCode());
hashCode = prime * hashCode + ((getAllocationMaxNetmaskLength() == null) ? 0 : getAllocationMaxNetmaskLength().hashCode());
hashCode = prime * hashCode + ((getAllocationDefaultNetmaskLength() == null) ? 0 : getAllocationDefaultNetmaskLength().hashCode());
hashCode = prime * hashCode + ((getAllocationResourceTags() == null) ? 0 : getAllocationResourceTags().hashCode());
hashCode = prime * hashCode + ((getTagSpecifications() == null) ? 0 : getTagSpecifications().hashCode());
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getAwsService() == null) ? 0 : getAwsService().hashCode());
hashCode = prime * hashCode + ((getPublicIpSource() == null) ? 0 : getPublicIpSource().hashCode());
hashCode = prime * hashCode + ((getSourceResource() == null) ? 0 : getSourceResource().hashCode());
return hashCode;
}
@Override
public CreateIpamPoolRequest clone() {
return (CreateIpamPoolRequest) super.clone();
}
}