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 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 = $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 -ScopeName $secretScope -SecretName $databricksSecret.Name -SecretValue $databricksSecret.Value -AllUserAccess } } } } |