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

com.pulumi.googlenative.compute.alpha.outputs.RouterNatSubnetworkToNatResponse 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.googlenative.compute.alpha.outputs;

import com.pulumi.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class RouterNatSubnetworkToNatResponse {
    /**
     * @return URL for the subnetwork resource that will use NAT.
     * 
     */
    private String name;
    /**
     * @return A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
     * 
     */
    private List secondaryIpRangeNames;
    /**
     * @return Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
     * 
     */
    private List sourceIpRangesToNat;

    private RouterNatSubnetworkToNatResponse() {}
    /**
     * @return URL for the subnetwork resource that will use NAT.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
     * 
     */
    public List secondaryIpRangeNames() {
        return this.secondaryIpRangeNames;
    }
    /**
     * @return Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
     * 
     */
    public List sourceIpRangesToNat() {
        return this.sourceIpRangesToNat;
    }

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

    public static Builder builder(RouterNatSubnetworkToNatResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String name;
        private List secondaryIpRangeNames;
        private List sourceIpRangesToNat;
        public Builder() {}
        public Builder(RouterNatSubnetworkToNatResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.name = defaults.name;
    	      this.secondaryIpRangeNames = defaults.secondaryIpRangeNames;
    	      this.sourceIpRangesToNat = defaults.sourceIpRangesToNat;
        }

        @CustomType.Setter
        public Builder name(String name) {
            this.name = Objects.requireNonNull(name);
            return this;
        }
        @CustomType.Setter
        public Builder secondaryIpRangeNames(List secondaryIpRangeNames) {
            this.secondaryIpRangeNames = Objects.requireNonNull(secondaryIpRangeNames);
            return this;
        }
        public Builder secondaryIpRangeNames(String... secondaryIpRangeNames) {
            return secondaryIpRangeNames(List.of(secondaryIpRangeNames));
        }
        @CustomType.Setter
        public Builder sourceIpRangesToNat(List sourceIpRangesToNat) {
            this.sourceIpRangesToNat = Objects.requireNonNull(sourceIpRangesToNat);
            return this;
        }
        public Builder sourceIpRangesToNat(String... sourceIpRangesToNat) {
            return sourceIpRangesToNat(List.of(sourceIpRangesToNat));
        }
        public RouterNatSubnetworkToNatResponse build() {
            final var o = new RouterNatSubnetworkToNatResponse();
            o.name = name;
            o.secondaryIpRangeNames = secondaryIpRangeNames;
            o.sourceIpRangesToNat = sourceIpRangesToNat;
            return o;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy