netbox_openapi/models/
writable_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/// WritableWirelessLanRequest : Adds support for custom fields and tags.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WritableWirelessLanRequest {
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(
59        rename = "auth_type",
60        default,
61        with = "::serde_with::rust::double_option",
62        skip_serializing_if = "Option::is_none"
63    )]
64    pub auth_type: Option<Option<AuthType>>,
65    /// * `auto` - Auto * `tkip` - TKIP * `aes` - AES
66    #[serde(
67        rename = "auth_cipher",
68        default,
69        with = "::serde_with::rust::double_option",
70        skip_serializing_if = "Option::is_none"
71    )]
72    pub auth_cipher: Option<Option<AuthCipher>>,
73    #[serde(rename = "auth_psk", skip_serializing_if = "Option::is_none")]
74    pub auth_psk: Option<String>,
75    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
76    pub comments: Option<String>,
77    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
78    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
79    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
80    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
81}
82
83impl WritableWirelessLanRequest {
84    /// Adds support for custom fields and tags.
85    pub fn new(ssid: String) -> WritableWirelessLanRequest {
86        WritableWirelessLanRequest {
87            ssid,
88            description: None,
89            group: None,
90            status: None,
91            vlan: None,
92            scope_type: None,
93            scope_id: None,
94            tenant: None,
95            auth_type: None,
96            auth_cipher: None,
97            auth_psk: None,
98            comments: None,
99            tags: None,
100            custom_fields: None,
101        }
102    }
103}
104
105/// * `active` - Active * `reserved` - Reserved * `disabled` - Disabled * `deprecated` - Deprecated
106#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
107pub enum Status {
108    #[serde(rename = "active")]
109    Active,
110    #[serde(rename = "reserved")]
111    Reserved,
112    #[serde(rename = "disabled")]
113    Disabled,
114    #[serde(rename = "deprecated")]
115    Deprecated,
116}
117
118impl Default for Status {
119    fn default() -> Status {
120        Self::Active
121    }
122}
123/// * `open` - Open * `wep` - WEP * `wpa-personal` - WPA Personal (PSK) * `wpa-enterprise` - WPA Enterprise
124#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
125pub enum AuthType {
126    #[serde(rename = "open")]
127    Open,
128    #[serde(rename = "wep")]
129    Wep,
130    #[serde(rename = "wpa-personal")]
131    WpaPersonal,
132    #[serde(rename = "wpa-enterprise")]
133    WpaEnterprise,
134    #[serde(rename = "")]
135    Empty,
136    #[serde(rename = "null")]
137    Null,
138}
139
140impl Default for AuthType {
141    fn default() -> AuthType {
142        Self::Open
143    }
144}
145/// * `auto` - Auto * `tkip` - TKIP * `aes` - AES
146#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
147pub enum AuthCipher {
148    #[serde(rename = "auto")]
149    Auto,
150    #[serde(rename = "tkip")]
151    Tkip,
152    #[serde(rename = "aes")]
153    Aes,
154    #[serde(rename = "")]
155    Empty,
156    #[serde(rename = "null")]
157    Null,
158}
159
160impl Default for AuthCipher {
161    fn default() -> AuthCipher {
162        Self::Auto
163    }
164}