com.amazonaws.services.ec2.model.IpamPool 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;
/**
*
* In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses
* according to your routing and security needs. For example, if you have separate routing and security needs for
* development and production applications, you can create a pool for each.
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class IpamPool implements Serializable, Cloneable {
/**
*
* The Amazon Web Services account ID of the owner of the IPAM pool.
*
*/
private String ownerId;
/**
*
* The ID of the IPAM pool.
*
*/
private String ipamPoolId;
/**
*
* The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.
*
*/
private String sourceIpamPoolId;
/**
*
* The Amazon Resource Name (ARN) of the IPAM pool.
*
*/
private String ipamPoolArn;
/**
*
* The ARN of the scope of the IPAM pool.
*
*/
private String ipamScopeArn;
/**
*
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope
* represents the IP space for a single network. The private scope is intended for all private IP address space. The
* public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple
* unconnected networks without causing IP address overlap or conflict.
*
*/
private String ipamScopeType;
/**
*
* The ARN of the IPAM.
*
*/
private String ipamArn;
/**
*
* The Amazon Web Services Region of the IPAM pool.
*
*/
private String ipamRegion;
/**
*
* The locale of the IPAM pool.
*
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating Region for
* the IPAM, you'll get an error.
*
*/
private String locale;
/**
*
* The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM
* User Guide.
*
*/
private Integer poolDepth;
/**
*
* The state of the IPAM pool.
*
*/
private String state;
/**
*
* The state message.
*
*/
private String stateMessage;
/**
*
* The description of the IPAM pool.
*
*/
private String description;
/**
*
* 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 a pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
*/
private Boolean publiclyAdvertisable;
/**
*
* The address family of the pool.
*
*/
private String addressFamily;
/**
*
* 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 tags;
/**
*
* 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. 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 IpamPoolSourceResource sourceResource;
/**
*
* The Amazon Web Services account ID of the owner of the IPAM pool.
*
*
* @param ownerId
* The Amazon Web Services account ID of the owner of the IPAM pool.
*/
public void setOwnerId(String ownerId) {
this.ownerId = ownerId;
}
/**
*
* The Amazon Web Services account ID of the owner of the IPAM pool.
*
*
* @return The Amazon Web Services account ID of the owner of the IPAM pool.
*/
public String getOwnerId() {
return this.ownerId;
}
/**
*
* The Amazon Web Services account ID of the owner of the IPAM pool.
*
*
* @param ownerId
* The Amazon Web Services account ID of the owner of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withOwnerId(String ownerId) {
setOwnerId(ownerId);
return this;
}
/**
*
* The ID of the IPAM pool.
*
*
* @param ipamPoolId
* The ID of the IPAM pool.
*/
public void setIpamPoolId(String ipamPoolId) {
this.ipamPoolId = ipamPoolId;
}
/**
*
* The ID of the IPAM pool.
*
*
* @return The ID of the IPAM pool.
*/
public String getIpamPoolId() {
return this.ipamPoolId;
}
/**
*
* The ID of the IPAM pool.
*
*
* @param ipamPoolId
* The ID of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withIpamPoolId(String ipamPoolId) {
setIpamPoolId(ipamPoolId);
return this;
}
/**
*
* The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.
*
*
* @param sourceIpamPoolId
* The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source
* pool.
*/
public void setSourceIpamPoolId(String sourceIpamPoolId) {
this.sourceIpamPoolId = sourceIpamPoolId;
}
/**
*
* The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.
*
*
* @return The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source
* pool.
*/
public String getSourceIpamPoolId() {
return this.sourceIpamPoolId;
}
/**
*
* The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.
*
*
* @param sourceIpamPoolId
* The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source
* pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withSourceIpamPoolId(String sourceIpamPoolId) {
setSourceIpamPoolId(sourceIpamPoolId);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the IPAM pool.
*
*
* @param ipamPoolArn
* The Amazon Resource Name (ARN) of the IPAM pool.
*/
public void setIpamPoolArn(String ipamPoolArn) {
this.ipamPoolArn = ipamPoolArn;
}
/**
*
* The Amazon Resource Name (ARN) of the IPAM pool.
*
*
* @return The Amazon Resource Name (ARN) of the IPAM pool.
*/
public String getIpamPoolArn() {
return this.ipamPoolArn;
}
/**
*
* The Amazon Resource Name (ARN) of the IPAM pool.
*
*
* @param ipamPoolArn
* The Amazon Resource Name (ARN) of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withIpamPoolArn(String ipamPoolArn) {
setIpamPoolArn(ipamPoolArn);
return this;
}
/**
*
* The ARN of the scope of the IPAM pool.
*
*
* @param ipamScopeArn
* The ARN of the scope of the IPAM pool.
*/
public void setIpamScopeArn(String ipamScopeArn) {
this.ipamScopeArn = ipamScopeArn;
}
/**
*
* The ARN of the scope of the IPAM pool.
*
*
* @return The ARN of the scope of the IPAM pool.
*/
public String getIpamScopeArn() {
return this.ipamScopeArn;
}
/**
*
* The ARN of the scope of the IPAM pool.
*
*
* @param ipamScopeArn
* The ARN of the scope of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withIpamScopeArn(String ipamScopeArn) {
setIpamScopeArn(ipamScopeArn);
return this;
}
/**
*
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope
* represents the IP space for a single network. The private scope is intended for all private IP address space. The
* public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple
* unconnected networks without causing IP address overlap or conflict.
*
*
* @param ipamScopeType
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each
* scope represents the IP space for a single network. The private scope is intended for all private IP
* address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP
* addresses across multiple unconnected networks without causing IP address overlap or conflict.
* @see IpamScopeType
*/
public void setIpamScopeType(String ipamScopeType) {
this.ipamScopeType = ipamScopeType;
}
/**
*
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope
* represents the IP space for a single network. The private scope is intended for all private IP address space. The
* public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple
* unconnected networks without causing IP address overlap or conflict.
*
*
* @return In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each
* scope represents the IP space for a single network. The private scope is intended for all private IP
* address space. The public scope is intended for all public IP address space. Scopes enable you to reuse
* IP addresses across multiple unconnected networks without causing IP address overlap or conflict.
* @see IpamScopeType
*/
public String getIpamScopeType() {
return this.ipamScopeType;
}
/**
*
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope
* represents the IP space for a single network. The private scope is intended for all private IP address space. The
* public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple
* unconnected networks without causing IP address overlap or conflict.
*
*
* @param ipamScopeType
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each
* scope represents the IP space for a single network. The private scope is intended for all private IP
* address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP
* addresses across multiple unconnected networks without causing IP address overlap or conflict.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IpamScopeType
*/
public IpamPool withIpamScopeType(String ipamScopeType) {
setIpamScopeType(ipamScopeType);
return this;
}
/**
*
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope
* represents the IP space for a single network. The private scope is intended for all private IP address space. The
* public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple
* unconnected networks without causing IP address overlap or conflict.
*
*
* @param ipamScopeType
* In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each
* scope represents the IP space for a single network. The private scope is intended for all private IP
* address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP
* addresses across multiple unconnected networks without causing IP address overlap or conflict.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IpamScopeType
*/
public IpamPool withIpamScopeType(IpamScopeType ipamScopeType) {
this.ipamScopeType = ipamScopeType.toString();
return this;
}
/**
*
* The ARN of the IPAM.
*
*
* @param ipamArn
* The ARN of the IPAM.
*/
public void setIpamArn(String ipamArn) {
this.ipamArn = ipamArn;
}
/**
*
* The ARN of the IPAM.
*
*
* @return The ARN of the IPAM.
*/
public String getIpamArn() {
return this.ipamArn;
}
/**
*
* The ARN of the IPAM.
*
*
* @param ipamArn
* The ARN of the IPAM.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withIpamArn(String ipamArn) {
setIpamArn(ipamArn);
return this;
}
/**
*
* The Amazon Web Services Region of the IPAM pool.
*
*
* @param ipamRegion
* The Amazon Web Services Region of the IPAM pool.
*/
public void setIpamRegion(String ipamRegion) {
this.ipamRegion = ipamRegion;
}
/**
*
* The Amazon Web Services Region of the IPAM pool.
*
*
* @return The Amazon Web Services Region of the IPAM pool.
*/
public String getIpamRegion() {
return this.ipamRegion;
}
/**
*
* The Amazon Web Services Region of the IPAM pool.
*
*
* @param ipamRegion
* The Amazon Web Services Region of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withIpamRegion(String ipamRegion) {
setIpamRegion(ipamRegion);
return this;
}
/**
*
* The locale of the IPAM pool.
*
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating Region for
* the IPAM, you'll get an error.
*
*
* @param locale
* The locale of the IPAM pool.
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating Region
* for the IPAM, you'll get an error.
*/
public void setLocale(String locale) {
this.locale = locale;
}
/**
*
* The locale of the IPAM pool.
*
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating Region for
* the IPAM, you'll get an error.
*
*
* @return The locale of the IPAM pool.
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating
* Region for the IPAM, you'll get an error.
*/
public String getLocale() {
return this.locale;
}
/**
*
* The locale of the IPAM pool.
*
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating Region for
* the IPAM, you'll get an error.
*
*
* @param locale
* The locale of the IPAM pool.
*
* 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 choose an Amazon Web Services Region for locale that has not been configured as an operating Region
* for the IPAM, you'll get an error.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withLocale(String locale) {
setLocale(locale);
return this;
}
/**
*
* The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM
* User Guide.
*
*
* @param poolDepth
* The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon
* VPC IPAM User Guide.
*/
public void setPoolDepth(Integer poolDepth) {
this.poolDepth = poolDepth;
}
/**
*
* The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM
* User Guide.
*
*
* @return The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon
* VPC IPAM User Guide.
*/
public Integer getPoolDepth() {
return this.poolDepth;
}
/**
*
* The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM
* User Guide.
*
*
* @param poolDepth
* The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon
* VPC IPAM User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withPoolDepth(Integer poolDepth) {
setPoolDepth(poolDepth);
return this;
}
/**
*
* The state of the IPAM pool.
*
*
* @param state
* The state of the IPAM pool.
* @see IpamPoolState
*/
public void setState(String state) {
this.state = state;
}
/**
*
* The state of the IPAM pool.
*
*
* @return The state of the IPAM pool.
* @see IpamPoolState
*/
public String getState() {
return this.state;
}
/**
*
* The state of the IPAM pool.
*
*
* @param state
* The state of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IpamPoolState
*/
public IpamPool withState(String state) {
setState(state);
return this;
}
/**
*
* The state of the IPAM pool.
*
*
* @param state
* The state of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IpamPoolState
*/
public IpamPool withState(IpamPoolState state) {
this.state = state.toString();
return this;
}
/**
*
* The state message.
*
*
* @param stateMessage
* The state message.
*/
public void setStateMessage(String stateMessage) {
this.stateMessage = stateMessage;
}
/**
*
* The state message.
*
*
* @return The state message.
*/
public String getStateMessage() {
return this.stateMessage;
}
/**
*
* The state message.
*
*
* @param stateMessage
* The state message.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withStateMessage(String stateMessage) {
setStateMessage(stateMessage);
return this;
}
/**
*
* The description of the IPAM pool.
*
*
* @param description
* The description of the IPAM pool.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* The description of the IPAM pool.
*
*
* @return The description of the IPAM pool.
*/
public String getDescription() {
return this.description;
}
/**
*
* The description of the IPAM pool.
*
*
* @param description
* The description of the IPAM pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withDescription(String description) {
setDescription(description);
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 IpamPool 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 a pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
*
* @param publiclyAdvertisable
* Determines if a 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 a pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
*
* @return Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily
* set to ipv4
.
*/
public Boolean getPubliclyAdvertisable() {
return this.publiclyAdvertisable;
}
/**
*
* Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
*
* @param publiclyAdvertisable
* Determines if a 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 IpamPool withPubliclyAdvertisable(Boolean publiclyAdvertisable) {
setPubliclyAdvertisable(publiclyAdvertisable);
return this;
}
/**
*
* Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to
* ipv4
.
*
*
* @return Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily
* set to ipv4
.
*/
public Boolean isPubliclyAdvertisable() {
return this.publiclyAdvertisable;
}
/**
*
* The address family of the pool.
*
*
* @param addressFamily
* The address family of the pool.
* @see AddressFamily
*/
public void setAddressFamily(String addressFamily) {
this.addressFamily = addressFamily;
}
/**
*
* The address family of the pool.
*
*
* @return The address family of the pool.
* @see AddressFamily
*/
public String getAddressFamily() {
return this.addressFamily;
}
/**
*
* The address family of the pool.
*
*
* @param addressFamily
* The address family of the pool.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AddressFamily
*/
public IpamPool withAddressFamily(String addressFamily) {
setAddressFamily(addressFamily);
return this;
}
/**
*
* The address family of the pool.
*
*
* @param addressFamily
* The address family of the pool.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AddressFamily
*/
public IpamPool withAddressFamily(AddressFamily addressFamily) {
this.addressFamily = addressFamily.toString();
return this;
}
/**
*
* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask
* length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32.
* Possible netmask lengths for IPv6 addresses are 0 - 128.
*
*
* @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 IpamPool 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 IpamPool 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 IpamPool 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 IpamPool withAllocationResourceTags(IpamResourceTag... allocationResourceTags) {
if (this.allocationResourceTags == null) {
setAllocationResourceTags(new com.amazonaws.internal.SdkInternalList(allocationResourceTags.length));
}
for (IpamResourceTag 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 IpamPool 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 getTags() {
if (tags == null) {
tags = new com.amazonaws.internal.SdkInternalList();
}
return tags;
}
/**
*
* 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 tags
* 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 setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new com.amazonaws.internal.SdkInternalList(tags);
}
/**
*
* 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 #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param tags
* 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 IpamPool withTags(Tag... tags) {
if (this.tags == null) {
setTags(new com.amazonaws.internal.SdkInternalList(tags.length));
}
for (Tag ele : tags) {
this.tags.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 tags
* 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 IpamPool withTags(java.util.Collection tags) {
setTags(tags);
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 IpamPool 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 IpamPool 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. 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. 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. 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. 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. 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. 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 IpamPool 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. 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. 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 IpamPool 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(IpamPoolSourceResource 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 IpamPoolSourceResource 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 IpamPool withSourceResource(IpamPoolSourceResource sourceResource) {
setSourceResource(sourceResource);
return this;
}
/**
* 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 (getOwnerId() != null)
sb.append("OwnerId: ").append(getOwnerId()).append(",");
if (getIpamPoolId() != null)
sb.append("IpamPoolId: ").append(getIpamPoolId()).append(",");
if (getSourceIpamPoolId() != null)
sb.append("SourceIpamPoolId: ").append(getSourceIpamPoolId()).append(",");
if (getIpamPoolArn() != null)
sb.append("IpamPoolArn: ").append(getIpamPoolArn()).append(",");
if (getIpamScopeArn() != null)
sb.append("IpamScopeArn: ").append(getIpamScopeArn()).append(",");
if (getIpamScopeType() != null)
sb.append("IpamScopeType: ").append(getIpamScopeType()).append(",");
if (getIpamArn() != null)
sb.append("IpamArn: ").append(getIpamArn()).append(",");
if (getIpamRegion() != null)
sb.append("IpamRegion: ").append(getIpamRegion()).append(",");
if (getLocale() != null)
sb.append("Locale: ").append(getLocale()).append(",");
if (getPoolDepth() != null)
sb.append("PoolDepth: ").append(getPoolDepth()).append(",");
if (getState() != null)
sb.append("State: ").append(getState()).append(",");
if (getStateMessage() != null)
sb.append("StateMessage: ").append(getStateMessage()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getAutoImport() != null)
sb.append("AutoImport: ").append(getAutoImport()).append(",");
if (getPubliclyAdvertisable() != null)
sb.append("PubliclyAdvertisable: ").append(getPubliclyAdvertisable()).append(",");
if (getAddressFamily() != null)
sb.append("AddressFamily: ").append(getAddressFamily()).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 (getTags() != null)
sb.append("Tags: ").append(getTags()).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 IpamPool == false)
return false;
IpamPool other = (IpamPool) obj;
if (other.getOwnerId() == null ^ this.getOwnerId() == null)
return false;
if (other.getOwnerId() != null && other.getOwnerId().equals(this.getOwnerId()) == false)
return false;
if (other.getIpamPoolId() == null ^ this.getIpamPoolId() == null)
return false;
if (other.getIpamPoolId() != null && other.getIpamPoolId().equals(this.getIpamPoolId()) == 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.getIpamPoolArn() == null ^ this.getIpamPoolArn() == null)
return false;
if (other.getIpamPoolArn() != null && other.getIpamPoolArn().equals(this.getIpamPoolArn()) == false)
return false;
if (other.getIpamScopeArn() == null ^ this.getIpamScopeArn() == null)
return false;
if (other.getIpamScopeArn() != null && other.getIpamScopeArn().equals(this.getIpamScopeArn()) == false)
return false;
if (other.getIpamScopeType() == null ^ this.getIpamScopeType() == null)
return false;
if (other.getIpamScopeType() != null && other.getIpamScopeType().equals(this.getIpamScopeType()) == false)
return false;
if (other.getIpamArn() == null ^ this.getIpamArn() == null)
return false;
if (other.getIpamArn() != null && other.getIpamArn().equals(this.getIpamArn()) == false)
return false;
if (other.getIpamRegion() == null ^ this.getIpamRegion() == null)
return false;
if (other.getIpamRegion() != null && other.getIpamRegion().equals(this.getIpamRegion()) == 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.getPoolDepth() == null ^ this.getPoolDepth() == null)
return false;
if (other.getPoolDepth() != null && other.getPoolDepth().equals(this.getPoolDepth()) == false)
return false;
if (other.getState() == null ^ this.getState() == null)
return false;
if (other.getState() != null && other.getState().equals(this.getState()) == false)
return false;
if (other.getStateMessage() == null ^ this.getStateMessage() == null)
return false;
if (other.getStateMessage() != null && other.getStateMessage().equals(this.getStateMessage()) == 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.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.getAddressFamily() == null ^ this.getAddressFamily() == null)
return false;
if (other.getAddressFamily() != null && other.getAddressFamily().equals(this.getAddressFamily()) == 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.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == 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 + ((getOwnerId() == null) ? 0 : getOwnerId().hashCode());
hashCode = prime * hashCode + ((getIpamPoolId() == null) ? 0 : getIpamPoolId().hashCode());
hashCode = prime * hashCode + ((getSourceIpamPoolId() == null) ? 0 : getSourceIpamPoolId().hashCode());
hashCode = prime * hashCode + ((getIpamPoolArn() == null) ? 0 : getIpamPoolArn().hashCode());
hashCode = prime * hashCode + ((getIpamScopeArn() == null) ? 0 : getIpamScopeArn().hashCode());
hashCode = prime * hashCode + ((getIpamScopeType() == null) ? 0 : getIpamScopeType().hashCode());
hashCode = prime * hashCode + ((getIpamArn() == null) ? 0 : getIpamArn().hashCode());
hashCode = prime * hashCode + ((getIpamRegion() == null) ? 0 : getIpamRegion().hashCode());
hashCode = prime * hashCode + ((getLocale() == null) ? 0 : getLocale().hashCode());
hashCode = prime * hashCode + ((getPoolDepth() == null) ? 0 : getPoolDepth().hashCode());
hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode());
hashCode = prime * hashCode + ((getStateMessage() == null) ? 0 : getStateMessage().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getAutoImport() == null) ? 0 : getAutoImport().hashCode());
hashCode = prime * hashCode + ((getPubliclyAdvertisable() == null) ? 0 : getPubliclyAdvertisable().hashCode());
hashCode = prime * hashCode + ((getAddressFamily() == null) ? 0 : getAddressFamily().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 + ((getTags() == null) ? 0 : getTags().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 IpamPool clone() {
try {
return (IpamPool) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}