Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.ec2.inputs.VpcIpamPoolState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.ec2.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class VpcIpamPoolState extends com.pulumi.resources.ResourceArgs {
public static final VpcIpamPoolState Empty = new VpcIpamPoolState();
/**
* The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
*
*/
@Import(name="addressFamily")
private @Nullable Output addressFamily;
/**
* @return The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
*
*/
public Optional> addressFamily() {
return Optional.ofNullable(this.addressFamily);
}
/**
* A 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 (unless you provide a different netmask value when you create the new allocation).
*
*/
@Import(name="allocationDefaultNetmaskLength")
private @Nullable Output allocationDefaultNetmaskLength;
/**
* @return A 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 (unless you provide a different netmask value when you create the new allocation).
*
*/
public Optional> allocationDefaultNetmaskLength() {
return Optional.ofNullable(this.allocationDefaultNetmaskLength);
}
/**
* The maximum netmask length that will be required for CIDR allocations in this pool.
*
*/
@Import(name="allocationMaxNetmaskLength")
private @Nullable Output allocationMaxNetmaskLength;
/**
* @return The maximum netmask length that will be required for CIDR allocations in this pool.
*
*/
public Optional> allocationMaxNetmaskLength() {
return Optional.ofNullable(this.allocationMaxNetmaskLength);
}
/**
* The minimum netmask length that will be required for CIDR allocations in this pool.
*
*/
@Import(name="allocationMinNetmaskLength")
private @Nullable Output allocationMinNetmaskLength;
/**
* @return The minimum netmask length that will be required for CIDR allocations in this pool.
*
*/
public Optional> allocationMinNetmaskLength() {
return Optional.ofNullable(this.allocationMinNetmaskLength);
}
/**
* 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.
*
*/
@Import(name="allocationResourceTags")
private @Nullable Output> allocationResourceTags;
/**
* @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 Optional>> allocationResourceTags() {
return Optional.ofNullable(this.allocationResourceTags);
}
/**
* Amazon Resource Name (ARN) of IPAM
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return Amazon Resource Name (ARN) of IPAM
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
* within the CIDR range in the pool.
*
*/
@Import(name="autoImport")
private @Nullable Output autoImport;
/**
* @return If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
* within the CIDR range in the pool.
*
*/
public Optional> autoImport() {
return Optional.ofNullable(this.autoImport);
}
/**
* Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
*
*/
@Import(name="awsService")
private @Nullable Output awsService;
/**
* @return Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
*
*/
public Optional> awsService() {
return Optional.ofNullable(this.awsService);
}
/**
* Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.
*
*/
@Import(name="cascade")
private @Nullable Output cascade;
/**
* @return Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.
*
*/
public Optional> cascade() {
return Optional.ofNullable(this.cascade);
}
/**
* A description for the IPAM pool.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return A description for the IPAM pool.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The ID of the scope in which you would like to create the IPAM pool.
*
*/
@Import(name="ipamScopeId")
private @Nullable Output ipamScopeId;
/**
* @return The ID of the scope in which you would like to create the IPAM pool.
*
*/
public Optional> ipamScopeId() {
return Optional.ofNullable(this.ipamScopeId);
}
@Import(name="ipamScopeType")
private @Nullable Output ipamScopeType;
public Optional> ipamScopeType() {
return Optional.ofNullable(this.ipamScopeType);
}
/**
* The locale in which you would like to create the IPAM pool. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
*
*/
@Import(name="locale")
private @Nullable Output locale;
/**
* @return The locale in which you would like to create the IPAM pool. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
*
*/
public Optional> locale() {
return Optional.ofNullable(this.locale);
}
@Import(name="poolDepth")
private @Nullable Output poolDepth;
public Optional> poolDepth() {
return Optional.ofNullable(this.poolDepth);
}
/**
* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Valid values are `byoip` or `amazon`. Default is `byoip`.
*
*/
@Import(name="publicIpSource")
private @Nullable Output publicIpSource;
/**
* @return The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Valid values are `byoip` or `amazon`. Default is `byoip`.
*
*/
public Optional> publicIpSource() {
return Optional.ofNullable(this.publicIpSource);
}
/**
* Defines whether or not IPv6 pool space is publicly advertisable over the internet. This argument is required if `address_family = "ipv6"` and `public_ip_source = "byoip"`, default is `false`. This option is not available for IPv4 pool space or if `public_ip_source = "amazon"`. Setting this argument to `true` when it is not available may result in erroneous differences being reported.
*
*/
@Import(name="publiclyAdvertisable")
private @Nullable Output publiclyAdvertisable;
/**
* @return Defines whether or not IPv6 pool space is publicly advertisable over the internet. This argument is required if `address_family = "ipv6"` and `public_ip_source = "byoip"`, default is `false`. This option is not available for IPv4 pool space or if `public_ip_source = "amazon"`. Setting this argument to `true` when it is not available may result in erroneous differences being reported.
*
*/
public Optional> publiclyAdvertisable() {
return Optional.ofNullable(this.publiclyAdvertisable);
}
/**
* The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
*
*/
@Import(name="sourceIpamPoolId")
private @Nullable Output sourceIpamPoolId;
/**
* @return The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
*
*/
public Optional> sourceIpamPoolId() {
return Optional.ofNullable(this.sourceIpamPoolId);
}
/**
* The ID of the IPAM
*
*/
@Import(name="state")
private @Nullable Output state;
/**
* @return The ID of the IPAM
*
*/
public Optional> state() {
return Optional.ofNullable(this.state);
}
/**
* A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Import(name="tagsAll")
private @Nullable Output> tagsAll;
/**
* @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Optional>> tagsAll() {
return Optional.ofNullable(this.tagsAll);
}
private VpcIpamPoolState() {}
private VpcIpamPoolState(VpcIpamPoolState $) {
this.addressFamily = $.addressFamily;
this.allocationDefaultNetmaskLength = $.allocationDefaultNetmaskLength;
this.allocationMaxNetmaskLength = $.allocationMaxNetmaskLength;
this.allocationMinNetmaskLength = $.allocationMinNetmaskLength;
this.allocationResourceTags = $.allocationResourceTags;
this.arn = $.arn;
this.autoImport = $.autoImport;
this.awsService = $.awsService;
this.cascade = $.cascade;
this.description = $.description;
this.ipamScopeId = $.ipamScopeId;
this.ipamScopeType = $.ipamScopeType;
this.locale = $.locale;
this.poolDepth = $.poolDepth;
this.publicIpSource = $.publicIpSource;
this.publiclyAdvertisable = $.publiclyAdvertisable;
this.sourceIpamPoolId = $.sourceIpamPoolId;
this.state = $.state;
this.tags = $.tags;
this.tagsAll = $.tagsAll;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VpcIpamPoolState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private VpcIpamPoolState $;
public Builder() {
$ = new VpcIpamPoolState();
}
public Builder(VpcIpamPoolState defaults) {
$ = new VpcIpamPoolState(Objects.requireNonNull(defaults));
}
/**
* @param addressFamily The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
*
* @return builder
*
*/
public Builder addressFamily(@Nullable Output addressFamily) {
$.addressFamily = addressFamily;
return this;
}
/**
* @param addressFamily The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
*
* @return builder
*
*/
public Builder addressFamily(String addressFamily) {
return addressFamily(Output.of(addressFamily));
}
/**
* @param allocationDefaultNetmaskLength A 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 (unless you provide a different netmask value when you create the new allocation).
*
* @return builder
*
*/
public Builder allocationDefaultNetmaskLength(@Nullable Output allocationDefaultNetmaskLength) {
$.allocationDefaultNetmaskLength = allocationDefaultNetmaskLength;
return this;
}
/**
* @param allocationDefaultNetmaskLength A 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 (unless you provide a different netmask value when you create the new allocation).
*
* @return builder
*
*/
public Builder allocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) {
return allocationDefaultNetmaskLength(Output.of(allocationDefaultNetmaskLength));
}
/**
* @param allocationMaxNetmaskLength The maximum netmask length that will be required for CIDR allocations in this pool.
*
* @return builder
*
*/
public Builder allocationMaxNetmaskLength(@Nullable Output allocationMaxNetmaskLength) {
$.allocationMaxNetmaskLength = allocationMaxNetmaskLength;
return this;
}
/**
* @param allocationMaxNetmaskLength The maximum netmask length that will be required for CIDR allocations in this pool.
*
* @return builder
*
*/
public Builder allocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) {
return allocationMaxNetmaskLength(Output.of(allocationMaxNetmaskLength));
}
/**
* @param allocationMinNetmaskLength The minimum netmask length that will be required for CIDR allocations in this pool.
*
* @return builder
*
*/
public Builder allocationMinNetmaskLength(@Nullable Output allocationMinNetmaskLength) {
$.allocationMinNetmaskLength = allocationMinNetmaskLength;
return this;
}
/**
* @param allocationMinNetmaskLength The minimum netmask length that will be required for CIDR allocations in this pool.
*
* @return builder
*
*/
public Builder allocationMinNetmaskLength(Integer allocationMinNetmaskLength) {
return allocationMinNetmaskLength(Output.of(allocationMinNetmaskLength));
}
/**
* @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 builder
*
*/
public Builder allocationResourceTags(@Nullable Output> allocationResourceTags) {
$.allocationResourceTags = allocationResourceTags;
return this;
}
/**
* @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 builder
*
*/
public Builder allocationResourceTags(Map allocationResourceTags) {
return allocationResourceTags(Output.of(allocationResourceTags));
}
/**
* @param arn Amazon Resource Name (ARN) of IPAM
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn Amazon Resource Name (ARN) of IPAM
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param autoImport If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
* within the CIDR range in the pool.
*
* @return builder
*
*/
public Builder autoImport(@Nullable Output autoImport) {
$.autoImport = autoImport;
return this;
}
/**
* @param autoImport If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
* within the CIDR range in the pool.
*
* @return builder
*
*/
public Builder autoImport(Boolean autoImport) {
return autoImport(Output.of(autoImport));
}
/**
* @param awsService Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
*
* @return builder
*
*/
public Builder awsService(@Nullable Output awsService) {
$.awsService = awsService;
return this;
}
/**
* @param awsService Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
*
* @return builder
*
*/
public Builder awsService(String awsService) {
return awsService(Output.of(awsService));
}
/**
* @param cascade Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.
*
* @return builder
*
*/
public Builder cascade(@Nullable Output cascade) {
$.cascade = cascade;
return this;
}
/**
* @param cascade Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.
*
* @return builder
*
*/
public Builder cascade(Boolean cascade) {
return cascade(Output.of(cascade));
}
/**
* @param description A description for the IPAM pool.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description A description for the IPAM pool.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param ipamScopeId The ID of the scope in which you would like to create the IPAM pool.
*
* @return builder
*
*/
public Builder ipamScopeId(@Nullable Output ipamScopeId) {
$.ipamScopeId = ipamScopeId;
return this;
}
/**
* @param ipamScopeId The ID of the scope in which you would like to create the IPAM pool.
*
* @return builder
*
*/
public Builder ipamScopeId(String ipamScopeId) {
return ipamScopeId(Output.of(ipamScopeId));
}
public Builder ipamScopeType(@Nullable Output ipamScopeType) {
$.ipamScopeType = ipamScopeType;
return this;
}
public Builder ipamScopeType(String ipamScopeType) {
return ipamScopeType(Output.of(ipamScopeType));
}
/**
* @param locale The locale in which you would like to create the IPAM pool. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
*
* @return builder
*
*/
public Builder locale(@Nullable Output locale) {
$.locale = locale;
return this;
}
/**
* @param locale The locale in which you would like to create the IPAM pool. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
*
* @return builder
*
*/
public Builder locale(String locale) {
return locale(Output.of(locale));
}
public Builder poolDepth(@Nullable Output poolDepth) {
$.poolDepth = poolDepth;
return this;
}
public Builder poolDepth(Integer poolDepth) {
return poolDepth(Output.of(poolDepth));
}
/**
* @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. Valid values are `byoip` or `amazon`. Default is `byoip`.
*
* @return builder
*
*/
public Builder publicIpSource(@Nullable Output publicIpSource) {
$.publicIpSource = publicIpSource;
return this;
}
/**
* @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. Valid values are `byoip` or `amazon`. Default is `byoip`.
*
* @return builder
*
*/
public Builder publicIpSource(String publicIpSource) {
return publicIpSource(Output.of(publicIpSource));
}
/**
* @param publiclyAdvertisable Defines whether or not IPv6 pool space is publicly advertisable over the internet. This argument is required if `address_family = "ipv6"` and `public_ip_source = "byoip"`, default is `false`. This option is not available for IPv4 pool space or if `public_ip_source = "amazon"`. Setting this argument to `true` when it is not available may result in erroneous differences being reported.
*
* @return builder
*
*/
public Builder publiclyAdvertisable(@Nullable Output publiclyAdvertisable) {
$.publiclyAdvertisable = publiclyAdvertisable;
return this;
}
/**
* @param publiclyAdvertisable Defines whether or not IPv6 pool space is publicly advertisable over the internet. This argument is required if `address_family = "ipv6"` and `public_ip_source = "byoip"`, default is `false`. This option is not available for IPv4 pool space or if `public_ip_source = "amazon"`. Setting this argument to `true` when it is not available may result in erroneous differences being reported.
*
* @return builder
*
*/
public Builder publiclyAdvertisable(Boolean publiclyAdvertisable) {
return publiclyAdvertisable(Output.of(publiclyAdvertisable));
}
/**
* @param sourceIpamPoolId The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
*
* @return builder
*
*/
public Builder sourceIpamPoolId(@Nullable Output sourceIpamPoolId) {
$.sourceIpamPoolId = sourceIpamPoolId;
return this;
}
/**
* @param sourceIpamPoolId The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
*
* @return builder
*
*/
public Builder sourceIpamPoolId(String sourceIpamPoolId) {
return sourceIpamPoolId(Output.of(sourceIpamPoolId));
}
/**
* @param state The ID of the IPAM
*
* @return builder
*
*/
public Builder state(@Nullable Output state) {
$.state = state;
return this;
}
/**
* @param state The ID of the IPAM
*
* @return builder
*
*/
public Builder state(String state) {
return state(Output.of(state));
}
/**
* @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(@Nullable Output> tagsAll) {
$.tagsAll = tagsAll;
return this;
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(Map tagsAll) {
return tagsAll(Output.of(tagsAll));
}
public VpcIpamPoolState build() {
return $;
}
}
}