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

com.pulumi.azurenative.synapse.Workspace Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.synapse;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.synapse.WorkspaceArgs;
import com.pulumi.azurenative.synapse.outputs.CspWorkspaceAdminPropertiesResponse;
import com.pulumi.azurenative.synapse.outputs.DataLakeStorageAccountDetailsResponse;
import com.pulumi.azurenative.synapse.outputs.EncryptionDetailsResponse;
import com.pulumi.azurenative.synapse.outputs.ManagedIdentityResponse;
import com.pulumi.azurenative.synapse.outputs.ManagedVirtualNetworkSettingsResponse;
import com.pulumi.azurenative.synapse.outputs.PrivateEndpointConnectionResponse;
import com.pulumi.azurenative.synapse.outputs.PurviewConfigurationResponse;
import com.pulumi.azurenative.synapse.outputs.VirtualNetworkProfileResponse;
import com.pulumi.azurenative.synapse.outputs.WorkspaceRepositoryConfigurationResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * A workspace
 * Azure REST API version: 2021-06-01. Prior API version in Azure Native 1.x: 2021-03-01.
 * 
 * Other available API versions: 2021-05-01, 2021-06-01-preview.
 * ## Import
 * 
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * 
 * ```sh
 * $ pulumi import azure-native:synapse:Workspace workspace1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName} 
 * ```
 * 
 */
@ResourceType(type="azure-native:synapse:Workspace")
public class Workspace extends com.pulumi.resources.CustomResource {
    /**
     * The ADLA resource ID.
     * 
     */
    @Export(name="adlaResourceId", refs={String.class}, tree="[0]")
    private Output adlaResourceId;

    /**
     * @return The ADLA resource ID.
     * 
     */
    public Output adlaResourceId() {
        return this.adlaResourceId;
    }
    /**
     * Connectivity endpoints
     * 
     */
    @Export(name="connectivityEndpoints", refs={Map.class,String.class}, tree="[0,1,1]")
    private Output> connectivityEndpoints;

    /**
     * @return Connectivity endpoints
     * 
     */
    public Output> connectivityEndpoints() {
        return this.connectivityEndpoints;
    }
    /**
     * Initial workspace AAD admin properties for a CSP subscription
     * 
     */
    @Export(name="cspWorkspaceAdminProperties", refs={CspWorkspaceAdminPropertiesResponse.class}, tree="[0]")
    private Output cspWorkspaceAdminProperties;

    /**
     * @return Initial workspace AAD admin properties for a CSP subscription
     * 
     */
    public Output> cspWorkspaceAdminProperties() {
        return Codegen.optional(this.cspWorkspaceAdminProperties);
    }
    /**
     * Workspace default data lake storage account details
     * 
     */
    @Export(name="defaultDataLakeStorage", refs={DataLakeStorageAccountDetailsResponse.class}, tree="[0]")
    private Output defaultDataLakeStorage;

    /**
     * @return Workspace default data lake storage account details
     * 
     */
    public Output> defaultDataLakeStorage() {
        return Codegen.optional(this.defaultDataLakeStorage);
    }
    /**
     * The encryption details of the workspace
     * 
     */
    @Export(name="encryption", refs={EncryptionDetailsResponse.class}, tree="[0]")
    private Output encryption;

    /**
     * @return The encryption details of the workspace
     * 
     */
    public Output> encryption() {
        return Codegen.optional(this.encryption);
    }
    /**
     * Workspace level configs and feature flags
     * 
     */
    @Export(name="extraProperties", refs={Object.class}, tree="[0]")
    private Output extraProperties;

    /**
     * @return Workspace level configs and feature flags
     * 
     */
    public Output extraProperties() {
        return this.extraProperties;
    }
    /**
     * Identity of the workspace
     * 
     */
    @Export(name="identity", refs={ManagedIdentityResponse.class}, tree="[0]")
    private Output identity;

    /**
     * @return Identity of the workspace
     * 
     */
    public Output> identity() {
        return Codegen.optional(this.identity);
    }
    /**
     * The geo-location where the resource lives
     * 
     */
    @Export(name="location", refs={String.class}, tree="[0]")
    private Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Output location() {
        return 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 '.'
     * 
     */
    @Export(name="managedResourceGroupName", refs={String.class}, tree="[0]")
    private 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 Output> managedResourceGroupName() {
        return Codegen.optional(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.
     * 
     */
    @Export(name="managedVirtualNetwork", refs={String.class}, tree="[0]")
    private 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 Output> managedVirtualNetwork() {
        return Codegen.optional(this.managedVirtualNetwork);
    }
    /**
     * Managed Virtual Network Settings
     * 
     */
    @Export(name="managedVirtualNetworkSettings", refs={ManagedVirtualNetworkSettingsResponse.class}, tree="[0]")
    private Output managedVirtualNetworkSettings;

    /**
     * @return Managed Virtual Network Settings
     * 
     */
    public Output> managedVirtualNetworkSettings() {
        return Codegen.optional(this.managedVirtualNetworkSettings);
    }
    /**
     * The name of the resource
     * 
     */
    @Export(name="name", refs={String.class}, tree="[0]")
    private Output name;

    /**
     * @return The name of the resource
     * 
     */
    public Output name() {
        return this.name;
    }
    /**
     * Private endpoint connections to the workspace
     * 
     */
    @Export(name="privateEndpointConnections", refs={List.class,PrivateEndpointConnectionResponse.class}, tree="[0,1]")
    private Output> privateEndpointConnections;

    /**
     * @return Private endpoint connections to the workspace
     * 
     */
    public Output>> privateEndpointConnections() {
        return Codegen.optional(this.privateEndpointConnections);
    }
    /**
     * Resource provisioning state
     * 
     */
    @Export(name="provisioningState", refs={String.class}, tree="[0]")
    private Output provisioningState;

    /**
     * @return Resource provisioning state
     * 
     */
    public Output provisioningState() {
        return this.provisioningState;
    }
    /**
     * Enable or Disable public network access to workspace
     * 
     */
    @Export(name="publicNetworkAccess", refs={String.class}, tree="[0]")
    private Output publicNetworkAccess;

    /**
     * @return Enable or Disable public network access to workspace
     * 
     */
    public Output> publicNetworkAccess() {
        return Codegen.optional(this.publicNetworkAccess);
    }
    /**
     * Purview Configuration
     * 
     */
    @Export(name="purviewConfiguration", refs={PurviewConfigurationResponse.class}, tree="[0]")
    private Output purviewConfiguration;

    /**
     * @return Purview Configuration
     * 
     */
    public Output> purviewConfiguration() {
        return Codegen.optional(this.purviewConfiguration);
    }
    /**
     * Workspace settings
     * 
     */
    @Export(name="settings", refs={Map.class,String.class,Object.class}, tree="[0,1,2]")
    private Output> settings;

    /**
     * @return Workspace settings
     * 
     */
    public Output> settings() {
        return this.settings;
    }
    /**
     * Login for workspace SQL active directory administrator
     * 
     */
    @Export(name="sqlAdministratorLogin", refs={String.class}, tree="[0]")
    private Output sqlAdministratorLogin;

    /**
     * @return Login for workspace SQL active directory administrator
     * 
     */
    public Output> sqlAdministratorLogin() {
        return Codegen.optional(this.sqlAdministratorLogin);
    }
    /**
     * SQL administrator login password
     * 
     */
    @Export(name="sqlAdministratorLoginPassword", refs={String.class}, tree="[0]")
    private Output sqlAdministratorLoginPassword;

    /**
     * @return SQL administrator login password
     * 
     */
    public Output> sqlAdministratorLoginPassword() {
        return Codegen.optional(this.sqlAdministratorLoginPassword);
    }
    /**
     * Resource tags.
     * 
     */
    @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
    private Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Output>> tags() {
        return Codegen.optional(this.tags);
    }
    /**
     * Is trustedServiceBypassEnabled for the workspace
     * 
     */
    @Export(name="trustedServiceBypassEnabled", refs={Boolean.class}, tree="[0]")
    private Output trustedServiceBypassEnabled;

    /**
     * @return Is trustedServiceBypassEnabled for the workspace
     * 
     */
    public Output> trustedServiceBypassEnabled() {
        return Codegen.optional(this.trustedServiceBypassEnabled);
    }
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    @Export(name="type", refs={String.class}, tree="[0]")
    private Output type;

    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public Output type() {
        return this.type;
    }
    /**
     * Virtual Network profile
     * 
     */
    @Export(name="virtualNetworkProfile", refs={VirtualNetworkProfileResponse.class}, tree="[0]")
    private Output virtualNetworkProfile;

    /**
     * @return Virtual Network profile
     * 
     */
    public Output> virtualNetworkProfile() {
        return Codegen.optional(this.virtualNetworkProfile);
    }
    /**
     * Git integration settings
     * 
     */
    @Export(name="workspaceRepositoryConfiguration", refs={WorkspaceRepositoryConfigurationResponse.class}, tree="[0]")
    private Output workspaceRepositoryConfiguration;

    /**
     * @return Git integration settings
     * 
     */
    public Output> workspaceRepositoryConfiguration() {
        return Codegen.optional(this.workspaceRepositoryConfiguration);
    }
    /**
     * The workspace unique identifier
     * 
     */
    @Export(name="workspaceUID", refs={String.class}, tree="[0]")
    private Output workspaceUID;

    /**
     * @return The workspace unique identifier
     * 
     */
    public Output workspaceUID() {
        return this.workspaceUID;
    }

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public Workspace(java.lang.String name) {
        this(name, WorkspaceArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public Workspace(java.lang.String name, WorkspaceArgs args) {
        this(name, args, null);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param options A bag of options that control this resource's behavior.
     */
    public Workspace(java.lang.String name, WorkspaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure-native:synapse:Workspace", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
    }

    private Workspace(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure-native:synapse:Workspace", name, null, makeResourceOptions(options, id), false);
    }

    private static WorkspaceArgs makeArgs(WorkspaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        if (options != null && options.getUrn().isPresent()) {
            return null;
        }
        return args == null ? WorkspaceArgs.Empty : args;
    }

    private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
        var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
            .version(Utilities.getVersion())
            .aliases(List.of(
                Output.of(Alias.builder().type("azure-native:synapse/v20190601preview:Workspace").build()),
                Output.of(Alias.builder().type("azure-native:synapse/v20201201:Workspace").build()),
                Output.of(Alias.builder().type("azure-native:synapse/v20210301:Workspace").build()),
                Output.of(Alias.builder().type("azure-native:synapse/v20210401preview:Workspace").build()),
                Output.of(Alias.builder().type("azure-native:synapse/v20210501:Workspace").build()),
                Output.of(Alias.builder().type("azure-native:synapse/v20210601:Workspace").build()),
                Output.of(Alias.builder().type("azure-native:synapse/v20210601preview:Workspace").build())
            ))
            .build();
        return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
    }

    /**
     * Get an existing Host resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param options Optional settings to control the behavior of the CustomResource.
     */
    public static Workspace get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new Workspace(name, id, options);
    }
}