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

com.pulumi.azurenative.network.PrivateDnsZoneGroupArgs 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.network;

import com.pulumi.azurenative.network.inputs.PrivateDnsZoneConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PrivateDnsZoneGroupArgs Empty = new PrivateDnsZoneGroupArgs();

    /**
     * Resource ID.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return Resource ID.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * Name of the resource that is unique within a resource group. This name can be used to access the resource.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the resource that is unique within a resource group. This name can be used to access the resource.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * A collection of private dns zone configurations of the private dns zone group.
     * 
     */
    @Import(name="privateDnsZoneConfigs")
    private @Nullable Output> privateDnsZoneConfigs;

    /**
     * @return A collection of private dns zone configurations of the private dns zone group.
     * 
     */
    public Optional>> privateDnsZoneConfigs() {
        return Optional.ofNullable(this.privateDnsZoneConfigs);
    }

    /**
     * The name of the private dns zone group.
     * 
     */
    @Import(name="privateDnsZoneGroupName")
    private @Nullable Output privateDnsZoneGroupName;

    /**
     * @return The name of the private dns zone group.
     * 
     */
    public Optional> privateDnsZoneGroupName() {
        return Optional.ofNullable(this.privateDnsZoneGroupName);
    }

    /**
     * The name of the private endpoint.
     * 
     */
    @Import(name="privateEndpointName", required=true)
    private Output privateEndpointName;

    /**
     * @return The name of the private endpoint.
     * 
     */
    public Output privateEndpointName() {
        return this.privateEndpointName;
    }

    /**
     * The name of the resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    private PrivateDnsZoneGroupArgs() {}

    private PrivateDnsZoneGroupArgs(PrivateDnsZoneGroupArgs $) {
        this.id = $.id;
        this.name = $.name;
        this.privateDnsZoneConfigs = $.privateDnsZoneConfigs;
        this.privateDnsZoneGroupName = $.privateDnsZoneGroupName;
        this.privateEndpointName = $.privateEndpointName;
        this.resourceGroupName = $.resourceGroupName;
    }

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

    public static final class Builder {
        private PrivateDnsZoneGroupArgs $;

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

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

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param name Name of the resource that is unique within a resource group. This name can be used to access the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the resource that is unique within a resource group. This name can be used to access the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param privateDnsZoneConfigs A collection of private dns zone configurations of the private dns zone group.
         * 
         * @return builder
         * 
         */
        public Builder privateDnsZoneConfigs(@Nullable Output> privateDnsZoneConfigs) {
            $.privateDnsZoneConfigs = privateDnsZoneConfigs;
            return this;
        }

        /**
         * @param privateDnsZoneConfigs A collection of private dns zone configurations of the private dns zone group.
         * 
         * @return builder
         * 
         */
        public Builder privateDnsZoneConfigs(List privateDnsZoneConfigs) {
            return privateDnsZoneConfigs(Output.of(privateDnsZoneConfigs));
        }

        /**
         * @param privateDnsZoneConfigs A collection of private dns zone configurations of the private dns zone group.
         * 
         * @return builder
         * 
         */
        public Builder privateDnsZoneConfigs(PrivateDnsZoneConfigArgs... privateDnsZoneConfigs) {
            return privateDnsZoneConfigs(List.of(privateDnsZoneConfigs));
        }

        /**
         * @param privateDnsZoneGroupName The name of the private dns zone group.
         * 
         * @return builder
         * 
         */
        public Builder privateDnsZoneGroupName(@Nullable Output privateDnsZoneGroupName) {
            $.privateDnsZoneGroupName = privateDnsZoneGroupName;
            return this;
        }

        /**
         * @param privateDnsZoneGroupName The name of the private dns zone group.
         * 
         * @return builder
         * 
         */
        public Builder privateDnsZoneGroupName(String privateDnsZoneGroupName) {
            return privateDnsZoneGroupName(Output.of(privateDnsZoneGroupName));
        }

        /**
         * @param privateEndpointName The name of the private endpoint.
         * 
         * @return builder
         * 
         */
        public Builder privateEndpointName(Output privateEndpointName) {
            $.privateEndpointName = privateEndpointName;
            return this;
        }

        /**
         * @param privateEndpointName The name of the private endpoint.
         * 
         * @return builder
         * 
         */
        public Builder privateEndpointName(String privateEndpointName) {
            return privateEndpointName(Output.of(privateEndpointName));
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public PrivateDnsZoneGroupArgs build() {
            if ($.privateEndpointName == null) {
                throw new MissingRequiredPropertyException("PrivateDnsZoneGroupArgs", "privateEndpointName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("PrivateDnsZoneGroupArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy