internal/functions/Get-DeploymentPlan.ps1
#Requires -PSEdition Core function Get-DeploymentPlan { [CmdletBinding()] param ( [Parameter(Mandatory = $true, HelpMessage = "Plan input filename.")] [string]$planFile, [switch] $asHashtable ) $plan = $null if (Test-Path -Path $planFile ) { # Check if the plan definition JSON file is a valid JSON $Json = Get-Content -Path $planFile -Raw -ErrorAction Stop if (!(Test-Json $Json)) { Write-Error "The JSON file '$planFile' is not valid." -ErrorAction Stop } $plan = $Json | ConvertFrom-Json -AsHashtable:$asHashtable } return $plan } |