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

com.pulumi.azurenative.machinelearningservices.MachineLearningDatastoreArgs Maven / Gradle / Ivy

// *** 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.machinelearningservices;

import com.pulumi.azurenative.machinelearningservices.enums.DatastoreTypeArm;
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.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final MachineLearningDatastoreArgs Empty = new MachineLearningDatastoreArgs();

    /**
     * Account Key of storage account.
     * 
     */
    @Import(name="accountKey")
    private @Nullable Output accountKey;

    /**
     * @return Account Key of storage account.
     * 
     */
    public Optional> accountKey() {
        return Optional.ofNullable(this.accountKey);
    }

    /**
     * The name of the storage account.
     * 
     */
    @Import(name="accountName")
    private @Nullable Output accountName;

    /**
     * @return The name of the storage account.
     * 
     */
    public Optional> accountName() {
        return Optional.ofNullable(this.accountName);
    }

    /**
     * The resource group the ADLS store belongs to. Defaults to selected resource group.
     * 
     */
    @Import(name="adlsResourceGroup")
    private @Nullable Output adlsResourceGroup;

    /**
     * @return The resource group the ADLS store belongs to. Defaults to selected resource group.
     * 
     */
    public Optional> adlsResourceGroup() {
        return Optional.ofNullable(this.adlsResourceGroup);
    }

    /**
     * The ID of the subscription the ADLS store belongs to. Defaults to selected subscription.
     * 
     */
    @Import(name="adlsSubscriptionId")
    private @Nullable Output adlsSubscriptionId;

    /**
     * @return The ID of the subscription the ADLS store belongs to. Defaults to selected subscription.
     * 
     */
    public Optional> adlsSubscriptionId() {
        return Optional.ofNullable(this.adlsSubscriptionId);
    }

    /**
     * Authority url used to authenticate the user.
     * 
     */
    @Import(name="authorityUrl")
    private @Nullable Output authorityUrl;

    /**
     * @return Authority url used to authenticate the user.
     * 
     */
    public Optional> authorityUrl() {
        return Optional.ofNullable(this.authorityUrl);
    }

    /**
     * The service principal's client/application ID.
     * 
     */
    @Import(name="clientId")
    private @Nullable Output clientId;

    /**
     * @return The service principal's client/application ID.
     * 
     */
    public Optional> clientId() {
        return Optional.ofNullable(this.clientId);
    }

    /**
     * The service principal's secret.
     * 
     */
    @Import(name="clientSecret")
    private @Nullable Output clientSecret;

    /**
     * @return The service principal's secret.
     * 
     */
    public Optional> clientSecret() {
        return Optional.ofNullable(this.clientSecret);
    }

    /**
     * The name of the azure blob container.
     * 
     */
    @Import(name="containerName")
    private @Nullable Output containerName;

    /**
     * @return The name of the azure blob container.
     * 
     */
    public Optional> containerName() {
        return Optional.ofNullable(this.containerName);
    }

    /**
     * Specifies datastore type.
     * 
     */
    @Import(name="dataStoreType", required=true)
    private Output> dataStoreType;

    /**
     * @return Specifies datastore type.
     * 
     */
    public Output> dataStoreType() {
        return this.dataStoreType;
    }

    /**
     * The database name.
     * 
     */
    @Import(name="databaseName")
    private @Nullable Output databaseName;

    /**
     * @return The database name.
     * 
     */
    public Optional> databaseName() {
        return Optional.ofNullable(this.databaseName);
    }

    /**
     * The Datastore name.
     * 
     */
    @Import(name="datastoreName")
    private @Nullable Output datastoreName;

    /**
     * @return The Datastore name.
     * 
     */
    public Optional> datastoreName() {
        return Optional.ofNullable(this.datastoreName);
    }

    /**
     * The description of the datastore.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the datastore.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The endpoint of the server.
     * 
     */
    @Import(name="endpoint")
    private @Nullable Output endpoint;

    /**
     * @return The endpoint of the server.
     * 
     */
    public Optional> endpoint() {
        return Optional.ofNullable(this.endpoint);
    }

    /**
     * This sets the ssl value of the server. Defaults to true if not set.
     * 
     */
    @Import(name="enforceSSL")
    private @Nullable Output enforceSSL;

    /**
     * @return This sets the ssl value of the server. Defaults to true if not set.
     * 
     */
    public Optional> enforceSSL() {
        return Optional.ofNullable(this.enforceSSL);
    }

    /**
     * The file system name of the ADLS Gen2.
     * 
     */
    @Import(name="fileSystem")
    private @Nullable Output fileSystem;

    /**
     * @return The file system name of the ADLS Gen2.
     * 
     */
    public Optional> fileSystem() {
        return Optional.ofNullable(this.fileSystem);
    }

    /**
     * Include datastore secret in response.
     * 
     */
    @Import(name="includeSecret")
    private @Nullable Output includeSecret;

    /**
     * @return Include datastore secret in response.
     * 
     */
    public Optional> includeSecret() {
        return Optional.ofNullable(this.includeSecret);
    }

    /**
     * The name of the datastore.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the datastore.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The password.
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return The password.
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * The port number.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return The port number.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * The protocol to be used
     * 
     */
    @Import(name="protocol")
    private @Nullable Output protocol;

    /**
     * @return The protocol to be used
     * 
     */
    public Optional> protocol() {
        return Optional.ofNullable(this.protocol);
    }

    /**
     * Name of the resource group in which workspace is located.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of the resource group in which workspace is located.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Determines what operations will be performed.
     * 
     */
    @Import(name="resourceUrl")
    private @Nullable Output resourceUrl;

    /**
     * @return Determines what operations will be performed.
     * 
     */
    public Optional> resourceUrl() {
        return Optional.ofNullable(this.resourceUrl);
    }

    /**
     * Sas Token of storage account.
     * 
     */
    @Import(name="sasToken")
    private @Nullable Output sasToken;

    /**
     * @return Sas Token of storage account.
     * 
     */
    public Optional> sasToken() {
        return Optional.ofNullable(this.sasToken);
    }

    /**
     * The SQL/MySQL/PostgreSQL server name
     * 
     */
    @Import(name="serverName")
    private @Nullable Output serverName;

    /**
     * @return The SQL/MySQL/PostgreSQL server name
     * 
     */
    public Optional> serverName() {
        return Optional.ofNullable(this.serverName);
    }

    /**
     * The name of the file share.
     * 
     */
    @Import(name="shareName")
    private @Nullable Output shareName;

    /**
     * @return The name of the file share.
     * 
     */
    public Optional> shareName() {
        return Optional.ofNullable(this.shareName);
    }

    /**
     * Skip validation that ensures data can be loaded from the dataset before registration.
     * 
     */
    @Import(name="skipValidation")
    private @Nullable Output skipValidation;

    /**
     * @return Skip validation that ensures data can be loaded from the dataset before registration.
     * 
     */
    public Optional> skipValidation() {
        return Optional.ofNullable(this.skipValidation);
    }

    /**
     * The resource group of the storage account. Defaults to selected resource group
     * 
     */
    @Import(name="storageAccountResourceGroup")
    private @Nullable Output storageAccountResourceGroup;

    /**
     * @return The resource group of the storage account. Defaults to selected resource group
     * 
     */
    public Optional> storageAccountResourceGroup() {
        return Optional.ofNullable(this.storageAccountResourceGroup);
    }

    /**
     * The subscription ID of the storage account. Defaults to selected subscription
     * 
     */
    @Import(name="storageAccountSubscriptionId")
    private @Nullable Output storageAccountSubscriptionId;

    /**
     * @return The subscription ID of the storage account. Defaults to selected subscription
     * 
     */
    public Optional> storageAccountSubscriptionId() {
        return Optional.ofNullable(this.storageAccountSubscriptionId);
    }

    /**
     * The ADLS store name.
     * 
     */
    @Import(name="storeName")
    private @Nullable Output storeName;

    /**
     * @return The ADLS store name.
     * 
     */
    public Optional> storeName() {
        return Optional.ofNullable(this.storeName);
    }

    /**
     * The service principal Tenant ID.
     * 
     */
    @Import(name="tenantId")
    private @Nullable Output tenantId;

    /**
     * @return The service principal Tenant ID.
     * 
     */
    public Optional> tenantId() {
        return Optional.ofNullable(this.tenantId);
    }

    /**
     * The user ID.
     * 
     */
    @Import(name="userId")
    private @Nullable Output userId;

    /**
     * @return The user ID.
     * 
     */
    public Optional> userId() {
        return Optional.ofNullable(this.userId);
    }

    /**
     * The username of the database user.
     * 
     */
    @Import(name="userName")
    private @Nullable Output userName;

    /**
     * @return The username of the database user.
     * 
     */
    public Optional> userName() {
        return Optional.ofNullable(this.userName);
    }

    /**
     * Name of Azure Machine Learning workspace.
     * 
     */
    @Import(name="workspaceName", required=true)
    private Output workspaceName;

    /**
     * @return Name of Azure Machine Learning workspace.
     * 
     */
    public Output workspaceName() {
        return this.workspaceName;
    }

    /**
     * If set to true, datastore support data access authenticated with Workspace MSI.
     * 
     */
    @Import(name="workspaceSystemAssignedIdentity")
    private @Nullable Output workspaceSystemAssignedIdentity;

    /**
     * @return If set to true, datastore support data access authenticated with Workspace MSI.
     * 
     */
    public Optional> workspaceSystemAssignedIdentity() {
        return Optional.ofNullable(this.workspaceSystemAssignedIdentity);
    }

    private MachineLearningDatastoreArgs() {}

    private MachineLearningDatastoreArgs(MachineLearningDatastoreArgs $) {
        this.accountKey = $.accountKey;
        this.accountName = $.accountName;
        this.adlsResourceGroup = $.adlsResourceGroup;
        this.adlsSubscriptionId = $.adlsSubscriptionId;
        this.authorityUrl = $.authorityUrl;
        this.clientId = $.clientId;
        this.clientSecret = $.clientSecret;
        this.containerName = $.containerName;
        this.dataStoreType = $.dataStoreType;
        this.databaseName = $.databaseName;
        this.datastoreName = $.datastoreName;
        this.description = $.description;
        this.endpoint = $.endpoint;
        this.enforceSSL = $.enforceSSL;
        this.fileSystem = $.fileSystem;
        this.includeSecret = $.includeSecret;
        this.name = $.name;
        this.password = $.password;
        this.port = $.port;
        this.protocol = $.protocol;
        this.resourceGroupName = $.resourceGroupName;
        this.resourceUrl = $.resourceUrl;
        this.sasToken = $.sasToken;
        this.serverName = $.serverName;
        this.shareName = $.shareName;
        this.skipValidation = $.skipValidation;
        this.storageAccountResourceGroup = $.storageAccountResourceGroup;
        this.storageAccountSubscriptionId = $.storageAccountSubscriptionId;
        this.storeName = $.storeName;
        this.tenantId = $.tenantId;
        this.userId = $.userId;
        this.userName = $.userName;
        this.workspaceName = $.workspaceName;
        this.workspaceSystemAssignedIdentity = $.workspaceSystemAssignedIdentity;
    }

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

    public static final class Builder {
        private MachineLearningDatastoreArgs $;

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

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

        /**
         * @param accountKey Account Key of storage account.
         * 
         * @return builder
         * 
         */
        public Builder accountKey(@Nullable Output accountKey) {
            $.accountKey = accountKey;
            return this;
        }

        /**
         * @param accountKey Account Key of storage account.
         * 
         * @return builder
         * 
         */
        public Builder accountKey(String accountKey) {
            return accountKey(Output.of(accountKey));
        }

        /**
         * @param accountName The name of the storage account.
         * 
         * @return builder
         * 
         */
        public Builder accountName(@Nullable Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName The name of the storage account.
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param adlsResourceGroup The resource group the ADLS store belongs to. Defaults to selected resource group.
         * 
         * @return builder
         * 
         */
        public Builder adlsResourceGroup(@Nullable Output adlsResourceGroup) {
            $.adlsResourceGroup = adlsResourceGroup;
            return this;
        }

        /**
         * @param adlsResourceGroup The resource group the ADLS store belongs to. Defaults to selected resource group.
         * 
         * @return builder
         * 
         */
        public Builder adlsResourceGroup(String adlsResourceGroup) {
            return adlsResourceGroup(Output.of(adlsResourceGroup));
        }

        /**
         * @param adlsSubscriptionId The ID of the subscription the ADLS store belongs to. Defaults to selected subscription.
         * 
         * @return builder
         * 
         */
        public Builder adlsSubscriptionId(@Nullable Output adlsSubscriptionId) {
            $.adlsSubscriptionId = adlsSubscriptionId;
            return this;
        }

        /**
         * @param adlsSubscriptionId The ID of the subscription the ADLS store belongs to. Defaults to selected subscription.
         * 
         * @return builder
         * 
         */
        public Builder adlsSubscriptionId(String adlsSubscriptionId) {
            return adlsSubscriptionId(Output.of(adlsSubscriptionId));
        }

        /**
         * @param authorityUrl Authority url used to authenticate the user.
         * 
         * @return builder
         * 
         */
        public Builder authorityUrl(@Nullable Output authorityUrl) {
            $.authorityUrl = authorityUrl;
            return this;
        }

        /**
         * @param authorityUrl Authority url used to authenticate the user.
         * 
         * @return builder
         * 
         */
        public Builder authorityUrl(String authorityUrl) {
            return authorityUrl(Output.of(authorityUrl));
        }

        /**
         * @param clientId The service principal's client/application ID.
         * 
         * @return builder
         * 
         */
        public Builder clientId(@Nullable Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId The service principal's client/application ID.
         * 
         * @return builder
         * 
         */
        public Builder clientId(String clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @param clientSecret The service principal's secret.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(@Nullable Output clientSecret) {
            $.clientSecret = clientSecret;
            return this;
        }

        /**
         * @param clientSecret The service principal's secret.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(String clientSecret) {
            return clientSecret(Output.of(clientSecret));
        }

        /**
         * @param containerName The name of the azure blob container.
         * 
         * @return builder
         * 
         */
        public Builder containerName(@Nullable Output containerName) {
            $.containerName = containerName;
            return this;
        }

        /**
         * @param containerName The name of the azure blob container.
         * 
         * @return builder
         * 
         */
        public Builder containerName(String containerName) {
            return containerName(Output.of(containerName));
        }

        /**
         * @param dataStoreType Specifies datastore type.
         * 
         * @return builder
         * 
         */
        public Builder dataStoreType(Output> dataStoreType) {
            $.dataStoreType = dataStoreType;
            return this;
        }

        /**
         * @param dataStoreType Specifies datastore type.
         * 
         * @return builder
         * 
         */
        public Builder dataStoreType(Either dataStoreType) {
            return dataStoreType(Output.of(dataStoreType));
        }

        /**
         * @param dataStoreType Specifies datastore type.
         * 
         * @return builder
         * 
         */
        public Builder dataStoreType(String dataStoreType) {
            return dataStoreType(Either.ofLeft(dataStoreType));
        }

        /**
         * @param dataStoreType Specifies datastore type.
         * 
         * @return builder
         * 
         */
        public Builder dataStoreType(DatastoreTypeArm dataStoreType) {
            return dataStoreType(Either.ofRight(dataStoreType));
        }

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

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

        /**
         * @param datastoreName The Datastore name.
         * 
         * @return builder
         * 
         */
        public Builder datastoreName(@Nullable Output datastoreName) {
            $.datastoreName = datastoreName;
            return this;
        }

        /**
         * @param datastoreName The Datastore name.
         * 
         * @return builder
         * 
         */
        public Builder datastoreName(String datastoreName) {
            return datastoreName(Output.of(datastoreName));
        }

        /**
         * @param description The description of the datastore.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the datastore.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

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

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

        /**
         * @param enforceSSL This sets the ssl value of the server. Defaults to true if not set.
         * 
         * @return builder
         * 
         */
        public Builder enforceSSL(@Nullable Output enforceSSL) {
            $.enforceSSL = enforceSSL;
            return this;
        }

        /**
         * @param enforceSSL This sets the ssl value of the server. Defaults to true if not set.
         * 
         * @return builder
         * 
         */
        public Builder enforceSSL(Boolean enforceSSL) {
            return enforceSSL(Output.of(enforceSSL));
        }

        /**
         * @param fileSystem The file system name of the ADLS Gen2.
         * 
         * @return builder
         * 
         */
        public Builder fileSystem(@Nullable Output fileSystem) {
            $.fileSystem = fileSystem;
            return this;
        }

        /**
         * @param fileSystem The file system name of the ADLS Gen2.
         * 
         * @return builder
         * 
         */
        public Builder fileSystem(String fileSystem) {
            return fileSystem(Output.of(fileSystem));
        }

        /**
         * @param includeSecret Include datastore secret in response.
         * 
         * @return builder
         * 
         */
        public Builder includeSecret(@Nullable Output includeSecret) {
            $.includeSecret = includeSecret;
            return this;
        }

        /**
         * @param includeSecret Include datastore secret in response.
         * 
         * @return builder
         * 
         */
        public Builder includeSecret(Boolean includeSecret) {
            return includeSecret(Output.of(includeSecret));
        }

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

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

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

        /**
         * @param password The password.
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param port The port number.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port The port number.
         * 
         * @return builder
         * 
         */
        public Builder port(String port) {
            return port(Output.of(port));
        }

        /**
         * @param protocol The protocol to be used
         * 
         * @return builder
         * 
         */
        public Builder protocol(@Nullable Output protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param protocol The protocol to be used
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            return protocol(Output.of(protocol));
        }

        /**
         * @param resourceGroupName Name of the resource group in which workspace is located.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of the resource group in which workspace is located.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param resourceUrl Determines what operations will be performed.
         * 
         * @return builder
         * 
         */
        public Builder resourceUrl(@Nullable Output resourceUrl) {
            $.resourceUrl = resourceUrl;
            return this;
        }

        /**
         * @param resourceUrl Determines what operations will be performed.
         * 
         * @return builder
         * 
         */
        public Builder resourceUrl(String resourceUrl) {
            return resourceUrl(Output.of(resourceUrl));
        }

        /**
         * @param sasToken Sas Token of storage account.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(@Nullable Output sasToken) {
            $.sasToken = sasToken;
            return this;
        }

        /**
         * @param sasToken Sas Token of storage account.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(String sasToken) {
            return sasToken(Output.of(sasToken));
        }

        /**
         * @param serverName The SQL/MySQL/PostgreSQL server name
         * 
         * @return builder
         * 
         */
        public Builder serverName(@Nullable Output serverName) {
            $.serverName = serverName;
            return this;
        }

        /**
         * @param serverName The SQL/MySQL/PostgreSQL server name
         * 
         * @return builder
         * 
         */
        public Builder serverName(String serverName) {
            return serverName(Output.of(serverName));
        }

        /**
         * @param shareName The name of the file share.
         * 
         * @return builder
         * 
         */
        public Builder shareName(@Nullable Output shareName) {
            $.shareName = shareName;
            return this;
        }

        /**
         * @param shareName The name of the file share.
         * 
         * @return builder
         * 
         */
        public Builder shareName(String shareName) {
            return shareName(Output.of(shareName));
        }

        /**
         * @param skipValidation Skip validation that ensures data can be loaded from the dataset before registration.
         * 
         * @return builder
         * 
         */
        public Builder skipValidation(@Nullable Output skipValidation) {
            $.skipValidation = skipValidation;
            return this;
        }

        /**
         * @param skipValidation Skip validation that ensures data can be loaded from the dataset before registration.
         * 
         * @return builder
         * 
         */
        public Builder skipValidation(Boolean skipValidation) {
            return skipValidation(Output.of(skipValidation));
        }

        /**
         * @param storageAccountResourceGroup The resource group of the storage account. Defaults to selected resource group
         * 
         * @return builder
         * 
         */
        public Builder storageAccountResourceGroup(@Nullable Output storageAccountResourceGroup) {
            $.storageAccountResourceGroup = storageAccountResourceGroup;
            return this;
        }

        /**
         * @param storageAccountResourceGroup The resource group of the storage account. Defaults to selected resource group
         * 
         * @return builder
         * 
         */
        public Builder storageAccountResourceGroup(String storageAccountResourceGroup) {
            return storageAccountResourceGroup(Output.of(storageAccountResourceGroup));
        }

        /**
         * @param storageAccountSubscriptionId The subscription ID of the storage account. Defaults to selected subscription
         * 
         * @return builder
         * 
         */
        public Builder storageAccountSubscriptionId(@Nullable Output storageAccountSubscriptionId) {
            $.storageAccountSubscriptionId = storageAccountSubscriptionId;
            return this;
        }

        /**
         * @param storageAccountSubscriptionId The subscription ID of the storage account. Defaults to selected subscription
         * 
         * @return builder
         * 
         */
        public Builder storageAccountSubscriptionId(String storageAccountSubscriptionId) {
            return storageAccountSubscriptionId(Output.of(storageAccountSubscriptionId));
        }

        /**
         * @param storeName The ADLS store name.
         * 
         * @return builder
         * 
         */
        public Builder storeName(@Nullable Output storeName) {
            $.storeName = storeName;
            return this;
        }

        /**
         * @param storeName The ADLS store name.
         * 
         * @return builder
         * 
         */
        public Builder storeName(String storeName) {
            return storeName(Output.of(storeName));
        }

        /**
         * @param tenantId The service principal Tenant ID.
         * 
         * @return builder
         * 
         */
        public Builder tenantId(@Nullable Output tenantId) {
            $.tenantId = tenantId;
            return this;
        }

        /**
         * @param tenantId The service principal Tenant ID.
         * 
         * @return builder
         * 
         */
        public Builder tenantId(String tenantId) {
            return tenantId(Output.of(tenantId));
        }

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

        /**
         * @param userId The user ID.
         * 
         * @return builder
         * 
         */
        public Builder userId(String userId) {
            return userId(Output.of(userId));
        }

        /**
         * @param userName The username of the database user.
         * 
         * @return builder
         * 
         */
        public Builder userName(@Nullable Output userName) {
            $.userName = userName;
            return this;
        }

        /**
         * @param userName The username of the database user.
         * 
         * @return builder
         * 
         */
        public Builder userName(String userName) {
            return userName(Output.of(userName));
        }

        /**
         * @param workspaceName Name of Azure Machine Learning workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(Output workspaceName) {
            $.workspaceName = workspaceName;
            return this;
        }

        /**
         * @param workspaceName Name of Azure Machine Learning workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(String workspaceName) {
            return workspaceName(Output.of(workspaceName));
        }

        /**
         * @param workspaceSystemAssignedIdentity If set to true, datastore support data access authenticated with Workspace MSI.
         * 
         * @return builder
         * 
         */
        public Builder workspaceSystemAssignedIdentity(@Nullable Output workspaceSystemAssignedIdentity) {
            $.workspaceSystemAssignedIdentity = workspaceSystemAssignedIdentity;
            return this;
        }

        /**
         * @param workspaceSystemAssignedIdentity If set to true, datastore support data access authenticated with Workspace MSI.
         * 
         * @return builder
         * 
         */
        public Builder workspaceSystemAssignedIdentity(Boolean workspaceSystemAssignedIdentity) {
            return workspaceSystemAssignedIdentity(Output.of(workspaceSystemAssignedIdentity));
        }

        public MachineLearningDatastoreArgs build() {
            if ($.dataStoreType == null) {
                throw new MissingRequiredPropertyException("MachineLearningDatastoreArgs", "dataStoreType");
            }
            $.enforceSSL = Codegen.booleanProp("enforceSSL").output().arg($.enforceSSL).def(true).getNullable();
            $.includeSecret = Codegen.booleanProp("includeSecret").output().arg($.includeSecret).def(true).getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("MachineLearningDatastoreArgs", "resourceGroupName");
            }
            if ($.workspaceName == null) {
                throw new MissingRequiredPropertyException("MachineLearningDatastoreArgs", "workspaceName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy