/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* 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. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM * pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a * locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose * an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll * get an error. *
*/ 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; /** ** A message related to the failed creation of an IPAM pool. *
*/ 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
.
*
* 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
* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value
* as the filter value. For example, to find all resources that have a tag with the key Owner
and the
* value TeamA
, specify tag:Owner
for the filter name and TeamA
for the
* filter value.
*
* Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use * space for Elastic IP addresses and VPCs. *
*/ 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.
*
* 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. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM * pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a * locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose * an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll * get an error. *
* * @param locale * The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make * an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can * get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an * IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you * cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as * an operating Region for the IPAM, you'll get an error. */ public void setLocale(String locale) { this.locale = locale; } /** ** The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM * pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a * locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose * an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll * get an error. *
* * @return The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make * an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can * get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an * IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you * cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as * an operating Region for the IPAM, you'll get an error. */ public String getLocale() { return this.locale; } /** ** The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM * pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address * allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a * locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose * an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll * get an error. *
* * @param locale * The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make * an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can * get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an * IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you * cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as * an operating Region for the IPAM, you'll get an error. * @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; } /** ** A message related to the failed creation of an IPAM pool. *
* * @param stateMessage * A message related to the failed creation of an IPAM pool. */ public void setStateMessage(String stateMessage) { this.stateMessage = stateMessage; } /** ** A message related to the failed creation of an IPAM pool. *
* * @return A message related to the failed creation of an IPAM pool. */ public String getStateMessage() { return this.stateMessage; } /** ** A message related to the failed creation of an IPAM pool. *
* * @param stateMessage * A message related to the failed creation of an IPAM pool. * @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
.
*
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
.
*
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
.
*
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
.
*
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* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *
* * @param allocationResourceTags * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. */ public void setAllocationResourceTags(java.util.Collection* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAllocationResourceTags(java.util.Collection)} or * {@link #withAllocationResourceTags(java.util.Collection)} if you want to override the existing values. *
* * @param allocationResourceTags * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. * @return Returns a reference to this object so that method calls can be chained together. */ public IpamPool withAllocationResourceTags(IpamResourceTag... allocationResourceTags) { if (this.allocationResourceTags == null) { setAllocationResourceTags(new com.amazonaws.internal.SdkInternalList* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *
* * @param allocationResourceTags * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. * @return Returns a reference to this object so that method calls can be chained together. */ public IpamPool withAllocationResourceTags(java.util.Collection
* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value
* as the filter value. For example, to find all resources that have a tag with the key Owner
and the
* value TeamA
, specify tag:Owner
for the filter name and TeamA
for the
* filter value.
*
Owner
and the value TeamA
, specify tag:Owner
for the filter name
* and TeamA
for the filter value.
*/
public java.util.List
* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value
* as the filter value. For example, to find all resources that have a tag with the key Owner
and the
* value TeamA
, specify tag:Owner
for the filter name and TeamA
for the
* filter value.
*
Owner
and the value TeamA
, specify tag:Owner
for the filter name
* and TeamA
for the filter value.
*/
public void setTags(java.util.Collection
* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value
* as the filter value. For example, to find all resources that have a tag with the key Owner
and the
* value TeamA
, specify tag:Owner
for the filter name and TeamA
for the
* filter value.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #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
* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value
* as the filter value. For example, to find all resources that have a tag with the key Owner
and the
* value TeamA
, specify tag:Owner
for the filter name and TeamA
for the
* filter value.
*
Owner
and the value TeamA
, specify tag:Owner
for the filter name
* and TeamA
for the filter value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public IpamPool withTags(java.util.Collection* 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.
*
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.
*
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.
*
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.
*
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;
}
/**
* 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());
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;
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());
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);
}
}
}