1. Packages
  2. Proxmox Virtual Environment (Proxmox VE)
  3. API Docs
  4. VmLegacy
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
proxmoxve logo
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski

    Manages a virtual machine.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    import * as random from "@pulumi/random";
    import * as std from "@pulumi/std";
    import * as tls from "@pulumi/tls";
    
    export = async () => {
        const latestUbuntu22JammyQcow2Img = new proxmoxve.download.FileLegacy("latest_ubuntu_22_jammy_qcow2_img", {
            contentType: "import",
            datastoreId: "local",
            nodeName: "pve",
            url: "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img",
            fileName: "jammy-server-cloudimg-amd64.qcow2",
        });
        const ubuntuVmPassword = new random.RandomPassword("ubuntu_vm_password", {
            length: 16,
            overrideSpecial: "_%@",
            special: true,
        });
        const ubuntuVmKey = new tls.PrivateKey("ubuntu_vm_key", {
            algorithm: "RSA",
            rsaBits: 2048,
        });
        const ubuntuVm = new proxmoxve.VmLegacy("ubuntu_vm", {
            serialDevices: [{}],
            name: "terraform-provider-proxmox-ubuntu-vm",
            description: "Managed by Pulumi",
            tags: [
                "terraform",
                "ubuntu",
            ],
            nodeName: "first-node",
            vmId: 4321,
            agent: {
                enabled: false,
            },
            stopOnDestroy: true,
            startup: {
                order: 3,
                upDelay: 60,
                downDelay: 60,
            },
            cpu: {
                cores: 2,
                type: "x86-64-v2-AES",
            },
            memory: {
                dedicated: 2048,
                floating: 2048,
            },
            disks: [{
                datastoreId: "local-lvm",
                importFrom: latestUbuntu22JammyQcow2Img.id,
                "interface": "scsi0",
            }],
            initialization: {
                ipConfigs: [{
                    ipv4: {
                        address: "dhcp",
                    },
                }],
                userAccount: {
                    keys: [std.trimspaceOutput({
                        input: ubuntuVmKey.publicKeyOpenssh,
                    }).apply(invoke => invoke.result)],
                    password: ubuntuVmPassword.result,
                    username: "ubuntu",
                },
                userDataFileId: cloudConfig.id,
            },
            networkDevices: [{
                bridge: "vmbr0",
            }],
            operatingSystem: {
                type: "l26",
            },
            tpmState: {
                version: "v2.0",
            },
            virtiofs: [{
                mapping: "data_share",
                cache: "always",
                directIo: true,
            }],
        });
        return {
            ubuntuVmPassword: ubuntuVmPassword.result,
            ubuntuVmPrivateKey: ubuntuVmKey.privateKeyPem,
            ubuntuVmPublicKey: ubuntuVmKey.publicKeyOpenssh,
        };
    }
    
    import pulumi
    import pulumi_proxmoxve as proxmoxve
    import pulumi_random as random
    import pulumi_std as std
    import pulumi_tls as tls
    
    latest_ubuntu22_jammy_qcow2_img = proxmoxve.download.FileLegacy("latest_ubuntu_22_jammy_qcow2_img",
        content_type="import",
        datastore_id="local",
        node_name="pve",
        url="https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img",
        file_name="jammy-server-cloudimg-amd64.qcow2")
    ubuntu_vm_password = random.RandomPassword("ubuntu_vm_password",
        length=16,
        override_special="_%@",
        special=True)
    ubuntu_vm_key = tls.PrivateKey("ubuntu_vm_key",
        algorithm="RSA",
        rsa_bits=2048)
    ubuntu_vm = proxmoxve.VmLegacy("ubuntu_vm",
        serial_devices=[{}],
        name="terraform-provider-proxmox-ubuntu-vm",
        description="Managed by Pulumi",
        tags=[
            "terraform",
            "ubuntu",
        ],
        node_name="first-node",
        vm_id=4321,
        agent={
            "enabled": False,
        },
        stop_on_destroy=True,
        startup={
            "order": 3,
            "up_delay": 60,
            "down_delay": 60,
        },
        cpu={
            "cores": 2,
            "type": "x86-64-v2-AES",
        },
        memory={
            "dedicated": 2048,
            "floating": 2048,
        },
        disks=[{
            "datastore_id": "local-lvm",
            "import_from": latest_ubuntu22_jammy_qcow2_img.id,
            "interface": "scsi0",
        }],
        initialization={
            "ip_configs": [{
                "ipv4": {
                    "address": "dhcp",
                },
            }],
            "user_account": {
                "keys": [std.trimspace_output(input=ubuntu_vm_key.public_key_openssh).apply(lambda invoke: invoke.result)],
                "password": ubuntu_vm_password.result,
                "username": "ubuntu",
            },
            "user_data_file_id": cloud_config["id"],
        },
        network_devices=[{
            "bridge": "vmbr0",
        }],
        operating_system={
            "type": "l26",
        },
        tpm_state={
            "version": "v2.0",
        },
        virtiofs=[{
            "mapping": "data_share",
            "cache": "always",
            "direct_io": True,
        }])
    pulumi.export("ubuntuVmPassword", ubuntu_vm_password.result)
    pulumi.export("ubuntuVmPrivateKey", ubuntu_vm_key.private_key_pem)
    pulumi.export("ubuntuVmPublicKey", ubuntu_vm_key.public_key_openssh)
    
    package main
    
    import (
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve"
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve/download"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi-std/sdk/v2/go/std"
    	"github.com/pulumi/pulumi-tls/sdk/v5/go/tls"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		latestUbuntu22JammyQcow2Img, err := download.NewFileLegacy(ctx, "latest_ubuntu_22_jammy_qcow2_img", &download.FileLegacyArgs{
    			ContentType: pulumi.String("import"),
    			DatastoreId: pulumi.String("local"),
    			NodeName:    pulumi.String("pve"),
    			Url:         pulumi.String("https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img"),
    			FileName:    pulumi.String("jammy-server-cloudimg-amd64.qcow2"),
    		})
    		if err != nil {
    			return err
    		}
    		ubuntuVmPassword, err := random.NewRandomPassword(ctx, "ubuntu_vm_password", &random.RandomPasswordArgs{
    			Length:          pulumi.Int(16),
    			OverrideSpecial: pulumi.String("_%@"),
    			Special:         pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		ubuntuVmKey, err := tls.NewPrivateKey(ctx, "ubuntu_vm_key", &tls.PrivateKeyArgs{
    			Algorithm: pulumi.String("RSA"),
    			RsaBits:   pulumi.Int(2048),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = proxmoxve.NewVmLegacy(ctx, "ubuntu_vm", &proxmoxve.VmLegacyArgs{
    			SerialDevices: proxmoxve.VmLegacySerialDeviceArray{
    				&proxmoxve.VmLegacySerialDeviceArgs{},
    			},
    			Name:        pulumi.String("terraform-provider-proxmox-ubuntu-vm"),
    			Description: pulumi.String("Managed by Pulumi"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    				pulumi.String("ubuntu"),
    			},
    			NodeName: pulumi.String("first-node"),
    			VmId:     pulumi.Int(4321),
    			Agent: &proxmoxve.VmLegacyAgentArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			StopOnDestroy: pulumi.Bool(true),
    			Startup: &proxmoxve.VmLegacyStartupArgs{
    				Order:     pulumi.Int(3),
    				UpDelay:   pulumi.Int(60),
    				DownDelay: pulumi.Int(60),
    			},
    			Cpu: &proxmoxve.VmLegacyCpuArgs{
    				Cores: pulumi.Int(2),
    				Type:  pulumi.String("x86-64-v2-AES"),
    			},
    			Memory: &proxmoxve.VmLegacyMemoryArgs{
    				Dedicated: pulumi.Int(2048),
    				Floating:  pulumi.Int(2048),
    			},
    			Disks: proxmoxve.VmLegacyDiskArray{
    				&proxmoxve.VmLegacyDiskArgs{
    					DatastoreId: pulumi.String("local-lvm"),
    					ImportFrom:  latestUbuntu22JammyQcow2Img.ID(),
    					Interface:   pulumi.String("scsi0"),
    				},
    			},
    			Initialization: &proxmoxve.VmLegacyInitializationArgs{
    				IpConfigs: proxmoxve.VmLegacyInitializationIpConfigArray{
    					&proxmoxve.VmLegacyInitializationIpConfigArgs{
    						Ipv4: &proxmoxve.VmLegacyInitializationIpConfigIpv4Args{
    							Address: pulumi.String("dhcp"),
    						},
    					},
    				},
    				UserAccount: &proxmoxve.VmLegacyInitializationUserAccountArgs{
    					Keys: pulumi.StringArray{
    						std.TrimspaceOutput(ctx, std.TrimspaceOutputArgs{
    							Input: ubuntuVmKey.PublicKeyOpenssh,
    						}, nil).ApplyT(func(invoke std.TrimspaceResult) (*string, error) {
    							val := invoke.Result
    							return &val, nil
    						}).(pulumi.StringPtrOutput),
    					},
    					Password: ubuntuVmPassword.Result,
    					Username: pulumi.String("ubuntu"),
    				},
    				UserDataFileId: pulumi.Any(cloudConfig.Id),
    			},
    			NetworkDevices: proxmoxve.VmLegacyNetworkDeviceArray{
    				&proxmoxve.VmLegacyNetworkDeviceArgs{
    					Bridge: pulumi.String("vmbr0"),
    				},
    			},
    			OperatingSystem: &proxmoxve.VmLegacyOperatingSystemArgs{
    				Type: pulumi.String("l26"),
    			},
    			TpmState: &proxmoxve.VmLegacyTpmStateArgs{
    				Version: pulumi.String("v2.0"),
    			},
    			Virtiofs: proxmoxve.VmLegacyVirtiofArray{
    				&proxmoxve.VmLegacyVirtiofArgs{
    					Mapping:  pulumi.String("data_share"),
    					Cache:    pulumi.String("always"),
    					DirectIo: pulumi.Bool(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("ubuntuVmPassword", ubuntuVmPassword.Result)
    		ctx.Export("ubuntuVmPrivateKey", ubuntuVmKey.PrivateKeyPem)
    		ctx.Export("ubuntuVmPublicKey", ubuntuVmKey.PublicKeyOpenssh)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using ProxmoxVE = Pulumi.ProxmoxVE;
    using Random = Pulumi.Random;
    using Std = Pulumi.Std;
    using Tls = Pulumi.Tls;
    
    return await Deployment.RunAsync(() => 
    {
        var latestUbuntu22JammyQcow2Img = new ProxmoxVE.Download.FileLegacy("latest_ubuntu_22_jammy_qcow2_img", new()
        {
            ContentType = "import",
            DatastoreId = "local",
            NodeName = "pve",
            Url = "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img",
            FileName = "jammy-server-cloudimg-amd64.qcow2",
        });
    
        var ubuntuVmPassword = new Random.Index.RandomPassword("ubuntu_vm_password", new()
        {
            Length = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(16) (example.pp:77,21-23)),
            OverrideSpecial = "_%@",
            Special = true,
        });
    
        var ubuntuVmKey = new Tls.Index.PrivateKey("ubuntu_vm_key", new()
        {
            Algorithm = "RSA",
            RsaBits = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2048) (example.pp:85,19-23)),
        });
    
        var ubuntuVm = new ProxmoxVE.Index.VmLegacy("ubuntu_vm", new()
        {
            SerialDevices = new[]
            {
                null,
            },
            Name = "terraform-provider-proxmox-ubuntu-vm",
            Description = "Managed by Pulumi",
            Tags = new[]
            {
                "terraform",
                "ubuntu",
            },
            NodeName = "first-node",
            VmId = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(4321) (example.pp:7,19-23)),
            Agent = new ProxmoxVE.Inputs.VmLegacyAgentArgs
            {
                Enabled = false,
            },
            StopOnDestroy = true,
            Startup = new ProxmoxVE.Inputs.VmLegacyStartupArgs
            {
                Order = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(3) (:0,0-0)),
                UpDelay = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(60) (:0,0-0)),
                DownDelay = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(60) (:0,0-0)),
            },
            Cpu = new ProxmoxVE.Inputs.VmLegacyCpuArgs
            {
                Cores = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2) (example.pp:22,13-14)),
                Type = "x86-64-v2-AES",
            },
            Memory = new ProxmoxVE.Inputs.VmLegacyMemoryArgs
            {
                Dedicated = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2048) (example.pp:26,17-21)),
                Floating = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2048) (example.pp:27,17-21)),
            },
            Disks = new[]
            {
                new ProxmoxVE.Inputs.VmLegacyDiskArgs
                {
                    DatastoreId = "local-lvm",
                    ImportFrom = latestUbuntu22JammyQcow2Img.Id,
                    Interface = "scsi0",
                },
            },
            Initialization = new ProxmoxVE.Inputs.VmLegacyInitializationArgs
            {
                IpConfigs = new[]
                {
                    new ProxmoxVE.Inputs.VmLegacyInitializationIpConfigArgs
                    {
                        Ipv4 = new ProxmoxVE.Inputs.VmLegacyInitializationIpConfigIpv4Args
                        {
                            Address = "dhcp",
                        },
                    },
                },
                UserAccount = new ProxmoxVE.Inputs.VmLegacyInitializationUserAccountArgs
                {
                    Keys = new[]
                    {
                        Std.Index.Trimspace.Invoke(new()
                        {
                            Input = ubuntuVmKey.PublicKeyOpenssh,
                        }).Apply(invoke => invoke.Result),
                    },
                    Password = ubuntuVmPassword.Result,
                    Username = "ubuntu",
                },
                UserDataFileId = cloudConfig.Id,
            },
            NetworkDevices = new[]
            {
                new ProxmoxVE.Inputs.VmLegacyNetworkDeviceArgs
                {
                    Bridge = "vmbr0",
                },
            },
            OperatingSystem = new ProxmoxVE.Inputs.VmLegacyOperatingSystemArgs
            {
                Type = "l26",
            },
            TpmState = new ProxmoxVE.Inputs.VmLegacyTpmStateArgs
            {
                Version = "v2.0",
            },
            Virtiofs = new[]
            {
                new ProxmoxVE.Inputs.VmLegacyVirtiofArgs
                {
                    Mapping = "data_share",
                    Cache = "always",
                    DirectIo = true,
                },
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["ubuntuVmPassword"] = ubuntuVmPassword.Result,
            ["ubuntuVmPrivateKey"] = ubuntuVmKey.PrivateKeyPem,
            ["ubuntuVmPublicKey"] = ubuntuVmKey.PublicKeyOpenssh,
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import io.muehlbachler.pulumi.proxmoxve.download.FileLegacy;
    import io.muehlbachler.pulumi.proxmoxve.download.FileLegacyArgs;
    import com.pulumi.random.RandomPassword;
    import com.pulumi.random.RandomPasswordArgs;
    import com.pulumi.tls.PrivateKey;
    import com.pulumi.tls.PrivateKeyArgs;
    import io.muehlbachler.pulumi.proxmoxve.VmLegacy;
    import io.muehlbachler.pulumi.proxmoxve.VmLegacyArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacySerialDeviceArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyAgentArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyStartupArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyCpuArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyMemoryArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyDiskArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyInitializationArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyInitializationUserAccountArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyNetworkDeviceArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyOperatingSystemArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyTpmStateArgs;
    import com.pulumi.proxmoxve.inputs.VmLegacyVirtiofArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.TrimspaceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var latestUbuntu22JammyQcow2Img = new FileLegacy("latestUbuntu22JammyQcow2Img", FileLegacyArgs.builder()
                .contentType("import")
                .datastoreId("local")
                .nodeName("pve")
                .url("https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img")
                .fileName("jammy-server-cloudimg-amd64.qcow2")
                .build());
    
            var ubuntuVmPassword = new RandomPassword("ubuntuVmPassword", RandomPasswordArgs.builder()
                .length(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(16) (example.pp:77,21-23)))
                .overrideSpecial("_%@")
                .special(true)
                .build());
    
            var ubuntuVmKey = new PrivateKey("ubuntuVmKey", PrivateKeyArgs.builder()
                .algorithm("RSA")
                .rsaBits(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2048) (example.pp:85,19-23)))
                .build());
    
            var ubuntuVm = new VmLegacy("ubuntuVm", VmLegacyArgs.builder()
                .serialDevices(VmLegacySerialDeviceArgs.builder()
                    .build())
                .name("terraform-provider-proxmox-ubuntu-vm")
                .description("Managed by Pulumi")
                .tags(            
                    "terraform",
                    "ubuntu")
                .nodeName("first-node")
                .vmId(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(4321) (example.pp:7,19-23)))
                .agent(VmLegacyAgentArgs.builder()
                    .enabled(false)
                    .build())
                .stopOnDestroy(true)
                .startup(VmLegacyStartupArgs.builder()
                    .order(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(3) (:0,0-0)))
                    .upDelay(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(60) (:0,0-0)))
                    .downDelay(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(60) (:0,0-0)))
                    .build())
                .cpu(VmLegacyCpuArgs.builder()
                    .cores(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2) (example.pp:22,13-14)))
                    .type("x86-64-v2-AES")
                    .build())
                .memory(VmLegacyMemoryArgs.builder()
                    .dedicated(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2048) (example.pp:26,17-21)))
                    .floating(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2048) (example.pp:27,17-21)))
                    .build())
                .disks(VmLegacyDiskArgs.builder()
                    .datastoreId("local-lvm")
                    .importFrom(latestUbuntu22JammyQcow2Img.id())
                    .interface_("scsi0")
                    .build())
                .initialization(VmLegacyInitializationArgs.builder()
                    .ipConfigs(VmLegacyInitializationIpConfigArgs.builder()
                        .ipv4(VmLegacyInitializationIpConfigIpv4Args.builder()
                            .address("dhcp")
                            .build())
                        .build())
                    .userAccount(VmLegacyInitializationUserAccountArgs.builder()
                        .keys(StdFunctions.trimspace(TrimspaceArgs.builder()
                            .input(ubuntuVmKey.publicKeyOpenssh())
                            .build()).applyValue(_invoke -> _invoke.result()))
                        .password(ubuntuVmPassword.result())
                        .username("ubuntu")
                        .build())
                    .userDataFileId(cloudConfig.id())
                    .build())
                .networkDevices(VmLegacyNetworkDeviceArgs.builder()
                    .bridge("vmbr0")
                    .build())
                .operatingSystem(VmLegacyOperatingSystemArgs.builder()
                    .type("l26")
                    .build())
                .tpmState(VmLegacyTpmStateArgs.builder()
                    .version("v2.0")
                    .build())
                .virtiofs(VmLegacyVirtiofArgs.builder()
                    .mapping("data_share")
                    .cache("always")
                    .directIo(true)
                    .build())
                .build());
    
            ctx.export("ubuntuVmPassword", ubuntuVmPassword.result());
            ctx.export("ubuntuVmPrivateKey", ubuntuVmKey.privateKeyPem());
            ctx.export("ubuntuVmPublicKey", ubuntuVmKey.publicKeyOpenssh());
        }
    }
    
    resources:
      ubuntuVm:
        type: proxmoxve:VmLegacy
        name: ubuntu_vm
        properties:
          serialDevices:
            - {}
          name: terraform-provider-proxmox-ubuntu-vm
          description: Managed by Pulumi
          tags:
            - terraform
            - ubuntu
          nodeName: first-node
          vmId: 4321
          agent:
            enabled: false
          stopOnDestroy: true
          startup:
            order: '3'
            upDelay: '60'
            downDelay: '60'
          cpu:
            cores: 2
            type: x86-64-v2-AES
          memory:
            dedicated: 2048
            floating: 2048
          disks:
            - datastoreId: local-lvm
              importFrom: ${latestUbuntu22JammyQcow2Img.id}
              interface: scsi0
          initialization:
            ipConfigs:
              - ipv4:
                  address: dhcp
            userAccount:
              keys:
                - fn::invoke:
                    function: std:trimspace
                    arguments:
                      input: ${ubuntuVmKey.publicKeyOpenssh}
                    return: result
              password: ${ubuntuVmPassword.result}
              username: ubuntu
            userDataFileId: ${cloudConfig.id}
          networkDevices:
            - bridge: vmbr0
          operatingSystem:
            type: l26
          tpmState:
            version: v2.0
          virtiofs:
            - mapping: data_share
              cache: always
              directIo: true
      latestUbuntu22JammyQcow2Img:
        type: proxmoxve:download:FileLegacy
        name: latest_ubuntu_22_jammy_qcow2_img
        properties:
          contentType: import
          datastoreId: local
          nodeName: pve
          url: https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
          fileName: jammy-server-cloudimg-amd64.qcow2
      ubuntuVmPassword:
        type: random:RandomPassword
        name: ubuntu_vm_password
        properties:
          length: 16
          overrideSpecial: _%@
          special: true
      ubuntuVmKey:
        type: tls:PrivateKey
        name: ubuntu_vm_key
        properties:
          algorithm: RSA
          rsaBits: 2048
    outputs:
      ubuntuVmPassword: ${ubuntuVmPassword.result}
      ubuntuVmPrivateKey: ${ubuntuVmKey.privateKeyPem}
      ubuntuVmPublicKey: ${ubuntuVmKey.publicKeyOpenssh}
    

    Qemu guest agent

    Qemu-guest-agent is an application which can be installed inside guest VM, see Proxmox Wiki and Proxmox Documentation

    For VM with agent.enabled = false, Proxmox uses ACPI for Shutdown and Reboot, and qemu-guest-agent is not needed inside the VM. For some VMs, the shutdown process may not work, causing the VM to be stuck on destroying. Add stopOnDestroy = true to the VM configuration to stop the VM instead of shutting it down.

    Setting agent.enabled = true informs Proxmox that the guest agent is expected to be running inside the VM. Proxmox then uses qemu-guest-agent instead of ACPI to control the VM. If the agent is not running, Proxmox operations Shutdown and Reboot time out and fail. The failing operation gets a lock on the VM, and until the operation times out, other operations like Stop and Reboot cannot be used.

    Do not run VM with agent.enabled = true, unless the VM is configured to automatically start qemu-guest-agent at some point.

    “Monitor” tab in Proxmox GUI can be used to send low-level commands to qemu. See the documentation. Commands systemPowerdown and quit have proven useful in shutting down VMs with agent.enabled = true and no agent running.

    Cloud images usually do not have qemu-guest-agent installed. It is possible to install and start it using cloud-init, e.g. using custom userDataFileId file.

    This provider requires agent.enabled = true to populate ipv4Addresses, ipv6Addresses and networkInterfaceNames output attributes.

    Setting agent.enabled = true without running qemu-guest-agent in the VM will also result in long timeouts when using the provider, both when creating VMs, and when refreshing resources. The provider has no way to distinguish between “qemu-guest-agent not installed” and “very long boot due to a disk check”, it trusts the user to set agent.enabled correctly and waits for qemu-guest-agent to start.

    AMD SEV

    AMD SEV (-ES, -SNP) are security features for AMD processors. SEV-SNP support is included in Proxmox version 8.4, see Proxmox Wiki and Proxmox Documentation for more information.

    amd-sev requires root and therefore root@pam auth.

    SEV-SNP requires bios = OVMF and a supported AMD CPU (EPYC-v4 for instance), machine = q35 is also advised. No EFI disk is required since SEV-SNP uses consolidated read-only firmware. A configured EFI will be ignored.

    All changes made to amdSev will trigger reboots. Removing or adding the amdSev block will force a replacement of the resource. Modifying the amdSev block will not trigger replacements.

    allowSmt is by default set to true even if snp is not the selected type. Proxmox will ignore this value when snp is not in use. Likewise noKeySharing is false by default but ignored by Proxmox when snp is in use.

    High Availability

    When managing a virtual machine in a multi-node cluster, the VM’s HA settings can be managed using the proxmoxve.HaresourceLegacy resource.

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    
    const ubuntuVm = new proxmoxve.VmLegacy("ubuntu_vm", {
        name: "terraform-provider-proxmox-ubuntu-vm",
        vmId: 4321,
    });
    const ubuntuVmHaresourceLegacy = new proxmoxve.HaresourceLegacy("ubuntu_vm", {
        resourceId: pulumi.interpolate`vm:${ubuntuVm.vmId}`,
        group: "node1",
        state: "started",
        comment: "Managed by Pulumi",
    });
    
    import pulumi
    import pulumi_proxmoxve as proxmoxve
    
    ubuntu_vm = proxmoxve.VmLegacy("ubuntu_vm",
        name="terraform-provider-proxmox-ubuntu-vm",
        vm_id=4321)
    ubuntu_vm_haresource_legacy = proxmoxve.HaresourceLegacy("ubuntu_vm",
        resource_id=ubuntu_vm.vm_id.apply(lambda vm_id: f"vm:{vm_id}"),
        group="node1",
        state="started",
        comment="Managed by Pulumi")
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		ubuntuVm, err := proxmoxve.NewVmLegacy(ctx, "ubuntu_vm", &proxmoxve.VmLegacyArgs{
    			Name: pulumi.String("terraform-provider-proxmox-ubuntu-vm"),
    			VmId: pulumi.Int(4321),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = proxmoxve.NewHaresourceLegacy(ctx, "ubuntu_vm", &proxmoxve.HaresourceLegacyArgs{
    			ResourceId: ubuntuVm.VmId.ApplyT(func(vmId int) (string, error) {
    				return fmt.Sprintf("vm:%v", vmId), nil
    			}).(pulumi.StringOutput),
    			Group:   pulumi.String("node1"),
    			State:   pulumi.String("started"),
    			Comment: pulumi.String("Managed by Pulumi"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using ProxmoxVE = Pulumi.ProxmoxVE;
    
    return await Deployment.RunAsync(() => 
    {
        var ubuntuVm = new ProxmoxVE.Index.VmLegacy("ubuntu_vm", new()
        {
            Name = "terraform-provider-proxmox-ubuntu-vm",
            VmId = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(4321) (example.pp:3,19-23)),
        });
    
        var ubuntuVmHaresourceLegacy = new ProxmoxVE.Index.HaresourceLegacy("ubuntu_vm", new()
        {
            ResourceId = ubuntuVm.VmId.Apply(vmId => $"vm:{vmId}"),
            Group = "node1",
            State = "started",
            Comment = "Managed by Pulumi",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import io.muehlbachler.pulumi.proxmoxve.VmLegacy;
    import io.muehlbachler.pulumi.proxmoxve.VmLegacyArgs;
    import io.muehlbachler.pulumi.proxmoxve.HaresourceLegacy;
    import io.muehlbachler.pulumi.proxmoxve.HaresourceLegacyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var ubuntuVm = new VmLegacy("ubuntuVm", VmLegacyArgs.builder()
                .name("terraform-provider-proxmox-ubuntu-vm")
                .vmId(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(4321) (example.pp:3,19-23)))
                .build());
    
            var ubuntuVmHaresourceLegacy = new HaresourceLegacy("ubuntuVmHaresourceLegacy", HaresourceLegacyArgs.builder()
                .resourceId(ubuntuVm.vmId().applyValue(_vmId -> String.format("vm:%s", _vmId)))
                .group("node1")
                .state("started")
                .comment("Managed by Pulumi")
                .build());
    
        }
    }
    
    resources:
      ubuntuVm:
        type: proxmoxve:VmLegacy
        name: ubuntu_vm
        properties:
          name: terraform-provider-proxmox-ubuntu-vm
          vmId: 4321 # ...
      ubuntuVmHaresourceLegacy:
        type: proxmoxve:HaresourceLegacy
        name: ubuntu_vm
        properties:
          resourceId: vm:${ubuntuVm.vmId}
          group: node1
          state: started
          comment: Managed by Pulumi
    

    HA-Aware Migration

    When changing the nodeName of an HA-managed VM, the provider automatically handles the migration in an HA-aware manner:

    • Running HA VMs: Uses the HA manager’s migrate endpoint for live migration
    • Stopped HA VMs: Temporarily removes from HA, performs standard migration, then re-adds to HA with the original configuration preserved

    PVE 9.x Required: HA-aware migration requires Proxmox VE 9.x due to API changes. On PVE 8.x, migrating HA-managed VMs will fail. As a workaround, manually remove the VM from HA before changing nodeName, then re-add after apply.

    Create VmLegacy Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new VmLegacy(name: string, args: VmLegacyArgs, opts?: CustomResourceOptions);
    @overload
    def VmLegacy(resource_name: str,
                 args: VmLegacyArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def VmLegacy(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 node_name: Optional[str] = None,
                 acpi: Optional[bool] = None,
                 agent: Optional[VmLegacyAgentArgs] = None,
                 amd_sev: Optional[VmLegacyAmdSevArgs] = None,
                 audio_device: Optional[VmLegacyAudioDeviceArgs] = None,
                 bios: Optional[str] = None,
                 boot_orders: Optional[Sequence[str]] = None,
                 cdrom: Optional[VmLegacyCdromArgs] = None,
                 clone: Optional[VmLegacyCloneArgs] = None,
                 cpu: Optional[VmLegacyCpuArgs] = None,
                 delete_unreferenced_disks_on_destroy: Optional[bool] = None,
                 description: Optional[str] = None,
                 disks: Optional[Sequence[VmLegacyDiskArgs]] = None,
                 efi_disk: Optional[VmLegacyEfiDiskArgs] = None,
                 hook_script_file_id: Optional[str] = None,
                 hostpcis: Optional[Sequence[VmLegacyHostpciArgs]] = None,
                 hotplug: Optional[str] = None,
                 initialization: Optional[VmLegacyInitializationArgs] = None,
                 keyboard_layout: Optional[str] = None,
                 kvm_arguments: Optional[str] = None,
                 mac_addresses: Optional[Sequence[str]] = None,
                 machine: Optional[str] = None,
                 memory: Optional[VmLegacyMemoryArgs] = None,
                 migrate: Optional[bool] = None,
                 name: Optional[str] = None,
                 network_devices: Optional[Sequence[VmLegacyNetworkDeviceArgs]] = None,
                 numas: Optional[Sequence[VmLegacyNumaArgs]] = None,
                 on_boot: Optional[bool] = None,
                 operating_system: Optional[VmLegacyOperatingSystemArgs] = None,
                 pool_id: Optional[str] = None,
                 protection: Optional[bool] = None,
                 purge_on_destroy: Optional[bool] = None,
                 reboot: Optional[bool] = None,
                 reboot_after_update: Optional[bool] = None,
                 rngs: Optional[Sequence[VmLegacyRngArgs]] = None,
                 scsi_hardware: Optional[str] = None,
                 serial_devices: Optional[Sequence[VmLegacySerialDeviceArgs]] = None,
                 smbios: Optional[VmLegacySmbiosArgs] = None,
                 started: Optional[bool] = None,
                 startup: Optional[VmLegacyStartupArgs] = None,
                 stop_on_destroy: Optional[bool] = None,
                 tablet_device: Optional[bool] = None,
                 tags: Optional[Sequence[str]] = None,
                 template: Optional[bool] = None,
                 timeout_clone: Optional[int] = None,
                 timeout_create: Optional[int] = None,
                 timeout_migrate: Optional[int] = None,
                 timeout_move_disk: Optional[int] = None,
                 timeout_reboot: Optional[int] = None,
                 timeout_shutdown_vm: Optional[int] = None,
                 timeout_start_vm: Optional[int] = None,
                 timeout_stop_vm: Optional[int] = None,
                 tpm_state: Optional[VmLegacyTpmStateArgs] = None,
                 usbs: Optional[Sequence[VmLegacyUsbArgs]] = None,
                 vga: Optional[VmLegacyVgaArgs] = None,
                 virtiofs: Optional[Sequence[VmLegacyVirtiofArgs]] = None,
                 vm_id: Optional[int] = None,
                 watchdog: Optional[VmLegacyWatchdogArgs] = None)
    func NewVmLegacy(ctx *Context, name string, args VmLegacyArgs, opts ...ResourceOption) (*VmLegacy, error)
    public VmLegacy(string name, VmLegacyArgs args, CustomResourceOptions? opts = null)
    public VmLegacy(String name, VmLegacyArgs args)
    public VmLegacy(String name, VmLegacyArgs args, CustomResourceOptions options)
    
    type: proxmoxve:VmLegacy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args VmLegacyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args VmLegacyArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args VmLegacyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VmLegacyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VmLegacyArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    VmLegacy Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The VmLegacy resource accepts the following input properties:

    NodeName string
    The name of the node to assign the virtual machine to.
    Acpi bool
    Whether to enable ACPI (defaults to true).
    Agent Pulumi.ProxmoxVE.Inputs.VmLegacyAgent
    The QEMU agent configuration.
    AmdSev Pulumi.ProxmoxVE.Inputs.VmLegacyAmdSev
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    AudioDevice Pulumi.ProxmoxVE.Inputs.VmLegacyAudioDevice
    An audio device.
    Bios string
    The BIOS implementation (defaults to seabios).
    BootOrders List<string>
    Specify a list of devices to boot from in the order they appear in the list.
    Cdrom Pulumi.ProxmoxVE.Inputs.VmLegacyCdrom
    The CD-ROM configuration.
    Clone Pulumi.ProxmoxVE.Inputs.VmLegacyClone
    The cloning configuration.
    Cpu Pulumi.ProxmoxVE.Inputs.VmLegacyCpu
    The CPU configuration.
    DeleteUnreferencedDisksOnDestroy bool
    Whether to delete unreferenced disks on destroy (defaults to true)
    Description string
    The description.
    Disks List<Pulumi.ProxmoxVE.Inputs.VmLegacyDisk>
    A disk (multiple blocks supported).
    EfiDisk Pulumi.ProxmoxVE.Inputs.VmLegacyEfiDisk
    The efi disk device (required if bios is set to ovmf)
    HookScriptFileId string
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    Hostpcis List<Pulumi.ProxmoxVE.Inputs.VmLegacyHostpci>
    A host PCI device mapping (multiple blocks supported).
    Hotplug string
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    Initialization Pulumi.ProxmoxVE.Inputs.VmLegacyInitialization
    The cloud-init configuration.
    KeyboardLayout string
    The keyboard layout (defaults to en-us).
    KvmArguments string
    Arbitrary arguments passed to kvm.
    MacAddresses List<string>
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    Machine string
    The VM machine type (defaults to pc).
    Memory Pulumi.ProxmoxVE.Inputs.VmLegacyMemory
    The memory configuration.
    Migrate bool
    Migrate the VM on node change instead of re-creating it (defaults to false).
    Name string
    The virtual machine name. Must be a valid DNS name.
    NetworkDevices List<Pulumi.ProxmoxVE.Inputs.VmLegacyNetworkDevice>
    A network device (multiple blocks supported).
    Numas List<Pulumi.ProxmoxVE.Inputs.VmLegacyNuma>
    The NUMA configuration.
    OnBoot bool
    Specifies whether a VM will be started during system boot. (defaults to true)
    OperatingSystem Pulumi.ProxmoxVE.Inputs.VmLegacyOperatingSystem
    The Operating System configuration.
    PoolId string
    The identifier for a pool to assign the virtual machine to.
    Protection bool
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    PurgeOnDestroy bool
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    Reboot bool
    Reboot the VM after initial creation (defaults to false).
    RebootAfterUpdate bool
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    Rngs List<Pulumi.ProxmoxVE.Inputs.VmLegacyRng>
    The random number generator configuration. Can only be set by root@pam.
    ScsiHardware string
    The SCSI hardware type (defaults to virtio-scsi-pci).
    SerialDevices List<Pulumi.ProxmoxVE.Inputs.VmLegacySerialDevice>
    A serial device (multiple blocks supported).
    Smbios Pulumi.ProxmoxVE.Inputs.VmLegacySmbios
    The SMBIOS (type1) settings for the VM.
    Started bool
    Whether to start the virtual machine (defaults to true).
    Startup Pulumi.ProxmoxVE.Inputs.VmLegacyStartup
    Defines startup and shutdown behavior of the VM.
    StopOnDestroy bool
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    TabletDevice bool
    Whether to enable the USB tablet device (defaults to true).
    Tags List<string>
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    Template bool
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    TimeoutClone int
    Timeout for cloning a VM in seconds (defaults to 1800).
    TimeoutCreate int
    Timeout for creating a VM in seconds (defaults to 1800).
    TimeoutMigrate int
    Timeout for migrating the VM (defaults to 1800).
    TimeoutMoveDisk int
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    TimeoutReboot int
    Timeout for rebooting a VM in seconds (defaults to 1800).
    TimeoutShutdownVm int
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    TimeoutStartVm int
    Timeout for starting a VM in seconds (defaults to 1800).
    TimeoutStopVm int
    Timeout for stopping a VM in seconds (defaults to 300).
    TpmState Pulumi.ProxmoxVE.Inputs.VmLegacyTpmState
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    Usbs List<Pulumi.ProxmoxVE.Inputs.VmLegacyUsb>
    A host USB device mapping (multiple blocks supported).
    Vga Pulumi.ProxmoxVE.Inputs.VmLegacyVga
    The VGA configuration.
    Virtiofs List<Pulumi.ProxmoxVE.Inputs.VmLegacyVirtiof>
    Virtiofs share
    VmId int
    The VM identifier.
    Watchdog Pulumi.ProxmoxVE.Inputs.VmLegacyWatchdog
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    NodeName string
    The name of the node to assign the virtual machine to.
    Acpi bool
    Whether to enable ACPI (defaults to true).
    Agent VmLegacyAgentArgs
    The QEMU agent configuration.
    AmdSev VmLegacyAmdSevArgs
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    AudioDevice VmLegacyAudioDeviceArgs
    An audio device.
    Bios string
    The BIOS implementation (defaults to seabios).
    BootOrders []string
    Specify a list of devices to boot from in the order they appear in the list.
    Cdrom VmLegacyCdromArgs
    The CD-ROM configuration.
    Clone VmLegacyCloneArgs
    The cloning configuration.
    Cpu VmLegacyCpuArgs
    The CPU configuration.
    DeleteUnreferencedDisksOnDestroy bool
    Whether to delete unreferenced disks on destroy (defaults to true)
    Description string
    The description.
    Disks []VmLegacyDiskArgs
    A disk (multiple blocks supported).
    EfiDisk VmLegacyEfiDiskArgs
    The efi disk device (required if bios is set to ovmf)
    HookScriptFileId string
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    Hostpcis []VmLegacyHostpciArgs
    A host PCI device mapping (multiple blocks supported).
    Hotplug string
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    Initialization VmLegacyInitializationArgs
    The cloud-init configuration.
    KeyboardLayout string
    The keyboard layout (defaults to en-us).
    KvmArguments string
    Arbitrary arguments passed to kvm.
    MacAddresses []string
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    Machine string
    The VM machine type (defaults to pc).
    Memory VmLegacyMemoryArgs
    The memory configuration.
    Migrate bool
    Migrate the VM on node change instead of re-creating it (defaults to false).
    Name string
    The virtual machine name. Must be a valid DNS name.
    NetworkDevices []VmLegacyNetworkDeviceArgs
    A network device (multiple blocks supported).
    Numas []VmLegacyNumaArgs
    The NUMA configuration.
    OnBoot bool
    Specifies whether a VM will be started during system boot. (defaults to true)
    OperatingSystem VmLegacyOperatingSystemArgs
    The Operating System configuration.
    PoolId string
    The identifier for a pool to assign the virtual machine to.
    Protection bool
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    PurgeOnDestroy bool
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    Reboot bool
    Reboot the VM after initial creation (defaults to false).
    RebootAfterUpdate bool
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    Rngs []VmLegacyRngArgs
    The random number generator configuration. Can only be set by root@pam.
    ScsiHardware string
    The SCSI hardware type (defaults to virtio-scsi-pci).
    SerialDevices []VmLegacySerialDeviceArgs
    A serial device (multiple blocks supported).
    Smbios VmLegacySmbiosArgs
    The SMBIOS (type1) settings for the VM.
    Started bool
    Whether to start the virtual machine (defaults to true).
    Startup VmLegacyStartupArgs
    Defines startup and shutdown behavior of the VM.
    StopOnDestroy bool
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    TabletDevice bool
    Whether to enable the USB tablet device (defaults to true).
    Tags []string
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    Template bool
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    TimeoutClone int
    Timeout for cloning a VM in seconds (defaults to 1800).
    TimeoutCreate int
    Timeout for creating a VM in seconds (defaults to 1800).
    TimeoutMigrate int
    Timeout for migrating the VM (defaults to 1800).
    TimeoutMoveDisk int
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    TimeoutReboot int
    Timeout for rebooting a VM in seconds (defaults to 1800).
    TimeoutShutdownVm int
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    TimeoutStartVm int
    Timeout for starting a VM in seconds (defaults to 1800).
    TimeoutStopVm int
    Timeout for stopping a VM in seconds (defaults to 300).
    TpmState VmLegacyTpmStateArgs
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    Usbs []VmLegacyUsbArgs
    A host USB device mapping (multiple blocks supported).
    Vga VmLegacyVgaArgs
    The VGA configuration.
    Virtiofs []VmLegacyVirtiofArgs
    Virtiofs share
    VmId int
    The VM identifier.
    Watchdog VmLegacyWatchdogArgs
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    nodeName String
    The name of the node to assign the virtual machine to.
    acpi Boolean
    Whether to enable ACPI (defaults to true).
    agent VmLegacyAgent
    The QEMU agent configuration.
    amdSev VmLegacyAmdSev
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audioDevice VmLegacyAudioDevice
    An audio device.
    bios String
    The BIOS implementation (defaults to seabios).
    bootOrders List<String>
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom VmLegacyCdrom
    The CD-ROM configuration.
    clone_ VmLegacyClone
    The cloning configuration.
    cpu VmLegacyCpu
    The CPU configuration.
    deleteUnreferencedDisksOnDestroy Boolean
    Whether to delete unreferenced disks on destroy (defaults to true)
    description String
    The description.
    disks List<VmLegacyDisk>
    A disk (multiple blocks supported).
    efiDisk VmLegacyEfiDisk
    The efi disk device (required if bios is set to ovmf)
    hookScriptFileId String
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis List<VmLegacyHostpci>
    A host PCI device mapping (multiple blocks supported).
    hotplug String
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization VmLegacyInitialization
    The cloud-init configuration.
    keyboardLayout String
    The keyboard layout (defaults to en-us).
    kvmArguments String
    Arbitrary arguments passed to kvm.
    macAddresses List<String>
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine String
    The VM machine type (defaults to pc).
    memory VmLegacyMemory
    The memory configuration.
    migrate Boolean
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name String
    The virtual machine name. Must be a valid DNS name.
    networkDevices List<VmLegacyNetworkDevice>
    A network device (multiple blocks supported).
    numas List<VmLegacyNuma>
    The NUMA configuration.
    onBoot Boolean
    Specifies whether a VM will be started during system boot. (defaults to true)
    operatingSystem VmLegacyOperatingSystem
    The Operating System configuration.
    poolId String
    The identifier for a pool to assign the virtual machine to.
    protection Boolean
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purgeOnDestroy Boolean
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot Boolean
    Reboot the VM after initial creation (defaults to false).
    rebootAfterUpdate Boolean
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs List<VmLegacyRng>
    The random number generator configuration. Can only be set by root@pam.
    scsiHardware String
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serialDevices List<VmLegacySerialDevice>
    A serial device (multiple blocks supported).
    smbios VmLegacySmbios
    The SMBIOS (type1) settings for the VM.
    started Boolean
    Whether to start the virtual machine (defaults to true).
    startup VmLegacyStartup
    Defines startup and shutdown behavior of the VM.
    stopOnDestroy Boolean
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tabletDevice Boolean
    Whether to enable the USB tablet device (defaults to true).
    tags List<String>
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template Boolean
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeoutClone Integer
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeoutCreate Integer
    Timeout for creating a VM in seconds (defaults to 1800).
    timeoutMigrate Integer
    Timeout for migrating the VM (defaults to 1800).
    timeoutMoveDisk Integer
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeoutReboot Integer
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeoutShutdownVm Integer
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeoutStartVm Integer
    Timeout for starting a VM in seconds (defaults to 1800).
    timeoutStopVm Integer
    Timeout for stopping a VM in seconds (defaults to 300).
    tpmState VmLegacyTpmState
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs List<VmLegacyUsb>
    A host USB device mapping (multiple blocks supported).
    vga VmLegacyVga
    The VGA configuration.
    virtiofs List<VmLegacyVirtiof>
    Virtiofs share
    vmId Integer
    The VM identifier.
    watchdog VmLegacyWatchdog
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    nodeName string
    The name of the node to assign the virtual machine to.
    acpi boolean
    Whether to enable ACPI (defaults to true).
    agent VmLegacyAgent
    The QEMU agent configuration.
    amdSev VmLegacyAmdSev
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audioDevice VmLegacyAudioDevice
    An audio device.
    bios string
    The BIOS implementation (defaults to seabios).
    bootOrders string[]
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom VmLegacyCdrom
    The CD-ROM configuration.
    clone VmLegacyClone
    The cloning configuration.
    cpu VmLegacyCpu
    The CPU configuration.
    deleteUnreferencedDisksOnDestroy boolean
    Whether to delete unreferenced disks on destroy (defaults to true)
    description string
    The description.
    disks VmLegacyDisk[]
    A disk (multiple blocks supported).
    efiDisk VmLegacyEfiDisk
    The efi disk device (required if bios is set to ovmf)
    hookScriptFileId string
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis VmLegacyHostpci[]
    A host PCI device mapping (multiple blocks supported).
    hotplug string
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization VmLegacyInitialization
    The cloud-init configuration.
    keyboardLayout string
    The keyboard layout (defaults to en-us).
    kvmArguments string
    Arbitrary arguments passed to kvm.
    macAddresses string[]
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine string
    The VM machine type (defaults to pc).
    memory VmLegacyMemory
    The memory configuration.
    migrate boolean
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name string
    The virtual machine name. Must be a valid DNS name.
    networkDevices VmLegacyNetworkDevice[]
    A network device (multiple blocks supported).
    numas VmLegacyNuma[]
    The NUMA configuration.
    onBoot boolean
    Specifies whether a VM will be started during system boot. (defaults to true)
    operatingSystem VmLegacyOperatingSystem
    The Operating System configuration.
    poolId string
    The identifier for a pool to assign the virtual machine to.
    protection boolean
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purgeOnDestroy boolean
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot boolean
    Reboot the VM after initial creation (defaults to false).
    rebootAfterUpdate boolean
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs VmLegacyRng[]
    The random number generator configuration. Can only be set by root@pam.
    scsiHardware string
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serialDevices VmLegacySerialDevice[]
    A serial device (multiple blocks supported).
    smbios VmLegacySmbios
    The SMBIOS (type1) settings for the VM.
    started boolean
    Whether to start the virtual machine (defaults to true).
    startup VmLegacyStartup
    Defines startup and shutdown behavior of the VM.
    stopOnDestroy boolean
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tabletDevice boolean
    Whether to enable the USB tablet device (defaults to true).
    tags string[]
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template boolean
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeoutClone number
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeoutCreate number
    Timeout for creating a VM in seconds (defaults to 1800).
    timeoutMigrate number
    Timeout for migrating the VM (defaults to 1800).
    timeoutMoveDisk number
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeoutReboot number
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeoutShutdownVm number
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeoutStartVm number
    Timeout for starting a VM in seconds (defaults to 1800).
    timeoutStopVm number
    Timeout for stopping a VM in seconds (defaults to 300).
    tpmState VmLegacyTpmState
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs VmLegacyUsb[]
    A host USB device mapping (multiple blocks supported).
    vga VmLegacyVga
    The VGA configuration.
    virtiofs VmLegacyVirtiof[]
    Virtiofs share
    vmId number
    The VM identifier.
    watchdog VmLegacyWatchdog
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    node_name str
    The name of the node to assign the virtual machine to.
    acpi bool
    Whether to enable ACPI (defaults to true).
    agent VmLegacyAgentArgs
    The QEMU agent configuration.
    amd_sev VmLegacyAmdSevArgs
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audio_device VmLegacyAudioDeviceArgs
    An audio device.
    bios str
    The BIOS implementation (defaults to seabios).
    boot_orders Sequence[str]
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom VmLegacyCdromArgs
    The CD-ROM configuration.
    clone VmLegacyCloneArgs
    The cloning configuration.
    cpu VmLegacyCpuArgs
    The CPU configuration.
    delete_unreferenced_disks_on_destroy bool
    Whether to delete unreferenced disks on destroy (defaults to true)
    description str
    The description.
    disks Sequence[VmLegacyDiskArgs]
    A disk (multiple blocks supported).
    efi_disk VmLegacyEfiDiskArgs
    The efi disk device (required if bios is set to ovmf)
    hook_script_file_id str
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis Sequence[VmLegacyHostpciArgs]
    A host PCI device mapping (multiple blocks supported).
    hotplug str
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization VmLegacyInitializationArgs
    The cloud-init configuration.
    keyboard_layout str
    The keyboard layout (defaults to en-us).
    kvm_arguments str
    Arbitrary arguments passed to kvm.
    mac_addresses Sequence[str]
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine str
    The VM machine type (defaults to pc).
    memory VmLegacyMemoryArgs
    The memory configuration.
    migrate bool
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name str
    The virtual machine name. Must be a valid DNS name.
    network_devices Sequence[VmLegacyNetworkDeviceArgs]
    A network device (multiple blocks supported).
    numas Sequence[VmLegacyNumaArgs]
    The NUMA configuration.
    on_boot bool
    Specifies whether a VM will be started during system boot. (defaults to true)
    operating_system VmLegacyOperatingSystemArgs
    The Operating System configuration.
    pool_id str
    The identifier for a pool to assign the virtual machine to.
    protection bool
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purge_on_destroy bool
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot bool
    Reboot the VM after initial creation (defaults to false).
    reboot_after_update bool
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs Sequence[VmLegacyRngArgs]
    The random number generator configuration. Can only be set by root@pam.
    scsi_hardware str
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serial_devices Sequence[VmLegacySerialDeviceArgs]
    A serial device (multiple blocks supported).
    smbios VmLegacySmbiosArgs
    The SMBIOS (type1) settings for the VM.
    started bool
    Whether to start the virtual machine (defaults to true).
    startup VmLegacyStartupArgs
    Defines startup and shutdown behavior of the VM.
    stop_on_destroy bool
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tablet_device bool
    Whether to enable the USB tablet device (defaults to true).
    tags Sequence[str]
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template bool
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeout_clone int
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeout_create int
    Timeout for creating a VM in seconds (defaults to 1800).
    timeout_migrate int
    Timeout for migrating the VM (defaults to 1800).
    timeout_move_disk int
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeout_reboot int
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeout_shutdown_vm int
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeout_start_vm int
    Timeout for starting a VM in seconds (defaults to 1800).
    timeout_stop_vm int
    Timeout for stopping a VM in seconds (defaults to 300).
    tpm_state VmLegacyTpmStateArgs
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs Sequence[VmLegacyUsbArgs]
    A host USB device mapping (multiple blocks supported).
    vga VmLegacyVgaArgs
    The VGA configuration.
    virtiofs Sequence[VmLegacyVirtiofArgs]
    Virtiofs share
    vm_id int
    The VM identifier.
    watchdog VmLegacyWatchdogArgs
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    nodeName String
    The name of the node to assign the virtual machine to.
    acpi Boolean
    Whether to enable ACPI (defaults to true).
    agent Property Map
    The QEMU agent configuration.
    amdSev Property Map
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audioDevice Property Map
    An audio device.
    bios String
    The BIOS implementation (defaults to seabios).
    bootOrders List<String>
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom Property Map
    The CD-ROM configuration.
    clone Property Map
    The cloning configuration.
    cpu Property Map
    The CPU configuration.
    deleteUnreferencedDisksOnDestroy Boolean
    Whether to delete unreferenced disks on destroy (defaults to true)
    description String
    The description.
    disks List<Property Map>
    A disk (multiple blocks supported).
    efiDisk Property Map
    The efi disk device (required if bios is set to ovmf)
    hookScriptFileId String
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis List<Property Map>
    A host PCI device mapping (multiple blocks supported).
    hotplug String
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization Property Map
    The cloud-init configuration.
    keyboardLayout String
    The keyboard layout (defaults to en-us).
    kvmArguments String
    Arbitrary arguments passed to kvm.
    macAddresses List<String>
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine String
    The VM machine type (defaults to pc).
    memory Property Map
    The memory configuration.
    migrate Boolean
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name String
    The virtual machine name. Must be a valid DNS name.
    networkDevices List<Property Map>
    A network device (multiple blocks supported).
    numas List<Property Map>
    The NUMA configuration.
    onBoot Boolean
    Specifies whether a VM will be started during system boot. (defaults to true)
    operatingSystem Property Map
    The Operating System configuration.
    poolId String
    The identifier for a pool to assign the virtual machine to.
    protection Boolean
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purgeOnDestroy Boolean
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot Boolean
    Reboot the VM after initial creation (defaults to false).
    rebootAfterUpdate Boolean
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs List<Property Map>
    The random number generator configuration. Can only be set by root@pam.
    scsiHardware String
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serialDevices List<Property Map>
    A serial device (multiple blocks supported).
    smbios Property Map
    The SMBIOS (type1) settings for the VM.
    started Boolean
    Whether to start the virtual machine (defaults to true).
    startup Property Map
    Defines startup and shutdown behavior of the VM.
    stopOnDestroy Boolean
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tabletDevice Boolean
    Whether to enable the USB tablet device (defaults to true).
    tags List<String>
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template Boolean
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeoutClone Number
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeoutCreate Number
    Timeout for creating a VM in seconds (defaults to 1800).
    timeoutMigrate Number
    Timeout for migrating the VM (defaults to 1800).
    timeoutMoveDisk Number
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeoutReboot Number
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeoutShutdownVm Number
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeoutStartVm Number
    Timeout for starting a VM in seconds (defaults to 1800).
    timeoutStopVm Number
    Timeout for stopping a VM in seconds (defaults to 300).
    tpmState Property Map
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs List<Property Map>
    A host USB device mapping (multiple blocks supported).
    vga Property Map
    The VGA configuration.
    virtiofs List<Property Map>
    Virtiofs share
    vmId Number
    The VM identifier.
    watchdog Property Map
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VmLegacy resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Ipv4Addresses List<ImmutableArray<string>>
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    Ipv6Addresses List<ImmutableArray<string>>
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    NetworkInterfaceNames List<string>
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    Id string
    The provider-assigned unique ID for this managed resource.
    Ipv4Addresses [][]string
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    Ipv6Addresses [][]string
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    NetworkInterfaceNames []string
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    id String
    The provider-assigned unique ID for this managed resource.
    ipv4Addresses List<List<String>>
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6Addresses List<List<String>>
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    networkInterfaceNames List<String>
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    id string
    The provider-assigned unique ID for this managed resource.
    ipv4Addresses string[][]
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6Addresses string[][]
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    networkInterfaceNames string[]
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    id str
    The provider-assigned unique ID for this managed resource.
    ipv4_addresses Sequence[Sequence[str]]
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6_addresses Sequence[Sequence[str]]
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    network_interface_names Sequence[str]
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    id String
    The provider-assigned unique ID for this managed resource.
    ipv4Addresses List<List<String>>
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6Addresses List<List<String>>
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    networkInterfaceNames List<String>
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)

    Look up Existing VmLegacy Resource

    Get an existing VmLegacy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: VmLegacyState, opts?: CustomResourceOptions): VmLegacy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acpi: Optional[bool] = None,
            agent: Optional[VmLegacyAgentArgs] = None,
            amd_sev: Optional[VmLegacyAmdSevArgs] = None,
            audio_device: Optional[VmLegacyAudioDeviceArgs] = None,
            bios: Optional[str] = None,
            boot_orders: Optional[Sequence[str]] = None,
            cdrom: Optional[VmLegacyCdromArgs] = None,
            clone: Optional[VmLegacyCloneArgs] = None,
            cpu: Optional[VmLegacyCpuArgs] = None,
            delete_unreferenced_disks_on_destroy: Optional[bool] = None,
            description: Optional[str] = None,
            disks: Optional[Sequence[VmLegacyDiskArgs]] = None,
            efi_disk: Optional[VmLegacyEfiDiskArgs] = None,
            hook_script_file_id: Optional[str] = None,
            hostpcis: Optional[Sequence[VmLegacyHostpciArgs]] = None,
            hotplug: Optional[str] = None,
            initialization: Optional[VmLegacyInitializationArgs] = None,
            ipv4_addresses: Optional[Sequence[Sequence[str]]] = None,
            ipv6_addresses: Optional[Sequence[Sequence[str]]] = None,
            keyboard_layout: Optional[str] = None,
            kvm_arguments: Optional[str] = None,
            mac_addresses: Optional[Sequence[str]] = None,
            machine: Optional[str] = None,
            memory: Optional[VmLegacyMemoryArgs] = None,
            migrate: Optional[bool] = None,
            name: Optional[str] = None,
            network_devices: Optional[Sequence[VmLegacyNetworkDeviceArgs]] = None,
            network_interface_names: Optional[Sequence[str]] = None,
            node_name: Optional[str] = None,
            numas: Optional[Sequence[VmLegacyNumaArgs]] = None,
            on_boot: Optional[bool] = None,
            operating_system: Optional[VmLegacyOperatingSystemArgs] = None,
            pool_id: Optional[str] = None,
            protection: Optional[bool] = None,
            purge_on_destroy: Optional[bool] = None,
            reboot: Optional[bool] = None,
            reboot_after_update: Optional[bool] = None,
            rngs: Optional[Sequence[VmLegacyRngArgs]] = None,
            scsi_hardware: Optional[str] = None,
            serial_devices: Optional[Sequence[VmLegacySerialDeviceArgs]] = None,
            smbios: Optional[VmLegacySmbiosArgs] = None,
            started: Optional[bool] = None,
            startup: Optional[VmLegacyStartupArgs] = None,
            stop_on_destroy: Optional[bool] = None,
            tablet_device: Optional[bool] = None,
            tags: Optional[Sequence[str]] = None,
            template: Optional[bool] = None,
            timeout_clone: Optional[int] = None,
            timeout_create: Optional[int] = None,
            timeout_migrate: Optional[int] = None,
            timeout_move_disk: Optional[int] = None,
            timeout_reboot: Optional[int] = None,
            timeout_shutdown_vm: Optional[int] = None,
            timeout_start_vm: Optional[int] = None,
            timeout_stop_vm: Optional[int] = None,
            tpm_state: Optional[VmLegacyTpmStateArgs] = None,
            usbs: Optional[Sequence[VmLegacyUsbArgs]] = None,
            vga: Optional[VmLegacyVgaArgs] = None,
            virtiofs: Optional[Sequence[VmLegacyVirtiofArgs]] = None,
            vm_id: Optional[int] = None,
            watchdog: Optional[VmLegacyWatchdogArgs] = None) -> VmLegacy
    func GetVmLegacy(ctx *Context, name string, id IDInput, state *VmLegacyState, opts ...ResourceOption) (*VmLegacy, error)
    public static VmLegacy Get(string name, Input<string> id, VmLegacyState? state, CustomResourceOptions? opts = null)
    public static VmLegacy get(String name, Output<String> id, VmLegacyState state, CustomResourceOptions options)
    resources:  _:    type: proxmoxve:VmLegacy    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Acpi bool
    Whether to enable ACPI (defaults to true).
    Agent Pulumi.ProxmoxVE.Inputs.VmLegacyAgent
    The QEMU agent configuration.
    AmdSev Pulumi.ProxmoxVE.Inputs.VmLegacyAmdSev
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    AudioDevice Pulumi.ProxmoxVE.Inputs.VmLegacyAudioDevice
    An audio device.
    Bios string
    The BIOS implementation (defaults to seabios).
    BootOrders List<string>
    Specify a list of devices to boot from in the order they appear in the list.
    Cdrom Pulumi.ProxmoxVE.Inputs.VmLegacyCdrom
    The CD-ROM configuration.
    Clone Pulumi.ProxmoxVE.Inputs.VmLegacyClone
    The cloning configuration.
    Cpu Pulumi.ProxmoxVE.Inputs.VmLegacyCpu
    The CPU configuration.
    DeleteUnreferencedDisksOnDestroy bool
    Whether to delete unreferenced disks on destroy (defaults to true)
    Description string
    The description.
    Disks List<Pulumi.ProxmoxVE.Inputs.VmLegacyDisk>
    A disk (multiple blocks supported).
    EfiDisk Pulumi.ProxmoxVE.Inputs.VmLegacyEfiDisk
    The efi disk device (required if bios is set to ovmf)
    HookScriptFileId string
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    Hostpcis List<Pulumi.ProxmoxVE.Inputs.VmLegacyHostpci>
    A host PCI device mapping (multiple blocks supported).
    Hotplug string
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    Initialization Pulumi.ProxmoxVE.Inputs.VmLegacyInitialization
    The cloud-init configuration.
    Ipv4Addresses List<ImmutableArray<string>>
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    Ipv6Addresses List<ImmutableArray<string>>
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    KeyboardLayout string
    The keyboard layout (defaults to en-us).
    KvmArguments string
    Arbitrary arguments passed to kvm.
    MacAddresses List<string>
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    Machine string
    The VM machine type (defaults to pc).
    Memory Pulumi.ProxmoxVE.Inputs.VmLegacyMemory
    The memory configuration.
    Migrate bool
    Migrate the VM on node change instead of re-creating it (defaults to false).
    Name string
    The virtual machine name. Must be a valid DNS name.
    NetworkDevices List<Pulumi.ProxmoxVE.Inputs.VmLegacyNetworkDevice>
    A network device (multiple blocks supported).
    NetworkInterfaceNames List<string>
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    NodeName string
    The name of the node to assign the virtual machine to.
    Numas List<Pulumi.ProxmoxVE.Inputs.VmLegacyNuma>
    The NUMA configuration.
    OnBoot bool
    Specifies whether a VM will be started during system boot. (defaults to true)
    OperatingSystem Pulumi.ProxmoxVE.Inputs.VmLegacyOperatingSystem
    The Operating System configuration.
    PoolId string
    The identifier for a pool to assign the virtual machine to.
    Protection bool
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    PurgeOnDestroy bool
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    Reboot bool
    Reboot the VM after initial creation (defaults to false).
    RebootAfterUpdate bool
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    Rngs List<Pulumi.ProxmoxVE.Inputs.VmLegacyRng>
    The random number generator configuration. Can only be set by root@pam.
    ScsiHardware string
    The SCSI hardware type (defaults to virtio-scsi-pci).
    SerialDevices List<Pulumi.ProxmoxVE.Inputs.VmLegacySerialDevice>
    A serial device (multiple blocks supported).
    Smbios Pulumi.ProxmoxVE.Inputs.VmLegacySmbios
    The SMBIOS (type1) settings for the VM.
    Started bool
    Whether to start the virtual machine (defaults to true).
    Startup Pulumi.ProxmoxVE.Inputs.VmLegacyStartup
    Defines startup and shutdown behavior of the VM.
    StopOnDestroy bool
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    TabletDevice bool
    Whether to enable the USB tablet device (defaults to true).
    Tags List<string>
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    Template bool
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    TimeoutClone int
    Timeout for cloning a VM in seconds (defaults to 1800).
    TimeoutCreate int
    Timeout for creating a VM in seconds (defaults to 1800).
    TimeoutMigrate int
    Timeout for migrating the VM (defaults to 1800).
    TimeoutMoveDisk int
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    TimeoutReboot int
    Timeout for rebooting a VM in seconds (defaults to 1800).
    TimeoutShutdownVm int
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    TimeoutStartVm int
    Timeout for starting a VM in seconds (defaults to 1800).
    TimeoutStopVm int
    Timeout for stopping a VM in seconds (defaults to 300).
    TpmState Pulumi.ProxmoxVE.Inputs.VmLegacyTpmState
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    Usbs List<Pulumi.ProxmoxVE.Inputs.VmLegacyUsb>
    A host USB device mapping (multiple blocks supported).
    Vga Pulumi.ProxmoxVE.Inputs.VmLegacyVga
    The VGA configuration.
    Virtiofs List<Pulumi.ProxmoxVE.Inputs.VmLegacyVirtiof>
    Virtiofs share
    VmId int
    The VM identifier.
    Watchdog Pulumi.ProxmoxVE.Inputs.VmLegacyWatchdog
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    Acpi bool
    Whether to enable ACPI (defaults to true).
    Agent VmLegacyAgentArgs
    The QEMU agent configuration.
    AmdSev VmLegacyAmdSevArgs
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    AudioDevice VmLegacyAudioDeviceArgs
    An audio device.
    Bios string
    The BIOS implementation (defaults to seabios).
    BootOrders []string
    Specify a list of devices to boot from in the order they appear in the list.
    Cdrom VmLegacyCdromArgs
    The CD-ROM configuration.
    Clone VmLegacyCloneArgs
    The cloning configuration.
    Cpu VmLegacyCpuArgs
    The CPU configuration.
    DeleteUnreferencedDisksOnDestroy bool
    Whether to delete unreferenced disks on destroy (defaults to true)
    Description string
    The description.
    Disks []VmLegacyDiskArgs
    A disk (multiple blocks supported).
    EfiDisk VmLegacyEfiDiskArgs
    The efi disk device (required if bios is set to ovmf)
    HookScriptFileId string
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    Hostpcis []VmLegacyHostpciArgs
    A host PCI device mapping (multiple blocks supported).
    Hotplug string
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    Initialization VmLegacyInitializationArgs
    The cloud-init configuration.
    Ipv4Addresses [][]string
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    Ipv6Addresses [][]string
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    KeyboardLayout string
    The keyboard layout (defaults to en-us).
    KvmArguments string
    Arbitrary arguments passed to kvm.
    MacAddresses []string
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    Machine string
    The VM machine type (defaults to pc).
    Memory VmLegacyMemoryArgs
    The memory configuration.
    Migrate bool
    Migrate the VM on node change instead of re-creating it (defaults to false).
    Name string
    The virtual machine name. Must be a valid DNS name.
    NetworkDevices []VmLegacyNetworkDeviceArgs
    A network device (multiple blocks supported).
    NetworkInterfaceNames []string
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    NodeName string
    The name of the node to assign the virtual machine to.
    Numas []VmLegacyNumaArgs
    The NUMA configuration.
    OnBoot bool
    Specifies whether a VM will be started during system boot. (defaults to true)
    OperatingSystem VmLegacyOperatingSystemArgs
    The Operating System configuration.
    PoolId string
    The identifier for a pool to assign the virtual machine to.
    Protection bool
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    PurgeOnDestroy bool
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    Reboot bool
    Reboot the VM after initial creation (defaults to false).
    RebootAfterUpdate bool
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    Rngs []VmLegacyRngArgs
    The random number generator configuration. Can only be set by root@pam.
    ScsiHardware string
    The SCSI hardware type (defaults to virtio-scsi-pci).
    SerialDevices []VmLegacySerialDeviceArgs
    A serial device (multiple blocks supported).
    Smbios VmLegacySmbiosArgs
    The SMBIOS (type1) settings for the VM.
    Started bool
    Whether to start the virtual machine (defaults to true).
    Startup VmLegacyStartupArgs
    Defines startup and shutdown behavior of the VM.
    StopOnDestroy bool
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    TabletDevice bool
    Whether to enable the USB tablet device (defaults to true).
    Tags []string
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    Template bool
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    TimeoutClone int
    Timeout for cloning a VM in seconds (defaults to 1800).
    TimeoutCreate int
    Timeout for creating a VM in seconds (defaults to 1800).
    TimeoutMigrate int
    Timeout for migrating the VM (defaults to 1800).
    TimeoutMoveDisk int
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    TimeoutReboot int
    Timeout for rebooting a VM in seconds (defaults to 1800).
    TimeoutShutdownVm int
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    TimeoutStartVm int
    Timeout for starting a VM in seconds (defaults to 1800).
    TimeoutStopVm int
    Timeout for stopping a VM in seconds (defaults to 300).
    TpmState VmLegacyTpmStateArgs
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    Usbs []VmLegacyUsbArgs
    A host USB device mapping (multiple blocks supported).
    Vga VmLegacyVgaArgs
    The VGA configuration.
    Virtiofs []VmLegacyVirtiofArgs
    Virtiofs share
    VmId int
    The VM identifier.
    Watchdog VmLegacyWatchdogArgs
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    acpi Boolean
    Whether to enable ACPI (defaults to true).
    agent VmLegacyAgent
    The QEMU agent configuration.
    amdSev VmLegacyAmdSev
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audioDevice VmLegacyAudioDevice
    An audio device.
    bios String
    The BIOS implementation (defaults to seabios).
    bootOrders List<String>
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom VmLegacyCdrom
    The CD-ROM configuration.
    clone_ VmLegacyClone
    The cloning configuration.
    cpu VmLegacyCpu
    The CPU configuration.
    deleteUnreferencedDisksOnDestroy Boolean
    Whether to delete unreferenced disks on destroy (defaults to true)
    description String
    The description.
    disks List<VmLegacyDisk>
    A disk (multiple blocks supported).
    efiDisk VmLegacyEfiDisk
    The efi disk device (required if bios is set to ovmf)
    hookScriptFileId String
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis List<VmLegacyHostpci>
    A host PCI device mapping (multiple blocks supported).
    hotplug String
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization VmLegacyInitialization
    The cloud-init configuration.
    ipv4Addresses List<List<String>>
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6Addresses List<List<String>>
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    keyboardLayout String
    The keyboard layout (defaults to en-us).
    kvmArguments String
    Arbitrary arguments passed to kvm.
    macAddresses List<String>
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine String
    The VM machine type (defaults to pc).
    memory VmLegacyMemory
    The memory configuration.
    migrate Boolean
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name String
    The virtual machine name. Must be a valid DNS name.
    networkDevices List<VmLegacyNetworkDevice>
    A network device (multiple blocks supported).
    networkInterfaceNames List<String>
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    nodeName String
    The name of the node to assign the virtual machine to.
    numas List<VmLegacyNuma>
    The NUMA configuration.
    onBoot Boolean
    Specifies whether a VM will be started during system boot. (defaults to true)
    operatingSystem VmLegacyOperatingSystem
    The Operating System configuration.
    poolId String
    The identifier for a pool to assign the virtual machine to.
    protection Boolean
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purgeOnDestroy Boolean
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot Boolean
    Reboot the VM after initial creation (defaults to false).
    rebootAfterUpdate Boolean
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs List<VmLegacyRng>
    The random number generator configuration. Can only be set by root@pam.
    scsiHardware String
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serialDevices List<VmLegacySerialDevice>
    A serial device (multiple blocks supported).
    smbios VmLegacySmbios
    The SMBIOS (type1) settings for the VM.
    started Boolean
    Whether to start the virtual machine (defaults to true).
    startup VmLegacyStartup
    Defines startup and shutdown behavior of the VM.
    stopOnDestroy Boolean
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tabletDevice Boolean
    Whether to enable the USB tablet device (defaults to true).
    tags List<String>
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template Boolean
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeoutClone Integer
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeoutCreate Integer
    Timeout for creating a VM in seconds (defaults to 1800).
    timeoutMigrate Integer
    Timeout for migrating the VM (defaults to 1800).
    timeoutMoveDisk Integer
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeoutReboot Integer
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeoutShutdownVm Integer
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeoutStartVm Integer
    Timeout for starting a VM in seconds (defaults to 1800).
    timeoutStopVm Integer
    Timeout for stopping a VM in seconds (defaults to 300).
    tpmState VmLegacyTpmState
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs List<VmLegacyUsb>
    A host USB device mapping (multiple blocks supported).
    vga VmLegacyVga
    The VGA configuration.
    virtiofs List<VmLegacyVirtiof>
    Virtiofs share
    vmId Integer
    The VM identifier.
    watchdog VmLegacyWatchdog
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    acpi boolean
    Whether to enable ACPI (defaults to true).
    agent VmLegacyAgent
    The QEMU agent configuration.
    amdSev VmLegacyAmdSev
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audioDevice VmLegacyAudioDevice
    An audio device.
    bios string
    The BIOS implementation (defaults to seabios).
    bootOrders string[]
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom VmLegacyCdrom
    The CD-ROM configuration.
    clone VmLegacyClone
    The cloning configuration.
    cpu VmLegacyCpu
    The CPU configuration.
    deleteUnreferencedDisksOnDestroy boolean
    Whether to delete unreferenced disks on destroy (defaults to true)
    description string
    The description.
    disks VmLegacyDisk[]
    A disk (multiple blocks supported).
    efiDisk VmLegacyEfiDisk
    The efi disk device (required if bios is set to ovmf)
    hookScriptFileId string
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis VmLegacyHostpci[]
    A host PCI device mapping (multiple blocks supported).
    hotplug string
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization VmLegacyInitialization
    The cloud-init configuration.
    ipv4Addresses string[][]
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6Addresses string[][]
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    keyboardLayout string
    The keyboard layout (defaults to en-us).
    kvmArguments string
    Arbitrary arguments passed to kvm.
    macAddresses string[]
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine string
    The VM machine type (defaults to pc).
    memory VmLegacyMemory
    The memory configuration.
    migrate boolean
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name string
    The virtual machine name. Must be a valid DNS name.
    networkDevices VmLegacyNetworkDevice[]
    A network device (multiple blocks supported).
    networkInterfaceNames string[]
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    nodeName string
    The name of the node to assign the virtual machine to.
    numas VmLegacyNuma[]
    The NUMA configuration.
    onBoot boolean
    Specifies whether a VM will be started during system boot. (defaults to true)
    operatingSystem VmLegacyOperatingSystem
    The Operating System configuration.
    poolId string
    The identifier for a pool to assign the virtual machine to.
    protection boolean
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purgeOnDestroy boolean
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot boolean
    Reboot the VM after initial creation (defaults to false).
    rebootAfterUpdate boolean
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs VmLegacyRng[]
    The random number generator configuration. Can only be set by root@pam.
    scsiHardware string
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serialDevices VmLegacySerialDevice[]
    A serial device (multiple blocks supported).
    smbios VmLegacySmbios
    The SMBIOS (type1) settings for the VM.
    started boolean
    Whether to start the virtual machine (defaults to true).
    startup VmLegacyStartup
    Defines startup and shutdown behavior of the VM.
    stopOnDestroy boolean
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tabletDevice boolean
    Whether to enable the USB tablet device (defaults to true).
    tags string[]
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template boolean
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeoutClone number
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeoutCreate number
    Timeout for creating a VM in seconds (defaults to 1800).
    timeoutMigrate number
    Timeout for migrating the VM (defaults to 1800).
    timeoutMoveDisk number
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeoutReboot number
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeoutShutdownVm number
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeoutStartVm number
    Timeout for starting a VM in seconds (defaults to 1800).
    timeoutStopVm number
    Timeout for stopping a VM in seconds (defaults to 300).
    tpmState VmLegacyTpmState
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs VmLegacyUsb[]
    A host USB device mapping (multiple blocks supported).
    vga VmLegacyVga
    The VGA configuration.
    virtiofs VmLegacyVirtiof[]
    Virtiofs share
    vmId number
    The VM identifier.
    watchdog VmLegacyWatchdog
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    acpi bool
    Whether to enable ACPI (defaults to true).
    agent VmLegacyAgentArgs
    The QEMU agent configuration.
    amd_sev VmLegacyAmdSevArgs
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audio_device VmLegacyAudioDeviceArgs
    An audio device.
    bios str
    The BIOS implementation (defaults to seabios).
    boot_orders Sequence[str]
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom VmLegacyCdromArgs
    The CD-ROM configuration.
    clone VmLegacyCloneArgs
    The cloning configuration.
    cpu VmLegacyCpuArgs
    The CPU configuration.
    delete_unreferenced_disks_on_destroy bool
    Whether to delete unreferenced disks on destroy (defaults to true)
    description str
    The description.
    disks Sequence[VmLegacyDiskArgs]
    A disk (multiple blocks supported).
    efi_disk VmLegacyEfiDiskArgs
    The efi disk device (required if bios is set to ovmf)
    hook_script_file_id str
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis Sequence[VmLegacyHostpciArgs]
    A host PCI device mapping (multiple blocks supported).
    hotplug str
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization VmLegacyInitializationArgs
    The cloud-init configuration.
    ipv4_addresses Sequence[Sequence[str]]
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6_addresses Sequence[Sequence[str]]
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    keyboard_layout str
    The keyboard layout (defaults to en-us).
    kvm_arguments str
    Arbitrary arguments passed to kvm.
    mac_addresses Sequence[str]
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine str
    The VM machine type (defaults to pc).
    memory VmLegacyMemoryArgs
    The memory configuration.
    migrate bool
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name str
    The virtual machine name. Must be a valid DNS name.
    network_devices Sequence[VmLegacyNetworkDeviceArgs]
    A network device (multiple blocks supported).
    network_interface_names Sequence[str]
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    node_name str
    The name of the node to assign the virtual machine to.
    numas Sequence[VmLegacyNumaArgs]
    The NUMA configuration.
    on_boot bool
    Specifies whether a VM will be started during system boot. (defaults to true)
    operating_system VmLegacyOperatingSystemArgs
    The Operating System configuration.
    pool_id str
    The identifier for a pool to assign the virtual machine to.
    protection bool
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purge_on_destroy bool
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot bool
    Reboot the VM after initial creation (defaults to false).
    reboot_after_update bool
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs Sequence[VmLegacyRngArgs]
    The random number generator configuration. Can only be set by root@pam.
    scsi_hardware str
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serial_devices Sequence[VmLegacySerialDeviceArgs]
    A serial device (multiple blocks supported).
    smbios VmLegacySmbiosArgs
    The SMBIOS (type1) settings for the VM.
    started bool
    Whether to start the virtual machine (defaults to true).
    startup VmLegacyStartupArgs
    Defines startup and shutdown behavior of the VM.
    stop_on_destroy bool
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tablet_device bool
    Whether to enable the USB tablet device (defaults to true).
    tags Sequence[str]
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template bool
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeout_clone int
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeout_create int
    Timeout for creating a VM in seconds (defaults to 1800).
    timeout_migrate int
    Timeout for migrating the VM (defaults to 1800).
    timeout_move_disk int
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeout_reboot int
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeout_shutdown_vm int
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeout_start_vm int
    Timeout for starting a VM in seconds (defaults to 1800).
    timeout_stop_vm int
    Timeout for stopping a VM in seconds (defaults to 300).
    tpm_state VmLegacyTpmStateArgs
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs Sequence[VmLegacyUsbArgs]
    A host USB device mapping (multiple blocks supported).
    vga VmLegacyVgaArgs
    The VGA configuration.
    virtiofs Sequence[VmLegacyVirtiofArgs]
    Virtiofs share
    vm_id int
    The VM identifier.
    watchdog VmLegacyWatchdogArgs
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).
    acpi Boolean
    Whether to enable ACPI (defaults to true).
    agent Property Map
    The QEMU agent configuration.
    amdSev Property Map
    Secure Encrypted Virtualization (SEV) features by AMD CPUs.
    audioDevice Property Map
    An audio device.
    bios String
    The BIOS implementation (defaults to seabios).
    bootOrders List<String>
    Specify a list of devices to boot from in the order they appear in the list.
    cdrom Property Map
    The CD-ROM configuration.
    clone Property Map
    The cloning configuration.
    cpu Property Map
    The CPU configuration.
    deleteUnreferencedDisksOnDestroy Boolean
    Whether to delete unreferenced disks on destroy (defaults to true)
    description String
    The description.
    disks List<Property Map>
    A disk (multiple blocks supported).
    efiDisk Property Map
    The efi disk device (required if bios is set to ovmf)
    hookScriptFileId String
    The identifier for a file containing a hook script (needs to be executable, e.g. by using the proxmox_virtual_environment_file.file_mode attribute).
    hostpcis List<Property Map>
    A host PCI device mapping (multiple blocks supported).
    hotplug String
    Selectively enable hotplug features. Use 0 to disable, 1 to enable all. Valid features: disk, network, usb, memory, cpu. Memory hotplug requires NUMA to be enabled. If not set, PVE defaults to network,disk,usb. When disk is included in the hotplug list, disk resizes on a running VM are applied live without a reboot. When disk is excluded, the provider will reboot the VM after resize (controlled by rebootAfterUpdate).
    initialization Property Map
    The cloud-init configuration.
    ipv4Addresses List<List<String>>
    The IPv4 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    ipv6Addresses List<List<String>>
    The IPv6 addresses per network interface published by the QEMU agent (empty list when agent.enabled is false)
    keyboardLayout String
    The keyboard layout (defaults to en-us).
    kvmArguments String
    Arbitrary arguments passed to kvm.
    macAddresses List<String>
    The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
    machine String
    The VM machine type (defaults to pc).
    memory Property Map
    The memory configuration.
    migrate Boolean
    Migrate the VM on node change instead of re-creating it (defaults to false).
    name String
    The virtual machine name. Must be a valid DNS name.
    networkDevices List<Property Map>
    A network device (multiple blocks supported).
    networkInterfaceNames List<String>
    The network interface names published by the QEMU agent (empty list when agent.enabled is false)
    nodeName String
    The name of the node to assign the virtual machine to.
    numas List<Property Map>
    The NUMA configuration.
    onBoot Boolean
    Specifies whether a VM will be started during system boot. (defaults to true)
    operatingSystem Property Map
    The Operating System configuration.
    poolId String
    The identifier for a pool to assign the virtual machine to.
    protection Boolean
    Sets the protection flag of the VM. This will disable the remove VM and remove disk operations (defaults to false).
    purgeOnDestroy Boolean
    Whether to purge the VM from backup configurations on destroy (defaults to true)
    reboot Boolean
    Reboot the VM after initial creation (defaults to false).
    rebootAfterUpdate Boolean
    Whether the provider may automatically reboot or power off the VM during update operations when required to apply changes. If false, updates that require taking the VM offline fail instead of being applied automatically. Changes that are applied successfully but still need a later manual reboot emit a warning instead (defaults to true).
    rngs List<Property Map>
    The random number generator configuration. Can only be set by root@pam.
    scsiHardware String
    The SCSI hardware type (defaults to virtio-scsi-pci).
    serialDevices List<Property Map>
    A serial device (multiple blocks supported).
    smbios Property Map
    The SMBIOS (type1) settings for the VM.
    started Boolean
    Whether to start the virtual machine (defaults to true).
    startup Property Map
    Defines startup and shutdown behavior of the VM.
    stopOnDestroy Boolean
    Whether to stop rather than shutdown on VM destroy (defaults to false)
    tabletDevice Boolean
    Whether to enable the USB tablet device (defaults to true).
    tags List<String>
    A list of tags of the VM. This is only meta information ( defaults to []). Note: Proxmox always sorts the VM tags. If the list in template is not sorted, then Proxmox will always report a difference on the resource. You may use the ignoreChanges lifecycle meta-argument to ignore changes to this attribute.
    template Boolean
    Whether the VM should be a template. Setting this from false to true converts an existing VM to a template in place. Converting a template back to a regular VM is not supported (defaults to false).
    timeoutClone Number
    Timeout for cloning a VM in seconds (defaults to 1800).
    timeoutCreate Number
    Timeout for creating a VM in seconds (defaults to 1800).
    timeoutMigrate Number
    Timeout for migrating the VM (defaults to 1800).
    timeoutMoveDisk Number
    Disk move timeout

    Deprecated: This field is deprecated and will be removed in a future release. An overall operation timeout (timeout_create / timeoutClone / timeout_migrate) is used instead.

    timeoutReboot Number
    Timeout for rebooting a VM in seconds (defaults to 1800).
    timeoutShutdownVm Number
    Timeout for shutting down a VM in seconds ( defaults to 1800).
    timeoutStartVm Number
    Timeout for starting a VM in seconds (defaults to 1800).
    timeoutStopVm Number
    Timeout for stopping a VM in seconds (defaults to 300).
    tpmState Property Map
    The TPM state device. The VM must be stopped before adding, removing, or moving a TPM state device; the provider automatically handles the shutdown/start cycle. Changing version requires recreating the VM because Proxmox only supports setting the TPM version at creation time.
    usbs List<Property Map>
    A host USB device mapping (multiple blocks supported).
    vga Property Map
    The VGA configuration.
    virtiofs List<Property Map>
    Virtiofs share
    vmId Number
    The VM identifier.
    watchdog Property Map
    The watchdog configuration. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified).

    Supporting Types

    VmLegacyAgent, VmLegacyAgentArgs

    Enabled bool
    Whether to enable the QEMU agent (defaults to false).
    Timeout string
    The maximum amount of time to wait for data from the QEMU agent to become available ( defaults to 15m).
    Trim bool
    Whether to enable the FSTRIM feature in the QEMU agent (defaults to false).
    Type string
    The QEMU agent interface type (defaults to virtio).
    WaitForIp Pulumi.ProxmoxVE.Inputs.VmLegacyAgentWaitForIp
    Configuration for waiting for specific IP address types when the VM starts.
    Enabled bool
    Whether to enable the QEMU agent (defaults to false).
    Timeout string
    The maximum amount of time to wait for data from the QEMU agent to become available ( defaults to 15m).
    Trim bool
    Whether to enable the FSTRIM feature in the QEMU agent (defaults to false).
    Type string
    The QEMU agent interface type (defaults to virtio).
    WaitForIp VmLegacyAgentWaitForIp
    Configuration for waiting for specific IP address types when the VM starts.
    enabled Boolean
    Whether to enable the QEMU agent (defaults to false).
    timeout String
    The maximum amount of time to wait for data from the QEMU agent to become available ( defaults to 15m).
    trim Boolean
    Whether to enable the FSTRIM feature in the QEMU agent (defaults to false).
    type String
    The QEMU agent interface type (defaults to virtio).
    waitForIp VmLegacyAgentWaitForIp
    Configuration for waiting for specific IP address types when the VM starts.
    enabled boolean
    Whether to enable the QEMU agent (defaults to false).
    timeout string
    The maximum amount of time to wait for data from the QEMU agent to become available ( defaults to 15m).
    trim boolean
    Whether to enable the FSTRIM feature in the QEMU agent (defaults to false).
    type string
    The QEMU agent interface type (defaults to virtio).
    waitForIp VmLegacyAgentWaitForIp
    Configuration for waiting for specific IP address types when the VM starts.
    enabled bool
    Whether to enable the QEMU agent (defaults to false).
    timeout str
    The maximum amount of time to wait for data from the QEMU agent to become available ( defaults to 15m).
    trim bool
    Whether to enable the FSTRIM feature in the QEMU agent (defaults to false).
    type str
    The QEMU agent interface type (defaults to virtio).
    wait_for_ip VmLegacyAgentWaitForIp
    Configuration for waiting for specific IP address types when the VM starts.
    enabled Boolean
    Whether to enable the QEMU agent (defaults to false).
    timeout String
    The maximum amount of time to wait for data from the QEMU agent to become available ( defaults to 15m).
    trim Boolean
    Whether to enable the FSTRIM feature in the QEMU agent (defaults to false).
    type String
    The QEMU agent interface type (defaults to virtio).
    waitForIp Property Map
    Configuration for waiting for specific IP address types when the VM starts.

    VmLegacyAgentWaitForIp, VmLegacyAgentWaitForIpArgs

    Ipv4 bool
    Wait for at least one IPv4 address (non-loopback, non-link-local) (defaults to false).
    Ipv6 bool

    Wait for at least one IPv6 address (non-loopback, non-link-local) (defaults to false).

    When waitForIp is not specified or both ipv4 and ipv6 are false, the provider waits for any valid global unicast address (IPv4 or IPv6). In dual-stack networks where DHCPv6 responds faster, this may result in only IPv6 addresses being available. Set ipv4 = true to ensure IPv4 address availability.

    Ipv4 bool
    Wait for at least one IPv4 address (non-loopback, non-link-local) (defaults to false).
    Ipv6 bool

    Wait for at least one IPv6 address (non-loopback, non-link-local) (defaults to false).

    When waitForIp is not specified or both ipv4 and ipv6 are false, the provider waits for any valid global unicast address (IPv4 or IPv6). In dual-stack networks where DHCPv6 responds faster, this may result in only IPv6 addresses being available. Set ipv4 = true to ensure IPv4 address availability.

    ipv4 Boolean
    Wait for at least one IPv4 address (non-loopback, non-link-local) (defaults to false).
    ipv6 Boolean

    Wait for at least one IPv6 address (non-loopback, non-link-local) (defaults to false).

    When waitForIp is not specified or both ipv4 and ipv6 are false, the provider waits for any valid global unicast address (IPv4 or IPv6). In dual-stack networks where DHCPv6 responds faster, this may result in only IPv6 addresses being available. Set ipv4 = true to ensure IPv4 address availability.

    ipv4 boolean
    Wait for at least one IPv4 address (non-loopback, non-link-local) (defaults to false).
    ipv6 boolean

    Wait for at least one IPv6 address (non-loopback, non-link-local) (defaults to false).

    When waitForIp is not specified or both ipv4 and ipv6 are false, the provider waits for any valid global unicast address (IPv4 or IPv6). In dual-stack networks where DHCPv6 responds faster, this may result in only IPv6 addresses being available. Set ipv4 = true to ensure IPv4 address availability.

    ipv4 bool
    Wait for at least one IPv4 address (non-loopback, non-link-local) (defaults to false).
    ipv6 bool

    Wait for at least one IPv6 address (non-loopback, non-link-local) (defaults to false).

    When waitForIp is not specified or both ipv4 and ipv6 are false, the provider waits for any valid global unicast address (IPv4 or IPv6). In dual-stack networks where DHCPv6 responds faster, this may result in only IPv6 addresses being available. Set ipv4 = true to ensure IPv4 address availability.

    ipv4 Boolean
    Wait for at least one IPv4 address (non-loopback, non-link-local) (defaults to false).
    ipv6 Boolean

    Wait for at least one IPv6 address (non-loopback, non-link-local) (defaults to false).

    When waitForIp is not specified or both ipv4 and ipv6 are false, the provider waits for any valid global unicast address (IPv4 or IPv6). In dual-stack networks where DHCPv6 responds faster, this may result in only IPv6 addresses being available. Set ipv4 = true to ensure IPv4 address availability.

    VmLegacyAmdSev, VmLegacyAmdSevArgs

    AllowSmt bool
    Sets policy bit to allow Simultaneous Multi Threading (SMT) (Ignored unless for SEV-SNP) (defaults to true).
    KernelHashes bool
    Add kernel hashes to guest firmware for measured linux kernel launch (defaults to false).
    NoDebug bool
    Sets policy bit to disallow debugging of guest (defaults to false).
    NoKeySharing bool

    Sets policy bit to disallow key sharing with other guests (Ignored for SEV-SNP) (defaults to false).

    The amdSev setting is only allowed for a root@pam authenticated user.

    Type string
    Enable standard SEV with std or enable experimental SEV-ES with the es option or enable experimental SEV-SNP with the snp option (defaults to std).
    AllowSmt bool
    Sets policy bit to allow Simultaneous Multi Threading (SMT) (Ignored unless for SEV-SNP) (defaults to true).
    KernelHashes bool
    Add kernel hashes to guest firmware for measured linux kernel launch (defaults to false).
    NoDebug bool
    Sets policy bit to disallow debugging of guest (defaults to false).
    NoKeySharing bool

    Sets policy bit to disallow key sharing with other guests (Ignored for SEV-SNP) (defaults to false).

    The amdSev setting is only allowed for a root@pam authenticated user.

    Type string
    Enable standard SEV with std or enable experimental SEV-ES with the es option or enable experimental SEV-SNP with the snp option (defaults to std).
    allowSmt Boolean
    Sets policy bit to allow Simultaneous Multi Threading (SMT) (Ignored unless for SEV-SNP) (defaults to true).
    kernelHashes Boolean
    Add kernel hashes to guest firmware for measured linux kernel launch (defaults to false).
    noDebug Boolean
    Sets policy bit to disallow debugging of guest (defaults to false).
    noKeySharing Boolean

    Sets policy bit to disallow key sharing with other guests (Ignored for SEV-SNP) (defaults to false).

    The amdSev setting is only allowed for a root@pam authenticated user.

    type String
    Enable standard SEV with std or enable experimental SEV-ES with the es option or enable experimental SEV-SNP with the snp option (defaults to std).
    allowSmt boolean
    Sets policy bit to allow Simultaneous Multi Threading (SMT) (Ignored unless for SEV-SNP) (defaults to true).
    kernelHashes boolean
    Add kernel hashes to guest firmware for measured linux kernel launch (defaults to false).
    noDebug boolean
    Sets policy bit to disallow debugging of guest (defaults to false).
    noKeySharing boolean

    Sets policy bit to disallow key sharing with other guests (Ignored for SEV-SNP) (defaults to false).

    The amdSev setting is only allowed for a root@pam authenticated user.

    type string
    Enable standard SEV with std or enable experimental SEV-ES with the es option or enable experimental SEV-SNP with the snp option (defaults to std).
    allow_smt bool
    Sets policy bit to allow Simultaneous Multi Threading (SMT) (Ignored unless for SEV-SNP) (defaults to true).
    kernel_hashes bool
    Add kernel hashes to guest firmware for measured linux kernel launch (defaults to false).
    no_debug bool
    Sets policy bit to disallow debugging of guest (defaults to false).
    no_key_sharing bool

    Sets policy bit to disallow key sharing with other guests (Ignored for SEV-SNP) (defaults to false).

    The amdSev setting is only allowed for a root@pam authenticated user.

    type str
    Enable standard SEV with std or enable experimental SEV-ES with the es option or enable experimental SEV-SNP with the snp option (defaults to std).
    allowSmt Boolean
    Sets policy bit to allow Simultaneous Multi Threading (SMT) (Ignored unless for SEV-SNP) (defaults to true).
    kernelHashes Boolean
    Add kernel hashes to guest firmware for measured linux kernel launch (defaults to false).
    noDebug Boolean
    Sets policy bit to disallow debugging of guest (defaults to false).
    noKeySharing Boolean

    Sets policy bit to disallow key sharing with other guests (Ignored for SEV-SNP) (defaults to false).

    The amdSev setting is only allowed for a root@pam authenticated user.

    type String
    Enable standard SEV with std or enable experimental SEV-ES with the es option or enable experimental SEV-SNP with the snp option (defaults to std).

    VmLegacyAudioDevice, VmLegacyAudioDeviceArgs

    Device string
    The device (defaults to intel-hda).

    • AC97 - Intel 82801AA AC97 Audio.
    • ich9-intel-hda - Intel HD Audio Controller (ich9).
    • intel-hda - Intel HD Audio.
    Driver string
    The driver (defaults to spice).
    Enabled bool
    Whether to enable the audio device (defaults to true).
    Device string
    The device (defaults to intel-hda).

    • AC97 - Intel 82801AA AC97 Audio.
    • ich9-intel-hda - Intel HD Audio Controller (ich9).
    • intel-hda - Intel HD Audio.
    Driver string
    The driver (defaults to spice).
    Enabled bool
    Whether to enable the audio device (defaults to true).
    device String
    The device (defaults to intel-hda).

    • AC97 - Intel 82801AA AC97 Audio.
    • ich9-intel-hda - Intel HD Audio Controller (ich9).
    • intel-hda - Intel HD Audio.
    driver String
    The driver (defaults to spice).
    enabled Boolean
    Whether to enable the audio device (defaults to true).
    device string
    The device (defaults to intel-hda).

    • AC97 - Intel 82801AA AC97 Audio.
    • ich9-intel-hda - Intel HD Audio Controller (ich9).
    • intel-hda - Intel HD Audio.
    driver string
    The driver (defaults to spice).
    enabled boolean
    Whether to enable the audio device (defaults to true).
    device str
    The device (defaults to intel-hda).

    • AC97 - Intel 82801AA AC97 Audio.
    • ich9-intel-hda - Intel HD Audio Controller (ich9).
    • intel-hda - Intel HD Audio.
    driver str
    The driver (defaults to spice).
    enabled bool
    Whether to enable the audio device (defaults to true).
    device String
    The device (defaults to intel-hda).

    • AC97 - Intel 82801AA AC97 Audio.
    • ich9-intel-hda - Intel HD Audio Controller (ich9).
    • intel-hda - Intel HD Audio.
    driver String
    The driver (defaults to spice).
    enabled Boolean
    Whether to enable the audio device (defaults to true).

    VmLegacyCdrom, VmLegacyCdromArgs

    Enabled bool
    Whether to enable the CD-ROM drive (defaults to false). Deprecated. The attribute will be removed in the next version of the provider. Set fileId to none to leave the CD-ROM drive empty.

    Deprecated: Remove this attribute's configuration as it is no longer used and the attribute will be removed in the next version of the provider. Set fileId to none to leave the CDROM drive empty.

    FileId string
    A file ID for an ISO file (defaults to cdrom as in the physical drive). Use none to leave the CD-ROM drive empty.
    Interface string
    A hardware interface to connect CD-ROM drive to (defaults to ide3). "Must 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.
    Enabled bool
    Whether to enable the CD-ROM drive (defaults to false). Deprecated. The attribute will be removed in the next version of the provider. Set fileId to none to leave the CD-ROM drive empty.

    Deprecated: Remove this attribute's configuration as it is no longer used and the attribute will be removed in the next version of the provider. Set fileId to none to leave the CDROM drive empty.

    FileId string
    A file ID for an ISO file (defaults to cdrom as in the physical drive). Use none to leave the CD-ROM drive empty.
    Interface string
    A hardware interface to connect CD-ROM drive to (defaults to ide3). "Must 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.
    enabled Boolean
    Whether to enable the CD-ROM drive (defaults to false). Deprecated. The attribute will be removed in the next version of the provider. Set fileId to none to leave the CD-ROM drive empty.

    Deprecated: Remove this attribute's configuration as it is no longer used and the attribute will be removed in the next version of the provider. Set fileId to none to leave the CDROM drive empty.

    fileId String
    A file ID for an ISO file (defaults to cdrom as in the physical drive). Use none to leave the CD-ROM drive empty.
    interface_ String
    A hardware interface to connect CD-ROM drive to (defaults to ide3). "Must 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.
    enabled boolean
    Whether to enable the CD-ROM drive (defaults to false). Deprecated. The attribute will be removed in the next version of the provider. Set fileId to none to leave the CD-ROM drive empty.

    Deprecated: Remove this attribute's configuration as it is no longer used and the attribute will be removed in the next version of the provider. Set fileId to none to leave the CDROM drive empty.

    fileId string
    A file ID for an ISO file (defaults to cdrom as in the physical drive). Use none to leave the CD-ROM drive empty.
    interface string
    A hardware interface to connect CD-ROM drive to (defaults to ide3). "Must 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.
    enabled bool
    Whether to enable the CD-ROM drive (defaults to false). Deprecated. The attribute will be removed in the next version of the provider. Set fileId to none to leave the CD-ROM drive empty.

    Deprecated: Remove this attribute's configuration as it is no longer used and the attribute will be removed in the next version of the provider. Set fileId to none to leave the CDROM drive empty.

    file_id str
    A file ID for an ISO file (defaults to cdrom as in the physical drive). Use none to leave the CD-ROM drive empty.
    interface str
    A hardware interface to connect CD-ROM drive to (defaults to ide3). "Must 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.
    enabled Boolean
    Whether to enable the CD-ROM drive (defaults to false). Deprecated. The attribute will be removed in the next version of the provider. Set fileId to none to leave the CD-ROM drive empty.

    Deprecated: Remove this attribute's configuration as it is no longer used and the attribute will be removed in the next version of the provider. Set fileId to none to leave the CDROM drive empty.

    fileId String
    A file ID for an ISO file (defaults to cdrom as in the physical drive). Use none to leave the CD-ROM drive empty.
    interface String
    A hardware interface to connect CD-ROM drive to (defaults to ide3). "Must 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.

    VmLegacyClone, VmLegacyCloneArgs

    VmId int
    The identifier for the source VM.
    DatastoreId string
    The identifier for the target datastore.
    Full bool
    Full or linked clone (defaults to true).
    NodeName string
    The name of the source node (leave blank, if equal to the nodeName argument).
    Retries int
    Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.
    VmId int
    The identifier for the source VM.
    DatastoreId string
    The identifier for the target datastore.
    Full bool
    Full or linked clone (defaults to true).
    NodeName string
    The name of the source node (leave blank, if equal to the nodeName argument).
    Retries int
    Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.
    vmId Integer
    The identifier for the source VM.
    datastoreId String
    The identifier for the target datastore.
    full Boolean
    Full or linked clone (defaults to true).
    nodeName String
    The name of the source node (leave blank, if equal to the nodeName argument).
    retries Integer
    Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.
    vmId number
    The identifier for the source VM.
    datastoreId string
    The identifier for the target datastore.
    full boolean
    Full or linked clone (defaults to true).
    nodeName string
    The name of the source node (leave blank, if equal to the nodeName argument).
    retries number
    Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.
    vm_id int
    The identifier for the source VM.
    datastore_id str
    The identifier for the target datastore.
    full bool
    Full or linked clone (defaults to true).
    node_name str
    The name of the source node (leave blank, if equal to the nodeName argument).
    retries int
    Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.
    vmId Number
    The identifier for the source VM.
    datastoreId String
    The identifier for the target datastore.
    full Boolean
    Full or linked clone (defaults to true).
    nodeName String
    The name of the source node (leave blank, if equal to the nodeName argument).
    retries Number
    Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.

    VmLegacyCpu, VmLegacyCpuArgs

    Affinity string
    The CPU cores that are used to run the VM’s vCPU. The value is a list of CPU IDs, separated by commas. The CPU IDs are zero-based. For example, 0,1,2,3 (which also can be shortened to 0-3) means that the VM’s vCPUs are run on the first four CPU cores. Setting affinity is only allowed for root@pam authenticated user.
    Architecture string
    The CPU architecture (defaults to x8664).
    Cores int
    The number of CPU cores (defaults to 1).
    Flags List<string>
    The CPU flags.

    • +aes/-aes - Activate AES instruction set for HW acceleration.
    • +amd-no-ssb/-amd-no-ssb - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
    • +amd-ssbd/-amd-ssbd - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
    • +hv-evmcs/-hv-evmcs - Improve performance for nested virtualization (only supported on Intel CPUs).
    • +hv-tlbflush/-hv-tlbflush - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
    • +ibpb/-ibpb - Allows improved Spectre mitigation on AMD CPUs.
    • +md-clear/-md-clear - Required to let the guest OS know if MDS is mitigated correctly.
    • +pcid/-pcid - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
    • +pdpe1gb/-pdpe1gb - Allows guest OS to use 1 GB size pages, if host HW supports it.
    • +spec-ctrl/-spec-ctrl - Allows improved Spectre mitigation with Intel CPUs.
    • +ssbd/-ssbd - Protection for "Speculative Store Bypass" for Intel models.
    • +virt-ssbd/-virt-ssbd - Basis for "Speculative Store Bypass" protection for AMD models.
    Hotplugged int
    The number of hotplugged vCPUs (defaults to 0).
    Limit double
    Limit of CPU usage, 0...128 (supports fractional values, e.g. 63.5). (defaults to 0 -- no limit).
    Numa bool
    Enable/disable NUMA. (default to false)
    Sockets int
    The number of CPU sockets (defaults to 1).
    Type string
    The emulated CPU type, it's recommended to use x86-64-v2-AES (defaults to qemu64).
    Units int
    The CPU units. PVE default is 1024 for cgroups v1 and 100 for cgroups v2.
    Affinity string
    The CPU cores that are used to run the VM’s vCPU. The value is a list of CPU IDs, separated by commas. The CPU IDs are zero-based. For example, 0,1,2,3 (which also can be shortened to 0-3) means that the VM’s vCPUs are run on the first four CPU cores. Setting affinity is only allowed for root@pam authenticated user.
    Architecture string
    The CPU architecture (defaults to x8664).
    Cores int
    The number of CPU cores (defaults to 1).
    Flags []string
    The CPU flags.

    • +aes/-aes - Activate AES instruction set for HW acceleration.
    • +amd-no-ssb/-amd-no-ssb - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
    • +amd-ssbd/-amd-ssbd - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
    • +hv-evmcs/-hv-evmcs - Improve performance for nested virtualization (only supported on Intel CPUs).
    • +hv-tlbflush/-hv-tlbflush - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
    • +ibpb/-ibpb - Allows improved Spectre mitigation on AMD CPUs.
    • +md-clear/-md-clear - Required to let the guest OS know if MDS is mitigated correctly.
    • +pcid/-pcid - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
    • +pdpe1gb/-pdpe1gb - Allows guest OS to use 1 GB size pages, if host HW supports it.
    • +spec-ctrl/-spec-ctrl - Allows improved Spectre mitigation with Intel CPUs.
    • +ssbd/-ssbd - Protection for "Speculative Store Bypass" for Intel models.
    • +virt-ssbd/-virt-ssbd - Basis for "Speculative Store Bypass" protection for AMD models.
    Hotplugged int
    The number of hotplugged vCPUs (defaults to 0).
    Limit float64
    Limit of CPU usage, 0...128 (supports fractional values, e.g. 63.5). (defaults to 0 -- no limit).
    Numa bool
    Enable/disable NUMA. (default to false)
    Sockets int
    The number of CPU sockets (defaults to 1).
    Type string
    The emulated CPU type, it's recommended to use x86-64-v2-AES (defaults to qemu64).
    Units int
    The CPU units. PVE default is 1024 for cgroups v1 and 100 for cgroups v2.
    affinity String
    The CPU cores that are used to run the VM’s vCPU. The value is a list of CPU IDs, separated by commas. The CPU IDs are zero-based. For example, 0,1,2,3 (which also can be shortened to 0-3) means that the VM’s vCPUs are run on the first four CPU cores. Setting affinity is only allowed for root@pam authenticated user.
    architecture String
    The CPU architecture (defaults to x8664).
    cores Integer
    The number of CPU cores (defaults to 1).
    flags List<String>
    The CPU flags.

    • +aes/-aes - Activate AES instruction set for HW acceleration.
    • +amd-no-ssb/-amd-no-ssb - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
    • +amd-ssbd/-amd-ssbd - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
    • +hv-evmcs/-hv-evmcs - Improve performance for nested virtualization (only supported on Intel CPUs).
    • +hv-tlbflush/-hv-tlbflush - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
    • +ibpb/-ibpb - Allows improved Spectre mitigation on AMD CPUs.
    • +md-clear/-md-clear - Required to let the guest OS know if MDS is mitigated correctly.
    • +pcid/-pcid - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
    • +pdpe1gb/-pdpe1gb - Allows guest OS to use 1 GB size pages, if host HW supports it.
    • +spec-ctrl/-spec-ctrl - Allows improved Spectre mitigation with Intel CPUs.
    • +ssbd/-ssbd - Protection for "Speculative Store Bypass" for Intel models.
    • +virt-ssbd/-virt-ssbd - Basis for "Speculative Store Bypass" protection for AMD models.
    hotplugged Integer
    The number of hotplugged vCPUs (defaults to 0).
    limit Double
    Limit of CPU usage, 0...128 (supports fractional values, e.g. 63.5). (defaults to 0 -- no limit).
    numa Boolean
    Enable/disable NUMA. (default to false)
    sockets Integer
    The number of CPU sockets (defaults to 1).
    type String
    The emulated CPU type, it's recommended to use x86-64-v2-AES (defaults to qemu64).
    units Integer
    The CPU units. PVE default is 1024 for cgroups v1 and 100 for cgroups v2.
    affinity string
    The CPU cores that are used to run the VM’s vCPU. The value is a list of CPU IDs, separated by commas. The CPU IDs are zero-based. For example, 0,1,2,3 (which also can be shortened to 0-3) means that the VM’s vCPUs are run on the first four CPU cores. Setting affinity is only allowed for root@pam authenticated user.
    architecture string
    The CPU architecture (defaults to x8664).
    cores number
    The number of CPU cores (defaults to 1).
    flags string[]
    The CPU flags.

    • +aes/-aes - Activate AES instruction set for HW acceleration.
    • +amd-no-ssb/-amd-no-ssb - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
    • +amd-ssbd/-amd-ssbd - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
    • +hv-evmcs/-hv-evmcs - Improve performance for nested virtualization (only supported on Intel CPUs).
    • +hv-tlbflush/-hv-tlbflush - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
    • +ibpb/-ibpb - Allows improved Spectre mitigation on AMD CPUs.
    • +md-clear/-md-clear - Required to let the guest OS know if MDS is mitigated correctly.
    • +pcid/-pcid - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
    • +pdpe1gb/-pdpe1gb - Allows guest OS to use 1 GB size pages, if host HW supports it.
    • +spec-ctrl/-spec-ctrl - Allows improved Spectre mitigation with Intel CPUs.
    • +ssbd/-ssbd - Protection for "Speculative Store Bypass" for Intel models.
    • +virt-ssbd/-virt-ssbd - Basis for "Speculative Store Bypass" protection for AMD models.
    hotplugged number
    The number of hotplugged vCPUs (defaults to 0).
    limit number
    Limit of CPU usage, 0...128 (supports fractional values, e.g. 63.5). (defaults to 0 -- no limit).
    numa boolean
    Enable/disable NUMA. (default to false)
    sockets number
    The number of CPU sockets (defaults to 1).
    type string
    The emulated CPU type, it's recommended to use x86-64-v2-AES (defaults to qemu64).
    units number
    The CPU units. PVE default is 1024 for cgroups v1 and 100 for cgroups v2.
    affinity str
    The CPU cores that are used to run the VM’s vCPU. The value is a list of CPU IDs, separated by commas. The CPU IDs are zero-based. For example, 0,1,2,3 (which also can be shortened to 0-3) means that the VM’s vCPUs are run on the first four CPU cores. Setting affinity is only allowed for root@pam authenticated user.
    architecture str
    The CPU architecture (defaults to x8664).
    cores int
    The number of CPU cores (defaults to 1).
    flags Sequence[str]
    The CPU flags.

    • +aes/-aes - Activate AES instruction set for HW acceleration.
    • +amd-no-ssb/-amd-no-ssb - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
    • +amd-ssbd/-amd-ssbd - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
    • +hv-evmcs/-hv-evmcs - Improve performance for nested virtualization (only supported on Intel CPUs).
    • +hv-tlbflush/-hv-tlbflush - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
    • +ibpb/-ibpb - Allows improved Spectre mitigation on AMD CPUs.
    • +md-clear/-md-clear - Required to let the guest OS know if MDS is mitigated correctly.
    • +pcid/-pcid - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
    • +pdpe1gb/-pdpe1gb - Allows guest OS to use 1 GB size pages, if host HW supports it.
    • +spec-ctrl/-spec-ctrl - Allows improved Spectre mitigation with Intel CPUs.
    • +ssbd/-ssbd - Protection for "Speculative Store Bypass" for Intel models.
    • +virt-ssbd/-virt-ssbd - Basis for "Speculative Store Bypass" protection for AMD models.
    hotplugged int
    The number of hotplugged vCPUs (defaults to 0).
    limit float
    Limit of CPU usage, 0...128 (supports fractional values, e.g. 63.5). (defaults to 0 -- no limit).
    numa bool
    Enable/disable NUMA. (default to false)
    sockets int
    The number of CPU sockets (defaults to 1).
    type str
    The emulated CPU type, it's recommended to use x86-64-v2-AES (defaults to qemu64).
    units int
    The CPU units. PVE default is 1024 for cgroups v1 and 100 for cgroups v2.
    affinity String
    The CPU cores that are used to run the VM’s vCPU. The value is a list of CPU IDs, separated by commas. The CPU IDs are zero-based. For example, 0,1,2,3 (which also can be shortened to 0-3) means that the VM’s vCPUs are run on the first four CPU cores. Setting affinity is only allowed for root@pam authenticated user.
    architecture String
    The CPU architecture (defaults to x8664).
    cores Number
    The number of CPU cores (defaults to 1).
    flags List<String>
    The CPU flags.

    • +aes/-aes - Activate AES instruction set for HW acceleration.
    • +amd-no-ssb/-amd-no-ssb - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
    • +amd-ssbd/-amd-ssbd - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
    • +hv-evmcs/-hv-evmcs - Improve performance for nested virtualization (only supported on Intel CPUs).
    • +hv-tlbflush/-hv-tlbflush - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
    • +ibpb/-ibpb - Allows improved Spectre mitigation on AMD CPUs.
    • +md-clear/-md-clear - Required to let the guest OS know if MDS is mitigated correctly.
    • +pcid/-pcid - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
    • +pdpe1gb/-pdpe1gb - Allows guest OS to use 1 GB size pages, if host HW supports it.
    • +spec-ctrl/-spec-ctrl - Allows improved Spectre mitigation with Intel CPUs.
    • +ssbd/-ssbd - Protection for "Speculative Store Bypass" for Intel models.
    • +virt-ssbd/-virt-ssbd - Basis for "Speculative Store Bypass" protection for AMD models.
    hotplugged Number
    The number of hotplugged vCPUs (defaults to 0).
    limit Number
    Limit of CPU usage, 0...128 (supports fractional values, e.g. 63.5). (defaults to 0 -- no limit).
    numa Boolean
    Enable/disable NUMA. (default to false)
    sockets Number
    The number of CPU sockets (defaults to 1).
    type String
    The emulated CPU type, it's recommended to use x86-64-v2-AES (defaults to qemu64).
    units Number
    The CPU units. PVE default is 1024 for cgroups v1 and 100 for cgroups v2.

    VmLegacyDisk, VmLegacyDiskArgs

    Interface string
    The disk interface for Proxmox, currently scsi, sata and virtio interfaces are supported. Append the disk index at the end, for example, virtio0 for the first virtio disk, virtio1 for the second, etc.
    Aio string
    The disk AIO mode (defaults to ioUring).
    Backup bool
    Whether the drive should be included when making backups (defaults to true).
    Cache string
    The cache type (defaults to none).
    DatastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    Discard string
    Whether to pass discard/trim requests to the underlying storage. Supported values are on/ignore (defaults to ignore).
    FileFormat string
    The file format.
    FileId string
    The file ID for a disk image when importing a disk into VM. The ID format is <datastore_id>:<content_type>/<file_name>, for example local:iso/centos8.img. Can be also taken from proxmoxve.download.FileLegacy resource. Prefer importFrom for uncompressed images. Use fileId when working with compressed cloud images (e.g., .qcow2.xz) that were downloaded with contentType = "iso" and decompressionAlgorithm set. See the Create a VM from a Cloud Image guide for examples.
    ImportFrom string
    The file ID for a disk image to import into VM. The image must be of import content type (uncompressed images only). The ID format is <datastore_id>:import/<file_name>, for example local:import/centos8.qcow2. Can be also taken from proxmoxve.download.FileLegacy resource. Note: compressed images downloaded with decompressionAlgorithm cannot use importFrom; use fileId instead.
    Iothread bool
    Whether to use iothreads for this disk (defaults to false).
    PathInDatastore string
    The in-datastore path to the disk image. ***Experimental.***Use to attach another VM's disks, or (as root only) host's filesystem paths (datastoreId empty string). See "Example: Attached disks".
    Replicate bool
    Whether the drive should be considered for replication jobs (defaults to true).
    Serial string
    The serial number of the disk, up to 20 bytes long.
    Size int
    The disk size in gigabytes (defaults to 8).
    Speed Pulumi.ProxmoxVE.Inputs.VmLegacyDiskSpeed
    The speed limits.
    Ssd bool
    Whether to use an SSD emulation option for this disk ( defaults to false). Note that SSD emulation is not supported on VirtIO Block drives.
    Interface string
    The disk interface for Proxmox, currently scsi, sata and virtio interfaces are supported. Append the disk index at the end, for example, virtio0 for the first virtio disk, virtio1 for the second, etc.
    Aio string
    The disk AIO mode (defaults to ioUring).
    Backup bool
    Whether the drive should be included when making backups (defaults to true).
    Cache string
    The cache type (defaults to none).
    DatastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    Discard string
    Whether to pass discard/trim requests to the underlying storage. Supported values are on/ignore (defaults to ignore).
    FileFormat string
    The file format.
    FileId string
    The file ID for a disk image when importing a disk into VM. The ID format is <datastore_id>:<content_type>/<file_name>, for example local:iso/centos8.img. Can be also taken from proxmoxve.download.FileLegacy resource. Prefer importFrom for uncompressed images. Use fileId when working with compressed cloud images (e.g., .qcow2.xz) that were downloaded with contentType = "iso" and decompressionAlgorithm set. See the Create a VM from a Cloud Image guide for examples.
    ImportFrom string
    The file ID for a disk image to import into VM. The image must be of import content type (uncompressed images only). The ID format is <datastore_id>:import/<file_name>, for example local:import/centos8.qcow2. Can be also taken from proxmoxve.download.FileLegacy resource. Note: compressed images downloaded with decompressionAlgorithm cannot use importFrom; use fileId instead.
    Iothread bool
    Whether to use iothreads for this disk (defaults to false).
    PathInDatastore string
    The in-datastore path to the disk image. ***Experimental.***Use to attach another VM's disks, or (as root only) host's filesystem paths (datastoreId empty string). See "Example: Attached disks".
    Replicate bool
    Whether the drive should be considered for replication jobs (defaults to true).
    Serial string
    The serial number of the disk, up to 20 bytes long.
    Size int
    The disk size in gigabytes (defaults to 8).
    Speed VmLegacyDiskSpeed
    The speed limits.
    Ssd bool
    Whether to use an SSD emulation option for this disk ( defaults to false). Note that SSD emulation is not supported on VirtIO Block drives.
    interface_ String
    The disk interface for Proxmox, currently scsi, sata and virtio interfaces are supported. Append the disk index at the end, for example, virtio0 for the first virtio disk, virtio1 for the second, etc.
    aio String
    The disk AIO mode (defaults to ioUring).
    backup Boolean
    Whether the drive should be included when making backups (defaults to true).
    cache String
    The cache type (defaults to none).
    datastoreId String
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    discard String
    Whether to pass discard/trim requests to the underlying storage. Supported values are on/ignore (defaults to ignore).
    fileFormat String
    The file format.
    fileId String
    The file ID for a disk image when importing a disk into VM. The ID format is <datastore_id>:<content_type>/<file_name>, for example local:iso/centos8.img. Can be also taken from proxmoxve.download.FileLegacy resource. Prefer importFrom for uncompressed images. Use fileId when working with compressed cloud images (e.g., .qcow2.xz) that were downloaded with contentType = "iso" and decompressionAlgorithm set. See the Create a VM from a Cloud Image guide for examples.
    importFrom String
    The file ID for a disk image to import into VM. The image must be of import content type (uncompressed images only). The ID format is <datastore_id>:import/<file_name>, for example local:import/centos8.qcow2. Can be also taken from proxmoxve.download.FileLegacy resource. Note: compressed images downloaded with decompressionAlgorithm cannot use importFrom; use fileId instead.
    iothread Boolean
    Whether to use iothreads for this disk (defaults to false).
    pathInDatastore String
    The in-datastore path to the disk image. ***Experimental.***Use to attach another VM's disks, or (as root only) host's filesystem paths (datastoreId empty string). See "Example: Attached disks".
    replicate Boolean
    Whether the drive should be considered for replication jobs (defaults to true).
    serial String
    The serial number of the disk, up to 20 bytes long.
    size Integer
    The disk size in gigabytes (defaults to 8).
    speed VmLegacyDiskSpeed
    The speed limits.
    ssd Boolean
    Whether to use an SSD emulation option for this disk ( defaults to false). Note that SSD emulation is not supported on VirtIO Block drives.
    interface string
    The disk interface for Proxmox, currently scsi, sata and virtio interfaces are supported. Append the disk index at the end, for example, virtio0 for the first virtio disk, virtio1 for the second, etc.
    aio string
    The disk AIO mode (defaults to ioUring).
    backup boolean
    Whether the drive should be included when making backups (defaults to true).
    cache string
    The cache type (defaults to none).
    datastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    discard string
    Whether to pass discard/trim requests to the underlying storage. Supported values are on/ignore (defaults to ignore).
    fileFormat string
    The file format.
    fileId string
    The file ID for a disk image when importing a disk into VM. The ID format is <datastore_id>:<content_type>/<file_name>, for example local:iso/centos8.img. Can be also taken from proxmoxve.download.FileLegacy resource. Prefer importFrom for uncompressed images. Use fileId when working with compressed cloud images (e.g., .qcow2.xz) that were downloaded with contentType = "iso" and decompressionAlgorithm set. See the Create a VM from a Cloud Image guide for examples.
    importFrom string
    The file ID for a disk image to import into VM. The image must be of import content type (uncompressed images only). The ID format is <datastore_id>:import/<file_name>, for example local:import/centos8.qcow2. Can be also taken from proxmoxve.download.FileLegacy resource. Note: compressed images downloaded with decompressionAlgorithm cannot use importFrom; use fileId instead.
    iothread boolean
    Whether to use iothreads for this disk (defaults to false).
    pathInDatastore string
    The in-datastore path to the disk image. ***Experimental.***Use to attach another VM's disks, or (as root only) host's filesystem paths (datastoreId empty string). See "Example: Attached disks".
    replicate boolean
    Whether the drive should be considered for replication jobs (defaults to true).
    serial string
    The serial number of the disk, up to 20 bytes long.
    size number
    The disk size in gigabytes (defaults to 8).
    speed VmLegacyDiskSpeed
    The speed limits.
    ssd boolean
    Whether to use an SSD emulation option for this disk ( defaults to false). Note that SSD emulation is not supported on VirtIO Block drives.
    interface str
    The disk interface for Proxmox, currently scsi, sata and virtio interfaces are supported. Append the disk index at the end, for example, virtio0 for the first virtio disk, virtio1 for the second, etc.
    aio str
    The disk AIO mode (defaults to ioUring).
    backup bool
    Whether the drive should be included when making backups (defaults to true).
    cache str
    The cache type (defaults to none).
    datastore_id str
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    discard str
    Whether to pass discard/trim requests to the underlying storage. Supported values are on/ignore (defaults to ignore).
    file_format str
    The file format.
    file_id str
    The file ID for a disk image when importing a disk into VM. The ID format is <datastore_id>:<content_type>/<file_name>, for example local:iso/centos8.img. Can be also taken from proxmoxve.download.FileLegacy resource. Prefer importFrom for uncompressed images. Use fileId when working with compressed cloud images (e.g., .qcow2.xz) that were downloaded with contentType = "iso" and decompressionAlgorithm set. See the Create a VM from a Cloud Image guide for examples.
    import_from str
    The file ID for a disk image to import into VM. The image must be of import content type (uncompressed images only). The ID format is <datastore_id>:import/<file_name>, for example local:import/centos8.qcow2. Can be also taken from proxmoxve.download.FileLegacy resource. Note: compressed images downloaded with decompressionAlgorithm cannot use importFrom; use fileId instead.
    iothread bool
    Whether to use iothreads for this disk (defaults to false).
    path_in_datastore str
    The in-datastore path to the disk image. ***Experimental.***Use to attach another VM's disks, or (as root only) host's filesystem paths (datastoreId empty string). See "Example: Attached disks".
    replicate bool
    Whether the drive should be considered for replication jobs (defaults to true).
    serial str
    The serial number of the disk, up to 20 bytes long.
    size int
    The disk size in gigabytes (defaults to 8).
    speed VmLegacyDiskSpeed
    The speed limits.
    ssd bool
    Whether to use an SSD emulation option for this disk ( defaults to false). Note that SSD emulation is not supported on VirtIO Block drives.
    interface String
    The disk interface for Proxmox, currently scsi, sata and virtio interfaces are supported. Append the disk index at the end, for example, virtio0 for the first virtio disk, virtio1 for the second, etc.
    aio String
    The disk AIO mode (defaults to ioUring).
    backup Boolean
    Whether the drive should be included when making backups (defaults to true).
    cache String
    The cache type (defaults to none).
    datastoreId String
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    discard String
    Whether to pass discard/trim requests to the underlying storage. Supported values are on/ignore (defaults to ignore).
    fileFormat String
    The file format.
    fileId String
    The file ID for a disk image when importing a disk into VM. The ID format is <datastore_id>:<content_type>/<file_name>, for example local:iso/centos8.img. Can be also taken from proxmoxve.download.FileLegacy resource. Prefer importFrom for uncompressed images. Use fileId when working with compressed cloud images (e.g., .qcow2.xz) that were downloaded with contentType = "iso" and decompressionAlgorithm set. See the Create a VM from a Cloud Image guide for examples.
    importFrom String
    The file ID for a disk image to import into VM. The image must be of import content type (uncompressed images only). The ID format is <datastore_id>:import/<file_name>, for example local:import/centos8.qcow2. Can be also taken from proxmoxve.download.FileLegacy resource. Note: compressed images downloaded with decompressionAlgorithm cannot use importFrom; use fileId instead.
    iothread Boolean
    Whether to use iothreads for this disk (defaults to false).
    pathInDatastore String
    The in-datastore path to the disk image. ***Experimental.***Use to attach another VM's disks, or (as root only) host's filesystem paths (datastoreId empty string). See "Example: Attached disks".
    replicate Boolean
    Whether the drive should be considered for replication jobs (defaults to true).
    serial String
    The serial number of the disk, up to 20 bytes long.
    size Number
    The disk size in gigabytes (defaults to 8).
    speed Property Map
    The speed limits.
    ssd Boolean
    Whether to use an SSD emulation option for this disk ( defaults to false). Note that SSD emulation is not supported on VirtIO Block drives.

    VmLegacyDiskSpeed, VmLegacyDiskSpeedArgs

    IopsRead int
    The maximum read I/O in operations per second.
    IopsReadBurstable int
    The maximum unthrottled read I/O pool in operations per second.
    IopsWrite int
    The maximum write I/O in operations per second.
    IopsWriteBurstable int
    The maximum unthrottled write I/O pool in operations per second.
    Read int
    The maximum read speed in megabytes per second.
    ReadBurstable int
    The maximum burstable read speed in megabytes per second.
    Write int
    The maximum write speed in megabytes per second.
    WriteBurstable int
    The maximum burstable write speed in megabytes per second.
    IopsRead int
    The maximum read I/O in operations per second.
    IopsReadBurstable int
    The maximum unthrottled read I/O pool in operations per second.
    IopsWrite int
    The maximum write I/O in operations per second.
    IopsWriteBurstable int
    The maximum unthrottled write I/O pool in operations per second.
    Read int
    The maximum read speed in megabytes per second.
    ReadBurstable int
    The maximum burstable read speed in megabytes per second.
    Write int
    The maximum write speed in megabytes per second.
    WriteBurstable int
    The maximum burstable write speed in megabytes per second.
    iopsRead Integer
    The maximum read I/O in operations per second.
    iopsReadBurstable Integer
    The maximum unthrottled read I/O pool in operations per second.
    iopsWrite Integer
    The maximum write I/O in operations per second.
    iopsWriteBurstable Integer
    The maximum unthrottled write I/O pool in operations per second.
    read Integer
    The maximum read speed in megabytes per second.
    readBurstable Integer
    The maximum burstable read speed in megabytes per second.
    write Integer
    The maximum write speed in megabytes per second.
    writeBurstable Integer
    The maximum burstable write speed in megabytes per second.
    iopsRead number
    The maximum read I/O in operations per second.
    iopsReadBurstable number
    The maximum unthrottled read I/O pool in operations per second.
    iopsWrite number
    The maximum write I/O in operations per second.
    iopsWriteBurstable number
    The maximum unthrottled write I/O pool in operations per second.
    read number
    The maximum read speed in megabytes per second.
    readBurstable number
    The maximum burstable read speed in megabytes per second.
    write number
    The maximum write speed in megabytes per second.
    writeBurstable number
    The maximum burstable write speed in megabytes per second.
    iops_read int
    The maximum read I/O in operations per second.
    iops_read_burstable int
    The maximum unthrottled read I/O pool in operations per second.
    iops_write int
    The maximum write I/O in operations per second.
    iops_write_burstable int
    The maximum unthrottled write I/O pool in operations per second.
    read int
    The maximum read speed in megabytes per second.
    read_burstable int
    The maximum burstable read speed in megabytes per second.
    write int
    The maximum write speed in megabytes per second.
    write_burstable int
    The maximum burstable write speed in megabytes per second.
    iopsRead Number
    The maximum read I/O in operations per second.
    iopsReadBurstable Number
    The maximum unthrottled read I/O pool in operations per second.
    iopsWrite Number
    The maximum write I/O in operations per second.
    iopsWriteBurstable Number
    The maximum unthrottled write I/O pool in operations per second.
    read Number
    The maximum read speed in megabytes per second.
    readBurstable Number
    The maximum burstable read speed in megabytes per second.
    write Number
    The maximum write speed in megabytes per second.
    writeBurstable Number
    The maximum burstable write speed in megabytes per second.

    VmLegacyEfiDisk, VmLegacyEfiDiskArgs

    DatastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    FileFormat string
    The file format (defaults to raw).
    PreEnrolledKeys bool
    Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with EFI type=4m. Ignored for VMs with cpu.architecture=aarch64 (defaults to false).
    Type string
    Size and type of the OVMF EFI disk. 4m is newer and recommended, and required for Secure Boot. For backwards compatibility use 2m. Ignored for VMs with cpu.architecture=aarch64 (defaults to 2m).
    DatastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    FileFormat string
    The file format (defaults to raw).
    PreEnrolledKeys bool
    Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with EFI type=4m. Ignored for VMs with cpu.architecture=aarch64 (defaults to false).
    Type string
    Size and type of the OVMF EFI disk. 4m is newer and recommended, and required for Secure Boot. For backwards compatibility use 2m. Ignored for VMs with cpu.architecture=aarch64 (defaults to 2m).
    datastoreId String
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    fileFormat String
    The file format (defaults to raw).
    preEnrolledKeys Boolean
    Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with EFI type=4m. Ignored for VMs with cpu.architecture=aarch64 (defaults to false).
    type String
    Size and type of the OVMF EFI disk. 4m is newer and recommended, and required for Secure Boot. For backwards compatibility use 2m. Ignored for VMs with cpu.architecture=aarch64 (defaults to 2m).
    datastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    fileFormat string
    The file format (defaults to raw).
    preEnrolledKeys boolean
    Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with EFI type=4m. Ignored for VMs with cpu.architecture=aarch64 (defaults to false).
    type string
    Size and type of the OVMF EFI disk. 4m is newer and recommended, and required for Secure Boot. For backwards compatibility use 2m. Ignored for VMs with cpu.architecture=aarch64 (defaults to 2m).
    datastore_id str
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    file_format str
    The file format (defaults to raw).
    pre_enrolled_keys bool
    Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with EFI type=4m. Ignored for VMs with cpu.architecture=aarch64 (defaults to false).
    type str
    Size and type of the OVMF EFI disk. 4m is newer and recommended, and required for Secure Boot. For backwards compatibility use 2m. Ignored for VMs with cpu.architecture=aarch64 (defaults to 2m).
    datastoreId String
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    fileFormat String
    The file format (defaults to raw).
    preEnrolledKeys Boolean
    Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with EFI type=4m. Ignored for VMs with cpu.architecture=aarch64 (defaults to false).
    type String
    Size and type of the OVMF EFI disk. 4m is newer and recommended, and required for Secure Boot. For backwards compatibility use 2m. Ignored for VMs with cpu.architecture=aarch64 (defaults to 2m).

    VmLegacyHostpci, VmLegacyHostpciArgs

    Device string
    The PCI device name for Proxmox, in form of hostpciX where X is a sequential number from 0 to 15.
    Id string
    The PCI device ID. This parameter is not compatible with apiToken and requires the root username and password configured in the proxmox provider. Use either this or mapping.
    Mapping string
    The resource mapping name of the device, for example gpu. Use either this or id.
    Mdev string
    The mediated device ID to use.
    Pcie bool
    Tells Proxmox to use a PCIe or PCI port. Some guests/device combination require PCIe rather than PCI. PCIe is only available for q35 machine types.
    RomFile string
    A path to a ROM file for the device to use. This is a relative path under /usr/share/kvm/.
    Rombar bool
    Makes the firmware ROM visible for the VM (defaults to true).
    Xvga bool
    Marks the PCI(e) device as the primary GPU of the VM. With this enabled the vga configuration argument will be ignored.
    Device string
    The PCI device name for Proxmox, in form of hostpciX where X is a sequential number from 0 to 15.
    Id string
    The PCI device ID. This parameter is not compatible with apiToken and requires the root username and password configured in the proxmox provider. Use either this or mapping.
    Mapping string
    The resource mapping name of the device, for example gpu. Use either this or id.
    Mdev string
    The mediated device ID to use.
    Pcie bool
    Tells Proxmox to use a PCIe or PCI port. Some guests/device combination require PCIe rather than PCI. PCIe is only available for q35 machine types.
    RomFile string
    A path to a ROM file for the device to use. This is a relative path under /usr/share/kvm/.
    Rombar bool
    Makes the firmware ROM visible for the VM (defaults to true).
    Xvga bool
    Marks the PCI(e) device as the primary GPU of the VM. With this enabled the vga configuration argument will be ignored.
    device String
    The PCI device name for Proxmox, in form of hostpciX where X is a sequential number from 0 to 15.
    id String
    The PCI device ID. This parameter is not compatible with apiToken and requires the root username and password configured in the proxmox provider. Use either this or mapping.
    mapping String
    The resource mapping name of the device, for example gpu. Use either this or id.
    mdev String
    The mediated device ID to use.
    pcie Boolean
    Tells Proxmox to use a PCIe or PCI port. Some guests/device combination require PCIe rather than PCI. PCIe is only available for q35 machine types.
    romFile String
    A path to a ROM file for the device to use. This is a relative path under /usr/share/kvm/.
    rombar Boolean
    Makes the firmware ROM visible for the VM (defaults to true).
    xvga Boolean
    Marks the PCI(e) device as the primary GPU of the VM. With this enabled the vga configuration argument will be ignored.
    device string
    The PCI device name for Proxmox, in form of hostpciX where X is a sequential number from 0 to 15.
    id string
    The PCI device ID. This parameter is not compatible with apiToken and requires the root username and password configured in the proxmox provider. Use either this or mapping.
    mapping string
    The resource mapping name of the device, for example gpu. Use either this or id.
    mdev string
    The mediated device ID to use.
    pcie boolean
    Tells Proxmox to use a PCIe or PCI port. Some guests/device combination require PCIe rather than PCI. PCIe is only available for q35 machine types.
    romFile string
    A path to a ROM file for the device to use. This is a relative path under /usr/share/kvm/.
    rombar boolean
    Makes the firmware ROM visible for the VM (defaults to true).
    xvga boolean
    Marks the PCI(e) device as the primary GPU of the VM. With this enabled the vga configuration argument will be ignored.
    device str
    The PCI device name for Proxmox, in form of hostpciX where X is a sequential number from 0 to 15.
    id str
    The PCI device ID. This parameter is not compatible with apiToken and requires the root username and password configured in the proxmox provider. Use either this or mapping.
    mapping str
    The resource mapping name of the device, for example gpu. Use either this or id.
    mdev str
    The mediated device ID to use.
    pcie bool
    Tells Proxmox to use a PCIe or PCI port. Some guests/device combination require PCIe rather than PCI. PCIe is only available for q35 machine types.
    rom_file str
    A path to a ROM file for the device to use. This is a relative path under /usr/share/kvm/.
    rombar bool
    Makes the firmware ROM visible for the VM (defaults to true).
    xvga bool
    Marks the PCI(e) device as the primary GPU of the VM. With this enabled the vga configuration argument will be ignored.
    device String
    The PCI device name for Proxmox, in form of hostpciX where X is a sequential number from 0 to 15.
    id String
    The PCI device ID. This parameter is not compatible with apiToken and requires the root username and password configured in the proxmox provider. Use either this or mapping.
    mapping String
    The resource mapping name of the device, for example gpu. Use either this or id.
    mdev String
    The mediated device ID to use.
    pcie Boolean
    Tells Proxmox to use a PCIe or PCI port. Some guests/device combination require PCIe rather than PCI. PCIe is only available for q35 machine types.
    romFile String
    A path to a ROM file for the device to use. This is a relative path under /usr/share/kvm/.
    rombar Boolean
    Makes the firmware ROM visible for the VM (defaults to true).
    xvga Boolean
    Marks the PCI(e) device as the primary GPU of the VM. With this enabled the vga configuration argument will be ignored.

    VmLegacyInitialization, VmLegacyInitializationArgs

    DatastoreId string
    The identifier for the datastore to create the cloud-init disk in (defaults to local-lvm).
    Dns Pulumi.ProxmoxVE.Inputs.VmLegacyInitializationDns
    The DNS configuration.
    FileFormat string
    The file format.
    Interface string
    The hardware interface to connect the cloud-init image to. Must be one of ide0..3, sata0..5, scsi0..30. Will be detected if the setting is missing but a cloud-init image is present, otherwise defaults to ide2.
    IpConfigs List<Pulumi.ProxmoxVE.Inputs.VmLegacyInitializationIpConfig>
    The IP configuration (one block per network device).
    MetaDataFileId string
    The identifier for a file containing all meta data passed to the VM via cloud-init.
    NetworkDataFileId string
    The identifier for a file containing network configuration data passed to the VM via cloud-init (conflicts with ipConfig).
    Type string
    The cloud-init configuration format
    UserAccount Pulumi.ProxmoxVE.Inputs.VmLegacyInitializationUserAccount
    The user account configuration (conflicts with userDataFileId).
    UserDataFileId string
    The identifier for a file containing custom user data (conflicts with userAccount).
    VendorDataFileId string
    The identifier for a file containing all vendor data passed to the VM via cloud-init.
    DatastoreId string
    The identifier for the datastore to create the cloud-init disk in (defaults to local-lvm).
    Dns VmLegacyInitializationDns
    The DNS configuration.
    FileFormat string
    The file format.
    Interface string
    The hardware interface to connect the cloud-init image to. Must be one of ide0..3, sata0..5, scsi0..30. Will be detected if the setting is missing but a cloud-init image is present, otherwise defaults to ide2.
    IpConfigs []VmLegacyInitializationIpConfig
    The IP configuration (one block per network device).
    MetaDataFileId string
    The identifier for a file containing all meta data passed to the VM via cloud-init.
    NetworkDataFileId string
    The identifier for a file containing network configuration data passed to the VM via cloud-init (conflicts with ipConfig).
    Type string
    The cloud-init configuration format
    UserAccount VmLegacyInitializationUserAccount
    The user account configuration (conflicts with userDataFileId).
    UserDataFileId string
    The identifier for a file containing custom user data (conflicts with userAccount).
    VendorDataFileId string
    The identifier for a file containing all vendor data passed to the VM via cloud-init.
    datastoreId String
    The identifier for the datastore to create the cloud-init disk in (defaults to local-lvm).
    dns VmLegacyInitializationDns
    The DNS configuration.
    fileFormat String
    The file format.
    interface_ String
    The hardware interface to connect the cloud-init image to. Must be one of ide0..3, sata0..5, scsi0..30. Will be detected if the setting is missing but a cloud-init image is present, otherwise defaults to ide2.
    ipConfigs List<VmLegacyInitializationIpConfig>
    The IP configuration (one block per network device).
    metaDataFileId String
    The identifier for a file containing all meta data passed to the VM via cloud-init.
    networkDataFileId String
    The identifier for a file containing network configuration data passed to the VM via cloud-init (conflicts with ipConfig).
    type String
    The cloud-init configuration format
    userAccount VmLegacyInitializationUserAccount
    The user account configuration (conflicts with userDataFileId).
    userDataFileId String
    The identifier for a file containing custom user data (conflicts with userAccount).
    vendorDataFileId String
    The identifier for a file containing all vendor data passed to the VM via cloud-init.
    datastoreId string
    The identifier for the datastore to create the cloud-init disk in (defaults to local-lvm).
    dns VmLegacyInitializationDns
    The DNS configuration.
    fileFormat string
    The file format.
    interface string
    The hardware interface to connect the cloud-init image to. Must be one of ide0..3, sata0..5, scsi0..30. Will be detected if the setting is missing but a cloud-init image is present, otherwise defaults to ide2.
    ipConfigs VmLegacyInitializationIpConfig[]
    The IP configuration (one block per network device).
    metaDataFileId string
    The identifier for a file containing all meta data passed to the VM via cloud-init.
    networkDataFileId string
    The identifier for a file containing network configuration data passed to the VM via cloud-init (conflicts with ipConfig).
    type string
    The cloud-init configuration format
    userAccount VmLegacyInitializationUserAccount
    The user account configuration (conflicts with userDataFileId).
    userDataFileId string
    The identifier for a file containing custom user data (conflicts with userAccount).
    vendorDataFileId string
    The identifier for a file containing all vendor data passed to the VM via cloud-init.
    datastore_id str
    The identifier for the datastore to create the cloud-init disk in (defaults to local-lvm).
    dns VmLegacyInitializationDns
    The DNS configuration.
    file_format str
    The file format.
    interface str
    The hardware interface to connect the cloud-init image to. Must be one of ide0..3, sata0..5, scsi0..30. Will be detected if the setting is missing but a cloud-init image is present, otherwise defaults to ide2.
    ip_configs Sequence[VmLegacyInitializationIpConfig]
    The IP configuration (one block per network device).
    meta_data_file_id str
    The identifier for a file containing all meta data passed to the VM via cloud-init.
    network_data_file_id str
    The identifier for a file containing network configuration data passed to the VM via cloud-init (conflicts with ipConfig).
    type str
    The cloud-init configuration format
    user_account VmLegacyInitializationUserAccount
    The user account configuration (conflicts with userDataFileId).
    user_data_file_id str
    The identifier for a file containing custom user data (conflicts with userAccount).
    vendor_data_file_id str
    The identifier for a file containing all vendor data passed to the VM via cloud-init.
    datastoreId String
    The identifier for the datastore to create the cloud-init disk in (defaults to local-lvm).
    dns Property Map
    The DNS configuration.
    fileFormat String
    The file format.
    interface String
    The hardware interface to connect the cloud-init image to. Must be one of ide0..3, sata0..5, scsi0..30. Will be detected if the setting is missing but a cloud-init image is present, otherwise defaults to ide2.
    ipConfigs List<Property Map>
    The IP configuration (one block per network device).
    metaDataFileId String
    The identifier for a file containing all meta data passed to the VM via cloud-init.
    networkDataFileId String
    The identifier for a file containing network configuration data passed to the VM via cloud-init (conflicts with ipConfig).
    type String
    The cloud-init configuration format
    userAccount Property Map
    The user account configuration (conflicts with userDataFileId).
    userDataFileId String
    The identifier for a file containing custom user data (conflicts with userAccount).
    vendorDataFileId String
    The identifier for a file containing all vendor data passed to the VM via cloud-init.

    VmLegacyInitializationDns, VmLegacyInitializationDnsArgs

    Domain string
    The DNS search domain.
    Servers List<string>
    The list of DNS servers.
    Domain string
    The DNS search domain.
    Servers []string
    The list of DNS servers.
    domain String
    The DNS search domain.
    servers List<String>
    The list of DNS servers.
    domain string
    The DNS search domain.
    servers string[]
    The list of DNS servers.
    domain str
    The DNS search domain.
    servers Sequence[str]
    The list of DNS servers.
    domain String
    The DNS search domain.
    servers List<String>
    The list of DNS servers.

    VmLegacyInitializationIpConfig, VmLegacyInitializationIpConfigArgs

    ipv4 Property Map
    The IPv4 configuration.
    ipv6 Property Map
    The IPv6 configuration.

    VmLegacyInitializationIpConfigIpv4, VmLegacyInitializationIpConfigIpv4Args

    Address string
    The IPv4 address in CIDR notation (e.g. 192.168.2.2/24). Alternatively, set this to dhcp for autodiscovery.
    Gateway string
    The IPv4 gateway (must be omitted when dhcp is used as the address).
    Address string
    The IPv4 address in CIDR notation (e.g. 192.168.2.2/24). Alternatively, set this to dhcp for autodiscovery.
    Gateway string
    The IPv4 gateway (must be omitted when dhcp is used as the address).
    address String
    The IPv4 address in CIDR notation (e.g. 192.168.2.2/24). Alternatively, set this to dhcp for autodiscovery.
    gateway String
    The IPv4 gateway (must be omitted when dhcp is used as the address).
    address string
    The IPv4 address in CIDR notation (e.g. 192.168.2.2/24). Alternatively, set this to dhcp for autodiscovery.
    gateway string
    The IPv4 gateway (must be omitted when dhcp is used as the address).
    address str
    The IPv4 address in CIDR notation (e.g. 192.168.2.2/24). Alternatively, set this to dhcp for autodiscovery.
    gateway str
    The IPv4 gateway (must be omitted when dhcp is used as the address).
    address String
    The IPv4 address in CIDR notation (e.g. 192.168.2.2/24). Alternatively, set this to dhcp for autodiscovery.
    gateway String
    The IPv4 gateway (must be omitted when dhcp is used as the address).

    VmLegacyInitializationIpConfigIpv6, VmLegacyInitializationIpConfigIpv6Args

    Address string
    The IPv6 address in CIDR notation (e.g. fd1c::7334/64). Alternatively, set this to dhcp for DHCPv6, or auto for SLAAC.
    Gateway string
    The IPv6 gateway (must be omitted when dhcp or auto are used as the address).
    Address string
    The IPv6 address in CIDR notation (e.g. fd1c::7334/64). Alternatively, set this to dhcp for DHCPv6, or auto for SLAAC.
    Gateway string
    The IPv6 gateway (must be omitted when dhcp or auto are used as the address).
    address String
    The IPv6 address in CIDR notation (e.g. fd1c::7334/64). Alternatively, set this to dhcp for DHCPv6, or auto for SLAAC.
    gateway String
    The IPv6 gateway (must be omitted when dhcp or auto are used as the address).
    address string
    The IPv6 address in CIDR notation (e.g. fd1c::7334/64). Alternatively, set this to dhcp for DHCPv6, or auto for SLAAC.
    gateway string
    The IPv6 gateway (must be omitted when dhcp or auto are used as the address).
    address str
    The IPv6 address in CIDR notation (e.g. fd1c::7334/64). Alternatively, set this to dhcp for DHCPv6, or auto for SLAAC.
    gateway str
    The IPv6 gateway (must be omitted when dhcp or auto are used as the address).
    address String
    The IPv6 address in CIDR notation (e.g. fd1c::7334/64). Alternatively, set this to dhcp for DHCPv6, or auto for SLAAC.
    gateway String
    The IPv6 gateway (must be omitted when dhcp or auto are used as the address).

    VmLegacyInitializationUserAccount, VmLegacyInitializationUserAccountArgs

    Keys List<string>
    The SSH keys.
    Password string
    The SSH password.
    Username string
    The SSH username.
    Keys []string
    The SSH keys.
    Password string
    The SSH password.
    Username string
    The SSH username.
    keys List<String>
    The SSH keys.
    password String
    The SSH password.
    username String
    The SSH username.
    keys string[]
    The SSH keys.
    password string
    The SSH password.
    username string
    The SSH username.
    keys Sequence[str]
    The SSH keys.
    password str
    The SSH password.
    username str
    The SSH username.
    keys List<String>
    The SSH keys.
    password String
    The SSH password.
    username String
    The SSH username.

    VmLegacyMemory, VmLegacyMemoryArgs

    Dedicated int
    The dedicated memory in megabytes (defaults to 512).
    Floating int
    The floating memory in megabytes. The default is 0, which disables "ballooning device" for the VM. Please note that Proxmox has ballooning enabled by default. To enable it, set floating to the same value as dedicated. See Proxmox documentation section 10.2.6 for more information.
    Hugepages string
    Enable/disable hugepages memory (defaults to disable).
    KeepHugepages bool

    Keep hugepages memory after the VM is stopped (defaults to false).

    Settings hugepages and keepHugepages are only allowed for root@pam authenticated user. And required cpu.numa to be enabled.

    Shared int
    The shared memory in megabytes (defaults to 0).
    Dedicated int
    The dedicated memory in megabytes (defaults to 512).
    Floating int
    The floating memory in megabytes. The default is 0, which disables "ballooning device" for the VM. Please note that Proxmox has ballooning enabled by default. To enable it, set floating to the same value as dedicated. See Proxmox documentation section 10.2.6 for more information.
    Hugepages string
    Enable/disable hugepages memory (defaults to disable).
    KeepHugepages bool

    Keep hugepages memory after the VM is stopped (defaults to false).

    Settings hugepages and keepHugepages are only allowed for root@pam authenticated user. And required cpu.numa to be enabled.

    Shared int
    The shared memory in megabytes (defaults to 0).
    dedicated Integer
    The dedicated memory in megabytes (defaults to 512).
    floating Integer
    The floating memory in megabytes. The default is 0, which disables "ballooning device" for the VM. Please note that Proxmox has ballooning enabled by default. To enable it, set floating to the same value as dedicated. See Proxmox documentation section 10.2.6 for more information.
    hugepages String
    Enable/disable hugepages memory (defaults to disable).
    keepHugepages Boolean

    Keep hugepages memory after the VM is stopped (defaults to false).

    Settings hugepages and keepHugepages are only allowed for root@pam authenticated user. And required cpu.numa to be enabled.

    shared Integer
    The shared memory in megabytes (defaults to 0).
    dedicated number
    The dedicated memory in megabytes (defaults to 512).
    floating number
    The floating memory in megabytes. The default is 0, which disables "ballooning device" for the VM. Please note that Proxmox has ballooning enabled by default. To enable it, set floating to the same value as dedicated. See Proxmox documentation section 10.2.6 for more information.
    hugepages string
    Enable/disable hugepages memory (defaults to disable).
    keepHugepages boolean

    Keep hugepages memory after the VM is stopped (defaults to false).

    Settings hugepages and keepHugepages are only allowed for root@pam authenticated user. And required cpu.numa to be enabled.

    shared number
    The shared memory in megabytes (defaults to 0).
    dedicated int
    The dedicated memory in megabytes (defaults to 512).
    floating int
    The floating memory in megabytes. The default is 0, which disables "ballooning device" for the VM. Please note that Proxmox has ballooning enabled by default. To enable it, set floating to the same value as dedicated. See Proxmox documentation section 10.2.6 for more information.
    hugepages str
    Enable/disable hugepages memory (defaults to disable).
    keep_hugepages bool

    Keep hugepages memory after the VM is stopped (defaults to false).

    Settings hugepages and keepHugepages are only allowed for root@pam authenticated user. And required cpu.numa to be enabled.

    shared int
    The shared memory in megabytes (defaults to 0).
    dedicated Number
    The dedicated memory in megabytes (defaults to 512).
    floating Number
    The floating memory in megabytes. The default is 0, which disables "ballooning device" for the VM. Please note that Proxmox has ballooning enabled by default. To enable it, set floating to the same value as dedicated. See Proxmox documentation section 10.2.6 for more information.
    hugepages String
    Enable/disable hugepages memory (defaults to disable).
    keepHugepages Boolean

    Keep hugepages memory after the VM is stopped (defaults to false).

    Settings hugepages and keepHugepages are only allowed for root@pam authenticated user. And required cpu.numa to be enabled.

    shared Number
    The shared memory in megabytes (defaults to 0).

    VmLegacyNetworkDevice, VmLegacyNetworkDeviceArgs

    Bridge string
    The name of the network bridge (defaults to vmbr0).
    Disconnected bool
    Whether to disconnect the network device from the network (defaults to false).
    Enabled bool
    Whether to enable the network device (defaults to true). Remove the networkDevice block from your configuration instead of setting enabled = false.

    Deprecated: The enabled attribute is deprecated and will be removed in a future release. Remove the networkDevice block from your configuration instead of setting enabled = false.

    Firewall bool
    Whether this interface's firewall rules should be used (defaults to false).
    MacAddress string
    The MAC address.
    Model string
    The network device model (defaults to virtio).
    Mtu int
    Force MTU, for VirtIO only. Set to 1 to use the bridge MTU. Cannot be larger than the bridge MTU.
    Queues int
    The number of queues for VirtIO (1..64).
    RateLimit double
    The rate limit in megabytes per second.
    Trunks string
    String containing a ; separated list of VLAN trunks ("10;20;30"). Note that the VLAN-aware feature need to be enabled on the PVE Linux Bridge to use trunks.
    VlanId int
    The VLAN identifier.
    Bridge string
    The name of the network bridge (defaults to vmbr0).
    Disconnected bool
    Whether to disconnect the network device from the network (defaults to false).
    Enabled bool
    Whether to enable the network device (defaults to true). Remove the networkDevice block from your configuration instead of setting enabled = false.

    Deprecated: The enabled attribute is deprecated and will be removed in a future release. Remove the networkDevice block from your configuration instead of setting enabled = false.

    Firewall bool
    Whether this interface's firewall rules should be used (defaults to false).
    MacAddress string
    The MAC address.
    Model string
    The network device model (defaults to virtio).
    Mtu int
    Force MTU, for VirtIO only. Set to 1 to use the bridge MTU. Cannot be larger than the bridge MTU.
    Queues int
    The number of queues for VirtIO (1..64).
    RateLimit float64
    The rate limit in megabytes per second.
    Trunks string
    String containing a ; separated list of VLAN trunks ("10;20;30"). Note that the VLAN-aware feature need to be enabled on the PVE Linux Bridge to use trunks.
    VlanId int
    The VLAN identifier.
    bridge String
    The name of the network bridge (defaults to vmbr0).
    disconnected Boolean
    Whether to disconnect the network device from the network (defaults to false).
    enabled Boolean
    Whether to enable the network device (defaults to true). Remove the networkDevice block from your configuration instead of setting enabled = false.

    Deprecated: The enabled attribute is deprecated and will be removed in a future release. Remove the networkDevice block from your configuration instead of setting enabled = false.

    firewall Boolean
    Whether this interface's firewall rules should be used (defaults to false).
    macAddress String
    The MAC address.
    model String
    The network device model (defaults to virtio).
    mtu Integer
    Force MTU, for VirtIO only. Set to 1 to use the bridge MTU. Cannot be larger than the bridge MTU.
    queues Integer
    The number of queues for VirtIO (1..64).
    rateLimit Double
    The rate limit in megabytes per second.
    trunks String
    String containing a ; separated list of VLAN trunks ("10;20;30"). Note that the VLAN-aware feature need to be enabled on the PVE Linux Bridge to use trunks.
    vlanId Integer
    The VLAN identifier.
    bridge string
    The name of the network bridge (defaults to vmbr0).
    disconnected boolean
    Whether to disconnect the network device from the network (defaults to false).
    enabled boolean
    Whether to enable the network device (defaults to true). Remove the networkDevice block from your configuration instead of setting enabled = false.

    Deprecated: The enabled attribute is deprecated and will be removed in a future release. Remove the networkDevice block from your configuration instead of setting enabled = false.

    firewall boolean
    Whether this interface's firewall rules should be used (defaults to false).
    macAddress string
    The MAC address.
    model string
    The network device model (defaults to virtio).
    mtu number
    Force MTU, for VirtIO only. Set to 1 to use the bridge MTU. Cannot be larger than the bridge MTU.
    queues number
    The number of queues for VirtIO (1..64).
    rateLimit number
    The rate limit in megabytes per second.
    trunks string
    String containing a ; separated list of VLAN trunks ("10;20;30"). Note that the VLAN-aware feature need to be enabled on the PVE Linux Bridge to use trunks.
    vlanId number
    The VLAN identifier.
    bridge str
    The name of the network bridge (defaults to vmbr0).
    disconnected bool
    Whether to disconnect the network device from the network (defaults to false).
    enabled bool
    Whether to enable the network device (defaults to true). Remove the networkDevice block from your configuration instead of setting enabled = false.

    Deprecated: The enabled attribute is deprecated and will be removed in a future release. Remove the networkDevice block from your configuration instead of setting enabled = false.

    firewall bool
    Whether this interface's firewall rules should be used (defaults to false).
    mac_address str
    The MAC address.
    model str
    The network device model (defaults to virtio).
    mtu int
    Force MTU, for VirtIO only. Set to 1 to use the bridge MTU. Cannot be larger than the bridge MTU.
    queues int
    The number of queues for VirtIO (1..64).
    rate_limit float
    The rate limit in megabytes per second.
    trunks str
    String containing a ; separated list of VLAN trunks ("10;20;30"). Note that the VLAN-aware feature need to be enabled on the PVE Linux Bridge to use trunks.
    vlan_id int
    The VLAN identifier.
    bridge String
    The name of the network bridge (defaults to vmbr0).
    disconnected Boolean
    Whether to disconnect the network device from the network (defaults to false).
    enabled Boolean
    Whether to enable the network device (defaults to true). Remove the networkDevice block from your configuration instead of setting enabled = false.

    Deprecated: The enabled attribute is deprecated and will be removed in a future release. Remove the networkDevice block from your configuration instead of setting enabled = false.

    firewall Boolean
    Whether this interface's firewall rules should be used (defaults to false).
    macAddress String
    The MAC address.
    model String
    The network device model (defaults to virtio).
    mtu Number
    Force MTU, for VirtIO only. Set to 1 to use the bridge MTU. Cannot be larger than the bridge MTU.
    queues Number
    The number of queues for VirtIO (1..64).
    rateLimit Number
    The rate limit in megabytes per second.
    trunks String
    String containing a ; separated list of VLAN trunks ("10;20;30"). Note that the VLAN-aware feature need to be enabled on the PVE Linux Bridge to use trunks.
    vlanId Number
    The VLAN identifier.

    VmLegacyNuma, VmLegacyNumaArgs

    Cpus string
    The CPU cores to assign to the NUMA node (format is 0-7;16-31).
    Device string
    The NUMA device name for Proxmox, in form of numaX where X is a sequential number from 0 to 7.
    Memory int
    The memory in megabytes to assign to the NUMA node.
    Hostnodes string
    The NUMA host nodes.
    Policy string
    The NUMA policy (defaults to preferred).
    Cpus string
    The CPU cores to assign to the NUMA node (format is 0-7;16-31).
    Device string
    The NUMA device name for Proxmox, in form of numaX where X is a sequential number from 0 to 7.
    Memory int
    The memory in megabytes to assign to the NUMA node.
    Hostnodes string
    The NUMA host nodes.
    Policy string
    The NUMA policy (defaults to preferred).
    cpus String
    The CPU cores to assign to the NUMA node (format is 0-7;16-31).
    device String
    The NUMA device name for Proxmox, in form of numaX where X is a sequential number from 0 to 7.
    memory Integer
    The memory in megabytes to assign to the NUMA node.
    hostnodes String
    The NUMA host nodes.
    policy String
    The NUMA policy (defaults to preferred).
    cpus string
    The CPU cores to assign to the NUMA node (format is 0-7;16-31).
    device string
    The NUMA device name for Proxmox, in form of numaX where X is a sequential number from 0 to 7.
    memory number
    The memory in megabytes to assign to the NUMA node.
    hostnodes string
    The NUMA host nodes.
    policy string
    The NUMA policy (defaults to preferred).
    cpus str
    The CPU cores to assign to the NUMA node (format is 0-7;16-31).
    device str
    The NUMA device name for Proxmox, in form of numaX where X is a sequential number from 0 to 7.
    memory int
    The memory in megabytes to assign to the NUMA node.
    hostnodes str
    The NUMA host nodes.
    policy str
    The NUMA policy (defaults to preferred).
    cpus String
    The CPU cores to assign to the NUMA node (format is 0-7;16-31).
    device String
    The NUMA device name for Proxmox, in form of numaX where X is a sequential number from 0 to 7.
    memory Number
    The memory in megabytes to assign to the NUMA node.
    hostnodes String
    The NUMA host nodes.
    policy String
    The NUMA policy (defaults to preferred).

    VmLegacyOperatingSystem, VmLegacyOperatingSystemArgs

    Type string
    The type (defaults to other).
    Type string
    The type (defaults to other).
    type String
    The type (defaults to other).
    type string
    The type (defaults to other).
    type str
    The type (defaults to other).
    type String
    The type (defaults to other).

    VmLegacyRng, VmLegacyRngArgs

    Source string
    The file on the host to gather entropy from. In most cases, /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host.
    MaxBytes int
    Maximum bytes of entropy allowed to get injected into the guest every period milliseconds (defaults to 1024). Prefer a lower value when using /dev/random as source.
    Period int
    Every period milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another maxBytes of entropy (defaults to 1000).
    Source string
    The file on the host to gather entropy from. In most cases, /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host.
    MaxBytes int
    Maximum bytes of entropy allowed to get injected into the guest every period milliseconds (defaults to 1024). Prefer a lower value when using /dev/random as source.
    Period int
    Every period milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another maxBytes of entropy (defaults to 1000).
    source String
    The file on the host to gather entropy from. In most cases, /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host.
    maxBytes Integer
    Maximum bytes of entropy allowed to get injected into the guest every period milliseconds (defaults to 1024). Prefer a lower value when using /dev/random as source.
    period Integer
    Every period milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another maxBytes of entropy (defaults to 1000).
    source string
    The file on the host to gather entropy from. In most cases, /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host.
    maxBytes number
    Maximum bytes of entropy allowed to get injected into the guest every period milliseconds (defaults to 1024). Prefer a lower value when using /dev/random as source.
    period number
    Every period milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another maxBytes of entropy (defaults to 1000).
    source str
    The file on the host to gather entropy from. In most cases, /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host.
    max_bytes int
    Maximum bytes of entropy allowed to get injected into the guest every period milliseconds (defaults to 1024). Prefer a lower value when using /dev/random as source.
    period int
    Every period milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another maxBytes of entropy (defaults to 1000).
    source String
    The file on the host to gather entropy from. In most cases, /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host.
    maxBytes Number
    Maximum bytes of entropy allowed to get injected into the guest every period milliseconds (defaults to 1024). Prefer a lower value when using /dev/random as source.
    period Number
    Every period milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another maxBytes of entropy (defaults to 1000).

    VmLegacySerialDevice, VmLegacySerialDeviceArgs

    Device string
    The device (defaults to socket).

    • /dev/* - A host serial device.
    Device string
    The device (defaults to socket).

    • /dev/* - A host serial device.
    device String
    The device (defaults to socket).

    • /dev/* - A host serial device.
    device string
    The device (defaults to socket).

    • /dev/* - A host serial device.
    device str
    The device (defaults to socket).

    • /dev/* - A host serial device.
    device String
    The device (defaults to socket).

    • /dev/* - A host serial device.

    VmLegacySmbios, VmLegacySmbiosArgs

    Family string
    The family string.
    Manufacturer string
    The manufacturer.
    Product string
    The product ID.
    Serial string
    The serial number.
    Sku string
    The SKU number.
    Uuid string
    The UUID (defaults to randomly generated UUID).
    Version string
    The version.
    Family string
    The family string.
    Manufacturer string
    The manufacturer.
    Product string
    The product ID.
    Serial string
    The serial number.
    Sku string
    The SKU number.
    Uuid string
    The UUID (defaults to randomly generated UUID).
    Version string
    The version.
    family String
    The family string.
    manufacturer String
    The manufacturer.
    product String
    The product ID.
    serial String
    The serial number.
    sku String
    The SKU number.
    uuid String
    The UUID (defaults to randomly generated UUID).
    version String
    The version.
    family string
    The family string.
    manufacturer string
    The manufacturer.
    product string
    The product ID.
    serial string
    The serial number.
    sku string
    The SKU number.
    uuid string
    The UUID (defaults to randomly generated UUID).
    version string
    The version.
    family str
    The family string.
    manufacturer str
    The manufacturer.
    product str
    The product ID.
    serial str
    The serial number.
    sku str
    The SKU number.
    uuid str
    The UUID (defaults to randomly generated UUID).
    version str
    The version.
    family String
    The family string.
    manufacturer String
    The manufacturer.
    product String
    The product ID.
    serial String
    The serial number.
    sku String
    The SKU number.
    uuid String
    The UUID (defaults to randomly generated UUID).
    version String
    The version.

    VmLegacyStartup, VmLegacyStartupArgs

    DownDelay int
    A non-negative number defining the delay in seconds before the next VM is shut down.
    Order int
    A non-negative number defining the general startup order.
    UpDelay int
    A non-negative number defining the delay in seconds before the next VM is started.
    DownDelay int
    A non-negative number defining the delay in seconds before the next VM is shut down.
    Order int
    A non-negative number defining the general startup order.
    UpDelay int
    A non-negative number defining the delay in seconds before the next VM is started.
    downDelay Integer
    A non-negative number defining the delay in seconds before the next VM is shut down.
    order Integer
    A non-negative number defining the general startup order.
    upDelay Integer
    A non-negative number defining the delay in seconds before the next VM is started.
    downDelay number
    A non-negative number defining the delay in seconds before the next VM is shut down.
    order number
    A non-negative number defining the general startup order.
    upDelay number
    A non-negative number defining the delay in seconds before the next VM is started.
    down_delay int
    A non-negative number defining the delay in seconds before the next VM is shut down.
    order int
    A non-negative number defining the general startup order.
    up_delay int
    A non-negative number defining the delay in seconds before the next VM is started.
    downDelay Number
    A non-negative number defining the delay in seconds before the next VM is shut down.
    order Number
    A non-negative number defining the general startup order.
    upDelay Number
    A non-negative number defining the delay in seconds before the next VM is started.

    VmLegacyTpmState, VmLegacyTpmStateArgs

    DatastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    Version string
    TPM state device version. Can be v1.2 or v2.0. (defaults to v2.0).
    DatastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    Version string
    TPM state device version. Can be v1.2 or v2.0. (defaults to v2.0).
    datastoreId String
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    version String
    TPM state device version. Can be v1.2 or v2.0. (defaults to v2.0).
    datastoreId string
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    version string
    TPM state device version. Can be v1.2 or v2.0. (defaults to v2.0).
    datastore_id str
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    version str
    TPM state device version. Can be v1.2 or v2.0. (defaults to v2.0).
    datastoreId String
    The identifier for the datastore to create the disk in (defaults to local-lvm).
    version String
    TPM state device version. Can be v1.2 or v2.0. (defaults to v2.0).

    VmLegacyUsb, VmLegacyUsbArgs

    Host string
    The Host USB device or port or the value spice. Use either this or mapping.
    Mapping string
    The cluster-wide resource mapping name of the device, for example "usbdevice". Use either this or host.
    Usb3 bool
    Makes the USB device a USB3 device for the VM (defaults to false).
    Host string
    The Host USB device or port or the value spice. Use either this or mapping.
    Mapping string
    The cluster-wide resource mapping name of the device, for example "usbdevice". Use either this or host.
    Usb3 bool
    Makes the USB device a USB3 device for the VM (defaults to false).
    host String
    The Host USB device or port or the value spice. Use either this or mapping.
    mapping String
    The cluster-wide resource mapping name of the device, for example "usbdevice". Use either this or host.
    usb3 Boolean
    Makes the USB device a USB3 device for the VM (defaults to false).
    host string
    The Host USB device or port or the value spice. Use either this or mapping.
    mapping string
    The cluster-wide resource mapping name of the device, for example "usbdevice". Use either this or host.
    usb3 boolean
    Makes the USB device a USB3 device for the VM (defaults to false).
    host str
    The Host USB device or port or the value spice. Use either this or mapping.
    mapping str
    The cluster-wide resource mapping name of the device, for example "usbdevice". Use either this or host.
    usb3 bool
    Makes the USB device a USB3 device for the VM (defaults to false).
    host String
    The Host USB device or port or the value spice. Use either this or mapping.
    mapping String
    The cluster-wide resource mapping name of the device, for example "usbdevice". Use either this or host.
    usb3 Boolean
    Makes the USB device a USB3 device for the VM (defaults to false).

    VmLegacyVga, VmLegacyVgaArgs

    Clipboard string
    Enable VNC clipboard by setting to vnc. See the Proxmox documentation section 10.2.8 for more information.
    Memory int
    The VGA memory in megabytes (defaults to 16).
    Type string
    The VGA type (defaults to std).
    Clipboard string
    Enable VNC clipboard by setting to vnc. See the Proxmox documentation section 10.2.8 for more information.
    Memory int
    The VGA memory in megabytes (defaults to 16).
    Type string
    The VGA type (defaults to std).
    clipboard String
    Enable VNC clipboard by setting to vnc. See the Proxmox documentation section 10.2.8 for more information.
    memory Integer
    The VGA memory in megabytes (defaults to 16).
    type String
    The VGA type (defaults to std).
    clipboard string
    Enable VNC clipboard by setting to vnc. See the Proxmox documentation section 10.2.8 for more information.
    memory number
    The VGA memory in megabytes (defaults to 16).
    type string
    The VGA type (defaults to std).
    clipboard str
    Enable VNC clipboard by setting to vnc. See the Proxmox documentation section 10.2.8 for more information.
    memory int
    The VGA memory in megabytes (defaults to 16).
    type str
    The VGA type (defaults to std).
    clipboard String
    Enable VNC clipboard by setting to vnc. See the Proxmox documentation section 10.2.8 for more information.
    memory Number
    The VGA memory in megabytes (defaults to 16).
    type String
    The VGA type (defaults to std).

    VmLegacyVirtiof, VmLegacyVirtiofArgs

    Mapping string
    Identifier of the directory mapping
    Cache string
    The caching mode
    DirectIo bool
    Whether to allow direct io
    ExposeAcl bool
    Enable POSIX ACLs, implies xattr support
    ExposeXattr bool
    Enable support for extended attributes
    Mapping string
    Identifier of the directory mapping
    Cache string
    The caching mode
    DirectIo bool
    Whether to allow direct io
    ExposeAcl bool
    Enable POSIX ACLs, implies xattr support
    ExposeXattr bool
    Enable support for extended attributes
    mapping String
    Identifier of the directory mapping
    cache String
    The caching mode
    directIo Boolean
    Whether to allow direct io
    exposeAcl Boolean
    Enable POSIX ACLs, implies xattr support
    exposeXattr Boolean
    Enable support for extended attributes
    mapping string
    Identifier of the directory mapping
    cache string
    The caching mode
    directIo boolean
    Whether to allow direct io
    exposeAcl boolean
    Enable POSIX ACLs, implies xattr support
    exposeXattr boolean
    Enable support for extended attributes
    mapping str
    Identifier of the directory mapping
    cache str
    The caching mode
    direct_io bool
    Whether to allow direct io
    expose_acl bool
    Enable POSIX ACLs, implies xattr support
    expose_xattr bool
    Enable support for extended attributes
    mapping String
    Identifier of the directory mapping
    cache String
    The caching mode
    directIo Boolean
    Whether to allow direct io
    exposeAcl Boolean
    Enable POSIX ACLs, implies xattr support
    exposeXattr Boolean
    Enable support for extended attributes

    VmLegacyWatchdog, VmLegacyWatchdogArgs

    Action string
    The action to perform if after activation the guest fails to poll the watchdog in time (defaults to none).
    Enabled bool
    Whether the watchdog is enabled (defaults to false).
    Model string
    The watchdog type to emulate (defaults to i6300esb).
    Action string
    The action to perform if after activation the guest fails to poll the watchdog in time (defaults to none).
    Enabled bool
    Whether the watchdog is enabled (defaults to false).
    Model string
    The watchdog type to emulate (defaults to i6300esb).
    action String
    The action to perform if after activation the guest fails to poll the watchdog in time (defaults to none).
    enabled Boolean
    Whether the watchdog is enabled (defaults to false).
    model String
    The watchdog type to emulate (defaults to i6300esb).
    action string
    The action to perform if after activation the guest fails to poll the watchdog in time (defaults to none).
    enabled boolean
    Whether the watchdog is enabled (defaults to false).
    model string
    The watchdog type to emulate (defaults to i6300esb).
    action str
    The action to perform if after activation the guest fails to poll the watchdog in time (defaults to none).
    enabled bool
    Whether the watchdog is enabled (defaults to false).
    model str
    The watchdog type to emulate (defaults to i6300esb).
    action String
    The action to perform if after activation the guest fails to poll the watchdog in time (defaults to none).
    enabled Boolean
    Whether the watchdog is enabled (defaults to false).
    model String
    The watchdog type to emulate (defaults to i6300esb).

    Import

    ant Notes

    local-lvm Datastore

    The local-lvm is the default datastore for many configuration blocks, including initialization and tpmState, which may not seem to be related to “storage”. If you do not have local-lvm configured in your environment, you may need to explicitly set the datastoreId in such blocks to a different value.

    Cloning

    When cloning an existing virtual machine, whether it’s a template or not, the resource will inherit the disks and other configuration from the source VM.

    If you modify any attributes of an existing disk in the clone, you also need to
    explicitly provide values for any other attributes that differ from the schema defaults
    in the source (e.g., size, discard, cache, aio).
    Otherwise, the schema defaults will take effect and override the source values.

    Furthermore, when cloning from one node to a different one, the behavior changes depening on the datastores of the source VM. If at least one non-shared datastore is used, the VM is first cloned to the source node before being migrated to the target node. This circumvents a limitation in the Proxmox clone API.

    Because the migration step after the clone tries to preserve the used datastores by their name, it may fail if a datastore used in the source VM is not available on the target node (e.g. local-lvm is used on the source node in the VM but no local-lvm datastore is available on the target node). In this case, it is recommended to set the datastoreId argument in the clone block to force the migration step to migrate all disks to a specific datastore on the target node. If you need certain disks to be on specific datastores, set the datastoreId argument of the disks in the disks block to move the disks to the correct datastore after the cloning and migrating succeeded.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    proxmoxve muhlba91/pulumi-proxmoxve
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the proxmox Terraform Provider.
    proxmoxve logo
    Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
    published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
      Try Pulumi Cloud free. Your team will thank you.