1. Packages
  2. Packages
  3. Proxmox Virtual Environment (Proxmox VE)
  4. API Docs
  5. ceph
  6. Pool
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.3.0
published on Sunday, Jul 5, 2026 by Daniel Muehlbachler-Pietrzykowski
proxmoxve logo
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.3.0
published on Sunday, Jul 5, 2026 by Daniel Muehlbachler-Pietrzykowski

    Experimental. Schema and behavior may change in future releases. Pin the provider version if stability matters.

    Manages a Ceph pool on a Proxmox VE cluster.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    
    const example = new proxmoxve.ceph.Pool("example", {
        nodeName: "pve",
        name: "tank",
        application: "rbd",
        size: 3,
        minSize: 2,
        pgNum: 128,
        pgAutoscaleMode: "warn",
    });
    
    import pulumi
    import pulumi_proxmoxve as proxmoxve
    
    example = proxmoxve.ceph.Pool("example",
        node_name="pve",
        name="tank",
        application="rbd",
        size=3,
        min_size=2,
        pg_num=128,
        pg_autoscale_mode="warn")
    
    package main
    
    import (
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve/ceph"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ceph.NewPool(ctx, "example", &ceph.PoolArgs{
    			NodeName:        pulumi.String("pve"),
    			Name:            pulumi.String("tank"),
    			Application:     pulumi.String("rbd"),
    			Size:            pulumi.Int(3),
    			MinSize:         pulumi.Int(2),
    			PgNum:           pulumi.Int(128),
    			PgAutoscaleMode: pulumi.String("warn"),
    		})
    		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.Ceph.Pool("example", new()
        {
            NodeName = "pve",
            Name = "tank",
            Application = "rbd",
            Size = 3,
            MinSize = 2,
            PgNum = 128,
            PgAutoscaleMode = "warn",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import io.muehlbachler.pulumi.proxmoxve.ceph.Pool;
    import io.muehlbachler.pulumi.proxmoxve.ceph.PoolArgs;
    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 Pool("example", PoolArgs.builder()
                .nodeName("pve")
                .name("tank")
                .application("rbd")
                .size(3)
                .minSize(2)
                .pgNum(128)
                .pgAutoscaleMode("warn")
                .build());
    
        }
    }
    
    resources:
      example:
        type: proxmoxve:ceph:Pool
        properties:
          nodeName: pve
          name: tank
          application: rbd
          size: 3
          minSize: 2
          pgNum: 128
          pgAutoscaleMode: warn
    
    pulumi {
      required_providers {
        proxmoxve = {
          source = "pulumi/proxmoxve"
        }
      }
    }
    
    resource "proxmoxve_ceph_pool" "example" {
      node_name         = "pve"
      name              = "tank"
      application       = "rbd"
      size              = 3
      min_size          = 2
      pg_num            = 128
      pg_autoscale_mode = "warn"
    }
    

    Create Pool Resource

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

    Constructor syntax

    new Pool(name: string, args: PoolArgs, opts?: CustomResourceOptions);
    @overload
    def Pool(resource_name: str,
             args: PoolArgs,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Pool(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             node_name: Optional[str] = None,
             pg_autoscale_mode: Optional[str] = None,
             remove_ecprofile: Optional[bool] = None,
             erasure_coding: Optional[str] = None,
             force_destroy: Optional[bool] = None,
             min_size: Optional[int] = None,
             name: Optional[str] = None,
             crush_rule: Optional[str] = None,
             pg_num: Optional[int] = None,
             application: Optional[str] = None,
             pg_num_min: Optional[int] = None,
             add_storages: Optional[bool] = None,
             remove_storages: Optional[bool] = None,
             size: Optional[int] = None,
             target_size: Optional[str] = None,
             target_size_ratio: Optional[float] = None)
    func NewPool(ctx *Context, name string, args PoolArgs, opts ...ResourceOption) (*Pool, error)
    public Pool(string name, PoolArgs args, CustomResourceOptions? opts = null)
    public Pool(String name, PoolArgs args)
    public Pool(String name, PoolArgs args, CustomResourceOptions options)
    
    type: proxmoxve:ceph:Pool
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "proxmoxve_ceph_pool" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args PoolArgs
    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 PoolArgs
    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 PoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PoolArgs
    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 poolResource = new ProxmoxVE.Ceph.Pool("poolResource", new()
    {
        NodeName = "string",
        PgAutoscaleMode = "string",
        RemoveEcprofile = false,
        ErasureCoding = "string",
        ForceDestroy = false,
        MinSize = 0,
        Name = "string",
        CrushRule = "string",
        PgNum = 0,
        Application = "string",
        PgNumMin = 0,
        AddStorages = false,
        RemoveStorages = false,
        Size = 0,
        TargetSize = "string",
        TargetSizeRatio = 0,
    });
    
    example, err := ceph.NewPool(ctx, "poolResource", &ceph.PoolArgs{
    	NodeName:        pulumi.String("string"),
    	PgAutoscaleMode: pulumi.String("string"),
    	RemoveEcprofile: pulumi.Bool(false),
    	ErasureCoding:   pulumi.String("string"),
    	ForceDestroy:    pulumi.Bool(false),
    	MinSize:         pulumi.Int(0),
    	Name:            pulumi.String("string"),
    	CrushRule:       pulumi.String("string"),
    	PgNum:           pulumi.Int(0),
    	Application:     pulumi.String("string"),
    	PgNumMin:        pulumi.Int(0),
    	AddStorages:     pulumi.Bool(false),
    	RemoveStorages:  pulumi.Bool(false),
    	Size:            pulumi.Int(0),
    	TargetSize:      pulumi.String("string"),
    	TargetSizeRatio: pulumi.Float64(0),
    })
    
    resource "proxmoxve_ceph_pool" "poolResource" {
      lifecycle {
        create_before_destroy = true
      }
      node_name         = "string"
      pg_autoscale_mode = "string"
      remove_ecprofile  = false
      erasure_coding    = "string"
      force_destroy     = false
      min_size          = 0
      name              = "string"
      crush_rule        = "string"
      pg_num            = 0
      application       = "string"
      pg_num_min        = 0
      add_storages      = false
      remove_storages   = false
      size              = 0
      target_size       = "string"
      target_size_ratio = 0
    }
    
    var poolResource = new Pool("poolResource", PoolArgs.builder()
        .nodeName("string")
        .pgAutoscaleMode("string")
        .removeEcprofile(false)
        .erasureCoding("string")
        .forceDestroy(false)
        .minSize(0)
        .name("string")
        .crushRule("string")
        .pgNum(0)
        .application("string")
        .pgNumMin(0)
        .addStorages(false)
        .removeStorages(false)
        .size(0)
        .targetSize("string")
        .targetSizeRatio(0.0)
        .build());
    
    pool_resource = proxmoxve.ceph.Pool("poolResource",
        node_name="string",
        pg_autoscale_mode="string",
        remove_ecprofile=False,
        erasure_coding="string",
        force_destroy=False,
        min_size=0,
        name="string",
        crush_rule="string",
        pg_num=0,
        application="string",
        pg_num_min=0,
        add_storages=False,
        remove_storages=False,
        size=0,
        target_size="string",
        target_size_ratio=float(0))
    
    const poolResource = new proxmoxve.ceph.Pool("poolResource", {
        nodeName: "string",
        pgAutoscaleMode: "string",
        removeEcprofile: false,
        erasureCoding: "string",
        forceDestroy: false,
        minSize: 0,
        name: "string",
        crushRule: "string",
        pgNum: 0,
        application: "string",
        pgNumMin: 0,
        addStorages: false,
        removeStorages: false,
        size: 0,
        targetSize: "string",
        targetSizeRatio: 0,
    });
    
    type: proxmoxve:ceph:Pool
    properties:
        addStorages: false
        application: string
        crushRule: string
        erasureCoding: string
        forceDestroy: false
        minSize: 0
        name: string
        nodeName: string
        pgAutoscaleMode: string
        pgNum: 0
        pgNumMin: 0
        removeEcprofile: false
        removeStorages: false
        size: 0
        targetSize: string
        targetSizeRatio: 0
    

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

    NodeName string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    AddStorages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    Application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    CrushRule string
    The CRUSH rule name used for object placement.
    ErasureCoding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    ForceDestroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    MinSize int
    Minimum number of replicas per object.
    Name string
    The pool name. Must be unique within the Ceph cluster.
    PgAutoscaleMode string
    PG autoscaler mode. One of on, off, warn.
    PgNum int
    Number of placement groups.
    PgNumMin int
    Minimum number of placement groups (used by the autoscaler).
    RemoveEcprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    RemoveStorages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    Size int
    Number of replicas per object.
    TargetSize string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    TargetSizeRatio double
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    NodeName string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    AddStorages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    Application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    CrushRule string
    The CRUSH rule name used for object placement.
    ErasureCoding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    ForceDestroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    MinSize int
    Minimum number of replicas per object.
    Name string
    The pool name. Must be unique within the Ceph cluster.
    PgAutoscaleMode string
    PG autoscaler mode. One of on, off, warn.
    PgNum int
    Number of placement groups.
    PgNumMin int
    Minimum number of placement groups (used by the autoscaler).
    RemoveEcprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    RemoveStorages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    Size int
    Number of replicas per object.
    TargetSize string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    TargetSizeRatio float64
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    node_name string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    add_storages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crush_rule string
    The CRUSH rule name used for object placement.
    erasure_coding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    force_destroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    min_size number
    Minimum number of replicas per object.
    name string
    The pool name. Must be unique within the Ceph cluster.
    pg_autoscale_mode string
    PG autoscaler mode. One of on, off, warn.
    pg_num number
    Number of placement groups.
    pg_num_min number
    Minimum number of placement groups (used by the autoscaler).
    remove_ecprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    remove_storages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size number
    Number of replicas per object.
    target_size string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    target_size_ratio number
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    nodeName String
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    addStorages Boolean
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application String
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crushRule String
    The CRUSH rule name used for object placement.
    erasureCoding String
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    forceDestroy Boolean
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    minSize Integer
    Minimum number of replicas per object.
    name String
    The pool name. Must be unique within the Ceph cluster.
    pgAutoscaleMode String
    PG autoscaler mode. One of on, off, warn.
    pgNum Integer
    Number of placement groups.
    pgNumMin Integer
    Minimum number of placement groups (used by the autoscaler).
    removeEcprofile Boolean
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    removeStorages Boolean
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size Integer
    Number of replicas per object.
    targetSize String
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    targetSizeRatio Double
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    nodeName string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    addStorages boolean
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crushRule string
    The CRUSH rule name used for object placement.
    erasureCoding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    forceDestroy boolean
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    minSize number
    Minimum number of replicas per object.
    name string
    The pool name. Must be unique within the Ceph cluster.
    pgAutoscaleMode string
    PG autoscaler mode. One of on, off, warn.
    pgNum number
    Number of placement groups.
    pgNumMin number
    Minimum number of placement groups (used by the autoscaler).
    removeEcprofile boolean
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    removeStorages boolean
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size number
    Number of replicas per object.
    targetSize string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    targetSizeRatio number
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    node_name str
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    add_storages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application str
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crush_rule str
    The CRUSH rule name used for object placement.
    erasure_coding str
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    force_destroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    min_size int
    Minimum number of replicas per object.
    name str
    The pool name. Must be unique within the Ceph cluster.
    pg_autoscale_mode str
    PG autoscaler mode. One of on, off, warn.
    pg_num int
    Number of placement groups.
    pg_num_min int
    Minimum number of placement groups (used by the autoscaler).
    remove_ecprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    remove_storages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size int
    Number of replicas per object.
    target_size str
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    target_size_ratio float
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    nodeName String
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    addStorages Boolean
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application String
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crushRule String
    The CRUSH rule name used for object placement.
    erasureCoding String
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    forceDestroy Boolean
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    minSize Number
    Minimum number of replicas per object.
    name String
    The pool name. Must be unique within the Ceph cluster.
    pgAutoscaleMode String
    PG autoscaler mode. One of on, off, warn.
    pgNum Number
    Number of placement groups.
    pgNumMin Number
    Minimum number of placement groups (used by the autoscaler).
    removeEcprofile Boolean
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    removeStorages Boolean
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size Number
    Number of replicas per object.
    targetSize String
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    targetSizeRatio Number
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Pool 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 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 Pool Resource

    Get an existing Pool 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?: PoolState, opts?: CustomResourceOptions): Pool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            add_storages: Optional[bool] = None,
            application: Optional[str] = None,
            crush_rule: Optional[str] = None,
            erasure_coding: Optional[str] = None,
            force_destroy: Optional[bool] = None,
            min_size: Optional[int] = None,
            name: Optional[str] = None,
            node_name: Optional[str] = None,
            pg_autoscale_mode: Optional[str] = None,
            pg_num: Optional[int] = None,
            pg_num_min: Optional[int] = None,
            remove_ecprofile: Optional[bool] = None,
            remove_storages: Optional[bool] = None,
            size: Optional[int] = None,
            target_size: Optional[str] = None,
            target_size_ratio: Optional[float] = None) -> Pool
    func GetPool(ctx *Context, name string, id IDInput, state *PoolState, opts ...ResourceOption) (*Pool, error)
    public static Pool Get(string name, Input<string> id, PoolState? state, CustomResourceOptions? opts = null)
    public static Pool get(String name, Output<String> id, PoolState state, CustomResourceOptions options)
    resources:  _:    type: proxmoxve:ceph:Pool    get:      id: ${id}
    import {
      to = proxmoxve_ceph_pool.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.
    The following state arguments are supported:
    AddStorages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    Application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    CrushRule string
    The CRUSH rule name used for object placement.
    ErasureCoding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    ForceDestroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    MinSize int
    Minimum number of replicas per object.
    Name string
    The pool name. Must be unique within the Ceph cluster.
    NodeName string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    PgAutoscaleMode string
    PG autoscaler mode. One of on, off, warn.
    PgNum int
    Number of placement groups.
    PgNumMin int
    Minimum number of placement groups (used by the autoscaler).
    RemoveEcprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    RemoveStorages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    Size int
    Number of replicas per object.
    TargetSize string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    TargetSizeRatio double
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    AddStorages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    Application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    CrushRule string
    The CRUSH rule name used for object placement.
    ErasureCoding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    ForceDestroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    MinSize int
    Minimum number of replicas per object.
    Name string
    The pool name. Must be unique within the Ceph cluster.
    NodeName string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    PgAutoscaleMode string
    PG autoscaler mode. One of on, off, warn.
    PgNum int
    Number of placement groups.
    PgNumMin int
    Minimum number of placement groups (used by the autoscaler).
    RemoveEcprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    RemoveStorages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    Size int
    Number of replicas per object.
    TargetSize string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    TargetSizeRatio float64
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    add_storages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crush_rule string
    The CRUSH rule name used for object placement.
    erasure_coding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    force_destroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    min_size number
    Minimum number of replicas per object.
    name string
    The pool name. Must be unique within the Ceph cluster.
    node_name string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    pg_autoscale_mode string
    PG autoscaler mode. One of on, off, warn.
    pg_num number
    Number of placement groups.
    pg_num_min number
    Minimum number of placement groups (used by the autoscaler).
    remove_ecprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    remove_storages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size number
    Number of replicas per object.
    target_size string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    target_size_ratio number
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    addStorages Boolean
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application String
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crushRule String
    The CRUSH rule name used for object placement.
    erasureCoding String
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    forceDestroy Boolean
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    minSize Integer
    Minimum number of replicas per object.
    name String
    The pool name. Must be unique within the Ceph cluster.
    nodeName String
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    pgAutoscaleMode String
    PG autoscaler mode. One of on, off, warn.
    pgNum Integer
    Number of placement groups.
    pgNumMin Integer
    Minimum number of placement groups (used by the autoscaler).
    removeEcprofile Boolean
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    removeStorages Boolean
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size Integer
    Number of replicas per object.
    targetSize String
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    targetSizeRatio Double
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    addStorages boolean
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application string
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crushRule string
    The CRUSH rule name used for object placement.
    erasureCoding string
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    forceDestroy boolean
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    minSize number
    Minimum number of replicas per object.
    name string
    The pool name. Must be unique within the Ceph cluster.
    nodeName string
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    pgAutoscaleMode string
    PG autoscaler mode. One of on, off, warn.
    pgNum number
    Number of placement groups.
    pgNumMin number
    Minimum number of placement groups (used by the autoscaler).
    removeEcprofile boolean
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    removeStorages boolean
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size number
    Number of replicas per object.
    targetSize string
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    targetSizeRatio number
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    add_storages bool
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application str
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crush_rule str
    The CRUSH rule name used for object placement.
    erasure_coding str
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    force_destroy bool
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    min_size int
    Minimum number of replicas per object.
    name str
    The pool name. Must be unique within the Ceph cluster.
    node_name str
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    pg_autoscale_mode str
    PG autoscaler mode. One of on, off, warn.
    pg_num int
    Number of placement groups.
    pg_num_min int
    Minimum number of placement groups (used by the autoscaler).
    remove_ecprofile bool
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    remove_storages bool
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size int
    Number of replicas per object.
    target_size str
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    target_size_ratio float
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.
    addStorages Boolean
    Configure VM and CT storage entries using the new pool. Applied at create time only; changing this value forces replacement.
    application String
    The application using the pool. One of rbd, cephfs, rgw. Defaults to rbd server-side.
    crushRule String
    The CRUSH rule name used for object placement.
    erasureCoding String
    Create an erasure coded pool. Specified as k=<int>,m=<int>[,profile=name][,device-class=class][,failure-domain=domain] (e.g. k=4,m=2). Cannot be changed after creation.
    forceDestroy Boolean
    If true, destroy the pool even when in use. Passed as force=1 on delete.
    minSize Number
    Minimum number of replicas per object.
    name String
    The pool name. Must be unique within the Ceph cluster.
    nodeName String
    The cluster node used to dispatch the API call. Any node running Ceph is acceptable; the pool itself is cluster-wide.
    pgAutoscaleMode String
    PG autoscaler mode. One of on, off, warn.
    pgNum Number
    Number of placement groups.
    pgNumMin Number
    Minimum number of placement groups (used by the autoscaler).
    removeEcprofile Boolean
    If true, remove the erasure code profile on destroy. Defaults to true. Only relevant for EC pools.
    removeStorages Boolean
    If true, remove all pveceph-managed storages configured for this pool on destroy.
    size Number
    Number of replicas per object.
    targetSize String
    Estimated target size for the PG autoscaler (e.g. 100G). Write-only: PVE returns this as a bytes integer (e.g. 1073741824) while the input accepts a unit-suffixed string, so the configured spec is not round-tripped from the server.
    targetSizeRatio Number
    Estimated target ratio for the PG autoscaler. Write-only: kept symmetric with targetSize (which cannot be round-tripped), so the configured value is not refreshed from the server.

    Import

    !/usr/bin/env sh Ceph pools can be imported using the format node_name/pool_name, e.g.:

    $ pulumi import proxmoxve:ceph/pool:Pool example pve/tank
    

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

    Package Details

    Repository
    proxmoxve muhlba91/pulumi-proxmoxve
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the proxmox Terraform Provider.
    proxmoxve logo
    Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.3.0
    published on Sunday, Jul 5, 2026 by Daniel Muehlbachler-Pietrzykowski

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial