DatabricksDsc

0.6.0

This module contains class-based DSC resources for Databricks and Unity Catalog with a focus on Azure.

Minimum PowerShell version

5.0

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name DatabricksDsc

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name DatabricksDsc

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) Gijs Reijn. All rights reserved.

Package Details

Author(s)

  • Gijs Reijn

Tags

DSC DSCResourceKit DSCResource Databricks DesiredStateConfiguration

Functions

Get-DatabricksSecret Get-DatabricksSecretScope Get-DatabricksUser New-DatabricksSecret New-DatabricksSecretScope New-DatabricksUser Remove-DatabricksSecret Remove-DatabricksSecretScope Remove-DatabricksUser Set-DatabricksUser

DSCResources

DatabricksAccountMetastoreAssignment DatabricksAccountServicePrincipal DatabricksAccountUser DatabricksAccountWorkspacePermissionAssignment DatabricksClusterPolicy DatabricksClusterPolicyPermission DatabricksGroup DatabricksGroupMember DatabricksSecret DatabricksSecretScope DatabricksServicePrincipal DatabricksUser

Dependencies

This module has no dependencies.

Release Notes

## [0.6.0] - 2025-12-12

### Added

- Added `DatabricksSecret` resource for managing individual secrets in secret scopes
 - Manages secrets stored in Databricks-backed secret scopes
 - Key properties: `ScopeName`, `SecretKey`, `StringValue`/`BytesValue`
 - Supports both string values (UTF-8) and byte values (base64-encoded)
 - SecretKey validation: alphanumeric, dashes, underscores, periods (max 128 chars)
 - Maximum secret size: 128 KB
 - Note: API does not return secret values, so value changes cannot be detected
   - Existing secrets are recreated when Set() is called to ensure desired state
 - Uses workspace-level Secrets API:
   - Create/Update: `POST /api/2.0/secrets/put`
   - Delete: `POST /api/2.0/secrets/delete`
   - List: `GET /api/2.0/secrets/list`
 - Includes `Export()` static methods for exporting secrets
   - Note: Secret values are not exported (not returned by API)
   - Supports exporting all secrets from all scopes
   - Supports filtering by `ScopeName` to export secrets from specific scope
 - Cannot be used with Azure Key Vault-backed scopes
 - Includes comprehensive unit tests for class and public functions
 - Includes public functions: `Get-DatabricksSecret`, `New-DatabricksSecret`, `Remove-DatabricksSecret`

- Added `DatabricksSecretScope` resource for managing secret scopes
 - Manages both Databricks-backed and Azure Key Vault-backed secret scopes
 - Key property: `ScopeName`
 - Supports two backend types: `DATABRICKS` (default) and `AZURE_KEYVAULT`
 - For Azure Key Vault scopes, requires `BackendAzureKeyVault` with DNS name
   and resource ID
 - Includes `AzureKeyVaultBackend` complex type implementing IComparable and IEquatable
 - Note: API does not support updating scopes - scopes are deleted and
   recreated on changes
 - Uses workspace-level Secrets API:
   - Create: `POST /api/2.0/secrets/scopes/create`
   - Delete: `POST /api/2.0/secrets/scopes/delete`
   - List: `GET /api/2.0/secrets/scopes/list`
 - Includes `Export()` static methods for exporting secret scopes
   - Supports exporting all secret scopes from workspace
   - Supports filtering by `ScopeName` and `ScopeBackendType` properties
 - Includes comprehensive unit tests for class and public functions
 - Includes public functions: `Get-DatabricksSecretScope`,
   `New-DatabricksSecretScope`, `Remove-DatabricksSecretScope`

### Changed

- `DatabricksAccountWorkspacePermissionAssignment`
 - Added `Export()` static methods for exporting permission assignments
 - Supports exporting all permission assignments for a workspace
 - Supports filtering by `PrincipalId` and `Permissions` properties
 - Uses account-level API endpoint:
   `/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments`

FileList

Version History

Version Downloads Last updated
0.6.0 (current version) 305 12/12/2025
0.6.0-previe... 3 11/30/2025
0.6.0-previe... 3 11/30/2025
0.5.0 471 11/27/2025
0.5.0-previe... 3 11/27/2025
0.4.2 55 11/26/2025
0.4.2-previe... 3 11/25/2025
0.4.1 74 11/23/2025
0.4.0-previe... 3 11/23/2025
0.4.0-previe... 3 11/22/2025
0.3.0 4 11/21/2025
0.3.0-previe... 3 11/21/2025
0.2.1 6 11/19/2025
0.2.0-previe... 5 11/19/2025
Show more