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