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)