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

com.pulumi.azurenative.databasewatcher.SharedPrivateLinkResourceArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.databasewatcher;

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


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

    public static final SharedPrivateLinkResourceArgs Empty = new SharedPrivateLinkResourceArgs();

    /**
     * The DNS zone to be included in the DNS name of the shared private link. Value is required for Azure Data Explorer clusters and SQL managed instances. The value to use is the second segment of the host FQDN name of the resource that the shared private link resource is for.
     * 
     */
    @Import(name="dnsZone")
    private @Nullable Output dnsZone;

    /**
     * @return The DNS zone to be included in the DNS name of the shared private link. Value is required for Azure Data Explorer clusters and SQL managed instances. The value to use is the second segment of the host FQDN name of the resource that the shared private link resource is for.
     * 
     */
    public Optional> dnsZone() {
        return Optional.ofNullable(this.dnsZone);
    }

    /**
     * The group id from the provider of resource the shared private link resource is for.
     * 
     */
    @Import(name="groupId", required=true)
    private Output groupId;

    /**
     * @return The group id from the provider of resource the shared private link resource is for.
     * 
     */
    public Output groupId() {
        return this.groupId;
    }

    /**
     * The resource id of the resource the shared private link resource is for.
     * 
     */
    @Import(name="privateLinkResourceId", required=true)
    private Output privateLinkResourceId;

    /**
     * @return The resource id of the resource the shared private link resource is for.
     * 
     */
    public Output privateLinkResourceId() {
        return this.privateLinkResourceId;
    }

    /**
     * The request message for requesting approval of the shared private link resource.
     * 
     */
    @Import(name="requestMessage", required=true)
    private Output requestMessage;

    /**
     * @return The request message for requesting approval of the shared private link resource.
     * 
     */
    public Output requestMessage() {
        return this.requestMessage;
    }

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

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

    /**
     * The Shared Private Link resource name.
     * 
     */
    @Import(name="sharedPrivateLinkResourceName")
    private @Nullable Output sharedPrivateLinkResourceName;

    /**
     * @return The Shared Private Link resource name.
     * 
     */
    public Optional> sharedPrivateLinkResourceName() {
        return Optional.ofNullable(this.sharedPrivateLinkResourceName);
    }

    /**
     * The database watcher name.
     * 
     */
    @Import(name="watcherName", required=true)
    private Output watcherName;

    /**
     * @return The database watcher name.
     * 
     */
    public Output watcherName() {
        return this.watcherName;
    }

    private SharedPrivateLinkResourceArgs() {}

    private SharedPrivateLinkResourceArgs(SharedPrivateLinkResourceArgs $) {
        this.dnsZone = $.dnsZone;
        this.groupId = $.groupId;
        this.privateLinkResourceId = $.privateLinkResourceId;
        this.requestMessage = $.requestMessage;
        this.resourceGroupName = $.resourceGroupName;
        this.sharedPrivateLinkResourceName = $.sharedPrivateLinkResourceName;
        this.watcherName = $.watcherName;
    }

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

    public static final class Builder {
        private SharedPrivateLinkResourceArgs $;

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

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

        /**
         * @param dnsZone The DNS zone to be included in the DNS name of the shared private link. Value is required for Azure Data Explorer clusters and SQL managed instances. The value to use is the second segment of the host FQDN name of the resource that the shared private link resource is for.
         * 
         * @return builder
         * 
         */
        public Builder dnsZone(@Nullable Output dnsZone) {
            $.dnsZone = dnsZone;
            return this;
        }

        /**
         * @param dnsZone The DNS zone to be included in the DNS name of the shared private link. Value is required for Azure Data Explorer clusters and SQL managed instances. The value to use is the second segment of the host FQDN name of the resource that the shared private link resource is for.
         * 
         * @return builder
         * 
         */
        public Builder dnsZone(String dnsZone) {
            return dnsZone(Output.of(dnsZone));
        }

        /**
         * @param groupId The group id from the provider of resource the shared private link resource is for.
         * 
         * @return builder
         * 
         */
        public Builder groupId(Output groupId) {
            $.groupId = groupId;
            return this;
        }

        /**
         * @param groupId The group id from the provider of resource the shared private link resource is for.
         * 
         * @return builder
         * 
         */
        public Builder groupId(String groupId) {
            return groupId(Output.of(groupId));
        }

        /**
         * @param privateLinkResourceId The resource id of the resource the shared private link resource is for.
         * 
         * @return builder
         * 
         */
        public Builder privateLinkResourceId(Output privateLinkResourceId) {
            $.privateLinkResourceId = privateLinkResourceId;
            return this;
        }

        /**
         * @param privateLinkResourceId The resource id of the resource the shared private link resource is for.
         * 
         * @return builder
         * 
         */
        public Builder privateLinkResourceId(String privateLinkResourceId) {
            return privateLinkResourceId(Output.of(privateLinkResourceId));
        }

        /**
         * @param requestMessage The request message for requesting approval of the shared private link resource.
         * 
         * @return builder
         * 
         */
        public Builder requestMessage(Output requestMessage) {
            $.requestMessage = requestMessage;
            return this;
        }

        /**
         * @param requestMessage The request message for requesting approval of the shared private link resource.
         * 
         * @return builder
         * 
         */
        public Builder requestMessage(String requestMessage) {
            return requestMessage(Output.of(requestMessage));
        }

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

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

        /**
         * @param sharedPrivateLinkResourceName The Shared Private Link resource name.
         * 
         * @return builder
         * 
         */
        public Builder sharedPrivateLinkResourceName(@Nullable Output sharedPrivateLinkResourceName) {
            $.sharedPrivateLinkResourceName = sharedPrivateLinkResourceName;
            return this;
        }

        /**
         * @param sharedPrivateLinkResourceName The Shared Private Link resource name.
         * 
         * @return builder
         * 
         */
        public Builder sharedPrivateLinkResourceName(String sharedPrivateLinkResourceName) {
            return sharedPrivateLinkResourceName(Output.of(sharedPrivateLinkResourceName));
        }

        /**
         * @param watcherName The database watcher name.
         * 
         * @return builder
         * 
         */
        public Builder watcherName(Output watcherName) {
            $.watcherName = watcherName;
            return this;
        }

        /**
         * @param watcherName The database watcher name.
         * 
         * @return builder
         * 
         */
        public Builder watcherName(String watcherName) {
            return watcherName(Output.of(watcherName));
        }

        public SharedPrivateLinkResourceArgs build() {
            if ($.groupId == null) {
                throw new MissingRequiredPropertyException("SharedPrivateLinkResourceArgs", "groupId");
            }
            if ($.privateLinkResourceId == null) {
                throw new MissingRequiredPropertyException("SharedPrivateLinkResourceArgs", "privateLinkResourceId");
            }
            if ($.requestMessage == null) {
                throw new MissingRequiredPropertyException("SharedPrivateLinkResourceArgs", "requestMessage");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SharedPrivateLinkResourceArgs", "resourceGroupName");
            }
            if ($.watcherName == null) {
                throw new MissingRequiredPropertyException("SharedPrivateLinkResourceArgs", "watcherName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy