Skip to content
Proud to collaborate with Microsoft for Startups

gcp.compute.instance_group_manager.ensure ​

Create or update a GCE managed instance group (MIG) for runner autoscaling in a customer GCP project via a CloudConnection UUID.

Create or update a GCE managed instance group (MIG) for runner autoscaling.

Overview ​

PropertyValue
Workflow typeLinear
LibraryBase-gcp
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidYes—GCP CloudConnection UUID.
project_idstringNo—GCP project override; defaults to the connection project.
regionstringNo—GCP region for a regional managed instance group; mutually exclusive with zone.
zonestringNo—GCP zone for a zonal managed instance group; mutually exclusive with region.
namestringYes—Managed instance group name.
base_instance_namestringNo—Base name used to generate instance names in the group.
instance_templatestringYes—Instance template name or selfLink backing the managed instance group.
target_sizeintegerNo—Desired number of instances in the group.
descriptionstringNo—Managed instance group description.
named_portsjsonNo—Provider namedPorts payload for the managed instance group.
auto_healing_policiesjsonNo—Provider autoHealingPolicies payload.
update_policyjsonNo—Provider updatePolicy payload governing rolling updates.
distribution_policyjsonNo—Provider distributionPolicy payload for regional groups.
autoscaling_policyjsonNo—Provider autoscaler policy payload for MIG autoscaling.

Output Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidNo—GCP CloudConnection UUID echoed from input.
project_idstringNo—Effective GCP project.
authenticated_project_idstringNo—Project resolved by credential validation.
auth_validationbooleanNo—True when credential validation succeeded.
default_service_accountstringNo—Default compute service account when resolved.
regionstringNo—GCP region for a regional managed instance group.
zonestringNo—GCP zone for a zonal managed instance group.
namestringNo—Managed instance group name.
base_instance_namestringNo—Base name used to generate instance names in the group.
instance_templatestringNo—Instance template name or selfLink backing the managed instance group.
target_sizeintegerNo—Desired number of instances in the group.
descriptionstringNo—Managed instance group description.
named_portsjsonNo—Provider namedPorts payload for the managed instance group.
auto_healing_policiesjsonNo—Provider autoHealingPolicies payload.
update_policyjsonNo—Provider updatePolicy payload governing rolling updates.
distribution_policyjsonNo—Provider distributionPolicy payload for regional groups.
autoscaling_policyjsonNo—Provider autoscaler policy payload for MIG autoscaling.
createdbooleanNo—True when the managed instance group was created rather than updated.
provider_resource_idstringNo—projects/{project}/{regions
instance_groupstringNo—SelfLink of the instance group managed by this MIG.
operation_namestringNo—Compute Engine long-running operation name.
operation_statusstringNo—Initial provider operation status.
operationjsonNo—Sanitized provider operation response.
instance_group_managerjsonNo—Sanitized managed instance group resource after ensure.
failure_reasonstringNo—Human-readable failure reason.
failure_typestringNo—Engine exception class.
failed_stepstringNo—Failed logical step.
failed_layerjsonNo—Engine failed layer.
failed_at_statestringNo—State where failure occurred.
errorstringNo—Error message.
error_typestringNo—Error class.
failed_atstringNo—ISO failure timestamp.

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—preflight—
creatingNoNo—complete—
preflightingNoNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingpreflightpreflighting—
preflightingexecutecreating—
creatingcompletecompleted—
* (any state)failfailed—

API Usage ​

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

{
  "workflow_type": "gcp.compute.instance_group_manager.ensure",
  "initial_data": {
    "connection_uuid": "value",
    "name": "value",
    "instance_template": "value"
  }
}