## ## @section Common parameters ## ## @enum {string} ExternalMethod - Method to pass through traffic to the VM. ## @value PortList - Forward selected ports only. ## @value WholeIP - Forward all traffic for the IP. ## @typedef {struct} Disk - Disk configuration. ## @field {string} name - Disk name. ## @field {string} [bus] - Disk bus type (e.g. "sata"). ## @typedef {struct} Subnet - Additional subnets ## @field {string} [name] - Subnet name ## @typedef {struct} GPU - GPU device configuration. ## @field {string} name - The name of the GPU resource to attach. ## @typedef {struct} Resources - Resource configuration for the virtual machine. ## @field {quantity} [cpu] - Number of CPU cores allocated. ## @field {quantity} [memory] - Amount of memory allocated. ## @field {quantity} [sockets] - Number of CPU sockets (vCPU topology). ## @param {bool} external - Enable external access from outside the cluster. external: false ## @param {ExternalMethod} externalMethod - Method to pass through traffic to the VM. externalMethod: PortList ## @param {[]int} externalPorts - Ports to forward from outside the cluster. externalPorts: - 22 ## @param {bool} running - Determines if the virtual machine should be running. running: true ## @param {string} instanceType - Virtual Machine instance type. instanceType: "u1.medium" ## @param {string} instanceProfile - Virtual Machine preferences profile. instanceProfile: ubuntu ## @param {[]Disk} disks - List of disks to attach. disks: [] ## Example: ## disks: ## - name: example-system ## - name: example-data ## bus: sata ## @param {[]Subnet} subnets - Additional subnets subnets: [] ## Example: ## subnets: ## - name: subnet-84dbec17 ## - name: subnet-aa8896b5 ## - name: subnet-e9b97196 ## @param {[]GPU} gpus - List of GPUs to attach (NVIDIA driver requires at least 4 GiB RAM). gpus: [] ## Example: ## gpus: ## - name: nvidia.com/GA102GL_A10 ## @param {Resources} [resources] - Resource configuration for the virtual machine. resources: {} ## @param {[]string} sshKeys - List of SSH public keys for authentication. sshKeys: [] ## Example: ## sshKeys: ## - ssh-rsa ... ## - ssh-ed25519 ... ## ## @param {string} cloudInit - Cloud-init user data. cloudInit: "" ## Example: ## cloudInit: | ## #cloud-config ## password: ubuntu ## chpasswd: { expire: False } ## ## @param {string} cloudInitSeed - Seed string to generate SMBIOS UUID for the VM. cloudInitSeed: "" ## Example: ## cloudInitSeed: "upd1"