1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct WirelessWirelessLansCreateRequest {
13 #[serde(rename = "ssid")]
14 pub ssid: String,
15 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
16 pub description: Option<String>,
17 #[serde(
18 rename = "group",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub group: Option<Option<Box<crate::models::PatchedWritableWirelessLanRequestGroup>>>,
24 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
26 pub status: Option<Status>,
27 #[serde(
28 rename = "vlan",
29 default,
30 with = "::serde_with::rust::double_option",
31 skip_serializing_if = "Option::is_none"
32 )]
33 pub vlan: Option<Option<Box<crate::models::InterfaceRequestUntaggedVlan>>>,
34 #[serde(
35 rename = "scope_type",
36 default,
37 with = "::serde_with::rust::double_option",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub scope_type: Option<Option<String>>,
41 #[serde(
42 rename = "scope_id",
43 default,
44 with = "::serde_with::rust::double_option",
45 skip_serializing_if = "Option::is_none"
46 )]
47 pub scope_id: Option<Option<i32>>,
48 #[serde(
49 rename = "tenant",
50 default,
51 with = "::serde_with::rust::double_option",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
55 #[serde(
57 rename = "auth_type",
58 default,
59 with = "::serde_with::rust::double_option",
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub auth_type: Option<Option<AuthType>>,
63 #[serde(
65 rename = "auth_cipher",
66 default,
67 with = "::serde_with::rust::double_option",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub auth_cipher: Option<Option<AuthCipher>>,
71 #[serde(rename = "auth_psk", skip_serializing_if = "Option::is_none")]
72 pub auth_psk: Option<String>,
73 #[serde(
74 rename = "owner",
75 default,
76 with = "::serde_with::rust::double_option",
77 skip_serializing_if = "Option::is_none"
78 )]
79 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
80 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
81 pub comments: Option<String>,
82 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
83 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
84 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
85 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
86}
87
88impl WirelessWirelessLansCreateRequest {
89 pub fn new(ssid: String) -> WirelessWirelessLansCreateRequest {
90 WirelessWirelessLansCreateRequest {
91 ssid,
92 description: None,
93 group: None,
94 status: None,
95 vlan: None,
96 scope_type: None,
97 scope_id: None,
98 tenant: None,
99 auth_type: None,
100 auth_cipher: None,
101 auth_psk: None,
102 owner: None,
103 comments: None,
104 tags: None,
105 custom_fields: None,
106 }
107 }
108}
109
110#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
112pub enum Status {
113 #[serde(rename = "active")]
114 Active,
115 #[serde(rename = "reserved")]
116 Reserved,
117 #[serde(rename = "disabled")]
118 Disabled,
119 #[serde(rename = "deprecated")]
120 Deprecated,
121}
122
123impl Default for Status {
124 fn default() -> Status {
125 Self::Active
126 }
127}
128#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
130pub enum AuthType {
131 #[serde(rename = "open")]
132 Open,
133 #[serde(rename = "wep")]
134 Wep,
135 #[serde(rename = "wpa-personal")]
136 WpaPersonal,
137 #[serde(rename = "wpa-enterprise")]
138 WpaEnterprise,
139 #[serde(rename = "")]
140 Empty,
141 #[serde(rename = "null")]
142 Null,
143}
144
145impl Default for AuthType {
146 fn default() -> AuthType {
147 Self::Open
148 }
149}
150#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
152pub enum AuthCipher {
153 #[serde(rename = "auto")]
154 Auto,
155 #[serde(rename = "tkip")]
156 Tkip,
157 #[serde(rename = "aes")]
158 Aes,
159 #[serde(rename = "")]
160 Empty,
161 #[serde(rename = "null")]
162 Null,
163}
164
165impl Default for AuthCipher {
166 fn default() -> AuthCipher {
167 Self::Auto
168 }
169}