SecretManagement.HashiCorp.HCP.Vault.Secrets.Extension/public/Set-Secret.ps1
function Set-Secret { [CmdletBinding()] param ( [string] $Name, [object] $Secret, [string] $VaultName, [hashtable] $AdditionalParameters ) try { if (Test-SecretVault -VaultName $VaultName -AdditionalParameters $AdditionalParameters) { if ($Secret -isnot [string] -and $Secret -is [System.Security.SecureString]) { $Secret = ConvertFrom-SecureString -SecureString $Secret -AsPlainText } $body = @{ 'name' = $Name 'value' = $Secret } | ConvertTo-Json $uri = ('{0}/secrets/{1}/organizations/{2}/projects/{3}/apps/{4}/secret/kv' -f $script:HCPBaseUri, $script:HCPApiVersion, $AdditionalParameters.OrganizationId, $AdditionalParameters.ProjectId, $AdditionalParameters.AppName) $secret = Invoke-RestMethod -Uri $uri -Method Post -Body $body -Headers $script:authorizationHeader } } catch { Write-Error $_ } } |