proxmox_api/types/
vmid.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
4pub struct VmId(
5 #[serde(
6 deserialize_with = "crate::types::deserialize_int",
7 serialize_with = "crate::types::serialize_int"
8 )]
9 u64,
10);
11
12impl VmId {
13 pub fn new(value: u64) -> Option<Self> {
14 if value >= 100 && value <= 999_999_999 {
15 Some(Self(value))
16 } else {
17 None
18 }
19 }
20
21 pub fn get(&self) -> u64 {
22 self.0
23 }
24}
25
26impl std::fmt::Display for VmId {
27 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
28 write!(f, "{}", self.0)
29 }
30}