Skip to content
Docs

Update VM

client.Compute.VMs.Update(ctx, vmID, body) (*Operation, error)
PATCH/v1/compute/vms/{vm_id}

Update a VM

ParametersExpand Collapse
vmID string
body VMUpdateParams
InstanceType param.Field[string]Optional

Instance type name.

Name param.Field[string]Optional

Name of the VM.

PublicIPEnabled param.Field[bool]Optional

Whether to enable public IP for the VM.

Tags param.Field[[]string]Optional

Tags to attach to the VM.

ReturnsExpand Collapse
type Operation struct{…}

Operation details.

ID string

Unique identifier for the Operation.

CreatedAt Time

When the Operation was created.

formatdate-time

Structured details about what an operation is changing.

Map of changed field names to their from/to diffs. Keys depend on the parent operation’s kind+type.

From OperationFieldDiffFromUnion

Previous value.

One of the following:
string
float64
bool
type OperationFieldDiffFromArray []string
To OperationFieldDiffToUnion

New value.

One of the following:
string
float64
bool
type OperationFieldDiffToArray []string

Kind of Operation.

One of the following:
const OperationKindVM OperationKind = "vm"
const OperationKindVolume OperationKind = "volume"
const OperationKindVPC OperationKind = "vpc"
const OperationKindFirewallRule OperationKind = "firewall_rule"
const OperationKindNKSCluster OperationKind = "nks_cluster"
const OperationKindNKSNodePool OperationKind = "nks_node_pool"
ProjectID string

Project ID the Operation belongs to.

ResourceID string

ID of the resource that the Operation is acting on.

Status of the Operation.

One of the following:
const OperationStatusPending OperationStatus = "pending"
const OperationStatusRunning OperationStatus = "running"
const OperationStatusDone OperationStatus = "done"
const OperationStatusFailed OperationStatus = "failed"
const OperationStatusUnknown OperationStatus = "unknown"

Type of Operation.

One of the following:
const OperationTypeCreate OperationType = "create"
const OperationTypeUpdate OperationType = "update"
const OperationTypeDelete OperationType = "delete"
const OperationTypeRestart OperationType = "restart"
UpdatedAt Time

When the Operation was updated.

formatdate-time

Update VM

package main

import (
  "context"
  "fmt"

  "github.com/nirvana-labs/nirvana-go"
  "github.com/nirvana-labs/nirvana-go/compute"
  "github.com/nirvana-labs/nirvana-go/option"
)

func main() {
  client := nirvana.NewClient(
    option.WithAPIKey("My API Key"),
  )
  operation, err := client.Compute.VMs.Update(
    context.TODO(),
    "vm_id",
    compute.VMUpdateParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", operation.ID)
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "created_at": "2025-01-01T00:00:00Z",
  "details": {
    "changes": {
      "foo": {
        "from": "string",
        "to": "string"
      }
    }
  },
  "kind": "vm",
  "project_id": "123e4567-e89b-12d3-a456-426614174000",
  "resource_id": "123e4567-e89b-12d3-a456-426614174000",
  "status": "pending",
  "type": "create",
  "updated_at": "2025-01-01T00:00:00Z"
}
Returns Examples
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "created_at": "2025-01-01T00:00:00Z",
  "details": {
    "changes": {
      "foo": {
        "from": "string",
        "to": "string"
      }
    }
  },
  "kind": "vm",
  "project_id": "123e4567-e89b-12d3-a456-426614174000",
  "resource_id": "123e4567-e89b-12d3-a456-426614174000",
  "status": "pending",
  "type": "create",
  "updated_at": "2025-01-01T00:00:00Z"
}