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

com.pulumi.azurenative.cloudngfw.inputs.DNSSettingsArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.cloudngfw.inputs;

import com.pulumi.azurenative.cloudngfw.enums.DNSProxy;
import com.pulumi.azurenative.cloudngfw.enums.EnabledDNSType;
import com.pulumi.azurenative.cloudngfw.inputs.IPAddressArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * DNS Proxy settings for Firewall
 * 
 */
public final class DNSSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final DNSSettingsArgs Empty = new DNSSettingsArgs();

    /**
     * List of IPs associated with the Firewall
     * 
     */
    @Import(name="dnsServers")
    private @Nullable Output> dnsServers;

    /**
     * @return List of IPs associated with the Firewall
     * 
     */
    public Optional>> dnsServers() {
        return Optional.ofNullable(this.dnsServers);
    }

    /**
     * Enable DNS proxy, disabled by default
     * 
     */
    @Import(name="enableDnsProxy")
    private @Nullable Output> enableDnsProxy;

    /**
     * @return Enable DNS proxy, disabled by default
     * 
     */
    public Optional>> enableDnsProxy() {
        return Optional.ofNullable(this.enableDnsProxy);
    }

    /**
     * Enabled DNS proxy type, disabled by default
     * 
     */
    @Import(name="enabledDnsType")
    private @Nullable Output> enabledDnsType;

    /**
     * @return Enabled DNS proxy type, disabled by default
     * 
     */
    public Optional>> enabledDnsType() {
        return Optional.ofNullable(this.enabledDnsType);
    }

    private DNSSettingsArgs() {}

    private DNSSettingsArgs(DNSSettingsArgs $) {
        this.dnsServers = $.dnsServers;
        this.enableDnsProxy = $.enableDnsProxy;
        this.enabledDnsType = $.enabledDnsType;
    }

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

    public static final class Builder {
        private DNSSettingsArgs $;

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

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

        /**
         * @param dnsServers List of IPs associated with the Firewall
         * 
         * @return builder
         * 
         */
        public Builder dnsServers(@Nullable Output> dnsServers) {
            $.dnsServers = dnsServers;
            return this;
        }

        /**
         * @param dnsServers List of IPs associated with the Firewall
         * 
         * @return builder
         * 
         */
        public Builder dnsServers(List dnsServers) {
            return dnsServers(Output.of(dnsServers));
        }

        /**
         * @param dnsServers List of IPs associated with the Firewall
         * 
         * @return builder
         * 
         */
        public Builder dnsServers(IPAddressArgs... dnsServers) {
            return dnsServers(List.of(dnsServers));
        }

        /**
         * @param enableDnsProxy Enable DNS proxy, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enableDnsProxy(@Nullable Output> enableDnsProxy) {
            $.enableDnsProxy = enableDnsProxy;
            return this;
        }

        /**
         * @param enableDnsProxy Enable DNS proxy, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enableDnsProxy(Either enableDnsProxy) {
            return enableDnsProxy(Output.of(enableDnsProxy));
        }

        /**
         * @param enableDnsProxy Enable DNS proxy, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enableDnsProxy(String enableDnsProxy) {
            return enableDnsProxy(Either.ofLeft(enableDnsProxy));
        }

        /**
         * @param enableDnsProxy Enable DNS proxy, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enableDnsProxy(DNSProxy enableDnsProxy) {
            return enableDnsProxy(Either.ofRight(enableDnsProxy));
        }

        /**
         * @param enabledDnsType Enabled DNS proxy type, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enabledDnsType(@Nullable Output> enabledDnsType) {
            $.enabledDnsType = enabledDnsType;
            return this;
        }

        /**
         * @param enabledDnsType Enabled DNS proxy type, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enabledDnsType(Either enabledDnsType) {
            return enabledDnsType(Output.of(enabledDnsType));
        }

        /**
         * @param enabledDnsType Enabled DNS proxy type, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enabledDnsType(String enabledDnsType) {
            return enabledDnsType(Either.ofLeft(enabledDnsType));
        }

        /**
         * @param enabledDnsType Enabled DNS proxy type, disabled by default
         * 
         * @return builder
         * 
         */
        public Builder enabledDnsType(EnabledDNSType enabledDnsType) {
            return enabledDnsType(Either.ofRight(enabledDnsType));
        }

        public DNSSettingsArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy