1#![allow(clippy::useless_conversion)]
2use crate::secret::*;
3impl serde::Serialize for Secret {
4 #[allow(deprecated)]
5 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6 where
7 S: serde::Serializer,
8 {
9 use serde::ser::SerializeStruct;
10 let mut len = 0;
11 if self.secret_backend.is_some() {
12 len += 1;
13 }
14 let mut struct_ser = serializer.serialize_struct("secret.Secret", len)?;
15 if let Some(v) = self.secret_backend.as_ref() {
16 match v {
17 secret::SecretBackend::Meta(v) => {
18 struct_ser.serialize_field("meta", v)?;
19 }
20 secret::SecretBackend::HashicorpVault(v) => {
21 struct_ser.serialize_field("hashicorpVault", v)?;
22 }
23 }
24 }
25 struct_ser.end()
26 }
27}
28impl<'de> serde::Deserialize<'de> for Secret {
29 #[allow(deprecated)]
30 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
31 where
32 D: serde::Deserializer<'de>,
33 {
34 const FIELDS: &[&str] = &[
35 "meta",
36 "hashicorp_vault",
37 "hashicorpVault",
38 ];
39
40 #[allow(clippy::enum_variant_names)]
41 enum GeneratedField {
42 Meta,
43 HashicorpVault,
44 }
45 impl<'de> serde::Deserialize<'de> for GeneratedField {
46 fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
47 where
48 D: serde::Deserializer<'de>,
49 {
50 struct GeneratedVisitor;
51
52 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
53 type Value = GeneratedField;
54
55 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
56 write!(formatter, "expected one of: {:?}", &FIELDS)
57 }
58
59 #[allow(unused_variables)]
60 fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
61 where
62 E: serde::de::Error,
63 {
64 match value {
65 "meta" => Ok(GeneratedField::Meta),
66 "hashicorpVault" | "hashicorp_vault" => Ok(GeneratedField::HashicorpVault),
67 _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
68 }
69 }
70 }
71 deserializer.deserialize_identifier(GeneratedVisitor)
72 }
73 }
74 struct GeneratedVisitor;
75 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
76 type Value = Secret;
77
78 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
79 formatter.write_str("struct secret.Secret")
80 }
81
82 fn visit_map<V>(self, mut map_: V) -> std::result::Result<Secret, V::Error>
83 where
84 V: serde::de::MapAccess<'de>,
85 {
86 let mut secret_backend__ = None;
87 while let Some(k) = map_.next_key()? {
88 match k {
89 GeneratedField::Meta => {
90 if secret_backend__.is_some() {
91 return Err(serde::de::Error::duplicate_field("meta"));
92 }
93 secret_backend__ = map_.next_value::<::std::option::Option<_>>()?.map(secret::SecretBackend::Meta)
94;
95 }
96 GeneratedField::HashicorpVault => {
97 if secret_backend__.is_some() {
98 return Err(serde::de::Error::duplicate_field("hashicorpVault"));
99 }
100 secret_backend__ = map_.next_value::<::std::option::Option<_>>()?.map(secret::SecretBackend::HashicorpVault)
101;
102 }
103 }
104 }
105 Ok(Secret {
106 secret_backend: secret_backend__,
107 })
108 }
109 }
110 deserializer.deserialize_struct("secret.Secret", FIELDS, GeneratedVisitor)
111 }
112}
113impl serde::Serialize for SecretHashicorpVaultBackend {
114 #[allow(deprecated)]
115 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
116 where
117 S: serde::Serializer,
118 {
119 use serde::ser::SerializeStruct;
120 let mut len = 0;
121 if !self.addr.is_empty() {
122 len += 1;
123 }
124 if !self.path.is_empty() {
125 len += 1;
126 }
127 if !self.field.is_empty() {
128 len += 1;
129 }
130 if self.tls_skip_verify {
131 len += 1;
132 }
133 if self.auth.is_some() {
134 len += 1;
135 }
136 let mut struct_ser = serializer.serialize_struct("secret.SecretHashicorpVaultBackend", len)?;
137 if !self.addr.is_empty() {
138 struct_ser.serialize_field("addr", &self.addr)?;
139 }
140 if !self.path.is_empty() {
141 struct_ser.serialize_field("path", &self.path)?;
142 }
143 if !self.field.is_empty() {
144 struct_ser.serialize_field("field", &self.field)?;
145 }
146 if self.tls_skip_verify {
147 struct_ser.serialize_field("tlsSkipVerify", &self.tls_skip_verify)?;
148 }
149 if let Some(v) = self.auth.as_ref() {
150 match v {
151 secret_hashicorp_vault_backend::Auth::TokenAuth(v) => {
152 struct_ser.serialize_field("tokenAuth", v)?;
153 }
154 secret_hashicorp_vault_backend::Auth::ApproleAuth(v) => {
155 struct_ser.serialize_field("approleAuth", v)?;
156 }
157 }
158 }
159 struct_ser.end()
160 }
161}
162impl<'de> serde::Deserialize<'de> for SecretHashicorpVaultBackend {
163 #[allow(deprecated)]
164 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
165 where
166 D: serde::Deserializer<'de>,
167 {
168 const FIELDS: &[&str] = &[
169 "addr",
170 "path",
171 "field",
172 "tls_skip_verify",
173 "tlsSkipVerify",
174 "token_auth",
175 "tokenAuth",
176 "approle_auth",
177 "approleAuth",
178 ];
179
180 #[allow(clippy::enum_variant_names)]
181 enum GeneratedField {
182 Addr,
183 Path,
184 Field,
185 TlsSkipVerify,
186 TokenAuth,
187 ApproleAuth,
188 }
189 impl<'de> serde::Deserialize<'de> for GeneratedField {
190 fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
191 where
192 D: serde::Deserializer<'de>,
193 {
194 struct GeneratedVisitor;
195
196 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
197 type Value = GeneratedField;
198
199 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
200 write!(formatter, "expected one of: {:?}", &FIELDS)
201 }
202
203 #[allow(unused_variables)]
204 fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
205 where
206 E: serde::de::Error,
207 {
208 match value {
209 "addr" => Ok(GeneratedField::Addr),
210 "path" => Ok(GeneratedField::Path),
211 "field" => Ok(GeneratedField::Field),
212 "tlsSkipVerify" | "tls_skip_verify" => Ok(GeneratedField::TlsSkipVerify),
213 "tokenAuth" | "token_auth" => Ok(GeneratedField::TokenAuth),
214 "approleAuth" | "approle_auth" => Ok(GeneratedField::ApproleAuth),
215 _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
216 }
217 }
218 }
219 deserializer.deserialize_identifier(GeneratedVisitor)
220 }
221 }
222 struct GeneratedVisitor;
223 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
224 type Value = SecretHashicorpVaultBackend;
225
226 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
227 formatter.write_str("struct secret.SecretHashicorpVaultBackend")
228 }
229
230 fn visit_map<V>(self, mut map_: V) -> std::result::Result<SecretHashicorpVaultBackend, V::Error>
231 where
232 V: serde::de::MapAccess<'de>,
233 {
234 let mut addr__ = None;
235 let mut path__ = None;
236 let mut field__ = None;
237 let mut tls_skip_verify__ = None;
238 let mut auth__ = None;
239 while let Some(k) = map_.next_key()? {
240 match k {
241 GeneratedField::Addr => {
242 if addr__.is_some() {
243 return Err(serde::de::Error::duplicate_field("addr"));
244 }
245 addr__ = Some(map_.next_value()?);
246 }
247 GeneratedField::Path => {
248 if path__.is_some() {
249 return Err(serde::de::Error::duplicate_field("path"));
250 }
251 path__ = Some(map_.next_value()?);
252 }
253 GeneratedField::Field => {
254 if field__.is_some() {
255 return Err(serde::de::Error::duplicate_field("field"));
256 }
257 field__ = Some(map_.next_value()?);
258 }
259 GeneratedField::TlsSkipVerify => {
260 if tls_skip_verify__.is_some() {
261 return Err(serde::de::Error::duplicate_field("tlsSkipVerify"));
262 }
263 tls_skip_verify__ = Some(map_.next_value()?);
264 }
265 GeneratedField::TokenAuth => {
266 if auth__.is_some() {
267 return Err(serde::de::Error::duplicate_field("tokenAuth"));
268 }
269 auth__ = map_.next_value::<::std::option::Option<_>>()?.map(secret_hashicorp_vault_backend::Auth::TokenAuth)
270;
271 }
272 GeneratedField::ApproleAuth => {
273 if auth__.is_some() {
274 return Err(serde::de::Error::duplicate_field("approleAuth"));
275 }
276 auth__ = map_.next_value::<::std::option::Option<_>>()?.map(secret_hashicorp_vault_backend::Auth::ApproleAuth)
277;
278 }
279 }
280 }
281 Ok(SecretHashicorpVaultBackend {
282 addr: addr__.unwrap_or_default(),
283 path: path__.unwrap_or_default(),
284 field: field__.unwrap_or_default(),
285 tls_skip_verify: tls_skip_verify__.unwrap_or_default(),
286 auth: auth__,
287 })
288 }
289 }
290 deserializer.deserialize_struct("secret.SecretHashicorpVaultBackend", FIELDS, GeneratedVisitor)
291 }
292}
293impl serde::Serialize for SecretMetaBackend {
294 #[allow(deprecated)]
295 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
296 where
297 S: serde::Serializer,
298 {
299 use serde::ser::SerializeStruct;
300 let mut len = 0;
301 if !self.value.is_empty() {
302 len += 1;
303 }
304 let mut struct_ser = serializer.serialize_struct("secret.SecretMetaBackend", len)?;
305 if !self.value.is_empty() {
306 #[allow(clippy::needless_borrow)]
307 #[allow(clippy::needless_borrows_for_generic_args)]
308 struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?;
309 }
310 struct_ser.end()
311 }
312}
313impl<'de> serde::Deserialize<'de> for SecretMetaBackend {
314 #[allow(deprecated)]
315 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
316 where
317 D: serde::Deserializer<'de>,
318 {
319 const FIELDS: &[&str] = &[
320 "value",
321 ];
322
323 #[allow(clippy::enum_variant_names)]
324 enum GeneratedField {
325 Value,
326 }
327 impl<'de> serde::Deserialize<'de> for GeneratedField {
328 fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
329 where
330 D: serde::Deserializer<'de>,
331 {
332 struct GeneratedVisitor;
333
334 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
335 type Value = GeneratedField;
336
337 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
338 write!(formatter, "expected one of: {:?}", &FIELDS)
339 }
340
341 #[allow(unused_variables)]
342 fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
343 where
344 E: serde::de::Error,
345 {
346 match value {
347 "value" => Ok(GeneratedField::Value),
348 _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
349 }
350 }
351 }
352 deserializer.deserialize_identifier(GeneratedVisitor)
353 }
354 }
355 struct GeneratedVisitor;
356 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
357 type Value = SecretMetaBackend;
358
359 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
360 formatter.write_str("struct secret.SecretMetaBackend")
361 }
362
363 fn visit_map<V>(self, mut map_: V) -> std::result::Result<SecretMetaBackend, V::Error>
364 where
365 V: serde::de::MapAccess<'de>,
366 {
367 let mut value__ = None;
368 while let Some(k) = map_.next_key()? {
369 match k {
370 GeneratedField::Value => {
371 if value__.is_some() {
372 return Err(serde::de::Error::duplicate_field("value"));
373 }
374 value__ =
375 Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0)
376 ;
377 }
378 }
379 }
380 Ok(SecretMetaBackend {
381 value: value__.unwrap_or_default(),
382 })
383 }
384 }
385 deserializer.deserialize_struct("secret.SecretMetaBackend", FIELDS, GeneratedVisitor)
386 }
387}
388impl serde::Serialize for SecretRef {
389 #[allow(deprecated)]
390 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
391 where
392 S: serde::Serializer,
393 {
394 use serde::ser::SerializeStruct;
395 let mut len = 0;
396 if self.secret_id != 0 {
397 len += 1;
398 }
399 if self.ref_as != 0 {
400 len += 1;
401 }
402 let mut struct_ser = serializer.serialize_struct("secret.SecretRef", len)?;
403 if self.secret_id != 0 {
404 struct_ser.serialize_field("secretId", &self.secret_id)?;
405 }
406 if self.ref_as != 0 {
407 let v = secret_ref::RefAsType::try_from(self.ref_as)
408 .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.ref_as)))?;
409 struct_ser.serialize_field("refAs", &v)?;
410 }
411 struct_ser.end()
412 }
413}
414impl<'de> serde::Deserialize<'de> for SecretRef {
415 #[allow(deprecated)]
416 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
417 where
418 D: serde::Deserializer<'de>,
419 {
420 const FIELDS: &[&str] = &[
421 "secret_id",
422 "secretId",
423 "ref_as",
424 "refAs",
425 ];
426
427 #[allow(clippy::enum_variant_names)]
428 enum GeneratedField {
429 SecretId,
430 RefAs,
431 }
432 impl<'de> serde::Deserialize<'de> for GeneratedField {
433 fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
434 where
435 D: serde::Deserializer<'de>,
436 {
437 struct GeneratedVisitor;
438
439 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
440 type Value = GeneratedField;
441
442 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
443 write!(formatter, "expected one of: {:?}", &FIELDS)
444 }
445
446 #[allow(unused_variables)]
447 fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
448 where
449 E: serde::de::Error,
450 {
451 match value {
452 "secretId" | "secret_id" => Ok(GeneratedField::SecretId),
453 "refAs" | "ref_as" => Ok(GeneratedField::RefAs),
454 _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
455 }
456 }
457 }
458 deserializer.deserialize_identifier(GeneratedVisitor)
459 }
460 }
461 struct GeneratedVisitor;
462 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
463 type Value = SecretRef;
464
465 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
466 formatter.write_str("struct secret.SecretRef")
467 }
468
469 fn visit_map<V>(self, mut map_: V) -> std::result::Result<SecretRef, V::Error>
470 where
471 V: serde::de::MapAccess<'de>,
472 {
473 let mut secret_id__ = None;
474 let mut ref_as__ = None;
475 while let Some(k) = map_.next_key()? {
476 match k {
477 GeneratedField::SecretId => {
478 if secret_id__.is_some() {
479 return Err(serde::de::Error::duplicate_field("secretId"));
480 }
481 secret_id__ =
482 Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0)
483 ;
484 }
485 GeneratedField::RefAs => {
486 if ref_as__.is_some() {
487 return Err(serde::de::Error::duplicate_field("refAs"));
488 }
489 ref_as__ = Some(map_.next_value::<secret_ref::RefAsType>()? as i32);
490 }
491 }
492 }
493 Ok(SecretRef {
494 secret_id: secret_id__.unwrap_or_default(),
495 ref_as: ref_as__.unwrap_or_default(),
496 })
497 }
498 }
499 deserializer.deserialize_struct("secret.SecretRef", FIELDS, GeneratedVisitor)
500 }
501}
502impl serde::Serialize for secret_ref::RefAsType {
503 #[allow(deprecated)]
504 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
505 where
506 S: serde::Serializer,
507 {
508 let variant = match self {
509 Self::Unspecified => "UNSPECIFIED",
510 Self::Text => "TEXT",
511 Self::File => "FILE",
512 };
513 serializer.serialize_str(variant)
514 }
515}
516impl<'de> serde::Deserialize<'de> for secret_ref::RefAsType {
517 #[allow(deprecated)]
518 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
519 where
520 D: serde::Deserializer<'de>,
521 {
522 const FIELDS: &[&str] = &[
523 "UNSPECIFIED",
524 "TEXT",
525 "FILE",
526 ];
527
528 struct GeneratedVisitor;
529
530 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
531 type Value = secret_ref::RefAsType;
532
533 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
534 write!(formatter, "expected one of: {:?}", &FIELDS)
535 }
536
537 fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
538 where
539 E: serde::de::Error,
540 {
541 i32::try_from(v)
542 .ok()
543 .and_then(|x| x.try_into().ok())
544 .ok_or_else(|| {
545 serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
546 })
547 }
548
549 fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
550 where
551 E: serde::de::Error,
552 {
553 i32::try_from(v)
554 .ok()
555 .and_then(|x| x.try_into().ok())
556 .ok_or_else(|| {
557 serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
558 })
559 }
560
561 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
562 where
563 E: serde::de::Error,
564 {
565 match value {
566 "UNSPECIFIED" => Ok(secret_ref::RefAsType::Unspecified),
567 "TEXT" => Ok(secret_ref::RefAsType::Text),
568 "FILE" => Ok(secret_ref::RefAsType::File),
569 _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
570 }
571 }
572 }
573 deserializer.deserialize_any(GeneratedVisitor)
574 }
575}
576impl serde::Serialize for VaultAppRoleAuth {
577 #[allow(deprecated)]
578 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
579 where
580 S: serde::Serializer,
581 {
582 use serde::ser::SerializeStruct;
583 let mut len = 0;
584 if !self.role_id.is_empty() {
585 len += 1;
586 }
587 if !self.secret_id.is_empty() {
588 len += 1;
589 }
590 let mut struct_ser = serializer.serialize_struct("secret.VaultAppRoleAuth", len)?;
591 if !self.role_id.is_empty() {
592 struct_ser.serialize_field("roleId", &self.role_id)?;
593 }
594 if !self.secret_id.is_empty() {
595 struct_ser.serialize_field("secretId", &self.secret_id)?;
596 }
597 struct_ser.end()
598 }
599}
600impl<'de> serde::Deserialize<'de> for VaultAppRoleAuth {
601 #[allow(deprecated)]
602 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
603 where
604 D: serde::Deserializer<'de>,
605 {
606 const FIELDS: &[&str] = &[
607 "role_id",
608 "roleId",
609 "secret_id",
610 "secretId",
611 ];
612
613 #[allow(clippy::enum_variant_names)]
614 enum GeneratedField {
615 RoleId,
616 SecretId,
617 }
618 impl<'de> serde::Deserialize<'de> for GeneratedField {
619 fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
620 where
621 D: serde::Deserializer<'de>,
622 {
623 struct GeneratedVisitor;
624
625 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
626 type Value = GeneratedField;
627
628 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
629 write!(formatter, "expected one of: {:?}", &FIELDS)
630 }
631
632 #[allow(unused_variables)]
633 fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
634 where
635 E: serde::de::Error,
636 {
637 match value {
638 "roleId" | "role_id" => Ok(GeneratedField::RoleId),
639 "secretId" | "secret_id" => Ok(GeneratedField::SecretId),
640 _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
641 }
642 }
643 }
644 deserializer.deserialize_identifier(GeneratedVisitor)
645 }
646 }
647 struct GeneratedVisitor;
648 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
649 type Value = VaultAppRoleAuth;
650
651 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
652 formatter.write_str("struct secret.VaultAppRoleAuth")
653 }
654
655 fn visit_map<V>(self, mut map_: V) -> std::result::Result<VaultAppRoleAuth, V::Error>
656 where
657 V: serde::de::MapAccess<'de>,
658 {
659 let mut role_id__ = None;
660 let mut secret_id__ = None;
661 while let Some(k) = map_.next_key()? {
662 match k {
663 GeneratedField::RoleId => {
664 if role_id__.is_some() {
665 return Err(serde::de::Error::duplicate_field("roleId"));
666 }
667 role_id__ = Some(map_.next_value()?);
668 }
669 GeneratedField::SecretId => {
670 if secret_id__.is_some() {
671 return Err(serde::de::Error::duplicate_field("secretId"));
672 }
673 secret_id__ = Some(map_.next_value()?);
674 }
675 }
676 }
677 Ok(VaultAppRoleAuth {
678 role_id: role_id__.unwrap_or_default(),
679 secret_id: secret_id__.unwrap_or_default(),
680 })
681 }
682 }
683 deserializer.deserialize_struct("secret.VaultAppRoleAuth", FIELDS, GeneratedVisitor)
684 }
685}
686impl serde::Serialize for VaultTokenAuth {
687 #[allow(deprecated)]
688 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
689 where
690 S: serde::Serializer,
691 {
692 use serde::ser::SerializeStruct;
693 let mut len = 0;
694 if !self.token.is_empty() {
695 len += 1;
696 }
697 let mut struct_ser = serializer.serialize_struct("secret.VaultTokenAuth", len)?;
698 if !self.token.is_empty() {
699 struct_ser.serialize_field("token", &self.token)?;
700 }
701 struct_ser.end()
702 }
703}
704impl<'de> serde::Deserialize<'de> for VaultTokenAuth {
705 #[allow(deprecated)]
706 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
707 where
708 D: serde::Deserializer<'de>,
709 {
710 const FIELDS: &[&str] = &[
711 "token",
712 ];
713
714 #[allow(clippy::enum_variant_names)]
715 enum GeneratedField {
716 Token,
717 }
718 impl<'de> serde::Deserialize<'de> for GeneratedField {
719 fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
720 where
721 D: serde::Deserializer<'de>,
722 {
723 struct GeneratedVisitor;
724
725 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
726 type Value = GeneratedField;
727
728 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
729 write!(formatter, "expected one of: {:?}", &FIELDS)
730 }
731
732 #[allow(unused_variables)]
733 fn visit_str<E>(self, value: &str) -> std::result::Result<GeneratedField, E>
734 where
735 E: serde::de::Error,
736 {
737 match value {
738 "token" => Ok(GeneratedField::Token),
739 _ => Err(serde::de::Error::unknown_field(value, FIELDS)),
740 }
741 }
742 }
743 deserializer.deserialize_identifier(GeneratedVisitor)
744 }
745 }
746 struct GeneratedVisitor;
747 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
748 type Value = VaultTokenAuth;
749
750 fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
751 formatter.write_str("struct secret.VaultTokenAuth")
752 }
753
754 fn visit_map<V>(self, mut map_: V) -> std::result::Result<VaultTokenAuth, V::Error>
755 where
756 V: serde::de::MapAccess<'de>,
757 {
758 let mut token__ = None;
759 while let Some(k) = map_.next_key()? {
760 match k {
761 GeneratedField::Token => {
762 if token__.is_some() {
763 return Err(serde::de::Error::duplicate_field("token"));
764 }
765 token__ = Some(map_.next_value()?);
766 }
767 }
768 }
769 Ok(VaultTokenAuth {
770 token: token__.unwrap_or_default(),
771 })
772 }
773 }
774 deserializer.deserialize_struct("secret.VaultTokenAuth", FIELDS, GeneratedVisitor)
775 }
776}