All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ec2.model.IpamPool Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon EC2 module holds the client classes that are used for communicating with Amazon EC2 Service

There is a newer version: 1.12.772
Show newest version
/*
 * 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. *

*/ 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 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. *

* * @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; } /** * 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); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy