1. Packages
  2. Proxmox Virtual Environment (Proxmox VE)
  3. API Docs
  4. cloned
  5. Vm
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

    EXPERIMENTAL

    Clone a VM from a source template/VM and manage only explicitly-defined configuration. This resource uses explicit opt-in management: only configuration blocks and devices explicitly listed in your Terraform code are managed. Inherited settings from the template are preserved unless explicitly overridden or deleted. Removing a configuration from Terraform stops managing it but does not delete it from the VM.

    Limitations

    This resource intentionally manages only a subset of VM configuration. The following are currently not managed and must be inherited from the source template (or managed via proxmoxve.VmLegacy with a clone block):

    • BIOS / machine / boot order
    • EFI disk / secure boot settings
    • TPM state
    • Cloud-init / initialization
    • QEMU guest agent configuration
    • PCI/USB passthrough, serial/audio devices, watchdog, VirtioFS

    Create Vm Resource

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

    Constructor syntax

    new Vm(name: string, args: VmArgs, opts?: CustomResourceOptions);
    @overload
    def Vm(resource_name: str,
           args: VmArgs,
           opts: Optional[ResourceOptions] = None)
    
    @overload
    def Vm(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           node_name: Optional[str] = None,
           clone: Optional[VmCloneArgs] = None,
           name: Optional[str] = None,
           purge_on_destroy: Optional[bool] = None,
           delete_unreferenced_disks_on_destroy: Optional[bool] = None,
           description: Optional[str] = None,
           disk: Optional[Mapping[str, VmDiskArgs]] = None,
           memory: Optional[VmMemoryArgs] = None,
           cdrom: Optional[Mapping[str, VmCdromArgs]] = None,
           network: Optional[Mapping[str, VmNetworkArgs]] = None,
           cpu: Optional[VmCpuArgs] = None,
           delete: Optional[VmDeleteArgs] = None,
           resource_id: Optional[str] = None,
           rng: Optional[VmRngArgs] = None,
           started: Optional[bool] = None,
           stop_on_destroy: Optional[bool] = None,
           tags: Optional[Sequence[str]] = None,
           timeouts: Optional[VmTimeoutsArgs] = None,
           vga: Optional[VmVgaArgs] = None)
    func NewVm(ctx *Context, name string, args VmArgs, opts ...ResourceOption) (*Vm, error)
    public Vm(string name, VmArgs args, CustomResourceOptions? opts = null)
    public Vm(String name, VmArgs args)
    public Vm(String name, VmArgs args, CustomResourceOptions options)
    
    type: proxmoxve:cloned:Vm
    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 VmArgs
    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 VmArgs
    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 VmArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VmArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VmArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var vmResource = new ProxmoxVE.Cloned.Vm("vmResource", new()
    {
        NodeName = "string",
        Clone = new ProxmoxVE.Cloned.Inputs.VmCloneArgs
        {
            SourceVmId = 0,
            BandwidthLimit = 0,
            Full = false,
            PoolId = "string",
            Retries = 0,
            SnapshotName = "string",
            SourceNodeName = "string",
            TargetDatastore = "string",
            TargetFormat = "string",
        },
        Name = "string",
        PurgeOnDestroy = false,
        DeleteUnreferencedDisksOnDestroy = false,
        Description = "string",
        Disk = 
        {
            { "string", new ProxmoxVE.Cloned.Inputs.VmDiskArgs
            {
                Aio = "string",
                Backup = false,
                Cache = "string",
                DatastoreId = "string",
                Discard = "string",
                File = "string",
                Format = "string",
                ImportFrom = "string",
                Iothread = false,
                Media = "string",
                Replicate = false,
                Serial = "string",
                SizeGb = 0,
                Ssd = false,
            } },
        },
        Memory = new ProxmoxVE.Cloned.Inputs.VmMemoryArgs
        {
            Balloon = 0,
            Hugepages = "string",
            KeepHugepages = false,
            Shares = 0,
            Size = 0,
        },
        Cdrom = 
        {
            { "string", new ProxmoxVE.Cloned.Inputs.VmCdromArgs
            {
                FileId = "string",
            } },
        },
        Network = 
        {
            { "string", new ProxmoxVE.Cloned.Inputs.VmNetworkArgs
            {
                Bridge = "string",
                Firewall = false,
                LinkDown = false,
                MacAddress = "string",
                Model = "string",
                Mtu = 0,
                Queues = 0,
                RateLimit = 0,
                Tag = 0,
                Trunks = new[]
                {
                    0,
                },
            } },
        },
        Cpu = new ProxmoxVE.Cloned.Inputs.VmCpuArgs
        {
            Affinity = "string",
            Architecture = "string",
            Cores = 0,
            Flags = new[]
            {
                "string",
            },
            Hotplugged = 0,
            Limit = 0,
            Numa = false,
            Sockets = 0,
            Type = "string",
            Units = 0,
        },
        Delete = new ProxmoxVE.Cloned.Inputs.VmDeleteArgs
        {
            Disks = new[]
            {
                "string",
            },
            Networks = new[]
            {
                "string",
            },
        },
        ResourceId = "string",
        Rng = new ProxmoxVE.Cloned.Inputs.VmRngArgs
        {
            MaxBytes = 0,
            Period = 0,
            Source = "string",
        },
        Started = false,
        StopOnDestroy = false,
        Tags = new[]
        {
            "string",
        },
        Timeouts = new ProxmoxVE.Cloned.Inputs.VmTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Read = "string",
            Update = "string",
        },
        Vga = new ProxmoxVE.Cloned.Inputs.VmVgaArgs
        {
            Clipboard = "string",
            Memory = 0,
            Type = "string",
        },
    });
    
    example, err := cloned.NewVm(ctx, "vmResource", &cloned.VmArgs{
    	NodeName: pulumi.String("string"),
    	Clone: &cloned.VmCloneArgs{
    		SourceVmId:      pulumi.Int(0),
    		BandwidthLimit:  pulumi.Int(0),
    		Full:            pulumi.Bool(false),
    		PoolId:          pulumi.String("string"),
    		Retries:         pulumi.Int(0),
    		SnapshotName:    pulumi.String("string"),
    		SourceNodeName:  pulumi.String("string"),
    		TargetDatastore: pulumi.String("string"),
    		TargetFormat:    pulumi.String("string"),
    	},
    	Name:                             pulumi.String("string"),
    	PurgeOnDestroy:                   pulumi.Bool(false),
    	DeleteUnreferencedDisksOnDestroy: pulumi.Bool(false),
    	Description:                      pulumi.String("string"),
    	Disk: cloned.VmDiskMap{
    		"string": &cloned.VmDiskArgs{
    			Aio:         pulumi.String("string"),
    			Backup:      pulumi.Bool(false),
    			Cache:       pulumi.String("string"),
    			DatastoreId: pulumi.String("string"),
    			Discard:     pulumi.String("string"),
    			File:        pulumi.String("string"),
    			Format:      pulumi.String("string"),
    			ImportFrom:  pulumi.String("string"),
    			Iothread:    pulumi.Bool(false),
    			Media:       pulumi.String("string"),
    			Replicate:   pulumi.Bool(false),
    			Serial:      pulumi.String("string"),
    			SizeGb:      pulumi.Int(0),
    			Ssd:         pulumi.Bool(false),
    		},
    	},
    	Memory: &cloned.VmMemoryArgs{
    		Balloon:       pulumi.Int(0),
    		Hugepages:     pulumi.String("string"),
    		KeepHugepages: pulumi.Bool(false),
    		Shares:        pulumi.Int(0),
    		Size:          pulumi.Int(0),
    	},
    	Cdrom: cloned.VmCdromMap{
    		"string": &cloned.VmCdromArgs{
    			FileId: pulumi.String("string"),
    		},
    	},
    	Network: cloned.VmNetworkMap{
    		"string": &cloned.VmNetworkArgs{
    			Bridge:     pulumi.String("string"),
    			Firewall:   pulumi.Bool(false),
    			LinkDown:   pulumi.Bool(false),
    			MacAddress: pulumi.String("string"),
    			Model:      pulumi.String("string"),
    			Mtu:        pulumi.Int(0),
    			Queues:     pulumi.Int(0),
    			RateLimit:  pulumi.Float64(0),
    			Tag:        pulumi.Int(0),
    			Trunks: pulumi.IntArray{
    				pulumi.Int(0),
    			},
    		},
    	},
    	Cpu: &cloned.VmCpuArgs{
    		Affinity:     pulumi.String("string"),
    		Architecture: pulumi.String("string"),
    		Cores:        pulumi.Int(0),
    		Flags: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Hotplugged: pulumi.Int(0),
    		Limit:      pulumi.Float64(0),
    		Numa:       pulumi.Bool(false),
    		Sockets:    pulumi.Int(0),
    		Type:       pulumi.String("string"),
    		Units:      pulumi.Int(0),
    	},
    	Delete: &cloned.VmDeleteArgs{
    		Disks: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Networks: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	ResourceId: pulumi.String("string"),
    	Rng: &cloned.VmRngArgs{
    		MaxBytes: pulumi.Int(0),
    		Period:   pulumi.Int(0),
    		Source:   pulumi.String("string"),
    	},
    	Started:       pulumi.Bool(false),
    	StopOnDestroy: pulumi.Bool(false),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Timeouts: &cloned.VmTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Read:   pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    	Vga: &cloned.VmVgaArgs{
    		Clipboard: pulumi.String("string"),
    		Memory:    pulumi.Int(0),
    		Type:      pulumi.String("string"),
    	},
    })
    
    var vmResource = new io.muehlbachler.pulumi.proxmoxve.cloned.Vm("vmResource", io.muehlbachler.pulumi.proxmoxve.cloned.VmArgs.builder()
        .nodeName("string")
        .clone(VmCloneArgs.builder()
            .sourceVmId(0)
            .bandwidthLimit(0)
            .full(false)
            .poolId("string")
            .retries(0)
            .snapshotName("string")
            .sourceNodeName("string")
            .targetDatastore("string")
            .targetFormat("string")
            .build())
        .name("string")
        .purgeOnDestroy(false)
        .deleteUnreferencedDisksOnDestroy(false)
        .description("string")
        .disk(Map.of("string", VmDiskArgs.builder()
            .aio("string")
            .backup(false)
            .cache("string")
            .datastoreId("string")
            .discard("string")
            .file("string")
            .format("string")
            .importFrom("string")
            .iothread(false)
            .media("string")
            .replicate(false)
            .serial("string")
            .sizeGb(0)
            .ssd(false)
            .build()))
        .memory(VmMemoryArgs.builder()
            .balloon(0)
            .hugepages("string")
            .keepHugepages(false)
            .shares(0)
            .size(0)
            .build())
        .cdrom(Map.of("string", VmCdromArgs.builder()
            .fileId("string")
            .build()))
        .network(Map.of("string", VmNetworkArgs.builder()
            .bridge("string")
            .firewall(false)
            .linkDown(false)
            .macAddress("string")
            .model("string")
            .mtu(0)
            .queues(0)
            .rateLimit(0.0)
            .tag(0)
            .trunks(0)
            .build()))
        .cpu(VmCpuArgs.builder()
            .affinity("string")
            .architecture("string")
            .cores(0)
            .flags("string")
            .hotplugged(0)
            .limit(0.0)
            .numa(false)
            .sockets(0)
            .type("string")
            .units(0)
            .build())
        .delete(VmDeleteArgs.builder()
            .disks("string")
            .networks("string")
            .build())
        .resourceId("string")
        .rng(VmRngArgs.builder()
            .maxBytes(0)
            .period(0)
            .source("string")
            .build())
        .started(false)
        .stopOnDestroy(false)
        .tags("string")
        .timeouts(VmTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .read("string")
            .update("string")
            .build())
        .vga(VmVgaArgs.builder()
            .clipboard("string")
            .memory(0)
            .type("string")
            .build())
        .build());
    
    vm_resource = proxmoxve.cloned.Vm("vmResource",
        node_name="string",
        clone={
            "source_vm_id": 0,
            "bandwidth_limit": 0,
            "full": False,
            "pool_id": "string",
            "retries": 0,
            "snapshot_name": "string",
            "source_node_name": "string",
            "target_datastore": "string",
            "target_format": "string",
        },
        name="string",
        purge_on_destroy=False,
        delete_unreferenced_disks_on_destroy=False,
        description="string",
        disk={
            "string": {
                "aio": "string",
                "backup": False,
                "cache": "string",
                "datastore_id": "string",
                "discard": "string",
                "file": "string",
                "format": "string",
                "import_from": "string",
                "iothread": False,
                "media": "string",
                "replicate": False,
                "serial": "string",
                "size_gb": 0,
                "ssd": False,
            },
        },
        memory={
            "balloon": 0,
            "hugepages": "string",
            "keep_hugepages": False,
            "shares": 0,
            "size": 0,
        },
        cdrom={
            "string": {
                "file_id": "string",
            },
        },
        network={
            "string": {
                "bridge": "string",
                "firewall": False,
                "link_down": False,
                "mac_address": "string",
                "model": "string",
                "mtu": 0,
                "queues": 0,
                "rate_limit": 0,
                "tag": 0,
                "trunks": [0],
            },
        },
        cpu={
            "affinity": "string",
            "architecture": "string",
            "cores": 0,
            "flags": ["string"],
            "hotplugged": 0,
            "limit": 0,
            "numa": False,
            "sockets": 0,
            "type": "string",
            "units": 0,
        },
        delete={
            "disks": ["string"],
            "networks": ["string"],
        },
        resource_id="string",
        rng={
            "max_bytes": 0,
            "period": 0,
            "source": "string",
        },
        started=False,
        stop_on_destroy=False,
        tags=["string"],
        timeouts={
            "create": "string",
            "delete": "string",
            "read": "string",
            "update": "string",
        },
        vga={
            "clipboard": "string",
            "memory": 0,
            "type": "string",
        })
    
    const vmResource = new proxmoxve.cloned.Vm("vmResource", {
        nodeName: "string",
        clone: {
            sourceVmId: 0,
            bandwidthLimit: 0,
            full: false,
            poolId: "string",
            retries: 0,
            snapshotName: "string",
            sourceNodeName: "string",
            targetDatastore: "string",
            targetFormat: "string",
        },
        name: "string",
        purgeOnDestroy: false,
        deleteUnreferencedDisksOnDestroy: false,
        description: "string",
        disk: {
            string: {
                aio: "string",
                backup: false,
                cache: "string",
                datastoreId: "string",
                discard: "string",
                file: "string",
                format: "string",
                importFrom: "string",
                iothread: false,
                media: "string",
                replicate: false,
                serial: "string",
                sizeGb: 0,
                ssd: false,
            },
        },
        memory: {
            balloon: 0,
            hugepages: "string",
            keepHugepages: false,
            shares: 0,
            size: 0,
        },
        cdrom: {
            string: {
                fileId: "string",
            },
        },
        network: {
            string: {
                bridge: "string",
                firewall: false,
                linkDown: false,
                macAddress: "string",
                model: "string",
                mtu: 0,
                queues: 0,
                rateLimit: 0,
                tag: 0,
                trunks: [0],
            },
        },
        cpu: {
            affinity: "string",
            architecture: "string",
            cores: 0,
            flags: ["string"],
            hotplugged: 0,
            limit: 0,
            numa: false,
            sockets: 0,
            type: "string",
            units: 0,
        },
        "delete": {
            disks: ["string"],
            networks: ["string"],
        },
        resourceId: "string",
        rng: {
            maxBytes: 0,
            period: 0,
            source: "string",
        },
        started: false,
        stopOnDestroy: false,
        tags: ["string"],
        timeouts: {
            create: "string",
            "delete": "string",
            read: "string",
            update: "string",
        },
        vga: {
            clipboard: "string",
            memory: 0,
            type: "string",
        },
    });
    
    type: proxmoxve:cloned:Vm
    properties:
        cdrom:
            string:
                fileId: string
        clone:
            bandwidthLimit: 0
            full: false
            poolId: string
            retries: 0
            snapshotName: string
            sourceNodeName: string
            sourceVmId: 0
            targetDatastore: string
            targetFormat: string
        cpu:
            affinity: string
            architecture: string
            cores: 0
            flags:
                - string
            hotplugged: 0
            limit: 0
            numa: false
            sockets: 0
            type: string
            units: 0
        delete:
            disks:
                - string
            networks:
                - string
        deleteUnreferencedDisksOnDestroy: false
        description: string
        disk:
            string:
                aio: string
                backup: false
                cache: string
                datastoreId: string
                discard: string
                file: string
                format: string
                importFrom: string
                iothread: false
                media: string
                replicate: false
                serial: string
                sizeGb: 0
                ssd: false
        memory:
            balloon: 0
            hugepages: string
            keepHugepages: false
            shares: 0
            size: 0
        name: string
        network:
            string:
                bridge: string
                firewall: false
                linkDown: false
                macAddress: string
                model: string
                mtu: 0
                queues: 0
                rateLimit: 0
                tag: 0
                trunks:
                    - 0
        nodeName: string
        purgeOnDestroy: false
        resourceId: string
        rng:
            maxBytes: 0
            period: 0
            source: string
        started: false
        stopOnDestroy: false
        tags:
            - string
        timeouts:
            create: string
            delete: string
            read: string
            update: string
        vga:
            clipboard: string
            memory: 0
            type: string
    

    Vm 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 Vm resource accepts the following input properties:

    Clone Pulumi.ProxmoxVE.Cloned.Inputs.VmClone
    Clone settings. Changes require recreation.
    NodeName string
    Target node for the cloned VM.
    Cdrom Dictionary<string, Pulumi.ProxmoxVE.Cloned.Inputs.VmCdromArgs>
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    Cpu Pulumi.ProxmoxVE.Cloned.Inputs.VmCpu
    The CPU configuration.
    Delete Pulumi.ProxmoxVE.Cloned.Inputs.VmDelete
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    DeleteUnreferencedDisksOnDestroy bool
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    Description string
    Optional VM description applied after cloning.
    Disk Dictionary<string, Pulumi.ProxmoxVE.Cloned.Inputs.VmDiskArgs>
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    Memory Pulumi.ProxmoxVE.Cloned.Inputs.VmMemory
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    Name string
    Optional VM name override applied after cloning.
    Network Dictionary<string, Pulumi.ProxmoxVE.Cloned.Inputs.VmNetworkArgs>
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    PurgeOnDestroy bool
    Purge backup configuration on destroy.
    ResourceId string
    The VM identifier in the Proxmox cluster.
    Rng Pulumi.ProxmoxVE.Cloned.Inputs.VmRng
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    Started bool
    Whether the VM should be started after cloning. Defaults to true.
    StopOnDestroy bool
    Stop the VM on destroy (instead of shutdown).
    Tags List<string>
    Tags applied after cloning.
    Timeouts Pulumi.ProxmoxVE.Cloned.Inputs.VmTimeouts
    Vga Pulumi.ProxmoxVE.Cloned.Inputs.VmVga
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    Clone VmCloneArgs
    Clone settings. Changes require recreation.
    NodeName string
    Target node for the cloned VM.
    Cdrom map[string]VmCdromArgs
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    Cpu VmCpuArgs
    The CPU configuration.
    Delete VmDeleteArgs
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    DeleteUnreferencedDisksOnDestroy bool
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    Description string
    Optional VM description applied after cloning.
    Disk map[string]VmDiskArgs
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    Memory VmMemoryArgs
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    Name string
    Optional VM name override applied after cloning.
    Network map[string]VmNetworkArgs
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    PurgeOnDestroy bool
    Purge backup configuration on destroy.
    ResourceId string
    The VM identifier in the Proxmox cluster.
    Rng VmRngArgs
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    Started bool
    Whether the VM should be started after cloning. Defaults to true.
    StopOnDestroy bool
    Stop the VM on destroy (instead of shutdown).
    Tags []string
    Tags applied after cloning.
    Timeouts VmTimeoutsArgs
    Vga VmVgaArgs
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    clone_ VmClone
    Clone settings. Changes require recreation.
    nodeName String
    Target node for the cloned VM.
    cdrom Map<String,VmCdromArgs>
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    cpu VmCpu
    The CPU configuration.
    delete VmDelete
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    deleteUnreferencedDisksOnDestroy Boolean
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description String
    Optional VM description applied after cloning.
    disk Map<String,VmDiskArgs>
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory VmMemory
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name String
    Optional VM name override applied after cloning.
    network Map<String,VmNetworkArgs>
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    purgeOnDestroy Boolean
    Purge backup configuration on destroy.
    resourceId String
    The VM identifier in the Proxmox cluster.
    rng VmRng
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started Boolean
    Whether the VM should be started after cloning. Defaults to true.
    stopOnDestroy Boolean
    Stop the VM on destroy (instead of shutdown).
    tags List<String>
    Tags applied after cloning.
    timeouts VmTimeouts
    vga VmVga
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    clone VmClone
    Clone settings. Changes require recreation.
    nodeName string
    Target node for the cloned VM.
    cdrom {[key: string]: VmCdromArgs}
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    cpu VmCpu
    The CPU configuration.
    delete VmDelete
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    deleteUnreferencedDisksOnDestroy boolean
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description string
    Optional VM description applied after cloning.
    disk {[key: string]: VmDiskArgs}
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory VmMemory
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name string
    Optional VM name override applied after cloning.
    network {[key: string]: VmNetworkArgs}
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    purgeOnDestroy boolean
    Purge backup configuration on destroy.
    resourceId string
    The VM identifier in the Proxmox cluster.
    rng VmRng
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started boolean
    Whether the VM should be started after cloning. Defaults to true.
    stopOnDestroy boolean
    Stop the VM on destroy (instead of shutdown).
    tags string[]
    Tags applied after cloning.
    timeouts VmTimeouts
    vga VmVga
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    clone VmCloneArgs
    Clone settings. Changes require recreation.
    node_name str
    Target node for the cloned VM.
    cdrom Mapping[str, VmCdromArgs]
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    cpu VmCpuArgs
    The CPU configuration.
    delete VmDeleteArgs
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    delete_unreferenced_disks_on_destroy bool
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description str
    Optional VM description applied after cloning.
    disk Mapping[str, VmDiskArgs]
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory VmMemoryArgs
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name str
    Optional VM name override applied after cloning.
    network Mapping[str, VmNetworkArgs]
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    purge_on_destroy bool
    Purge backup configuration on destroy.
    resource_id str
    The VM identifier in the Proxmox cluster.
    rng VmRngArgs
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started bool
    Whether the VM should be started after cloning. Defaults to true.
    stop_on_destroy bool
    Stop the VM on destroy (instead of shutdown).
    tags Sequence[str]
    Tags applied after cloning.
    timeouts VmTimeoutsArgs
    vga VmVgaArgs
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    clone Property Map
    Clone settings. Changes require recreation.
    nodeName String
    Target node for the cloned VM.
    cdrom Map<Property Map>
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    cpu Property Map
    The CPU configuration.
    delete Property Map
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    deleteUnreferencedDisksOnDestroy Boolean
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description String
    Optional VM description applied after cloning.
    disk Map<Property Map>
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory Property Map
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name String
    Optional VM name override applied after cloning.
    network Map<Property Map>
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    purgeOnDestroy Boolean
    Purge backup configuration on destroy.
    resourceId String
    The VM identifier in the Proxmox cluster.
    rng Property Map
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started Boolean
    Whether the VM should be started after cloning. Defaults to true.
    stopOnDestroy Boolean
    Stop the VM on destroy (instead of shutdown).
    tags List<String>
    Tags applied after cloning.
    timeouts Property Map
    vga Property Map
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Vm Resource

    Get an existing Vm 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?: VmState, opts?: CustomResourceOptions): Vm
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            cdrom: Optional[Mapping[str, VmCdromArgs]] = None,
            clone: Optional[VmCloneArgs] = None,
            cpu: Optional[VmCpuArgs] = None,
            delete: Optional[VmDeleteArgs] = None,
            delete_unreferenced_disks_on_destroy: Optional[bool] = None,
            description: Optional[str] = None,
            disk: Optional[Mapping[str, VmDiskArgs]] = None,
            memory: Optional[VmMemoryArgs] = None,
            name: Optional[str] = None,
            network: Optional[Mapping[str, VmNetworkArgs]] = None,
            node_name: Optional[str] = None,
            purge_on_destroy: Optional[bool] = None,
            resource_id: Optional[str] = None,
            rng: Optional[VmRngArgs] = None,
            started: Optional[bool] = None,
            stop_on_destroy: Optional[bool] = None,
            tags: Optional[Sequence[str]] = None,
            timeouts: Optional[VmTimeoutsArgs] = None,
            vga: Optional[VmVgaArgs] = None) -> Vm
    func GetVm(ctx *Context, name string, id IDInput, state *VmState, opts ...ResourceOption) (*Vm, error)
    public static Vm Get(string name, Input<string> id, VmState? state, CustomResourceOptions? opts = null)
    public static Vm get(String name, Output<String> id, VmState state, CustomResourceOptions options)
    resources:  _:    type: proxmoxve:cloned:Vm    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:
    Cdrom Dictionary<string, Pulumi.ProxmoxVE.Cloned.Inputs.VmCdromArgs>
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    Clone Pulumi.ProxmoxVE.Cloned.Inputs.VmClone
    Clone settings. Changes require recreation.
    Cpu Pulumi.ProxmoxVE.Cloned.Inputs.VmCpu
    The CPU configuration.
    Delete Pulumi.ProxmoxVE.Cloned.Inputs.VmDelete
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    DeleteUnreferencedDisksOnDestroy bool
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    Description string
    Optional VM description applied after cloning.
    Disk Dictionary<string, Pulumi.ProxmoxVE.Cloned.Inputs.VmDiskArgs>
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    Memory Pulumi.ProxmoxVE.Cloned.Inputs.VmMemory
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    Name string
    Optional VM name override applied after cloning.
    Network Dictionary<string, Pulumi.ProxmoxVE.Cloned.Inputs.VmNetworkArgs>
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    NodeName string
    Target node for the cloned VM.
    PurgeOnDestroy bool
    Purge backup configuration on destroy.
    ResourceId string
    The VM identifier in the Proxmox cluster.
    Rng Pulumi.ProxmoxVE.Cloned.Inputs.VmRng
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    Started bool
    Whether the VM should be started after cloning. Defaults to true.
    StopOnDestroy bool
    Stop the VM on destroy (instead of shutdown).
    Tags List<string>
    Tags applied after cloning.
    Timeouts Pulumi.ProxmoxVE.Cloned.Inputs.VmTimeouts
    Vga Pulumi.ProxmoxVE.Cloned.Inputs.VmVga
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    Cdrom map[string]VmCdromArgs
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    Clone VmCloneArgs
    Clone settings. Changes require recreation.
    Cpu VmCpuArgs
    The CPU configuration.
    Delete VmDeleteArgs
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    DeleteUnreferencedDisksOnDestroy bool
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    Description string
    Optional VM description applied after cloning.
    Disk map[string]VmDiskArgs
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    Memory VmMemoryArgs
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    Name string
    Optional VM name override applied after cloning.
    Network map[string]VmNetworkArgs
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    NodeName string
    Target node for the cloned VM.
    PurgeOnDestroy bool
    Purge backup configuration on destroy.
    ResourceId string
    The VM identifier in the Proxmox cluster.
    Rng VmRngArgs
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    Started bool
    Whether the VM should be started after cloning. Defaults to true.
    StopOnDestroy bool
    Stop the VM on destroy (instead of shutdown).
    Tags []string
    Tags applied after cloning.
    Timeouts VmTimeoutsArgs
    Vga VmVgaArgs
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    cdrom Map<String,VmCdromArgs>
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    clone_ VmClone
    Clone settings. Changes require recreation.
    cpu VmCpu
    The CPU configuration.
    delete VmDelete
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    deleteUnreferencedDisksOnDestroy Boolean
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description String
    Optional VM description applied after cloning.
    disk Map<String,VmDiskArgs>
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory VmMemory
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name String
    Optional VM name override applied after cloning.
    network Map<String,VmNetworkArgs>
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    nodeName String
    Target node for the cloned VM.
    purgeOnDestroy Boolean
    Purge backup configuration on destroy.
    resourceId String
    The VM identifier in the Proxmox cluster.
    rng VmRng
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started Boolean
    Whether the VM should be started after cloning. Defaults to true.
    stopOnDestroy Boolean
    Stop the VM on destroy (instead of shutdown).
    tags List<String>
    Tags applied after cloning.
    timeouts VmTimeouts
    vga VmVga
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    cdrom {[key: string]: VmCdromArgs}
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    clone VmClone
    Clone settings. Changes require recreation.
    cpu VmCpu
    The CPU configuration.
    delete VmDelete
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    deleteUnreferencedDisksOnDestroy boolean
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description string
    Optional VM description applied after cloning.
    disk {[key: string]: VmDiskArgs}
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory VmMemory
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name string
    Optional VM name override applied after cloning.
    network {[key: string]: VmNetworkArgs}
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    nodeName string
    Target node for the cloned VM.
    purgeOnDestroy boolean
    Purge backup configuration on destroy.
    resourceId string
    The VM identifier in the Proxmox cluster.
    rng VmRng
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started boolean
    Whether the VM should be started after cloning. Defaults to true.
    stopOnDestroy boolean
    Stop the VM on destroy (instead of shutdown).
    tags string[]
    Tags applied after cloning.
    timeouts VmTimeouts
    vga VmVga
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    cdrom Mapping[str, VmCdromArgs]
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    clone VmCloneArgs
    Clone settings. Changes require recreation.
    cpu VmCpuArgs
    The CPU configuration.
    delete VmDeleteArgs
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    delete_unreferenced_disks_on_destroy bool
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description str
    Optional VM description applied after cloning.
    disk Mapping[str, VmDiskArgs]
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory VmMemoryArgs
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name str
    Optional VM name override applied after cloning.
    network Mapping[str, VmNetworkArgs]
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    node_name str
    Target node for the cloned VM.
    purge_on_destroy bool
    Purge backup configuration on destroy.
    resource_id str
    The VM identifier in the Proxmox cluster.
    rng VmRngArgs
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started bool
    Whether the VM should be started after cloning. Defaults to true.
    stop_on_destroy bool
    Stop the VM on destroy (instead of shutdown).
    tags Sequence[str]
    Tags applied after cloning.
    timeouts VmTimeoutsArgs
    vga VmVgaArgs
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.
    cdrom Map<Property Map>
    The CD-ROM configuration. The key is the interface of the CD-ROM, could be one of ideN, sataN, scsiN, where N is the index of the interface. Note that q35 machine type only supports ide0 and ide2 of IDE interfaces.
    clone Property Map
    Clone settings. Changes require recreation.
    cpu Property Map
    The CPU configuration.
    delete Property Map
    Explicit deletions to perform after cloning/updating. Entries persist across applies.
    deleteUnreferencedDisksOnDestroy Boolean
    Delete unreferenced disks on destroy. WARNING: When set to true, any disks not explicitly managed by Terraform will be deleted on destroy, potentially causing data loss. Defaults to false for safety.
    description String
    Optional VM description applied after cloning.
    disk Map<Property Map>
    Disks keyed by slot (scsi0, virtio0, sata0, ide0, ...). Only listed keys are managed.
    memory Property Map
    Memory configuration for the VM. Uses Proxmox memory ballooning to allow dynamic memory allocation. The size sets the total available RAM, while balloon sets the guaranteed floor. The host can reclaim memory between these values when needed.
    name String
    Optional VM name override applied after cloning.
    network Map<Property Map>
    Network devices keyed by slot (net0, net1, ...). Only listed keys are managed.
    nodeName String
    Target node for the cloned VM.
    purgeOnDestroy Boolean
    Purge backup configuration on destroy.
    resourceId String
    The VM identifier in the Proxmox cluster.
    rng Property Map
    Configure the RNG (Random Number Generator) device. The RNG device provides entropy to guests to ensure good quality random numbers for guest applications that require them. Can only be set by root@pam. See the Proxmox documentation for more information.
    started Boolean
    Whether the VM should be started after cloning. Defaults to true.
    stopOnDestroy Boolean
    Stop the VM on destroy (instead of shutdown).
    tags List<String>
    Tags applied after cloning.
    timeouts Property Map
    vga Property Map
    Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is std for all OS types besides some Windows versions (XP and older) which use cirrus. The qxl option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays themself. You can also run without any graphic card, using a serial device as terminal. See the Proxmox documentation section 10.2.8 for more information and available configuration parameters.

    Supporting Types

    VmCdrom, VmCdromArgs

    FileId string
    The file ID of the CD-ROM, or cdrom|none. Defaults to none to leave the CD-ROM empty. Use cdrom to connect to the physical drive.
    FileId string
    The file ID of the CD-ROM, or cdrom|none. Defaults to none to leave the CD-ROM empty. Use cdrom to connect to the physical drive.
    fileId String
    The file ID of the CD-ROM, or cdrom|none. Defaults to none to leave the CD-ROM empty. Use cdrom to connect to the physical drive.
    fileId string
    The file ID of the CD-ROM, or cdrom|none. Defaults to none to leave the CD-ROM empty. Use cdrom to connect to the physical drive.
    file_id str
    The file ID of the CD-ROM, or cdrom|none. Defaults to none to leave the CD-ROM empty. Use cdrom to connect to the physical drive.
    fileId String
    The file ID of the CD-ROM, or cdrom|none. Defaults to none to leave the CD-ROM empty. Use cdrom to connect to the physical drive.

    VmClone, VmCloneArgs

    SourceVmId int
    Source VM/template ID to clone from.
    BandwidthLimit int
    Clone bandwidth limit in MB/s.
    Full bool
    Perform a full clone (true) or linked clone (false).
    PoolId string
    Pool to assign the cloned VM to.
    Retries int
    Number of retries for clone operations.
    SnapshotName string
    Snapshot name to clone from.
    SourceNodeName string
    Source node of the VM/template. Defaults to target node if unset.
    TargetDatastore string
    Target datastore for cloned disks.
    TargetFormat string
    Target disk format for clone (e.g., raw, qcow2).
    SourceVmId int
    Source VM/template ID to clone from.
    BandwidthLimit int
    Clone bandwidth limit in MB/s.
    Full bool
    Perform a full clone (true) or linked clone (false).
    PoolId string
    Pool to assign the cloned VM to.
    Retries int
    Number of retries for clone operations.
    SnapshotName string
    Snapshot name to clone from.
    SourceNodeName string
    Source node of the VM/template. Defaults to target node if unset.
    TargetDatastore string
    Target datastore for cloned disks.
    TargetFormat string
    Target disk format for clone (e.g., raw, qcow2).
    sourceVmId Integer
    Source VM/template ID to clone from.
    bandwidthLimit Integer
    Clone bandwidth limit in MB/s.
    full Boolean
    Perform a full clone (true) or linked clone (false).
    poolId String
    Pool to assign the cloned VM to.
    retries Integer
    Number of retries for clone operations.
    snapshotName String
    Snapshot name to clone from.
    sourceNodeName String
    Source node of the VM/template. Defaults to target node if unset.
    targetDatastore String
    Target datastore for cloned disks.
    targetFormat String
    Target disk format for clone (e.g., raw, qcow2).
    sourceVmId number
    Source VM/template ID to clone from.
    bandwidthLimit number
    Clone bandwidth limit in MB/s.
    full boolean
    Perform a full clone (true) or linked clone (false).
    poolId string
    Pool to assign the cloned VM to.
    retries number
    Number of retries for clone operations.
    snapshotName string
    Snapshot name to clone from.
    sourceNodeName string
    Source node of the VM/template. Defaults to target node if unset.
    targetDatastore string
    Target datastore for cloned disks.
    targetFormat string
    Target disk format for clone (e.g., raw, qcow2).
    source_vm_id int
    Source VM/template ID to clone from.
    bandwidth_limit int
    Clone bandwidth limit in MB/s.
    full bool
    Perform a full clone (true) or linked clone (false).
    pool_id str
    Pool to assign the cloned VM to.
    retries int
    Number of retries for clone operations.
    snapshot_name str
    Snapshot name to clone from.
    source_node_name str
    Source node of the VM/template. Defaults to target node if unset.
    target_datastore str
    Target datastore for cloned disks.
    target_format str
    Target disk format for clone (e.g., raw, qcow2).
    sourceVmId Number
    Source VM/template ID to clone from.
    bandwidthLimit Number
    Clone bandwidth limit in MB/s.
    full Boolean
    Perform a full clone (true) or linked clone (false).
    poolId String
    Pool to assign the cloned VM to.
    retries Number
    Number of retries for clone operations.
    snapshotName String
    Snapshot name to clone from.
    sourceNodeName String
    Source node of the VM/template. Defaults to target node if unset.
    targetDatastore String
    Target datastore for cloned disks.
    targetFormat String
    Target disk format for clone (e.g., raw, qcow2).

    VmCpu, VmCpuArgs

    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 <aarch64 | x86_64> (defaults to the host). Setting architecture is only allowed for root@pam authenticated user.
    Cores int
    The number of CPU cores per socket (defaults to 1).
    Flags List<string>
    Set of additional CPU flags. Use +FLAG to enable, -FLAG to disable a flag. Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.
    Hotplugged int
    The number of hotplugged vCPUs (defaults to 0).
    Limit double
    Limit of CPU usage (defaults to 0 which means no limit).
    Numa bool
    Enable NUMA (defaults to false).
    Sockets int
    The number of CPU sockets (defaults to 1).
    Type string
    Emulated CPU type, it's recommended to use x86-64-v2-AES or higher (defaults to kvm64). See https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qmvirtualmachines_settings for more information.
    Units int
    CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.
    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 <aarch64 | x86_64> (defaults to the host). Setting architecture is only allowed for root@pam authenticated user.
    Cores int
    The number of CPU cores per socket (defaults to 1).
    Flags []string
    Set of additional CPU flags. Use +FLAG to enable, -FLAG to disable a flag. Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.
    Hotplugged int
    The number of hotplugged vCPUs (defaults to 0).
    Limit float64
    Limit of CPU usage (defaults to 0 which means no limit).
    Numa bool
    Enable NUMA (defaults to false).
    Sockets int
    The number of CPU sockets (defaults to 1).
    Type string
    Emulated CPU type, it's recommended to use x86-64-v2-AES or higher (defaults to kvm64). See https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qmvirtualmachines_settings for more information.
    Units int
    CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.
    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 <aarch64 | x86_64> (defaults to the host). Setting architecture is only allowed for root@pam authenticated user.
    cores Integer
    The number of CPU cores per socket (defaults to 1).
    flags List<String>
    Set of additional CPU flags. Use +FLAG to enable, -FLAG to disable a flag. Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.
    hotplugged Integer
    The number of hotplugged vCPUs (defaults to 0).
    limit Double
    Limit of CPU usage (defaults to 0 which means no limit).
    numa Boolean
    Enable NUMA (defaults to false).
    sockets Integer
    The number of CPU sockets (defaults to 1).
    type String
    Emulated CPU type, it's recommended to use x86-64-v2-AES or higher (defaults to kvm64). See https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qmvirtualmachines_settings for more information.
    units Integer
    CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.
    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 <aarch64 | x86_64> (defaults to the host). Setting architecture is only allowed for root@pam authenticated user.
    cores number
    The number of CPU cores per socket (defaults to 1).
    flags string[]
    Set of additional CPU flags. Use +FLAG to enable, -FLAG to disable a flag. Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.
    hotplugged number
    The number of hotplugged vCPUs (defaults to 0).
    limit number
    Limit of CPU usage (defaults to 0 which means no limit).
    numa boolean
    Enable NUMA (defaults to false).
    sockets number
    The number of CPU sockets (defaults to 1).
    type string
    Emulated CPU type, it's recommended to use x86-64-v2-AES or higher (defaults to kvm64). See https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qmvirtualmachines_settings for more information.
    units number
    CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.
    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 <aarch64 | x86_64> (defaults to the host). Setting architecture is only allowed for root@pam authenticated user.
    cores int
    The number of CPU cores per socket (defaults to 1).
    flags Sequence[str]
    Set of additional CPU flags. Use +FLAG to enable, -FLAG to disable a flag. Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.
    hotplugged int
    The number of hotplugged vCPUs (defaults to 0).
    limit float
    Limit of CPU usage (defaults to 0 which means no limit).
    numa bool
    Enable NUMA (defaults to false).
    sockets int
    The number of CPU sockets (defaults to 1).
    type str
    Emulated CPU type, it's recommended to use x86-64-v2-AES or higher (defaults to kvm64). See https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qmvirtualmachines_settings for more information.
    units int
    CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.
    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 <aarch64 | x86_64> (defaults to the host). Setting architecture is only allowed for root@pam authenticated user.
    cores Number
    The number of CPU cores per socket (defaults to 1).
    flags List<String>
    Set of additional CPU flags. Use +FLAG to enable, -FLAG to disable a flag. Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.
    hotplugged Number
    The number of hotplugged vCPUs (defaults to 0).
    limit Number
    Limit of CPU usage (defaults to 0 which means no limit).
    numa Boolean
    Enable NUMA (defaults to false).
    sockets Number
    The number of CPU sockets (defaults to 1).
    type String
    Emulated CPU type, it's recommended to use x86-64-v2-AES or higher (defaults to kvm64). See https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qmvirtualmachines_settings for more information.
    units Number
    CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.

    VmDelete, VmDeleteArgs

    Disks List<string>
    Disk slots to delete (e.g., scsi2).
    Networks List<string>
    Network slots to delete (e.g., net1).
    Disks []string
    Disk slots to delete (e.g., scsi2).
    Networks []string
    Network slots to delete (e.g., net1).
    disks List<String>
    Disk slots to delete (e.g., scsi2).
    networks List<String>
    Network slots to delete (e.g., net1).
    disks string[]
    Disk slots to delete (e.g., scsi2).
    networks string[]
    Network slots to delete (e.g., net1).
    disks Sequence[str]
    Disk slots to delete (e.g., scsi2).
    networks Sequence[str]
    Network slots to delete (e.g., net1).
    disks List<String>
    Disk slots to delete (e.g., scsi2).
    networks List<String>
    Network slots to delete (e.g., net1).

    VmDisk, VmDiskArgs

    Aio string
    AIO mode (io_uring, native, threads).
    Backup bool
    Include disk in backups.
    Cache string
    Cache mode.
    DatastoreId string
    Target datastore for new disks when file is not provided.
    Discard string
    Discard/trim behavior.
    File string
    Existing volume reference (e.g., local-lvm:vm-100-disk-0).
    Format string
    Disk format (raw, qcow2, vmdk).
    ImportFrom string
    Import source volume/file id.
    Iothread bool
    Use IO thread.
    Media string
    Disk media (e.g., disk, cdrom).
    Replicate bool
    Consider disk for replication.
    Serial string
    Disk serial number.
    SizeGb int
    Disk size (GiB) when creating new disks. Note: Disk shrinking is not supported. Attempting to set sizeGb to a value smaller than the current disk size will result in an error. Only disk expansion is allowed.
    Ssd bool
    Mark disk as SSD.
    Aio string
    AIO mode (io_uring, native, threads).
    Backup bool
    Include disk in backups.
    Cache string
    Cache mode.
    DatastoreId string
    Target datastore for new disks when file is not provided.
    Discard string
    Discard/trim behavior.
    File string
    Existing volume reference (e.g., local-lvm:vm-100-disk-0).
    Format string
    Disk format (raw, qcow2, vmdk).
    ImportFrom string
    Import source volume/file id.
    Iothread bool
    Use IO thread.
    Media string
    Disk media (e.g., disk, cdrom).
    Replicate bool
    Consider disk for replication.
    Serial string
    Disk serial number.
    SizeGb int
    Disk size (GiB) when creating new disks. Note: Disk shrinking is not supported. Attempting to set sizeGb to a value smaller than the current disk size will result in an error. Only disk expansion is allowed.
    Ssd bool
    Mark disk as SSD.
    aio String
    AIO mode (io_uring, native, threads).
    backup Boolean
    Include disk in backups.
    cache String
    Cache mode.
    datastoreId String
    Target datastore for new disks when file is not provided.
    discard String
    Discard/trim behavior.
    file String
    Existing volume reference (e.g., local-lvm:vm-100-disk-0).
    format String
    Disk format (raw, qcow2, vmdk).
    importFrom String
    Import source volume/file id.
    iothread Boolean
    Use IO thread.
    media String
    Disk media (e.g., disk, cdrom).
    replicate Boolean
    Consider disk for replication.
    serial String
    Disk serial number.
    sizeGb Integer
    Disk size (GiB) when creating new disks. Note: Disk shrinking is not supported. Attempting to set sizeGb to a value smaller than the current disk size will result in an error. Only disk expansion is allowed.
    ssd Boolean
    Mark disk as SSD.
    aio string
    AIO mode (io_uring, native, threads).
    backup boolean
    Include disk in backups.
    cache string
    Cache mode.
    datastoreId string
    Target datastore for new disks when file is not provided.
    discard string
    Discard/trim behavior.
    file string
    Existing volume reference (e.g., local-lvm:vm-100-disk-0).
    format string
    Disk format (raw, qcow2, vmdk).
    importFrom string
    Import source volume/file id.
    iothread boolean
    Use IO thread.
    media string
    Disk media (e.g., disk, cdrom).
    replicate boolean
    Consider disk for replication.
    serial string
    Disk serial number.
    sizeGb number
    Disk size (GiB) when creating new disks. Note: Disk shrinking is not supported. Attempting to set sizeGb to a value smaller than the current disk size will result in an error. Only disk expansion is allowed.
    ssd boolean
    Mark disk as SSD.
    aio str
    AIO mode (io_uring, native, threads).
    backup bool
    Include disk in backups.
    cache str
    Cache mode.
    datastore_id str
    Target datastore for new disks when file is not provided.
    discard str
    Discard/trim behavior.
    file str
    Existing volume reference (e.g., local-lvm:vm-100-disk-0).
    format str
    Disk format (raw, qcow2, vmdk).
    import_from str
    Import source volume/file id.
    iothread bool
    Use IO thread.
    media str
    Disk media (e.g., disk, cdrom).
    replicate bool
    Consider disk for replication.
    serial str
    Disk serial number.
    size_gb int
    Disk size (GiB) when creating new disks. Note: Disk shrinking is not supported. Attempting to set sizeGb to a value smaller than the current disk size will result in an error. Only disk expansion is allowed.
    ssd bool
    Mark disk as SSD.
    aio String
    AIO mode (io_uring, native, threads).
    backup Boolean
    Include disk in backups.
    cache String
    Cache mode.
    datastoreId String
    Target datastore for new disks when file is not provided.
    discard String
    Discard/trim behavior.
    file String
    Existing volume reference (e.g., local-lvm:vm-100-disk-0).
    format String
    Disk format (raw, qcow2, vmdk).
    importFrom String
    Import source volume/file id.
    iothread Boolean
    Use IO thread.
    media String
    Disk media (e.g., disk, cdrom).
    replicate Boolean
    Consider disk for replication.
    serial String
    Disk serial number.
    sizeGb Number
    Disk size (GiB) when creating new disks. Note: Disk shrinking is not supported. Attempting to set sizeGb to a value smaller than the current disk size will result in an error. Only disk expansion is allowed.
    ssd Boolean
    Mark disk as SSD.

    VmMemory, VmMemoryArgs

    Balloon int
    Minimum guaranteed memory in MiB via balloon device. This is the floor amount of RAM that is always guaranteed to the VM. Setting to 0 disables the balloon driver entirely (defaults to 0).
    Hugepages string

    Enable hugepages for VM memory allocation. Hugepages can improve performance for memory-intensive workloads by reducing TLB misses.

    Options:

    • 2 - Use 2 MiB hugepages
    • 1024 - Use 1 GiB hugepages
    • any - Use any available hugepage size
    KeepHugepages bool
    Don't release hugepages when the VM shuts down. By default, hugepages are released back to the host when the VM stops. Setting this to true keeps them allocated for faster VM startup (defaults to false).
    Shares int
    CPU scheduler priority for memory ballooning. This is used by the kernel fair scheduler. Higher values mean this VM gets more CPU time during memory ballooning operations. The value is relative to other running VMs (defaults to 1000).
    Size int
    Total memory available to the VM in MiB. This is the total RAM the VM can use. When ballooning is enabled (balloon > 0), memory between balloon and size can be reclaimed by the host. When ballooning is disabled (balloon = 0), this is the fixed amount of RAM allocated to the VM (defaults to 512 MiB).
    Balloon int
    Minimum guaranteed memory in MiB via balloon device. This is the floor amount of RAM that is always guaranteed to the VM. Setting to 0 disables the balloon driver entirely (defaults to 0).
    Hugepages string

    Enable hugepages for VM memory allocation. Hugepages can improve performance for memory-intensive workloads by reducing TLB misses.

    Options:

    • 2 - Use 2 MiB hugepages
    • 1024 - Use 1 GiB hugepages
    • any - Use any available hugepage size
    KeepHugepages bool
    Don't release hugepages when the VM shuts down. By default, hugepages are released back to the host when the VM stops. Setting this to true keeps them allocated for faster VM startup (defaults to false).
    Shares int
    CPU scheduler priority for memory ballooning. This is used by the kernel fair scheduler. Higher values mean this VM gets more CPU time during memory ballooning operations. The value is relative to other running VMs (defaults to 1000).
    Size int
    Total memory available to the VM in MiB. This is the total RAM the VM can use. When ballooning is enabled (balloon > 0), memory between balloon and size can be reclaimed by the host. When ballooning is disabled (balloon = 0), this is the fixed amount of RAM allocated to the VM (defaults to 512 MiB).
    balloon Integer
    Minimum guaranteed memory in MiB via balloon device. This is the floor amount of RAM that is always guaranteed to the VM. Setting to 0 disables the balloon driver entirely (defaults to 0).
    hugepages String

    Enable hugepages for VM memory allocation. Hugepages can improve performance for memory-intensive workloads by reducing TLB misses.

    Options:

    • 2 - Use 2 MiB hugepages
    • 1024 - Use 1 GiB hugepages
    • any - Use any available hugepage size
    keepHugepages Boolean
    Don't release hugepages when the VM shuts down. By default, hugepages are released back to the host when the VM stops. Setting this to true keeps them allocated for faster VM startup (defaults to false).
    shares Integer
    CPU scheduler priority for memory ballooning. This is used by the kernel fair scheduler. Higher values mean this VM gets more CPU time during memory ballooning operations. The value is relative to other running VMs (defaults to 1000).
    size Integer
    Total memory available to the VM in MiB. This is the total RAM the VM can use. When ballooning is enabled (balloon > 0), memory between balloon and size can be reclaimed by the host. When ballooning is disabled (balloon = 0), this is the fixed amount of RAM allocated to the VM (defaults to 512 MiB).
    balloon number
    Minimum guaranteed memory in MiB via balloon device. This is the floor amount of RAM that is always guaranteed to the VM. Setting to 0 disables the balloon driver entirely (defaults to 0).
    hugepages string

    Enable hugepages for VM memory allocation. Hugepages can improve performance for memory-intensive workloads by reducing TLB misses.

    Options:

    • 2 - Use 2 MiB hugepages
    • 1024 - Use 1 GiB hugepages
    • any - Use any available hugepage size
    keepHugepages boolean
    Don't release hugepages when the VM shuts down. By default, hugepages are released back to the host when the VM stops. Setting this to true keeps them allocated for faster VM startup (defaults to false).
    shares number
    CPU scheduler priority for memory ballooning. This is used by the kernel fair scheduler. Higher values mean this VM gets more CPU time during memory ballooning operations. The value is relative to other running VMs (defaults to 1000).
    size number
    Total memory available to the VM in MiB. This is the total RAM the VM can use. When ballooning is enabled (balloon > 0), memory between balloon and size can be reclaimed by the host. When ballooning is disabled (balloon = 0), this is the fixed amount of RAM allocated to the VM (defaults to 512 MiB).
    balloon int
    Minimum guaranteed memory in MiB via balloon device. This is the floor amount of RAM that is always guaranteed to the VM. Setting to 0 disables the balloon driver entirely (defaults to 0).
    hugepages str

    Enable hugepages for VM memory allocation. Hugepages can improve performance for memory-intensive workloads by reducing TLB misses.

    Options:

    • 2 - Use 2 MiB hugepages
    • 1024 - Use 1 GiB hugepages
    • any - Use any available hugepage size
    keep_hugepages bool
    Don't release hugepages when the VM shuts down. By default, hugepages are released back to the host when the VM stops. Setting this to true keeps them allocated for faster VM startup (defaults to false).
    shares int
    CPU scheduler priority for memory ballooning. This is used by the kernel fair scheduler. Higher values mean this VM gets more CPU time during memory ballooning operations. The value is relative to other running VMs (defaults to 1000).
    size int
    Total memory available to the VM in MiB. This is the total RAM the VM can use. When ballooning is enabled (balloon > 0), memory between balloon and size can be reclaimed by the host. When ballooning is disabled (balloon = 0), this is the fixed amount of RAM allocated to the VM (defaults to 512 MiB).
    balloon Number
    Minimum guaranteed memory in MiB via balloon device. This is the floor amount of RAM that is always guaranteed to the VM. Setting to 0 disables the balloon driver entirely (defaults to 0).
    hugepages String

    Enable hugepages for VM memory allocation. Hugepages can improve performance for memory-intensive workloads by reducing TLB misses.

    Options:

    • 2 - Use 2 MiB hugepages
    • 1024 - Use 1 GiB hugepages
    • any - Use any available hugepage size
    keepHugepages Boolean
    Don't release hugepages when the VM shuts down. By default, hugepages are released back to the host when the VM stops. Setting this to true keeps them allocated for faster VM startup (defaults to false).
    shares Number
    CPU scheduler priority for memory ballooning. This is used by the kernel fair scheduler. Higher values mean this VM gets more CPU time during memory ballooning operations. The value is relative to other running VMs (defaults to 1000).
    size Number
    Total memory available to the VM in MiB. This is the total RAM the VM can use. When ballooning is enabled (balloon > 0), memory between balloon and size can be reclaimed by the host. When ballooning is disabled (balloon = 0), this is the fixed amount of RAM allocated to the VM (defaults to 512 MiB).

    VmNetwork, VmNetworkArgs

    Bridge string
    Bridge name.
    Firewall bool
    Enable firewall on this interface.
    LinkDown bool
    Keep link down.
    MacAddress string
    MAC address (computed if omitted).
    Model string
    NIC model (e.g., virtio, e1000).
    Mtu int
    Interface MTU.
    Queues int
    Number of multiqueue NIC queues.
    RateLimit double
    Rate limit (MB/s).
    Tag int
    VLAN tag.
    Trunks List<int>
    Trunk VLAN IDs.
    Bridge string
    Bridge name.
    Firewall bool
    Enable firewall on this interface.
    LinkDown bool
    Keep link down.
    MacAddress string
    MAC address (computed if omitted).
    Model string
    NIC model (e.g., virtio, e1000).
    Mtu int
    Interface MTU.
    Queues int
    Number of multiqueue NIC queues.
    RateLimit float64
    Rate limit (MB/s).
    Tag int
    VLAN tag.
    Trunks []int
    Trunk VLAN IDs.
    bridge String
    Bridge name.
    firewall Boolean
    Enable firewall on this interface.
    linkDown Boolean
    Keep link down.
    macAddress String
    MAC address (computed if omitted).
    model String
    NIC model (e.g., virtio, e1000).
    mtu Integer
    Interface MTU.
    queues Integer
    Number of multiqueue NIC queues.
    rateLimit Double
    Rate limit (MB/s).
    tag Integer
    VLAN tag.
    trunks List<Integer>
    Trunk VLAN IDs.
    bridge string
    Bridge name.
    firewall boolean
    Enable firewall on this interface.
    linkDown boolean
    Keep link down.
    macAddress string
    MAC address (computed if omitted).
    model string
    NIC model (e.g., virtio, e1000).
    mtu number
    Interface MTU.
    queues number
    Number of multiqueue NIC queues.
    rateLimit number
    Rate limit (MB/s).
    tag number
    VLAN tag.
    trunks number[]
    Trunk VLAN IDs.
    bridge str
    Bridge name.
    firewall bool
    Enable firewall on this interface.
    link_down bool
    Keep link down.
    mac_address str
    MAC address (computed if omitted).
    model str
    NIC model (e.g., virtio, e1000).
    mtu int
    Interface MTU.
    queues int
    Number of multiqueue NIC queues.
    rate_limit float
    Rate limit (MB/s).
    tag int
    VLAN tag.
    trunks Sequence[int]
    Trunk VLAN IDs.
    bridge String
    Bridge name.
    firewall Boolean
    Enable firewall on this interface.
    linkDown Boolean
    Keep link down.
    macAddress String
    MAC address (computed if omitted).
    model String
    NIC model (e.g., virtio, e1000).
    mtu Number
    Interface MTU.
    queues Number
    Number of multiqueue NIC queues.
    rateLimit Number
    Rate limit (MB/s).
    tag Number
    VLAN tag.
    trunks List<Number>
    Trunk VLAN IDs.

    VmRng, VmRngArgs

    MaxBytes int
    Maximum bytes of entropy allowed to get injected into the guest every period. Use 0 to disable limiting (potentially dangerous).
    Period int
    Period in milliseconds to limit entropy injection to the guest. Use 0 to disable limiting (potentially dangerous).
    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. Use 0 to disable limiting (potentially dangerous).
    Period int
    Period in milliseconds to limit entropy injection to the guest. Use 0 to disable limiting (potentially dangerous).
    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. Use 0 to disable limiting (potentially dangerous).
    period Integer
    Period in milliseconds to limit entropy injection to the guest. Use 0 to disable limiting (potentially dangerous).
    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. Use 0 to disable limiting (potentially dangerous).
    period number
    Period in milliseconds to limit entropy injection to the guest. Use 0 to disable limiting (potentially dangerous).
    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.
    max_bytes int
    Maximum bytes of entropy allowed to get injected into the guest every period. Use 0 to disable limiting (potentially dangerous).
    period int
    Period in milliseconds to limit entropy injection to the guest. Use 0 to disable limiting (potentially dangerous).
    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.
    maxBytes Number
    Maximum bytes of entropy allowed to get injected into the guest every period. Use 0 to disable limiting (potentially dangerous).
    period Number
    Period in milliseconds to limit entropy injection to the guest. Use 0 to disable limiting (potentially dangerous).
    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.

    VmTimeouts, VmTimeoutsArgs

    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Read string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Read string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    read String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    read string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    read str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    update str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    read String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

    VmVga, VmVgaArgs

    Clipboard string
    Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Currently only vnc is available. Migration with VNC clipboard is not supported by Proxmox.
    Memory int
    The VGA memory in megabytes (4-512 MB). Has no effect with serial display.
    Type string
    The VGA type (defaults to std).
    Clipboard string
    Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Currently only vnc is available. Migration with VNC clipboard is not supported by Proxmox.
    Memory int
    The VGA memory in megabytes (4-512 MB). Has no effect with serial display.
    Type string
    The VGA type (defaults to std).
    clipboard String
    Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Currently only vnc is available. Migration with VNC clipboard is not supported by Proxmox.
    memory Integer
    The VGA memory in megabytes (4-512 MB). Has no effect with serial display.
    type String
    The VGA type (defaults to std).
    clipboard string
    Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Currently only vnc is available. Migration with VNC clipboard is not supported by Proxmox.
    memory number
    The VGA memory in megabytes (4-512 MB). Has no effect with serial display.
    type string
    The VGA type (defaults to std).
    clipboard str
    Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Currently only vnc is available. Migration with VNC clipboard is not supported by Proxmox.
    memory int
    The VGA memory in megabytes (4-512 MB). Has no effect with serial display.
    type str
    The VGA type (defaults to std).
    clipboard String
    Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Currently only vnc is available. Migration with VNC clipboard is not supported by Proxmox.
    memory Number
    The VGA memory in megabytes (4-512 MB). Has no effect with serial display.
    type String
    The VGA type (defaults to std).

    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.