platform.v1.ComputeService
ComputeService manages the lifecycle of compute instances. Every mutating RPC returns an Operation (HTTP 202-style async).
- Request:
CreateInstanceRequest
- Response:
Operation
- REST mapping:
POST /v1/instances
- Request:
GetInstanceRequest
- Response:
Instance
- REST mapping:
GET /v1/instances/{id}
- Request:
ListInstancesRequest
- Response:
ListInstancesResponse
- REST mapping:
GET /v1/instances
- Request:
InstanceActionRequest
- Response:
Operation
- REST mapping:
POST /v1/instances/{id}:start
- Request:
InstanceActionRequest
- Response:
Operation
- REST mapping:
POST /v1/instances/{id}:stop
- Request:
InstanceActionRequest
- Response:
Operation
- REST mapping:
POST /v1/instances/{id}:reboot
- Request:
InstanceActionRequest
- Response:
Operation
- REST mapping:
DELETE /v1/instances/{id}
- Request:
ResizeInstanceRequest
- Response:
Operation
- REST mapping:
POST /v1/instances/{id}:resize
- Request:
InstanceActionRequest
- Response:
Operation
- REST mapping:
POST /v1/instances/{id}:suspend
- Request:
InstanceActionRequest
- Response:
Operation
- REST mapping:
POST /v1/instances/{id}:resume
- Request:
UpdateInstanceRequest
- Response:
Operation
- REST mapping:
PATCH /v1/instances/{id}
- Request:
GetSystemLogRequest
- Response:
GetSystemLogResponse
- REST mapping:
GET /v1/instances/{id}/log
| Field | Type | # | Notes |
|---|
instance | Instance | 1 | |
| Field | Type | # | Notes |
|---|
content | string | 1 | |
Instance is a provider-agnostic compute instance. Note: the backing provider (docker/hetzner/netcup) is deliberately NOT exposed in this message.
| Field | Type | # | Notes |
|---|
id | string | 1 | inst_… |
name | string | 2 | |
app | string | 3 | |
org | string | 4 | |
region | string | 5 | |
instance_type | string | 6 | normalized flavor, e.g. “c1.small” |
image | string | 7 | normalized image, e.g. “ubuntu-24.04” |
state | ResourceState | 8 | |
private_ip | string | 10 | |
public_ip | string | 11 | |
user_data | string | 14 | Phase 1 additions. |
deletion_protection | bool | 15 | block accidental delete/terminate |
architecture | string | 16 | x86_64 | arm64 (best-effort) |
platform | string | 17 | ubuntu | debian | … |
key_pair | string | 18 | |
root_device | string | 19 | |
tenancy | string | 20 | default | dedicated (mocked) |
public_dns | string | 21 | |
private_dns | string | 22 | |
vpc | string | 23 | |
subnet | string | 24 | |
availability_zone | string | 25 | |
ssh_keys | string | 26 | Phase 4: SSH key ids to inject and firewall/security-group ids to attach at launch. On read, security_groups reflects the attached firewalls. |
security_groups | string | 27 | |
| Field | Type | # | Notes |
|---|
page | PageRequest | 1 | |
| Field | Type | # | Notes |
|---|
instances | Instance | 1 | |
meta | ListMeta | 2 | |
Operation is returned by every mutating RPC. Clients poll GetOperation or subscribe to the SSE stream to observe progress.
| Field | Type | # | Notes |
|---|
id | string | 1 | opaque, type-prefixed: op_… |
action | string | 2 | permission string, e.g. compute.instance.create |
resource_id | string | 3 | |
resource_type | string | 4 | e.g. compute.instance |
state | OperationState | 5 | |
message | string | 6 | |
progress | int32 | 7 | 0..100 |
app | string | 8 | |
| Field | Type | # | Notes |
|---|
id | string | 1 | |
instance_type | string | 2 | |
| Field | Type | # | Notes |
|---|
id | string | 1 | |
name | string | 2 | |
user_data | string | 4 | |
deletion_protection | bool | 5 | |