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

com.pulumi.aws.ec2.DefaultSubnetArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** 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;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class DefaultSubnetArgs extends com.pulumi.resources.ResourceArgs {

    public static final DefaultSubnetArgs Empty = new DefaultSubnetArgs();

    @Import(name="assignIpv6AddressOnCreation")
    private @Nullable Output assignIpv6AddressOnCreation;

    public Optional> assignIpv6AddressOnCreation() {
        return Optional.ofNullable(this.assignIpv6AddressOnCreation);
    }

    /**
     * is required
     * * The `availability_zone_id`, `cidr_block` and `vpc_id` arguments become computed attributes
     * * The default value for `map_public_ip_on_launch` is `true`
     * 
     * This resource supports the following additional arguments:
     * 
     */
    @Import(name="availabilityZone", required=true)
    private Output availabilityZone;

    /**
     * @return is required
     * * The `availability_zone_id`, `cidr_block` and `vpc_id` arguments become computed attributes
     * * The default value for `map_public_ip_on_launch` is `true`
     * 
     * This resource supports the following additional arguments:
     * 
     */
    public Output availabilityZone() {
        return this.availabilityZone;
    }

    @Import(name="customerOwnedIpv4Pool")
    private @Nullable Output customerOwnedIpv4Pool;

    public Optional> customerOwnedIpv4Pool() {
        return Optional.ofNullable(this.customerOwnedIpv4Pool);
    }

    @Import(name="enableDns64")
    private @Nullable Output enableDns64;

    public Optional> enableDns64() {
        return Optional.ofNullable(this.enableDns64);
    }

    @Import(name="enableResourceNameDnsARecordOnLaunch")
    private @Nullable Output enableResourceNameDnsARecordOnLaunch;

    public Optional> enableResourceNameDnsARecordOnLaunch() {
        return Optional.ofNullable(this.enableResourceNameDnsARecordOnLaunch);
    }

    @Import(name="enableResourceNameDnsAaaaRecordOnLaunch")
    private @Nullable Output enableResourceNameDnsAaaaRecordOnLaunch;

    public Optional> enableResourceNameDnsAaaaRecordOnLaunch() {
        return Optional.ofNullable(this.enableResourceNameDnsAaaaRecordOnLaunch);
    }

    /**
     * Whether destroying the resource deletes the default subnet. Default: `false`
     * 
     */
    @Import(name="forceDestroy")
    private @Nullable Output forceDestroy;

    /**
     * @return Whether destroying the resource deletes the default subnet. Default: `false`
     * 
     */
    public Optional> forceDestroy() {
        return Optional.ofNullable(this.forceDestroy);
    }

    @Import(name="ipv6CidrBlock")
    private @Nullable Output ipv6CidrBlock;

    public Optional> ipv6CidrBlock() {
        return Optional.ofNullable(this.ipv6CidrBlock);
    }

    @Import(name="ipv6Native")
    private @Nullable Output ipv6Native;

    public Optional> ipv6Native() {
        return Optional.ofNullable(this.ipv6Native);
    }

    @Import(name="mapCustomerOwnedIpOnLaunch")
    private @Nullable Output mapCustomerOwnedIpOnLaunch;

    public Optional> mapCustomerOwnedIpOnLaunch() {
        return Optional.ofNullable(this.mapCustomerOwnedIpOnLaunch);
    }

    @Import(name="mapPublicIpOnLaunch")
    private @Nullable Output mapPublicIpOnLaunch;

    public Optional> mapPublicIpOnLaunch() {
        return Optional.ofNullable(this.mapPublicIpOnLaunch);
    }

    @Import(name="privateDnsHostnameTypeOnLaunch")
    private @Nullable Output privateDnsHostnameTypeOnLaunch;

    public Optional> privateDnsHostnameTypeOnLaunch() {
        return Optional.ofNullable(this.privateDnsHostnameTypeOnLaunch);
    }

    @Import(name="tags")
    private @Nullable Output> tags;

    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private DefaultSubnetArgs() {}

    private DefaultSubnetArgs(DefaultSubnetArgs $) {
        this.assignIpv6AddressOnCreation = $.assignIpv6AddressOnCreation;
        this.availabilityZone = $.availabilityZone;
        this.customerOwnedIpv4Pool = $.customerOwnedIpv4Pool;
        this.enableDns64 = $.enableDns64;
        this.enableResourceNameDnsARecordOnLaunch = $.enableResourceNameDnsARecordOnLaunch;
        this.enableResourceNameDnsAaaaRecordOnLaunch = $.enableResourceNameDnsAaaaRecordOnLaunch;
        this.forceDestroy = $.forceDestroy;
        this.ipv6CidrBlock = $.ipv6CidrBlock;
        this.ipv6Native = $.ipv6Native;
        this.mapCustomerOwnedIpOnLaunch = $.mapCustomerOwnedIpOnLaunch;
        this.mapPublicIpOnLaunch = $.mapPublicIpOnLaunch;
        this.privateDnsHostnameTypeOnLaunch = $.privateDnsHostnameTypeOnLaunch;
        this.tags = $.tags;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(DefaultSubnetArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private DefaultSubnetArgs $;

        public Builder() {
            $ = new DefaultSubnetArgs();
        }

        public Builder(DefaultSubnetArgs defaults) {
            $ = new DefaultSubnetArgs(Objects.requireNonNull(defaults));
        }

        public Builder assignIpv6AddressOnCreation(@Nullable Output assignIpv6AddressOnCreation) {
            $.assignIpv6AddressOnCreation = assignIpv6AddressOnCreation;
            return this;
        }

        public Builder assignIpv6AddressOnCreation(Boolean assignIpv6AddressOnCreation) {
            return assignIpv6AddressOnCreation(Output.of(assignIpv6AddressOnCreation));
        }

        /**
         * @param availabilityZone is required
         * * The `availability_zone_id`, `cidr_block` and `vpc_id` arguments become computed attributes
         * * The default value for `map_public_ip_on_launch` is `true`
         * 
         * This resource supports the following additional arguments:
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(Output availabilityZone) {
            $.availabilityZone = availabilityZone;
            return this;
        }

        /**
         * @param availabilityZone is required
         * * The `availability_zone_id`, `cidr_block` and `vpc_id` arguments become computed attributes
         * * The default value for `map_public_ip_on_launch` is `true`
         * 
         * This resource supports the following additional arguments:
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(String availabilityZone) {
            return availabilityZone(Output.of(availabilityZone));
        }

        public Builder customerOwnedIpv4Pool(@Nullable Output customerOwnedIpv4Pool) {
            $.customerOwnedIpv4Pool = customerOwnedIpv4Pool;
            return this;
        }

        public Builder customerOwnedIpv4Pool(String customerOwnedIpv4Pool) {
            return customerOwnedIpv4Pool(Output.of(customerOwnedIpv4Pool));
        }

        public Builder enableDns64(@Nullable Output enableDns64) {
            $.enableDns64 = enableDns64;
            return this;
        }

        public Builder enableDns64(Boolean enableDns64) {
            return enableDns64(Output.of(enableDns64));
        }

        public Builder enableResourceNameDnsARecordOnLaunch(@Nullable Output enableResourceNameDnsARecordOnLaunch) {
            $.enableResourceNameDnsARecordOnLaunch = enableResourceNameDnsARecordOnLaunch;
            return this;
        }

        public Builder enableResourceNameDnsARecordOnLaunch(Boolean enableResourceNameDnsARecordOnLaunch) {
            return enableResourceNameDnsARecordOnLaunch(Output.of(enableResourceNameDnsARecordOnLaunch));
        }

        public Builder enableResourceNameDnsAaaaRecordOnLaunch(@Nullable Output enableResourceNameDnsAaaaRecordOnLaunch) {
            $.enableResourceNameDnsAaaaRecordOnLaunch = enableResourceNameDnsAaaaRecordOnLaunch;
            return this;
        }

        public Builder enableResourceNameDnsAaaaRecordOnLaunch(Boolean enableResourceNameDnsAaaaRecordOnLaunch) {
            return enableResourceNameDnsAaaaRecordOnLaunch(Output.of(enableResourceNameDnsAaaaRecordOnLaunch));
        }

        /**
         * @param forceDestroy Whether destroying the resource deletes the default subnet. Default: `false`
         * 
         * @return builder
         * 
         */
        public Builder forceDestroy(@Nullable Output forceDestroy) {
            $.forceDestroy = forceDestroy;
            return this;
        }

        /**
         * @param forceDestroy Whether destroying the resource deletes the default subnet. Default: `false`
         * 
         * @return builder
         * 
         */
        public Builder forceDestroy(Boolean forceDestroy) {
            return forceDestroy(Output.of(forceDestroy));
        }

        public Builder ipv6CidrBlock(@Nullable Output ipv6CidrBlock) {
            $.ipv6CidrBlock = ipv6CidrBlock;
            return this;
        }

        public Builder ipv6CidrBlock(String ipv6CidrBlock) {
            return ipv6CidrBlock(Output.of(ipv6CidrBlock));
        }

        public Builder ipv6Native(@Nullable Output ipv6Native) {
            $.ipv6Native = ipv6Native;
            return this;
        }

        public Builder ipv6Native(Boolean ipv6Native) {
            return ipv6Native(Output.of(ipv6Native));
        }

        public Builder mapCustomerOwnedIpOnLaunch(@Nullable Output mapCustomerOwnedIpOnLaunch) {
            $.mapCustomerOwnedIpOnLaunch = mapCustomerOwnedIpOnLaunch;
            return this;
        }

        public Builder mapCustomerOwnedIpOnLaunch(Boolean mapCustomerOwnedIpOnLaunch) {
            return mapCustomerOwnedIpOnLaunch(Output.of(mapCustomerOwnedIpOnLaunch));
        }

        public Builder mapPublicIpOnLaunch(@Nullable Output mapPublicIpOnLaunch) {
            $.mapPublicIpOnLaunch = mapPublicIpOnLaunch;
            return this;
        }

        public Builder mapPublicIpOnLaunch(Boolean mapPublicIpOnLaunch) {
            return mapPublicIpOnLaunch(Output.of(mapPublicIpOnLaunch));
        }

        public Builder privateDnsHostnameTypeOnLaunch(@Nullable Output privateDnsHostnameTypeOnLaunch) {
            $.privateDnsHostnameTypeOnLaunch = privateDnsHostnameTypeOnLaunch;
            return this;
        }

        public Builder privateDnsHostnameTypeOnLaunch(String privateDnsHostnameTypeOnLaunch) {
            return privateDnsHostnameTypeOnLaunch(Output.of(privateDnsHostnameTypeOnLaunch));
        }

        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public DefaultSubnetArgs build() {
            if ($.availabilityZone == null) {
                throw new MissingRequiredPropertyException("DefaultSubnetArgs", "availabilityZone");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy