authentik_client/models/
endpoint_device.rs1use 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}