#Requires -Version 5.1 Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' # Shim: delegates to the Python ci_orchestrator CLI (`vm new`). # Original PS implementation moved to git history; see plans/A3-closeout.md. [CmdletBinding()] param( [Parameter(Mandatory)] [ValidateScript({ Test-Path $_ -PathType Leaf })] [string] $TemplatePath, [string] $SnapshotName = 'BaseClean', [Parameter(Mandatory)] [string] $CloneBaseDir, [Parameter(Mandatory)] [string] $JobId, [string] $VmrunPath = 'C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe' ) $pyArgs = @( '--template-path', $TemplatePath, '--snapshot-name', $SnapshotName, '--clone-base-dir', $CloneBaseDir, '--job-id', $JobId, '--vmrun-path', $VmrunPath ) $venvPython = $env:CI_VENV_PYTHON if (-not $venvPython) { # $IsWindows exists only on PS 6+; absent on PS 5.1 (always Windows) if ($null -ne $IsWindows -and $IsWindows -eq $false) { $venvPython = '/opt/ci/venv/bin/python' } else { $venvPython = 'F:\CI\python\venv\Scripts\python.exe' } } & $venvPython -m ci_orchestrator vm new @pyArgs exit $LASTEXITCODE