Skip to main content

clientapi_pbs/models/
tape_drive_get_status_response_data.rs

1/*
2 * Proxmox Backup Server API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/docs/api-viewer/ for the upstream documentation.
5 *
6 * The version of the OpenAPI document: 9.x
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TapeDriveGetStatusResponseData {
16
17    /// Tape Alert Flags
18    #[serde(rename = "alert-flags", skip_serializing_if = "Option::is_none")]
19    pub alert_flags: Option<String>,
20
21    /// Current block number
22    #[serde(rename = "block-number", skip_serializing_if = "Option::is_none")]
23    pub block_number: Option<i64>,
24
25    /// Block size (0 is variable size)
26    #[serde(rename = "blocksize")]
27    pub blocksize: i32,
28
29    /// Drive buffer mode
30    #[serde(rename = "buffer-mode")]
31    pub buffer_mode: i32,
32
33    /// Total Bytes Read in Medium Life
34    #[serde(rename = "bytes-read", skip_serializing_if = "Option::is_none")]
35    pub bytes_read: Option<i64>,
36
37    /// Total Bytes Written in Medium Life
38    #[serde(rename = "bytes-written", skip_serializing_if = "Option::is_none")]
39    pub bytes_written: Option<i64>,
40
41    /// Compression enabled
42    #[serde(rename = "compression")]
43    pub compression: bool,
44
45    /// The density of a tape medium, derived from the LTO version.
46    #[serde(rename = "density", skip_serializing_if = "Option::is_none")]
47    pub density: Option<models::PbsTapeDriveDensityEnum>,
48
49    /// The DT Device Activity from DT Device Status LP page
50    #[serde(rename = "drive-activity", skip_serializing_if = "Option::is_none")]
51    pub drive_activity: Option<models::PbsActivityEnum>,
52
53    /// Current file number
54    #[serde(rename = "file-number", skip_serializing_if = "Option::is_none")]
55    pub file_number: Option<i64>,
56
57    /// Medium Manufacture Date (epoch)
58    #[serde(rename = "manufactured", skip_serializing_if = "Option::is_none")]
59    pub manufactured: Option<i64>,
60
61    /// Count of the total number of times the medium has passed over the head.
62    #[serde(rename = "medium-passes", skip_serializing_if = "Option::is_none")]
63    pub medium_passes: Option<i64>,
64
65    /// Estimated tape wearout factor (assuming max. 16000 end-to-end passes)
66    #[serde(rename = "medium-wearout", skip_serializing_if = "Option::is_none")]
67    pub medium_wearout: Option<f64>,
68
69    /// Product
70    #[serde(rename = "product")]
71    pub product: String,
72
73    /// Revision
74    #[serde(rename = "revision")]
75    pub revision: String,
76
77    /// Vendor
78    #[serde(rename = "vendor")]
79    pub vendor: String,
80
81    /// Number of mounts for the current volume (i.e., Thread Count)
82    #[serde(rename = "volume-mounts", skip_serializing_if = "Option::is_none")]
83    pub volume_mounts: Option<i64>,
84
85    /// Media is write protected
86    #[serde(rename = "write-protect", skip_serializing_if = "Option::is_none")]
87    pub write_protect: Option<bool>,
88
89
90}
91
92impl TapeDriveGetStatusResponseData {
93    pub fn new(blocksize: i32, buffer_mode: i32, compression: bool, product: String, revision: String, vendor: String) -> TapeDriveGetStatusResponseData {
94        TapeDriveGetStatusResponseData {
95            
96            alert_flags: None,
97            
98            block_number: None,
99            
100            blocksize,
101            
102            buffer_mode,
103            
104            bytes_read: None,
105            
106            bytes_written: None,
107            
108            compression,
109            
110            density: None,
111            
112            drive_activity: None,
113            
114            file_number: None,
115            
116            manufactured: None,
117            
118            medium_passes: None,
119            
120            medium_wearout: None,
121            
122            product,
123            
124            revision,
125            
126            vendor,
127            
128            volume_mounts: None,
129            
130            write_protect: None,
131            
132        }
133    }
134}
135
136