Skip to main content
Google Cloud logo

Overview

Add Google Cloud to any ModuleX agent or workflow. Google Cloud Platform integration providing Cloud Storage bucket and object management, BigQuery query execution and streaming inserts, BigQuery Data Transfer scheduled queries, Compute Engine instance control, and Cloud Logging via the GCP REST APIs.
Categories: Cloud Infrastructure · Data & Analytics · Developer Tools & Infrastructure · Auth: Service Account Key · Actions: 11

Authentication

Service Account Key

Authenticate using a GCP service account JSON key file

Required Credentials

FieldDescriptionRequiredFormat
Service Account Key JSONThe full JSON content of your GCP service account key fileYes{"type":"service_account","project_id":"...","private_key":"...","client_email":"..."}

Available Actions

Parameters

bucket_name
string
required
Globally unique bucket name
location
string
Bucket location (e.g. US, EU, us-central1). Defaults to US (Default: US)
storage_class
string
Storage class: STANDARD, NEARLINE, COLDLINE, or ARCHIVE (Default: STANDARD)

Response

{
  "$defs": {
    "BucketMetadata": {
      "additionalProperties": false,
      "description": "Metadata for a Google Cloud Storage bucket.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "storage_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Storage Class"
        },
        "time_created": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Created"
        },
        "updated": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated"
        },
        "project_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Number"
        }
      },
      "title": "BucketMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "bucket": {
      "anyOf": [
        {
          "$ref": "#/$defs/BucketMetadata"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateBucketOutput",
  "type": "object"
}

Parameters

bucket_name
string
required
Name of the bucket

Response

{
  "$defs": {
    "BucketMetadata": {
      "additionalProperties": false,
      "description": "Metadata for a Google Cloud Storage bucket.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "storage_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Storage Class"
        },
        "time_created": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Created"
        },
        "updated": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated"
        },
        "project_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Number"
        }
      },
      "title": "BucketMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "bucket": {
      "anyOf": [
        {
          "$ref": "#/$defs/BucketMetadata"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "GetBucketOutput",
  "type": "object"
}

Response

{
  "$defs": {
    "BucketMetadata": {
      "additionalProperties": false,
      "description": "Metadata for a Google Cloud Storage bucket.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "storage_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Storage Class"
        },
        "time_created": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Created"
        },
        "updated": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated"
        },
        "project_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Number"
        }
      },
      "title": "BucketMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "buckets": {
      "items": {
        "$ref": "#/$defs/BucketMetadata"
      },
      "title": "Buckets",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListBucketsOutput",
  "type": "object"
}

Parameters

bucket_name
string
required
Name of the bucket to search
prefix
string
required
Object name prefix to filter by
delimiter
string
Delimiter for directory-like listing (commonly ’/‘)

Response

{
  "$defs": {
    "ObjectMetadata": {
      "additionalProperties": false,
      "description": "Metadata for a Google Cloud Storage object.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "bucket": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bucket"
        },
        "size": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Size"
        },
        "content_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Content Type"
        },
        "time_created": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Created"
        },
        "updated": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated"
        },
        "md5_hash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Md5 Hash"
        }
      },
      "title": "ObjectMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "objects": {
      "items": {
        "$ref": "#/$defs/ObjectMetadata"
      },
      "title": "Objects",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchObjectsOutput",
  "type": "object"
}

Parameters

bucket_name
string
required
Name of the bucket containing the object
object_name
string
required
Full path/name of the object in the bucket

Response

{
  "$defs": {
    "ObjectMetadata": {
      "additionalProperties": false,
      "description": "Metadata for a Google Cloud Storage object.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "bucket": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bucket"
        },
        "size": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Size"
        },
        "content_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Content Type"
        },
        "time_created": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Time Created"
        },
        "updated": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updated"
        },
        "md5_hash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Md5 Hash"
        }
      },
      "title": "ObjectMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/ObjectMetadata"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "GetObjectOutput",
  "type": "object"
}

Parameters

bucket_name
string
required
Name of the destination bucket
object_name
string
required
Destination path/name for the object in the bucket
content
string
required
Text content to upload
content_type
string
MIME type of the content (e.g. text/plain, application/json) (Default: text/plain)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "object_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Object Name"
    },
    "bucket": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bucket"
    }
  },
  "required": [
    "success"
  ],
  "title": "UploadObjectOutput",
  "type": "object"
}

Parameters

log_name
string
required
Name of the log to write to
text
string
required
Log message text
severity
string
Log severity: DEFAULT, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, or EMERGENCY (Default: DEFAULT)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    }
  },
  "required": [
    "success"
  ],
  "title": "LoggingWriteLogOutput",
  "type": "object"
}

Parameters

query
string
required
GoogleSQL query to execute
location
string
Dataset location (e.g. US, EU). Must match dataset location (Default: US)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "rows": {
      "items": {
        "additionalProperties": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "number"
            },
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": "object"
      },
      "title": "Rows",
      "type": "array"
    },
    "total_rows": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Rows"
    }
  },
  "required": [
    "success"
  ],
  "title": "RunQueryOutput",
  "type": "object"
}

Parameters

dataset_id
string
required
BigQuery dataset ID
table_id
string
required
BigQuery table ID
rows
array
required
Array of row objects to insert, each with column names as keys

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "inserted_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inserted Count"
    }
  },
  "required": [
    "success"
  ],
  "title": "BigqueryInsertRowsOutput",
  "type": "object"
}

Parameters

destination_dataset_id
string
required
Destination dataset ID for query results
display_name
string
required
Human-readable name for the scheduled query
query
string
required
GoogleSQL query to schedule
dataset_region
string
Geographic location of the dataset (e.g. us, eu) (Default: us)
schedule
string
Schedule in cron-like format (e.g. ‘every 24 hours’, ‘1st monday of month 09:00’)
write_disposition
string
Write behavior: WRITE_TRUNCATE or WRITE_APPEND (Default: WRITE_TRUNCATE)
destination_table_name_template
string
Destination table name template, can use {run_date} or {run_time} variables (Default: logs)

Response

{
  "$defs": {
    "TransferConfig": {
      "additionalProperties": false,
      "description": "A BigQuery Data Transfer scheduled query config.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "data_source_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data Source Id"
        },
        "schedule": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Schedule"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "State"
        },
        "destination_dataset_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Destination Dataset Id"
        }
      },
      "title": "TransferConfig",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "transfer_config": {
      "anyOf": [
        {
          "$ref": "#/$defs/TransferConfig"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateScheduledQueryOutput",
  "type": "object"
}

Parameters

zone
string
required
Compute Engine zone (e.g. us-central1-a)
instance_name
string
required
Name of the VM instance
action
string
required
Action to perform: start or stop

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "operation_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Operation Name"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    }
  },
  "required": [
    "success"
  ],
  "title": "SwitchInstanceBootStatusOutput",
  "type": "object"
}

Limits & Quotas

  • Cloud Storage: 1,000 bucket creates per project per 2 seconds; 5,000 object mutations per bucket per second.
  • BigQuery: 100 concurrent queries per project; streaming inserts limited to 50,000 rows per request and 10 MB per request.
  • Compute Engine: API rate limits vary by method (typically 20 requests/second per project per region).
  • Cloud Logging: 60 write requests per second per project.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising.

Amazon Web Services

Vercel

Algolia