Skip to content
Proud to collaborate with Microsoft for Startups

gcp.compute.vm.ensure ​

Create or resolve a GCE VM / MIG

Creates a GCE VM (or Managed Instance Group, per LTIP's compute.vm abstraction) if it does not exist. When present, describes and returns the existing resource.

Inputs:

  • connection_uuid: Cloud connection UUID (required)
  • name: VM / MIG name (required)
  • zone: GCE zone, e.g. "us-central1-a" (required; "region" is a deprecated alias)
  • instance_type: e.g. "e2-medium" (required)
  • cpu: vCPU count (optional)
  • memory_gb: Memory in GiB (optional)
  • image: OS image (optional)
  • startup_script: Startup script string (optional)
  • metadata: Dict (optional)
  • project_id: Explicit project (optional)

Outputs:

  • name
  • region
  • provider_resource_id
  • existed: bool

Overview ​

PropertyValue
Workflow typeAtomic
LibraryBase-gcp
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidYes——
namestringYes——
zonestringNo—GCE zone, e.g. 'us-central1-a'. Required (may be supplied via the 'region' alias).
regionstringNo—Deprecated alias for 'zone'. A bare region (e.g. 'us-central1') is NOT a valid zone.
instance_typestringYes——
cpuintegerNo——
memory_gbintegerNo——
imagestringNo——
startup_scriptstringNo——
metadatajsonNo——
project_idstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
existedbooleanNo——
namestringNo——
project_idstringNo——
provider_resource_idstringNo——
zonestringNo——
regionstringNo——
connection_uuiduuidNo——
cpuintegerNo——
imagestringNo——
instance_typestringNo——
memory_gbintegerNo——
metadatajsonNo——
startup_scriptstringNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

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

{
  "workflow_type": "gcp.compute.vm.ensure",
  "initial_data": {
    "connection_uuid": "value",
    "name": "value",
    "instance_type": "value"
  }
}