1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WirelessLinkRequest {
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 #[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 #[serde(rename = "auth_type", skip_serializing_if = "Option::is_none")]
33 pub auth_type: Option<AuthType>,
34 #[serde(rename = "auth_cipher", skip_serializing_if = "Option::is_none")]
36 pub auth_cipher: Option<AuthCipher>,
37 #[serde(rename = "auth_psk", skip_serializing_if = "Option::is_none")]
38 pub auth_psk: Option<String>,
39 #[serde(
40 rename = "distance",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub distance: Option<Option<f64>>,
46 #[serde(
48 rename = "distance_unit",
49 default,
50 with = "::serde_with::rust::double_option",
51 skip_serializing_if = "Option::is_none"
52 )]
53 pub distance_unit: Option<Option<DistanceUnit>>,
54 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
55 pub description: Option<String>,
56 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
57 pub comments: Option<String>,
58 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
59 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
60 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
61 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
62}
63
64impl WirelessLinkRequest {
65 pub fn new(
67 interface_a: crate::models::PatchedWritableVirtualCircuitTerminationRequestInterface,
68 interface_b: crate::models::PatchedWritableVirtualCircuitTerminationRequestInterface,
69 ) -> WirelessLinkRequest {
70 WirelessLinkRequest {
71 interface_a: Box::new(interface_a),
72 interface_b: Box::new(interface_b),
73 ssid: None,
74 status: None,
75 tenant: None,
76 auth_type: None,
77 auth_cipher: None,
78 auth_psk: None,
79 distance: None,
80 distance_unit: None,
81 description: None,
82 comments: None,
83 tags: None,
84 custom_fields: None,
85 }
86 }
87}
88
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
91pub enum Status {
92 #[serde(rename = "connected")]
93 Connected,
94 #[serde(rename = "planned")]
95 Planned,
96 #[serde(rename = "decommissioning")]
97 Decommissioning,
98}
99
100impl Default for Status {
101 fn default() -> Status {
102 Self::Connected
103 }
104}
105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
107pub enum AuthType {
108 #[serde(rename = "open")]
109 Open,
110 #[serde(rename = "wep")]
111 Wep,
112 #[serde(rename = "wpa-personal")]
113 WpaPersonal,
114 #[serde(rename = "wpa-enterprise")]
115 WpaEnterprise,
116 #[serde(rename = "")]
117 Empty,
118}
119
120impl Default for AuthType {
121 fn default() -> AuthType {
122 Self::Open
123 }
124}
125#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
127pub enum AuthCipher {
128 #[serde(rename = "auto")]
129 Auto,
130 #[serde(rename = "tkip")]
131 Tkip,
132 #[serde(rename = "aes")]
133 Aes,
134 #[serde(rename = "")]
135 Empty,
136}
137
138impl Default for AuthCipher {
139 fn default() -> AuthCipher {
140 Self::Auto
141 }
142}
143#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
145pub enum DistanceUnit {
146 #[serde(rename = "km")]
147 Km,
148 #[serde(rename = "m")]
149 M,
150 #[serde(rename = "mi")]
151 Mi,
152 #[serde(rename = "ft")]
153 Ft,
154 #[serde(rename = "")]
155 Empty,
156 #[serde(rename = "null")]
157 Null,
158}
159
160impl Default for DistanceUnit {
161 fn default() -> DistanceUnit {
162 Self::Km
163 }
164}