clientapi-pbs 2026.5.24

Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/docs/api-viewer/ for the upstream documentation.
Documentation
/*
 * Proxmox Backup Server API
 *
 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/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 TapeDriveGetStatusResponseData {

    /// Tape Alert Flags
    #[serde(rename = "alert-flags", skip_serializing_if = "Option::is_none")]
    pub alert_flags: Option<String>,

    /// Current block number
    #[serde(rename = "block-number", skip_serializing_if = "Option::is_none")]
    pub block_number: Option<i64>,

    /// Block size (0 is variable size)
    #[serde(rename = "blocksize")]
    pub blocksize: i32,

    /// Drive buffer mode
    #[serde(rename = "buffer-mode")]
    pub buffer_mode: i32,

    /// Total Bytes Read in Medium Life
    #[serde(rename = "bytes-read", skip_serializing_if = "Option::is_none")]
    pub bytes_read: Option<i64>,

    /// Total Bytes Written in Medium Life
    #[serde(rename = "bytes-written", skip_serializing_if = "Option::is_none")]
    pub bytes_written: Option<i64>,

    /// Compression enabled
    #[serde(rename = "compression")]
    pub compression: bool,

    /// The density of a tape medium, derived from the LTO version.
    #[serde(rename = "density", skip_serializing_if = "Option::is_none")]
    pub density: Option<models::PbsTapeDriveDensityEnum>,

    /// The DT Device Activity from DT Device Status LP page
    #[serde(rename = "drive-activity", skip_serializing_if = "Option::is_none")]
    pub drive_activity: Option<models::PbsActivityEnum>,

    /// Current file number
    #[serde(rename = "file-number", skip_serializing_if = "Option::is_none")]
    pub file_number: Option<i64>,

    /// Medium Manufacture Date (epoch)
    #[serde(rename = "manufactured", skip_serializing_if = "Option::is_none")]
    pub manufactured: Option<i64>,

    /// Count of the total number of times the medium has passed over the head.
    #[serde(rename = "medium-passes", skip_serializing_if = "Option::is_none")]
    pub medium_passes: Option<i64>,

    /// Estimated tape wearout factor (assuming max. 16000 end-to-end passes)
    #[serde(rename = "medium-wearout", skip_serializing_if = "Option::is_none")]
    pub medium_wearout: Option<f64>,

    /// Product
    #[serde(rename = "product")]
    pub product: String,

    /// Revision
    #[serde(rename = "revision")]
    pub revision: String,

    /// Vendor
    #[serde(rename = "vendor")]
    pub vendor: String,

    /// Number of mounts for the current volume (i.e., Thread Count)
    #[serde(rename = "volume-mounts", skip_serializing_if = "Option::is_none")]
    pub volume_mounts: Option<i64>,

    /// Media is write protected
    #[serde(rename = "write-protect", skip_serializing_if = "Option::is_none")]
    pub write_protect: Option<bool>,


}

impl TapeDriveGetStatusResponseData {
    pub fn new(blocksize: i32, buffer_mode: i32, compression: bool, product: String, revision: String, vendor: String) -> TapeDriveGetStatusResponseData {
        TapeDriveGetStatusResponseData {
            
            alert_flags: None,
            
            block_number: None,
            
            blocksize,
            
            buffer_mode,
            
            bytes_read: None,
            
            bytes_written: None,
            
            compression,
            
            density: None,
            
            drive_activity: None,
            
            file_number: None,
            
            manufactured: None,
            
            medium_passes: None,
            
            medium_wearout: None,
            
            product,
            
            revision,
            
            vendor,
            
            volume_mounts: None,
            
            write_protect: None,
            
        }
    }
}