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