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

com.pulumi.azurenative.synapse.WorkspaceArgs 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.synapse;

import com.pulumi.azurenative.synapse.enums.WorkspacePublicNetworkAccess;
import com.pulumi.azurenative.synapse.inputs.CspWorkspaceAdminPropertiesArgs;
import com.pulumi.azurenative.synapse.inputs.DataLakeStorageAccountDetailsArgs;
import com.pulumi.azurenative.synapse.inputs.EncryptionDetailsArgs;
import com.pulumi.azurenative.synapse.inputs.ManagedIdentityArgs;
import com.pulumi.azurenative.synapse.inputs.ManagedVirtualNetworkSettingsArgs;
import com.pulumi.azurenative.synapse.inputs.PrivateEndpointConnectionArgs;
import com.pulumi.azurenative.synapse.inputs.PurviewConfigurationArgs;
import com.pulumi.azurenative.synapse.inputs.VirtualNetworkProfileArgs;
import com.pulumi.azurenative.synapse.inputs.WorkspaceRepositoryConfigurationArgs;
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.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final WorkspaceArgs Empty = new WorkspaceArgs();

    /**
     * Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
     * 
     */
    @Import(name="azureADOnlyAuthentication")
    private @Nullable Output azureADOnlyAuthentication;

    /**
     * @return Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
     * 
     */
    public Optional> azureADOnlyAuthentication() {
        return Optional.ofNullable(this.azureADOnlyAuthentication);
    }

    /**
     * Initial workspace AAD admin properties for a CSP subscription
     * 
     */
    @Import(name="cspWorkspaceAdminProperties")
    private @Nullable Output cspWorkspaceAdminProperties;

    /**
     * @return Initial workspace AAD admin properties for a CSP subscription
     * 
     */
    public Optional> cspWorkspaceAdminProperties() {
        return Optional.ofNullable(this.cspWorkspaceAdminProperties);
    }

    /**
     * Workspace default data lake storage account details
     * 
     */
    @Import(name="defaultDataLakeStorage")
    private @Nullable Output defaultDataLakeStorage;

    /**
     * @return Workspace default data lake storage account details
     * 
     */
    public Optional> defaultDataLakeStorage() {
        return Optional.ofNullable(this.defaultDataLakeStorage);
    }

    /**
     * The encryption details of the workspace
     * 
     */
    @Import(name="encryption")
    private @Nullable Output encryption;

    /**
     * @return The encryption details of the workspace
     * 
     */
    public Optional> encryption() {
        return Optional.ofNullable(this.encryption);
    }

    /**
     * Identity of the workspace
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return Identity of the workspace
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
     * 
     */
    @Import(name="managedResourceGroupName")
    private @Nullable Output managedResourceGroupName;

    /**
     * @return Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
     * 
     */
    public Optional> managedResourceGroupName() {
        return Optional.ofNullable(this.managedResourceGroupName);
    }

    /**
     * Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
     * 
     */
    @Import(name="managedVirtualNetwork")
    private @Nullable Output managedVirtualNetwork;

    /**
     * @return Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
     * 
     */
    public Optional> managedVirtualNetwork() {
        return Optional.ofNullable(this.managedVirtualNetwork);
    }

    /**
     * Managed Virtual Network Settings
     * 
     */
    @Import(name="managedVirtualNetworkSettings")
    private @Nullable Output managedVirtualNetworkSettings;

    /**
     * @return Managed Virtual Network Settings
     * 
     */
    public Optional> managedVirtualNetworkSettings() {
        return Optional.ofNullable(this.managedVirtualNetworkSettings);
    }

    /**
     * Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     * 
     */
    @Import(name="privateEndpointConnections")
    private @Nullable Output> privateEndpointConnections;

    /**
     * @return Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     * 
     */
    public Optional>> privateEndpointConnections() {
        return Optional.ofNullable(this.privateEndpointConnections);
    }

    /**
     * Enable or Disable public network access to workspace
     * 
     */
    @Import(name="publicNetworkAccess")
    private @Nullable Output> publicNetworkAccess;

    /**
     * @return Enable or Disable public network access to workspace
     * 
     */
    public Optional>> publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }

    /**
     * Purview Configuration
     * 
     */
    @Import(name="purviewConfiguration")
    private @Nullable Output purviewConfiguration;

    /**
     * @return Purview Configuration
     * 
     */
    public Optional> purviewConfiguration() {
        return Optional.ofNullable(this.purviewConfiguration);
    }

    /**
     * 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;
    }

    /**
     * Login for workspace SQL active directory administrator
     * 
     */
    @Import(name="sqlAdministratorLogin")
    private @Nullable Output sqlAdministratorLogin;

    /**
     * @return Login for workspace SQL active directory administrator
     * 
     */
    public Optional> sqlAdministratorLogin() {
        return Optional.ofNullable(this.sqlAdministratorLogin);
    }

    /**
     * SQL administrator login password
     * 
     */
    @Import(name="sqlAdministratorLoginPassword")
    private @Nullable Output sqlAdministratorLoginPassword;

    /**
     * @return SQL administrator login password
     * 
     */
    public Optional> sqlAdministratorLoginPassword() {
        return Optional.ofNullable(this.sqlAdministratorLoginPassword);
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

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

    /**
     * Is trustedServiceBypassEnabled for the workspace
     * 
     */
    @Import(name="trustedServiceBypassEnabled")
    private @Nullable Output trustedServiceBypassEnabled;

    /**
     * @return Is trustedServiceBypassEnabled for the workspace
     * 
     */
    public Optional> trustedServiceBypassEnabled() {
        return Optional.ofNullable(this.trustedServiceBypassEnabled);
    }

    /**
     * Virtual Network profile
     * 
     */
    @Import(name="virtualNetworkProfile")
    private @Nullable Output virtualNetworkProfile;

    /**
     * @return Virtual Network profile
     * 
     */
    public Optional> virtualNetworkProfile() {
        return Optional.ofNullable(this.virtualNetworkProfile);
    }

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

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

    /**
     * Git integration settings
     * 
     */
    @Import(name="workspaceRepositoryConfiguration")
    private @Nullable Output workspaceRepositoryConfiguration;

    /**
     * @return Git integration settings
     * 
     */
    public Optional> workspaceRepositoryConfiguration() {
        return Optional.ofNullable(this.workspaceRepositoryConfiguration);
    }

    private WorkspaceArgs() {}

    private WorkspaceArgs(WorkspaceArgs $) {
        this.azureADOnlyAuthentication = $.azureADOnlyAuthentication;
        this.cspWorkspaceAdminProperties = $.cspWorkspaceAdminProperties;
        this.defaultDataLakeStorage = $.defaultDataLakeStorage;
        this.encryption = $.encryption;
        this.identity = $.identity;
        this.location = $.location;
        this.managedResourceGroupName = $.managedResourceGroupName;
        this.managedVirtualNetwork = $.managedVirtualNetwork;
        this.managedVirtualNetworkSettings = $.managedVirtualNetworkSettings;
        this.privateEndpointConnections = $.privateEndpointConnections;
        this.publicNetworkAccess = $.publicNetworkAccess;
        this.purviewConfiguration = $.purviewConfiguration;
        this.resourceGroupName = $.resourceGroupName;
        this.sqlAdministratorLogin = $.sqlAdministratorLogin;
        this.sqlAdministratorLoginPassword = $.sqlAdministratorLoginPassword;
        this.tags = $.tags;
        this.trustedServiceBypassEnabled = $.trustedServiceBypassEnabled;
        this.virtualNetworkProfile = $.virtualNetworkProfile;
        this.workspaceName = $.workspaceName;
        this.workspaceRepositoryConfiguration = $.workspaceRepositoryConfiguration;
    }

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

    public static final class Builder {
        private WorkspaceArgs $;

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

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

        /**
         * @param azureADOnlyAuthentication Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
         * 
         * @return builder
         * 
         */
        public Builder azureADOnlyAuthentication(@Nullable Output azureADOnlyAuthentication) {
            $.azureADOnlyAuthentication = azureADOnlyAuthentication;
            return this;
        }

        /**
         * @param azureADOnlyAuthentication Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
         * 
         * @return builder
         * 
         */
        public Builder azureADOnlyAuthentication(Boolean azureADOnlyAuthentication) {
            return azureADOnlyAuthentication(Output.of(azureADOnlyAuthentication));
        }

        /**
         * @param cspWorkspaceAdminProperties Initial workspace AAD admin properties for a CSP subscription
         * 
         * @return builder
         * 
         */
        public Builder cspWorkspaceAdminProperties(@Nullable Output cspWorkspaceAdminProperties) {
            $.cspWorkspaceAdminProperties = cspWorkspaceAdminProperties;
            return this;
        }

        /**
         * @param cspWorkspaceAdminProperties Initial workspace AAD admin properties for a CSP subscription
         * 
         * @return builder
         * 
         */
        public Builder cspWorkspaceAdminProperties(CspWorkspaceAdminPropertiesArgs cspWorkspaceAdminProperties) {
            return cspWorkspaceAdminProperties(Output.of(cspWorkspaceAdminProperties));
        }

        /**
         * @param defaultDataLakeStorage Workspace default data lake storage account details
         * 
         * @return builder
         * 
         */
        public Builder defaultDataLakeStorage(@Nullable Output defaultDataLakeStorage) {
            $.defaultDataLakeStorage = defaultDataLakeStorage;
            return this;
        }

        /**
         * @param defaultDataLakeStorage Workspace default data lake storage account details
         * 
         * @return builder
         * 
         */
        public Builder defaultDataLakeStorage(DataLakeStorageAccountDetailsArgs defaultDataLakeStorage) {
            return defaultDataLakeStorage(Output.of(defaultDataLakeStorage));
        }

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

        /**
         * @param encryption The encryption details of the workspace
         * 
         * @return builder
         * 
         */
        public Builder encryption(EncryptionDetailsArgs encryption) {
            return encryption(Output.of(encryption));
        }

        /**
         * @param identity Identity of the workspace
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity Identity of the workspace
         * 
         * @return builder
         * 
         */
        public Builder identity(ManagedIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param managedResourceGroupName Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
         * 
         * @return builder
         * 
         */
        public Builder managedResourceGroupName(@Nullable Output managedResourceGroupName) {
            $.managedResourceGroupName = managedResourceGroupName;
            return this;
        }

        /**
         * @param managedResourceGroupName Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
         * 
         * @return builder
         * 
         */
        public Builder managedResourceGroupName(String managedResourceGroupName) {
            return managedResourceGroupName(Output.of(managedResourceGroupName));
        }

        /**
         * @param managedVirtualNetwork Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
         * 
         * @return builder
         * 
         */
        public Builder managedVirtualNetwork(@Nullable Output managedVirtualNetwork) {
            $.managedVirtualNetwork = managedVirtualNetwork;
            return this;
        }

        /**
         * @param managedVirtualNetwork Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
         * 
         * @return builder
         * 
         */
        public Builder managedVirtualNetwork(String managedVirtualNetwork) {
            return managedVirtualNetwork(Output.of(managedVirtualNetwork));
        }

        /**
         * @param managedVirtualNetworkSettings Managed Virtual Network Settings
         * 
         * @return builder
         * 
         */
        public Builder managedVirtualNetworkSettings(@Nullable Output managedVirtualNetworkSettings) {
            $.managedVirtualNetworkSettings = managedVirtualNetworkSettings;
            return this;
        }

        /**
         * @param managedVirtualNetworkSettings Managed Virtual Network Settings
         * 
         * @return builder
         * 
         */
        public Builder managedVirtualNetworkSettings(ManagedVirtualNetworkSettingsArgs managedVirtualNetworkSettings) {
            return managedVirtualNetworkSettings(Output.of(managedVirtualNetworkSettings));
        }

        /**
         * @param privateEndpointConnections Private endpoint connections to the workspace
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder privateEndpointConnections(@Nullable Output> privateEndpointConnections) {
            $.privateEndpointConnections = privateEndpointConnections;
            return this;
        }

        /**
         * @param privateEndpointConnections Private endpoint connections to the workspace
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder privateEndpointConnections(List privateEndpointConnections) {
            return privateEndpointConnections(Output.of(privateEndpointConnections));
        }

        /**
         * @param privateEndpointConnections Private endpoint connections to the workspace
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder privateEndpointConnections(PrivateEndpointConnectionArgs... privateEndpointConnections) {
            return privateEndpointConnections(List.of(privateEndpointConnections));
        }

        /**
         * @param publicNetworkAccess Enable or Disable public network access to workspace
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(@Nullable Output> publicNetworkAccess) {
            $.publicNetworkAccess = publicNetworkAccess;
            return this;
        }

        /**
         * @param publicNetworkAccess Enable or Disable public network access to workspace
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(Either publicNetworkAccess) {
            return publicNetworkAccess(Output.of(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Enable or Disable public network access to workspace
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(String publicNetworkAccess) {
            return publicNetworkAccess(Either.ofLeft(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Enable or Disable public network access to workspace
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(WorkspacePublicNetworkAccess publicNetworkAccess) {
            return publicNetworkAccess(Either.ofRight(publicNetworkAccess));
        }

        /**
         * @param purviewConfiguration Purview Configuration
         * 
         * @return builder
         * 
         */
        public Builder purviewConfiguration(@Nullable Output purviewConfiguration) {
            $.purviewConfiguration = purviewConfiguration;
            return this;
        }

        /**
         * @param purviewConfiguration Purview Configuration
         * 
         * @return builder
         * 
         */
        public Builder purviewConfiguration(PurviewConfigurationArgs purviewConfiguration) {
            return purviewConfiguration(Output.of(purviewConfiguration));
        }

        /**
         * @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 sqlAdministratorLogin Login for workspace SQL active directory administrator
         * 
         * @return builder
         * 
         */
        public Builder sqlAdministratorLogin(@Nullable Output sqlAdministratorLogin) {
            $.sqlAdministratorLogin = sqlAdministratorLogin;
            return this;
        }

        /**
         * @param sqlAdministratorLogin Login for workspace SQL active directory administrator
         * 
         * @return builder
         * 
         */
        public Builder sqlAdministratorLogin(String sqlAdministratorLogin) {
            return sqlAdministratorLogin(Output.of(sqlAdministratorLogin));
        }

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

        /**
         * @param sqlAdministratorLoginPassword SQL administrator login password
         * 
         * @return builder
         * 
         */
        public Builder sqlAdministratorLoginPassword(String sqlAdministratorLoginPassword) {
            return sqlAdministratorLoginPassword(Output.of(sqlAdministratorLoginPassword));
        }

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

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param trustedServiceBypassEnabled Is trustedServiceBypassEnabled for the workspace
         * 
         * @return builder
         * 
         */
        public Builder trustedServiceBypassEnabled(@Nullable Output trustedServiceBypassEnabled) {
            $.trustedServiceBypassEnabled = trustedServiceBypassEnabled;
            return this;
        }

        /**
         * @param trustedServiceBypassEnabled Is trustedServiceBypassEnabled for the workspace
         * 
         * @return builder
         * 
         */
        public Builder trustedServiceBypassEnabled(Boolean trustedServiceBypassEnabled) {
            return trustedServiceBypassEnabled(Output.of(trustedServiceBypassEnabled));
        }

        /**
         * @param virtualNetworkProfile Virtual Network profile
         * 
         * @return builder
         * 
         */
        public Builder virtualNetworkProfile(@Nullable Output virtualNetworkProfile) {
            $.virtualNetworkProfile = virtualNetworkProfile;
            return this;
        }

        /**
         * @param virtualNetworkProfile Virtual Network profile
         * 
         * @return builder
         * 
         */
        public Builder virtualNetworkProfile(VirtualNetworkProfileArgs virtualNetworkProfile) {
            return virtualNetworkProfile(Output.of(virtualNetworkProfile));
        }

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

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

        /**
         * @param workspaceRepositoryConfiguration Git integration settings
         * 
         * @return builder
         * 
         */
        public Builder workspaceRepositoryConfiguration(@Nullable Output workspaceRepositoryConfiguration) {
            $.workspaceRepositoryConfiguration = workspaceRepositoryConfiguration;
            return this;
        }

        /**
         * @param workspaceRepositoryConfiguration Git integration settings
         * 
         * @return builder
         * 
         */
        public Builder workspaceRepositoryConfiguration(WorkspaceRepositoryConfigurationArgs workspaceRepositoryConfiguration) {
            return workspaceRepositoryConfiguration(Output.of(workspaceRepositoryConfiguration));
        }

        public WorkspaceArgs build() {
            $.publicNetworkAccess = Codegen.stringProp("publicNetworkAccess").left(WorkspacePublicNetworkAccess.class).output().arg($.publicNetworkAccess).def("Enabled").getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("WorkspaceArgs", "resourceGroupName");
            }
            $.trustedServiceBypassEnabled = Codegen.booleanProp("trustedServiceBypassEnabled").output().arg($.trustedServiceBypassEnabled).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy