Skip to content
Proud to collaborate with Microsoft for Startups

runner.instance-terminate-azure-vm ​

Terminate a warm-pool Azure VM runner instance: best-effort GitHub deregistration, LTIP VM delete confirmed by polling describe until NOT_FOUND, per-instance NIC delete, then RunnerInstance TERMINATED. Fails without marking the row when the VM cannot be confirmed gone.

Reap one warm-pool Azure VM instance: GitHub dereg, VM, NIC, row.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-runners-azure
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_instance_uuiduuidYes—RunnerInstance.uuid to reap.
reasonstringNo—Audit reason stamped as termination_reason.

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_instance_uuidstringNo——
reasonstringNo——
cloud_instance_refstringNo——
runner_group_uuidstringNo——
github_deregisteredbooleanNo——
vm_deletedbooleanNo——
nic_deletedbooleanNo——
termination_reasonstringNo——
outcomestringNo——
statusstringNo——
completed_atstringNo——
failed_atstringNo——
failure_reasonstringNo——
errorstringNo——
error_typestringNo——
failed_at_statestringNo——
failed_layerstringNo——
failed_stepstringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—terminate—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingterminatecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "runner.instance-terminate-azure-vm",
  "initial_data": {
    "runner_instance_uuid": "value"
  }
}