ps/Modules/Alkami.DevOps.Common/Public/Get-SecretsForPod.ps1

51 lines
1.6 KiB
PowerShell
Raw Permalink Normal View History

2023-05-30 22:51:22 -07:00
function Get-SecretsForPod {
<#
.SYNOPSIS
Gets Secrets for Pod.
#>
[CmdletBinding()]
Param(
[string]$secretUserName,
[string]$secretPassword,
[string]$secretDomain,
[string]$secretFolderNames
)
$client = New-Object Alkami.Ops.SecretServer.Client
$authResult = $client.AuthenticateAsync($secretUserName, $secretPassword, $secretDomain).GetAwaiter().GetResult()
if ($authResult.Status -ne [Alkami.Ops.SecretServer.Enum.ResultStatus]::Success) {
Write-Warning ("Unable to authenticate with SecretServer: {0}" -f $authResult.Message)
if ($authResult.Errors.Count -gt 0) {
$errors = ("Error(s) from server - " + ($authResult.Errors | Select-Object -ExpandProperty "ErrorMessage") -join ", ")
Write-Warning -Message $errors
}
return
}
[HashTable]$secrets = $null
foreach ($secretFolder in $secretFolderNames.Split(',')) {
$result = $client.GetFolderSecretsAsync($secretFolder.Trim()).GetAwaiter().GetResult()
if ($result.Status -ne [Alkami.Ops.SecretServer.Enum.ResultStatus]::Success) {
Write-Warning ("Error pulling secrets for {0} from SecretServer: {1}" -f $secretFolder, $secretResult.Message)
if ($secretResult.Errors.Count -gt 0) {
$errors = ("Error(s) from server - " + ($secretResult.Errors | Select-Object -ExpandProperty "ErrorMessage") -join ", ")
Write-Warning -Message $errors
}
return
}
$secrets += $result.Secrets
}
return $secrets
}