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

com.pulumi.azurenative.awsconnector.outputs.AwsEc2VpcPropertiesResponse Maven / Gradle / Ivy

// *** 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.azurenative.awsconnector.outputs;

import com.pulumi.azurenative.awsconnector.outputs.TagResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class AwsEc2VpcPropertiesResponse {
    /**
     * @return The IPv4 network range for the VPC, in CIDR notation. For example, ``10.0.0.0/16``. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18``, we modify it to ``100.68.0.0/18``. You must specify either``CidrBlock`` or ``Ipv4IpamPoolId``.
     * 
     */
    private @Nullable String cidrBlock;
    /**
     * @return Property cidrBlockAssociations
     * 
     */
    private @Nullable List cidrBlockAssociations;
    /**
     * @return Property defaultNetworkAcl
     * 
     */
    private @Nullable String defaultNetworkAcl;
    /**
     * @return Property defaultSecurityGroup
     * 
     */
    private @Nullable String defaultSecurityGroup;
    /**
     * @return Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support). You can only enable DNS hostnames if you've enabled DNS support.
     * 
     */
    private @Nullable Boolean enableDnsHostnames;
    /**
     * @return Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range 'plus two' succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support).
     * 
     */
    private @Nullable Boolean enableDnsSupport;
    /**
     * @return The allowed tenancy of instances launched into the VPC.  +  ``default``: An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.  +  ``dedicated``: An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of ``host`` during instance launch. You cannot specify a tenancy of ``default`` during instance launch.   Updating ``InstanceTenancy`` requires no replacement only if you are updating its value from ``dedicated`` to ``default``. Updating ``InstanceTenancy`` from ``default`` to ``dedicated`` requires replacement.
     * 
     */
    private @Nullable String instanceTenancy;
    /**
     * @return The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide*. You must specify either``CidrBlock`` or ``Ipv4IpamPoolId``.
     * 
     */
    private @Nullable String ipv4IpamPoolId;
    /**
     * @return The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide*.
     * 
     */
    private @Nullable Integer ipv4NetmaskLength;
    /**
     * @return Property ipv6CidrBlocks
     * 
     */
    private @Nullable List ipv6CidrBlocks;
    /**
     * @return The tags for the VPC.
     * 
     */
    private @Nullable List tags;
    /**
     * @return Property vpcId
     * 
     */
    private @Nullable String vpcId;

    private AwsEc2VpcPropertiesResponse() {}
    /**
     * @return The IPv4 network range for the VPC, in CIDR notation. For example, ``10.0.0.0/16``. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18``, we modify it to ``100.68.0.0/18``. You must specify either``CidrBlock`` or ``Ipv4IpamPoolId``.
     * 
     */
    public Optional cidrBlock() {
        return Optional.ofNullable(this.cidrBlock);
    }
    /**
     * @return Property cidrBlockAssociations
     * 
     */
    public List cidrBlockAssociations() {
        return this.cidrBlockAssociations == null ? List.of() : this.cidrBlockAssociations;
    }
    /**
     * @return Property defaultNetworkAcl
     * 
     */
    public Optional defaultNetworkAcl() {
        return Optional.ofNullable(this.defaultNetworkAcl);
    }
    /**
     * @return Property defaultSecurityGroup
     * 
     */
    public Optional defaultSecurityGroup() {
        return Optional.ofNullable(this.defaultSecurityGroup);
    }
    /**
     * @return Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support). You can only enable DNS hostnames if you've enabled DNS support.
     * 
     */
    public Optional enableDnsHostnames() {
        return Optional.ofNullable(this.enableDnsHostnames);
    }
    /**
     * @return Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range 'plus two' succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support).
     * 
     */
    public Optional enableDnsSupport() {
        return Optional.ofNullable(this.enableDnsSupport);
    }
    /**
     * @return The allowed tenancy of instances launched into the VPC.  +  ``default``: An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.  +  ``dedicated``: An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of ``host`` during instance launch. You cannot specify a tenancy of ``default`` during instance launch.   Updating ``InstanceTenancy`` requires no replacement only if you are updating its value from ``dedicated`` to ``default``. Updating ``InstanceTenancy`` from ``default`` to ``dedicated`` requires replacement.
     * 
     */
    public Optional instanceTenancy() {
        return Optional.ofNullable(this.instanceTenancy);
    }
    /**
     * @return The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide*. You must specify either``CidrBlock`` or ``Ipv4IpamPoolId``.
     * 
     */
    public Optional ipv4IpamPoolId() {
        return Optional.ofNullable(this.ipv4IpamPoolId);
    }
    /**
     * @return The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide*.
     * 
     */
    public Optional ipv4NetmaskLength() {
        return Optional.ofNullable(this.ipv4NetmaskLength);
    }
    /**
     * @return Property ipv6CidrBlocks
     * 
     */
    public List ipv6CidrBlocks() {
        return this.ipv6CidrBlocks == null ? List.of() : this.ipv6CidrBlocks;
    }
    /**
     * @return The tags for the VPC.
     * 
     */
    public List tags() {
        return this.tags == null ? List.of() : this.tags;
    }
    /**
     * @return Property vpcId
     * 
     */
    public Optional vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

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

    public static Builder builder(AwsEc2VpcPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String cidrBlock;
        private @Nullable List cidrBlockAssociations;
        private @Nullable String defaultNetworkAcl;
        private @Nullable String defaultSecurityGroup;
        private @Nullable Boolean enableDnsHostnames;
        private @Nullable Boolean enableDnsSupport;
        private @Nullable String instanceTenancy;
        private @Nullable String ipv4IpamPoolId;
        private @Nullable Integer ipv4NetmaskLength;
        private @Nullable List ipv6CidrBlocks;
        private @Nullable List tags;
        private @Nullable String vpcId;
        public Builder() {}
        public Builder(AwsEc2VpcPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.cidrBlock = defaults.cidrBlock;
    	      this.cidrBlockAssociations = defaults.cidrBlockAssociations;
    	      this.defaultNetworkAcl = defaults.defaultNetworkAcl;
    	      this.defaultSecurityGroup = defaults.defaultSecurityGroup;
    	      this.enableDnsHostnames = defaults.enableDnsHostnames;
    	      this.enableDnsSupport = defaults.enableDnsSupport;
    	      this.instanceTenancy = defaults.instanceTenancy;
    	      this.ipv4IpamPoolId = defaults.ipv4IpamPoolId;
    	      this.ipv4NetmaskLength = defaults.ipv4NetmaskLength;
    	      this.ipv6CidrBlocks = defaults.ipv6CidrBlocks;
    	      this.tags = defaults.tags;
    	      this.vpcId = defaults.vpcId;
        }

        @CustomType.Setter
        public Builder cidrBlock(@Nullable String cidrBlock) {

            this.cidrBlock = cidrBlock;
            return this;
        }
        @CustomType.Setter
        public Builder cidrBlockAssociations(@Nullable List cidrBlockAssociations) {

            this.cidrBlockAssociations = cidrBlockAssociations;
            return this;
        }
        public Builder cidrBlockAssociations(String... cidrBlockAssociations) {
            return cidrBlockAssociations(List.of(cidrBlockAssociations));
        }
        @CustomType.Setter
        public Builder defaultNetworkAcl(@Nullable String defaultNetworkAcl) {

            this.defaultNetworkAcl = defaultNetworkAcl;
            return this;
        }
        @CustomType.Setter
        public Builder defaultSecurityGroup(@Nullable String defaultSecurityGroup) {

            this.defaultSecurityGroup = defaultSecurityGroup;
            return this;
        }
        @CustomType.Setter
        public Builder enableDnsHostnames(@Nullable Boolean enableDnsHostnames) {

            this.enableDnsHostnames = enableDnsHostnames;
            return this;
        }
        @CustomType.Setter
        public Builder enableDnsSupport(@Nullable Boolean enableDnsSupport) {

            this.enableDnsSupport = enableDnsSupport;
            return this;
        }
        @CustomType.Setter
        public Builder instanceTenancy(@Nullable String instanceTenancy) {

            this.instanceTenancy = instanceTenancy;
            return this;
        }
        @CustomType.Setter
        public Builder ipv4IpamPoolId(@Nullable String ipv4IpamPoolId) {

            this.ipv4IpamPoolId = ipv4IpamPoolId;
            return this;
        }
        @CustomType.Setter
        public Builder ipv4NetmaskLength(@Nullable Integer ipv4NetmaskLength) {

            this.ipv4NetmaskLength = ipv4NetmaskLength;
            return this;
        }
        @CustomType.Setter
        public Builder ipv6CidrBlocks(@Nullable List ipv6CidrBlocks) {

            this.ipv6CidrBlocks = ipv6CidrBlocks;
            return this;
        }
        public Builder ipv6CidrBlocks(String... ipv6CidrBlocks) {
            return ipv6CidrBlocks(List.of(ipv6CidrBlocks));
        }
        @CustomType.Setter
        public Builder tags(@Nullable List tags) {

            this.tags = tags;
            return this;
        }
        public Builder tags(TagResponse... tags) {
            return tags(List.of(tags));
        }
        @CustomType.Setter
        public Builder vpcId(@Nullable String vpcId) {

            this.vpcId = vpcId;
            return this;
        }
        public AwsEc2VpcPropertiesResponse build() {
            final var _resultValue = new AwsEc2VpcPropertiesResponse();
            _resultValue.cidrBlock = cidrBlock;
            _resultValue.cidrBlockAssociations = cidrBlockAssociations;
            _resultValue.defaultNetworkAcl = defaultNetworkAcl;
            _resultValue.defaultSecurityGroup = defaultSecurityGroup;
            _resultValue.enableDnsHostnames = enableDnsHostnames;
            _resultValue.enableDnsSupport = enableDnsSupport;
            _resultValue.instanceTenancy = instanceTenancy;
            _resultValue.ipv4IpamPoolId = ipv4IpamPoolId;
            _resultValue.ipv4NetmaskLength = ipv4NetmaskLength;
            _resultValue.ipv6CidrBlocks = ipv6CidrBlocks;
            _resultValue.tags = tags;
            _resultValue.vpcId = vpcId;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy