Workspace
Information about workspace. Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2023-02-01, 2023-09-15-preview, 2024-09-01-preview, 2025-03-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native databricks [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create a workspace which is ready for Customer-Managed Key (CMK) encryption
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
Parameters = new AzureNative.Databricks.Inputs.WorkspaceCustomParametersArgs
{
PrepareEncryption = new AzureNative.Databricks.Inputs.WorkspaceCustomBooleanParameterArgs
{
Value = true,
},
},
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
Parameters: &databricks.WorkspaceCustomParametersArgs{
PrepareEncryption: &databricks.WorkspaceCustomBooleanParameterArgs{
Value: pulumi.Bool(true),
},
},
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomBooleanParameterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.parameters(WorkspaceCustomParametersArgs.builder()
.prepareEncryption(WorkspaceCustomBooleanParameterArgs.builder()
.value(true)
.build())
.build())
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Create a workspace with Customer-Managed Key (CMK) encryption for Managed Disks
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
Encryption = new AzureNative.Databricks.Inputs.WorkspacePropertiesEncryptionArgs
{
Entities = new AzureNative.Databricks.Inputs.EncryptionEntitiesDefinitionArgs
{
ManagedDisk = new AzureNative.Databricks.Inputs.ManagedDiskEncryptionArgs
{
KeySource = AzureNative.Databricks.EncryptionKeySource.Microsoft_Keyvault,
KeyVaultProperties = new AzureNative.Databricks.Inputs.ManagedDiskEncryptionKeyVaultPropertiesArgs
{
KeyName = "test-cmk-key",
KeyVaultUri = "https://test-vault-name.vault.azure.net/",
KeyVersion = "00000000000000000000000000000000",
},
RotationToLatestKeyVersionEnabled = true,
},
},
},
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
Encryption: &databricks.WorkspacePropertiesEncryptionArgs{
Entities: &databricks.EncryptionEntitiesDefinitionArgs{
ManagedDisk: &databricks.ManagedDiskEncryptionArgs{
KeySource: pulumi.String(databricks.EncryptionKeySource_Microsoft_Keyvault),
KeyVaultProperties: &databricks.ManagedDiskEncryptionKeyVaultPropertiesArgs{
KeyName: pulumi.String("test-cmk-key"),
KeyVaultUri: pulumi.String("https://test-vault-name.vault.azure.net/"),
KeyVersion: pulumi.String("00000000000000000000000000000000"),
},
RotationToLatestKeyVersionEnabled: pulumi.Bool(true),
},
},
},
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspacePropertiesEncryptionArgs;
import com.pulumi.azurenative.databricks.inputs.EncryptionEntitiesDefinitionArgs;
import com.pulumi.azurenative.databricks.inputs.ManagedDiskEncryptionArgs;
import com.pulumi.azurenative.databricks.inputs.ManagedDiskEncryptionKeyVaultPropertiesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.encryption(WorkspacePropertiesEncryptionArgs.builder()
.entities(EncryptionEntitiesDefinitionArgs.builder()
.managedDisk(ManagedDiskEncryptionArgs.builder()
.keySource("Microsoft.Keyvault")
.keyVaultProperties(ManagedDiskEncryptionKeyVaultPropertiesArgs.builder()
.keyName("test-cmk-key")
.keyVaultUri("https://test-vault-name.vault.azure.net/")
.keyVersion("00000000000000000000000000000000")
.build())
.rotationToLatestKeyVersionEnabled(true)
.build())
.build())
.build())
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Create or update a workspace with Enhanced Security & Compliance Add-On
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
EnhancedSecurityCompliance = new AzureNative.Databricks.Inputs.EnhancedSecurityComplianceDefinitionArgs
{
AutomaticClusterUpdate = new AzureNative.Databricks.Inputs.AutomaticClusterUpdateDefinitionArgs
{
Value = AzureNative.Databricks.AutomaticClusterUpdateValue.Enabled,
},
ComplianceSecurityProfile = new AzureNative.Databricks.Inputs.ComplianceSecurityProfileDefinitionArgs
{
ComplianceStandards = new[]
{
AzureNative.Databricks.ComplianceStandard.PCI_DSS,
AzureNative.Databricks.ComplianceStandard.HIPAA,
},
Value = AzureNative.Databricks.ComplianceSecurityProfileValue.Enabled,
},
EnhancedSecurityMonitoring = new AzureNative.Databricks.Inputs.EnhancedSecurityMonitoringDefinitionArgs
{
Value = AzureNative.Databricks.EnhancedSecurityMonitoringValue.Enabled,
},
},
Location = "eastus2",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
EnhancedSecurityCompliance: &databricks.EnhancedSecurityComplianceDefinitionArgs{
AutomaticClusterUpdate: &databricks.AutomaticClusterUpdateDefinitionArgs{
Value: pulumi.String(databricks.AutomaticClusterUpdateValueEnabled),
},
ComplianceSecurityProfile: &databricks.ComplianceSecurityProfileDefinitionArgs{
ComplianceStandards: pulumi.StringArray{
pulumi.String(databricks.ComplianceStandard_PCI_DSS),
pulumi.String(databricks.ComplianceStandardHIPAA),
},
Value: pulumi.String(databricks.ComplianceSecurityProfileValueEnabled),
},
EnhancedSecurityMonitoring: &databricks.EnhancedSecurityMonitoringDefinitionArgs{
Value: pulumi.String(databricks.EnhancedSecurityMonitoringValueEnabled),
},
},
Location: pulumi.String("eastus2"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.EnhancedSecurityComplianceDefinitionArgs;
import com.pulumi.azurenative.databricks.inputs.AutomaticClusterUpdateDefinitionArgs;
import com.pulumi.azurenative.databricks.inputs.ComplianceSecurityProfileDefinitionArgs;
import com.pulumi.azurenative.databricks.inputs.EnhancedSecurityMonitoringDefinitionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.enhancedSecurityCompliance(EnhancedSecurityComplianceDefinitionArgs.builder()
.automaticClusterUpdate(AutomaticClusterUpdateDefinitionArgs.builder()
.value("Enabled")
.build())
.complianceSecurityProfile(ComplianceSecurityProfileDefinitionArgs.builder()
.complianceStandards(
"PCI_DSS",
"HIPAA")
.value("Enabled")
.build())
.enhancedSecurityMonitoring(EnhancedSecurityMonitoringDefinitionArgs.builder()
.value("Enabled")
.build())
.build())
.location("eastus2")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Create or update workspace
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
AccessConnector = new AzureNative.Databricks.Inputs.WorkspacePropertiesAccessConnectorArgs
{
Id = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/adbrg/providers/Microsoft.Databricks/accessConnectors/myAccessConnector",
IdentityType = AzureNative.Databricks.IdentityType.SystemAssigned,
},
DefaultCatalog = new AzureNative.Databricks.Inputs.DefaultCatalogPropertiesArgs
{
InitialName = "",
InitialType = AzureNative.Databricks.InitialType.UnityCatalog,
},
DefaultStorageFirewall = AzureNative.Databricks.DefaultStorageFirewall.Enabled,
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
AccessConnector: &databricks.WorkspacePropertiesAccessConnectorArgs{
Id: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/adbrg/providers/Microsoft.Databricks/accessConnectors/myAccessConnector"),
IdentityType: pulumi.String(databricks.IdentityTypeSystemAssigned),
},
DefaultCatalog: &databricks.DefaultCatalogPropertiesArgs{
InitialName: pulumi.String(""),
InitialType: pulumi.String(databricks.InitialTypeUnityCatalog),
},
DefaultStorageFirewall: pulumi.String(databricks.DefaultStorageFirewallEnabled),
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspacePropertiesAccessConnectorArgs;
import com.pulumi.azurenative.databricks.inputs.DefaultCatalogPropertiesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.accessConnector(WorkspacePropertiesAccessConnectorArgs.builder()
.id("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/adbrg/providers/Microsoft.Databricks/accessConnectors/myAccessConnector")
.identityType("SystemAssigned")
.build())
.defaultCatalog(DefaultCatalogPropertiesArgs.builder()
.initialName("")
.initialType("UnityCatalog")
.build())
.defaultStorageFirewall("Enabled")
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Create or update workspace with custom parameters
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
AccessConnector = new AzureNative.Databricks.Inputs.WorkspacePropertiesAccessConnectorArgs
{
Id = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/adbrg/providers/Microsoft.Databricks/accessConnectors/myAccessConnector",
IdentityType = AzureNative.Databricks.IdentityType.UserAssigned,
UserAssignedIdentityId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
},
DefaultCatalog = new AzureNative.Databricks.Inputs.DefaultCatalogPropertiesArgs
{
InitialName = "",
InitialType = AzureNative.Databricks.InitialType.HiveMetastore,
},
DefaultStorageFirewall = AzureNative.Databricks.DefaultStorageFirewall.Enabled,
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
Parameters = new AzureNative.Databricks.Inputs.WorkspaceCustomParametersArgs
{
CustomPrivateSubnetName = new AzureNative.Databricks.Inputs.WorkspaceCustomStringParameterArgs
{
Value = "myPrivateSubnet",
},
CustomPublicSubnetName = new AzureNative.Databricks.Inputs.WorkspaceCustomStringParameterArgs
{
Value = "myPublicSubnet",
},
CustomVirtualNetworkId = new AzureNative.Databricks.Inputs.WorkspaceCustomStringParameterArgs
{
Value = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork",
},
},
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
AccessConnector: &databricks.WorkspacePropertiesAccessConnectorArgs{
Id: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/adbrg/providers/Microsoft.Databricks/accessConnectors/myAccessConnector"),
IdentityType: pulumi.String(databricks.IdentityTypeUserAssigned),
UserAssignedIdentityId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity"),
},
DefaultCatalog: &databricks.DefaultCatalogPropertiesArgs{
InitialName: pulumi.String(""),
InitialType: pulumi.String(databricks.InitialTypeHiveMetastore),
},
DefaultStorageFirewall: pulumi.String(databricks.DefaultStorageFirewallEnabled),
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
Parameters: &databricks.WorkspaceCustomParametersArgs{
CustomPrivateSubnetName: &databricks.WorkspaceCustomStringParameterArgs{
Value: pulumi.String("myPrivateSubnet"),
},
CustomPublicSubnetName: &databricks.WorkspaceCustomStringParameterArgs{
Value: pulumi.String("myPublicSubnet"),
},
CustomVirtualNetworkId: &databricks.WorkspaceCustomStringParameterArgs{
Value: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"),
},
},
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspacePropertiesAccessConnectorArgs;
import com.pulumi.azurenative.databricks.inputs.DefaultCatalogPropertiesArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomStringParameterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.accessConnector(WorkspacePropertiesAccessConnectorArgs.builder()
.id("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/adbrg/providers/Microsoft.Databricks/accessConnectors/myAccessConnector")
.identityType("UserAssigned")
.userAssignedIdentityId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity")
.build())
.defaultCatalog(DefaultCatalogPropertiesArgs.builder()
.initialName("")
.initialType("HiveMetastore")
.build())
.defaultStorageFirewall("Enabled")
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.parameters(WorkspaceCustomParametersArgs.builder()
.customPrivateSubnetName(WorkspaceCustomStringParameterArgs.builder()
.value("myPrivateSubnet")
.build())
.customPublicSubnetName(WorkspaceCustomStringParameterArgs.builder()
.value("myPublicSubnet")
.build())
.customVirtualNetworkId(WorkspaceCustomStringParameterArgs.builder()
.value("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork")
.build())
.build())
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Enable Customer-Managed Key (CMK) encryption on a workspace which is prepared for encryption
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
Parameters = new AzureNative.Databricks.Inputs.WorkspaceCustomParametersArgs
{
Encryption = new AzureNative.Databricks.Inputs.WorkspaceEncryptionParameterArgs
{
Value = new AzureNative.Databricks.Inputs.EncryptionArgs
{
KeyName = "myKeyName",
KeySource = AzureNative.Databricks.KeySource.Microsoft_Keyvault,
KeyVaultUri = "https://myKeyVault.vault.azure.net/",
KeyVersion = "00000000000000000000000000000000",
},
},
PrepareEncryption = new AzureNative.Databricks.Inputs.WorkspaceCustomBooleanParameterArgs
{
Value = true,
},
},
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
Parameters: &databricks.WorkspaceCustomParametersArgs{
Encryption: &databricks.WorkspaceEncryptionParameterArgs{
Value: &databricks.EncryptionArgs{
KeyName: pulumi.String("myKeyName"),
KeySource: pulumi.String(databricks.KeySource_Microsoft_Keyvault),
KeyVaultUri: pulumi.String("https://myKeyVault.vault.azure.net/"),
KeyVersion: pulumi.String("00000000000000000000000000000000"),
},
},
PrepareEncryption: &databricks.WorkspaceCustomBooleanParameterArgs{
Value: pulumi.Bool(true),
},
},
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceEncryptionParameterArgs;
import com.pulumi.azurenative.databricks.inputs.EncryptionArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomBooleanParameterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.parameters(WorkspaceCustomParametersArgs.builder()
.encryption(WorkspaceEncryptionParameterArgs.builder()
.value(EncryptionArgs.builder()
.keyName("myKeyName")
.keySource("Microsoft.Keyvault")
.keyVaultUri("https://myKeyVault.vault.azure.net/")
.keyVersion("00000000000000000000000000000000")
.build())
.build())
.prepareEncryption(WorkspaceCustomBooleanParameterArgs.builder()
.value(true)
.build())
.build())
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Revert Customer-Managed Key (CMK) encryption to Microsoft Managed Keys encryption on a workspace
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
Parameters = new AzureNative.Databricks.Inputs.WorkspaceCustomParametersArgs
{
Encryption = new AzureNative.Databricks.Inputs.WorkspaceEncryptionParameterArgs
{
Value = new AzureNative.Databricks.Inputs.EncryptionArgs
{
KeySource = AzureNative.Databricks.KeySource.Default,
},
},
},
ResourceGroupName = "rg",
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
Parameters: &databricks.WorkspaceCustomParametersArgs{
Encryption: &databricks.WorkspaceEncryptionParameterArgs{
Value: &databricks.EncryptionArgs{
KeySource: pulumi.String(databricks.KeySourceDefault),
},
},
},
ResourceGroupName: pulumi.String("rg"),
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspaceEncryptionParameterArgs;
import com.pulumi.azurenative.databricks.inputs.EncryptionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.parameters(WorkspaceCustomParametersArgs.builder()
.encryption(WorkspaceEncryptionParameterArgs.builder()
.value(EncryptionArgs.builder()
.keySource("Default")
.build())
.build())
.build())
.resourceGroupName("rg")
.workspaceName("myWorkspace")
.build());
}
}
Update a workspace with Customer-Managed Key (CMK) encryption for Managed Disks
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspace = new AzureNative.Databricks.Workspace("workspace", new()
{
Encryption = new AzureNative.Databricks.Inputs.WorkspacePropertiesEncryptionArgs
{
Entities = new AzureNative.Databricks.Inputs.EncryptionEntitiesDefinitionArgs
{
ManagedDisk = new AzureNative.Databricks.Inputs.ManagedDiskEncryptionArgs
{
KeySource = AzureNative.Databricks.EncryptionKeySource.Microsoft_Keyvault,
KeyVaultProperties = new AzureNative.Databricks.Inputs.ManagedDiskEncryptionKeyVaultPropertiesArgs
{
KeyName = "test-cmk-key",
KeyVaultUri = "https://test-vault-name.vault.azure.net/",
KeyVersion = "00000000000000000000000000000000",
},
RotationToLatestKeyVersionEnabled = true,
},
},
},
Location = "westus",
ManagedResourceGroupId = "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG",
ResourceGroupName = "rg",
Tags =
{
{ "mytag1", "myvalue1" },
},
WorkspaceName = "myWorkspace",
});
});
package main
import (
databricks "github.com/pulumi/pulumi-azure-native-sdk/databricks/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewWorkspace(ctx, "workspace", &databricks.WorkspaceArgs{
Encryption: &databricks.WorkspacePropertiesEncryptionArgs{
Entities: &databricks.EncryptionEntitiesDefinitionArgs{
ManagedDisk: &databricks.ManagedDiskEncryptionArgs{
KeySource: pulumi.String(databricks.EncryptionKeySource_Microsoft_Keyvault),
KeyVaultProperties: &databricks.ManagedDiskEncryptionKeyVaultPropertiesArgs{
KeyName: pulumi.String("test-cmk-key"),
KeyVaultUri: pulumi.String("https://test-vault-name.vault.azure.net/"),
KeyVersion: pulumi.String("00000000000000000000000000000000"),
},
RotationToLatestKeyVersionEnabled: pulumi.Bool(true),
},
},
},
Location: pulumi.String("westus"),
ManagedResourceGroupId: pulumi.String("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG"),
ResourceGroupName: pulumi.String("rg"),
Tags: pulumi.StringMap{
"mytag1": pulumi.String("myvalue1"),
},
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databricks.Workspace;
import com.pulumi.azurenative.databricks.WorkspaceArgs;
import com.pulumi.azurenative.databricks.inputs.WorkspacePropertiesEncryptionArgs;
import com.pulumi.azurenative.databricks.inputs.EncryptionEntitiesDefinitionArgs;
import com.pulumi.azurenative.databricks.inputs.ManagedDiskEncryptionArgs;
import com.pulumi.azurenative.databricks.inputs.ManagedDiskEncryptionKeyVaultPropertiesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var workspace = new Workspace("workspace", WorkspaceArgs.builder()
.encryption(WorkspacePropertiesEncryptionArgs.builder()
.entities(EncryptionEntitiesDefinitionArgs.builder()
.managedDisk(ManagedDiskEncryptionArgs.builder()
.keySource("Microsoft.Keyvault")
.keyVaultProperties(ManagedDiskEncryptionKeyVaultPropertiesArgs.builder()
.keyName("test-cmk-key")
.keyVaultUri("https://test-vault-name.vault.azure.net/")
.keyVersion("00000000000000000000000000000000")
.build())
.rotationToLatestKeyVersionEnabled(true)
.build())
.build())
.build())
.location("westus")
.managedResourceGroupId("/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myManagedRG")
.resourceGroupName("rg")
.tags(Map.of("mytag1", "myvalue1"))
.workspaceName("myWorkspace")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:databricks:Workspace myWorkspace /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}
Properties
Access Connector Resource that is going to be associated with Databricks Workspace
The workspace provider authorizations.
The Azure API version of the resource.
Indicates the Object ID, PUID and Application ID of entity that created the workspace.
Specifies the date and time when the workspace is created.
Properties for Default Catalog configuration during workspace creation.
Gets or Sets Default Storage Firewall configuration information
The resource Id of the managed disk encryption set.
Encryption properties for databricks workspace
Contains settings related to the Enhanced Security and Compliance Add-On.
Indicates whether unity catalog enabled for the workspace or not.
The details of Managed Identity of Disk Encryption Set used for Managed Disk Encryption
The managed resource group Id.
The workspace's custom parameters.
Private endpoint connections created on the workspace
The workspace provisioning state.
The network access type for accessing workspace. Set value to disabled to access workspace only via private link.
Gets or sets a value indicating whether data plane (clusters) to control plane communication happen over private endpoint. Supported values are 'AllRules' and 'NoAzureDatabricksRules'. 'NoAzureServiceRules' value is for internal use only.
The SKU of the resource.
The details of Managed Identity of Storage Account
The system metadata relating to this resource
The blob URI where the UI definition file is located.
Indicates the Object ID, PUID and Application ID of entity that last updated the workspace.
The unique identifier of the databricks workspace in databricks control plane.
The workspace URL which is of the format 'adb-{workspaceId}.{random}.azuredatabricks.net'