Viewing docs for xenorchestra v2.4.0
published on Thursday, Feb 26, 2026 by Vates
published on Thursday, Feb 26, 2026 by Vates
Xen Orchestra
I want to use the Pulumi xenorchestra package (xenorchestra) in my project.
## Provider details
- Package: xenorchestra
- Version: v2.4.0
- Publisher: Vates
- Source: pulumi
- Repository: https://github.com/vatesfr/pulumi-xenorchestra
## Documentation
The Pulumi Cloud Registry API serves canonical, up-to-date docs for this package — including private packages and every published version. Send the "Accept: text/markdown" header for clean readable content, or "application/json" for structured data.
Start at the navigation tree, which cross-links to the readme, installation guide, and per-resource docs URL template:
- https://api.pulumi.com/api/registry/packages/pulumi/vates/xenorchestra/versions/latest/nav
Returns a summary by default. The full tree can be hundreds of kB for large providers, so prefer targeted search: append "?q=<query>&depth=full" to filter by resource/function title or token (for example "?q=bucket&depth=full"). Only request the full nav without a query if you actually need to enumerate every resource.
Other endpoints:
- Overview and getting started: https://api.pulumi.com/api/registry/packages/pulumi/vates/xenorchestra/versions/latest/readme
- Installation and configuration: https://api.pulumi.com/api/registry/packages/pulumi/vates/xenorchestra/versions/latest/installation
- Per-resource/function docs: https://api.pulumi.com/api/registry/packages/pulumi/vates/xenorchestra/versions/latest/docs/{token}?lang={lang}
Replace {token} with the percent-encoded token from the nav response (for example aws:s3/bucket:Bucket).
Replace {lang} with typescript, python, go, csharp, java, or yaml.
Fetch the installation endpoint above for the correct setup steps — install instructions vary between native providers, bridged Terraform providers, and component packages.
Help me get started using this provider. Show me a complete Pulumi program that provisions a common resource, including all necessary configuration and imports.
Viewing docs for xenorchestra v2.4.0
published on Thursday, Feb 26, 2026 by Vates
published on Thursday, Feb 26, 2026 by Vates
The Xen Orchestra Provider lets you manage Xen Orchestra resources.
Information
Note that the Xen Orchestra Pulumi provider is a based on the Terraform Xen Orchestra Provider
Examples
Those examples uses pulumi config set xenorchestra:token --secret and pulumi config set xenorchestra:url <url> to configure the provider.
import pulumi
import pulumi_xenorchestra as xoa
import pathlib
template = xoa.get_xoa_template(
name_label="Debian 12 Cloud-init (Hub)",
pool_id=pool.id
)
xoa.Vm(
resource_name="Pulumi example",
name_label="Pulumi example",
name_description="Example with pulumi python provider",
tags=["pulumi"],
cpus=1,
memory_max=1073733632,
template=template.id,
cloud_config=pathlib.Path("./config/cloudinit-xen-static.yaml").read_text(),
disks=[
xoa.VmDiskArgs(
name_label="OS",
size=4294967296,
sr_id="sr-id"
),
],
networks=[
xoa.VmNetworkArgs(
network_id="network-id",
),
],
power_state="Running",
)
pulumi.export("vm_ip", vm.ipv4_addresses)
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
xoa "github.com/vatesfr/pulumi-xenorchestra/sdk/go/xenorchestra"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
poolId := "pool-id"
template, err := xoa.GetXoaTemplate(ctx, &xoa.GetXoaTemplateArgs{
NameLabel: "Debian 12 Cloud-init (Hub)",
PoolId: &poolId,
})
if err != nil {
return err
}
vm, err := xoa.NewVm(ctx, "Pulumi example", &xoa.VmArgs{
NameLabel: pulumi.String("Pulumi example"),
NameDescription: pulumi.String("Example with pulumi golang provider"),
Tags: pulumi.StringArray{pulumi.String("pulumi")},
Cpus: pulumi.Int(1),
MemoryMax: pulumi.Float64(1073733632),
Template: pulumi.String(template.Id),
CloudConfig: pulumi.String(`
#cloud-config
ssh_authorized_keys:
- ....
`),
Disks: xoa.VmDiskArray{
xoa.VmDiskArgs{
NameLabel: pulumi.String("OS"),
Size: pulumi.Float64(4294967296),
SrId: pulumi.String("sr-id"),
},
},
Networks: xoa.VmNetworkArray{
xoa.VmNetworkArgs{
NetworkId: pulumi.String(net.Id),
},
},
PowerState: pulumi.String("Running"),
})
if err != nil {
return err
}
ctx.Export("vp_ip", vm.Ipv4Addresses)
return nil
})
}
import * as pulumi from "@pulumi/pulumi";
import * as xoa from "@pulumi/xenorchestra"
async function getPrerequisites(){
const template = await xoa.getXoaTemplate({
nameLabel: "Debian 12 Cloud-init (Hub)",
poolId: "pool-id"
})
return {
template: template
}
}
export const out = getPrerequisites().then(prerequisites => {
const vm = new xoa.Vm("Pulumi example", {
nameLabel: "Pulumi example",
nameDescription: "Example with pulumi typescript provider",
tags: ["pulumi"],
cpus: 1,
memoryMax: 1073733632,
template: prerequisites.template.id,
cloudConfig: `
#cloud-config
ssh_authorized_keys:
- ...
`,
disks: [
{
nameLabel: "OS",
size: 4294967296,
srId: "sr-id",
}
],
networks: [
{
networkId: "network-id",
}
],
powerState: "Running"
})
return vm.ipv4Addresses
})
using System.Collections.Generic;
using Pulumi;
using Pulumi.Xenorchestra;
using Pulumi.Xenorchestra.Inputs;
return await Deployment.RunAsync(() =>
{
var template = GetXoaTemplate.Invoke(new GetXoaTemplateInvokeArgs
{
NameLabel = "Debian 12 Cloud-init (Hub)",
PoolId = "pool-id"
});
var vm = new Vm("vm", new VmArgs
{
NameLabel = "Pulumi example",
NameDescription = "Example with pulumi dotnet provider",
Tags = ["pulumi"],
Cpus = 1,
MemoryMax = 1073733632,
Template = template.Apply(getXoaTemplateResult => getXoaTemplateResult.Id),
CloudConfig = """
#cloud-config
ssh_authorized_keys:
- ...
"""
Disks = new VmDiskArgs[] {
new VmDiskArgs {
NameLabel = "OS",
Size = 4294967296,
SrId = "sr-id"
}
},
Networks = new VmNetworkArgs[] {
new VmNetworkArgs {
NetworkId = "network-id"
}
},
PowerState = "Running"
});
return new Dictionary<string, object?>
{
["vp_ip"] = vm.Ipv4Addresses.Apply(ipv4Addresses => ipv4Addresses)
};
});
name: test-yaml
description: A minimal Pulumi YAML program
runtime: yaml
config: {'pulumi:tags': {value: {'pulumi:template': yaml}}}
variables:
templateId:
fn::invoke:
function: xenorchestra:getXoaTemplate
arguments:
nameLabel: "Debian 12 Cloud-init (Hub)"
poolId: "pool-id"
return: id
resources:
vm:
type: xenorchestra:Vm
properties:
nameLabel: "Pulumi example"
nameDescription: "Example with pulumi yam provider"
tags:
- pulumi
cpus: 1
memoryMax: 1073733632
template: ${templateId}
cloudConfig: |
#cloud-config
ssh_authorized_keys:
- ...
disks:
- nameLabel: "OS"
size: 4294967296
srId: "sr-id"
networks:
- networkId: "network-id"
powerState: "Running"
outputs:
vmIp: ${vm.ipv4Addresses}
Viewing docs for xenorchestra v2.4.0
published on Thursday, Feb 26, 2026 by Vates
published on Thursday, Feb 26, 2026 by Vates
