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
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.
Zones
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) |