Skip to main content

API

Table of Contents

compute.proto

CloneInstanceRequest

CloneInstanceRequest defines the parameters needed to clone an existing instance.

FieldTypeLabelDescription
idstringThe id of the instance to clone.
namestringoptionalOptional 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.

FieldTypeLabelDescription
imagestringBase image identifier to use for the instance
cpu_coresuint32Number of CPU cores to allocate to the instance
disk_bytesuint64Amount of disk in bytes to allocate to the instance
memory_bytesuint64Amount of memory in bytes to allocate to the instance
namestringUser-defined name for the instance
snippetstringThe snippet to use to bootstrap the instance
project_idstringThe id of the project the instance belongs to

CreateInstanceResponse

CreateInstanceResponse contains the result of a create instance operation.

FieldTypeLabelDescription
instanceInstanceThe created instance.

CreateZoneRequest

CreateZoneRequest contains the new zone information.

FieldTypeLabelDescription
namestringUser-defined name for the instance

CreateZoneResponse

CreateZoneResponse contains the created zone information.

FieldTypeLabelDescription
zoneZoneThe created zone.

DeleteInstanceRequest

DeleteInstanceRequest defines the parameters needed to delete an existing instance.

FieldTypeLabelDescription
idstringThe 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.

FieldTypeLabelDescription
idstringId of the hypervisor

DetachHypervisorResponse

DetachHypervisorResponse contains the result of a DetachHypervisor operation.

Hypervisor

Hypervisor represents a virtualization platform that can host instances.

FieldTypeLabelDescription
idstringId of the hypervisor
storage_namestringName of the storage to use for instances
urlstringURL endpoint of the hypervisor API
zone_idstringId of the zone the hypervisor belongs to
organization_idstringId of the organization the hypervisor belongs to

Instance

Instance contains detailed information about a virtual machine instance.

FieldTypeLabelDescription
idstringUnique identifier for the instance
statusInstanceStatusCurrent operational status of the instance
max_cpu_coresuint32Maximum CPU cores available to the instance (max 99)
cpu_usage_percentfloatCurrent CPU utilization as a percentage (0.0-100.0)
max_memory_bytesuint64Maximum memory available to the instance (in bytes, max 64GB)
memory_usage_bytesuint64Current memory utilization (in bytes, cannot exceed max_memory_bytes)
max_disk_bytesuint64Maximum disk available to the instance (in bytes, max 64GB)
disk_usage_bytesuint64Current disk utilization (in bytes, cannot exceed max_disk_bytes)
namestringHuman-readable name, defined on the instance
ip_v4stringThe IP v4 address of the instance
hypervisor_idstringUnique identifier for the instance hypervisor
project_idstringUnique identifier for the instance project
zero_trust_network_idstringoptionalUnique identifier for the instance zero trust network
created_atgoogle.protobuf.TimestampCreation time of the instance
updated_atgoogle.protobuf.TimestampTime of the instance last change

InstanceConfig

InstanceConfig contains basic configuration information for a virtual machine instance.

FieldTypeLabelDescription
idstringUnique identifier for the instance configuration
namestringDisplay name of the instance configuration

ListHypervisorsRequest

ListHypervisorsRequest is an empty message for listing hypervisors.

ListHypervisorsResponse

ListHypervisorsResponse contains a collection of hypervisor information.

FieldTypeLabelDescription
hypervisorsHypervisorrepeatedList of hypervisor details

ListInstancesRequest

ListInstancesRequest is an empty message for listing instances.

ListInstancesResponse

ListInstancesResponse contains a collection of instance information.

FieldTypeLabelDescription
instancesInstancerepeatedList of instance details

ListZonesRequest

ListZonesRequest is an empty message for listing zones.

ListZonesResponse

ListZonesResponse contains a collection of zone information.

FieldTypeLabelDescription
zonesZonerepeatedList of zone details

RegisterHypervisorRequest

RegisterHypervisorRequest contains the necessary information to register a hypervisor.

FieldTypeLabelDescription
authorization_tokenstringAuthorization token for secure API access
storage_namestringName of the storage to use for instances
urlstringURL endpoint of the hypervisor API
zone_idstringId of the zone this hypervisor belongs to
organization_idstringId of the organization this hypervisor belongs to

RegisterHypervisorResponse

RegisterHypervisorResponse contains the result of a register hypervisor operation.

FieldTypeLabelDescription
hypervisorHypervisorThe registered hypervisor.

StartInstanceRequest

StartInstanceRequest identifies which instance to start.

FieldTypeLabelDescription
idstringUnique identifier of the instance to start

StartInstanceResponse

StartInstanceResponse contains the result of a start instance operation.

StopInstanceRequest

StopInstanceRequest identifies which instance to stop.

FieldTypeLabelDescription
idstringUnique 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.

FieldTypeLabelDescription
idstringUnique identifier of the instance to update
namestringoptionalOptional new name for the instance
project_idstringoptionalOptional new project id to move the instance to

UpdateInstanceResponse

UpdateInstanceResponse contains the result of an update instance operation.

FieldTypeLabelDescription
instanceInstanceThe updated instance.

Zone

Zone represents a zone.

FieldTypeLabelDescription
idstringId of the zone
namestringName of the zone.

InstanceStatus

InstanceStatus represents the possible states of a virtual machine instance.

NameNumberDescription
UNDEFINED_INSTANCE_STATUS0Instance status is undefined
RUNNING1Instance is active and operational
STOPPED2Instance is inactive
STOPPING3Instance is in the process of stopping
PROVISIONING4Instance is in the process of starting/provisioning
STAGING5Instance is in the staging phase before running
SUSPENDED6Instance is suspended (memory state preserved)
SUSPENDING7Instance is in the process of suspending
TERMINATED8Instance is permanently terminated
DEPROVISIONING9Instance is in the process of being deprovisioned
REPAIRING10Instance is being repaired

Hypervisors

Hypervisors service provides operations to manage hypervisors.

Method NameRequest TypeResponse TypeDescription
ListListHypervisorsRequestListHypervisorsResponseList retrieves information about all registered hypervisors.
RegisterRegisterHypervisorRequestRegisterHypervisorResponseRegister adds a new hypervisor to the system.
DetachDetachHypervisorRequestDetachHypervisorResponseDetach removes a hypervisor from the system.

Instances

Instances service provides operations to manage instances.

Method NameRequest TypeResponse TypeDescription
ListListInstancesRequestListInstancesResponseListInstances retrieves information about all available instances.
CloneCloneInstanceRequestInstanceCloneInstance provisions a new instance based on a given existing instance.
CreateCreateInstanceRequestCreateInstanceResponseCreateInstance provisions a new instance based on the specified configuration.
DeleteDeleteInstanceRequestDeleteInstanceResponseDeleteInstance deletes a given instance.
StartStartInstanceRequestStartInstanceResponseStartInstance initiates a specific instance identified by its unique ID.
StopStopInstanceRequestStopInstanceResponseStopInstance halts a specific instance identified by its unique ID.
UpdateUpdateInstanceRequestUpdateInstanceResponseUpdate modifies an existing instance's properties.

Zones

Hypervisors service provides operations to manage zones.

Method NameRequest TypeResponse TypeDescription
ListListZonesRequestListZonesResponseList retrieves information about all registered zones.
CreateCreateZoneRequestCreateZoneResponseCreate adds a new zone.

iam.proto

AnswerInvitationRequest

FieldTypeLabelDescription
invitation_idstring
acceptbool

AnswerInvitationResponse

FieldTypeLabelDescription
invitationInvitation

CreateInvitationRequest

FieldTypeLabelDescription
organization_idstring
emailstring

CreateInvitationResponse

FieldTypeLabelDescription
invitationInvitation

Invitation

FieldTypeLabelDescription
idstring
organization_idstring
user_idstring
stateInvitationState
created_atgoogle.protobuf.Timestamp
answered_atgoogle.protobuf.Timestamp

ListInvitationsRequest

ListInvitationsResponse

FieldTypeLabelDescription
invitationsInvitationrepeated

InvitationState

NameNumberDescription
INVITATION_STATE_UNSPECIFIED0
PENDING1
ACCEPTED2
DECLINED3
EXPIRED4

Invitations

Method NameRequest TypeResponse TypeDescription
ListListInvitationsRequestListInvitationsResponse
CreateCreateInvitationRequestCreateInvitationResponse
AnswerAnswerInvitationRequestAnswerInvitationResponse

longrunning.proto

GetOperationRequest

Request message for Operations.Get.

FieldTypeLabelDescription
namestringThe name of the operation resource.

Operation

Represents a long-running operation that is the result of a network API call.

FieldTypeLabelDescription
namestringThe server-assigned name, which is only unique within the same service that originally returns it.
donebooloptionalIf the value is false, it means the operation is still in progress. If true, the operation is completed.

WaitOperationRequest

Request message for Operations.Wait.

FieldTypeLabelDescription
namestringThe name of the operation resource to wait on.
timeoutgoogle.protobuf.DurationThe 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 NameRequest TypeResponse TypeDescription
GetGetOperationRequestOperationGets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals.
WaitWaitOperationRequestOperationWaits 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

FieldTypeLabelDescription
namestring
parent_idstringoptional

CreateOrganizationResponse

FieldTypeLabelDescription
organizationOrganization

CreateProjectRequest

FieldTypeLabelDescription
namestring
organization_idstring

CreateProjectResponse

FieldTypeLabelDescription
projectProject

ListOrganizationsRequest

ListOrganizationsResponse

FieldTypeLabelDescription
organizationsOrganizationrepeated

ListProjectsRequest

ListProjectsResponse

FieldTypeLabelDescription
projectsProjectrepeated

Organization

FieldTypeLabelDescription
idstring
namestring
created_atgoogle.protobuf.Timestamp
updated_atgoogle.protobuf.Timestamp
slugstring

Project

FieldTypeLabelDescription
idstring
namestring
organization_idstring
created_atgoogle.protobuf.Timestamp
updated_atgoogle.protobuf.Timestamp

Organizations

Method NameRequest TypeResponse TypeDescription
ListListOrganizationsRequestListOrganizationsResponse
CreateCreateOrganizationRequestCreateOrganizationResponse

Projects

Method NameRequest TypeResponse TypeDescription
ListListProjectsRequestListProjectsResponse
CreateCreateProjectRequestCreateProjectResponse

infrastructure.proto

Datacenter

Datacenter represents a physical datacenter.

FieldTypeLabelDescription
idstringUnique identifier for the datacenter
namestringHuman-readable name of the datacenter
created_atgoogle.protobuf.TimestampCreation time of the zero trust network
updated_atgoogle.protobuf.TimestampTime 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.

FieldTypeLabelDescription
datacentersDatacenterrepeatedList 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.

FieldTypeLabelDescription
zero_trust_network_typesZeroTrustNetworkTyperepeatedList 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.

FieldTypeLabelDescription
zero_trust_networksZeroTrustNetworkrepeatedList of zero trust network details

ZeroTrustNetwork

ZeroTrustNetwork represents a zero trust network configuration. Zero trust networks enforce strict identity verification and access controls.

FieldTypeLabelDescription
idstringUnique identifier for the zero trust network
namestringHuman-readable name of the zero trust network
organization_idstringID of the organization this network belongs to
zero_trust_network_type_idstringID of the zero trust network type this network is based on
created_atgoogle.protobuf.TimestampCreation time of the zero trust network
updated_atgoogle.protobuf.TimestampTime 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.

FieldTypeLabelDescription
idstringUnique identifier for the zero trust network type
namestringHuman-readable name of the zero trust network type
created_atgoogle.protobuf.TimestampCreation time of the zero trust network type
updated_atgoogle.protobuf.TimestampTime of the zero trust network type's last update

Datacenters

Datacenters service providers operations to manage datacenter resources.

Method NameRequest TypeResponse TypeDescription
ListListDatacentersRequestListDatacentersResponseList retrieves information about Human-readable available datacenters. Returns a collection of datacenters.

ZeroTrustNetworkTypes

ZeroTrustNetworkTypes service provides operations to manage zero trust network type definitions. Network types define different categories or configurations of zero trust networks.

Method NameRequest TypeResponse TypeDescription
ListListZeroTrustNetworkTypesRequestListZeroTrustNetworkTypesResponseList retrieves information about all available zero trust network types. Returns a collection of zero trust network types.

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.

Method NameRequest TypeResponse TypeDescription
ListListZeroTrustNetworksRequestListZeroTrustNetworksResponseList retrieves information about all available zero trust networks. Returns a collection of zero trust networks.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)