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 NodesCephGetpoolResponseData {

    /// The application of the pool.
    #[serde(rename = "application", skip_serializing_if = "Option::is_none")]
    pub application: Option<models::PveApplicationEnum>,

    /// Names of applications currently associated with the pool.
    #[serde(rename = "application_list", skip_serializing_if = "Option::is_none")]
    pub application_list: Option<Vec<String>>,

    /// Raw pg_autoscaler status object for this pool; shape varies between Ceph releases.
    #[serde(rename = "autoscale_status", skip_serializing_if = "Option::is_none")]
    pub autoscale_status: Option<serde_json::Value>,

    /// The rule to use for mapping object placement in the cluster.
    #[serde(rename = "crush_rule", skip_serializing_if = "Option::is_none")]
    pub crush_rule: Option<String>,

    /// Set if the pool uses fast-read for erasure-coded reads.
    #[serde(rename = "fast_read")]
    pub fast_read: models::PveBoolean,

    /// Set if the pool hashes pool id into its CRUSH placement-seed.
    #[serde(rename = "hashpspool")]
    pub hashpspool: models::PveBoolean,

    /// Numeric pool id assigned by Ceph.
    #[serde(rename = "id")]
    pub id: i64,

    /// Minimum number of replicas per object
    #[serde(rename = "min_size", skip_serializing_if = "Option::is_none")]
    pub min_size: Option<i32>,

    /// The name of the pool. It must be unique.
    #[serde(rename = "name")]
    pub name: String,

    /// Set if deep-scrubbing is disabled for this pool.
    #[serde(rename = "nodeep-scrub")]
    pub nodeep_scrub: models::PveBoolean,

    /// Set if pool delete is blocked.
    #[serde(rename = "nodelete")]
    pub nodelete: models::PveBoolean,

    /// Set if changing the placement-group count is blocked.
    #[serde(rename = "nopgchange")]
    pub nopgchange: models::PveBoolean,

    /// Set if scrubbing is disabled for this pool.
    #[serde(rename = "noscrub")]
    pub noscrub: models::PveBoolean,

    /// Set if changing the replication size is blocked.
    #[serde(rename = "nosizechange")]
    pub nosizechange: models::PveBoolean,

    /// The automatic PG scaling mode of the pool.
    #[serde(rename = "pg_autoscale_mode", skip_serializing_if = "Option::is_none")]
    pub pg_autoscale_mode: Option<models::PvePgAutoscaleModeEnum>,

    /// Number of placement groups.
    #[serde(rename = "pg_num", skip_serializing_if = "Option::is_none")]
    pub pg_num: Option<i32>,

    /// Minimal number of placement groups.
    #[serde(rename = "pg_num_min", skip_serializing_if = "Option::is_none")]
    pub pg_num_min: Option<i32>,

    /// Placement-group-for-placement count.
    #[serde(rename = "pgp_num")]
    pub pgp_num: i64,

    /// Number of replicas per object
    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
    pub size: Option<i32>,

    /// Optional pool usage and IO statistics (only present when verbose=1 is requested).
    #[serde(rename = "statistics", skip_serializing_if = "Option::is_none")]
    pub statistics: Option<serde_json::Value>,

    /// The estimated target size of the pool for the PG autoscaler.
    #[serde(rename = "target_size", skip_serializing_if = "Option::is_none")]
    pub target_size: Option<String>,

    /// The estimated target ratio of the pool for the PG autoscaler.
    #[serde(rename = "target_size_ratio", skip_serializing_if = "Option::is_none")]
    pub target_size_ratio: Option<f64>,

    /// Set if hitsets use GMT timestamps (for cache-tier pools).
    #[serde(rename = "use_gmt_hitset")]
    pub use_gmt_hitset: models::PveBoolean,

    /// Set if the pool sets the FADV_DONTNEED hint on writes.
    #[serde(rename = "write_fadvise_dontneed")]
    pub write_fadvise_dontneed: models::PveBoolean,


}

impl NodesCephGetpoolResponseData {
    pub fn new(fast_read: models::PveBoolean, hashpspool: models::PveBoolean, id: i64, name: String, nodeep_scrub: models::PveBoolean, nodelete: models::PveBoolean, nopgchange: models::PveBoolean, noscrub: models::PveBoolean, nosizechange: models::PveBoolean, pgp_num: i64, use_gmt_hitset: models::PveBoolean, write_fadvise_dontneed: models::PveBoolean) -> NodesCephGetpoolResponseData {
        NodesCephGetpoolResponseData {
            
            application: None,
            
            application_list: None,
            
            autoscale_status: None,
            
            crush_rule: None,
            
            fast_read,
            
            hashpspool,
            
            id,
            
            min_size: None,
            
            name,
            
            nodeep_scrub,
            
            nodelete,
            
            nopgchange,
            
            noscrub,
            
            nosizechange,
            
            pg_autoscale_mode: None,
            
            pg_num: None,
            
            pg_num_min: None,
            
            pgp_num,
            
            size: None,
            
            statistics: None,
            
            target_size: None,
            
            target_size_ratio: None,
            
            use_gmt_hitset,
            
            write_fadvise_dontneed,
            
        }
    }
}