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

com.pulumi.azurenative.datafactory.inputs.HiveLinkedServiceArgs 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.datafactory.inputs;

import com.pulumi.azurenative.datafactory.enums.HiveAuthenticationType;
import com.pulumi.azurenative.datafactory.enums.HiveServerType;
import com.pulumi.azurenative.datafactory.enums.HiveThriftTransportProtocol;
import com.pulumi.azurenative.datafactory.inputs.AzureKeyVaultSecretReferenceArgs;
import com.pulumi.azurenative.datafactory.inputs.IntegrationRuntimeReferenceArgs;
import com.pulumi.azurenative.datafactory.inputs.ParameterSpecificationArgs;
import com.pulumi.azurenative.datafactory.inputs.SecureStringArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Hive Server linked service.
 * 
 */
public final class HiveLinkedServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final HiveLinkedServiceArgs Empty = new HiveLinkedServiceArgs();

    /**
     * Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
     * 
     */
    @Import(name="allowHostNameCNMismatch")
    private @Nullable Output allowHostNameCNMismatch;

    /**
     * @return Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
     * 
     */
    public Optional> allowHostNameCNMismatch() {
        return Optional.ofNullable(this.allowHostNameCNMismatch);
    }

    /**
     * Specifies whether to allow self-signed certificates from the server. The default value is false.
     * 
     */
    @Import(name="allowSelfSignedServerCert")
    private @Nullable Output allowSelfSignedServerCert;

    /**
     * @return Specifies whether to allow self-signed certificates from the server. The default value is false.
     * 
     */
    public Optional> allowSelfSignedServerCert() {
        return Optional.ofNullable(this.allowSelfSignedServerCert);
    }

    /**
     * List of tags that can be used for describing the linked service.
     * 
     */
    @Import(name="annotations")
    private @Nullable Output> annotations;

    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    public Optional>> annotations() {
        return Optional.ofNullable(this.annotations);
    }

    /**
     * The authentication method used to access the Hive server.
     * 
     */
    @Import(name="authenticationType", required=true)
    private Output> authenticationType;

    /**
     * @return The authentication method used to access the Hive server.
     * 
     */
    public Output> authenticationType() {
        return this.authenticationType;
    }

    /**
     * The integration runtime reference.
     * 
     */
    @Import(name="connectVia")
    private @Nullable Output connectVia;

    /**
     * @return The integration runtime reference.
     * 
     */
    public Optional> connectVia() {
        return Optional.ofNullable(this.connectVia);
    }

    /**
     * Linked service description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Linked service description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Specifies whether the connections to the server are encrypted using SSL. The default value is false.
     * 
     */
    @Import(name="enableSsl")
    private @Nullable Output enableSsl;

    /**
     * @return Specifies whether the connections to the server are encrypted using SSL. The default value is false.
     * 
     */
    public Optional> enableSsl() {
        return Optional.ofNullable(this.enableSsl);
    }

    /**
     * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    @Import(name="encryptedCredential")
    private @Nullable Output encryptedCredential;

    /**
     * @return The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    public Optional> encryptedCredential() {
        return Optional.ofNullable(this.encryptedCredential);
    }

    /**
     * IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
     * 
     */
    @Import(name="host", required=true)
    private Output host;

    /**
     * @return IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
     * 
     */
    public Output host() {
        return this.host;
    }

    /**
     * The partial URL corresponding to the Hive server.
     * 
     */
    @Import(name="httpPath")
    private @Nullable Output httpPath;

    /**
     * @return The partial URL corresponding to the Hive server.
     * 
     */
    public Optional> httpPath() {
        return Optional.ofNullable(this.httpPath);
    }

    /**
     * Parameters for linked service.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return Parameters for linked service.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * The password corresponding to the user name that you provided in the Username field
     * 
     */
    @Import(name="password")
    private @Nullable Output> password;

    /**
     * @return The password corresponding to the user name that you provided in the Username field
     * 
     */
    public Optional>> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * The TCP port that the Hive server uses to listen for client connections.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return The TCP port that the Hive server uses to listen for client connections.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * The type of Hive server.
     * 
     */
    @Import(name="serverType")
    private @Nullable Output> serverType;

    /**
     * @return The type of Hive server.
     * 
     */
    public Optional>> serverType() {
        return Optional.ofNullable(this.serverType);
    }

    /**
     * true to indicate using the ZooKeeper service, false not.
     * 
     */
    @Import(name="serviceDiscoveryMode")
    private @Nullable Output serviceDiscoveryMode;

    /**
     * @return true to indicate using the ZooKeeper service, false not.
     * 
     */
    public Optional> serviceDiscoveryMode() {
        return Optional.ofNullable(this.serviceDiscoveryMode);
    }

    /**
     * The transport protocol to use in the Thrift layer.
     * 
     */
    @Import(name="thriftTransportProtocol")
    private @Nullable Output> thriftTransportProtocol;

    /**
     * @return The transport protocol to use in the Thrift layer.
     * 
     */
    public Optional>> thriftTransportProtocol() {
        return Optional.ofNullable(this.thriftTransportProtocol);
    }

    /**
     * The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
     * 
     */
    @Import(name="trustedCertPath")
    private @Nullable Output trustedCertPath;

    /**
     * @return The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
     * 
     */
    public Optional> trustedCertPath() {
        return Optional.ofNullable(this.trustedCertPath);
    }

    /**
     * Type of linked service.
     * Expected value is 'Hive'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Type of linked service.
     * Expected value is 'Hive'.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
     * 
     */
    @Import(name="useNativeQuery")
    private @Nullable Output useNativeQuery;

    /**
     * @return Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
     * 
     */
    public Optional> useNativeQuery() {
        return Optional.ofNullable(this.useNativeQuery);
    }

    /**
     * Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
     * 
     */
    @Import(name="useSystemTrustStore")
    private @Nullable Output useSystemTrustStore;

    /**
     * @return Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
     * 
     */
    public Optional> useSystemTrustStore() {
        return Optional.ofNullable(this.useSystemTrustStore);
    }

    /**
     * The user name that you use to access Hive Server.
     * 
     */
    @Import(name="username")
    private @Nullable Output username;

    /**
     * @return The user name that you use to access Hive Server.
     * 
     */
    public Optional> username() {
        return Optional.ofNullable(this.username);
    }

    /**
     * Version of the linked service.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Version of the linked service.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    /**
     * The namespace on ZooKeeper under which Hive Server 2 nodes are added.
     * 
     */
    @Import(name="zooKeeperNameSpace")
    private @Nullable Output zooKeeperNameSpace;

    /**
     * @return The namespace on ZooKeeper under which Hive Server 2 nodes are added.
     * 
     */
    public Optional> zooKeeperNameSpace() {
        return Optional.ofNullable(this.zooKeeperNameSpace);
    }

    private HiveLinkedServiceArgs() {}

    private HiveLinkedServiceArgs(HiveLinkedServiceArgs $) {
        this.allowHostNameCNMismatch = $.allowHostNameCNMismatch;
        this.allowSelfSignedServerCert = $.allowSelfSignedServerCert;
        this.annotations = $.annotations;
        this.authenticationType = $.authenticationType;
        this.connectVia = $.connectVia;
        this.description = $.description;
        this.enableSsl = $.enableSsl;
        this.encryptedCredential = $.encryptedCredential;
        this.host = $.host;
        this.httpPath = $.httpPath;
        this.parameters = $.parameters;
        this.password = $.password;
        this.port = $.port;
        this.serverType = $.serverType;
        this.serviceDiscoveryMode = $.serviceDiscoveryMode;
        this.thriftTransportProtocol = $.thriftTransportProtocol;
        this.trustedCertPath = $.trustedCertPath;
        this.type = $.type;
        this.useNativeQuery = $.useNativeQuery;
        this.useSystemTrustStore = $.useSystemTrustStore;
        this.username = $.username;
        this.version = $.version;
        this.zooKeeperNameSpace = $.zooKeeperNameSpace;
    }

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

    public static final class Builder {
        private HiveLinkedServiceArgs $;

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

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

        /**
         * @param allowHostNameCNMismatch Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder allowHostNameCNMismatch(@Nullable Output allowHostNameCNMismatch) {
            $.allowHostNameCNMismatch = allowHostNameCNMismatch;
            return this;
        }

        /**
         * @param allowHostNameCNMismatch Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder allowHostNameCNMismatch(Object allowHostNameCNMismatch) {
            return allowHostNameCNMismatch(Output.of(allowHostNameCNMismatch));
        }

        /**
         * @param allowSelfSignedServerCert Specifies whether to allow self-signed certificates from the server. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder allowSelfSignedServerCert(@Nullable Output allowSelfSignedServerCert) {
            $.allowSelfSignedServerCert = allowSelfSignedServerCert;
            return this;
        }

        /**
         * @param allowSelfSignedServerCert Specifies whether to allow self-signed certificates from the server. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder allowSelfSignedServerCert(Object allowSelfSignedServerCert) {
            return allowSelfSignedServerCert(Output.of(allowSelfSignedServerCert));
        }

        /**
         * @param annotations List of tags that can be used for describing the linked service.
         * 
         * @return builder
         * 
         */
        public Builder annotations(@Nullable Output> annotations) {
            $.annotations = annotations;
            return this;
        }

        /**
         * @param annotations List of tags that can be used for describing the linked service.
         * 
         * @return builder
         * 
         */
        public Builder annotations(List annotations) {
            return annotations(Output.of(annotations));
        }

        /**
         * @param annotations List of tags that can be used for describing the linked service.
         * 
         * @return builder
         * 
         */
        public Builder annotations(Object... annotations) {
            return annotations(List.of(annotations));
        }

        /**
         * @param authenticationType The authentication method used to access the Hive server.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(Output> authenticationType) {
            $.authenticationType = authenticationType;
            return this;
        }

        /**
         * @param authenticationType The authentication method used to access the Hive server.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(Either authenticationType) {
            return authenticationType(Output.of(authenticationType));
        }

        /**
         * @param authenticationType The authentication method used to access the Hive server.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(String authenticationType) {
            return authenticationType(Either.ofLeft(authenticationType));
        }

        /**
         * @param authenticationType The authentication method used to access the Hive server.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(HiveAuthenticationType authenticationType) {
            return authenticationType(Either.ofRight(authenticationType));
        }

        /**
         * @param connectVia The integration runtime reference.
         * 
         * @return builder
         * 
         */
        public Builder connectVia(@Nullable Output connectVia) {
            $.connectVia = connectVia;
            return this;
        }

        /**
         * @param connectVia The integration runtime reference.
         * 
         * @return builder
         * 
         */
        public Builder connectVia(IntegrationRuntimeReferenceArgs connectVia) {
            return connectVia(Output.of(connectVia));
        }

        /**
         * @param description Linked service description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Linked service description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param enableSsl Specifies whether the connections to the server are encrypted using SSL. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder enableSsl(@Nullable Output enableSsl) {
            $.enableSsl = enableSsl;
            return this;
        }

        /**
         * @param enableSsl Specifies whether the connections to the server are encrypted using SSL. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder enableSsl(Object enableSsl) {
            return enableSsl(Output.of(enableSsl));
        }

        /**
         * @param encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
         * 
         * @return builder
         * 
         */
        public Builder encryptedCredential(@Nullable Output encryptedCredential) {
            $.encryptedCredential = encryptedCredential;
            return this;
        }

        /**
         * @param encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
         * 
         * @return builder
         * 
         */
        public Builder encryptedCredential(String encryptedCredential) {
            return encryptedCredential(Output.of(encryptedCredential));
        }

        /**
         * @param host IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
         * 
         * @return builder
         * 
         */
        public Builder host(Output host) {
            $.host = host;
            return this;
        }

        /**
         * @param host IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
         * 
         * @return builder
         * 
         */
        public Builder host(Object host) {
            return host(Output.of(host));
        }

        /**
         * @param httpPath The partial URL corresponding to the Hive server.
         * 
         * @return builder
         * 
         */
        public Builder httpPath(@Nullable Output httpPath) {
            $.httpPath = httpPath;
            return this;
        }

        /**
         * @param httpPath The partial URL corresponding to the Hive server.
         * 
         * @return builder
         * 
         */
        public Builder httpPath(Object httpPath) {
            return httpPath(Output.of(httpPath));
        }

        /**
         * @param parameters Parameters for linked service.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Parameters for linked service.
         * 
         * @return builder
         * 
         */
        public Builder parameters(Map parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param password The password corresponding to the user name that you provided in the Username field
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output> password) {
            $.password = password;
            return this;
        }

        /**
         * @param password The password corresponding to the user name that you provided in the Username field
         * 
         * @return builder
         * 
         */
        public Builder password(Either password) {
            return password(Output.of(password));
        }

        /**
         * @param password The password corresponding to the user name that you provided in the Username field
         * 
         * @return builder
         * 
         */
        public Builder password(AzureKeyVaultSecretReferenceArgs password) {
            return password(Either.ofLeft(password));
        }

        /**
         * @param password The password corresponding to the user name that you provided in the Username field
         * 
         * @return builder
         * 
         */
        public Builder password(SecureStringArgs password) {
            return password(Either.ofRight(password));
        }

        /**
         * @param port The TCP port that the Hive server uses to listen for client connections.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port The TCP port that the Hive server uses to listen for client connections.
         * 
         * @return builder
         * 
         */
        public Builder port(Object port) {
            return port(Output.of(port));
        }

        /**
         * @param serverType The type of Hive server.
         * 
         * @return builder
         * 
         */
        public Builder serverType(@Nullable Output> serverType) {
            $.serverType = serverType;
            return this;
        }

        /**
         * @param serverType The type of Hive server.
         * 
         * @return builder
         * 
         */
        public Builder serverType(Either serverType) {
            return serverType(Output.of(serverType));
        }

        /**
         * @param serverType The type of Hive server.
         * 
         * @return builder
         * 
         */
        public Builder serverType(String serverType) {
            return serverType(Either.ofLeft(serverType));
        }

        /**
         * @param serverType The type of Hive server.
         * 
         * @return builder
         * 
         */
        public Builder serverType(HiveServerType serverType) {
            return serverType(Either.ofRight(serverType));
        }

        /**
         * @param serviceDiscoveryMode true to indicate using the ZooKeeper service, false not.
         * 
         * @return builder
         * 
         */
        public Builder serviceDiscoveryMode(@Nullable Output serviceDiscoveryMode) {
            $.serviceDiscoveryMode = serviceDiscoveryMode;
            return this;
        }

        /**
         * @param serviceDiscoveryMode true to indicate using the ZooKeeper service, false not.
         * 
         * @return builder
         * 
         */
        public Builder serviceDiscoveryMode(Object serviceDiscoveryMode) {
            return serviceDiscoveryMode(Output.of(serviceDiscoveryMode));
        }

        /**
         * @param thriftTransportProtocol The transport protocol to use in the Thrift layer.
         * 
         * @return builder
         * 
         */
        public Builder thriftTransportProtocol(@Nullable Output> thriftTransportProtocol) {
            $.thriftTransportProtocol = thriftTransportProtocol;
            return this;
        }

        /**
         * @param thriftTransportProtocol The transport protocol to use in the Thrift layer.
         * 
         * @return builder
         * 
         */
        public Builder thriftTransportProtocol(Either thriftTransportProtocol) {
            return thriftTransportProtocol(Output.of(thriftTransportProtocol));
        }

        /**
         * @param thriftTransportProtocol The transport protocol to use in the Thrift layer.
         * 
         * @return builder
         * 
         */
        public Builder thriftTransportProtocol(String thriftTransportProtocol) {
            return thriftTransportProtocol(Either.ofLeft(thriftTransportProtocol));
        }

        /**
         * @param thriftTransportProtocol The transport protocol to use in the Thrift layer.
         * 
         * @return builder
         * 
         */
        public Builder thriftTransportProtocol(HiveThriftTransportProtocol thriftTransportProtocol) {
            return thriftTransportProtocol(Either.ofRight(thriftTransportProtocol));
        }

        /**
         * @param trustedCertPath The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
         * 
         * @return builder
         * 
         */
        public Builder trustedCertPath(@Nullable Output trustedCertPath) {
            $.trustedCertPath = trustedCertPath;
            return this;
        }

        /**
         * @param trustedCertPath The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
         * 
         * @return builder
         * 
         */
        public Builder trustedCertPath(Object trustedCertPath) {
            return trustedCertPath(Output.of(trustedCertPath));
        }

        /**
         * @param type Type of linked service.
         * Expected value is 'Hive'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of linked service.
         * Expected value is 'Hive'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param useNativeQuery Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
         * 
         * @return builder
         * 
         */
        public Builder useNativeQuery(@Nullable Output useNativeQuery) {
            $.useNativeQuery = useNativeQuery;
            return this;
        }

        /**
         * @param useNativeQuery Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
         * 
         * @return builder
         * 
         */
        public Builder useNativeQuery(Object useNativeQuery) {
            return useNativeQuery(Output.of(useNativeQuery));
        }

        /**
         * @param useSystemTrustStore Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder useSystemTrustStore(@Nullable Output useSystemTrustStore) {
            $.useSystemTrustStore = useSystemTrustStore;
            return this;
        }

        /**
         * @param useSystemTrustStore Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
         * 
         * @return builder
         * 
         */
        public Builder useSystemTrustStore(Object useSystemTrustStore) {
            return useSystemTrustStore(Output.of(useSystemTrustStore));
        }

        /**
         * @param username The user name that you use to access Hive Server.
         * 
         * @return builder
         * 
         */
        public Builder username(@Nullable Output username) {
            $.username = username;
            return this;
        }

        /**
         * @param username The user name that you use to access Hive Server.
         * 
         * @return builder
         * 
         */
        public Builder username(Object username) {
            return username(Output.of(username));
        }

        /**
         * @param version Version of the linked service.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Version of the linked service.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        /**
         * @param zooKeeperNameSpace The namespace on ZooKeeper under which Hive Server 2 nodes are added.
         * 
         * @return builder
         * 
         */
        public Builder zooKeeperNameSpace(@Nullable Output zooKeeperNameSpace) {
            $.zooKeeperNameSpace = zooKeeperNameSpace;
            return this;
        }

        /**
         * @param zooKeeperNameSpace The namespace on ZooKeeper under which Hive Server 2 nodes are added.
         * 
         * @return builder
         * 
         */
        public Builder zooKeeperNameSpace(Object zooKeeperNameSpace) {
            return zooKeeperNameSpace(Output.of(zooKeeperNameSpace));
        }

        public HiveLinkedServiceArgs build() {
            if ($.authenticationType == null) {
                throw new MissingRequiredPropertyException("HiveLinkedServiceArgs", "authenticationType");
            }
            if ($.host == null) {
                throw new MissingRequiredPropertyException("HiveLinkedServiceArgs", "host");
            }
            $.type = Codegen.stringProp("type").output().arg($.type).require();
            return $;
        }
    }

}