Reputation: 1
I wanted to parse the below template based on my parameters in powershell.
param(
[string]$servicePrincipalId="e90a1407-55c3-432d-9cb1-3638900a9d22",
[string]$azureSubscriptionId="123",
[string]$resourceGroupName=245,
[string]$vnetName=456
)
Write-Host '{
"Name":"AtlasPeering/($azureSubscriptionId)/$resourceGroupName/$vnetName",
"IsCustom":true,
"Description":"manage peering connections on network ",
"Actions":[
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete",
"Microsoft.Network/virtualNetworks/peer/action"
]
}'
The above template should print like below
{
"Name":"AtlasPeering/123/245/456",
"IsCustom":true,
"Description":"manage peering connections on network",
"Actions":[
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete",
"Microsoft.Network/virtualNetworks/peer/action"
]
}
Upvotes: 0
Views: 90
Reputation: 8432
Try making the output string a here-string:
Write-Host @"
{
"Name":"AtlasPeering/($azureSubscriptionId)/$resourceGroupName/$vnetName",
"IsCustom":true,
"Description":"manage peering connections on network ",
"Actions":[
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete",
"Microsoft.Network/virtualNetworks/peer/action"
]
}
"@
Upvotes: 1