clientapi-pve 2026.5.24

Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
Documentation
/*
 * Proxmox Virtual Environment API
 *
 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
 *
 * The version of the OpenAPI document: 9.x
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NodesCephCreateosdRequest {

    /// Set the device class of the OSD in crush.
    #[serde(rename = "crush-device-class", skip_serializing_if = "Option::is_none")]
    pub crush_device_class: Option<String>,

    /// Block device name for block.db.
    #[serde(rename = "db_dev", skip_serializing_if = "Option::is_none")]
    pub db_dev: Option<String>,

    /// If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section) in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough.
    #[serde(rename = "db_dev_size", skip_serializing_if = "Option::is_none")]
    pub db_dev_size: Option<f64>,

    /// Block device name.
    #[serde(rename = "dev")]
    pub dev: String,

    /// Enables encryption of the OSD.
    #[serde(rename = "encrypted", skip_serializing_if = "Option::is_none")]
    pub encrypted: Option<models::PveBoolean>,

    /// OSD services per physical device. Only useful for fast NVMe devices to utilize their performance better. Mutually exclusive with 'db_dev' and 'wal_dev'.
    #[serde(rename = "osds-per-device", skip_serializing_if = "Option::is_none")]
    pub osds_per_device: Option<i64>,

    /// Block device name for block.wal.
    #[serde(rename = "wal_dev", skip_serializing_if = "Option::is_none")]
    pub wal_dev: Option<String>,

    /// If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section) in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough.
    #[serde(rename = "wal_dev_size", skip_serializing_if = "Option::is_none")]
    pub wal_dev_size: Option<f64>,


}

impl NodesCephCreateosdRequest {
    pub fn new(dev: String) -> NodesCephCreateosdRequest {
        NodesCephCreateosdRequest {
            
            crush_device_class: None,
            
            db_dev: None,
            
            db_dev_size: None,
            
            dev,
            
            encrypted: None,
            
            osds_per_device: None,
            
            wal_dev: None,
            
            wal_dev_size: None,
            
        }
    }
}