Skip to main content

authentik_client/models/
operating_system.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2026.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// OperatingSystem : For example: {\"family\":\"linux\",\"name\":\"Ubuntu\",\"version\":\"24.04.3 LTS (Noble Numbat)\",\"arch\":\"amd64\"} {\"family\": \"windows\",\"name\":\"Server 2022 Datacenter\",\"version\":\"10.0.20348.4405\",\"arch\":\"amd64\"} {\"family\": \"windows\",\"name\":\"Server 2022 Datacenter\",\"version\":\"10.0.20348.4405\",\"arch\":\"amd64\"} {\"family\": \"mac_os\", \"name\": \"\", \"version\": \"26.2\", \"arch\": \"arm64\"}
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OperatingSystem {
17    #[serde(rename = "family")]
18    pub family: models::DeviceFactsOsFamily,
19    /// Operating System name, such as 'Server 2022' or 'Ubuntu'
20    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
21    pub name: Option<String>,
22    /// Operating System version, must always be the version number but may contain build name
23    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
24    pub version: Option<String>,
25    #[serde(rename = "arch")]
26    pub arch: String,
27}
28
29impl OperatingSystem {
30    /// For example: {\"family\":\"linux\",\"name\":\"Ubuntu\",\"version\":\"24.04.3 LTS (Noble Numbat)\",\"arch\":\"amd64\"} {\"family\": \"windows\",\"name\":\"Server 2022 Datacenter\",\"version\":\"10.0.20348.4405\",\"arch\":\"amd64\"} {\"family\": \"windows\",\"name\":\"Server 2022 Datacenter\",\"version\":\"10.0.20348.4405\",\"arch\":\"amd64\"} {\"family\": \"mac_os\", \"name\": \"\", \"version\": \"26.2\", \"arch\": \"arm64\"}
31    pub fn new(family: models::DeviceFactsOsFamily, arch: String) -> OperatingSystem {
32        OperatingSystem {
33            family,
34            name: None,
35            version: None,
36            arch,
37        }
38    }
39}