published on Sunday, Jul 5, 2026 by Daniel Muehlbachler-Pietrzykowski
published on Sunday, Jul 5, 2026 by Daniel Muehlbachler-Pietrzykowski
Manages a ZFS pool (zpool) on a Proxmox VE node.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
const example = new proxmoxve.node.disk.Zfs("example", {
nodeName: "pve",
name: "tank",
devices: [
"/dev/sdb",
"/dev/sdc",
],
raidlevel: "mirror",
ashift: 12,
compression: "lz4",
addStorage: true,
cleanupConfig: true,
cleanupDisks: false,
});
import pulumi
import pulumi_proxmoxve as proxmoxve
example = proxmoxve.node.disk.Zfs("example",
node_name="pve",
name="tank",
devices=[
"/dev/sdb",
"/dev/sdc",
],
raidlevel="mirror",
ashift=12,
compression="lz4",
add_storage=True,
cleanup_config=True,
cleanup_disks=False)
package main
import (
"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve/node"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := node.NewZfs(ctx, "example", &node.ZfsArgs{
NodeName: pulumi.String("pve"),
Name: pulumi.String("tank"),
Devices: pulumi.StringArray{
pulumi.String("/dev/sdb"),
pulumi.String("/dev/sdc"),
},
Raidlevel: pulumi.String("mirror"),
Ashift: pulumi.Int(12),
Compression: pulumi.String("lz4"),
AddStorage: pulumi.Bool(true),
CleanupConfig: pulumi.Bool(true),
CleanupDisks: pulumi.Bool(false),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using ProxmoxVE = Pulumi.ProxmoxVE;
return await Deployment.RunAsync(() =>
{
var example = new ProxmoxVE.Node.Disk.Zfs("example", new()
{
NodeName = "pve",
Name = "tank",
Devices = new[]
{
"/dev/sdb",
"/dev/sdc",
},
Raidlevel = "mirror",
Ashift = 12,
Compression = "lz4",
AddStorage = true,
CleanupConfig = true,
CleanupDisks = false,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import io.muehlbachler.pulumi.proxmoxve.node.Zfs;
import io.muehlbachler.pulumi.proxmoxve.node.ZfsArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Zfs("example", ZfsArgs.builder()
.nodeName("pve")
.name("tank")
.devices(
"/dev/sdb",
"/dev/sdc")
.raidlevel("mirror")
.ashift(12)
.compression("lz4")
.addStorage(true)
.cleanupConfig(true)
.cleanupDisks(false)
.build());
}
}
resources:
example:
type: proxmoxve:node/disk:Zfs
properties:
nodeName: pve
name: tank
devices:
- /dev/sdb
- /dev/sdc
raidlevel: mirror
ashift: 12
compression: lz4
addStorage: true
cleanupConfig: true
cleanupDisks: false
pulumi {
required_providers {
proxmoxve = {
source = "pulumi/proxmoxve"
}
}
}
resource "proxmoxve_node_disk_zfs" "example" {
node_name = "pve"
name = "tank"
devices = ["/dev/sdb", "/dev/sdc"]
raidlevel = "mirror"
ashift = 12
compression = "lz4"
add_storage = true
cleanup_config = true
cleanup_disks = false
}
Device Reuse After Destroy
When cleanupDisks = true, Proxmox wipes the contents of each ZFS member partition
(e.g. /dev/nvme0n1p1) but leaves the parent disk’s GPT partition table intact.
If you destroy a pool and immediately recreate it on the same device, the create may
fail with “device is already in use”.
To fully prepare the device for reuse after destroy, run on the Proxmox node:
wipefs -a /dev/nvme0n1
partprobe /dev/nvme0n1
Replace /dev/nvme0n1 with the actual disk device (not the partition).
Create Zfs Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Zfs(name: string, args: ZfsArgs, opts?: CustomResourceOptions);@overload
def Zfs(resource_name: str,
args: ZfsArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Zfs(resource_name: str,
opts: Optional[ResourceOptions] = None,
devices: Optional[Sequence[str]] = None,
node_name: Optional[str] = None,
raidlevel: Optional[str] = None,
add_storage: Optional[bool] = None,
ashift: Optional[int] = None,
cleanup_config: Optional[bool] = None,
cleanup_disks: Optional[bool] = None,
compression: Optional[str] = None,
draid_config: Optional[ZfsDraidConfigArgs] = None,
name: Optional[str] = None)func NewZfs(ctx *Context, name string, args ZfsArgs, opts ...ResourceOption) (*Zfs, error)public Zfs(string name, ZfsArgs args, CustomResourceOptions? opts = null)type: proxmoxve:node/disk/zfs:Zfs
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "proxmoxve_node_disk_zfs" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args ZfsArgs
- 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 ZfsArgs
- 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 ZfsArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ZfsArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ZfsArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Zfs 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 Zfs resource accepts the following input properties:
- Devices List<string>
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - Node
Name string - The name of the Proxmox node on which to create the ZFS pool.
- Raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - Add
Storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- Ashift int
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - Cleanup
Config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - Cleanup
Disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - Compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - Draid
Config Pulumi.Proxmox VE. Node. Disk. Inputs. Zfs Draid Config - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - Name string
- The name of the ZFS pool (storage identifier).
- Devices []string
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - Node
Name string - The name of the Proxmox node on which to create the ZFS pool.
- Raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - Add
Storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- Ashift int
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - Cleanup
Config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - Cleanup
Disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - Compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - Draid
Config ZfsDraid Config Args - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - Name string
- The name of the ZFS pool (storage identifier).
- devices list(string)
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - node_
name string - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - add_
storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift number
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup_
config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup_
disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - draid_
config object - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - name string
- The name of the ZFS pool (storage identifier).
- devices List<String>
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - node
Name String - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel String
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - add
Storage Boolean - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift Integer
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup
Config Boolean - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup
Disks Boolean - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression String
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - draid
Config ZfsDraid Config - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - name String
- The name of the ZFS pool (storage identifier).
- devices string[]
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - node
Name string - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - add
Storage boolean - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift number
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup
Config boolean - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup
Disks boolean - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - draid
Config ZfsDraid Config - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - name string
- The name of the ZFS pool (storage identifier).
- devices Sequence[str]
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - node_
name str - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel str
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - add_
storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift int
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup_
config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup_
disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression str
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - draid_
config ZfsDraid Config Args - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - name str
- The name of the ZFS pool (storage identifier).
- devices List<String>
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - node
Name String - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel String
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - add
Storage Boolean - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift Number
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup
Config Boolean - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup
Disks Boolean - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression String
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - draid
Config Property Map - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - name String
- The name of the ZFS pool (storage identifier).
Outputs
All input properties are implicitly available as output properties. Additionally, the Zfs resource produces the following output properties:
Look up Existing Zfs Resource
Get an existing Zfs 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?: ZfsState, opts?: CustomResourceOptions): Zfs@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
add_storage: Optional[bool] = None,
ashift: Optional[int] = None,
cleanup_config: Optional[bool] = None,
cleanup_disks: Optional[bool] = None,
compression: Optional[str] = None,
devices: Optional[Sequence[str]] = None,
draid_config: Optional[ZfsDraidConfigArgs] = None,
errors: Optional[str] = None,
name: Optional[str] = None,
node_name: Optional[str] = None,
raidlevel: Optional[str] = None,
state: Optional[str] = None) -> Zfsfunc GetZfs(ctx *Context, name string, id IDInput, state *ZfsState, opts ...ResourceOption) (*Zfs, error)public static Zfs Get(string name, Input<string> id, ZfsState? state, CustomResourceOptions? opts = null)public static Zfs get(String name, Output<String> id, ZfsState state, CustomResourceOptions options)resources: _: type: proxmoxve:node/disk/zfs:Zfs get: id: ${id}import {
to = proxmoxve_node_disk_zfs.example
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.
- Add
Storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- Ashift int
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - Cleanup
Config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - Cleanup
Disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - Compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - Devices List<string>
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - Draid
Config Pulumi.Proxmox VE. Node. Disk. Inputs. Zfs Draid Config - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - Errors string
- Error information reported by the ZFS pool.
- Name string
- The name of the ZFS pool (storage identifier).
- Node
Name string - The name of the Proxmox node on which to create the ZFS pool.
- Raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - State string
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
- Add
Storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- Ashift int
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - Cleanup
Config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - Cleanup
Disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - Compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - Devices []string
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - Draid
Config ZfsDraid Config Args - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - Errors string
- Error information reported by the ZFS pool.
- Name string
- The name of the ZFS pool (storage identifier).
- Node
Name string - The name of the Proxmox node on which to create the ZFS pool.
- Raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - State string
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
- add_
storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift number
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup_
config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup_
disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - devices list(string)
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - draid_
config object - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - errors string
- Error information reported by the ZFS pool.
- name string
- The name of the ZFS pool (storage identifier).
- node_
name string - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - state string
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
- add
Storage Boolean - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift Integer
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup
Config Boolean - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup
Disks Boolean - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression String
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - devices List<String>
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - draid
Config ZfsDraid Config - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - errors String
- Error information reported by the ZFS pool.
- name String
- The name of the ZFS pool (storage identifier).
- node
Name String - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel String
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - state String
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
- add
Storage boolean - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift number
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup
Config boolean - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup
Disks boolean - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression string
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - devices string[]
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - draid
Config ZfsDraid Config - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - errors string
- Error information reported by the ZFS pool.
- name string
- The name of the ZFS pool (storage identifier).
- node
Name string - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel string
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - state string
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
- add_
storage bool - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift int
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup_
config bool - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup_
disks bool - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression str
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - devices Sequence[str]
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - draid_
config ZfsDraid Config Args - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - errors str
- Error information reported by the ZFS pool.
- name str
- The name of the ZFS pool (storage identifier).
- node_
name str - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel str
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - state str
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
- add
Storage Boolean - Configure a Proxmox storage entry using this zpool after creation. Applied at create time only.
- ashift Number
- Pool sector size exponent (2^ashift bytes). Defaults to
12(4 KiB sectors) server-side. - cleanup
Config Boolean - On destroy, mark associated Proxmox storage entries as unavailable (or remove them if configured for this node only). Defaults to
false. - cleanup
Disks Boolean - On destroy, wipe the ZFS member partitions so they can be reused. Defaults to
false. Note: Proxmox wipes the partition contents but leaves the parent disk's GPT partition table intact. If you plan to reuse the same device immediately, runwipefs -a <disk>andpartprobe <disk>on the node after destroy. - compression String
- The compression algorithm for the pool. One of
on,off,gzip,lz4,lzjb,zle,zstd. Defaults toonserver-side. - devices List<String>
- The block devices to use for the ZFS pool (e.g.
["/dev/sdb", "/dev/sdc"]). - draid
Config Property Map - dRAID configuration. Required when
raidlevelisdraid,draid2, ordraid3. - errors String
- Error information reported by the ZFS pool.
- name String
- The name of the ZFS pool (storage identifier).
- node
Name String - The name of the Proxmox node on which to create the ZFS pool.
- raidlevel String
- The RAID level for the ZFS pool. One of
single,mirror,raid10,raidz,raidz2,raidz3,draid,draid2,draid3. - state String
- The current state of the ZFS pool (e.g.
ONLINE,DEGRADED).
Supporting Types
ZfsDraidConfig, ZfsDraidConfigArgs
Import
!/usr/bin/env sh
ZFS pools can be imported using the format node_name/pool_name, e.g.:
$ pulumi import proxmoxve:node/disk/zfs:Zfs example pve/tank
Note on import: The write-only attributes
devices,raidlevel,ashift,compression,draidConfig, andaddStoragecannot be reconstructed from the Proxmox API and must be added to the configuration manually after import. Once added, the nextpulumi upwill record them in state without replacing the pool.
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- proxmoxve muhlba91/pulumi-proxmoxve
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
proxmoxTerraform Provider.
published on Sunday, Jul 5, 2026 by Daniel Muehlbachler-Pietrzykowski