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