Skip to main content

authentik_client/models/
endpoint_device.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#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct EndpointDevice {
16    #[serde(rename = "device_uuid", skip_serializing_if = "Option::is_none")]
17    pub device_uuid: Option<uuid::Uuid>,
18    #[serde(rename = "pbm_uuid")]
19    pub pbm_uuid: uuid::Uuid,
20    #[serde(rename = "name")]
21    pub name: String,
22    #[serde(
23        rename = "access_group",
24        default,
25        with = "::serde_with::rust::double_option",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub access_group: Option<Option<uuid::Uuid>>,
29    #[serde(rename = "access_group_obj", skip_serializing_if = "Option::is_none")]
30    pub access_group_obj: Option<models::DeviceAccessGroup>,
31    #[serde(rename = "expiring", skip_serializing_if = "Option::is_none")]
32    pub expiring: Option<bool>,
33    #[serde(
34        rename = "expires",
35        default,
36        with = "::serde_with::rust::double_option",
37        skip_serializing_if = "Option::is_none"
38    )]
39    pub expires: Option<Option<String>>,
40    #[serde(rename = "facts")]
41    pub facts: models::DeviceFactSnapshot,
42    #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
43    pub attributes: Option<std::collections::HashMap<String, serde_json::Value>>,
44}
45
46impl EndpointDevice {
47    pub fn new(pbm_uuid: uuid::Uuid, name: String, facts: models::DeviceFactSnapshot) -> EndpointDevice {
48        EndpointDevice {
49            device_uuid: None,
50            pbm_uuid,
51            name,
52            access_group: None,
53            access_group_obj: None,
54            expiring: None,
55            expires: None,
56            facts,
57            attributes: None,
58        }
59    }
60}