fix build: add missing file
This commit is contained in:
parent
4606f34353
commit
be1a8c94ae
85
src/api2/types/tape/media.rs
Normal file
85
src/api2/types/tape/media.rs
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
use ::serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
use proxmox::api::api;
|
||||||
|
|
||||||
|
use super::{
|
||||||
|
MediaStatus,
|
||||||
|
};
|
||||||
|
|
||||||
|
#[api()]
|
||||||
|
#[derive(Serialize,Deserialize)]
|
||||||
|
#[serde(rename_all = "lowercase")]
|
||||||
|
/// Media location
|
||||||
|
pub enum MediaLocationKind {
|
||||||
|
/// Ready for use (inside tape library)
|
||||||
|
Online,
|
||||||
|
/// Local available, but need to be mounted (insert into tape
|
||||||
|
/// drive)
|
||||||
|
Offline,
|
||||||
|
/// Media is inside a Vault
|
||||||
|
Vault,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[api(
|
||||||
|
properties: {
|
||||||
|
location: {
|
||||||
|
type: MediaLocationKind,
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
type: MediaStatus,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)]
|
||||||
|
#[derive(Serialize,Deserialize)]
|
||||||
|
#[serde(rename_all = "kebab-case")]
|
||||||
|
/// Media list entry
|
||||||
|
pub struct MediaListEntry {
|
||||||
|
/// Media changer ID
|
||||||
|
pub changer_id: String,
|
||||||
|
/// Media Uuid
|
||||||
|
pub uuid: String,
|
||||||
|
pub location: MediaLocationKind,
|
||||||
|
/// Media location hint (vault name, changer name)
|
||||||
|
pub location_hint: Option<String>,
|
||||||
|
pub status: MediaStatus,
|
||||||
|
/// Expired flag
|
||||||
|
pub expired: bool,
|
||||||
|
/// Media set name
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub media_set_name: Option<String>,
|
||||||
|
/// Media set uuid
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub media_set_uuid: Option<String>,
|
||||||
|
/// Media set seq_nr
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub seq_nr: Option<u64>,
|
||||||
|
/// Media Pool
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub pool: Option<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[api()]
|
||||||
|
#[derive(Serialize,Deserialize)]
|
||||||
|
#[serde(rename_all = "kebab-case")]
|
||||||
|
/// Media label info
|
||||||
|
pub struct MediaLabelInfoFlat {
|
||||||
|
/// Unique ID
|
||||||
|
pub uuid: String,
|
||||||
|
/// Media Changer ID or Barcode
|
||||||
|
pub changer_id: String,
|
||||||
|
/// Creation time stamp
|
||||||
|
pub ctime: i64,
|
||||||
|
// All MediaSet properties are optional here
|
||||||
|
/// MediaSet Pool
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub pool: Option<String>,
|
||||||
|
/// MediaSet Uuid. We use the all-zero Uuid to reseve an empty media for a specific pool
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub media_set_uuid: Option<String>,
|
||||||
|
/// MediaSet media sequence number
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub seq_nr: Option<u64>,
|
||||||
|
/// MediaSet Creation time stamp
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub media_set_ctime: Option<i64>,
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user