proxmox_api/generated/nodes/node/apt/
versions.rs1#[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}