Skip to content

Instantly share code, notes, and snippets.

@rudfoss
Last active September 6, 2024 23:03
Show Gist options
  • Save rudfoss/31cae1e6062c9c49627586095e55a804 to your computer and use it in GitHub Desktop.
Save rudfoss/31cae1e6062c9c49627586095e55a804 to your computer and use it in GitHub Desktop.
<#
.SYNOPSIS
Returns a hashtable of all parameters from the template file merged with the parameters object you provide
#>
function Get-AzTemplateParameters{
param(
[string]
$ParametersFilePath,
[hashtable]
$TemplateParameterObject = @{}
)
if (!$ParametersFilePath) {
return $TemplateParameterObject
}
$parameterFileJson = (Get-Content -Raw $ParametersFilePath | ConvertFrom-Json)
$parameters = @{}
$keys = ($parameterFileJson.parameters | get-member -MemberType NoteProperty | ForEach-Object {$_.Name})
foreach ($key in $keys) {
$parameters[$key] = $parameterFileJson.parameters.$key.value
}
foreach ($key in $TemplateParameterObject.Keys) {
if ($parameters.ContainsKey($key)) {
$parameters.Remove($key)
}
}
return $parameters + $TemplateParameterObject
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment