netbox_openapi/models/
writable_wireless_link_request.rs

1/*
2 * NetBox REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 4.4.2-Docker-3.4.1 (4.4)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// WritableWirelessLinkRequest : Adds support for custom fields and tags.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WritableWirelessLinkRequest {
15    #[serde(rename = "interface_a")]
16    pub interface_a: Box<crate::models::PatchedWritableVirtualCircuitTerminationRequestInterface>,
17    #[serde(rename = "interface_b")]
18    pub interface_b: Box<crate::models::PatchedWritableVirtualCircuitTerminationRequestInterface>,
19    #[serde(rename = "ssid", skip_serializing_if = "Option::is_none")]
20    pub ssid: Option<String>,
21    /// * `connected` - Connected * `planned` - Planned * `decommissioning` - Decommissioning
22    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
23    pub status: Option<Status>,
24    #[serde(
25        rename = "tenant",
26        default,
27        with = "::serde_with::rust::double_option",
28        skip_serializing_if = "Option::is_none"
29    )]
30    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
31    /// * `open` - Open * `wep` - WEP * `wpa-personal` - WPA Personal (PSK) * `wpa-enterprise` - WPA Enterprise
32    #[serde(
33        rename = "auth_type",
34        default,
35        with = "::serde_with::rust::double_option",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub auth_type: Option<Option<AuthType>>,
39    /// * `auto` - Auto * `tkip` - TKIP * `aes` - AES
40    #[serde(
41        rename = "auth_cipher",
42        default,
43        with = "::serde_with::rust::double_option",
44        skip_serializing_if = "Option::is_none"
45    )]
46    pub auth_cipher: Option<Option<AuthCipher>>,
47    #[serde(rename = "auth_psk", skip_serializing_if = "Option::is_none")]
48    pub auth_psk: Option<String>,
49    #[serde(
50        rename = "distance",
51        default,
52        with = "::serde_with::rust::double_option",
53        skip_serializing_if = "Option::is_none"
54    )]
55    pub distance: Option<Option<f64>>,
56    /// * `km` - Kilometers * `m` - Meters * `mi` - Miles * `ft` - Feet
57    #[serde(
58        rename = "distance_unit",
59        default,
60        with = "::serde_with::rust::double_option",
61        skip_serializing_if = "Option::is_none"
62    )]
63    pub distance_unit: Option<Option<DistanceUnit>>,
64    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
65    pub description: Option<String>,
66    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
67    pub comments: Option<String>,
68    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
69    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
70    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
71    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
72}
73
74impl WritableWirelessLinkRequest {
75    /// Adds support for custom fields and tags.
76    pub fn new(
77        interface_a: crate::models::PatchedWritableVirtualCircuitTerminationRequestInterface,
78        interface_b: crate::models::PatchedWritableVirtualCircuitTerminationRequestInterface,
79    ) -> WritableWirelessLinkRequest {
80        WritableWirelessLinkRequest {
81            interface_a: Box::new(interface_a),
82            interface_b: Box::new(interface_b),
83            ssid: None,
84            status: None,
85            tenant: None,
86            auth_type: None,
87            auth_cipher: None,
88            auth_psk: None,
89            distance: None,
90            distance_unit: None,
91            description: None,
92            comments: None,
93            tags: None,
94            custom_fields: None,
95        }
96    }
97}
98
99/// * `connected` - Connected * `planned` - Planned * `decommissioning` - Decommissioning
100#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
101pub enum Status {
102    #[serde(rename = "connected")]
103    Connected,
104    #[serde(rename = "planned")]
105    Planned,
106    #[serde(rename = "decommissioning")]
107    Decommissioning,
108}
109
110impl Default for Status {
111    fn default() -> Status {
112        Self::Connected
113    }
114}
115/// * `open` - Open * `wep` - WEP * `wpa-personal` - WPA Personal (PSK) * `wpa-enterprise` - WPA Enterprise
116#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
117pub enum AuthType {
118    #[serde(rename = "open")]
119    Open,
120    #[serde(rename = "wep")]
121    Wep,
122    #[serde(rename = "wpa-personal")]
123    WpaPersonal,
124    #[serde(rename = "wpa-enterprise")]
125    WpaEnterprise,
126    #[serde(rename = "")]
127    Empty,
128    #[serde(rename = "null")]
129    Null,
130}
131
132impl Default for AuthType {
133    fn default() -> AuthType {
134        Self::Open
135    }
136}
137/// * `auto` - Auto * `tkip` - TKIP * `aes` - AES
138#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
139pub enum AuthCipher {
140    #[serde(rename = "auto")]
141    Auto,
142    #[serde(rename = "tkip")]
143    Tkip,
144    #[serde(rename = "aes")]
145    Aes,
146    #[serde(rename = "")]
147    Empty,
148    #[serde(rename = "null")]
149    Null,
150}
151
152impl Default for AuthCipher {
153    fn default() -> AuthCipher {
154        Self::Auto
155    }
156}
157/// * `km` - Kilometers * `m` - Meters * `mi` - Miles * `ft` - Feet
158#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
159pub enum DistanceUnit {
160    #[serde(rename = "km")]
161    Km,
162    #[serde(rename = "m")]
163    M,
164    #[serde(rename = "mi")]
165    Mi,
166    #[serde(rename = "ft")]
167    Ft,
168    #[serde(rename = "")]
169    Empty,
170    #[serde(rename = "null")]
171    Null,
172}
173
174impl Default for DistanceUnit {
175    fn default() -> DistanceUnit {
176        Self::Km
177    }
178}