Skip to content
Proud to collaborate with Microsoft for Startups

runner.instance-terminate-ec2-vm ​

Terminate one runner instance — deregister from GitHub (best-effort), terminate the EC2 VM via LTIP (best-effort), and mark the RunnerInstance row TERMINATED with a reason. Counterpart to runner.execution-stop-ec2-vm but instance-scoped.

Terminate a single RunnerInstance: deregister from GH + terminate EC2 + DB mark.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-runners-aws
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_instance_uuiduuidYes—Instance UUID to terminate
reasonstringNo—Free-text reason recorded on the instance row

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidNo—UUID of the RunnerGroup this workflow operates on, picked from the organization's list of runner groups. Optional on this shared passthrough schema because the same field also appears as an output-only echo.
organization_uuiduuidNo—UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant.
registry_account_uuiduuidNo—UUID of the container registry account this runner group resolves images against, picked from the organization's registry accounts. Optional — falls back to default/unauthenticated image resolution when absent.
actor_uuiduuidNo—UUID of the user or service actor who triggered this action, injected server-side from the authenticated request when available; used for audit/attribution only.
workflow_run_idstringNo——
workflow_run_uuidstringNo—Legacy alias of workflow_run_id: an internal engine correlation/run identifier for this DAG execution (ADR-015/E1 plumbing), not a foreign key to any business entity. No list/query workflow applies — this is engine-generated, never user-supplied.
workflow_uuidstringNo—Engine workflow-run identifier associated with this record; not a platform entity foreign key despite the name. No list/query workflow applies — this is engine-generated, never user-supplied.
statusstringNo——
outcomestringNo——
initiated_atstringNo——
completed_atstringNo——
failed_atstringNo——
failure_reasonstringNo——
errorstringNo——
error_typestringNo——
reasonstringNo——
failed_stepjsonNo——
failed_layerjsonNo——
failed_at_statejsonNo——
compensation_triggerjsonNo——
comp_current_layerjsonNo——
comp_queuejsonNo——
comp_retry_countjsonNo——
primitive_inputjsonNo——
primitive_outputjsonNo——
runner_instance_uuidjsonNo——
cloud_instance_refjsonNo——
github_deregisteredjsonNo——
ec2_terminatedjsonNo——
termination_reasonjsonNo——

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-ec2-vm",
  "initial_data": {
    "runner_instance_uuid": "value"
  }
}