Skip to main content

Xen Orchestra

@shrug/xen-orchestrav2026.07.22.1· 10d agoMODELS
01README

Xen Orchestra (XO) / XCP-NG VM lifecycle model over the REST API (/rest/v0): create a VM from a template with cloud-init, start, stop (clean/hard), snapshot, and destroy, plus template/pool/SR/network discovery so UUIDs are resolved rather than hardcoded. Token auth via the authenticationToken cookie (vaulted); plain HTTPS through one injectable fetch seam, TLS verification always on (optional private-CA trust via caCert).

02Release Notes

First release. VM lifecycle over the Xen Orchestra REST API: create (from template, cloud-init), start, stop, snapshot, destroy; template/pool/SR/network discovery; and VIF inventory/removal (listVifs/deleteVif). Token auth via the authenticationToken cookie; TLS verification always on.

03Models1
@shrug/xen-orchestrav2026.07.22.1xen_orchestra.ts
fn create(name_label: string, name_description?: string, template: string, poolId?: string, cpus?: number, memory?: number, network: string, mac?: string, sr: string, size: number, name_label: string, name_description?: string, cloud_config?: string, network_config?: string, boot: boolean, hvmBootFirmware?: enum, secureBoot?: boolean, copyHostBiosStrings?: boolean, autoPoweron?: boolean, clone?: boolean, sync: boolean)
Provision a VM from a template (with optional cloud-init) and record
ArgumentTypeDescription
name_labelstringVM name
name_description?stringVM description
templatestringTemplate UUID (resolve via listTemplates)
poolId?stringPool UUID (defaults to global poolId)
cpus?numbervCPU count
memory?numberRAM in bytes
networkstringNetwork UUID
mac?string
srstringSR UUID (resolve via listSRs)
sizenumberDisk size in bytes
name_labelstring
name_description?string
cloud_config?stringcloud-init user-data (content)
network_config?stringcloud-init network-config (content)
bootbooleanStart the VM after creation
hvmBootFirmware?enum
secureBoot?booleanEnable UEFI Secure Boot
copyHostBiosStrings?booleanCopy the host's BIOS strings into the VM
autoPoweron?booleanStart on host boot
clone?booleanFast-clone the template's disks
syncbooleanWait inline (?sync=true) vs poll a task
fn start(id: string)
Start a VM (`POST /vms/{id}/actions/start`) and refresh its snapshot.
ArgumentTypeDescription
idstringVM UUID
fn stop(id: string, force: boolean)
Stop a VM — clean ACPI shutdown by default, hard power-off when
ArgumentTypeDescription
idstringVM UUID
forcebooleanHard power-off instead of ACPI
fn snapshot(id: string, name_label: string)
Snapshot a VM (`POST /vms/{id}/actions/snapshot`) and refresh its
ArgumentTypeDescription
idstringVM UUID
name_labelstringSnapshot name
fn destroy(id: string)
Destroy a VM (`DELETE /vms/{id}`). Verifies the VM exists first
ArgumentTypeDescription
idstringVM UUID
fn get(id: string)
Refresh a VM's live-state snapshot (`GET /vms/{id}`).
ArgumentTypeDescription
idstringVM UUID
fn listTemplates()
List VM templates (`GET /vm-templates`) to resolve a template UUID.
fn listPools()
List pools (`GET /pools`) to resolve the pool UUID for create.
fn listSRs()
List storage repositories (`GET /srs`) to resolve an SR UUID.
fn listNetworks()
List networks (`GET /networks`) to resolve a VIF network UUID.
fn listVifs(id: string)
List a VM's virtual NICs (`GET /vms/{id}` then `GET /vifs/{uuid}` per
ArgumentTypeDescription
idstringVM UUID
fn deleteVif(vif: string)
Delete a virtual NIC by VIF UUID (`DELETE /vifs/{uuid}`). Verifies the
ArgumentTypeDescription
vifstringVIF UUID

Resources

vm(infinite)— A managed VM's normalized live-state snapshot
inventory(infinite)— A discovery listing (templates/pools/srs/networks) for UUID resolution
04Stats
A
100 / 100
Downloads
0
Archive size
17.2 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels