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

com.pulumi.azurenative.network.inputs.NetworkInterfaceDnsSettingsArgs Maven / Gradle / Ivy

The 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.network.inputs;

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 settings of a network interface.
 * 
 */
public final class NetworkInterfaceDnsSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final NetworkInterfaceDnsSettingsArgs Empty = new NetworkInterfaceDnsSettingsArgs();

    /**
     * List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
     * 
     */
    @Import(name="dnsServers")
    private @Nullable Output> dnsServers;

    /**
     * @return List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
     * 
     */
    public Optional>> dnsServers() {
        return Optional.ofNullable(this.dnsServers);
    }

    /**
     * Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
     * 
     */
    @Import(name="internalDnsNameLabel")
    private @Nullable Output internalDnsNameLabel;

    /**
     * @return Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
     * 
     */
    public Optional> internalDnsNameLabel() {
        return Optional.ofNullable(this.internalDnsNameLabel);
    }

    private NetworkInterfaceDnsSettingsArgs() {}

    private NetworkInterfaceDnsSettingsArgs(NetworkInterfaceDnsSettingsArgs $) {
        this.dnsServers = $.dnsServers;
        this.internalDnsNameLabel = $.internalDnsNameLabel;
    }

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

    public static final class Builder {
        private NetworkInterfaceDnsSettingsArgs $;

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

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

        /**
         * @param dnsServers List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
         * 
         * @return builder
         * 
         */
        public Builder dnsServers(@Nullable Output> dnsServers) {
            $.dnsServers = dnsServers;
            return this;
        }

        /**
         * @param dnsServers List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
         * 
         * @return builder
         * 
         */
        public Builder dnsServers(List dnsServers) {
            return dnsServers(Output.of(dnsServers));
        }

        /**
         * @param dnsServers List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
         * 
         * @return builder
         * 
         */
        public Builder dnsServers(String... dnsServers) {
            return dnsServers(List.of(dnsServers));
        }

        /**
         * @param internalDnsNameLabel Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
         * 
         * @return builder
         * 
         */
        public Builder internalDnsNameLabel(@Nullable Output internalDnsNameLabel) {
            $.internalDnsNameLabel = internalDnsNameLabel;
            return this;
        }

        /**
         * @param internalDnsNameLabel Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
         * 
         * @return builder
         * 
         */
        public Builder internalDnsNameLabel(String internalDnsNameLabel) {
            return internalDnsNameLabel(Output.of(internalDnsNameLabel));
        }

        public NetworkInterfaceDnsSettingsArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy