Functions/Set-DataBricksSecrets.ps1
<#
.SYNOPSIS Sets Databricks Secrets. .DESCRIPTION Takes Secret Scopes from config, finds correspinding $env:vars and set Secrets on the Workspace. .PARAMETER BearerToken Your Databricks Bearer token to authenticate to your workspace (see User Settings in Datatbricks WebUI) .PARAMETER config config passed in that includes secret scopes .EXAMPLE Set-DatabricksSecrets -BearerToken $bearerToken -config $config .NOTES Author: Sabin IO #> Function Set-DatabricksSecrets { [cmdletbinding()] Param( [parameter(Mandatory = $false)][string]$BearerToken, [parameter(Mandatory = $true)][psobject]$config ) Write-Host "Setting secrets..." foreach ($secretScope in $config.secretScopes) { Write-Verbose "Finding all environment vars with prefix $secretScope" $databricksSecrets = Get-EnvironmentVariablesBySecretScope -secretScope $secretScope if ($databricksSecrets.count -eq 0) { Write-Warning "No secrets found with prefix of $secretScope" } else { Write-Verbose "$($databricksSecrets.count) secrets found. Setting on Workspace." foreach ($databricksSecret in $databricksSecrets) { Set-DatabricksSecret -BearerToken $bearerToken -region $config.region -ScopeName $secretScope -SecretName $databricksSecret.Name -SecretValue $databricksSecret.Value -AllUserAccess } } } } |