Skip to main content

proxmox_api/generated/nodes/node/apt/
versions.rs

1#[derive(Debug, Clone)]
2pub struct VersionsClient<T> {
3    client: T,
4    path: String,
5}
6impl<T> VersionsClient<T>
7where
8    T: crate::client::Client,
9{
10    pub fn new(client: T, parent_path: &str) -> Self {
11        Self {
12            client,
13            path: format!("{}{}", parent_path, "/versions"),
14        }
15    }
16}
17impl<T> VersionsClient<T>
18where
19    T: crate::client::Client,
20{
21    #[doc = "Get package information for important Proxmox packages."]
22    #[doc = ""]
23    #[doc = "Permission check: perm(\"/nodes/{node}\", [\"Sys.Audit\"])"]
24    pub async fn get(&self) -> Result<Vec<GetOutputItems>, T::Error> {
25        let path = self.path.to_string();
26        let optional_vec: Option<Vec<GetOutputItems>> = self.client.get(&path, &()).await?;
27        Ok(optional_vec.unwrap_or_default())
28    }
29}
30impl GetOutputItems {
31    pub fn new(
32        arch: Arch,
33        currentstate: CurrentState,
34        description: String,
35        origin: String,
36        package: String,
37        priority: String,
38        section: String,
39        title: String,
40        version: String,
41    ) -> Self {
42        Self {
43            arch,
44            currentstate,
45            description,
46            origin,
47            package,
48            priority,
49            section,
50            title,
51            version,
52            managerversion: ::std::default::Default::default(),
53            notifystatus: ::std::default::Default::default(),
54            oldversion: ::std::default::Default::default(),
55            runningkernel: ::std::default::Default::default(),
56            additional_properties: ::std::default::Default::default(),
57        }
58    }
59}
60#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
61pub struct GetOutputItems {
62    #[serde(rename = "Arch")]
63    #[doc = "Package Architecture."]
64    #[doc = ""]
65    pub arch: Arch,
66    #[serde(rename = "CurrentState")]
67    #[doc = "Current state of the package installed on the system."]
68    #[doc = ""]
69    pub currentstate: CurrentState,
70    #[serde(rename = "Description")]
71    #[doc = "Package description."]
72    #[doc = ""]
73    pub description: String,
74    #[serde(rename = "ManagerVersion")]
75    #[serde(skip_serializing_if = "Option::is_none", default)]
76    #[doc = "Version of the currently running pve-manager API server."]
77    #[doc = ""]
78    pub managerversion: Option<String>,
79    #[serde(rename = "NotifyStatus")]
80    #[serde(skip_serializing_if = "Option::is_none", default)]
81    #[doc = "Version for which PVE has already sent an update notification for."]
82    #[doc = ""]
83    pub notifystatus: Option<String>,
84    #[serde(rename = "OldVersion")]
85    #[serde(skip_serializing_if = "Option::is_none", default)]
86    #[doc = "Old version currently installed."]
87    #[doc = ""]
88    pub oldversion: Option<String>,
89    #[serde(rename = "Origin")]
90    #[doc = "Package origin, e.g., 'Proxmox' or 'Debian'."]
91    #[doc = ""]
92    pub origin: String,
93    #[serde(rename = "Package")]
94    #[doc = "Package name."]
95    #[doc = ""]
96    pub package: String,
97    #[serde(rename = "Priority")]
98    #[doc = "Package priority."]
99    #[doc = ""]
100    pub priority: String,
101    #[serde(rename = "RunningKernel")]
102    #[serde(skip_serializing_if = "Option::is_none", default)]
103    #[doc = "Kernel release, only for package 'proxmox-ve'."]
104    #[doc = ""]
105    pub runningkernel: Option<String>,
106    #[serde(rename = "Section")]
107    #[doc = "Package section."]
108    #[doc = ""]
109    pub section: String,
110    #[serde(rename = "Title")]
111    #[doc = "Package title."]
112    #[doc = ""]
113    pub title: String,
114    #[serde(rename = "Version")]
115    #[doc = "New version to be updated to."]
116    #[doc = ""]
117    pub version: String,
118    #[serde(
119        flatten,
120        default,
121        skip_serializing_if = "::std::collections::HashMap::is_empty"
122    )]
123    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
124}
125#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
126#[doc = "Package Architecture."]
127#[doc = ""]
128pub enum Arch {
129    #[serde(rename = "all")]
130    All,
131    #[serde(rename = "amd64")]
132    Amd64,
133    #[serde(rename = "arm64")]
134    Arm64,
135    #[serde(rename = "armhf")]
136    Armhf,
137    #[serde(rename = "ppc64el")]
138    Ppc64el,
139    #[serde(rename = "risc64")]
140    Risc64,
141    #[serde(rename = "s390x")]
142    S390x,
143}
144impl TryFrom<&str> for Arch {
145    type Error = String;
146    fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
147        match value {
148            "all" => Ok(Self::All),
149            "amd64" => Ok(Self::Amd64),
150            "arm64" => Ok(Self::Arm64),
151            "armhf" => Ok(Self::Armhf),
152            "ppc64el" => Ok(Self::Ppc64el),
153            "risc64" => Ok(Self::Risc64),
154            "s390x" => Ok(Self::S390x),
155            v => Err(format!("Unknown variant {v}")),
156        }
157    }
158}
159#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
160#[doc = "Current state of the package installed on the system."]
161#[doc = ""]
162pub enum CurrentState {
163    ConfigFiles,
164    HalfConfigured,
165    HalfInstalled,
166    Installed,
167    NotInstalled,
168    UnPacked,
169}
170impl TryFrom<&str> for CurrentState {
171    type Error = String;
172    fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
173        match value {
174            "ConfigFiles" => Ok(Self::ConfigFiles),
175            "HalfConfigured" => Ok(Self::HalfConfigured),
176            "HalfInstalled" => Ok(Self::HalfInstalled),
177            "Installed" => Ok(Self::Installed),
178            "NotInstalled" => Ok(Self::NotInstalled),
179            "UnPacked" => Ok(Self::UnPacked),
180            v => Err(format!("Unknown variant {v}")),
181        }
182    }
183}