Table of Contents​
compute.proto​
CloneInstanceRequest​
CloneInstanceRequest defines the parameters needed to clone an existing instance.
| Field | Type | Label | Description |
|---|
| id | string | | The id of the instance to clone. |
| name | string | optional | Optional name for the cloned instance. If not provided, the clone inherits the name of the source instance. |
CreateInstanceRequest​
CreateInstanceRequest defines the parameters needed to provision a new instance.
| Field | Type | Label | Description |
|---|
| image | string | | Base image identifier to use for the instance |
| cpu_cores | uint32 | | Number of CPU cores to allocate to the instance |
| disk_bytes | uint64 | | Amount of disk in bytes to allocate to the instance |
| memory_bytes | uint64 | | Amount of memory in bytes to allocate to the instance |
| name | string | | User-defined name for the instance |
| snippet | string | | The snippet to use to bootstrap the instance |
| project_id | string | | The id of the project the instance belongs to |
CreateInstanceResponse​
CreateInstanceResponse contains the result of a create instance operation.
| Field | Type | Label | Description |
|---|
| instance | Instance | | The created instance. |
CreateZoneRequest​
CreateZoneRequest contains the new zone information.
| Field | Type | Label | Description |
|---|
| name | string | | User-defined name for the instance |
CreateZoneResponse​
CreateZoneResponse contains the created zone information.
| Field | Type | Label | Description |
|---|
| zone | Zone | | The created zone. |
DeleteInstanceRequest​
DeleteInstanceRequest defines the parameters needed to delete an existing instance.
| Field | Type | Label | Description |
|---|
| id | string | | The id of the instance to clone. |
DeleteInstanceResponse​
DeleteInstanceResponse contains the result of a DeleteInstance operation.
DetachHypervisorRequest​
DetachHypervisorRequest contains the necessary information to detach a hypervisor.
| Field | Type | Label | Description |
|---|
| id | string | | Id of the hypervisor |
DetachHypervisorResponse​
DetachHypervisorResponse contains the result of a DetachHypervisor operation.
Hypervisor​
Hypervisor represents a virtualization platform that can host instances.
| Field | Type | Label | Description |
|---|
| id | string | | Id of the hypervisor |
| storage_name | string | | Name of the storage to use for instances |
| url | string | | URL endpoint of the hypervisor API |
| zone_id | string | | Id of the zone the hypervisor belongs to |
| organization_id | string | | Id of the organization the hypervisor belongs to |
Instance​
Instance contains detailed information about a virtual machine instance.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier for the instance |
| status | InstanceStatus | | Current operational status of the instance |
| max_cpu_cores | uint32 | | Maximum CPU cores available to the instance (max 99) |
| cpu_usage_percent | float | | Current CPU utilization as a percentage (0.0-100.0) |
| max_memory_bytes | uint64 | | Maximum memory available to the instance (in bytes, max 64GB) |
| memory_usage_bytes | uint64 | | Current memory utilization (in bytes, cannot exceed max_memory_bytes) |
| max_disk_bytes | uint64 | | Maximum disk available to the instance (in bytes, max 64GB) |
| disk_usage_bytes | uint64 | | Current disk utilization (in bytes, cannot exceed max_disk_bytes) |
| name | string | | Human-readable name, defined on the instance |
| ip_v4 | string | | The IP v4 address of the instance |
| hypervisor_id | string | | Unique identifier for the instance hypervisor |
| project_id | string | | Unique identifier for the instance project |
| zero_trust_network_id | string | optional | Unique identifier for the instance zero trust network |
| created_at | google.protobuf.Timestamp | | Creation time of the instance |
| updated_at | google.protobuf.Timestamp | | Time of the instance last change |
InstanceConfig​
InstanceConfig contains basic configuration information for a virtual machine instance.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier for the instance configuration |
| name | string | | Display name of the instance configuration |
ListHypervisorsRequest​
ListHypervisorsRequest is an empty message for listing hypervisors.
ListHypervisorsResponse​
ListHypervisorsResponse contains a collection of hypervisor information.
| Field | Type | Label | Description |
|---|
| hypervisors | Hypervisor | repeated | List of hypervisor details |
ListInstancesRequest​
ListInstancesRequest is an empty message for listing instances.
ListInstancesResponse​
ListInstancesResponse contains a collection of instance information.
| Field | Type | Label | Description |
|---|
| instances | Instance | repeated | List of instance details |
ListZonesRequest​
ListZonesRequest is an empty message for listing zones.
ListZonesResponse​
ListZonesResponse contains a collection of zone information.
| Field | Type | Label | Description |
|---|
| zones | Zone | repeated | List of zone details |
RegisterHypervisorRequest​
RegisterHypervisorRequest contains the necessary information to register a hypervisor.
| Field | Type | Label | Description |
|---|
| authorization_token | string | | Authorization token for secure API access |
| storage_name | string | | Name of the storage to use for instances |
| url | string | | URL endpoint of the hypervisor API |
| zone_id | string | | Id of the zone this hypervisor belongs to |
| organization_id | string | | Id of the organization this hypervisor belongs to |
RegisterHypervisorResponse​
RegisterHypervisorResponse contains the result of a register hypervisor operation.
| Field | Type | Label | Description |
|---|
| hypervisor | Hypervisor | | The registered hypervisor. |
StartInstanceRequest​
StartInstanceRequest identifies which instance to start.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier of the instance to start |
StartInstanceResponse​
StartInstanceResponse contains the result of a start instance operation.
StopInstanceRequest​
StopInstanceRequest identifies which instance to stop.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier of the instance to stop |
StopInstanceResponse​
StopInstanceResponse contains the result of a stop instance operation.
UpdateInstanceRequest​
UpdateInstanceRequest defines the parameters to update an existing instance.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier of the instance to update |
| name | string | optional | Optional new name for the instance |
| project_id | string | optional | Optional new project id to move the instance to |
UpdateInstanceResponse​
UpdateInstanceResponse contains the result of an update instance operation.
| Field | Type | Label | Description |
|---|
| instance | Instance | | The updated instance. |
Zone represents a zone.
| Field | Type | Label | Description |
|---|
| id | string | | Id of the zone |
| name | string | | Name of the zone. |
InstanceStatus​
InstanceStatus represents the possible states of a virtual machine instance.
| Name | Number | Description |
|---|
| UNDEFINED_INSTANCE_STATUS | 0 | Instance status is undefined |
| RUNNING | 1 | Instance is active and operational |
| STOPPED | 2 | Instance is inactive |
| STOPPING | 3 | Instance is in the process of stopping |
| PROVISIONING | 4 | Instance is in the process of starting/provisioning |
| STAGING | 5 | Instance is in the staging phase before running |
| SUSPENDED | 6 | Instance is suspended (memory state preserved) |
| SUSPENDING | 7 | Instance is in the process of suspending |
| TERMINATED | 8 | Instance is permanently terminated |
| DEPROVISIONING | 9 | Instance is in the process of being deprovisioned |
| REPAIRING | 10 | Instance is being repaired |
Hypervisors​
Hypervisors service provides operations to manage hypervisors.
Instances​
Instances service provides operations to manage instances.
Hypervisors service provides operations to manage zones.
iam.proto​
AnswerInvitationRequest​
| Field | Type | Label | Description |
|---|
| invitation_id | string | | |
| accept | bool | | |
AnswerInvitationResponse​
CreateInvitationRequest​
| Field | Type | Label | Description |
|---|
| organization_id | string | | |
| email | string | | |
CreateInvitationResponse​
Invitation​
| Field | Type | Label | Description |
|---|
| id | string | | |
| organization_id | string | | |
| user_id | string | | |
| state | InvitationState | | |
| created_at | google.protobuf.Timestamp | | |
| answered_at | google.protobuf.Timestamp | | |
ListInvitationsRequest​
ListInvitationsResponse​
| Field | Type | Label | Description |
|---|
| invitations | Invitation | repeated | |
InvitationState​
| Name | Number | Description |
|---|
| INVITATION_STATE_UNSPECIFIED | 0 | |
| PENDING | 1 | |
| ACCEPTED | 2 | |
| DECLINED | 3 | |
| EXPIRED | 4 | |
Invitations​
longrunning.proto​
GetOperationRequest​
Request message for Operations.Get.
| Field | Type | Label | Description |
|---|
| name | string | | The name of the operation resource. |
Operation​
Represents a long-running operation that is the result of a network API call.
| Field | Type | Label | Description |
|---|
| name | string | | The server-assigned name, which is only unique within the same service that originally returns it. |
| done | bool | optional | If the value is false, it means the operation is still in progress. If true, the operation is completed. |
WaitOperationRequest​
Request message for Operations.Wait.
| Field | Type | Label | Description |
|---|
| name | string | | The name of the operation resource to wait on. |
| timeout | google.protobuf.Duration | | The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. |
Operations​
Manages long-running operations.
When an API method takes a long time to complete, it can return an Operation
to the client. The client can use this service to poll the operation result
or wait for it to complete.
| Method Name | Request Type | Response Type | Description |
|---|
| Get | GetOperationRequest | Operation | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals. |
| Wait | WaitOperationRequest | Operation | Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. |
If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. |
resourcemanager.proto​
CreateOrganizationRequest​
| Field | Type | Label | Description |
|---|
| name | string | | |
| parent_id | string | optional | |
CreateOrganizationResponse​
CreateProjectRequest​
| Field | Type | Label | Description |
|---|
| name | string | | |
| organization_id | string | | |
CreateProjectResponse​
| Field | Type | Label | Description |
|---|
| project | Project | | |
ListOrganizationsRequest​
ListOrganizationsResponse​
ListProjectsRequest​
ListProjectsResponse​
| Field | Type | Label | Description |
|---|
| projects | Project | repeated | |
Organization​
| Field | Type | Label | Description |
|---|
| id | string | | |
| name | string | | |
| created_at | google.protobuf.Timestamp | | |
| updated_at | google.protobuf.Timestamp | | |
| slug | string | | |
Project​
| Field | Type | Label | Description |
|---|
| id | string | | |
| name | string | | |
| organization_id | string | | |
| created_at | google.protobuf.Timestamp | | |
| updated_at | google.protobuf.Timestamp | | |
Organizations​
Projects​
infrastructure.proto​
Datacenter​
Datacenter represents a physical datacenter.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier for the datacenter |
| name | string | | Human-readable name of the datacenter |
| created_at | google.protobuf.Timestamp | | Creation time of the zero trust network |
| updated_at | google.protobuf.Timestamp | | Time of the zero trust network's last update |
ListDatacentersRequest​
ListDatacenterRequest is an empty message for listing datacenters.
ListDatacentersResponse​
ListDatacentersResponse contains a collection of datacenter information.
| Field | Type | Label | Description |
|---|
| datacenters | Datacenter | repeated | List of datacenter details |
ListZeroTrustNetworkTypesRequest​
ListZeroTrustNetworkTypesRequest contains the necessary information to list zero trust network types.
ListZeroTrustNetworkTypesResponse​
ListZeroTrustNetworkTypesResponse contains a collection of zero trust network type information.
| Field | Type | Label | Description |
|---|
| zero_trust_network_types | ZeroTrustNetworkType | repeated | List of zero trust network type details |
ListZeroTrustNetworksRequest​
ListZeroTrustNetworksRequest is an empty message for listing zero trust networks.
ListZeroTrustNetworksResponse​
ListZeroTrustNetworksResponse contains a collection of zero trust network information.
| Field | Type | Label | Description |
|---|
| zero_trust_networks | ZeroTrustNetwork | repeated | List of zero trust network details |
ZeroTrustNetwork​
ZeroTrustNetwork represents a zero trust network configuration.
Zero trust networks enforce strict identity verification and access controls.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier for the zero trust network |
| name | string | | Human-readable name of the zero trust network |
| organization_id | string | | ID of the organization this network belongs to |
| zero_trust_network_type_id | string | | ID of the zero trust network type this network is based on |
| created_at | google.protobuf.Timestamp | | Creation time of the zero trust network |
| updated_at | google.protobuf.Timestamp | | Time of the zero trust network's last update |
ZeroTrustNetworkType​
ZeroTrustNetworkType represents a type or category of zero trust network.
Network types define templates or configurations for creating zero trust networks.
| Field | Type | Label | Description |
|---|
| id | string | | Unique identifier for the zero trust network type |
| name | string | | Human-readable name of the zero trust network type |
| created_at | google.protobuf.Timestamp | | Creation time of the zero trust network type |
| updated_at | google.protobuf.Timestamp | | Time of the zero trust network type's last update |
Datacenters​
Datacenters service providers operations to manage datacenter resources.
ZeroTrustNetworkTypes​
ZeroTrustNetworkTypes service provides operations to manage zero trust network type definitions.
Network types define different categories or configurations of zero trust networks.
ZeroTrustNetworks​
ZeroTrustNetworks service provides operations to manage zero trust network resources.
Zero trust networks implement security models where no user or device is trusted by default.
Scalar Value Types​
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
|---|
| double | | double | double | float | float64 | double | float | Float |
| float | | float | float | float | float32 | float | float | Float |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |