netbox_openapi/models/
wireless_lan_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/// WirelessLanRequest : Adds support for custom fields and tags.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WirelessLanRequest {
15    #[serde(rename = "ssid")]
16    pub ssid: String,
17    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
18    pub description: Option<String>,
19    #[serde(
20        rename = "group",
21        default,
22        with = "::serde_with::rust::double_option",
23        skip_serializing_if = "Option::is_none"
24    )]
25    pub group: Option<Option<Box<crate::models::PatchedWritableWirelessLanRequestGroup>>>,
26    /// * `active` - Active * `reserved` - Reserved * `disabled` - Disabled * `deprecated` - Deprecated
27    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
28    pub status: Option<Status>,
29    #[serde(
30        rename = "vlan",
31        default,
32        with = "::serde_with::rust::double_option",
33        skip_serializing_if = "Option::is_none"
34    )]
35    pub vlan: Option<Option<Box<crate::models::InterfaceRequestUntaggedVlan>>>,
36    #[serde(
37        rename = "scope_type",
38        default,
39        with = "::serde_with::rust::double_option",
40        skip_serializing_if = "Option::is_none"
41    )]
42    pub scope_type: Option<Option<String>>,
43    #[serde(
44        rename = "scope_id",
45        default,
46        with = "::serde_with::rust::double_option",
47        skip_serializing_if = "Option::is_none"
48    )]
49    pub scope_id: Option<Option<i32>>,
50    #[serde(
51        rename = "tenant",
52        default,
53        with = "::serde_with::rust::double_option",
54        skip_serializing_if = "Option::is_none"
55    )]
56    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
57    /// * `open` - Open * `wep` - WEP * `wpa-personal` - WPA Personal (PSK) * `wpa-enterprise` - WPA Enterprise
58    #[serde(rename = "auth_type", skip_serializing_if = "Option::is_none")]
59    pub auth_type: Option<AuthType>,
60    /// * `auto` - Auto * `tkip` - TKIP * `aes` - AES
61    #[serde(rename = "auth_cipher", skip_serializing_if = "Option::is_none")]
62    pub auth_cipher: Option<AuthCipher>,
63    #[serde(rename = "auth_psk", skip_serializing_if = "Option::is_none")]
64    pub auth_psk: Option<String>,
65    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
66    pub comments: Option<String>,
67    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
68    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
69    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
70    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
71}
72
73impl WirelessLanRequest {
74    /// Adds support for custom fields and tags.
75    pub fn new(ssid: String) -> WirelessLanRequest {
76        WirelessLanRequest {
77            ssid,
78            description: None,
79            group: None,
80            status: None,
81            vlan: None,
82            scope_type: None,
83            scope_id: None,
84            tenant: None,
85            auth_type: None,
86            auth_cipher: None,
87            auth_psk: None,
88            comments: None,
89            tags: None,
90            custom_fields: None,
91        }
92    }
93}
94
95/// * `active` - Active * `reserved` - Reserved * `disabled` - Disabled * `deprecated` - Deprecated
96#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
97pub enum Status {
98    #[serde(rename = "active")]
99    Active,
100    #[serde(rename = "reserved")]
101    Reserved,
102    #[serde(rename = "disabled")]
103    Disabled,
104    #[serde(rename = "deprecated")]
105    Deprecated,
106    #[serde(rename = "")]
107    Empty,
108}
109
110impl Default for Status {
111    fn default() -> Status {
112        Self::Active
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}
129
130impl Default for AuthType {
131    fn default() -> AuthType {
132        Self::Open
133    }
134}
135/// * `auto` - Auto * `tkip` - TKIP * `aes` - AES
136#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
137pub enum AuthCipher {
138    #[serde(rename = "auto")]
139    Auto,
140    #[serde(rename = "tkip")]
141    Tkip,
142    #[serde(rename = "aes")]
143    Aes,
144    #[serde(rename = "")]
145    Empty,
146}
147
148impl Default for AuthCipher {
149    fn default() -> AuthCipher {
150        Self::Auto
151    }
152}