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

com.amazonaws.services.ec2.model.CreateIpamPoolRequest 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

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.ec2.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CreateIpamPoolRequestMarshaller;

/**
 * 
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateIpamPoolRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest {

    /**
     * 

* The ID of the scope in which you would like to create the IPAM pool. *

*/ private String ipamScopeId; /** *

* The locale for the pool should be one of the following: *

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for * allocations (supported Local * Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this * pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. *

*/ private String locale; /** *

* The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *

*/ private String sourceIpamPoolId; /** *

* A description for the IPAM pool. *

*/ private String description; /** *

* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *

*/ private String addressFamily; /** *

* If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically * import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already * be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its * compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as * noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. *

*

* A locale must be set on the pool for this feature to work. *

*/ private Boolean autoImport; /** *

* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to * ipv4. *

*/ private Boolean publiclyAdvertisable; /** *

* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask * length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

*/ private Integer allocationMinNetmaskLength; /** *

* The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask * length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

*/ private Integer allocationMaxNetmaskLength; /** *

* The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is * 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. *

*/ private Integer allocationDefaultNetmaskLength; /** *

* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *

*/ private com.amazonaws.internal.SdkInternalList allocationResourceTags; /** *

* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value * as the filter value. For example, to find all resources that have a tag with the key Owner and the * value TeamA, specify tag:Owner for the filter name and TeamA for the * filter value. *

*/ private com.amazonaws.internal.SdkInternalList tagSpecifications; /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * idempotency. *

*/ private String clientToken; /** *

* Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use * space for Elastic IP addresses and VPCs. *

*/ private String awsService; /** *

* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the * public scope. Default is byoip. For more information, see Create IPv6 pools in the * Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a * top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, * see Quotas for your IPAM in the * Amazon VPC IPAM User Guide. *

*/ private String publicIpSource; /** *

* The resource used to provision CIDRs to a resource planning pool. *

*/ private IpamPoolSourceResourceRequest sourceResource; /** *

* The ID of the scope in which you would like to create the IPAM pool. *

* * @param ipamScopeId * The ID of the scope in which you would like to create the IPAM pool. */ public void setIpamScopeId(String ipamScopeId) { this.ipamScopeId = ipamScopeId; } /** *

* The ID of the scope in which you would like to create the IPAM pool. *

* * @return The ID of the scope in which you would like to create the IPAM pool. */ public String getIpamScopeId() { return this.ipamScopeId; } /** *

* The ID of the scope in which you would like to create the IPAM pool. *

* * @param ipamScopeId * The ID of the scope in which you would like to create the IPAM pool. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withIpamScopeId(String ipamScopeId) { setIpamScopeId(ipamScopeId); return this; } /** *

* The locale for the pool should be one of the following: *

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for * allocations (supported Local * Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this * pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. *

* * @param locale * The locale for the pool should be one of the following:

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be * available for allocations (supported Local * Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs * from this pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. */ public void setLocale(String locale) { this.locale = locale; } /** *

* The locale for the pool should be one of the following: *

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for * allocations (supported Local * Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this * pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. *

* * @return The locale for the pool should be one of the following:

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be * available for allocations (supported * Local Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs * from this pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. */ public String getLocale() { return this.locale; } /** *

* The locale for the pool should be one of the following: *

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for * allocations (supported Local * Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this * pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. *

* * @param locale * The locale for the pool should be one of the following:

*
    *
  • *

    * An Amazon Web Services Region where you want this IPAM pool to be available for allocations. *

    *
  • *
  • *

    * The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be * available for allocations (supported Local * Zones). This option is only available for IPAM IPv4 pools in the public scope. *

    *
  • *
*

* If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs * from this pool. *

*

* Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withLocale(String locale) { setLocale(locale); return this; } /** *

* The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *

* * @param sourceIpamPoolId * The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the * CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range. */ public void setSourceIpamPoolId(String sourceIpamPoolId) { this.sourceIpamPoolId = sourceIpamPoolId; } /** *

* The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *

* * @return The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the * CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range. */ public String getSourceIpamPoolId() { return this.sourceIpamPoolId; } /** *

* The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you * provision for the pool within the source pool must be available in the source pool's CIDR range. *

* * @param sourceIpamPoolId * The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the * CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withSourceIpamPoolId(String sourceIpamPoolId) { setSourceIpamPoolId(sourceIpamPoolId); return this; } /** *

* A description for the IPAM pool. *

* * @param description * A description for the IPAM pool. */ public void setDescription(String description) { this.description = description; } /** *

* A description for the IPAM pool. *

* * @return A description for the IPAM pool. */ public String getDescription() { return this.description; } /** *

* A description for the IPAM pool. *

* * @param description * A description for the IPAM pool. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withDescription(String description) { setDescription(description); return this; } /** *

* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *

* * @param addressFamily * The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @see AddressFamily */ public void setAddressFamily(String addressFamily) { this.addressFamily = addressFamily; } /** *

* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *

* * @return The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @see AddressFamily */ public String getAddressFamily() { return this.addressFamily; } /** *

* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *

* * @param addressFamily * The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @return Returns a reference to this object so that method calls can be chained together. * @see AddressFamily */ public CreateIpamPoolRequest withAddressFamily(String addressFamily) { setAddressFamily(addressFamily); return this; } /** *

* The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. *

* * @param addressFamily * The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool. * @return Returns a reference to this object so that method calls can be chained together. * @see AddressFamily */ public CreateIpamPoolRequest withAddressFamily(AddressFamily addressFamily) { this.addressFamily = addressFamily.toString(); return this; } /** *

* If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically * import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already * be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its * compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as * noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. *

*

* A locale must be set on the pool for this feature to work. *

* * @param autoImport * If selected, IPAM will continuously look for resources within the CIDR range of this pool and * automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these * resources must not already be allocated to other resources in order for the import to succeed. IPAM will * import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be * imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will * import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly * import one of them only.

*

* A locale must be set on the pool for this feature to work. */ public void setAutoImport(Boolean autoImport) { this.autoImport = autoImport; } /** *

* If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically * import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already * be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its * compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as * noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. *

*

* A locale must be set on the pool for this feature to work. *

* * @return If selected, IPAM will continuously look for resources within the CIDR range of this pool and * automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these * resources must not already be allocated to other resources in order for the import to succeed. IPAM will * import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be * imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM * will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will * randomly import one of them only.

*

* A locale must be set on the pool for this feature to work. */ public Boolean getAutoImport() { return this.autoImport; } /** *

* If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically * import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already * be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its * compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as * noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. *

*

* A locale must be set on the pool for this feature to work. *

* * @param autoImport * If selected, IPAM will continuously look for resources within the CIDR range of this pool and * automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these * resources must not already be allocated to other resources in order for the import to succeed. IPAM will * import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be * imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will * import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly * import one of them only.

*

* A locale must be set on the pool for this feature to work. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAutoImport(Boolean autoImport) { setAutoImport(autoImport); return this; } /** *

* If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically * import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already * be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its * compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as * noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. *

*

* A locale must be set on the pool for this feature to work. *

* * @return If selected, IPAM will continuously look for resources within the CIDR range of this pool and * automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these * resources must not already be allocated to other resources in order for the import to succeed. IPAM will * import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be * imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM * will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will * randomly import one of them only.

*

* A locale must be set on the pool for this feature to work. */ public Boolean isAutoImport() { return this.autoImport; } /** *

* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to * ipv4. *

* * @param publiclyAdvertisable * Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily * set to ipv4. */ public void setPubliclyAdvertisable(Boolean publiclyAdvertisable) { this.publiclyAdvertisable = publiclyAdvertisable; } /** *

* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to * ipv4. *

* * @return Determines if the pool is publicly advertisable. This option is not available for pools with * AddressFamily set to ipv4. */ public Boolean getPubliclyAdvertisable() { return this.publiclyAdvertisable; } /** *

* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to * ipv4. *

* * @param publiclyAdvertisable * Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily * set to ipv4. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withPubliclyAdvertisable(Boolean publiclyAdvertisable) { setPubliclyAdvertisable(publiclyAdvertisable); return this; } /** *

* Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to * ipv4. *

* * @return Determines if the pool is publicly advertisable. This option is not available for pools with * AddressFamily set to ipv4. */ public Boolean isPubliclyAdvertisable() { return this.publiclyAdvertisable; } /** *

* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask * length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

* * @param allocationMinNetmaskLength * The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum * netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses * are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. */ public void setAllocationMinNetmaskLength(Integer allocationMinNetmaskLength) { this.allocationMinNetmaskLength = allocationMinNetmaskLength; } /** *

* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask * length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

* * @return The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum * netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses * are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. */ public Integer getAllocationMinNetmaskLength() { return this.allocationMinNetmaskLength; } /** *

* The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask * length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

* * @param allocationMinNetmaskLength * The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum * netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses * are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationMinNetmaskLength(Integer allocationMinNetmaskLength) { setAllocationMinNetmaskLength(allocationMinNetmaskLength); return this; } /** *

* The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask * length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

* * @param allocationMaxNetmaskLength * The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum * netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 * addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. */ public void setAllocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) { this.allocationMaxNetmaskLength = allocationMaxNetmaskLength; } /** *

* The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask * length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

* * @return The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum * netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 * addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. */ public Integer getAllocationMaxNetmaskLength() { return this.allocationMaxNetmaskLength; } /** *

* The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask * length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. * Possible netmask lengths for IPv6 addresses are 0 - 128. *

* * @param allocationMaxNetmaskLength * The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum * netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 * addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) { setAllocationMaxNetmaskLength(allocationMaxNetmaskLength); return this; } /** *

* The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is * 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. *

* * @param allocationDefaultNetmaskLength * The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this * pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. */ public void setAllocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) { this.allocationDefaultNetmaskLength = allocationDefaultNetmaskLength; } /** *

* The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is * 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. *

* * @return The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this * pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. */ public Integer getAllocationDefaultNetmaskLength() { return this.allocationDefaultNetmaskLength; } /** *

* The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is * 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. *

* * @param allocationDefaultNetmaskLength * The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this * pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) { setAllocationDefaultNetmaskLength(allocationDefaultNetmaskLength); return this; } /** *

* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *

* * @return Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. */ public java.util.List getAllocationResourceTags() { if (allocationResourceTags == null) { allocationResourceTags = new com.amazonaws.internal.SdkInternalList(); } return allocationResourceTags; } /** *

* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *

* * @param allocationResourceTags * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. */ public void setAllocationResourceTags(java.util.Collection allocationResourceTags) { if (allocationResourceTags == null) { this.allocationResourceTags = null; return; } this.allocationResourceTags = new com.amazonaws.internal.SdkInternalList(allocationResourceTags); } /** *

* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAllocationResourceTags(java.util.Collection)} or * {@link #withAllocationResourceTags(java.util.Collection)} if you want to override the existing values. *

* * @param allocationResourceTags * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationResourceTags(RequestIpamResourceTag... allocationResourceTags) { if (this.allocationResourceTags == null) { setAllocationResourceTags(new com.amazonaws.internal.SdkInternalList(allocationResourceTags.length)); } for (RequestIpamResourceTag ele : allocationResourceTags) { this.allocationResourceTags.add(ele); } return this; } /** *

* Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags * will not be allowed to allocate space from the pool. If the resources have their tags changed after they have * allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as * noncompliant. *

* * @param allocationResourceTags * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these * tags will not be allowed to allocate space from the pool. If the resources have their tags changed after * they have allocated space or if the allocation tagging requirements are changed on the pool, the resource * may be marked as noncompliant. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withAllocationResourceTags(java.util.Collection allocationResourceTags) { setAllocationResourceTags(allocationResourceTags); return this; } /** *

* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value * as the filter value. For example, to find all resources that have a tag with the key Owner and the * value TeamA, specify tag:Owner for the filter name and TeamA for the * filter value. *

* * @return The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the * tag value as the filter value. For example, to find all resources that have a tag with the key * Owner and the value TeamA, specify tag:Owner for the filter name * and TeamA for the filter value. */ public java.util.List getTagSpecifications() { if (tagSpecifications == null) { tagSpecifications = new com.amazonaws.internal.SdkInternalList(); } return tagSpecifications; } /** *

* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value * as the filter value. For example, to find all resources that have a tag with the key Owner and the * value TeamA, specify tag:Owner for the filter name and TeamA for the * filter value. *

* * @param tagSpecifications * The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the * tag value as the filter value. For example, to find all resources that have a tag with the key * Owner and the value TeamA, specify tag:Owner for the filter name * and TeamA for the filter value. */ public void setTagSpecifications(java.util.Collection tagSpecifications) { if (tagSpecifications == null) { this.tagSpecifications = null; return; } this.tagSpecifications = new com.amazonaws.internal.SdkInternalList(tagSpecifications); } /** *

* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value * as the filter value. For example, to find all resources that have a tag with the key Owner and the * value TeamA, specify tag:Owner for the filter name and TeamA for the * filter value. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTagSpecifications(java.util.Collection)} or {@link #withTagSpecifications(java.util.Collection)} if * you want to override the existing values. *

* * @param tagSpecifications * The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the * tag value as the filter value. For example, to find all resources that have a tag with the key * Owner and the value TeamA, specify tag:Owner for the filter name * and TeamA for the filter value. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withTagSpecifications(TagSpecification... tagSpecifications) { if (this.tagSpecifications == null) { setTagSpecifications(new com.amazonaws.internal.SdkInternalList(tagSpecifications.length)); } for (TagSpecification ele : tagSpecifications) { this.tagSpecifications.add(ele); } return this; } /** *

* The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value * as the filter value. For example, to find all resources that have a tag with the key Owner and the * value TeamA, specify tag:Owner for the filter name and TeamA for the * filter value. *

* * @param tagSpecifications * The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the * tag value as the filter value. For example, to find all resources that have a tag with the key * Owner and the value TeamA, specify tag:Owner for the filter name * and TeamA for the filter value. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withTagSpecifications(java.util.Collection tagSpecifications) { setTagSpecifications(tagSpecifications); return this; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * idempotency. *

* * @param clientToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring idempotency. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * idempotency. *

* * @return A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring idempotency. */ public String getClientToken() { return this.clientToken; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring * idempotency. *

* * @param clientToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensuring idempotency. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** *

* Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use * space for Elastic IP addresses and VPCs. *

* * @param awsService * Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users * to use space for Elastic IP addresses and VPCs. * @see IpamPoolAwsService */ public void setAwsService(String awsService) { this.awsService = awsService; } /** *

* Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use * space for Elastic IP addresses and VPCs. *

* * @return Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows * users to use space for Elastic IP addresses and VPCs. * @see IpamPoolAwsService */ public String getAwsService() { return this.awsService; } /** *

* Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use * space for Elastic IP addresses and VPCs. *

* * @param awsService * Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users * to use space for Elastic IP addresses and VPCs. * @return Returns a reference to this object so that method calls can be chained together. * @see IpamPoolAwsService */ public CreateIpamPoolRequest withAwsService(String awsService) { setAwsService(awsService); return this; } /** *

* Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use * space for Elastic IP addresses and VPCs. *

* * @param awsService * Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users * to use space for Elastic IP addresses and VPCs. * @return Returns a reference to this object so that method calls can be chained together. * @see IpamPoolAwsService */ public CreateIpamPoolRequest withAwsService(IpamPoolAwsService awsService) { this.awsService = awsService.toString(); return this; } /** *

* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the * public scope. Default is byoip. For more information, see Create IPv6 pools in the * Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a * top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, * see Quotas for your IPAM in the * Amazon VPC IPAM User Guide. *

* * @param publicIpSource * The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools * in the public scope. Default is byoip. For more information, see Create IPv6 pools in * the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to * a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default * limit, see Quotas for your * IPAM in the Amazon VPC IPAM User Guide. * @see IpamPoolPublicIpSource */ public void setPublicIpSource(String publicIpSource) { this.publicIpSource = publicIpSource; } /** *

* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the * public scope. Default is byoip. For more information, see Create IPv6 pools in the * Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a * top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, * see Quotas for your IPAM in the * Amazon VPC IPAM User Guide. *

* * @return The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools * in the public scope. Default is byoip. For more information, see Create IPv6 pools in * the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block * to a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the * default limit, see Quotas for * your IPAM in the Amazon VPC IPAM User Guide. * @see IpamPoolPublicIpSource */ public String getPublicIpSource() { return this.publicIpSource; } /** *

* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the * public scope. Default is byoip. For more information, see Create IPv6 pools in the * Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a * top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, * see Quotas for your IPAM in the * Amazon VPC IPAM User Guide. *

* * @param publicIpSource * The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools * in the public scope. Default is byoip. For more information, see Create IPv6 pools in * the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to * a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default * limit, see Quotas for your * IPAM in the Amazon VPC IPAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see IpamPoolPublicIpSource */ public CreateIpamPoolRequest withPublicIpSource(String publicIpSource) { setPublicIpSource(publicIpSource); return this; } /** *

* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the * public scope. Default is byoip. For more information, see Create IPv6 pools in the * Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a * top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, * see Quotas for your IPAM in the * Amazon VPC IPAM User Guide. *

* * @param publicIpSource * The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools * in the public scope. Default is byoip. For more information, see Create IPv6 pools in * the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to * a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default * limit, see Quotas for your * IPAM in the Amazon VPC IPAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see IpamPoolPublicIpSource */ public CreateIpamPoolRequest withPublicIpSource(IpamPoolPublicIpSource publicIpSource) { this.publicIpSource = publicIpSource.toString(); return this; } /** *

* The resource used to provision CIDRs to a resource planning pool. *

* * @param sourceResource * The resource used to provision CIDRs to a resource planning pool. */ public void setSourceResource(IpamPoolSourceResourceRequest sourceResource) { this.sourceResource = sourceResource; } /** *

* The resource used to provision CIDRs to a resource planning pool. *

* * @return The resource used to provision CIDRs to a resource planning pool. */ public IpamPoolSourceResourceRequest getSourceResource() { return this.sourceResource; } /** *

* The resource used to provision CIDRs to a resource planning pool. *

* * @param sourceResource * The resource used to provision CIDRs to a resource planning pool. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateIpamPoolRequest withSourceResource(IpamPoolSourceResourceRequest sourceResource) { setSourceResource(sourceResource); return this; } /** * This method is intended for internal use only. Returns the marshaled request configured with additional * parameters to enable operation dry-run. */ @Override public Request getDryRunRequest() { Request request = new CreateIpamPoolRequestMarshaller().marshall(this); request.addParameter("DryRun", Boolean.toString(true)); return request; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getIpamScopeId() != null) sb.append("IpamScopeId: ").append(getIpamScopeId()).append(","); if (getLocale() != null) sb.append("Locale: ").append(getLocale()).append(","); if (getSourceIpamPoolId() != null) sb.append("SourceIpamPoolId: ").append(getSourceIpamPoolId()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getAddressFamily() != null) sb.append("AddressFamily: ").append(getAddressFamily()).append(","); if (getAutoImport() != null) sb.append("AutoImport: ").append(getAutoImport()).append(","); if (getPubliclyAdvertisable() != null) sb.append("PubliclyAdvertisable: ").append(getPubliclyAdvertisable()).append(","); if (getAllocationMinNetmaskLength() != null) sb.append("AllocationMinNetmaskLength: ").append(getAllocationMinNetmaskLength()).append(","); if (getAllocationMaxNetmaskLength() != null) sb.append("AllocationMaxNetmaskLength: ").append(getAllocationMaxNetmaskLength()).append(","); if (getAllocationDefaultNetmaskLength() != null) sb.append("AllocationDefaultNetmaskLength: ").append(getAllocationDefaultNetmaskLength()).append(","); if (getAllocationResourceTags() != null) sb.append("AllocationResourceTags: ").append(getAllocationResourceTags()).append(","); if (getTagSpecifications() != null) sb.append("TagSpecifications: ").append(getTagSpecifications()).append(","); if (getClientToken() != null) sb.append("ClientToken: ").append(getClientToken()).append(","); if (getAwsService() != null) sb.append("AwsService: ").append(getAwsService()).append(","); if (getPublicIpSource() != null) sb.append("PublicIpSource: ").append(getPublicIpSource()).append(","); if (getSourceResource() != null) sb.append("SourceResource: ").append(getSourceResource()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateIpamPoolRequest == false) return false; CreateIpamPoolRequest other = (CreateIpamPoolRequest) obj; if (other.getIpamScopeId() == null ^ this.getIpamScopeId() == null) return false; if (other.getIpamScopeId() != null && other.getIpamScopeId().equals(this.getIpamScopeId()) == false) return false; if (other.getLocale() == null ^ this.getLocale() == null) return false; if (other.getLocale() != null && other.getLocale().equals(this.getLocale()) == false) return false; if (other.getSourceIpamPoolId() == null ^ this.getSourceIpamPoolId() == null) return false; if (other.getSourceIpamPoolId() != null && other.getSourceIpamPoolId().equals(this.getSourceIpamPoolId()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getAddressFamily() == null ^ this.getAddressFamily() == null) return false; if (other.getAddressFamily() != null && other.getAddressFamily().equals(this.getAddressFamily()) == false) return false; if (other.getAutoImport() == null ^ this.getAutoImport() == null) return false; if (other.getAutoImport() != null && other.getAutoImport().equals(this.getAutoImport()) == false) return false; if (other.getPubliclyAdvertisable() == null ^ this.getPubliclyAdvertisable() == null) return false; if (other.getPubliclyAdvertisable() != null && other.getPubliclyAdvertisable().equals(this.getPubliclyAdvertisable()) == false) return false; if (other.getAllocationMinNetmaskLength() == null ^ this.getAllocationMinNetmaskLength() == null) return false; if (other.getAllocationMinNetmaskLength() != null && other.getAllocationMinNetmaskLength().equals(this.getAllocationMinNetmaskLength()) == false) return false; if (other.getAllocationMaxNetmaskLength() == null ^ this.getAllocationMaxNetmaskLength() == null) return false; if (other.getAllocationMaxNetmaskLength() != null && other.getAllocationMaxNetmaskLength().equals(this.getAllocationMaxNetmaskLength()) == false) return false; if (other.getAllocationDefaultNetmaskLength() == null ^ this.getAllocationDefaultNetmaskLength() == null) return false; if (other.getAllocationDefaultNetmaskLength() != null && other.getAllocationDefaultNetmaskLength().equals(this.getAllocationDefaultNetmaskLength()) == false) return false; if (other.getAllocationResourceTags() == null ^ this.getAllocationResourceTags() == null) return false; if (other.getAllocationResourceTags() != null && other.getAllocationResourceTags().equals(this.getAllocationResourceTags()) == false) return false; if (other.getTagSpecifications() == null ^ this.getTagSpecifications() == null) return false; if (other.getTagSpecifications() != null && other.getTagSpecifications().equals(this.getTagSpecifications()) == false) return false; if (other.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; if (other.getAwsService() == null ^ this.getAwsService() == null) return false; if (other.getAwsService() != null && other.getAwsService().equals(this.getAwsService()) == false) return false; if (other.getPublicIpSource() == null ^ this.getPublicIpSource() == null) return false; if (other.getPublicIpSource() != null && other.getPublicIpSource().equals(this.getPublicIpSource()) == false) return false; if (other.getSourceResource() == null ^ this.getSourceResource() == null) return false; if (other.getSourceResource() != null && other.getSourceResource().equals(this.getSourceResource()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getIpamScopeId() == null) ? 0 : getIpamScopeId().hashCode()); hashCode = prime * hashCode + ((getLocale() == null) ? 0 : getLocale().hashCode()); hashCode = prime * hashCode + ((getSourceIpamPoolId() == null) ? 0 : getSourceIpamPoolId().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getAddressFamily() == null) ? 0 : getAddressFamily().hashCode()); hashCode = prime * hashCode + ((getAutoImport() == null) ? 0 : getAutoImport().hashCode()); hashCode = prime * hashCode + ((getPubliclyAdvertisable() == null) ? 0 : getPubliclyAdvertisable().hashCode()); hashCode = prime * hashCode + ((getAllocationMinNetmaskLength() == null) ? 0 : getAllocationMinNetmaskLength().hashCode()); hashCode = prime * hashCode + ((getAllocationMaxNetmaskLength() == null) ? 0 : getAllocationMaxNetmaskLength().hashCode()); hashCode = prime * hashCode + ((getAllocationDefaultNetmaskLength() == null) ? 0 : getAllocationDefaultNetmaskLength().hashCode()); hashCode = prime * hashCode + ((getAllocationResourceTags() == null) ? 0 : getAllocationResourceTags().hashCode()); hashCode = prime * hashCode + ((getTagSpecifications() == null) ? 0 : getTagSpecifications().hashCode()); hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); hashCode = prime * hashCode + ((getAwsService() == null) ? 0 : getAwsService().hashCode()); hashCode = prime * hashCode + ((getPublicIpSource() == null) ? 0 : getPublicIpSource().hashCode()); hashCode = prime * hashCode + ((getSourceResource() == null) ? 0 : getSourceResource().hashCode()); return hashCode; } @Override public CreateIpamPoolRequest clone() { return (CreateIpamPoolRequest) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy