Skip to content
Proud to collaborate with Microsoft for Startups

runner.environment-update-ec2 ​

Update the AWS EC2 Auto Scaling Group runner environment for a runner group.

Re-apply the EC2 ASG provision, scale desired capacity, and health-check.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-runners
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidYes—UUID of the RunnerGroup this update operates on, 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.
new_desired_countintegerNo—Target ASG desired capacity applied by the scale layer; falls back to the RunnerGroup's own desired_count when omitted.
actorstringNo—User or service actor initiating the update.
dry_runbooleanNo—Validate and plan the re-apply without mutating AWS resources when child workflows support it.
idempotency_keystringNo—Caller-supplied idempotency key for safe retries.
workflow_run_uuidstringNo——
workflow_run_idstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidNo—UUID of the RunnerGroup this action operates on, picked from the organization's list of runner groups; echoed on output alongside terminal/error payloads.
organization_uuiduuidNo—UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant. Echoed on output alongside terminal/error payloads.
runner_execution_uuiduuidNo—UUID of the RunnerExecution this action operates on, picked from the organization's (optionally group-scoped) list of executions; echoed on output alongside terminal/error payloads.
workflow_uuidstringNo—Engine workflow-run identifier (or, for GitHub-Actions-triggered flows, an external GitHub Actions run id) associated with this record; not a platform entity foreign key despite the name. No source is attached since there is no list/query workflow for an internal run id.
statusstringNo——
outcomestringNo——
initiated_atstringNo——
completed_atstringNo——
failed_atstringNo——
failure_reasonstringNo——
errorstringNo——
error_typestringNo——
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. Optional — omitted for system or service-triggered actions with no human actor.
reasonstringNo——
workflow_run_uuidstringNo—Engine-stamped correlation/run id for this DAG execution (ADR-015/E1 plumbing), written into state_data by action_start; not a foreign key to any business entity. No source is attached since there is no list/query workflow for an internal run id.
retry_countintegerNo——
retried_fromstringNo——
failed_stepjsonNo——
failed_layerjsonNo——
failed_at_statejsonNo——
compensation_triggerjsonNo——
comp_current_layerjsonNo——
comp_queuejsonNo——
comp_retry_countjsonNo——
summaryjsonNo——
resource_refsjsonNo——
warningslistNo——
compensation_resultsjsonNo——
new_desired_countintegerNo——
dry_runbooleanNo——
idempotency_keystringNo——
actorstringNo——
load_runner_groupjsonNo——
update_launch_templatejsonNo——
update_auto_scaling_groupjsonNo——
put_cluster_capacity_providersjsonNo——
scale_desired_capacityjsonNo——
health_checkjsonNo——

DAG Layers ​

#LayerStepsCompensation
101_load_runner_groupdata.runner.group-get—
202_update_launch_templaterunner.environment-update-ec2-launch-template—
303_update_auto_scaling_grouprunner.environment-update-ec2-asg—
404_put_cluster_capacity_providersrunner.environment-associate-capacity-providers—
505_scale_desired_capacityrunner.environment-scale-ec2-asg—
606_health_checkdata.runner.group-update—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
data.runner.group-getload_runner_group
runner.environment-update-ec2-launch-templateupdate_launch_template
runner.environment-update-ec2-asgupdate_auto_scaling_group
runner.environment-associate-capacity-providersput_cluster_capacity_providers
runner.environment-scale-ec2-asgscale_desired_capacity
data.runner.group-updatehealth_check

API Usage ​

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

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