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.

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.

* 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 Vm extends pulumi.CustomResource { /** * Get an existing Vm 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, state?: VmState, opts?: pulumi.CustomResourceOptions): Vm; /** * Returns true if the given object is an instance of Vm. 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 Vm; /** * 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.VmCdrom; } | undefined>; /** * The CPU configuration. */ readonly cpu: pulumi.Output; /** * Set to true to delete unreferenced disks on destroy (defaults to `true`). */ readonly deleteUnreferencedDisksOnDestroy: pulumi.Output; /** * The description of the VM. */ readonly description: pulumi.Output; /** * The name of the VM. Doesn't have to be unique. */ readonly name: pulumi.Output; /** * The name of the node where the VM is provisioned. */ readonly nodeName: pulumi.Output; /** * Set to true to purge the VM from backup configurations on destroy (defaults to `true`). */ readonly purgeOnDestroy: pulumi.Output; /** * The unique identifier of the VM in the Proxmox cluster. */ readonly resourceId: pulumi.Output; /** * 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; /** * Set to true to stop (rather than shutdown) the VM on destroy (defaults to `false`). */ readonly stopOnDestroy: pulumi.Output; /** * The tags assigned to the VM. */ readonly tags: pulumi.Output; /** * Set to true to create a VM template. */ readonly template: pulumi.Output; readonly timeouts: pulumi.Output; /** * 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; /** * Create a Vm 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: VmArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Vm resources. */ export interface VmState { /** * 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; } | undefined>; /** * The CPU configuration. */ cpu?: pulumi.Input; /** * Set to true to delete unreferenced disks on destroy (defaults to `true`). */ deleteUnreferencedDisksOnDestroy?: pulumi.Input; /** * The description of the VM. */ description?: pulumi.Input; /** * The name of the VM. Doesn't have to be unique. */ name?: pulumi.Input; /** * The name of the node where the VM is provisioned. */ nodeName?: pulumi.Input; /** * Set to true to purge the VM from backup configurations on destroy (defaults to `true`). */ purgeOnDestroy?: pulumi.Input; /** * The unique identifier of the VM in the Proxmox cluster. */ resourceId?: pulumi.Input; /** * 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; /** * Set to true to stop (rather than shutdown) the VM on destroy (defaults to `false`). */ stopOnDestroy?: pulumi.Input; /** * The tags assigned to the VM. */ tags?: pulumi.Input[] | undefined>; /** * Set to true to create a VM template. */ template?: pulumi.Input; timeouts?: pulumi.Input; /** * 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; } /** * The set of arguments for constructing a Vm resource. */ export interface VmArgs { /** * 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; } | undefined>; /** * The CPU configuration. */ cpu?: pulumi.Input; /** * Set to true to delete unreferenced disks on destroy (defaults to `true`). */ deleteUnreferencedDisksOnDestroy?: pulumi.Input; /** * The description of the VM. */ description?: pulumi.Input; /** * The name of the VM. Doesn't have to be unique. */ name?: pulumi.Input; /** * The name of the node where the VM is provisioned. */ nodeName: pulumi.Input; /** * Set to true to purge the VM from backup configurations on destroy (defaults to `true`). */ purgeOnDestroy?: pulumi.Input; /** * The unique identifier of the VM in the Proxmox cluster. */ resourceId?: pulumi.Input; /** * 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; /** * Set to true to stop (rather than shutdown) the VM on destroy (defaults to `false`). */ stopOnDestroy?: pulumi.Input; /** * The tags assigned to the VM. */ tags?: pulumi.Input[] | undefined>; /** * Set to true to create a VM template. */ template?: pulumi.Input; timeouts?: pulumi.Input; /** * 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; } //# sourceMappingURL=vm.d.ts.map