UNPKG

@muhlba91/pulumi-proxmoxve

Version:

A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.

191 lines (190 loc) 10.1 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * !> **DO NOT USE** * This is an experimental implementation of a Proxmox VM resource using Plugin Framework.<br><br>It is a Proof of Concept, highly experimental and **will** change in future. It does not support all features of the Proxmox API for VMs and **MUST NOT** be used in production. * * > Many attributes are marked as **optional** _and_ **computed** in the schema, * hence you may seem added to the plan with "(known after apply)" status, even if they are not set in the configuration. * This is done to support the `clone` operation, when a VM is created from an existing VM or template, * and the source attributes are copied to the clone.<br><br> * Computed attributes allow the provider to set those attributes without user input. * The attributes are also marked as optional to allow the practitioner to set (or overwrite) them if needed. */ export declare class VirtualMachine2 extends pulumi.CustomResource { /** * Get an existing VirtualMachine2 resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualMachine2State, opts?: pulumi.CustomResourceOptions): VirtualMachine2; /** * Returns true if the given object is an instance of VirtualMachine2. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VirtualMachine2; /** * The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of `ideN`, `sataN`, `scsiN`, where N is the index of the interface. Note that `q35` machine type only supports `ide0` and `ide2` of IDE interfaces. */ readonly cdrom: pulumi.Output<{ [key: string]: outputs.VM.VirtualMachine2Cdrom; }>; /** * The cloning configuration. */ readonly clone: pulumi.Output<outputs.VM.VirtualMachine2Clone | undefined>; /** * The CPU configuration. */ readonly cpu: pulumi.Output<outputs.VM.VirtualMachine2Cpu>; /** * The description of the VM. */ readonly description: pulumi.Output<string | undefined>; /** * The name of the VM. Doesn't have to be unique. */ readonly name: pulumi.Output<string>; /** * The name of the node where the VM is provisioned. */ readonly nodeName: pulumi.Output<string>; /** * Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by `root@pam.`See the [Proxmox documentation](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings) for more information. */ readonly rng: pulumi.Output<outputs.VM.VirtualMachine2Rng>; /** * Set to true to stop (rather than shutdown) the VM on destroy (defaults to `false`). */ readonly stopOnDestroy: pulumi.Output<boolean>; /** * The tags assigned to the VM. */ readonly tags: pulumi.Output<string[]>; /** * Set to true to create a VM template. */ readonly template: pulumi.Output<boolean | undefined>; readonly timeouts: pulumi.Output<outputs.VM.VirtualMachine2Timeouts | undefined>; /** * Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is `std` for all OS types besides some Windows versions (XP and older) which use `cirrus`. The `qxl` option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the [Proxmox documentation](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings) section 10.2.8 for more information and available configuration parameters. */ readonly vga: pulumi.Output<outputs.VM.VirtualMachine2Vga>; /** * Create a VirtualMachine2 resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VirtualMachine2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VirtualMachine2 resources. */ export interface VirtualMachine2State { /** * The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of `ideN`, `sataN`, `scsiN`, where N is the index of the interface. Note that `q35` machine type only supports `ide0` and `ide2` of IDE interfaces. */ cdrom?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.VM.VirtualMachine2Cdrom>; }>; /** * The cloning configuration. */ clone?: pulumi.Input<inputs.VM.VirtualMachine2Clone>; /** * The CPU configuration. */ cpu?: pulumi.Input<inputs.VM.VirtualMachine2Cpu>; /** * The description of the VM. */ description?: pulumi.Input<string>; /** * The name of the VM. Doesn't have to be unique. */ name?: pulumi.Input<string>; /** * The name of the node where the VM is provisioned. */ nodeName?: pulumi.Input<string>; /** * Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by `root@pam.`See the [Proxmox documentation](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings) for more information. */ rng?: pulumi.Input<inputs.VM.VirtualMachine2Rng>; /** * Set to true to stop (rather than shutdown) the VM on destroy (defaults to `false`). */ stopOnDestroy?: pulumi.Input<boolean>; /** * The tags assigned to the VM. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * Set to true to create a VM template. */ template?: pulumi.Input<boolean>; timeouts?: pulumi.Input<inputs.VM.VirtualMachine2Timeouts>; /** * Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is `std` for all OS types besides some Windows versions (XP and older) which use `cirrus`. The `qxl` option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the [Proxmox documentation](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings) section 10.2.8 for more information and available configuration parameters. */ vga?: pulumi.Input<inputs.VM.VirtualMachine2Vga>; } /** * The set of arguments for constructing a VirtualMachine2 resource. */ export interface VirtualMachine2Args { /** * The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of `ideN`, `sataN`, `scsiN`, where N is the index of the interface. Note that `q35` machine type only supports `ide0` and `ide2` of IDE interfaces. */ cdrom?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.VM.VirtualMachine2Cdrom>; }>; /** * The cloning configuration. */ clone?: pulumi.Input<inputs.VM.VirtualMachine2Clone>; /** * The CPU configuration. */ cpu?: pulumi.Input<inputs.VM.VirtualMachine2Cpu>; /** * The description of the VM. */ description?: pulumi.Input<string>; /** * The name of the VM. Doesn't have to be unique. */ name?: pulumi.Input<string>; /** * The name of the node where the VM is provisioned. */ nodeName: pulumi.Input<string>; /** * Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by `root@pam.`See the [Proxmox documentation](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings) for more information. */ rng?: pulumi.Input<inputs.VM.VirtualMachine2Rng>; /** * Set to true to stop (rather than shutdown) the VM on destroy (defaults to `false`). */ stopOnDestroy?: pulumi.Input<boolean>; /** * The tags assigned to the VM. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * Set to true to create a VM template. */ template?: pulumi.Input<boolean>; timeouts?: pulumi.Input<inputs.VM.VirtualMachine2Timeouts>; /** * Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is `std` for all OS types besides some Windows versions (XP and older) which use `cirrus`. The `qxl` option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the [Proxmox documentation](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings) section 10.2.8 for more information and available configuration parameters. */ vga?: pulumi.Input<inputs.VM.VirtualMachine2Vga>; }