Skip to content
Proud to collaborate with Microsoft for Startups

gcp.compute.instance_template.ensure ​

Create or resolve a GCE Instance Template

Creates a GCE Instance Template; if one already exists with the same name, describes it and returns its self_link / provider_resource_id.

Inputs:

  • connection_uuid: Cloud connection UUID (required)
  • name: Instance template name (required)
  • machine_type: e.g. "e2-medium" (required on create)
  • source_image: Boot disk source image URL (required on create)
  • disk_size_gb: Boot disk size in GB (optional; GCE defaults to 10)
  • disk_type: Boot disk type, e.g. "pd-balanced" (optional)
  • provisioning_model: "STANDARD" (default) or "SPOT" (optional)
  • service_account_email:Primary SA attached (optional)
  • service_account_scopes:List of OAuth scopes (optional)
  • network: VPC network name (optional)
  • subnetwork: Subnetwork name (optional)
  • tags: Network tags list (optional)
  • labels: Dict (optional)
  • metadata: Dict mapped to GCE metadata items (optional)
  • startup_script: Startup script string (optional)
  • project_id: Explicit project (optional; defaults to connection)

Outputs:

  • name
  • provider_resource_id
  • self_link
  • project_id
  • existed: bool

Overview ​

PropertyValue
Workflow typeAtomic
LibraryBase-gcp
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidYes——
namestringYes——
machine_typestringNo——
source_imagestringNo——
disk_size_gbintegerNo——
disk_typestringNo——
provisioning_modelstringNo——
service_account_emailstringNo——
service_account_scopesjsonNo——
networkstringNo——
subnetworkstringNo——
tagsjsonNo——
labelsjsonNo——
metadatajsonNo——
startup_scriptstringNo——
project_idstringNo——
workflow_run_idstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
existedbooleanNo——
namestringNo——
project_idstringNo——
provider_resource_idstringNo——
self_linkstringNo——
connection_uuiduuidNo——
labelsjsonNo——
machine_typestringNo——
disk_size_gbintegerNo——
disk_typestringNo——
provisioning_modelstringNo——
metadatajsonNo——
networkstringNo——
service_account_emailstringNo——
service_account_scopesjsonNo——
source_imagestringNo——
startup_scriptstringNo——
subnetworkstringNo——
tagsjsonNo——
workflow_run_idstringNo——
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.instance_template.ensure",
  "initial_data": {
    "connection_uuid": "value",
    "name": "value"
  }
}