gcp.gke.node_pool.create ​
Start creation of a GKE node pool and return the provider long-running operation.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Linear |
| Library | Base-gcp |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
connection_uuid | uuid | Yes | — | GCP CloudConnection UUID. |
project_id | string | No | — | GCP project override; defaults to the connection project. |
location | string | Yes | — | GKE cluster region or zone. |
cluster_name | string | Yes | — | Parent cluster name. |
name | string | Yes | — | Node pool name. |
node_count | integer | No | — | Initial node count. |
machine_type | string | No | — | GCE machine type for nodes. |
disk_size_gb | integer | No | — | Boot disk size in GiB. |
disk_type | string | No | — | Boot disk type. |
image_type | string | No | — | GKE node image type. |
service_account | string | No | — | Node service account email. |
oauth_scopes | list | No | — | OAuth scopes for node service account. |
labels | json | No | — | Kubernetes labels for nodes. |
tags | list | No | — | GCE network tags for nodes. |
taints | list | No | — | Kubernetes taints for nodes. |
metadata | json | No | — | GCE metadata for nodes. |
autoscaling | json | No | — | Provider autoscaling payload. |
management | json | No | — | Provider node management payload. |
upgrade_settings | json | No | — | Provider upgrade settings payload. |
version | string | No | — | Node pool Kubernetes version. |
max_pods_per_node | integer | No | — | Maximum pods per node. |
spot | boolean | No | — | Use spot VMs for nodes. |
preemptible | boolean | No | — | Use preemptible VMs for nodes. |
request_id | string | No | — | Optional provider request id for retry safety. |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
connection_uuid | uuid | No | — | GCP CloudConnection UUID echoed from input. |
project_id | string | No | — | Effective GCP project. |
authenticated_project_id | string | No | — | Project resolved by credential validation. |
auth_validation | boolean | No | — | True when credential validation succeeded. |
default_service_account | string | No | — | Default compute service account |
cluster_status | string | No | — | Parent cluster status observed before creation. |
cluster | json | No | — | Sanitized parent cluster summary. |
location | string | No | — | GKE cluster region or zone. |
cluster_name | string | No | — | Parent cluster name. |
name | string | No | — | Node pool name. |
node_count | integer | No | — | Initial node count. |
machine_type | string | No | — | GCE machine type for nodes. |
disk_size_gb | integer | No | — | Boot disk size in GiB. |
disk_type | string | No | — | Boot disk type. |
image_type | string | No | — | GKE node image type. |
service_account | string | No | — | Node service account email. |
oauth_scopes | list | No | — | OAuth scopes for node service account. |
labels | json | No | — | Kubernetes labels for nodes. |
tags | list | No | — | GCE network tags for nodes. |
taints | list | No | — | Kubernetes taints for nodes. |
metadata | json | No | — | GCE metadata for nodes. |
autoscaling | json | No | — | Provider autoscaling payload. |
management | json | No | — | Provider node management payload. |
upgrade_settings | json | No | — | Provider upgrade settings payload. |
version | string | No | — | Node pool Kubernetes version. |
max_pods_per_node | integer | No | — | Maximum pods per node. |
spot | boolean | No | — | Use spot VMs for nodes. |
preemptible | boolean | No | — | Use preemptible VMs for nodes. |
request_id | string | No | — | Optional provider request id for retry safety. |
provider_resource_id | string | No | — | Full provider node-pool resource path. |
operation_name | string | No | — | GKE long-running operation name. |
operation_status | string | No | — | Initial provider operation status. |
operation | json | No | — | Sanitized provider operation response. |
node_pool_request | json | No | — | Sanitized node-pool create request sent to GKE. |
failure_reason | string | No | — | Human-readable failure reason. |
failed_step | string | No | — | Failed logical step. |
failed_layer | json | No | — | Engine failed layer. |
failed_at_state | string | No | — | State where failure occurred. |
error | string | No | — | Error message. |
error_type | string | No | — | Error class. |
failed_at | string | No | — | ISO failure timestamp. |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | preflight | — |
executing | No | No | — | complete | — |
preflighting | No | No | — | execute | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | preflight | preflighting | — |
preflighting | execute | executing | — |
executing | complete | completed | — |
* (any state) | fail | failed | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "gcp.gke.node_pool.create",
"initial_data": {
"connection_uuid": "value",
"location": "value",
"cluster_name": "value",
"name": "value"
}
}