Skip to content
Proud to collaborate with Microsoft for Startups

runner.environment-deletion-ec2-vm ​

Delete the raw EC2 VM environment for a runner group

Tear down a raw EC2 VM runner environment.

Layers:

  1. load — read cached environment state
  2. guard — refuse while executions are live (config.force_delete bypasses)
  3. launch_template — delete the instance-shape launch template
  4. iam — delete the instance profile (config.delete_iam_on_cleanup)
  5. log_group — delete the log group (config.delete_log_group_on_teardown)
  6. finalize — clear cached fields

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-runners-aws
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidYes—UUID of the RunnerGroup whose raw EC2 VM environment is being deleted, picked from the organization's list of runner groups.
organization_uuiduuidYes—UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant.
workflow_run_idstringNo——
workflow_run_uuidstringNo—Internal engine correlation/run identifier stamped onto this DAG execution; not a user-facing entity reference and has no picker.

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——
load_ec2_vm_environmentjsonNo——
stop_active_executions_ec2_vmjsonNo——
delete_ec2_vm_launch_templatejsonNo——
delete_ec2_vm_iam_instance_profilejsonNo——
delete_ec2_vm_log_groupjsonNo——
finalize_ec2_vm_environment_deletionjsonNo——

DAG Layers ​

#LayerStepsCompensation
1loadrunner.load_ec2_vm_environment—
2guardrunner.stop_active_executions_ec2_vm—
3launch_templaterunner.delete_ec2_vm_launch_template—
4iamrunner.delete_ec2_vm_iam_instance_profile—
5log_grouprunner.delete_ec2_vm_log_group—
6finalizerunner.finalize_ec2_vm_environment_deletion—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
runner.load_ec2_vm_environmentload_ec2_vm_environment
runner.stop_active_executions_ec2_vmstop_active_executions_ec2_vm
runner.delete_ec2_vm_launch_templatedelete_ec2_vm_launch_template
runner.delete_ec2_vm_iam_instance_profiledelete_ec2_vm_iam_instance_profile
runner.delete_ec2_vm_log_groupdelete_ec2_vm_log_group
runner.finalize_ec2_vm_environment_deletionfinalize_ec2_vm_environment_deletion

API Usage ​

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

{
  "workflow_type": "runner.environment-deletion-ec2-vm",
  "initial_data": {
    "runner_group_uuid": "value",
    "organization_uuid": "value"
  }
}