I'm trying to update the list object in the following file using Powershell:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"environment": {
"value": ""
},
"keyVaultAccessPolicies": {
"value": {
"list": []
}
}
}
}
This is my Powershell that I have written so far:
$parametersTemplate = "C:\deploy.parameters.json"
$parametersJson = Get-Content $parametersTemplate -Raw | ConvertFrom-Json
$parametersJson.parameters.keyVaultAccessPolicies.value.list = $armAccessPolicies
$parametersJson | ConvertTo-Json | % { [System.Text.RegularExpressions.Regex]::Unescape($_) } | Set-Content $parametersTemplate
$armAccessPolices is a json string that looks like this:
[
{
"tenantId":"**************",
"objectId":"**************",
"permissions":{"keys":"","secrets":"Get","certificates":"","storage":""}
},
{
"tenantId":"**************",
"objectId":"**************",
"permissions":{"keys":"","secrets":"Get","certificates":"","storage":""}
}
]
When the JSON file is updated the result I am getting is this:
"keyVaultAccessPolicies": {
"value": "@{list=[...]}"
}
I'd like some advice so the file looks like this:
"keyVaultAccessPolicies": {
"value": {
"list": [...]
}
}