1#![allow(rustdoc::redundant_explicit_links)]
18#![allow(rustdoc::broken_intra_doc_links)]
19#![no_implicit_prelude]
20extern crate async_trait;
21extern crate bytes;
22extern crate gax;
23extern crate gaxi;
24extern crate lazy_static;
25extern crate location;
26extern crate longrunning;
27extern crate lro;
28extern crate reqwest;
29extern crate rpc;
30extern crate serde;
31extern crate serde_json;
32extern crate serde_with;
33extern crate std;
34extern crate tracing;
35extern crate wkt;
36
37#[derive(Clone, Default, PartialEq)]
39#[non_exhaustive]
40pub struct Cluster {
41 pub name: std::string::String,
43
44 pub create_time: std::option::Option<wkt::Timestamp>,
46
47 pub update_time: std::option::Option<wkt::Timestamp>,
49
50 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
52
53 pub fleet: std::option::Option<crate::model::Fleet>,
55
56 pub networking: std::option::Option<crate::model::ClusterNetworking>,
58
59 pub authorization: std::option::Option<crate::model::Authorization>,
61
62 pub default_max_pods_per_node: i32,
66
67 pub endpoint: std::string::String,
69
70 pub port: i32,
72
73 pub cluster_ca_certificate: std::string::String,
75
76 pub maintenance_policy: std::option::Option<crate::model::MaintenancePolicy>,
78
79 pub control_plane_version: std::string::String,
81
82 pub node_version: std::string::String,
85
86 pub control_plane: std::option::Option<crate::model::cluster::ControlPlane>,
88
89 pub system_addons_config: std::option::Option<crate::model::cluster::SystemAddonsConfig>,
91
92 pub external_load_balancer_ipv4_address_pools: std::vec::Vec<std::string::String>,
95
96 pub control_plane_encryption:
99 std::option::Option<crate::model::cluster::ControlPlaneEncryption>,
100
101 pub status: crate::model::cluster::Status,
103
104 pub maintenance_events: std::vec::Vec<crate::model::cluster::MaintenanceEvent>,
108
109 pub target_version: std::string::String,
111
112 pub release_channel: crate::model::cluster::ReleaseChannel,
114
115 pub survivability_config: std::option::Option<crate::model::cluster::SurvivabilityConfig>,
119
120 pub external_load_balancer_ipv6_address_pools: std::vec::Vec<std::string::String>,
123
124 pub connection_state: std::option::Option<crate::model::cluster::ConnectionState>,
126
127 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
128}
129
130impl Cluster {
131 pub fn new() -> Self {
132 std::default::Default::default()
133 }
134
135 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
137 self.name = v.into();
138 self
139 }
140
141 pub fn set_create_time<T>(mut self, v: T) -> Self
143 where
144 T: std::convert::Into<wkt::Timestamp>,
145 {
146 self.create_time = std::option::Option::Some(v.into());
147 self
148 }
149
150 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
152 where
153 T: std::convert::Into<wkt::Timestamp>,
154 {
155 self.create_time = v.map(|x| x.into());
156 self
157 }
158
159 pub fn set_update_time<T>(mut self, v: T) -> Self
161 where
162 T: std::convert::Into<wkt::Timestamp>,
163 {
164 self.update_time = std::option::Option::Some(v.into());
165 self
166 }
167
168 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
170 where
171 T: std::convert::Into<wkt::Timestamp>,
172 {
173 self.update_time = v.map(|x| x.into());
174 self
175 }
176
177 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
179 where
180 T: std::iter::IntoIterator<Item = (K, V)>,
181 K: std::convert::Into<std::string::String>,
182 V: std::convert::Into<std::string::String>,
183 {
184 use std::iter::Iterator;
185 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
186 self
187 }
188
189 pub fn set_fleet<T>(mut self, v: T) -> Self
191 where
192 T: std::convert::Into<crate::model::Fleet>,
193 {
194 self.fleet = std::option::Option::Some(v.into());
195 self
196 }
197
198 pub fn set_or_clear_fleet<T>(mut self, v: std::option::Option<T>) -> Self
200 where
201 T: std::convert::Into<crate::model::Fleet>,
202 {
203 self.fleet = v.map(|x| x.into());
204 self
205 }
206
207 pub fn set_networking<T>(mut self, v: T) -> Self
209 where
210 T: std::convert::Into<crate::model::ClusterNetworking>,
211 {
212 self.networking = std::option::Option::Some(v.into());
213 self
214 }
215
216 pub fn set_or_clear_networking<T>(mut self, v: std::option::Option<T>) -> Self
218 where
219 T: std::convert::Into<crate::model::ClusterNetworking>,
220 {
221 self.networking = v.map(|x| x.into());
222 self
223 }
224
225 pub fn set_authorization<T>(mut self, v: T) -> Self
227 where
228 T: std::convert::Into<crate::model::Authorization>,
229 {
230 self.authorization = std::option::Option::Some(v.into());
231 self
232 }
233
234 pub fn set_or_clear_authorization<T>(mut self, v: std::option::Option<T>) -> Self
236 where
237 T: std::convert::Into<crate::model::Authorization>,
238 {
239 self.authorization = v.map(|x| x.into());
240 self
241 }
242
243 pub fn set_default_max_pods_per_node<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
245 self.default_max_pods_per_node = v.into();
246 self
247 }
248
249 pub fn set_endpoint<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
251 self.endpoint = v.into();
252 self
253 }
254
255 pub fn set_port<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
257 self.port = v.into();
258 self
259 }
260
261 pub fn set_cluster_ca_certificate<T: std::convert::Into<std::string::String>>(
263 mut self,
264 v: T,
265 ) -> Self {
266 self.cluster_ca_certificate = v.into();
267 self
268 }
269
270 pub fn set_maintenance_policy<T>(mut self, v: T) -> Self
272 where
273 T: std::convert::Into<crate::model::MaintenancePolicy>,
274 {
275 self.maintenance_policy = std::option::Option::Some(v.into());
276 self
277 }
278
279 pub fn set_or_clear_maintenance_policy<T>(mut self, v: std::option::Option<T>) -> Self
281 where
282 T: std::convert::Into<crate::model::MaintenancePolicy>,
283 {
284 self.maintenance_policy = v.map(|x| x.into());
285 self
286 }
287
288 pub fn set_control_plane_version<T: std::convert::Into<std::string::String>>(
290 mut self,
291 v: T,
292 ) -> Self {
293 self.control_plane_version = v.into();
294 self
295 }
296
297 pub fn set_node_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
299 self.node_version = v.into();
300 self
301 }
302
303 pub fn set_control_plane<T>(mut self, v: T) -> Self
305 where
306 T: std::convert::Into<crate::model::cluster::ControlPlane>,
307 {
308 self.control_plane = std::option::Option::Some(v.into());
309 self
310 }
311
312 pub fn set_or_clear_control_plane<T>(mut self, v: std::option::Option<T>) -> Self
314 where
315 T: std::convert::Into<crate::model::cluster::ControlPlane>,
316 {
317 self.control_plane = v.map(|x| x.into());
318 self
319 }
320
321 pub fn set_system_addons_config<T>(mut self, v: T) -> Self
323 where
324 T: std::convert::Into<crate::model::cluster::SystemAddonsConfig>,
325 {
326 self.system_addons_config = std::option::Option::Some(v.into());
327 self
328 }
329
330 pub fn set_or_clear_system_addons_config<T>(mut self, v: std::option::Option<T>) -> Self
332 where
333 T: std::convert::Into<crate::model::cluster::SystemAddonsConfig>,
334 {
335 self.system_addons_config = v.map(|x| x.into());
336 self
337 }
338
339 pub fn set_external_load_balancer_ipv4_address_pools<T, V>(mut self, v: T) -> Self
341 where
342 T: std::iter::IntoIterator<Item = V>,
343 V: std::convert::Into<std::string::String>,
344 {
345 use std::iter::Iterator;
346 self.external_load_balancer_ipv4_address_pools = v.into_iter().map(|i| i.into()).collect();
347 self
348 }
349
350 pub fn set_control_plane_encryption<T>(mut self, v: T) -> Self
352 where
353 T: std::convert::Into<crate::model::cluster::ControlPlaneEncryption>,
354 {
355 self.control_plane_encryption = std::option::Option::Some(v.into());
356 self
357 }
358
359 pub fn set_or_clear_control_plane_encryption<T>(mut self, v: std::option::Option<T>) -> Self
361 where
362 T: std::convert::Into<crate::model::cluster::ControlPlaneEncryption>,
363 {
364 self.control_plane_encryption = v.map(|x| x.into());
365 self
366 }
367
368 pub fn set_status<T: std::convert::Into<crate::model::cluster::Status>>(
370 mut self,
371 v: T,
372 ) -> Self {
373 self.status = v.into();
374 self
375 }
376
377 pub fn set_maintenance_events<T, V>(mut self, v: T) -> Self
379 where
380 T: std::iter::IntoIterator<Item = V>,
381 V: std::convert::Into<crate::model::cluster::MaintenanceEvent>,
382 {
383 use std::iter::Iterator;
384 self.maintenance_events = v.into_iter().map(|i| i.into()).collect();
385 self
386 }
387
388 pub fn set_target_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
390 self.target_version = v.into();
391 self
392 }
393
394 pub fn set_release_channel<T: std::convert::Into<crate::model::cluster::ReleaseChannel>>(
396 mut self,
397 v: T,
398 ) -> Self {
399 self.release_channel = v.into();
400 self
401 }
402
403 pub fn set_survivability_config<T>(mut self, v: T) -> Self
405 where
406 T: std::convert::Into<crate::model::cluster::SurvivabilityConfig>,
407 {
408 self.survivability_config = std::option::Option::Some(v.into());
409 self
410 }
411
412 pub fn set_or_clear_survivability_config<T>(mut self, v: std::option::Option<T>) -> Self
414 where
415 T: std::convert::Into<crate::model::cluster::SurvivabilityConfig>,
416 {
417 self.survivability_config = v.map(|x| x.into());
418 self
419 }
420
421 pub fn set_external_load_balancer_ipv6_address_pools<T, V>(mut self, v: T) -> Self
423 where
424 T: std::iter::IntoIterator<Item = V>,
425 V: std::convert::Into<std::string::String>,
426 {
427 use std::iter::Iterator;
428 self.external_load_balancer_ipv6_address_pools = v.into_iter().map(|i| i.into()).collect();
429 self
430 }
431
432 pub fn set_connection_state<T>(mut self, v: T) -> Self
434 where
435 T: std::convert::Into<crate::model::cluster::ConnectionState>,
436 {
437 self.connection_state = std::option::Option::Some(v.into());
438 self
439 }
440
441 pub fn set_or_clear_connection_state<T>(mut self, v: std::option::Option<T>) -> Self
443 where
444 T: std::convert::Into<crate::model::cluster::ConnectionState>,
445 {
446 self.connection_state = v.map(|x| x.into());
447 self
448 }
449}
450
451impl wkt::message::Message for Cluster {
452 fn typename() -> &'static str {
453 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster"
454 }
455}
456
457#[doc(hidden)]
458impl<'de> serde::de::Deserialize<'de> for Cluster {
459 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
460 where
461 D: serde::Deserializer<'de>,
462 {
463 #[allow(non_camel_case_types)]
464 #[doc(hidden)]
465 #[derive(PartialEq, Eq, Hash)]
466 enum __FieldTag {
467 __name,
468 __create_time,
469 __update_time,
470 __labels,
471 __fleet,
472 __networking,
473 __authorization,
474 __default_max_pods_per_node,
475 __endpoint,
476 __port,
477 __cluster_ca_certificate,
478 __maintenance_policy,
479 __control_plane_version,
480 __node_version,
481 __control_plane,
482 __system_addons_config,
483 __external_load_balancer_ipv4_address_pools,
484 __control_plane_encryption,
485 __status,
486 __maintenance_events,
487 __target_version,
488 __release_channel,
489 __survivability_config,
490 __external_load_balancer_ipv6_address_pools,
491 __connection_state,
492 Unknown(std::string::String),
493 }
494 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
495 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
496 where
497 D: serde::Deserializer<'de>,
498 {
499 struct Visitor;
500 impl<'de> serde::de::Visitor<'de> for Visitor {
501 type Value = __FieldTag;
502 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
503 formatter.write_str("a field name for Cluster")
504 }
505 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
506 where
507 E: serde::de::Error,
508 {
509 use std::result::Result::Ok;
510 use std::string::ToString;
511 match value {
512 "name" => Ok(__FieldTag::__name),
513 "createTime" => Ok(__FieldTag::__create_time),
514 "create_time" => Ok(__FieldTag::__create_time),
515 "updateTime" => Ok(__FieldTag::__update_time),
516 "update_time" => Ok(__FieldTag::__update_time),
517 "labels" => Ok(__FieldTag::__labels),
518 "fleet" => Ok(__FieldTag::__fleet),
519 "networking" => Ok(__FieldTag::__networking),
520 "authorization" => Ok(__FieldTag::__authorization),
521 "defaultMaxPodsPerNode" => Ok(__FieldTag::__default_max_pods_per_node),
522 "default_max_pods_per_node" => {
523 Ok(__FieldTag::__default_max_pods_per_node)
524 }
525 "endpoint" => Ok(__FieldTag::__endpoint),
526 "port" => Ok(__FieldTag::__port),
527 "clusterCaCertificate" => Ok(__FieldTag::__cluster_ca_certificate),
528 "cluster_ca_certificate" => Ok(__FieldTag::__cluster_ca_certificate),
529 "maintenancePolicy" => Ok(__FieldTag::__maintenance_policy),
530 "maintenance_policy" => Ok(__FieldTag::__maintenance_policy),
531 "controlPlaneVersion" => Ok(__FieldTag::__control_plane_version),
532 "control_plane_version" => Ok(__FieldTag::__control_plane_version),
533 "nodeVersion" => Ok(__FieldTag::__node_version),
534 "node_version" => Ok(__FieldTag::__node_version),
535 "controlPlane" => Ok(__FieldTag::__control_plane),
536 "control_plane" => Ok(__FieldTag::__control_plane),
537 "systemAddonsConfig" => Ok(__FieldTag::__system_addons_config),
538 "system_addons_config" => Ok(__FieldTag::__system_addons_config),
539 "externalLoadBalancerIpv4AddressPools" => {
540 Ok(__FieldTag::__external_load_balancer_ipv4_address_pools)
541 }
542 "external_load_balancer_ipv4_address_pools" => {
543 Ok(__FieldTag::__external_load_balancer_ipv4_address_pools)
544 }
545 "controlPlaneEncryption" => Ok(__FieldTag::__control_plane_encryption),
546 "control_plane_encryption" => {
547 Ok(__FieldTag::__control_plane_encryption)
548 }
549 "status" => Ok(__FieldTag::__status),
550 "maintenanceEvents" => Ok(__FieldTag::__maintenance_events),
551 "maintenance_events" => Ok(__FieldTag::__maintenance_events),
552 "targetVersion" => Ok(__FieldTag::__target_version),
553 "target_version" => Ok(__FieldTag::__target_version),
554 "releaseChannel" => Ok(__FieldTag::__release_channel),
555 "release_channel" => Ok(__FieldTag::__release_channel),
556 "survivabilityConfig" => Ok(__FieldTag::__survivability_config),
557 "survivability_config" => Ok(__FieldTag::__survivability_config),
558 "externalLoadBalancerIpv6AddressPools" => {
559 Ok(__FieldTag::__external_load_balancer_ipv6_address_pools)
560 }
561 "external_load_balancer_ipv6_address_pools" => {
562 Ok(__FieldTag::__external_load_balancer_ipv6_address_pools)
563 }
564 "connectionState" => Ok(__FieldTag::__connection_state),
565 "connection_state" => Ok(__FieldTag::__connection_state),
566 _ => Ok(__FieldTag::Unknown(value.to_string())),
567 }
568 }
569 }
570 deserializer.deserialize_identifier(Visitor)
571 }
572 }
573 struct Visitor;
574 impl<'de> serde::de::Visitor<'de> for Visitor {
575 type Value = Cluster;
576 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
577 formatter.write_str("struct Cluster")
578 }
579 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
580 where
581 A: serde::de::MapAccess<'de>,
582 {
583 #[allow(unused_imports)]
584 use serde::de::Error;
585 use std::option::Option::Some;
586 let mut fields = std::collections::HashSet::new();
587 let mut result = Self::Value::new();
588 while let Some(tag) = map.next_key::<__FieldTag>()? {
589 #[allow(clippy::match_single_binding)]
590 match tag {
591 __FieldTag::__name => {
592 if !fields.insert(__FieldTag::__name) {
593 return std::result::Result::Err(A::Error::duplicate_field(
594 "multiple values for name",
595 ));
596 }
597 result.name = map
598 .next_value::<std::option::Option<std::string::String>>()?
599 .unwrap_or_default();
600 }
601 __FieldTag::__create_time => {
602 if !fields.insert(__FieldTag::__create_time) {
603 return std::result::Result::Err(A::Error::duplicate_field(
604 "multiple values for create_time",
605 ));
606 }
607 result.create_time =
608 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
609 }
610 __FieldTag::__update_time => {
611 if !fields.insert(__FieldTag::__update_time) {
612 return std::result::Result::Err(A::Error::duplicate_field(
613 "multiple values for update_time",
614 ));
615 }
616 result.update_time =
617 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
618 }
619 __FieldTag::__labels => {
620 if !fields.insert(__FieldTag::__labels) {
621 return std::result::Result::Err(A::Error::duplicate_field(
622 "multiple values for labels",
623 ));
624 }
625 result.labels = map
626 .next_value::<std::option::Option<
627 std::collections::HashMap<
628 std::string::String,
629 std::string::String,
630 >,
631 >>()?
632 .unwrap_or_default();
633 }
634 __FieldTag::__fleet => {
635 if !fields.insert(__FieldTag::__fleet) {
636 return std::result::Result::Err(A::Error::duplicate_field(
637 "multiple values for fleet",
638 ));
639 }
640 result.fleet =
641 map.next_value::<std::option::Option<crate::model::Fleet>>()?;
642 }
643 __FieldTag::__networking => {
644 if !fields.insert(__FieldTag::__networking) {
645 return std::result::Result::Err(A::Error::duplicate_field(
646 "multiple values for networking",
647 ));
648 }
649 result.networking = map
650 .next_value::<std::option::Option<crate::model::ClusterNetworking>>(
651 )?;
652 }
653 __FieldTag::__authorization => {
654 if !fields.insert(__FieldTag::__authorization) {
655 return std::result::Result::Err(A::Error::duplicate_field(
656 "multiple values for authorization",
657 ));
658 }
659 result.authorization = map
660 .next_value::<std::option::Option<crate::model::Authorization>>()?;
661 }
662 __FieldTag::__default_max_pods_per_node => {
663 if !fields.insert(__FieldTag::__default_max_pods_per_node) {
664 return std::result::Result::Err(A::Error::duplicate_field(
665 "multiple values for default_max_pods_per_node",
666 ));
667 }
668 struct __With(std::option::Option<i32>);
669 impl<'de> serde::de::Deserialize<'de> for __With {
670 fn deserialize<D>(
671 deserializer: D,
672 ) -> std::result::Result<Self, D::Error>
673 where
674 D: serde::de::Deserializer<'de>,
675 {
676 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
677 }
678 }
679 result.default_max_pods_per_node =
680 map.next_value::<__With>()?.0.unwrap_or_default();
681 }
682 __FieldTag::__endpoint => {
683 if !fields.insert(__FieldTag::__endpoint) {
684 return std::result::Result::Err(A::Error::duplicate_field(
685 "multiple values for endpoint",
686 ));
687 }
688 result.endpoint = map
689 .next_value::<std::option::Option<std::string::String>>()?
690 .unwrap_or_default();
691 }
692 __FieldTag::__port => {
693 if !fields.insert(__FieldTag::__port) {
694 return std::result::Result::Err(A::Error::duplicate_field(
695 "multiple values for port",
696 ));
697 }
698 struct __With(std::option::Option<i32>);
699 impl<'de> serde::de::Deserialize<'de> for __With {
700 fn deserialize<D>(
701 deserializer: D,
702 ) -> std::result::Result<Self, D::Error>
703 where
704 D: serde::de::Deserializer<'de>,
705 {
706 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
707 }
708 }
709 result.port = map.next_value::<__With>()?.0.unwrap_or_default();
710 }
711 __FieldTag::__cluster_ca_certificate => {
712 if !fields.insert(__FieldTag::__cluster_ca_certificate) {
713 return std::result::Result::Err(A::Error::duplicate_field(
714 "multiple values for cluster_ca_certificate",
715 ));
716 }
717 result.cluster_ca_certificate = map
718 .next_value::<std::option::Option<std::string::String>>()?
719 .unwrap_or_default();
720 }
721 __FieldTag::__maintenance_policy => {
722 if !fields.insert(__FieldTag::__maintenance_policy) {
723 return std::result::Result::Err(A::Error::duplicate_field(
724 "multiple values for maintenance_policy",
725 ));
726 }
727 result.maintenance_policy = map
728 .next_value::<std::option::Option<crate::model::MaintenancePolicy>>(
729 )?;
730 }
731 __FieldTag::__control_plane_version => {
732 if !fields.insert(__FieldTag::__control_plane_version) {
733 return std::result::Result::Err(A::Error::duplicate_field(
734 "multiple values for control_plane_version",
735 ));
736 }
737 result.control_plane_version = map
738 .next_value::<std::option::Option<std::string::String>>()?
739 .unwrap_or_default();
740 }
741 __FieldTag::__node_version => {
742 if !fields.insert(__FieldTag::__node_version) {
743 return std::result::Result::Err(A::Error::duplicate_field(
744 "multiple values for node_version",
745 ));
746 }
747 result.node_version = map
748 .next_value::<std::option::Option<std::string::String>>()?
749 .unwrap_or_default();
750 }
751 __FieldTag::__control_plane => {
752 if !fields.insert(__FieldTag::__control_plane) {
753 return std::result::Result::Err(A::Error::duplicate_field(
754 "multiple values for control_plane",
755 ));
756 }
757 result.control_plane = map.next_value::<std::option::Option<crate::model::cluster::ControlPlane>>()?
758 ;
759 }
760 __FieldTag::__system_addons_config => {
761 if !fields.insert(__FieldTag::__system_addons_config) {
762 return std::result::Result::Err(A::Error::duplicate_field(
763 "multiple values for system_addons_config",
764 ));
765 }
766 result.system_addons_config = map.next_value::<std::option::Option<crate::model::cluster::SystemAddonsConfig>>()?
767 ;
768 }
769 __FieldTag::__external_load_balancer_ipv4_address_pools => {
770 if !fields
771 .insert(__FieldTag::__external_load_balancer_ipv4_address_pools)
772 {
773 return std::result::Result::Err(A::Error::duplicate_field(
774 "multiple values for external_load_balancer_ipv4_address_pools",
775 ));
776 }
777 result.external_load_balancer_ipv4_address_pools = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
778 }
779 __FieldTag::__control_plane_encryption => {
780 if !fields.insert(__FieldTag::__control_plane_encryption) {
781 return std::result::Result::Err(A::Error::duplicate_field(
782 "multiple values for control_plane_encryption",
783 ));
784 }
785 result.control_plane_encryption = map
786 .next_value::<std::option::Option<
787 crate::model::cluster::ControlPlaneEncryption,
788 >>()?;
789 }
790 __FieldTag::__status => {
791 if !fields.insert(__FieldTag::__status) {
792 return std::result::Result::Err(A::Error::duplicate_field(
793 "multiple values for status",
794 ));
795 }
796 result.status = map
797 .next_value::<std::option::Option<crate::model::cluster::Status>>()?
798 .unwrap_or_default();
799 }
800 __FieldTag::__maintenance_events => {
801 if !fields.insert(__FieldTag::__maintenance_events) {
802 return std::result::Result::Err(A::Error::duplicate_field(
803 "multiple values for maintenance_events",
804 ));
805 }
806 result.maintenance_events = map
807 .next_value::<std::option::Option<
808 std::vec::Vec<crate::model::cluster::MaintenanceEvent>,
809 >>()?
810 .unwrap_or_default();
811 }
812 __FieldTag::__target_version => {
813 if !fields.insert(__FieldTag::__target_version) {
814 return std::result::Result::Err(A::Error::duplicate_field(
815 "multiple values for target_version",
816 ));
817 }
818 result.target_version = map
819 .next_value::<std::option::Option<std::string::String>>()?
820 .unwrap_or_default();
821 }
822 __FieldTag::__release_channel => {
823 if !fields.insert(__FieldTag::__release_channel) {
824 return std::result::Result::Err(A::Error::duplicate_field(
825 "multiple values for release_channel",
826 ));
827 }
828 result.release_channel = map.next_value::<std::option::Option<crate::model::cluster::ReleaseChannel>>()?.unwrap_or_default();
829 }
830 __FieldTag::__survivability_config => {
831 if !fields.insert(__FieldTag::__survivability_config) {
832 return std::result::Result::Err(A::Error::duplicate_field(
833 "multiple values for survivability_config",
834 ));
835 }
836 result.survivability_config = map.next_value::<std::option::Option<crate::model::cluster::SurvivabilityConfig>>()?
837 ;
838 }
839 __FieldTag::__external_load_balancer_ipv6_address_pools => {
840 if !fields
841 .insert(__FieldTag::__external_load_balancer_ipv6_address_pools)
842 {
843 return std::result::Result::Err(A::Error::duplicate_field(
844 "multiple values for external_load_balancer_ipv6_address_pools",
845 ));
846 }
847 result.external_load_balancer_ipv6_address_pools = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
848 }
849 __FieldTag::__connection_state => {
850 if !fields.insert(__FieldTag::__connection_state) {
851 return std::result::Result::Err(A::Error::duplicate_field(
852 "multiple values for connection_state",
853 ));
854 }
855 result.connection_state = map.next_value::<std::option::Option<crate::model::cluster::ConnectionState>>()?
856 ;
857 }
858 __FieldTag::Unknown(key) => {
859 let value = map.next_value::<serde_json::Value>()?;
860 result._unknown_fields.insert(key, value);
861 }
862 }
863 }
864 std::result::Result::Ok(result)
865 }
866 }
867 deserializer.deserialize_any(Visitor)
868 }
869}
870
871#[doc(hidden)]
872impl serde::ser::Serialize for Cluster {
873 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
874 where
875 S: serde::ser::Serializer,
876 {
877 use serde::ser::SerializeMap;
878 #[allow(unused_imports)]
879 use std::option::Option::Some;
880 let mut state = serializer.serialize_map(std::option::Option::None)?;
881 if !self.name.is_empty() {
882 state.serialize_entry("name", &self.name)?;
883 }
884 if self.create_time.is_some() {
885 state.serialize_entry("createTime", &self.create_time)?;
886 }
887 if self.update_time.is_some() {
888 state.serialize_entry("updateTime", &self.update_time)?;
889 }
890 if !self.labels.is_empty() {
891 state.serialize_entry("labels", &self.labels)?;
892 }
893 if self.fleet.is_some() {
894 state.serialize_entry("fleet", &self.fleet)?;
895 }
896 if self.networking.is_some() {
897 state.serialize_entry("networking", &self.networking)?;
898 }
899 if self.authorization.is_some() {
900 state.serialize_entry("authorization", &self.authorization)?;
901 }
902 if !wkt::internal::is_default(&self.default_max_pods_per_node) {
903 struct __With<'a>(&'a i32);
904 impl<'a> serde::ser::Serialize for __With<'a> {
905 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
906 where
907 S: serde::ser::Serializer,
908 {
909 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
910 }
911 }
912 state.serialize_entry(
913 "defaultMaxPodsPerNode",
914 &__With(&self.default_max_pods_per_node),
915 )?;
916 }
917 if !self.endpoint.is_empty() {
918 state.serialize_entry("endpoint", &self.endpoint)?;
919 }
920 if !wkt::internal::is_default(&self.port) {
921 struct __With<'a>(&'a i32);
922 impl<'a> serde::ser::Serialize for __With<'a> {
923 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
924 where
925 S: serde::ser::Serializer,
926 {
927 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
928 }
929 }
930 state.serialize_entry("port", &__With(&self.port))?;
931 }
932 if !self.cluster_ca_certificate.is_empty() {
933 state.serialize_entry("clusterCaCertificate", &self.cluster_ca_certificate)?;
934 }
935 if self.maintenance_policy.is_some() {
936 state.serialize_entry("maintenancePolicy", &self.maintenance_policy)?;
937 }
938 if !self.control_plane_version.is_empty() {
939 state.serialize_entry("controlPlaneVersion", &self.control_plane_version)?;
940 }
941 if !self.node_version.is_empty() {
942 state.serialize_entry("nodeVersion", &self.node_version)?;
943 }
944 if self.control_plane.is_some() {
945 state.serialize_entry("controlPlane", &self.control_plane)?;
946 }
947 if self.system_addons_config.is_some() {
948 state.serialize_entry("systemAddonsConfig", &self.system_addons_config)?;
949 }
950 if !self.external_load_balancer_ipv4_address_pools.is_empty() {
951 state.serialize_entry(
952 "externalLoadBalancerIpv4AddressPools",
953 &self.external_load_balancer_ipv4_address_pools,
954 )?;
955 }
956 if self.control_plane_encryption.is_some() {
957 state.serialize_entry("controlPlaneEncryption", &self.control_plane_encryption)?;
958 }
959 if !wkt::internal::is_default(&self.status) {
960 state.serialize_entry("status", &self.status)?;
961 }
962 if !self.maintenance_events.is_empty() {
963 state.serialize_entry("maintenanceEvents", &self.maintenance_events)?;
964 }
965 if !self.target_version.is_empty() {
966 state.serialize_entry("targetVersion", &self.target_version)?;
967 }
968 if !wkt::internal::is_default(&self.release_channel) {
969 state.serialize_entry("releaseChannel", &self.release_channel)?;
970 }
971 if self.survivability_config.is_some() {
972 state.serialize_entry("survivabilityConfig", &self.survivability_config)?;
973 }
974 if !self.external_load_balancer_ipv6_address_pools.is_empty() {
975 state.serialize_entry(
976 "externalLoadBalancerIpv6AddressPools",
977 &self.external_load_balancer_ipv6_address_pools,
978 )?;
979 }
980 if self.connection_state.is_some() {
981 state.serialize_entry("connectionState", &self.connection_state)?;
982 }
983 if !self._unknown_fields.is_empty() {
984 for (key, value) in self._unknown_fields.iter() {
985 state.serialize_entry(key, &value)?;
986 }
987 }
988 state.end()
989 }
990}
991
992impl std::fmt::Debug for Cluster {
993 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
994 let mut debug_struct = f.debug_struct("Cluster");
995 debug_struct.field("name", &self.name);
996 debug_struct.field("create_time", &self.create_time);
997 debug_struct.field("update_time", &self.update_time);
998 debug_struct.field("labels", &self.labels);
999 debug_struct.field("fleet", &self.fleet);
1000 debug_struct.field("networking", &self.networking);
1001 debug_struct.field("authorization", &self.authorization);
1002 debug_struct.field("default_max_pods_per_node", &self.default_max_pods_per_node);
1003 debug_struct.field("endpoint", &self.endpoint);
1004 debug_struct.field("port", &self.port);
1005 debug_struct.field("cluster_ca_certificate", &self.cluster_ca_certificate);
1006 debug_struct.field("maintenance_policy", &self.maintenance_policy);
1007 debug_struct.field("control_plane_version", &self.control_plane_version);
1008 debug_struct.field("node_version", &self.node_version);
1009 debug_struct.field("control_plane", &self.control_plane);
1010 debug_struct.field("system_addons_config", &self.system_addons_config);
1011 debug_struct.field(
1012 "external_load_balancer_ipv4_address_pools",
1013 &self.external_load_balancer_ipv4_address_pools,
1014 );
1015 debug_struct.field("control_plane_encryption", &self.control_plane_encryption);
1016 debug_struct.field("status", &self.status);
1017 debug_struct.field("maintenance_events", &self.maintenance_events);
1018 debug_struct.field("target_version", &self.target_version);
1019 debug_struct.field("release_channel", &self.release_channel);
1020 debug_struct.field("survivability_config", &self.survivability_config);
1021 debug_struct.field(
1022 "external_load_balancer_ipv6_address_pools",
1023 &self.external_load_balancer_ipv6_address_pools,
1024 );
1025 debug_struct.field("connection_state", &self.connection_state);
1026 if !self._unknown_fields.is_empty() {
1027 debug_struct.field("_unknown_fields", &self._unknown_fields);
1028 }
1029 debug_struct.finish()
1030 }
1031}
1032
1033pub mod cluster {
1035 #[allow(unused_imports)]
1036 use super::*;
1037
1038 #[derive(Clone, Default, PartialEq)]
1040 #[non_exhaustive]
1041 pub struct ControlPlane {
1042 pub config: std::option::Option<crate::model::cluster::control_plane::Config>,
1043
1044 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1045 }
1046
1047 impl ControlPlane {
1048 pub fn new() -> Self {
1049 std::default::Default::default()
1050 }
1051
1052 pub fn set_config<
1057 T: std::convert::Into<std::option::Option<crate::model::cluster::control_plane::Config>>,
1058 >(
1059 mut self,
1060 v: T,
1061 ) -> Self {
1062 self.config = v.into();
1063 self
1064 }
1065
1066 pub fn remote(
1070 &self,
1071 ) -> std::option::Option<&std::boxed::Box<crate::model::cluster::control_plane::Remote>>
1072 {
1073 #[allow(unreachable_patterns)]
1074 self.config.as_ref().and_then(|v| match v {
1075 crate::model::cluster::control_plane::Config::Remote(v) => {
1076 std::option::Option::Some(v)
1077 }
1078 _ => std::option::Option::None,
1079 })
1080 }
1081
1082 pub fn set_remote<
1088 T: std::convert::Into<std::boxed::Box<crate::model::cluster::control_plane::Remote>>,
1089 >(
1090 mut self,
1091 v: T,
1092 ) -> Self {
1093 self.config = std::option::Option::Some(
1094 crate::model::cluster::control_plane::Config::Remote(v.into()),
1095 );
1096 self
1097 }
1098
1099 pub fn local(
1103 &self,
1104 ) -> std::option::Option<&std::boxed::Box<crate::model::cluster::control_plane::Local>>
1105 {
1106 #[allow(unreachable_patterns)]
1107 self.config.as_ref().and_then(|v| match v {
1108 crate::model::cluster::control_plane::Config::Local(v) => {
1109 std::option::Option::Some(v)
1110 }
1111 _ => std::option::Option::None,
1112 })
1113 }
1114
1115 pub fn set_local<
1121 T: std::convert::Into<std::boxed::Box<crate::model::cluster::control_plane::Local>>,
1122 >(
1123 mut self,
1124 v: T,
1125 ) -> Self {
1126 self.config = std::option::Option::Some(
1127 crate::model::cluster::control_plane::Config::Local(v.into()),
1128 );
1129 self
1130 }
1131 }
1132
1133 impl wkt::message::Message for ControlPlane {
1134 fn typename() -> &'static str {
1135 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.ControlPlane"
1136 }
1137 }
1138
1139 #[doc(hidden)]
1140 impl<'de> serde::de::Deserialize<'de> for ControlPlane {
1141 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1142 where
1143 D: serde::Deserializer<'de>,
1144 {
1145 #[allow(non_camel_case_types)]
1146 #[doc(hidden)]
1147 #[derive(PartialEq, Eq, Hash)]
1148 enum __FieldTag {
1149 __remote,
1150 __local,
1151 Unknown(std::string::String),
1152 }
1153 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1154 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1155 where
1156 D: serde::Deserializer<'de>,
1157 {
1158 struct Visitor;
1159 impl<'de> serde::de::Visitor<'de> for Visitor {
1160 type Value = __FieldTag;
1161 fn expecting(
1162 &self,
1163 formatter: &mut std::fmt::Formatter,
1164 ) -> std::fmt::Result {
1165 formatter.write_str("a field name for ControlPlane")
1166 }
1167 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1168 where
1169 E: serde::de::Error,
1170 {
1171 use std::result::Result::Ok;
1172 use std::string::ToString;
1173 match value {
1174 "remote" => Ok(__FieldTag::__remote),
1175 "local" => Ok(__FieldTag::__local),
1176 _ => Ok(__FieldTag::Unknown(value.to_string())),
1177 }
1178 }
1179 }
1180 deserializer.deserialize_identifier(Visitor)
1181 }
1182 }
1183 struct Visitor;
1184 impl<'de> serde::de::Visitor<'de> for Visitor {
1185 type Value = ControlPlane;
1186 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1187 formatter.write_str("struct ControlPlane")
1188 }
1189 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1190 where
1191 A: serde::de::MapAccess<'de>,
1192 {
1193 #[allow(unused_imports)]
1194 use serde::de::Error;
1195 use std::option::Option::Some;
1196 let mut fields = std::collections::HashSet::new();
1197 let mut result = Self::Value::new();
1198 while let Some(tag) = map.next_key::<__FieldTag>()? {
1199 #[allow(clippy::match_single_binding)]
1200 match tag {
1201 __FieldTag::__remote => {
1202 if !fields.insert(__FieldTag::__remote) {
1203 return std::result::Result::Err(A::Error::duplicate_field(
1204 "multiple values for remote",
1205 ));
1206 }
1207 if result.config.is_some() {
1208 return std::result::Result::Err(A::Error::duplicate_field(
1209 "multiple values for `config`, a oneof with full ID .google.cloud.edgecontainer.v1.Cluster.ControlPlane.remote, latest field was remote",
1210 ));
1211 }
1212 result.config = std::option::Option::Some(
1213 crate::model::cluster::control_plane::Config::Remote(
1214 map.next_value::<std::option::Option<
1215 std::boxed::Box<
1216 crate::model::cluster::control_plane::Remote,
1217 >,
1218 >>()?
1219 .unwrap_or_default(),
1220 ),
1221 );
1222 }
1223 __FieldTag::__local => {
1224 if !fields.insert(__FieldTag::__local) {
1225 return std::result::Result::Err(A::Error::duplicate_field(
1226 "multiple values for local",
1227 ));
1228 }
1229 if result.config.is_some() {
1230 return std::result::Result::Err(A::Error::duplicate_field(
1231 "multiple values for `config`, a oneof with full ID .google.cloud.edgecontainer.v1.Cluster.ControlPlane.local, latest field was local",
1232 ));
1233 }
1234 result.config = std::option::Option::Some(
1235 crate::model::cluster::control_plane::Config::Local(
1236 map.next_value::<std::option::Option<
1237 std::boxed::Box<
1238 crate::model::cluster::control_plane::Local,
1239 >,
1240 >>()?
1241 .unwrap_or_default(),
1242 ),
1243 );
1244 }
1245 __FieldTag::Unknown(key) => {
1246 let value = map.next_value::<serde_json::Value>()?;
1247 result._unknown_fields.insert(key, value);
1248 }
1249 }
1250 }
1251 std::result::Result::Ok(result)
1252 }
1253 }
1254 deserializer.deserialize_any(Visitor)
1255 }
1256 }
1257
1258 #[doc(hidden)]
1259 impl serde::ser::Serialize for ControlPlane {
1260 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1261 where
1262 S: serde::ser::Serializer,
1263 {
1264 use serde::ser::SerializeMap;
1265 #[allow(unused_imports)]
1266 use std::option::Option::Some;
1267 let mut state = serializer.serialize_map(std::option::Option::None)?;
1268 if let Some(value) = self.remote() {
1269 state.serialize_entry("remote", value)?;
1270 }
1271 if let Some(value) = self.local() {
1272 state.serialize_entry("local", value)?;
1273 }
1274 if !self._unknown_fields.is_empty() {
1275 for (key, value) in self._unknown_fields.iter() {
1276 state.serialize_entry(key, &value)?;
1277 }
1278 }
1279 state.end()
1280 }
1281 }
1282
1283 impl std::fmt::Debug for ControlPlane {
1284 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1285 let mut debug_struct = f.debug_struct("ControlPlane");
1286 debug_struct.field("config", &self.config);
1287 if !self._unknown_fields.is_empty() {
1288 debug_struct.field("_unknown_fields", &self._unknown_fields);
1289 }
1290 debug_struct.finish()
1291 }
1292 }
1293
1294 pub mod control_plane {
1296 #[allow(unused_imports)]
1297 use super::*;
1298
1299 #[derive(Clone, Default, PartialEq)]
1301 #[non_exhaustive]
1302 pub struct Remote {
1303 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1304 }
1305
1306 impl Remote {
1307 pub fn new() -> Self {
1308 std::default::Default::default()
1309 }
1310 }
1311
1312 impl wkt::message::Message for Remote {
1313 fn typename() -> &'static str {
1314 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.ControlPlane.Remote"
1315 }
1316 }
1317
1318 #[doc(hidden)]
1319 impl<'de> serde::de::Deserialize<'de> for Remote {
1320 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1321 where
1322 D: serde::Deserializer<'de>,
1323 {
1324 #[allow(non_camel_case_types)]
1325 #[doc(hidden)]
1326 #[derive(PartialEq, Eq, Hash)]
1327 enum __FieldTag {
1328 Unknown(std::string::String),
1329 }
1330 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1331 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1332 where
1333 D: serde::Deserializer<'de>,
1334 {
1335 struct Visitor;
1336 impl<'de> serde::de::Visitor<'de> for Visitor {
1337 type Value = __FieldTag;
1338 fn expecting(
1339 &self,
1340 formatter: &mut std::fmt::Formatter,
1341 ) -> std::fmt::Result {
1342 formatter.write_str("a field name for Remote")
1343 }
1344 fn visit_str<E>(
1345 self,
1346 value: &str,
1347 ) -> std::result::Result<Self::Value, E>
1348 where
1349 E: serde::de::Error,
1350 {
1351 use std::result::Result::Ok;
1352 use std::string::ToString;
1353 Ok(__FieldTag::Unknown(value.to_string()))
1354 }
1355 }
1356 deserializer.deserialize_identifier(Visitor)
1357 }
1358 }
1359 struct Visitor;
1360 impl<'de> serde::de::Visitor<'de> for Visitor {
1361 type Value = Remote;
1362 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1363 formatter.write_str("struct Remote")
1364 }
1365 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1366 where
1367 A: serde::de::MapAccess<'de>,
1368 {
1369 #[allow(unused_imports)]
1370 use serde::de::Error;
1371 use std::option::Option::Some;
1372 let mut result = Self::Value::new();
1373 while let Some(tag) = map.next_key::<__FieldTag>()? {
1374 #[allow(clippy::match_single_binding)]
1375 match tag {
1376 __FieldTag::Unknown(key) => {
1377 let value = map.next_value::<serde_json::Value>()?;
1378 result._unknown_fields.insert(key, value);
1379 }
1380 }
1381 }
1382 std::result::Result::Ok(result)
1383 }
1384 }
1385 deserializer.deserialize_any(Visitor)
1386 }
1387 }
1388
1389 #[doc(hidden)]
1390 impl serde::ser::Serialize for Remote {
1391 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1392 where
1393 S: serde::ser::Serializer,
1394 {
1395 use serde::ser::SerializeMap;
1396 #[allow(unused_imports)]
1397 use std::option::Option::Some;
1398 let mut state = serializer.serialize_map(std::option::Option::None)?;
1399 if !self._unknown_fields.is_empty() {
1400 for (key, value) in self._unknown_fields.iter() {
1401 state.serialize_entry(key, &value)?;
1402 }
1403 }
1404 state.end()
1405 }
1406 }
1407
1408 impl std::fmt::Debug for Remote {
1409 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1410 let mut debug_struct = f.debug_struct("Remote");
1411 if !self._unknown_fields.is_empty() {
1412 debug_struct.field("_unknown_fields", &self._unknown_fields);
1413 }
1414 debug_struct.finish()
1415 }
1416 }
1417
1418 #[derive(Clone, Default, PartialEq)]
1426 #[non_exhaustive]
1427 pub struct Local {
1428 pub node_location: std::string::String,
1431
1432 pub node_count: i32,
1434
1435 pub machine_filter: std::string::String,
1439
1440 pub shared_deployment_policy:
1442 crate::model::cluster::control_plane::SharedDeploymentPolicy,
1443
1444 pub control_plane_node_storage_schema: std::string::String,
1450
1451 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1452 }
1453
1454 impl Local {
1455 pub fn new() -> Self {
1456 std::default::Default::default()
1457 }
1458
1459 pub fn set_node_location<T: std::convert::Into<std::string::String>>(
1461 mut self,
1462 v: T,
1463 ) -> Self {
1464 self.node_location = v.into();
1465 self
1466 }
1467
1468 pub fn set_node_count<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
1470 self.node_count = v.into();
1471 self
1472 }
1473
1474 pub fn set_machine_filter<T: std::convert::Into<std::string::String>>(
1476 mut self,
1477 v: T,
1478 ) -> Self {
1479 self.machine_filter = v.into();
1480 self
1481 }
1482
1483 pub fn set_shared_deployment_policy<
1485 T: std::convert::Into<crate::model::cluster::control_plane::SharedDeploymentPolicy>,
1486 >(
1487 mut self,
1488 v: T,
1489 ) -> Self {
1490 self.shared_deployment_policy = v.into();
1491 self
1492 }
1493
1494 pub fn set_control_plane_node_storage_schema<
1496 T: std::convert::Into<std::string::String>,
1497 >(
1498 mut self,
1499 v: T,
1500 ) -> Self {
1501 self.control_plane_node_storage_schema = v.into();
1502 self
1503 }
1504 }
1505
1506 impl wkt::message::Message for Local {
1507 fn typename() -> &'static str {
1508 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.ControlPlane.Local"
1509 }
1510 }
1511
1512 #[doc(hidden)]
1513 impl<'de> serde::de::Deserialize<'de> for Local {
1514 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1515 where
1516 D: serde::Deserializer<'de>,
1517 {
1518 #[allow(non_camel_case_types)]
1519 #[doc(hidden)]
1520 #[derive(PartialEq, Eq, Hash)]
1521 enum __FieldTag {
1522 __node_location,
1523 __node_count,
1524 __machine_filter,
1525 __shared_deployment_policy,
1526 __control_plane_node_storage_schema,
1527 Unknown(std::string::String),
1528 }
1529 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1530 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1531 where
1532 D: serde::Deserializer<'de>,
1533 {
1534 struct Visitor;
1535 impl<'de> serde::de::Visitor<'de> for Visitor {
1536 type Value = __FieldTag;
1537 fn expecting(
1538 &self,
1539 formatter: &mut std::fmt::Formatter,
1540 ) -> std::fmt::Result {
1541 formatter.write_str("a field name for Local")
1542 }
1543 fn visit_str<E>(
1544 self,
1545 value: &str,
1546 ) -> std::result::Result<Self::Value, E>
1547 where
1548 E: serde::de::Error,
1549 {
1550 use std::result::Result::Ok;
1551 use std::string::ToString;
1552 match value {
1553 "nodeLocation" => Ok(__FieldTag::__node_location),
1554 "node_location" => Ok(__FieldTag::__node_location),
1555 "nodeCount" => Ok(__FieldTag::__node_count),
1556 "node_count" => Ok(__FieldTag::__node_count),
1557 "machineFilter" => Ok(__FieldTag::__machine_filter),
1558 "machine_filter" => Ok(__FieldTag::__machine_filter),
1559 "sharedDeploymentPolicy" => {
1560 Ok(__FieldTag::__shared_deployment_policy)
1561 }
1562 "shared_deployment_policy" => {
1563 Ok(__FieldTag::__shared_deployment_policy)
1564 }
1565 "controlPlaneNodeStorageSchema" => {
1566 Ok(__FieldTag::__control_plane_node_storage_schema)
1567 }
1568 "control_plane_node_storage_schema" => {
1569 Ok(__FieldTag::__control_plane_node_storage_schema)
1570 }
1571 _ => Ok(__FieldTag::Unknown(value.to_string())),
1572 }
1573 }
1574 }
1575 deserializer.deserialize_identifier(Visitor)
1576 }
1577 }
1578 struct Visitor;
1579 impl<'de> serde::de::Visitor<'de> for Visitor {
1580 type Value = Local;
1581 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1582 formatter.write_str("struct Local")
1583 }
1584 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1585 where
1586 A: serde::de::MapAccess<'de>,
1587 {
1588 #[allow(unused_imports)]
1589 use serde::de::Error;
1590 use std::option::Option::Some;
1591 let mut fields = std::collections::HashSet::new();
1592 let mut result = Self::Value::new();
1593 while let Some(tag) = map.next_key::<__FieldTag>()? {
1594 #[allow(clippy::match_single_binding)]
1595 match tag {
1596 __FieldTag::__node_location => {
1597 if !fields.insert(__FieldTag::__node_location) {
1598 return std::result::Result::Err(
1599 A::Error::duplicate_field(
1600 "multiple values for node_location",
1601 ),
1602 );
1603 }
1604 result.node_location = map
1605 .next_value::<std::option::Option<std::string::String>>()?
1606 .unwrap_or_default();
1607 }
1608 __FieldTag::__node_count => {
1609 if !fields.insert(__FieldTag::__node_count) {
1610 return std::result::Result::Err(
1611 A::Error::duplicate_field(
1612 "multiple values for node_count",
1613 ),
1614 );
1615 }
1616 struct __With(std::option::Option<i32>);
1617 impl<'de> serde::de::Deserialize<'de> for __With {
1618 fn deserialize<D>(
1619 deserializer: D,
1620 ) -> std::result::Result<Self, D::Error>
1621 where
1622 D: serde::de::Deserializer<'de>,
1623 {
1624 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
1625 }
1626 }
1627 result.node_count =
1628 map.next_value::<__With>()?.0.unwrap_or_default();
1629 }
1630 __FieldTag::__machine_filter => {
1631 if !fields.insert(__FieldTag::__machine_filter) {
1632 return std::result::Result::Err(
1633 A::Error::duplicate_field(
1634 "multiple values for machine_filter",
1635 ),
1636 );
1637 }
1638 result.machine_filter = map
1639 .next_value::<std::option::Option<std::string::String>>()?
1640 .unwrap_or_default();
1641 }
1642 __FieldTag::__shared_deployment_policy => {
1643 if !fields.insert(__FieldTag::__shared_deployment_policy) {
1644 return std::result::Result::Err(
1645 A::Error::duplicate_field(
1646 "multiple values for shared_deployment_policy",
1647 ),
1648 );
1649 }
1650 result.shared_deployment_policy = map.next_value::<std::option::Option<crate::model::cluster::control_plane::SharedDeploymentPolicy>>()?.unwrap_or_default();
1651 }
1652 __FieldTag::__control_plane_node_storage_schema => {
1653 if !fields
1654 .insert(__FieldTag::__control_plane_node_storage_schema)
1655 {
1656 return std::result::Result::Err(
1657 A::Error::duplicate_field(
1658 "multiple values for control_plane_node_storage_schema",
1659 ),
1660 );
1661 }
1662 result.control_plane_node_storage_schema = map
1663 .next_value::<std::option::Option<std::string::String>>()?
1664 .unwrap_or_default();
1665 }
1666 __FieldTag::Unknown(key) => {
1667 let value = map.next_value::<serde_json::Value>()?;
1668 result._unknown_fields.insert(key, value);
1669 }
1670 }
1671 }
1672 std::result::Result::Ok(result)
1673 }
1674 }
1675 deserializer.deserialize_any(Visitor)
1676 }
1677 }
1678
1679 #[doc(hidden)]
1680 impl serde::ser::Serialize for Local {
1681 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1682 where
1683 S: serde::ser::Serializer,
1684 {
1685 use serde::ser::SerializeMap;
1686 #[allow(unused_imports)]
1687 use std::option::Option::Some;
1688 let mut state = serializer.serialize_map(std::option::Option::None)?;
1689 if !self.node_location.is_empty() {
1690 state.serialize_entry("nodeLocation", &self.node_location)?;
1691 }
1692 if !wkt::internal::is_default(&self.node_count) {
1693 struct __With<'a>(&'a i32);
1694 impl<'a> serde::ser::Serialize for __With<'a> {
1695 fn serialize<S>(
1696 &self,
1697 serializer: S,
1698 ) -> std::result::Result<S::Ok, S::Error>
1699 where
1700 S: serde::ser::Serializer,
1701 {
1702 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
1703 }
1704 }
1705 state.serialize_entry("nodeCount", &__With(&self.node_count))?;
1706 }
1707 if !self.machine_filter.is_empty() {
1708 state.serialize_entry("machineFilter", &self.machine_filter)?;
1709 }
1710 if !wkt::internal::is_default(&self.shared_deployment_policy) {
1711 state.serialize_entry(
1712 "sharedDeploymentPolicy",
1713 &self.shared_deployment_policy,
1714 )?;
1715 }
1716 if !self.control_plane_node_storage_schema.is_empty() {
1717 state.serialize_entry(
1718 "controlPlaneNodeStorageSchema",
1719 &self.control_plane_node_storage_schema,
1720 )?;
1721 }
1722 if !self._unknown_fields.is_empty() {
1723 for (key, value) in self._unknown_fields.iter() {
1724 state.serialize_entry(key, &value)?;
1725 }
1726 }
1727 state.end()
1728 }
1729 }
1730
1731 impl std::fmt::Debug for Local {
1732 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1733 let mut debug_struct = f.debug_struct("Local");
1734 debug_struct.field("node_location", &self.node_location);
1735 debug_struct.field("node_count", &self.node_count);
1736 debug_struct.field("machine_filter", &self.machine_filter);
1737 debug_struct.field("shared_deployment_policy", &self.shared_deployment_policy);
1738 debug_struct.field(
1739 "control_plane_node_storage_schema",
1740 &self.control_plane_node_storage_schema,
1741 );
1742 if !self._unknown_fields.is_empty() {
1743 debug_struct.field("_unknown_fields", &self._unknown_fields);
1744 }
1745 debug_struct.finish()
1746 }
1747 }
1748
1749 #[derive(Clone, Debug, PartialEq)]
1766 #[non_exhaustive]
1767 pub enum SharedDeploymentPolicy {
1768 Unspecified,
1770 Allowed,
1773 Disallowed,
1776 UnknownValue(shared_deployment_policy::UnknownValue),
1781 }
1782
1783 #[doc(hidden)]
1784 pub mod shared_deployment_policy {
1785 #[allow(unused_imports)]
1786 use super::*;
1787 #[derive(Clone, Debug, PartialEq)]
1788 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1789 }
1790
1791 impl SharedDeploymentPolicy {
1792 pub fn value(&self) -> std::option::Option<i32> {
1797 match self {
1798 Self::Unspecified => std::option::Option::Some(0),
1799 Self::Allowed => std::option::Option::Some(1),
1800 Self::Disallowed => std::option::Option::Some(2),
1801 Self::UnknownValue(u) => u.0.value(),
1802 }
1803 }
1804
1805 pub fn name(&self) -> std::option::Option<&str> {
1810 match self {
1811 Self::Unspecified => {
1812 std::option::Option::Some("SHARED_DEPLOYMENT_POLICY_UNSPECIFIED")
1813 }
1814 Self::Allowed => std::option::Option::Some("ALLOWED"),
1815 Self::Disallowed => std::option::Option::Some("DISALLOWED"),
1816 Self::UnknownValue(u) => u.0.name(),
1817 }
1818 }
1819 }
1820
1821 impl std::default::Default for SharedDeploymentPolicy {
1822 fn default() -> Self {
1823 use std::convert::From;
1824 Self::from(0)
1825 }
1826 }
1827
1828 impl std::fmt::Display for SharedDeploymentPolicy {
1829 fn fmt(
1830 &self,
1831 f: &mut std::fmt::Formatter<'_>,
1832 ) -> std::result::Result<(), std::fmt::Error> {
1833 wkt::internal::display_enum(f, self.name(), self.value())
1834 }
1835 }
1836
1837 impl std::convert::From<i32> for SharedDeploymentPolicy {
1838 fn from(value: i32) -> Self {
1839 match value {
1840 0 => Self::Unspecified,
1841 1 => Self::Allowed,
1842 2 => Self::Disallowed,
1843 _ => Self::UnknownValue(shared_deployment_policy::UnknownValue(
1844 wkt::internal::UnknownEnumValue::Integer(value),
1845 )),
1846 }
1847 }
1848 }
1849
1850 impl std::convert::From<&str> for SharedDeploymentPolicy {
1851 fn from(value: &str) -> Self {
1852 use std::string::ToString;
1853 match value {
1854 "SHARED_DEPLOYMENT_POLICY_UNSPECIFIED" => Self::Unspecified,
1855 "ALLOWED" => Self::Allowed,
1856 "DISALLOWED" => Self::Disallowed,
1857 _ => Self::UnknownValue(shared_deployment_policy::UnknownValue(
1858 wkt::internal::UnknownEnumValue::String(value.to_string()),
1859 )),
1860 }
1861 }
1862 }
1863
1864 impl serde::ser::Serialize for SharedDeploymentPolicy {
1865 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1866 where
1867 S: serde::Serializer,
1868 {
1869 match self {
1870 Self::Unspecified => serializer.serialize_i32(0),
1871 Self::Allowed => serializer.serialize_i32(1),
1872 Self::Disallowed => serializer.serialize_i32(2),
1873 Self::UnknownValue(u) => u.0.serialize(serializer),
1874 }
1875 }
1876 }
1877
1878 impl<'de> serde::de::Deserialize<'de> for SharedDeploymentPolicy {
1879 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1880 where
1881 D: serde::Deserializer<'de>,
1882 {
1883 deserializer.deserialize_any(wkt::internal::EnumVisitor::<SharedDeploymentPolicy>::new(
1884 ".google.cloud.edgecontainer.v1.Cluster.ControlPlane.SharedDeploymentPolicy"))
1885 }
1886 }
1887
1888 #[derive(Clone, Debug, PartialEq)]
1889 #[non_exhaustive]
1890 pub enum Config {
1891 Remote(std::boxed::Box<crate::model::cluster::control_plane::Remote>),
1893 Local(std::boxed::Box<crate::model::cluster::control_plane::Local>),
1901 }
1902 }
1903
1904 #[derive(Clone, Default, PartialEq)]
1906 #[non_exhaustive]
1907 pub struct SystemAddonsConfig {
1908 pub ingress: std::option::Option<crate::model::cluster::system_addons_config::Ingress>,
1910
1911 pub vm_service_config:
1913 std::option::Option<crate::model::cluster::system_addons_config::VMServiceConfig>,
1914
1915 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1916 }
1917
1918 impl SystemAddonsConfig {
1919 pub fn new() -> Self {
1920 std::default::Default::default()
1921 }
1922
1923 pub fn set_ingress<T>(mut self, v: T) -> Self
1925 where
1926 T: std::convert::Into<crate::model::cluster::system_addons_config::Ingress>,
1927 {
1928 self.ingress = std::option::Option::Some(v.into());
1929 self
1930 }
1931
1932 pub fn set_or_clear_ingress<T>(mut self, v: std::option::Option<T>) -> Self
1934 where
1935 T: std::convert::Into<crate::model::cluster::system_addons_config::Ingress>,
1936 {
1937 self.ingress = v.map(|x| x.into());
1938 self
1939 }
1940
1941 pub fn set_vm_service_config<T>(mut self, v: T) -> Self
1943 where
1944 T: std::convert::Into<crate::model::cluster::system_addons_config::VMServiceConfig>,
1945 {
1946 self.vm_service_config = std::option::Option::Some(v.into());
1947 self
1948 }
1949
1950 pub fn set_or_clear_vm_service_config<T>(mut self, v: std::option::Option<T>) -> Self
1952 where
1953 T: std::convert::Into<crate::model::cluster::system_addons_config::VMServiceConfig>,
1954 {
1955 self.vm_service_config = v.map(|x| x.into());
1956 self
1957 }
1958 }
1959
1960 impl wkt::message::Message for SystemAddonsConfig {
1961 fn typename() -> &'static str {
1962 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.SystemAddonsConfig"
1963 }
1964 }
1965
1966 #[doc(hidden)]
1967 impl<'de> serde::de::Deserialize<'de> for SystemAddonsConfig {
1968 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1969 where
1970 D: serde::Deserializer<'de>,
1971 {
1972 #[allow(non_camel_case_types)]
1973 #[doc(hidden)]
1974 #[derive(PartialEq, Eq, Hash)]
1975 enum __FieldTag {
1976 __ingress,
1977 __vm_service_config,
1978 Unknown(std::string::String),
1979 }
1980 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1981 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1982 where
1983 D: serde::Deserializer<'de>,
1984 {
1985 struct Visitor;
1986 impl<'de> serde::de::Visitor<'de> for Visitor {
1987 type Value = __FieldTag;
1988 fn expecting(
1989 &self,
1990 formatter: &mut std::fmt::Formatter,
1991 ) -> std::fmt::Result {
1992 formatter.write_str("a field name for SystemAddonsConfig")
1993 }
1994 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1995 where
1996 E: serde::de::Error,
1997 {
1998 use std::result::Result::Ok;
1999 use std::string::ToString;
2000 match value {
2001 "ingress" => Ok(__FieldTag::__ingress),
2002 "vmServiceConfig" => Ok(__FieldTag::__vm_service_config),
2003 "vm_service_config" => Ok(__FieldTag::__vm_service_config),
2004 _ => Ok(__FieldTag::Unknown(value.to_string())),
2005 }
2006 }
2007 }
2008 deserializer.deserialize_identifier(Visitor)
2009 }
2010 }
2011 struct Visitor;
2012 impl<'de> serde::de::Visitor<'de> for Visitor {
2013 type Value = SystemAddonsConfig;
2014 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2015 formatter.write_str("struct SystemAddonsConfig")
2016 }
2017 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2018 where
2019 A: serde::de::MapAccess<'de>,
2020 {
2021 #[allow(unused_imports)]
2022 use serde::de::Error;
2023 use std::option::Option::Some;
2024 let mut fields = std::collections::HashSet::new();
2025 let mut result = Self::Value::new();
2026 while let Some(tag) = map.next_key::<__FieldTag>()? {
2027 #[allow(clippy::match_single_binding)]
2028 match tag {
2029 __FieldTag::__ingress => {
2030 if !fields.insert(__FieldTag::__ingress) {
2031 return std::result::Result::Err(A::Error::duplicate_field(
2032 "multiple values for ingress",
2033 ));
2034 }
2035 result.ingress = map.next_value::<std::option::Option<
2036 crate::model::cluster::system_addons_config::Ingress,
2037 >>()?;
2038 }
2039 __FieldTag::__vm_service_config => {
2040 if !fields.insert(__FieldTag::__vm_service_config) {
2041 return std::result::Result::Err(A::Error::duplicate_field(
2042 "multiple values for vm_service_config",
2043 ));
2044 }
2045 result.vm_service_config = map.next_value::<std::option::Option<
2046 crate::model::cluster::system_addons_config::VMServiceConfig,
2047 >>(
2048 )?;
2049 }
2050 __FieldTag::Unknown(key) => {
2051 let value = map.next_value::<serde_json::Value>()?;
2052 result._unknown_fields.insert(key, value);
2053 }
2054 }
2055 }
2056 std::result::Result::Ok(result)
2057 }
2058 }
2059 deserializer.deserialize_any(Visitor)
2060 }
2061 }
2062
2063 #[doc(hidden)]
2064 impl serde::ser::Serialize for SystemAddonsConfig {
2065 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2066 where
2067 S: serde::ser::Serializer,
2068 {
2069 use serde::ser::SerializeMap;
2070 #[allow(unused_imports)]
2071 use std::option::Option::Some;
2072 let mut state = serializer.serialize_map(std::option::Option::None)?;
2073 if self.ingress.is_some() {
2074 state.serialize_entry("ingress", &self.ingress)?;
2075 }
2076 if self.vm_service_config.is_some() {
2077 state.serialize_entry("vmServiceConfig", &self.vm_service_config)?;
2078 }
2079 if !self._unknown_fields.is_empty() {
2080 for (key, value) in self._unknown_fields.iter() {
2081 state.serialize_entry(key, &value)?;
2082 }
2083 }
2084 state.end()
2085 }
2086 }
2087
2088 impl std::fmt::Debug for SystemAddonsConfig {
2089 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2090 let mut debug_struct = f.debug_struct("SystemAddonsConfig");
2091 debug_struct.field("ingress", &self.ingress);
2092 debug_struct.field("vm_service_config", &self.vm_service_config);
2093 if !self._unknown_fields.is_empty() {
2094 debug_struct.field("_unknown_fields", &self._unknown_fields);
2095 }
2096 debug_struct.finish()
2097 }
2098 }
2099
2100 pub mod system_addons_config {
2102 #[allow(unused_imports)]
2103 use super::*;
2104
2105 #[derive(Clone, Default, PartialEq)]
2109 #[non_exhaustive]
2110 pub struct Ingress {
2111 pub disabled: bool,
2113
2114 pub ipv4_vip: std::string::String,
2116
2117 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2118 }
2119
2120 impl Ingress {
2121 pub fn new() -> Self {
2122 std::default::Default::default()
2123 }
2124
2125 pub fn set_disabled<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
2127 self.disabled = v.into();
2128 self
2129 }
2130
2131 pub fn set_ipv4_vip<T: std::convert::Into<std::string::String>>(
2133 mut self,
2134 v: T,
2135 ) -> Self {
2136 self.ipv4_vip = v.into();
2137 self
2138 }
2139 }
2140
2141 impl wkt::message::Message for Ingress {
2142 fn typename() -> &'static str {
2143 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.SystemAddonsConfig.Ingress"
2144 }
2145 }
2146
2147 #[doc(hidden)]
2148 impl<'de> serde::de::Deserialize<'de> for Ingress {
2149 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2150 where
2151 D: serde::Deserializer<'de>,
2152 {
2153 #[allow(non_camel_case_types)]
2154 #[doc(hidden)]
2155 #[derive(PartialEq, Eq, Hash)]
2156 enum __FieldTag {
2157 __disabled,
2158 __ipv4_vip,
2159 Unknown(std::string::String),
2160 }
2161 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2162 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2163 where
2164 D: serde::Deserializer<'de>,
2165 {
2166 struct Visitor;
2167 impl<'de> serde::de::Visitor<'de> for Visitor {
2168 type Value = __FieldTag;
2169 fn expecting(
2170 &self,
2171 formatter: &mut std::fmt::Formatter,
2172 ) -> std::fmt::Result {
2173 formatter.write_str("a field name for Ingress")
2174 }
2175 fn visit_str<E>(
2176 self,
2177 value: &str,
2178 ) -> std::result::Result<Self::Value, E>
2179 where
2180 E: serde::de::Error,
2181 {
2182 use std::result::Result::Ok;
2183 use std::string::ToString;
2184 match value {
2185 "disabled" => Ok(__FieldTag::__disabled),
2186 "ipv4Vip" => Ok(__FieldTag::__ipv4_vip),
2187 "ipv4_vip" => Ok(__FieldTag::__ipv4_vip),
2188 _ => Ok(__FieldTag::Unknown(value.to_string())),
2189 }
2190 }
2191 }
2192 deserializer.deserialize_identifier(Visitor)
2193 }
2194 }
2195 struct Visitor;
2196 impl<'de> serde::de::Visitor<'de> for Visitor {
2197 type Value = Ingress;
2198 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2199 formatter.write_str("struct Ingress")
2200 }
2201 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2202 where
2203 A: serde::de::MapAccess<'de>,
2204 {
2205 #[allow(unused_imports)]
2206 use serde::de::Error;
2207 use std::option::Option::Some;
2208 let mut fields = std::collections::HashSet::new();
2209 let mut result = Self::Value::new();
2210 while let Some(tag) = map.next_key::<__FieldTag>()? {
2211 #[allow(clippy::match_single_binding)]
2212 match tag {
2213 __FieldTag::__disabled => {
2214 if !fields.insert(__FieldTag::__disabled) {
2215 return std::result::Result::Err(
2216 A::Error::duplicate_field(
2217 "multiple values for disabled",
2218 ),
2219 );
2220 }
2221 result.disabled = map
2222 .next_value::<std::option::Option<bool>>()?
2223 .unwrap_or_default();
2224 }
2225 __FieldTag::__ipv4_vip => {
2226 if !fields.insert(__FieldTag::__ipv4_vip) {
2227 return std::result::Result::Err(
2228 A::Error::duplicate_field(
2229 "multiple values for ipv4_vip",
2230 ),
2231 );
2232 }
2233 result.ipv4_vip = map
2234 .next_value::<std::option::Option<std::string::String>>()?
2235 .unwrap_or_default();
2236 }
2237 __FieldTag::Unknown(key) => {
2238 let value = map.next_value::<serde_json::Value>()?;
2239 result._unknown_fields.insert(key, value);
2240 }
2241 }
2242 }
2243 std::result::Result::Ok(result)
2244 }
2245 }
2246 deserializer.deserialize_any(Visitor)
2247 }
2248 }
2249
2250 #[doc(hidden)]
2251 impl serde::ser::Serialize for Ingress {
2252 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2253 where
2254 S: serde::ser::Serializer,
2255 {
2256 use serde::ser::SerializeMap;
2257 #[allow(unused_imports)]
2258 use std::option::Option::Some;
2259 let mut state = serializer.serialize_map(std::option::Option::None)?;
2260 if !wkt::internal::is_default(&self.disabled) {
2261 state.serialize_entry("disabled", &self.disabled)?;
2262 }
2263 if !self.ipv4_vip.is_empty() {
2264 state.serialize_entry("ipv4Vip", &self.ipv4_vip)?;
2265 }
2266 if !self._unknown_fields.is_empty() {
2267 for (key, value) in self._unknown_fields.iter() {
2268 state.serialize_entry(key, &value)?;
2269 }
2270 }
2271 state.end()
2272 }
2273 }
2274
2275 impl std::fmt::Debug for Ingress {
2276 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2277 let mut debug_struct = f.debug_struct("Ingress");
2278 debug_struct.field("disabled", &self.disabled);
2279 debug_struct.field("ipv4_vip", &self.ipv4_vip);
2280 if !self._unknown_fields.is_empty() {
2281 debug_struct.field("_unknown_fields", &self._unknown_fields);
2282 }
2283 debug_struct.finish()
2284 }
2285 }
2286
2287 #[derive(Clone, Default, PartialEq)]
2289 #[non_exhaustive]
2290 pub struct VMServiceConfig {
2291 pub vmm_enabled: bool,
2293
2294 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2295 }
2296
2297 impl VMServiceConfig {
2298 pub fn new() -> Self {
2299 std::default::Default::default()
2300 }
2301
2302 pub fn set_vmm_enabled<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
2304 self.vmm_enabled = v.into();
2305 self
2306 }
2307 }
2308
2309 impl wkt::message::Message for VMServiceConfig {
2310 fn typename() -> &'static str {
2311 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.SystemAddonsConfig.VMServiceConfig"
2312 }
2313 }
2314
2315 #[doc(hidden)]
2316 impl<'de> serde::de::Deserialize<'de> for VMServiceConfig {
2317 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2318 where
2319 D: serde::Deserializer<'de>,
2320 {
2321 #[allow(non_camel_case_types)]
2322 #[doc(hidden)]
2323 #[derive(PartialEq, Eq, Hash)]
2324 enum __FieldTag {
2325 __vmm_enabled,
2326 Unknown(std::string::String),
2327 }
2328 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2329 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2330 where
2331 D: serde::Deserializer<'de>,
2332 {
2333 struct Visitor;
2334 impl<'de> serde::de::Visitor<'de> for Visitor {
2335 type Value = __FieldTag;
2336 fn expecting(
2337 &self,
2338 formatter: &mut std::fmt::Formatter,
2339 ) -> std::fmt::Result {
2340 formatter.write_str("a field name for VMServiceConfig")
2341 }
2342 fn visit_str<E>(
2343 self,
2344 value: &str,
2345 ) -> std::result::Result<Self::Value, E>
2346 where
2347 E: serde::de::Error,
2348 {
2349 use std::result::Result::Ok;
2350 use std::string::ToString;
2351 match value {
2352 "vmmEnabled" => Ok(__FieldTag::__vmm_enabled),
2353 "vmm_enabled" => Ok(__FieldTag::__vmm_enabled),
2354 _ => Ok(__FieldTag::Unknown(value.to_string())),
2355 }
2356 }
2357 }
2358 deserializer.deserialize_identifier(Visitor)
2359 }
2360 }
2361 struct Visitor;
2362 impl<'de> serde::de::Visitor<'de> for Visitor {
2363 type Value = VMServiceConfig;
2364 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2365 formatter.write_str("struct VMServiceConfig")
2366 }
2367 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2368 where
2369 A: serde::de::MapAccess<'de>,
2370 {
2371 #[allow(unused_imports)]
2372 use serde::de::Error;
2373 use std::option::Option::Some;
2374 let mut fields = std::collections::HashSet::new();
2375 let mut result = Self::Value::new();
2376 while let Some(tag) = map.next_key::<__FieldTag>()? {
2377 #[allow(clippy::match_single_binding)]
2378 match tag {
2379 __FieldTag::__vmm_enabled => {
2380 if !fields.insert(__FieldTag::__vmm_enabled) {
2381 return std::result::Result::Err(
2382 A::Error::duplicate_field(
2383 "multiple values for vmm_enabled",
2384 ),
2385 );
2386 }
2387 result.vmm_enabled = map
2388 .next_value::<std::option::Option<bool>>()?
2389 .unwrap_or_default();
2390 }
2391 __FieldTag::Unknown(key) => {
2392 let value = map.next_value::<serde_json::Value>()?;
2393 result._unknown_fields.insert(key, value);
2394 }
2395 }
2396 }
2397 std::result::Result::Ok(result)
2398 }
2399 }
2400 deserializer.deserialize_any(Visitor)
2401 }
2402 }
2403
2404 #[doc(hidden)]
2405 impl serde::ser::Serialize for VMServiceConfig {
2406 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2407 where
2408 S: serde::ser::Serializer,
2409 {
2410 use serde::ser::SerializeMap;
2411 #[allow(unused_imports)]
2412 use std::option::Option::Some;
2413 let mut state = serializer.serialize_map(std::option::Option::None)?;
2414 if !wkt::internal::is_default(&self.vmm_enabled) {
2415 state.serialize_entry("vmmEnabled", &self.vmm_enabled)?;
2416 }
2417 if !self._unknown_fields.is_empty() {
2418 for (key, value) in self._unknown_fields.iter() {
2419 state.serialize_entry(key, &value)?;
2420 }
2421 }
2422 state.end()
2423 }
2424 }
2425
2426 impl std::fmt::Debug for VMServiceConfig {
2427 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2428 let mut debug_struct = f.debug_struct("VMServiceConfig");
2429 debug_struct.field("vmm_enabled", &self.vmm_enabled);
2430 if !self._unknown_fields.is_empty() {
2431 debug_struct.field("_unknown_fields", &self._unknown_fields);
2432 }
2433 debug_struct.finish()
2434 }
2435 }
2436 }
2437
2438 #[derive(Clone, Default, PartialEq)]
2440 #[non_exhaustive]
2441 pub struct ControlPlaneEncryption {
2442 pub kms_key: std::string::String,
2447
2448 pub kms_key_active_version: std::string::String,
2451
2452 pub kms_key_state: crate::model::KmsKeyState,
2457
2458 pub kms_status: std::option::Option<rpc::model::Status>,
2463
2464 pub resource_state: crate::model::ResourceState,
2466
2467 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2468 }
2469
2470 impl ControlPlaneEncryption {
2471 pub fn new() -> Self {
2472 std::default::Default::default()
2473 }
2474
2475 pub fn set_kms_key<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2477 self.kms_key = v.into();
2478 self
2479 }
2480
2481 pub fn set_kms_key_active_version<T: std::convert::Into<std::string::String>>(
2483 mut self,
2484 v: T,
2485 ) -> Self {
2486 self.kms_key_active_version = v.into();
2487 self
2488 }
2489
2490 pub fn set_kms_key_state<T: std::convert::Into<crate::model::KmsKeyState>>(
2492 mut self,
2493 v: T,
2494 ) -> Self {
2495 self.kms_key_state = v.into();
2496 self
2497 }
2498
2499 pub fn set_kms_status<T>(mut self, v: T) -> Self
2501 where
2502 T: std::convert::Into<rpc::model::Status>,
2503 {
2504 self.kms_status = std::option::Option::Some(v.into());
2505 self
2506 }
2507
2508 pub fn set_or_clear_kms_status<T>(mut self, v: std::option::Option<T>) -> Self
2510 where
2511 T: std::convert::Into<rpc::model::Status>,
2512 {
2513 self.kms_status = v.map(|x| x.into());
2514 self
2515 }
2516
2517 pub fn set_resource_state<T: std::convert::Into<crate::model::ResourceState>>(
2519 mut self,
2520 v: T,
2521 ) -> Self {
2522 self.resource_state = v.into();
2523 self
2524 }
2525 }
2526
2527 impl wkt::message::Message for ControlPlaneEncryption {
2528 fn typename() -> &'static str {
2529 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.ControlPlaneEncryption"
2530 }
2531 }
2532
2533 #[doc(hidden)]
2534 impl<'de> serde::de::Deserialize<'de> for ControlPlaneEncryption {
2535 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2536 where
2537 D: serde::Deserializer<'de>,
2538 {
2539 #[allow(non_camel_case_types)]
2540 #[doc(hidden)]
2541 #[derive(PartialEq, Eq, Hash)]
2542 enum __FieldTag {
2543 __kms_key,
2544 __kms_key_active_version,
2545 __kms_key_state,
2546 __kms_status,
2547 __resource_state,
2548 Unknown(std::string::String),
2549 }
2550 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2551 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2552 where
2553 D: serde::Deserializer<'de>,
2554 {
2555 struct Visitor;
2556 impl<'de> serde::de::Visitor<'de> for Visitor {
2557 type Value = __FieldTag;
2558 fn expecting(
2559 &self,
2560 formatter: &mut std::fmt::Formatter,
2561 ) -> std::fmt::Result {
2562 formatter.write_str("a field name for ControlPlaneEncryption")
2563 }
2564 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2565 where
2566 E: serde::de::Error,
2567 {
2568 use std::result::Result::Ok;
2569 use std::string::ToString;
2570 match value {
2571 "kmsKey" => Ok(__FieldTag::__kms_key),
2572 "kms_key" => Ok(__FieldTag::__kms_key),
2573 "kmsKeyActiveVersion" => Ok(__FieldTag::__kms_key_active_version),
2574 "kms_key_active_version" => {
2575 Ok(__FieldTag::__kms_key_active_version)
2576 }
2577 "kmsKeyState" => Ok(__FieldTag::__kms_key_state),
2578 "kms_key_state" => Ok(__FieldTag::__kms_key_state),
2579 "kmsStatus" => Ok(__FieldTag::__kms_status),
2580 "kms_status" => Ok(__FieldTag::__kms_status),
2581 "resourceState" => Ok(__FieldTag::__resource_state),
2582 "resource_state" => Ok(__FieldTag::__resource_state),
2583 _ => Ok(__FieldTag::Unknown(value.to_string())),
2584 }
2585 }
2586 }
2587 deserializer.deserialize_identifier(Visitor)
2588 }
2589 }
2590 struct Visitor;
2591 impl<'de> serde::de::Visitor<'de> for Visitor {
2592 type Value = ControlPlaneEncryption;
2593 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2594 formatter.write_str("struct ControlPlaneEncryption")
2595 }
2596 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2597 where
2598 A: serde::de::MapAccess<'de>,
2599 {
2600 #[allow(unused_imports)]
2601 use serde::de::Error;
2602 use std::option::Option::Some;
2603 let mut fields = std::collections::HashSet::new();
2604 let mut result = Self::Value::new();
2605 while let Some(tag) = map.next_key::<__FieldTag>()? {
2606 #[allow(clippy::match_single_binding)]
2607 match tag {
2608 __FieldTag::__kms_key => {
2609 if !fields.insert(__FieldTag::__kms_key) {
2610 return std::result::Result::Err(A::Error::duplicate_field(
2611 "multiple values for kms_key",
2612 ));
2613 }
2614 result.kms_key = map
2615 .next_value::<std::option::Option<std::string::String>>()?
2616 .unwrap_or_default();
2617 }
2618 __FieldTag::__kms_key_active_version => {
2619 if !fields.insert(__FieldTag::__kms_key_active_version) {
2620 return std::result::Result::Err(A::Error::duplicate_field(
2621 "multiple values for kms_key_active_version",
2622 ));
2623 }
2624 result.kms_key_active_version = map
2625 .next_value::<std::option::Option<std::string::String>>()?
2626 .unwrap_or_default();
2627 }
2628 __FieldTag::__kms_key_state => {
2629 if !fields.insert(__FieldTag::__kms_key_state) {
2630 return std::result::Result::Err(A::Error::duplicate_field(
2631 "multiple values for kms_key_state",
2632 ));
2633 }
2634 result.kms_key_state = map
2635 .next_value::<std::option::Option<crate::model::KmsKeyState>>()?
2636 .unwrap_or_default();
2637 }
2638 __FieldTag::__kms_status => {
2639 if !fields.insert(__FieldTag::__kms_status) {
2640 return std::result::Result::Err(A::Error::duplicate_field(
2641 "multiple values for kms_status",
2642 ));
2643 }
2644 result.kms_status =
2645 map.next_value::<std::option::Option<rpc::model::Status>>()?;
2646 }
2647 __FieldTag::__resource_state => {
2648 if !fields.insert(__FieldTag::__resource_state) {
2649 return std::result::Result::Err(A::Error::duplicate_field(
2650 "multiple values for resource_state",
2651 ));
2652 }
2653 result.resource_state = map
2654 .next_value::<std::option::Option<crate::model::ResourceState>>(
2655 )?
2656 .unwrap_or_default();
2657 }
2658 __FieldTag::Unknown(key) => {
2659 let value = map.next_value::<serde_json::Value>()?;
2660 result._unknown_fields.insert(key, value);
2661 }
2662 }
2663 }
2664 std::result::Result::Ok(result)
2665 }
2666 }
2667 deserializer.deserialize_any(Visitor)
2668 }
2669 }
2670
2671 #[doc(hidden)]
2672 impl serde::ser::Serialize for ControlPlaneEncryption {
2673 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2674 where
2675 S: serde::ser::Serializer,
2676 {
2677 use serde::ser::SerializeMap;
2678 #[allow(unused_imports)]
2679 use std::option::Option::Some;
2680 let mut state = serializer.serialize_map(std::option::Option::None)?;
2681 if !self.kms_key.is_empty() {
2682 state.serialize_entry("kmsKey", &self.kms_key)?;
2683 }
2684 if !self.kms_key_active_version.is_empty() {
2685 state.serialize_entry("kmsKeyActiveVersion", &self.kms_key_active_version)?;
2686 }
2687 if !wkt::internal::is_default(&self.kms_key_state) {
2688 state.serialize_entry("kmsKeyState", &self.kms_key_state)?;
2689 }
2690 if self.kms_status.is_some() {
2691 state.serialize_entry("kmsStatus", &self.kms_status)?;
2692 }
2693 if !wkt::internal::is_default(&self.resource_state) {
2694 state.serialize_entry("resourceState", &self.resource_state)?;
2695 }
2696 if !self._unknown_fields.is_empty() {
2697 for (key, value) in self._unknown_fields.iter() {
2698 state.serialize_entry(key, &value)?;
2699 }
2700 }
2701 state.end()
2702 }
2703 }
2704
2705 impl std::fmt::Debug for ControlPlaneEncryption {
2706 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2707 let mut debug_struct = f.debug_struct("ControlPlaneEncryption");
2708 debug_struct.field("kms_key", &self.kms_key);
2709 debug_struct.field("kms_key_active_version", &self.kms_key_active_version);
2710 debug_struct.field("kms_key_state", &self.kms_key_state);
2711 debug_struct.field("kms_status", &self.kms_status);
2712 debug_struct.field("resource_state", &self.resource_state);
2713 if !self._unknown_fields.is_empty() {
2714 debug_struct.field("_unknown_fields", &self._unknown_fields);
2715 }
2716 debug_struct.finish()
2717 }
2718 }
2719
2720 #[derive(Clone, Default, PartialEq)]
2725 #[non_exhaustive]
2726 pub struct MaintenanceEvent {
2727 pub uuid: std::string::String,
2729
2730 pub target_version: std::string::String,
2732
2733 pub operation: std::string::String,
2738
2739 pub r#type: crate::model::cluster::maintenance_event::Type,
2741
2742 pub schedule: crate::model::cluster::maintenance_event::Schedule,
2744
2745 pub state: crate::model::cluster::maintenance_event::State,
2747
2748 pub create_time: std::option::Option<wkt::Timestamp>,
2750
2751 pub start_time: std::option::Option<wkt::Timestamp>,
2753
2754 pub end_time: std::option::Option<wkt::Timestamp>,
2758
2759 pub update_time: std::option::Option<wkt::Timestamp>,
2761
2762 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2763 }
2764
2765 impl MaintenanceEvent {
2766 pub fn new() -> Self {
2767 std::default::Default::default()
2768 }
2769
2770 pub fn set_uuid<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2772 self.uuid = v.into();
2773 self
2774 }
2775
2776 pub fn set_target_version<T: std::convert::Into<std::string::String>>(
2778 mut self,
2779 v: T,
2780 ) -> Self {
2781 self.target_version = v.into();
2782 self
2783 }
2784
2785 pub fn set_operation<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2787 self.operation = v.into();
2788 self
2789 }
2790
2791 pub fn set_type<T: std::convert::Into<crate::model::cluster::maintenance_event::Type>>(
2793 mut self,
2794 v: T,
2795 ) -> Self {
2796 self.r#type = v.into();
2797 self
2798 }
2799
2800 pub fn set_schedule<
2802 T: std::convert::Into<crate::model::cluster::maintenance_event::Schedule>,
2803 >(
2804 mut self,
2805 v: T,
2806 ) -> Self {
2807 self.schedule = v.into();
2808 self
2809 }
2810
2811 pub fn set_state<T: std::convert::Into<crate::model::cluster::maintenance_event::State>>(
2813 mut self,
2814 v: T,
2815 ) -> Self {
2816 self.state = v.into();
2817 self
2818 }
2819
2820 pub fn set_create_time<T>(mut self, v: T) -> Self
2822 where
2823 T: std::convert::Into<wkt::Timestamp>,
2824 {
2825 self.create_time = std::option::Option::Some(v.into());
2826 self
2827 }
2828
2829 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
2831 where
2832 T: std::convert::Into<wkt::Timestamp>,
2833 {
2834 self.create_time = v.map(|x| x.into());
2835 self
2836 }
2837
2838 pub fn set_start_time<T>(mut self, v: T) -> Self
2840 where
2841 T: std::convert::Into<wkt::Timestamp>,
2842 {
2843 self.start_time = std::option::Option::Some(v.into());
2844 self
2845 }
2846
2847 pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
2849 where
2850 T: std::convert::Into<wkt::Timestamp>,
2851 {
2852 self.start_time = v.map(|x| x.into());
2853 self
2854 }
2855
2856 pub fn set_end_time<T>(mut self, v: T) -> Self
2858 where
2859 T: std::convert::Into<wkt::Timestamp>,
2860 {
2861 self.end_time = std::option::Option::Some(v.into());
2862 self
2863 }
2864
2865 pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
2867 where
2868 T: std::convert::Into<wkt::Timestamp>,
2869 {
2870 self.end_time = v.map(|x| x.into());
2871 self
2872 }
2873
2874 pub fn set_update_time<T>(mut self, v: T) -> Self
2876 where
2877 T: std::convert::Into<wkt::Timestamp>,
2878 {
2879 self.update_time = std::option::Option::Some(v.into());
2880 self
2881 }
2882
2883 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
2885 where
2886 T: std::convert::Into<wkt::Timestamp>,
2887 {
2888 self.update_time = v.map(|x| x.into());
2889 self
2890 }
2891 }
2892
2893 impl wkt::message::Message for MaintenanceEvent {
2894 fn typename() -> &'static str {
2895 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.MaintenanceEvent"
2896 }
2897 }
2898
2899 #[doc(hidden)]
2900 impl<'de> serde::de::Deserialize<'de> for MaintenanceEvent {
2901 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2902 where
2903 D: serde::Deserializer<'de>,
2904 {
2905 #[allow(non_camel_case_types)]
2906 #[doc(hidden)]
2907 #[derive(PartialEq, Eq, Hash)]
2908 enum __FieldTag {
2909 __uuid,
2910 __target_version,
2911 __operation,
2912 __type,
2913 __schedule,
2914 __state,
2915 __create_time,
2916 __start_time,
2917 __end_time,
2918 __update_time,
2919 Unknown(std::string::String),
2920 }
2921 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2922 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2923 where
2924 D: serde::Deserializer<'de>,
2925 {
2926 struct Visitor;
2927 impl<'de> serde::de::Visitor<'de> for Visitor {
2928 type Value = __FieldTag;
2929 fn expecting(
2930 &self,
2931 formatter: &mut std::fmt::Formatter,
2932 ) -> std::fmt::Result {
2933 formatter.write_str("a field name for MaintenanceEvent")
2934 }
2935 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2936 where
2937 E: serde::de::Error,
2938 {
2939 use std::result::Result::Ok;
2940 use std::string::ToString;
2941 match value {
2942 "uuid" => Ok(__FieldTag::__uuid),
2943 "targetVersion" => Ok(__FieldTag::__target_version),
2944 "target_version" => Ok(__FieldTag::__target_version),
2945 "operation" => Ok(__FieldTag::__operation),
2946 "type" => Ok(__FieldTag::__type),
2947 "schedule" => Ok(__FieldTag::__schedule),
2948 "state" => Ok(__FieldTag::__state),
2949 "createTime" => Ok(__FieldTag::__create_time),
2950 "create_time" => Ok(__FieldTag::__create_time),
2951 "startTime" => Ok(__FieldTag::__start_time),
2952 "start_time" => Ok(__FieldTag::__start_time),
2953 "endTime" => Ok(__FieldTag::__end_time),
2954 "end_time" => Ok(__FieldTag::__end_time),
2955 "updateTime" => Ok(__FieldTag::__update_time),
2956 "update_time" => Ok(__FieldTag::__update_time),
2957 _ => Ok(__FieldTag::Unknown(value.to_string())),
2958 }
2959 }
2960 }
2961 deserializer.deserialize_identifier(Visitor)
2962 }
2963 }
2964 struct Visitor;
2965 impl<'de> serde::de::Visitor<'de> for Visitor {
2966 type Value = MaintenanceEvent;
2967 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2968 formatter.write_str("struct MaintenanceEvent")
2969 }
2970 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2971 where
2972 A: serde::de::MapAccess<'de>,
2973 {
2974 #[allow(unused_imports)]
2975 use serde::de::Error;
2976 use std::option::Option::Some;
2977 let mut fields = std::collections::HashSet::new();
2978 let mut result = Self::Value::new();
2979 while let Some(tag) = map.next_key::<__FieldTag>()? {
2980 #[allow(clippy::match_single_binding)]
2981 match tag {
2982 __FieldTag::__uuid => {
2983 if !fields.insert(__FieldTag::__uuid) {
2984 return std::result::Result::Err(A::Error::duplicate_field(
2985 "multiple values for uuid",
2986 ));
2987 }
2988 result.uuid = map
2989 .next_value::<std::option::Option<std::string::String>>()?
2990 .unwrap_or_default();
2991 }
2992 __FieldTag::__target_version => {
2993 if !fields.insert(__FieldTag::__target_version) {
2994 return std::result::Result::Err(A::Error::duplicate_field(
2995 "multiple values for target_version",
2996 ));
2997 }
2998 result.target_version = map
2999 .next_value::<std::option::Option<std::string::String>>()?
3000 .unwrap_or_default();
3001 }
3002 __FieldTag::__operation => {
3003 if !fields.insert(__FieldTag::__operation) {
3004 return std::result::Result::Err(A::Error::duplicate_field(
3005 "multiple values for operation",
3006 ));
3007 }
3008 result.operation = map
3009 .next_value::<std::option::Option<std::string::String>>()?
3010 .unwrap_or_default();
3011 }
3012 __FieldTag::__type => {
3013 if !fields.insert(__FieldTag::__type) {
3014 return std::result::Result::Err(A::Error::duplicate_field(
3015 "multiple values for type",
3016 ));
3017 }
3018 result.r#type = map
3019 .next_value::<std::option::Option<
3020 crate::model::cluster::maintenance_event::Type,
3021 >>()?
3022 .unwrap_or_default();
3023 }
3024 __FieldTag::__schedule => {
3025 if !fields.insert(__FieldTag::__schedule) {
3026 return std::result::Result::Err(A::Error::duplicate_field(
3027 "multiple values for schedule",
3028 ));
3029 }
3030 result.schedule = map
3031 .next_value::<std::option::Option<
3032 crate::model::cluster::maintenance_event::Schedule,
3033 >>()?
3034 .unwrap_or_default();
3035 }
3036 __FieldTag::__state => {
3037 if !fields.insert(__FieldTag::__state) {
3038 return std::result::Result::Err(A::Error::duplicate_field(
3039 "multiple values for state",
3040 ));
3041 }
3042 result.state = map
3043 .next_value::<std::option::Option<
3044 crate::model::cluster::maintenance_event::State,
3045 >>()?
3046 .unwrap_or_default();
3047 }
3048 __FieldTag::__create_time => {
3049 if !fields.insert(__FieldTag::__create_time) {
3050 return std::result::Result::Err(A::Error::duplicate_field(
3051 "multiple values for create_time",
3052 ));
3053 }
3054 result.create_time =
3055 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
3056 }
3057 __FieldTag::__start_time => {
3058 if !fields.insert(__FieldTag::__start_time) {
3059 return std::result::Result::Err(A::Error::duplicate_field(
3060 "multiple values for start_time",
3061 ));
3062 }
3063 result.start_time =
3064 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
3065 }
3066 __FieldTag::__end_time => {
3067 if !fields.insert(__FieldTag::__end_time) {
3068 return std::result::Result::Err(A::Error::duplicate_field(
3069 "multiple values for end_time",
3070 ));
3071 }
3072 result.end_time =
3073 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
3074 }
3075 __FieldTag::__update_time => {
3076 if !fields.insert(__FieldTag::__update_time) {
3077 return std::result::Result::Err(A::Error::duplicate_field(
3078 "multiple values for update_time",
3079 ));
3080 }
3081 result.update_time =
3082 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
3083 }
3084 __FieldTag::Unknown(key) => {
3085 let value = map.next_value::<serde_json::Value>()?;
3086 result._unknown_fields.insert(key, value);
3087 }
3088 }
3089 }
3090 std::result::Result::Ok(result)
3091 }
3092 }
3093 deserializer.deserialize_any(Visitor)
3094 }
3095 }
3096
3097 #[doc(hidden)]
3098 impl serde::ser::Serialize for MaintenanceEvent {
3099 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3100 where
3101 S: serde::ser::Serializer,
3102 {
3103 use serde::ser::SerializeMap;
3104 #[allow(unused_imports)]
3105 use std::option::Option::Some;
3106 let mut state = serializer.serialize_map(std::option::Option::None)?;
3107 if !self.uuid.is_empty() {
3108 state.serialize_entry("uuid", &self.uuid)?;
3109 }
3110 if !self.target_version.is_empty() {
3111 state.serialize_entry("targetVersion", &self.target_version)?;
3112 }
3113 if !self.operation.is_empty() {
3114 state.serialize_entry("operation", &self.operation)?;
3115 }
3116 if !wkt::internal::is_default(&self.r#type) {
3117 state.serialize_entry("type", &self.r#type)?;
3118 }
3119 if !wkt::internal::is_default(&self.schedule) {
3120 state.serialize_entry("schedule", &self.schedule)?;
3121 }
3122 if !wkt::internal::is_default(&self.state) {
3123 state.serialize_entry("state", &self.state)?;
3124 }
3125 if self.create_time.is_some() {
3126 state.serialize_entry("createTime", &self.create_time)?;
3127 }
3128 if self.start_time.is_some() {
3129 state.serialize_entry("startTime", &self.start_time)?;
3130 }
3131 if self.end_time.is_some() {
3132 state.serialize_entry("endTime", &self.end_time)?;
3133 }
3134 if self.update_time.is_some() {
3135 state.serialize_entry("updateTime", &self.update_time)?;
3136 }
3137 if !self._unknown_fields.is_empty() {
3138 for (key, value) in self._unknown_fields.iter() {
3139 state.serialize_entry(key, &value)?;
3140 }
3141 }
3142 state.end()
3143 }
3144 }
3145
3146 impl std::fmt::Debug for MaintenanceEvent {
3147 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3148 let mut debug_struct = f.debug_struct("MaintenanceEvent");
3149 debug_struct.field("uuid", &self.uuid);
3150 debug_struct.field("target_version", &self.target_version);
3151 debug_struct.field("operation", &self.operation);
3152 debug_struct.field("r#type", &self.r#type);
3153 debug_struct.field("schedule", &self.schedule);
3154 debug_struct.field("state", &self.state);
3155 debug_struct.field("create_time", &self.create_time);
3156 debug_struct.field("start_time", &self.start_time);
3157 debug_struct.field("end_time", &self.end_time);
3158 debug_struct.field("update_time", &self.update_time);
3159 if !self._unknown_fields.is_empty() {
3160 debug_struct.field("_unknown_fields", &self._unknown_fields);
3161 }
3162 debug_struct.finish()
3163 }
3164 }
3165
3166 pub mod maintenance_event {
3168 #[allow(unused_imports)]
3169 use super::*;
3170
3171 #[derive(Clone, Debug, PartialEq)]
3187 #[non_exhaustive]
3188 pub enum Type {
3189 Unspecified,
3191 UserInitiatedUpgrade,
3193 GoogleDrivenUpgrade,
3195 UnknownValue(r#type::UnknownValue),
3200 }
3201
3202 #[doc(hidden)]
3203 pub mod r#type {
3204 #[allow(unused_imports)]
3205 use super::*;
3206 #[derive(Clone, Debug, PartialEq)]
3207 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
3208 }
3209
3210 impl Type {
3211 pub fn value(&self) -> std::option::Option<i32> {
3216 match self {
3217 Self::Unspecified => std::option::Option::Some(0),
3218 Self::UserInitiatedUpgrade => std::option::Option::Some(1),
3219 Self::GoogleDrivenUpgrade => std::option::Option::Some(2),
3220 Self::UnknownValue(u) => u.0.value(),
3221 }
3222 }
3223
3224 pub fn name(&self) -> std::option::Option<&str> {
3229 match self {
3230 Self::Unspecified => std::option::Option::Some("TYPE_UNSPECIFIED"),
3231 Self::UserInitiatedUpgrade => {
3232 std::option::Option::Some("USER_INITIATED_UPGRADE")
3233 }
3234 Self::GoogleDrivenUpgrade => std::option::Option::Some("GOOGLE_DRIVEN_UPGRADE"),
3235 Self::UnknownValue(u) => u.0.name(),
3236 }
3237 }
3238 }
3239
3240 impl std::default::Default for Type {
3241 fn default() -> Self {
3242 use std::convert::From;
3243 Self::from(0)
3244 }
3245 }
3246
3247 impl std::fmt::Display for Type {
3248 fn fmt(
3249 &self,
3250 f: &mut std::fmt::Formatter<'_>,
3251 ) -> std::result::Result<(), std::fmt::Error> {
3252 wkt::internal::display_enum(f, self.name(), self.value())
3253 }
3254 }
3255
3256 impl std::convert::From<i32> for Type {
3257 fn from(value: i32) -> Self {
3258 match value {
3259 0 => Self::Unspecified,
3260 1 => Self::UserInitiatedUpgrade,
3261 2 => Self::GoogleDrivenUpgrade,
3262 _ => Self::UnknownValue(r#type::UnknownValue(
3263 wkt::internal::UnknownEnumValue::Integer(value),
3264 )),
3265 }
3266 }
3267 }
3268
3269 impl std::convert::From<&str> for Type {
3270 fn from(value: &str) -> Self {
3271 use std::string::ToString;
3272 match value {
3273 "TYPE_UNSPECIFIED" => Self::Unspecified,
3274 "USER_INITIATED_UPGRADE" => Self::UserInitiatedUpgrade,
3275 "GOOGLE_DRIVEN_UPGRADE" => Self::GoogleDrivenUpgrade,
3276 _ => Self::UnknownValue(r#type::UnknownValue(
3277 wkt::internal::UnknownEnumValue::String(value.to_string()),
3278 )),
3279 }
3280 }
3281 }
3282
3283 impl serde::ser::Serialize for Type {
3284 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3285 where
3286 S: serde::Serializer,
3287 {
3288 match self {
3289 Self::Unspecified => serializer.serialize_i32(0),
3290 Self::UserInitiatedUpgrade => serializer.serialize_i32(1),
3291 Self::GoogleDrivenUpgrade => serializer.serialize_i32(2),
3292 Self::UnknownValue(u) => u.0.serialize(serializer),
3293 }
3294 }
3295 }
3296
3297 impl<'de> serde::de::Deserialize<'de> for Type {
3298 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3299 where
3300 D: serde::Deserializer<'de>,
3301 {
3302 deserializer.deserialize_any(wkt::internal::EnumVisitor::<Type>::new(
3303 ".google.cloud.edgecontainer.v1.Cluster.MaintenanceEvent.Type",
3304 ))
3305 }
3306 }
3307
3308 #[derive(Clone, Debug, PartialEq)]
3324 #[non_exhaustive]
3325 pub enum Schedule {
3326 Unspecified,
3328 Immediately,
3330 UnknownValue(schedule::UnknownValue),
3335 }
3336
3337 #[doc(hidden)]
3338 pub mod schedule {
3339 #[allow(unused_imports)]
3340 use super::*;
3341 #[derive(Clone, Debug, PartialEq)]
3342 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
3343 }
3344
3345 impl Schedule {
3346 pub fn value(&self) -> std::option::Option<i32> {
3351 match self {
3352 Self::Unspecified => std::option::Option::Some(0),
3353 Self::Immediately => std::option::Option::Some(1),
3354 Self::UnknownValue(u) => u.0.value(),
3355 }
3356 }
3357
3358 pub fn name(&self) -> std::option::Option<&str> {
3363 match self {
3364 Self::Unspecified => std::option::Option::Some("SCHEDULE_UNSPECIFIED"),
3365 Self::Immediately => std::option::Option::Some("IMMEDIATELY"),
3366 Self::UnknownValue(u) => u.0.name(),
3367 }
3368 }
3369 }
3370
3371 impl std::default::Default for Schedule {
3372 fn default() -> Self {
3373 use std::convert::From;
3374 Self::from(0)
3375 }
3376 }
3377
3378 impl std::fmt::Display for Schedule {
3379 fn fmt(
3380 &self,
3381 f: &mut std::fmt::Formatter<'_>,
3382 ) -> std::result::Result<(), std::fmt::Error> {
3383 wkt::internal::display_enum(f, self.name(), self.value())
3384 }
3385 }
3386
3387 impl std::convert::From<i32> for Schedule {
3388 fn from(value: i32) -> Self {
3389 match value {
3390 0 => Self::Unspecified,
3391 1 => Self::Immediately,
3392 _ => Self::UnknownValue(schedule::UnknownValue(
3393 wkt::internal::UnknownEnumValue::Integer(value),
3394 )),
3395 }
3396 }
3397 }
3398
3399 impl std::convert::From<&str> for Schedule {
3400 fn from(value: &str) -> Self {
3401 use std::string::ToString;
3402 match value {
3403 "SCHEDULE_UNSPECIFIED" => Self::Unspecified,
3404 "IMMEDIATELY" => Self::Immediately,
3405 _ => Self::UnknownValue(schedule::UnknownValue(
3406 wkt::internal::UnknownEnumValue::String(value.to_string()),
3407 )),
3408 }
3409 }
3410 }
3411
3412 impl serde::ser::Serialize for Schedule {
3413 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3414 where
3415 S: serde::Serializer,
3416 {
3417 match self {
3418 Self::Unspecified => serializer.serialize_i32(0),
3419 Self::Immediately => serializer.serialize_i32(1),
3420 Self::UnknownValue(u) => u.0.serialize(serializer),
3421 }
3422 }
3423 }
3424
3425 impl<'de> serde::de::Deserialize<'de> for Schedule {
3426 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3427 where
3428 D: serde::Deserializer<'de>,
3429 {
3430 deserializer.deserialize_any(wkt::internal::EnumVisitor::<Schedule>::new(
3431 ".google.cloud.edgecontainer.v1.Cluster.MaintenanceEvent.Schedule",
3432 ))
3433 }
3434 }
3435
3436 #[derive(Clone, Debug, PartialEq)]
3452 #[non_exhaustive]
3453 pub enum State {
3454 Unspecified,
3456 Reconciling,
3458 Succeeded,
3460 Failed,
3462 UnknownValue(state::UnknownValue),
3467 }
3468
3469 #[doc(hidden)]
3470 pub mod state {
3471 #[allow(unused_imports)]
3472 use super::*;
3473 #[derive(Clone, Debug, PartialEq)]
3474 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
3475 }
3476
3477 impl State {
3478 pub fn value(&self) -> std::option::Option<i32> {
3483 match self {
3484 Self::Unspecified => std::option::Option::Some(0),
3485 Self::Reconciling => std::option::Option::Some(1),
3486 Self::Succeeded => std::option::Option::Some(2),
3487 Self::Failed => std::option::Option::Some(3),
3488 Self::UnknownValue(u) => u.0.value(),
3489 }
3490 }
3491
3492 pub fn name(&self) -> std::option::Option<&str> {
3497 match self {
3498 Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
3499 Self::Reconciling => std::option::Option::Some("RECONCILING"),
3500 Self::Succeeded => std::option::Option::Some("SUCCEEDED"),
3501 Self::Failed => std::option::Option::Some("FAILED"),
3502 Self::UnknownValue(u) => u.0.name(),
3503 }
3504 }
3505 }
3506
3507 impl std::default::Default for State {
3508 fn default() -> Self {
3509 use std::convert::From;
3510 Self::from(0)
3511 }
3512 }
3513
3514 impl std::fmt::Display for State {
3515 fn fmt(
3516 &self,
3517 f: &mut std::fmt::Formatter<'_>,
3518 ) -> std::result::Result<(), std::fmt::Error> {
3519 wkt::internal::display_enum(f, self.name(), self.value())
3520 }
3521 }
3522
3523 impl std::convert::From<i32> for State {
3524 fn from(value: i32) -> Self {
3525 match value {
3526 0 => Self::Unspecified,
3527 1 => Self::Reconciling,
3528 2 => Self::Succeeded,
3529 3 => Self::Failed,
3530 _ => Self::UnknownValue(state::UnknownValue(
3531 wkt::internal::UnknownEnumValue::Integer(value),
3532 )),
3533 }
3534 }
3535 }
3536
3537 impl std::convert::From<&str> for State {
3538 fn from(value: &str) -> Self {
3539 use std::string::ToString;
3540 match value {
3541 "STATE_UNSPECIFIED" => Self::Unspecified,
3542 "RECONCILING" => Self::Reconciling,
3543 "SUCCEEDED" => Self::Succeeded,
3544 "FAILED" => Self::Failed,
3545 _ => Self::UnknownValue(state::UnknownValue(
3546 wkt::internal::UnknownEnumValue::String(value.to_string()),
3547 )),
3548 }
3549 }
3550 }
3551
3552 impl serde::ser::Serialize for State {
3553 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3554 where
3555 S: serde::Serializer,
3556 {
3557 match self {
3558 Self::Unspecified => serializer.serialize_i32(0),
3559 Self::Reconciling => serializer.serialize_i32(1),
3560 Self::Succeeded => serializer.serialize_i32(2),
3561 Self::Failed => serializer.serialize_i32(3),
3562 Self::UnknownValue(u) => u.0.serialize(serializer),
3563 }
3564 }
3565 }
3566
3567 impl<'de> serde::de::Deserialize<'de> for State {
3568 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3569 where
3570 D: serde::Deserializer<'de>,
3571 {
3572 deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
3573 ".google.cloud.edgecontainer.v1.Cluster.MaintenanceEvent.State",
3574 ))
3575 }
3576 }
3577 }
3578
3579 #[derive(Clone, Default, PartialEq)]
3582 #[non_exhaustive]
3583 pub struct SurvivabilityConfig {
3584 pub offline_reboot_ttl: std::option::Option<wkt::Duration>,
3588
3589 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
3590 }
3591
3592 impl SurvivabilityConfig {
3593 pub fn new() -> Self {
3594 std::default::Default::default()
3595 }
3596
3597 pub fn set_offline_reboot_ttl<T>(mut self, v: T) -> Self
3599 where
3600 T: std::convert::Into<wkt::Duration>,
3601 {
3602 self.offline_reboot_ttl = std::option::Option::Some(v.into());
3603 self
3604 }
3605
3606 pub fn set_or_clear_offline_reboot_ttl<T>(mut self, v: std::option::Option<T>) -> Self
3608 where
3609 T: std::convert::Into<wkt::Duration>,
3610 {
3611 self.offline_reboot_ttl = v.map(|x| x.into());
3612 self
3613 }
3614 }
3615
3616 impl wkt::message::Message for SurvivabilityConfig {
3617 fn typename() -> &'static str {
3618 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.SurvivabilityConfig"
3619 }
3620 }
3621
3622 #[doc(hidden)]
3623 impl<'de> serde::de::Deserialize<'de> for SurvivabilityConfig {
3624 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3625 where
3626 D: serde::Deserializer<'de>,
3627 {
3628 #[allow(non_camel_case_types)]
3629 #[doc(hidden)]
3630 #[derive(PartialEq, Eq, Hash)]
3631 enum __FieldTag {
3632 __offline_reboot_ttl,
3633 Unknown(std::string::String),
3634 }
3635 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
3636 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3637 where
3638 D: serde::Deserializer<'de>,
3639 {
3640 struct Visitor;
3641 impl<'de> serde::de::Visitor<'de> for Visitor {
3642 type Value = __FieldTag;
3643 fn expecting(
3644 &self,
3645 formatter: &mut std::fmt::Formatter,
3646 ) -> std::fmt::Result {
3647 formatter.write_str("a field name for SurvivabilityConfig")
3648 }
3649 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
3650 where
3651 E: serde::de::Error,
3652 {
3653 use std::result::Result::Ok;
3654 use std::string::ToString;
3655 match value {
3656 "offlineRebootTtl" => Ok(__FieldTag::__offline_reboot_ttl),
3657 "offline_reboot_ttl" => Ok(__FieldTag::__offline_reboot_ttl),
3658 _ => Ok(__FieldTag::Unknown(value.to_string())),
3659 }
3660 }
3661 }
3662 deserializer.deserialize_identifier(Visitor)
3663 }
3664 }
3665 struct Visitor;
3666 impl<'de> serde::de::Visitor<'de> for Visitor {
3667 type Value = SurvivabilityConfig;
3668 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
3669 formatter.write_str("struct SurvivabilityConfig")
3670 }
3671 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
3672 where
3673 A: serde::de::MapAccess<'de>,
3674 {
3675 #[allow(unused_imports)]
3676 use serde::de::Error;
3677 use std::option::Option::Some;
3678 let mut fields = std::collections::HashSet::new();
3679 let mut result = Self::Value::new();
3680 while let Some(tag) = map.next_key::<__FieldTag>()? {
3681 #[allow(clippy::match_single_binding)]
3682 match tag {
3683 __FieldTag::__offline_reboot_ttl => {
3684 if !fields.insert(__FieldTag::__offline_reboot_ttl) {
3685 return std::result::Result::Err(A::Error::duplicate_field(
3686 "multiple values for offline_reboot_ttl",
3687 ));
3688 }
3689 result.offline_reboot_ttl =
3690 map.next_value::<std::option::Option<wkt::Duration>>()?;
3691 }
3692 __FieldTag::Unknown(key) => {
3693 let value = map.next_value::<serde_json::Value>()?;
3694 result._unknown_fields.insert(key, value);
3695 }
3696 }
3697 }
3698 std::result::Result::Ok(result)
3699 }
3700 }
3701 deserializer.deserialize_any(Visitor)
3702 }
3703 }
3704
3705 #[doc(hidden)]
3706 impl serde::ser::Serialize for SurvivabilityConfig {
3707 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3708 where
3709 S: serde::ser::Serializer,
3710 {
3711 use serde::ser::SerializeMap;
3712 #[allow(unused_imports)]
3713 use std::option::Option::Some;
3714 let mut state = serializer.serialize_map(std::option::Option::None)?;
3715 if self.offline_reboot_ttl.is_some() {
3716 state.serialize_entry("offlineRebootTtl", &self.offline_reboot_ttl)?;
3717 }
3718 if !self._unknown_fields.is_empty() {
3719 for (key, value) in self._unknown_fields.iter() {
3720 state.serialize_entry(key, &value)?;
3721 }
3722 }
3723 state.end()
3724 }
3725 }
3726
3727 impl std::fmt::Debug for SurvivabilityConfig {
3728 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3729 let mut debug_struct = f.debug_struct("SurvivabilityConfig");
3730 debug_struct.field("offline_reboot_ttl", &self.offline_reboot_ttl);
3731 if !self._unknown_fields.is_empty() {
3732 debug_struct.field("_unknown_fields", &self._unknown_fields);
3733 }
3734 debug_struct.finish()
3735 }
3736 }
3737
3738 #[derive(Clone, Default, PartialEq)]
3741 #[non_exhaustive]
3742 pub struct ConnectionState {
3743 pub state: crate::model::cluster::connection_state::State,
3745
3746 pub update_time: std::option::Option<wkt::Timestamp>,
3748
3749 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
3750 }
3751
3752 impl ConnectionState {
3753 pub fn new() -> Self {
3754 std::default::Default::default()
3755 }
3756
3757 pub fn set_state<T: std::convert::Into<crate::model::cluster::connection_state::State>>(
3759 mut self,
3760 v: T,
3761 ) -> Self {
3762 self.state = v.into();
3763 self
3764 }
3765
3766 pub fn set_update_time<T>(mut self, v: T) -> Self
3768 where
3769 T: std::convert::Into<wkt::Timestamp>,
3770 {
3771 self.update_time = std::option::Option::Some(v.into());
3772 self
3773 }
3774
3775 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
3777 where
3778 T: std::convert::Into<wkt::Timestamp>,
3779 {
3780 self.update_time = v.map(|x| x.into());
3781 self
3782 }
3783 }
3784
3785 impl wkt::message::Message for ConnectionState {
3786 fn typename() -> &'static str {
3787 "type.googleapis.com/google.cloud.edgecontainer.v1.Cluster.ConnectionState"
3788 }
3789 }
3790
3791 #[doc(hidden)]
3792 impl<'de> serde::de::Deserialize<'de> for ConnectionState {
3793 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3794 where
3795 D: serde::Deserializer<'de>,
3796 {
3797 #[allow(non_camel_case_types)]
3798 #[doc(hidden)]
3799 #[derive(PartialEq, Eq, Hash)]
3800 enum __FieldTag {
3801 __state,
3802 __update_time,
3803 Unknown(std::string::String),
3804 }
3805 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
3806 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3807 where
3808 D: serde::Deserializer<'de>,
3809 {
3810 struct Visitor;
3811 impl<'de> serde::de::Visitor<'de> for Visitor {
3812 type Value = __FieldTag;
3813 fn expecting(
3814 &self,
3815 formatter: &mut std::fmt::Formatter,
3816 ) -> std::fmt::Result {
3817 formatter.write_str("a field name for ConnectionState")
3818 }
3819 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
3820 where
3821 E: serde::de::Error,
3822 {
3823 use std::result::Result::Ok;
3824 use std::string::ToString;
3825 match value {
3826 "state" => Ok(__FieldTag::__state),
3827 "updateTime" => Ok(__FieldTag::__update_time),
3828 "update_time" => Ok(__FieldTag::__update_time),
3829 _ => Ok(__FieldTag::Unknown(value.to_string())),
3830 }
3831 }
3832 }
3833 deserializer.deserialize_identifier(Visitor)
3834 }
3835 }
3836 struct Visitor;
3837 impl<'de> serde::de::Visitor<'de> for Visitor {
3838 type Value = ConnectionState;
3839 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
3840 formatter.write_str("struct ConnectionState")
3841 }
3842 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
3843 where
3844 A: serde::de::MapAccess<'de>,
3845 {
3846 #[allow(unused_imports)]
3847 use serde::de::Error;
3848 use std::option::Option::Some;
3849 let mut fields = std::collections::HashSet::new();
3850 let mut result = Self::Value::new();
3851 while let Some(tag) = map.next_key::<__FieldTag>()? {
3852 #[allow(clippy::match_single_binding)]
3853 match tag {
3854 __FieldTag::__state => {
3855 if !fields.insert(__FieldTag::__state) {
3856 return std::result::Result::Err(A::Error::duplicate_field(
3857 "multiple values for state",
3858 ));
3859 }
3860 result.state = map
3861 .next_value::<std::option::Option<
3862 crate::model::cluster::connection_state::State,
3863 >>()?
3864 .unwrap_or_default();
3865 }
3866 __FieldTag::__update_time => {
3867 if !fields.insert(__FieldTag::__update_time) {
3868 return std::result::Result::Err(A::Error::duplicate_field(
3869 "multiple values for update_time",
3870 ));
3871 }
3872 result.update_time =
3873 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
3874 }
3875 __FieldTag::Unknown(key) => {
3876 let value = map.next_value::<serde_json::Value>()?;
3877 result._unknown_fields.insert(key, value);
3878 }
3879 }
3880 }
3881 std::result::Result::Ok(result)
3882 }
3883 }
3884 deserializer.deserialize_any(Visitor)
3885 }
3886 }
3887
3888 #[doc(hidden)]
3889 impl serde::ser::Serialize for ConnectionState {
3890 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3891 where
3892 S: serde::ser::Serializer,
3893 {
3894 use serde::ser::SerializeMap;
3895 #[allow(unused_imports)]
3896 use std::option::Option::Some;
3897 let mut state = serializer.serialize_map(std::option::Option::None)?;
3898 if !wkt::internal::is_default(&self.state) {
3899 state.serialize_entry("state", &self.state)?;
3900 }
3901 if self.update_time.is_some() {
3902 state.serialize_entry("updateTime", &self.update_time)?;
3903 }
3904 if !self._unknown_fields.is_empty() {
3905 for (key, value) in self._unknown_fields.iter() {
3906 state.serialize_entry(key, &value)?;
3907 }
3908 }
3909 state.end()
3910 }
3911 }
3912
3913 impl std::fmt::Debug for ConnectionState {
3914 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3915 let mut debug_struct = f.debug_struct("ConnectionState");
3916 debug_struct.field("state", &self.state);
3917 debug_struct.field("update_time", &self.update_time);
3918 if !self._unknown_fields.is_empty() {
3919 debug_struct.field("_unknown_fields", &self._unknown_fields);
3920 }
3921 debug_struct.finish()
3922 }
3923 }
3924
3925 pub mod connection_state {
3927 #[allow(unused_imports)]
3928 use super::*;
3929
3930 #[derive(Clone, Debug, PartialEq)]
3946 #[non_exhaustive]
3947 pub enum State {
3948 Unspecified,
3950 Disconnected,
3952 Connected,
3954 ConnectedAndSyncing,
3957 UnknownValue(state::UnknownValue),
3962 }
3963
3964 #[doc(hidden)]
3965 pub mod state {
3966 #[allow(unused_imports)]
3967 use super::*;
3968 #[derive(Clone, Debug, PartialEq)]
3969 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
3970 }
3971
3972 impl State {
3973 pub fn value(&self) -> std::option::Option<i32> {
3978 match self {
3979 Self::Unspecified => std::option::Option::Some(0),
3980 Self::Disconnected => std::option::Option::Some(1),
3981 Self::Connected => std::option::Option::Some(2),
3982 Self::ConnectedAndSyncing => std::option::Option::Some(3),
3983 Self::UnknownValue(u) => u.0.value(),
3984 }
3985 }
3986
3987 pub fn name(&self) -> std::option::Option<&str> {
3992 match self {
3993 Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
3994 Self::Disconnected => std::option::Option::Some("DISCONNECTED"),
3995 Self::Connected => std::option::Option::Some("CONNECTED"),
3996 Self::ConnectedAndSyncing => std::option::Option::Some("CONNECTED_AND_SYNCING"),
3997 Self::UnknownValue(u) => u.0.name(),
3998 }
3999 }
4000 }
4001
4002 impl std::default::Default for State {
4003 fn default() -> Self {
4004 use std::convert::From;
4005 Self::from(0)
4006 }
4007 }
4008
4009 impl std::fmt::Display for State {
4010 fn fmt(
4011 &self,
4012 f: &mut std::fmt::Formatter<'_>,
4013 ) -> std::result::Result<(), std::fmt::Error> {
4014 wkt::internal::display_enum(f, self.name(), self.value())
4015 }
4016 }
4017
4018 impl std::convert::From<i32> for State {
4019 fn from(value: i32) -> Self {
4020 match value {
4021 0 => Self::Unspecified,
4022 1 => Self::Disconnected,
4023 2 => Self::Connected,
4024 3 => Self::ConnectedAndSyncing,
4025 _ => Self::UnknownValue(state::UnknownValue(
4026 wkt::internal::UnknownEnumValue::Integer(value),
4027 )),
4028 }
4029 }
4030 }
4031
4032 impl std::convert::From<&str> for State {
4033 fn from(value: &str) -> Self {
4034 use std::string::ToString;
4035 match value {
4036 "STATE_UNSPECIFIED" => Self::Unspecified,
4037 "DISCONNECTED" => Self::Disconnected,
4038 "CONNECTED" => Self::Connected,
4039 "CONNECTED_AND_SYNCING" => Self::ConnectedAndSyncing,
4040 _ => Self::UnknownValue(state::UnknownValue(
4041 wkt::internal::UnknownEnumValue::String(value.to_string()),
4042 )),
4043 }
4044 }
4045 }
4046
4047 impl serde::ser::Serialize for State {
4048 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4049 where
4050 S: serde::Serializer,
4051 {
4052 match self {
4053 Self::Unspecified => serializer.serialize_i32(0),
4054 Self::Disconnected => serializer.serialize_i32(1),
4055 Self::Connected => serializer.serialize_i32(2),
4056 Self::ConnectedAndSyncing => serializer.serialize_i32(3),
4057 Self::UnknownValue(u) => u.0.serialize(serializer),
4058 }
4059 }
4060 }
4061
4062 impl<'de> serde::de::Deserialize<'de> for State {
4063 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4064 where
4065 D: serde::Deserializer<'de>,
4066 {
4067 deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
4068 ".google.cloud.edgecontainer.v1.Cluster.ConnectionState.State",
4069 ))
4070 }
4071 }
4072 }
4073
4074 #[derive(Clone, Debug, PartialEq)]
4090 #[non_exhaustive]
4091 pub enum Status {
4092 Unspecified,
4094 Provisioning,
4096 Running,
4098 Deleting,
4100 Error,
4103 Reconciling,
4105 UnknownValue(status::UnknownValue),
4110 }
4111
4112 #[doc(hidden)]
4113 pub mod status {
4114 #[allow(unused_imports)]
4115 use super::*;
4116 #[derive(Clone, Debug, PartialEq)]
4117 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
4118 }
4119
4120 impl Status {
4121 pub fn value(&self) -> std::option::Option<i32> {
4126 match self {
4127 Self::Unspecified => std::option::Option::Some(0),
4128 Self::Provisioning => std::option::Option::Some(1),
4129 Self::Running => std::option::Option::Some(2),
4130 Self::Deleting => std::option::Option::Some(3),
4131 Self::Error => std::option::Option::Some(4),
4132 Self::Reconciling => std::option::Option::Some(5),
4133 Self::UnknownValue(u) => u.0.value(),
4134 }
4135 }
4136
4137 pub fn name(&self) -> std::option::Option<&str> {
4142 match self {
4143 Self::Unspecified => std::option::Option::Some("STATUS_UNSPECIFIED"),
4144 Self::Provisioning => std::option::Option::Some("PROVISIONING"),
4145 Self::Running => std::option::Option::Some("RUNNING"),
4146 Self::Deleting => std::option::Option::Some("DELETING"),
4147 Self::Error => std::option::Option::Some("ERROR"),
4148 Self::Reconciling => std::option::Option::Some("RECONCILING"),
4149 Self::UnknownValue(u) => u.0.name(),
4150 }
4151 }
4152 }
4153
4154 impl std::default::Default for Status {
4155 fn default() -> Self {
4156 use std::convert::From;
4157 Self::from(0)
4158 }
4159 }
4160
4161 impl std::fmt::Display for Status {
4162 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
4163 wkt::internal::display_enum(f, self.name(), self.value())
4164 }
4165 }
4166
4167 impl std::convert::From<i32> for Status {
4168 fn from(value: i32) -> Self {
4169 match value {
4170 0 => Self::Unspecified,
4171 1 => Self::Provisioning,
4172 2 => Self::Running,
4173 3 => Self::Deleting,
4174 4 => Self::Error,
4175 5 => Self::Reconciling,
4176 _ => Self::UnknownValue(status::UnknownValue(
4177 wkt::internal::UnknownEnumValue::Integer(value),
4178 )),
4179 }
4180 }
4181 }
4182
4183 impl std::convert::From<&str> for Status {
4184 fn from(value: &str) -> Self {
4185 use std::string::ToString;
4186 match value {
4187 "STATUS_UNSPECIFIED" => Self::Unspecified,
4188 "PROVISIONING" => Self::Provisioning,
4189 "RUNNING" => Self::Running,
4190 "DELETING" => Self::Deleting,
4191 "ERROR" => Self::Error,
4192 "RECONCILING" => Self::Reconciling,
4193 _ => Self::UnknownValue(status::UnknownValue(
4194 wkt::internal::UnknownEnumValue::String(value.to_string()),
4195 )),
4196 }
4197 }
4198 }
4199
4200 impl serde::ser::Serialize for Status {
4201 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4202 where
4203 S: serde::Serializer,
4204 {
4205 match self {
4206 Self::Unspecified => serializer.serialize_i32(0),
4207 Self::Provisioning => serializer.serialize_i32(1),
4208 Self::Running => serializer.serialize_i32(2),
4209 Self::Deleting => serializer.serialize_i32(3),
4210 Self::Error => serializer.serialize_i32(4),
4211 Self::Reconciling => serializer.serialize_i32(5),
4212 Self::UnknownValue(u) => u.0.serialize(serializer),
4213 }
4214 }
4215 }
4216
4217 impl<'de> serde::de::Deserialize<'de> for Status {
4218 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4219 where
4220 D: serde::Deserializer<'de>,
4221 {
4222 deserializer.deserialize_any(wkt::internal::EnumVisitor::<Status>::new(
4223 ".google.cloud.edgecontainer.v1.Cluster.Status",
4224 ))
4225 }
4226 }
4227
4228 #[derive(Clone, Debug, PartialEq)]
4244 #[non_exhaustive]
4245 pub enum ReleaseChannel {
4246 Unspecified,
4248 None,
4250 Regular,
4252 UnknownValue(release_channel::UnknownValue),
4257 }
4258
4259 #[doc(hidden)]
4260 pub mod release_channel {
4261 #[allow(unused_imports)]
4262 use super::*;
4263 #[derive(Clone, Debug, PartialEq)]
4264 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
4265 }
4266
4267 impl ReleaseChannel {
4268 pub fn value(&self) -> std::option::Option<i32> {
4273 match self {
4274 Self::Unspecified => std::option::Option::Some(0),
4275 Self::None => std::option::Option::Some(1),
4276 Self::Regular => std::option::Option::Some(2),
4277 Self::UnknownValue(u) => u.0.value(),
4278 }
4279 }
4280
4281 pub fn name(&self) -> std::option::Option<&str> {
4286 match self {
4287 Self::Unspecified => std::option::Option::Some("RELEASE_CHANNEL_UNSPECIFIED"),
4288 Self::None => std::option::Option::Some("NONE"),
4289 Self::Regular => std::option::Option::Some("REGULAR"),
4290 Self::UnknownValue(u) => u.0.name(),
4291 }
4292 }
4293 }
4294
4295 impl std::default::Default for ReleaseChannel {
4296 fn default() -> Self {
4297 use std::convert::From;
4298 Self::from(0)
4299 }
4300 }
4301
4302 impl std::fmt::Display for ReleaseChannel {
4303 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
4304 wkt::internal::display_enum(f, self.name(), self.value())
4305 }
4306 }
4307
4308 impl std::convert::From<i32> for ReleaseChannel {
4309 fn from(value: i32) -> Self {
4310 match value {
4311 0 => Self::Unspecified,
4312 1 => Self::None,
4313 2 => Self::Regular,
4314 _ => Self::UnknownValue(release_channel::UnknownValue(
4315 wkt::internal::UnknownEnumValue::Integer(value),
4316 )),
4317 }
4318 }
4319 }
4320
4321 impl std::convert::From<&str> for ReleaseChannel {
4322 fn from(value: &str) -> Self {
4323 use std::string::ToString;
4324 match value {
4325 "RELEASE_CHANNEL_UNSPECIFIED" => Self::Unspecified,
4326 "NONE" => Self::None,
4327 "REGULAR" => Self::Regular,
4328 _ => Self::UnknownValue(release_channel::UnknownValue(
4329 wkt::internal::UnknownEnumValue::String(value.to_string()),
4330 )),
4331 }
4332 }
4333 }
4334
4335 impl serde::ser::Serialize for ReleaseChannel {
4336 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4337 where
4338 S: serde::Serializer,
4339 {
4340 match self {
4341 Self::Unspecified => serializer.serialize_i32(0),
4342 Self::None => serializer.serialize_i32(1),
4343 Self::Regular => serializer.serialize_i32(2),
4344 Self::UnknownValue(u) => u.0.serialize(serializer),
4345 }
4346 }
4347 }
4348
4349 impl<'de> serde::de::Deserialize<'de> for ReleaseChannel {
4350 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4351 where
4352 D: serde::Deserializer<'de>,
4353 {
4354 deserializer.deserialize_any(wkt::internal::EnumVisitor::<ReleaseChannel>::new(
4355 ".google.cloud.edgecontainer.v1.Cluster.ReleaseChannel",
4356 ))
4357 }
4358 }
4359}
4360
4361#[derive(Clone, Default, PartialEq)]
4363#[non_exhaustive]
4364pub struct ClusterNetworking {
4365 pub cluster_ipv4_cidr_blocks: std::vec::Vec<std::string::String>,
4369
4370 pub services_ipv4_cidr_blocks: std::vec::Vec<std::string::String>,
4374
4375 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
4376}
4377
4378impl ClusterNetworking {
4379 pub fn new() -> Self {
4380 std::default::Default::default()
4381 }
4382
4383 pub fn set_cluster_ipv4_cidr_blocks<T, V>(mut self, v: T) -> Self
4385 where
4386 T: std::iter::IntoIterator<Item = V>,
4387 V: std::convert::Into<std::string::String>,
4388 {
4389 use std::iter::Iterator;
4390 self.cluster_ipv4_cidr_blocks = v.into_iter().map(|i| i.into()).collect();
4391 self
4392 }
4393
4394 pub fn set_services_ipv4_cidr_blocks<T, V>(mut self, v: T) -> Self
4396 where
4397 T: std::iter::IntoIterator<Item = V>,
4398 V: std::convert::Into<std::string::String>,
4399 {
4400 use std::iter::Iterator;
4401 self.services_ipv4_cidr_blocks = v.into_iter().map(|i| i.into()).collect();
4402 self
4403 }
4404}
4405
4406impl wkt::message::Message for ClusterNetworking {
4407 fn typename() -> &'static str {
4408 "type.googleapis.com/google.cloud.edgecontainer.v1.ClusterNetworking"
4409 }
4410}
4411
4412#[doc(hidden)]
4413impl<'de> serde::de::Deserialize<'de> for ClusterNetworking {
4414 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4415 where
4416 D: serde::Deserializer<'de>,
4417 {
4418 #[allow(non_camel_case_types)]
4419 #[doc(hidden)]
4420 #[derive(PartialEq, Eq, Hash)]
4421 enum __FieldTag {
4422 __cluster_ipv4_cidr_blocks,
4423 __services_ipv4_cidr_blocks,
4424 Unknown(std::string::String),
4425 }
4426 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
4427 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4428 where
4429 D: serde::Deserializer<'de>,
4430 {
4431 struct Visitor;
4432 impl<'de> serde::de::Visitor<'de> for Visitor {
4433 type Value = __FieldTag;
4434 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4435 formatter.write_str("a field name for ClusterNetworking")
4436 }
4437 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
4438 where
4439 E: serde::de::Error,
4440 {
4441 use std::result::Result::Ok;
4442 use std::string::ToString;
4443 match value {
4444 "clusterIpv4CidrBlocks" => Ok(__FieldTag::__cluster_ipv4_cidr_blocks),
4445 "cluster_ipv4_cidr_blocks" => {
4446 Ok(__FieldTag::__cluster_ipv4_cidr_blocks)
4447 }
4448 "servicesIpv4CidrBlocks" => Ok(__FieldTag::__services_ipv4_cidr_blocks),
4449 "services_ipv4_cidr_blocks" => {
4450 Ok(__FieldTag::__services_ipv4_cidr_blocks)
4451 }
4452 _ => Ok(__FieldTag::Unknown(value.to_string())),
4453 }
4454 }
4455 }
4456 deserializer.deserialize_identifier(Visitor)
4457 }
4458 }
4459 struct Visitor;
4460 impl<'de> serde::de::Visitor<'de> for Visitor {
4461 type Value = ClusterNetworking;
4462 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4463 formatter.write_str("struct ClusterNetworking")
4464 }
4465 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
4466 where
4467 A: serde::de::MapAccess<'de>,
4468 {
4469 #[allow(unused_imports)]
4470 use serde::de::Error;
4471 use std::option::Option::Some;
4472 let mut fields = std::collections::HashSet::new();
4473 let mut result = Self::Value::new();
4474 while let Some(tag) = map.next_key::<__FieldTag>()? {
4475 #[allow(clippy::match_single_binding)]
4476 match tag {
4477 __FieldTag::__cluster_ipv4_cidr_blocks => {
4478 if !fields.insert(__FieldTag::__cluster_ipv4_cidr_blocks) {
4479 return std::result::Result::Err(A::Error::duplicate_field(
4480 "multiple values for cluster_ipv4_cidr_blocks",
4481 ));
4482 }
4483 result.cluster_ipv4_cidr_blocks = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
4484 }
4485 __FieldTag::__services_ipv4_cidr_blocks => {
4486 if !fields.insert(__FieldTag::__services_ipv4_cidr_blocks) {
4487 return std::result::Result::Err(A::Error::duplicate_field(
4488 "multiple values for services_ipv4_cidr_blocks",
4489 ));
4490 }
4491 result.services_ipv4_cidr_blocks = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
4492 }
4493 __FieldTag::Unknown(key) => {
4494 let value = map.next_value::<serde_json::Value>()?;
4495 result._unknown_fields.insert(key, value);
4496 }
4497 }
4498 }
4499 std::result::Result::Ok(result)
4500 }
4501 }
4502 deserializer.deserialize_any(Visitor)
4503 }
4504}
4505
4506#[doc(hidden)]
4507impl serde::ser::Serialize for ClusterNetworking {
4508 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4509 where
4510 S: serde::ser::Serializer,
4511 {
4512 use serde::ser::SerializeMap;
4513 #[allow(unused_imports)]
4514 use std::option::Option::Some;
4515 let mut state = serializer.serialize_map(std::option::Option::None)?;
4516 if !self.cluster_ipv4_cidr_blocks.is_empty() {
4517 state.serialize_entry("clusterIpv4CidrBlocks", &self.cluster_ipv4_cidr_blocks)?;
4518 }
4519 if !self.services_ipv4_cidr_blocks.is_empty() {
4520 state.serialize_entry("servicesIpv4CidrBlocks", &self.services_ipv4_cidr_blocks)?;
4521 }
4522 if !self._unknown_fields.is_empty() {
4523 for (key, value) in self._unknown_fields.iter() {
4524 state.serialize_entry(key, &value)?;
4525 }
4526 }
4527 state.end()
4528 }
4529}
4530
4531impl std::fmt::Debug for ClusterNetworking {
4532 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4533 let mut debug_struct = f.debug_struct("ClusterNetworking");
4534 debug_struct.field("cluster_ipv4_cidr_blocks", &self.cluster_ipv4_cidr_blocks);
4535 debug_struct.field("services_ipv4_cidr_blocks", &self.services_ipv4_cidr_blocks);
4536 if !self._unknown_fields.is_empty() {
4537 debug_struct.field("_unknown_fields", &self._unknown_fields);
4538 }
4539 debug_struct.finish()
4540 }
4541}
4542
4543#[derive(Clone, Default, PartialEq)]
4549#[non_exhaustive]
4550pub struct Fleet {
4551 pub project: std::string::String,
4557
4558 pub membership: std::string::String,
4564
4565 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
4566}
4567
4568impl Fleet {
4569 pub fn new() -> Self {
4570 std::default::Default::default()
4571 }
4572
4573 pub fn set_project<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
4575 self.project = v.into();
4576 self
4577 }
4578
4579 pub fn set_membership<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
4581 self.membership = v.into();
4582 self
4583 }
4584}
4585
4586impl wkt::message::Message for Fleet {
4587 fn typename() -> &'static str {
4588 "type.googleapis.com/google.cloud.edgecontainer.v1.Fleet"
4589 }
4590}
4591
4592#[doc(hidden)]
4593impl<'de> serde::de::Deserialize<'de> for Fleet {
4594 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4595 where
4596 D: serde::Deserializer<'de>,
4597 {
4598 #[allow(non_camel_case_types)]
4599 #[doc(hidden)]
4600 #[derive(PartialEq, Eq, Hash)]
4601 enum __FieldTag {
4602 __project,
4603 __membership,
4604 Unknown(std::string::String),
4605 }
4606 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
4607 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4608 where
4609 D: serde::Deserializer<'de>,
4610 {
4611 struct Visitor;
4612 impl<'de> serde::de::Visitor<'de> for Visitor {
4613 type Value = __FieldTag;
4614 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4615 formatter.write_str("a field name for Fleet")
4616 }
4617 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
4618 where
4619 E: serde::de::Error,
4620 {
4621 use std::result::Result::Ok;
4622 use std::string::ToString;
4623 match value {
4624 "project" => Ok(__FieldTag::__project),
4625 "membership" => Ok(__FieldTag::__membership),
4626 _ => Ok(__FieldTag::Unknown(value.to_string())),
4627 }
4628 }
4629 }
4630 deserializer.deserialize_identifier(Visitor)
4631 }
4632 }
4633 struct Visitor;
4634 impl<'de> serde::de::Visitor<'de> for Visitor {
4635 type Value = Fleet;
4636 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4637 formatter.write_str("struct Fleet")
4638 }
4639 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
4640 where
4641 A: serde::de::MapAccess<'de>,
4642 {
4643 #[allow(unused_imports)]
4644 use serde::de::Error;
4645 use std::option::Option::Some;
4646 let mut fields = std::collections::HashSet::new();
4647 let mut result = Self::Value::new();
4648 while let Some(tag) = map.next_key::<__FieldTag>()? {
4649 #[allow(clippy::match_single_binding)]
4650 match tag {
4651 __FieldTag::__project => {
4652 if !fields.insert(__FieldTag::__project) {
4653 return std::result::Result::Err(A::Error::duplicate_field(
4654 "multiple values for project",
4655 ));
4656 }
4657 result.project = map
4658 .next_value::<std::option::Option<std::string::String>>()?
4659 .unwrap_or_default();
4660 }
4661 __FieldTag::__membership => {
4662 if !fields.insert(__FieldTag::__membership) {
4663 return std::result::Result::Err(A::Error::duplicate_field(
4664 "multiple values for membership",
4665 ));
4666 }
4667 result.membership = map
4668 .next_value::<std::option::Option<std::string::String>>()?
4669 .unwrap_or_default();
4670 }
4671 __FieldTag::Unknown(key) => {
4672 let value = map.next_value::<serde_json::Value>()?;
4673 result._unknown_fields.insert(key, value);
4674 }
4675 }
4676 }
4677 std::result::Result::Ok(result)
4678 }
4679 }
4680 deserializer.deserialize_any(Visitor)
4681 }
4682}
4683
4684#[doc(hidden)]
4685impl serde::ser::Serialize for Fleet {
4686 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4687 where
4688 S: serde::ser::Serializer,
4689 {
4690 use serde::ser::SerializeMap;
4691 #[allow(unused_imports)]
4692 use std::option::Option::Some;
4693 let mut state = serializer.serialize_map(std::option::Option::None)?;
4694 if !self.project.is_empty() {
4695 state.serialize_entry("project", &self.project)?;
4696 }
4697 if !self.membership.is_empty() {
4698 state.serialize_entry("membership", &self.membership)?;
4699 }
4700 if !self._unknown_fields.is_empty() {
4701 for (key, value) in self._unknown_fields.iter() {
4702 state.serialize_entry(key, &value)?;
4703 }
4704 }
4705 state.end()
4706 }
4707}
4708
4709impl std::fmt::Debug for Fleet {
4710 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4711 let mut debug_struct = f.debug_struct("Fleet");
4712 debug_struct.field("project", &self.project);
4713 debug_struct.field("membership", &self.membership);
4714 if !self._unknown_fields.is_empty() {
4715 debug_struct.field("_unknown_fields", &self._unknown_fields);
4716 }
4717 debug_struct.finish()
4718 }
4719}
4720
4721#[derive(Clone, Default, PartialEq)]
4723#[non_exhaustive]
4724pub struct ClusterUser {
4725 pub username: std::string::String,
4727
4728 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
4729}
4730
4731impl ClusterUser {
4732 pub fn new() -> Self {
4733 std::default::Default::default()
4734 }
4735
4736 pub fn set_username<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
4738 self.username = v.into();
4739 self
4740 }
4741}
4742
4743impl wkt::message::Message for ClusterUser {
4744 fn typename() -> &'static str {
4745 "type.googleapis.com/google.cloud.edgecontainer.v1.ClusterUser"
4746 }
4747}
4748
4749#[doc(hidden)]
4750impl<'de> serde::de::Deserialize<'de> for ClusterUser {
4751 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4752 where
4753 D: serde::Deserializer<'de>,
4754 {
4755 #[allow(non_camel_case_types)]
4756 #[doc(hidden)]
4757 #[derive(PartialEq, Eq, Hash)]
4758 enum __FieldTag {
4759 __username,
4760 Unknown(std::string::String),
4761 }
4762 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
4763 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4764 where
4765 D: serde::Deserializer<'de>,
4766 {
4767 struct Visitor;
4768 impl<'de> serde::de::Visitor<'de> for Visitor {
4769 type Value = __FieldTag;
4770 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4771 formatter.write_str("a field name for ClusterUser")
4772 }
4773 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
4774 where
4775 E: serde::de::Error,
4776 {
4777 use std::result::Result::Ok;
4778 use std::string::ToString;
4779 match value {
4780 "username" => Ok(__FieldTag::__username),
4781 _ => Ok(__FieldTag::Unknown(value.to_string())),
4782 }
4783 }
4784 }
4785 deserializer.deserialize_identifier(Visitor)
4786 }
4787 }
4788 struct Visitor;
4789 impl<'de> serde::de::Visitor<'de> for Visitor {
4790 type Value = ClusterUser;
4791 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4792 formatter.write_str("struct ClusterUser")
4793 }
4794 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
4795 where
4796 A: serde::de::MapAccess<'de>,
4797 {
4798 #[allow(unused_imports)]
4799 use serde::de::Error;
4800 use std::option::Option::Some;
4801 let mut fields = std::collections::HashSet::new();
4802 let mut result = Self::Value::new();
4803 while let Some(tag) = map.next_key::<__FieldTag>()? {
4804 #[allow(clippy::match_single_binding)]
4805 match tag {
4806 __FieldTag::__username => {
4807 if !fields.insert(__FieldTag::__username) {
4808 return std::result::Result::Err(A::Error::duplicate_field(
4809 "multiple values for username",
4810 ));
4811 }
4812 result.username = map
4813 .next_value::<std::option::Option<std::string::String>>()?
4814 .unwrap_or_default();
4815 }
4816 __FieldTag::Unknown(key) => {
4817 let value = map.next_value::<serde_json::Value>()?;
4818 result._unknown_fields.insert(key, value);
4819 }
4820 }
4821 }
4822 std::result::Result::Ok(result)
4823 }
4824 }
4825 deserializer.deserialize_any(Visitor)
4826 }
4827}
4828
4829#[doc(hidden)]
4830impl serde::ser::Serialize for ClusterUser {
4831 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4832 where
4833 S: serde::ser::Serializer,
4834 {
4835 use serde::ser::SerializeMap;
4836 #[allow(unused_imports)]
4837 use std::option::Option::Some;
4838 let mut state = serializer.serialize_map(std::option::Option::None)?;
4839 if !self.username.is_empty() {
4840 state.serialize_entry("username", &self.username)?;
4841 }
4842 if !self._unknown_fields.is_empty() {
4843 for (key, value) in self._unknown_fields.iter() {
4844 state.serialize_entry(key, &value)?;
4845 }
4846 }
4847 state.end()
4848 }
4849}
4850
4851impl std::fmt::Debug for ClusterUser {
4852 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4853 let mut debug_struct = f.debug_struct("ClusterUser");
4854 debug_struct.field("username", &self.username);
4855 if !self._unknown_fields.is_empty() {
4856 debug_struct.field("_unknown_fields", &self._unknown_fields);
4857 }
4858 debug_struct.finish()
4859 }
4860}
4861
4862#[derive(Clone, Default, PartialEq)]
4864#[non_exhaustive]
4865pub struct Authorization {
4866 pub admin_users: std::option::Option<crate::model::ClusterUser>,
4870
4871 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
4872}
4873
4874impl Authorization {
4875 pub fn new() -> Self {
4876 std::default::Default::default()
4877 }
4878
4879 pub fn set_admin_users<T>(mut self, v: T) -> Self
4881 where
4882 T: std::convert::Into<crate::model::ClusterUser>,
4883 {
4884 self.admin_users = std::option::Option::Some(v.into());
4885 self
4886 }
4887
4888 pub fn set_or_clear_admin_users<T>(mut self, v: std::option::Option<T>) -> Self
4890 where
4891 T: std::convert::Into<crate::model::ClusterUser>,
4892 {
4893 self.admin_users = v.map(|x| x.into());
4894 self
4895 }
4896}
4897
4898impl wkt::message::Message for Authorization {
4899 fn typename() -> &'static str {
4900 "type.googleapis.com/google.cloud.edgecontainer.v1.Authorization"
4901 }
4902}
4903
4904#[doc(hidden)]
4905impl<'de> serde::de::Deserialize<'de> for Authorization {
4906 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4907 where
4908 D: serde::Deserializer<'de>,
4909 {
4910 #[allow(non_camel_case_types)]
4911 #[doc(hidden)]
4912 #[derive(PartialEq, Eq, Hash)]
4913 enum __FieldTag {
4914 __admin_users,
4915 Unknown(std::string::String),
4916 }
4917 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
4918 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4919 where
4920 D: serde::Deserializer<'de>,
4921 {
4922 struct Visitor;
4923 impl<'de> serde::de::Visitor<'de> for Visitor {
4924 type Value = __FieldTag;
4925 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4926 formatter.write_str("a field name for Authorization")
4927 }
4928 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
4929 where
4930 E: serde::de::Error,
4931 {
4932 use std::result::Result::Ok;
4933 use std::string::ToString;
4934 match value {
4935 "adminUsers" => Ok(__FieldTag::__admin_users),
4936 "admin_users" => Ok(__FieldTag::__admin_users),
4937 _ => Ok(__FieldTag::Unknown(value.to_string())),
4938 }
4939 }
4940 }
4941 deserializer.deserialize_identifier(Visitor)
4942 }
4943 }
4944 struct Visitor;
4945 impl<'de> serde::de::Visitor<'de> for Visitor {
4946 type Value = Authorization;
4947 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
4948 formatter.write_str("struct Authorization")
4949 }
4950 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
4951 where
4952 A: serde::de::MapAccess<'de>,
4953 {
4954 #[allow(unused_imports)]
4955 use serde::de::Error;
4956 use std::option::Option::Some;
4957 let mut fields = std::collections::HashSet::new();
4958 let mut result = Self::Value::new();
4959 while let Some(tag) = map.next_key::<__FieldTag>()? {
4960 #[allow(clippy::match_single_binding)]
4961 match tag {
4962 __FieldTag::__admin_users => {
4963 if !fields.insert(__FieldTag::__admin_users) {
4964 return std::result::Result::Err(A::Error::duplicate_field(
4965 "multiple values for admin_users",
4966 ));
4967 }
4968 result.admin_users =
4969 map.next_value::<std::option::Option<crate::model::ClusterUser>>()?;
4970 }
4971 __FieldTag::Unknown(key) => {
4972 let value = map.next_value::<serde_json::Value>()?;
4973 result._unknown_fields.insert(key, value);
4974 }
4975 }
4976 }
4977 std::result::Result::Ok(result)
4978 }
4979 }
4980 deserializer.deserialize_any(Visitor)
4981 }
4982}
4983
4984#[doc(hidden)]
4985impl serde::ser::Serialize for Authorization {
4986 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4987 where
4988 S: serde::ser::Serializer,
4989 {
4990 use serde::ser::SerializeMap;
4991 #[allow(unused_imports)]
4992 use std::option::Option::Some;
4993 let mut state = serializer.serialize_map(std::option::Option::None)?;
4994 if self.admin_users.is_some() {
4995 state.serialize_entry("adminUsers", &self.admin_users)?;
4996 }
4997 if !self._unknown_fields.is_empty() {
4998 for (key, value) in self._unknown_fields.iter() {
4999 state.serialize_entry(key, &value)?;
5000 }
5001 }
5002 state.end()
5003 }
5004}
5005
5006impl std::fmt::Debug for Authorization {
5007 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5008 let mut debug_struct = f.debug_struct("Authorization");
5009 debug_struct.field("admin_users", &self.admin_users);
5010 if !self._unknown_fields.is_empty() {
5011 debug_struct.field("_unknown_fields", &self._unknown_fields);
5012 }
5013 debug_struct.finish()
5014 }
5015}
5016
5017#[derive(Clone, Default, PartialEq)]
5020#[non_exhaustive]
5021pub struct NodePool {
5022 pub name: std::string::String,
5024
5025 pub create_time: std::option::Option<wkt::Timestamp>,
5027
5028 pub update_time: std::option::Option<wkt::Timestamp>,
5030
5031 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
5033
5034 pub node_location: std::string::String,
5037
5038 pub node_count: i32,
5040
5041 pub machine_filter: std::string::String,
5045
5046 pub local_disk_encryption: std::option::Option<crate::model::node_pool::LocalDiskEncryption>,
5049
5050 pub node_version: std::string::String,
5052
5053 pub node_config: std::option::Option<crate::model::node_pool::NodeConfig>,
5055
5056 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
5057}
5058
5059impl NodePool {
5060 pub fn new() -> Self {
5061 std::default::Default::default()
5062 }
5063
5064 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
5066 self.name = v.into();
5067 self
5068 }
5069
5070 pub fn set_create_time<T>(mut self, v: T) -> Self
5072 where
5073 T: std::convert::Into<wkt::Timestamp>,
5074 {
5075 self.create_time = std::option::Option::Some(v.into());
5076 self
5077 }
5078
5079 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
5081 where
5082 T: std::convert::Into<wkt::Timestamp>,
5083 {
5084 self.create_time = v.map(|x| x.into());
5085 self
5086 }
5087
5088 pub fn set_update_time<T>(mut self, v: T) -> Self
5090 where
5091 T: std::convert::Into<wkt::Timestamp>,
5092 {
5093 self.update_time = std::option::Option::Some(v.into());
5094 self
5095 }
5096
5097 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
5099 where
5100 T: std::convert::Into<wkt::Timestamp>,
5101 {
5102 self.update_time = v.map(|x| x.into());
5103 self
5104 }
5105
5106 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
5108 where
5109 T: std::iter::IntoIterator<Item = (K, V)>,
5110 K: std::convert::Into<std::string::String>,
5111 V: std::convert::Into<std::string::String>,
5112 {
5113 use std::iter::Iterator;
5114 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
5115 self
5116 }
5117
5118 pub fn set_node_location<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
5120 self.node_location = v.into();
5121 self
5122 }
5123
5124 pub fn set_node_count<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
5126 self.node_count = v.into();
5127 self
5128 }
5129
5130 pub fn set_machine_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
5132 self.machine_filter = v.into();
5133 self
5134 }
5135
5136 pub fn set_local_disk_encryption<T>(mut self, v: T) -> Self
5138 where
5139 T: std::convert::Into<crate::model::node_pool::LocalDiskEncryption>,
5140 {
5141 self.local_disk_encryption = std::option::Option::Some(v.into());
5142 self
5143 }
5144
5145 pub fn set_or_clear_local_disk_encryption<T>(mut self, v: std::option::Option<T>) -> Self
5147 where
5148 T: std::convert::Into<crate::model::node_pool::LocalDiskEncryption>,
5149 {
5150 self.local_disk_encryption = v.map(|x| x.into());
5151 self
5152 }
5153
5154 pub fn set_node_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
5156 self.node_version = v.into();
5157 self
5158 }
5159
5160 pub fn set_node_config<T>(mut self, v: T) -> Self
5162 where
5163 T: std::convert::Into<crate::model::node_pool::NodeConfig>,
5164 {
5165 self.node_config = std::option::Option::Some(v.into());
5166 self
5167 }
5168
5169 pub fn set_or_clear_node_config<T>(mut self, v: std::option::Option<T>) -> Self
5171 where
5172 T: std::convert::Into<crate::model::node_pool::NodeConfig>,
5173 {
5174 self.node_config = v.map(|x| x.into());
5175 self
5176 }
5177}
5178
5179impl wkt::message::Message for NodePool {
5180 fn typename() -> &'static str {
5181 "type.googleapis.com/google.cloud.edgecontainer.v1.NodePool"
5182 }
5183}
5184
5185#[doc(hidden)]
5186impl<'de> serde::de::Deserialize<'de> for NodePool {
5187 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5188 where
5189 D: serde::Deserializer<'de>,
5190 {
5191 #[allow(non_camel_case_types)]
5192 #[doc(hidden)]
5193 #[derive(PartialEq, Eq, Hash)]
5194 enum __FieldTag {
5195 __name,
5196 __create_time,
5197 __update_time,
5198 __labels,
5199 __node_location,
5200 __node_count,
5201 __machine_filter,
5202 __local_disk_encryption,
5203 __node_version,
5204 __node_config,
5205 Unknown(std::string::String),
5206 }
5207 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
5208 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5209 where
5210 D: serde::Deserializer<'de>,
5211 {
5212 struct Visitor;
5213 impl<'de> serde::de::Visitor<'de> for Visitor {
5214 type Value = __FieldTag;
5215 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
5216 formatter.write_str("a field name for NodePool")
5217 }
5218 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
5219 where
5220 E: serde::de::Error,
5221 {
5222 use std::result::Result::Ok;
5223 use std::string::ToString;
5224 match value {
5225 "name" => Ok(__FieldTag::__name),
5226 "createTime" => Ok(__FieldTag::__create_time),
5227 "create_time" => Ok(__FieldTag::__create_time),
5228 "updateTime" => Ok(__FieldTag::__update_time),
5229 "update_time" => Ok(__FieldTag::__update_time),
5230 "labels" => Ok(__FieldTag::__labels),
5231 "nodeLocation" => Ok(__FieldTag::__node_location),
5232 "node_location" => Ok(__FieldTag::__node_location),
5233 "nodeCount" => Ok(__FieldTag::__node_count),
5234 "node_count" => Ok(__FieldTag::__node_count),
5235 "machineFilter" => Ok(__FieldTag::__machine_filter),
5236 "machine_filter" => Ok(__FieldTag::__machine_filter),
5237 "localDiskEncryption" => Ok(__FieldTag::__local_disk_encryption),
5238 "local_disk_encryption" => Ok(__FieldTag::__local_disk_encryption),
5239 "nodeVersion" => Ok(__FieldTag::__node_version),
5240 "node_version" => Ok(__FieldTag::__node_version),
5241 "nodeConfig" => Ok(__FieldTag::__node_config),
5242 "node_config" => Ok(__FieldTag::__node_config),
5243 _ => Ok(__FieldTag::Unknown(value.to_string())),
5244 }
5245 }
5246 }
5247 deserializer.deserialize_identifier(Visitor)
5248 }
5249 }
5250 struct Visitor;
5251 impl<'de> serde::de::Visitor<'de> for Visitor {
5252 type Value = NodePool;
5253 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
5254 formatter.write_str("struct NodePool")
5255 }
5256 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
5257 where
5258 A: serde::de::MapAccess<'de>,
5259 {
5260 #[allow(unused_imports)]
5261 use serde::de::Error;
5262 use std::option::Option::Some;
5263 let mut fields = std::collections::HashSet::new();
5264 let mut result = Self::Value::new();
5265 while let Some(tag) = map.next_key::<__FieldTag>()? {
5266 #[allow(clippy::match_single_binding)]
5267 match tag {
5268 __FieldTag::__name => {
5269 if !fields.insert(__FieldTag::__name) {
5270 return std::result::Result::Err(A::Error::duplicate_field(
5271 "multiple values for name",
5272 ));
5273 }
5274 result.name = map
5275 .next_value::<std::option::Option<std::string::String>>()?
5276 .unwrap_or_default();
5277 }
5278 __FieldTag::__create_time => {
5279 if !fields.insert(__FieldTag::__create_time) {
5280 return std::result::Result::Err(A::Error::duplicate_field(
5281 "multiple values for create_time",
5282 ));
5283 }
5284 result.create_time =
5285 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
5286 }
5287 __FieldTag::__update_time => {
5288 if !fields.insert(__FieldTag::__update_time) {
5289 return std::result::Result::Err(A::Error::duplicate_field(
5290 "multiple values for update_time",
5291 ));
5292 }
5293 result.update_time =
5294 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
5295 }
5296 __FieldTag::__labels => {
5297 if !fields.insert(__FieldTag::__labels) {
5298 return std::result::Result::Err(A::Error::duplicate_field(
5299 "multiple values for labels",
5300 ));
5301 }
5302 result.labels = map
5303 .next_value::<std::option::Option<
5304 std::collections::HashMap<
5305 std::string::String,
5306 std::string::String,
5307 >,
5308 >>()?
5309 .unwrap_or_default();
5310 }
5311 __FieldTag::__node_location => {
5312 if !fields.insert(__FieldTag::__node_location) {
5313 return std::result::Result::Err(A::Error::duplicate_field(
5314 "multiple values for node_location",
5315 ));
5316 }
5317 result.node_location = map
5318 .next_value::<std::option::Option<std::string::String>>()?
5319 .unwrap_or_default();
5320 }
5321 __FieldTag::__node_count => {
5322 if !fields.insert(__FieldTag::__node_count) {
5323 return std::result::Result::Err(A::Error::duplicate_field(
5324 "multiple values for node_count",
5325 ));
5326 }
5327 struct __With(std::option::Option<i32>);
5328 impl<'de> serde::de::Deserialize<'de> for __With {
5329 fn deserialize<D>(
5330 deserializer: D,
5331 ) -> std::result::Result<Self, D::Error>
5332 where
5333 D: serde::de::Deserializer<'de>,
5334 {
5335 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
5336 }
5337 }
5338 result.node_count = map.next_value::<__With>()?.0.unwrap_or_default();
5339 }
5340 __FieldTag::__machine_filter => {
5341 if !fields.insert(__FieldTag::__machine_filter) {
5342 return std::result::Result::Err(A::Error::duplicate_field(
5343 "multiple values for machine_filter",
5344 ));
5345 }
5346 result.machine_filter = map
5347 .next_value::<std::option::Option<std::string::String>>()?
5348 .unwrap_or_default();
5349 }
5350 __FieldTag::__local_disk_encryption => {
5351 if !fields.insert(__FieldTag::__local_disk_encryption) {
5352 return std::result::Result::Err(A::Error::duplicate_field(
5353 "multiple values for local_disk_encryption",
5354 ));
5355 }
5356 result.local_disk_encryption =
5357 map.next_value::<std::option::Option<
5358 crate::model::node_pool::LocalDiskEncryption,
5359 >>()?;
5360 }
5361 __FieldTag::__node_version => {
5362 if !fields.insert(__FieldTag::__node_version) {
5363 return std::result::Result::Err(A::Error::duplicate_field(
5364 "multiple values for node_version",
5365 ));
5366 }
5367 result.node_version = map
5368 .next_value::<std::option::Option<std::string::String>>()?
5369 .unwrap_or_default();
5370 }
5371 __FieldTag::__node_config => {
5372 if !fields.insert(__FieldTag::__node_config) {
5373 return std::result::Result::Err(A::Error::duplicate_field(
5374 "multiple values for node_config",
5375 ));
5376 }
5377 result.node_config = map.next_value::<std::option::Option<crate::model::node_pool::NodeConfig>>()?
5378 ;
5379 }
5380 __FieldTag::Unknown(key) => {
5381 let value = map.next_value::<serde_json::Value>()?;
5382 result._unknown_fields.insert(key, value);
5383 }
5384 }
5385 }
5386 std::result::Result::Ok(result)
5387 }
5388 }
5389 deserializer.deserialize_any(Visitor)
5390 }
5391}
5392
5393#[doc(hidden)]
5394impl serde::ser::Serialize for NodePool {
5395 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5396 where
5397 S: serde::ser::Serializer,
5398 {
5399 use serde::ser::SerializeMap;
5400 #[allow(unused_imports)]
5401 use std::option::Option::Some;
5402 let mut state = serializer.serialize_map(std::option::Option::None)?;
5403 if !self.name.is_empty() {
5404 state.serialize_entry("name", &self.name)?;
5405 }
5406 if self.create_time.is_some() {
5407 state.serialize_entry("createTime", &self.create_time)?;
5408 }
5409 if self.update_time.is_some() {
5410 state.serialize_entry("updateTime", &self.update_time)?;
5411 }
5412 if !self.labels.is_empty() {
5413 state.serialize_entry("labels", &self.labels)?;
5414 }
5415 if !self.node_location.is_empty() {
5416 state.serialize_entry("nodeLocation", &self.node_location)?;
5417 }
5418 if !wkt::internal::is_default(&self.node_count) {
5419 struct __With<'a>(&'a i32);
5420 impl<'a> serde::ser::Serialize for __With<'a> {
5421 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5422 where
5423 S: serde::ser::Serializer,
5424 {
5425 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
5426 }
5427 }
5428 state.serialize_entry("nodeCount", &__With(&self.node_count))?;
5429 }
5430 if !self.machine_filter.is_empty() {
5431 state.serialize_entry("machineFilter", &self.machine_filter)?;
5432 }
5433 if self.local_disk_encryption.is_some() {
5434 state.serialize_entry("localDiskEncryption", &self.local_disk_encryption)?;
5435 }
5436 if !self.node_version.is_empty() {
5437 state.serialize_entry("nodeVersion", &self.node_version)?;
5438 }
5439 if self.node_config.is_some() {
5440 state.serialize_entry("nodeConfig", &self.node_config)?;
5441 }
5442 if !self._unknown_fields.is_empty() {
5443 for (key, value) in self._unknown_fields.iter() {
5444 state.serialize_entry(key, &value)?;
5445 }
5446 }
5447 state.end()
5448 }
5449}
5450
5451impl std::fmt::Debug for NodePool {
5452 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5453 let mut debug_struct = f.debug_struct("NodePool");
5454 debug_struct.field("name", &self.name);
5455 debug_struct.field("create_time", &self.create_time);
5456 debug_struct.field("update_time", &self.update_time);
5457 debug_struct.field("labels", &self.labels);
5458 debug_struct.field("node_location", &self.node_location);
5459 debug_struct.field("node_count", &self.node_count);
5460 debug_struct.field("machine_filter", &self.machine_filter);
5461 debug_struct.field("local_disk_encryption", &self.local_disk_encryption);
5462 debug_struct.field("node_version", &self.node_version);
5463 debug_struct.field("node_config", &self.node_config);
5464 if !self._unknown_fields.is_empty() {
5465 debug_struct.field("_unknown_fields", &self._unknown_fields);
5466 }
5467 debug_struct.finish()
5468 }
5469}
5470
5471pub mod node_pool {
5473 #[allow(unused_imports)]
5474 use super::*;
5475
5476 #[derive(Clone, Default, PartialEq)]
5478 #[non_exhaustive]
5479 pub struct LocalDiskEncryption {
5480 pub kms_key: std::string::String,
5485
5486 pub kms_key_active_version: std::string::String,
5489
5490 pub kms_key_state: crate::model::KmsKeyState,
5495
5496 pub kms_status: std::option::Option<rpc::model::Status>,
5501
5502 pub resource_state: crate::model::ResourceState,
5504
5505 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
5506 }
5507
5508 impl LocalDiskEncryption {
5509 pub fn new() -> Self {
5510 std::default::Default::default()
5511 }
5512
5513 pub fn set_kms_key<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
5515 self.kms_key = v.into();
5516 self
5517 }
5518
5519 pub fn set_kms_key_active_version<T: std::convert::Into<std::string::String>>(
5521 mut self,
5522 v: T,
5523 ) -> Self {
5524 self.kms_key_active_version = v.into();
5525 self
5526 }
5527
5528 pub fn set_kms_key_state<T: std::convert::Into<crate::model::KmsKeyState>>(
5530 mut self,
5531 v: T,
5532 ) -> Self {
5533 self.kms_key_state = v.into();
5534 self
5535 }
5536
5537 pub fn set_kms_status<T>(mut self, v: T) -> Self
5539 where
5540 T: std::convert::Into<rpc::model::Status>,
5541 {
5542 self.kms_status = std::option::Option::Some(v.into());
5543 self
5544 }
5545
5546 pub fn set_or_clear_kms_status<T>(mut self, v: std::option::Option<T>) -> Self
5548 where
5549 T: std::convert::Into<rpc::model::Status>,
5550 {
5551 self.kms_status = v.map(|x| x.into());
5552 self
5553 }
5554
5555 pub fn set_resource_state<T: std::convert::Into<crate::model::ResourceState>>(
5557 mut self,
5558 v: T,
5559 ) -> Self {
5560 self.resource_state = v.into();
5561 self
5562 }
5563 }
5564
5565 impl wkt::message::Message for LocalDiskEncryption {
5566 fn typename() -> &'static str {
5567 "type.googleapis.com/google.cloud.edgecontainer.v1.NodePool.LocalDiskEncryption"
5568 }
5569 }
5570
5571 #[doc(hidden)]
5572 impl<'de> serde::de::Deserialize<'de> for LocalDiskEncryption {
5573 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5574 where
5575 D: serde::Deserializer<'de>,
5576 {
5577 #[allow(non_camel_case_types)]
5578 #[doc(hidden)]
5579 #[derive(PartialEq, Eq, Hash)]
5580 enum __FieldTag {
5581 __kms_key,
5582 __kms_key_active_version,
5583 __kms_key_state,
5584 __kms_status,
5585 __resource_state,
5586 Unknown(std::string::String),
5587 }
5588 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
5589 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5590 where
5591 D: serde::Deserializer<'de>,
5592 {
5593 struct Visitor;
5594 impl<'de> serde::de::Visitor<'de> for Visitor {
5595 type Value = __FieldTag;
5596 fn expecting(
5597 &self,
5598 formatter: &mut std::fmt::Formatter,
5599 ) -> std::fmt::Result {
5600 formatter.write_str("a field name for LocalDiskEncryption")
5601 }
5602 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
5603 where
5604 E: serde::de::Error,
5605 {
5606 use std::result::Result::Ok;
5607 use std::string::ToString;
5608 match value {
5609 "kmsKey" => Ok(__FieldTag::__kms_key),
5610 "kms_key" => Ok(__FieldTag::__kms_key),
5611 "kmsKeyActiveVersion" => Ok(__FieldTag::__kms_key_active_version),
5612 "kms_key_active_version" => {
5613 Ok(__FieldTag::__kms_key_active_version)
5614 }
5615 "kmsKeyState" => Ok(__FieldTag::__kms_key_state),
5616 "kms_key_state" => Ok(__FieldTag::__kms_key_state),
5617 "kmsStatus" => Ok(__FieldTag::__kms_status),
5618 "kms_status" => Ok(__FieldTag::__kms_status),
5619 "resourceState" => Ok(__FieldTag::__resource_state),
5620 "resource_state" => Ok(__FieldTag::__resource_state),
5621 _ => Ok(__FieldTag::Unknown(value.to_string())),
5622 }
5623 }
5624 }
5625 deserializer.deserialize_identifier(Visitor)
5626 }
5627 }
5628 struct Visitor;
5629 impl<'de> serde::de::Visitor<'de> for Visitor {
5630 type Value = LocalDiskEncryption;
5631 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
5632 formatter.write_str("struct LocalDiskEncryption")
5633 }
5634 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
5635 where
5636 A: serde::de::MapAccess<'de>,
5637 {
5638 #[allow(unused_imports)]
5639 use serde::de::Error;
5640 use std::option::Option::Some;
5641 let mut fields = std::collections::HashSet::new();
5642 let mut result = Self::Value::new();
5643 while let Some(tag) = map.next_key::<__FieldTag>()? {
5644 #[allow(clippy::match_single_binding)]
5645 match tag {
5646 __FieldTag::__kms_key => {
5647 if !fields.insert(__FieldTag::__kms_key) {
5648 return std::result::Result::Err(A::Error::duplicate_field(
5649 "multiple values for kms_key",
5650 ));
5651 }
5652 result.kms_key = map
5653 .next_value::<std::option::Option<std::string::String>>()?
5654 .unwrap_or_default();
5655 }
5656 __FieldTag::__kms_key_active_version => {
5657 if !fields.insert(__FieldTag::__kms_key_active_version) {
5658 return std::result::Result::Err(A::Error::duplicate_field(
5659 "multiple values for kms_key_active_version",
5660 ));
5661 }
5662 result.kms_key_active_version = map
5663 .next_value::<std::option::Option<std::string::String>>()?
5664 .unwrap_or_default();
5665 }
5666 __FieldTag::__kms_key_state => {
5667 if !fields.insert(__FieldTag::__kms_key_state) {
5668 return std::result::Result::Err(A::Error::duplicate_field(
5669 "multiple values for kms_key_state",
5670 ));
5671 }
5672 result.kms_key_state = map
5673 .next_value::<std::option::Option<crate::model::KmsKeyState>>()?
5674 .unwrap_or_default();
5675 }
5676 __FieldTag::__kms_status => {
5677 if !fields.insert(__FieldTag::__kms_status) {
5678 return std::result::Result::Err(A::Error::duplicate_field(
5679 "multiple values for kms_status",
5680 ));
5681 }
5682 result.kms_status =
5683 map.next_value::<std::option::Option<rpc::model::Status>>()?;
5684 }
5685 __FieldTag::__resource_state => {
5686 if !fields.insert(__FieldTag::__resource_state) {
5687 return std::result::Result::Err(A::Error::duplicate_field(
5688 "multiple values for resource_state",
5689 ));
5690 }
5691 result.resource_state = map
5692 .next_value::<std::option::Option<crate::model::ResourceState>>(
5693 )?
5694 .unwrap_or_default();
5695 }
5696 __FieldTag::Unknown(key) => {
5697 let value = map.next_value::<serde_json::Value>()?;
5698 result._unknown_fields.insert(key, value);
5699 }
5700 }
5701 }
5702 std::result::Result::Ok(result)
5703 }
5704 }
5705 deserializer.deserialize_any(Visitor)
5706 }
5707 }
5708
5709 #[doc(hidden)]
5710 impl serde::ser::Serialize for LocalDiskEncryption {
5711 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5712 where
5713 S: serde::ser::Serializer,
5714 {
5715 use serde::ser::SerializeMap;
5716 #[allow(unused_imports)]
5717 use std::option::Option::Some;
5718 let mut state = serializer.serialize_map(std::option::Option::None)?;
5719 if !self.kms_key.is_empty() {
5720 state.serialize_entry("kmsKey", &self.kms_key)?;
5721 }
5722 if !self.kms_key_active_version.is_empty() {
5723 state.serialize_entry("kmsKeyActiveVersion", &self.kms_key_active_version)?;
5724 }
5725 if !wkt::internal::is_default(&self.kms_key_state) {
5726 state.serialize_entry("kmsKeyState", &self.kms_key_state)?;
5727 }
5728 if self.kms_status.is_some() {
5729 state.serialize_entry("kmsStatus", &self.kms_status)?;
5730 }
5731 if !wkt::internal::is_default(&self.resource_state) {
5732 state.serialize_entry("resourceState", &self.resource_state)?;
5733 }
5734 if !self._unknown_fields.is_empty() {
5735 for (key, value) in self._unknown_fields.iter() {
5736 state.serialize_entry(key, &value)?;
5737 }
5738 }
5739 state.end()
5740 }
5741 }
5742
5743 impl std::fmt::Debug for LocalDiskEncryption {
5744 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5745 let mut debug_struct = f.debug_struct("LocalDiskEncryption");
5746 debug_struct.field("kms_key", &self.kms_key);
5747 debug_struct.field("kms_key_active_version", &self.kms_key_active_version);
5748 debug_struct.field("kms_key_state", &self.kms_key_state);
5749 debug_struct.field("kms_status", &self.kms_status);
5750 debug_struct.field("resource_state", &self.resource_state);
5751 if !self._unknown_fields.is_empty() {
5752 debug_struct.field("_unknown_fields", &self._unknown_fields);
5753 }
5754 debug_struct.finish()
5755 }
5756 }
5757
5758 #[derive(Clone, Default, PartialEq)]
5760 #[non_exhaustive]
5761 pub struct NodeConfig {
5762 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
5764
5765 pub node_storage_schema: std::string::String,
5771
5772 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
5773 }
5774
5775 impl NodeConfig {
5776 pub fn new() -> Self {
5777 std::default::Default::default()
5778 }
5779
5780 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
5782 where
5783 T: std::iter::IntoIterator<Item = (K, V)>,
5784 K: std::convert::Into<std::string::String>,
5785 V: std::convert::Into<std::string::String>,
5786 {
5787 use std::iter::Iterator;
5788 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
5789 self
5790 }
5791
5792 pub fn set_node_storage_schema<T: std::convert::Into<std::string::String>>(
5794 mut self,
5795 v: T,
5796 ) -> Self {
5797 self.node_storage_schema = v.into();
5798 self
5799 }
5800 }
5801
5802 impl wkt::message::Message for NodeConfig {
5803 fn typename() -> &'static str {
5804 "type.googleapis.com/google.cloud.edgecontainer.v1.NodePool.NodeConfig"
5805 }
5806 }
5807
5808 #[doc(hidden)]
5809 impl<'de> serde::de::Deserialize<'de> for NodeConfig {
5810 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5811 where
5812 D: serde::Deserializer<'de>,
5813 {
5814 #[allow(non_camel_case_types)]
5815 #[doc(hidden)]
5816 #[derive(PartialEq, Eq, Hash)]
5817 enum __FieldTag {
5818 __labels,
5819 __node_storage_schema,
5820 Unknown(std::string::String),
5821 }
5822 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
5823 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5824 where
5825 D: serde::Deserializer<'de>,
5826 {
5827 struct Visitor;
5828 impl<'de> serde::de::Visitor<'de> for Visitor {
5829 type Value = __FieldTag;
5830 fn expecting(
5831 &self,
5832 formatter: &mut std::fmt::Formatter,
5833 ) -> std::fmt::Result {
5834 formatter.write_str("a field name for NodeConfig")
5835 }
5836 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
5837 where
5838 E: serde::de::Error,
5839 {
5840 use std::result::Result::Ok;
5841 use std::string::ToString;
5842 match value {
5843 "labels" => Ok(__FieldTag::__labels),
5844 "nodeStorageSchema" => Ok(__FieldTag::__node_storage_schema),
5845 "node_storage_schema" => Ok(__FieldTag::__node_storage_schema),
5846 _ => Ok(__FieldTag::Unknown(value.to_string())),
5847 }
5848 }
5849 }
5850 deserializer.deserialize_identifier(Visitor)
5851 }
5852 }
5853 struct Visitor;
5854 impl<'de> serde::de::Visitor<'de> for Visitor {
5855 type Value = NodeConfig;
5856 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
5857 formatter.write_str("struct NodeConfig")
5858 }
5859 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
5860 where
5861 A: serde::de::MapAccess<'de>,
5862 {
5863 #[allow(unused_imports)]
5864 use serde::de::Error;
5865 use std::option::Option::Some;
5866 let mut fields = std::collections::HashSet::new();
5867 let mut result = Self::Value::new();
5868 while let Some(tag) = map.next_key::<__FieldTag>()? {
5869 #[allow(clippy::match_single_binding)]
5870 match tag {
5871 __FieldTag::__labels => {
5872 if !fields.insert(__FieldTag::__labels) {
5873 return std::result::Result::Err(A::Error::duplicate_field(
5874 "multiple values for labels",
5875 ));
5876 }
5877 result.labels = map
5878 .next_value::<std::option::Option<
5879 std::collections::HashMap<
5880 std::string::String,
5881 std::string::String,
5882 >,
5883 >>()?
5884 .unwrap_or_default();
5885 }
5886 __FieldTag::__node_storage_schema => {
5887 if !fields.insert(__FieldTag::__node_storage_schema) {
5888 return std::result::Result::Err(A::Error::duplicate_field(
5889 "multiple values for node_storage_schema",
5890 ));
5891 }
5892 result.node_storage_schema = map
5893 .next_value::<std::option::Option<std::string::String>>()?
5894 .unwrap_or_default();
5895 }
5896 __FieldTag::Unknown(key) => {
5897 let value = map.next_value::<serde_json::Value>()?;
5898 result._unknown_fields.insert(key, value);
5899 }
5900 }
5901 }
5902 std::result::Result::Ok(result)
5903 }
5904 }
5905 deserializer.deserialize_any(Visitor)
5906 }
5907 }
5908
5909 #[doc(hidden)]
5910 impl serde::ser::Serialize for NodeConfig {
5911 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5912 where
5913 S: serde::ser::Serializer,
5914 {
5915 use serde::ser::SerializeMap;
5916 #[allow(unused_imports)]
5917 use std::option::Option::Some;
5918 let mut state = serializer.serialize_map(std::option::Option::None)?;
5919 if !self.labels.is_empty() {
5920 state.serialize_entry("labels", &self.labels)?;
5921 }
5922 if !self.node_storage_schema.is_empty() {
5923 state.serialize_entry("nodeStorageSchema", &self.node_storage_schema)?;
5924 }
5925 if !self._unknown_fields.is_empty() {
5926 for (key, value) in self._unknown_fields.iter() {
5927 state.serialize_entry(key, &value)?;
5928 }
5929 }
5930 state.end()
5931 }
5932 }
5933
5934 impl std::fmt::Debug for NodeConfig {
5935 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5936 let mut debug_struct = f.debug_struct("NodeConfig");
5937 debug_struct.field("labels", &self.labels);
5938 debug_struct.field("node_storage_schema", &self.node_storage_schema);
5939 if !self._unknown_fields.is_empty() {
5940 debug_struct.field("_unknown_fields", &self._unknown_fields);
5941 }
5942 debug_struct.finish()
5943 }
5944 }
5945}
5946
5947#[derive(Clone, Default, PartialEq)]
5950#[non_exhaustive]
5951pub struct Machine {
5952 pub name: std::string::String,
5954
5955 pub create_time: std::option::Option<wkt::Timestamp>,
5957
5958 pub update_time: std::option::Option<wkt::Timestamp>,
5960
5961 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
5963
5964 pub hosted_node: std::string::String,
5973
5974 pub zone: std::string::String,
5976
5977 pub version: std::string::String,
5979
5980 pub disabled: bool,
5983
5984 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
5985}
5986
5987impl Machine {
5988 pub fn new() -> Self {
5989 std::default::Default::default()
5990 }
5991
5992 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
5994 self.name = v.into();
5995 self
5996 }
5997
5998 pub fn set_create_time<T>(mut self, v: T) -> Self
6000 where
6001 T: std::convert::Into<wkt::Timestamp>,
6002 {
6003 self.create_time = std::option::Option::Some(v.into());
6004 self
6005 }
6006
6007 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
6009 where
6010 T: std::convert::Into<wkt::Timestamp>,
6011 {
6012 self.create_time = v.map(|x| x.into());
6013 self
6014 }
6015
6016 pub fn set_update_time<T>(mut self, v: T) -> Self
6018 where
6019 T: std::convert::Into<wkt::Timestamp>,
6020 {
6021 self.update_time = std::option::Option::Some(v.into());
6022 self
6023 }
6024
6025 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
6027 where
6028 T: std::convert::Into<wkt::Timestamp>,
6029 {
6030 self.update_time = v.map(|x| x.into());
6031 self
6032 }
6033
6034 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
6036 where
6037 T: std::iter::IntoIterator<Item = (K, V)>,
6038 K: std::convert::Into<std::string::String>,
6039 V: std::convert::Into<std::string::String>,
6040 {
6041 use std::iter::Iterator;
6042 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
6043 self
6044 }
6045
6046 pub fn set_hosted_node<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6048 self.hosted_node = v.into();
6049 self
6050 }
6051
6052 pub fn set_zone<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6054 self.zone = v.into();
6055 self
6056 }
6057
6058 pub fn set_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6060 self.version = v.into();
6061 self
6062 }
6063
6064 pub fn set_disabled<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
6066 self.disabled = v.into();
6067 self
6068 }
6069}
6070
6071impl wkt::message::Message for Machine {
6072 fn typename() -> &'static str {
6073 "type.googleapis.com/google.cloud.edgecontainer.v1.Machine"
6074 }
6075}
6076
6077#[doc(hidden)]
6078impl<'de> serde::de::Deserialize<'de> for Machine {
6079 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6080 where
6081 D: serde::Deserializer<'de>,
6082 {
6083 #[allow(non_camel_case_types)]
6084 #[doc(hidden)]
6085 #[derive(PartialEq, Eq, Hash)]
6086 enum __FieldTag {
6087 __name,
6088 __create_time,
6089 __update_time,
6090 __labels,
6091 __hosted_node,
6092 __zone,
6093 __version,
6094 __disabled,
6095 Unknown(std::string::String),
6096 }
6097 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
6098 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6099 where
6100 D: serde::Deserializer<'de>,
6101 {
6102 struct Visitor;
6103 impl<'de> serde::de::Visitor<'de> for Visitor {
6104 type Value = __FieldTag;
6105 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
6106 formatter.write_str("a field name for Machine")
6107 }
6108 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
6109 where
6110 E: serde::de::Error,
6111 {
6112 use std::result::Result::Ok;
6113 use std::string::ToString;
6114 match value {
6115 "name" => Ok(__FieldTag::__name),
6116 "createTime" => Ok(__FieldTag::__create_time),
6117 "create_time" => Ok(__FieldTag::__create_time),
6118 "updateTime" => Ok(__FieldTag::__update_time),
6119 "update_time" => Ok(__FieldTag::__update_time),
6120 "labels" => Ok(__FieldTag::__labels),
6121 "hostedNode" => Ok(__FieldTag::__hosted_node),
6122 "hosted_node" => Ok(__FieldTag::__hosted_node),
6123 "zone" => Ok(__FieldTag::__zone),
6124 "version" => Ok(__FieldTag::__version),
6125 "disabled" => Ok(__FieldTag::__disabled),
6126 _ => Ok(__FieldTag::Unknown(value.to_string())),
6127 }
6128 }
6129 }
6130 deserializer.deserialize_identifier(Visitor)
6131 }
6132 }
6133 struct Visitor;
6134 impl<'de> serde::de::Visitor<'de> for Visitor {
6135 type Value = Machine;
6136 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
6137 formatter.write_str("struct Machine")
6138 }
6139 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
6140 where
6141 A: serde::de::MapAccess<'de>,
6142 {
6143 #[allow(unused_imports)]
6144 use serde::de::Error;
6145 use std::option::Option::Some;
6146 let mut fields = std::collections::HashSet::new();
6147 let mut result = Self::Value::new();
6148 while let Some(tag) = map.next_key::<__FieldTag>()? {
6149 #[allow(clippy::match_single_binding)]
6150 match tag {
6151 __FieldTag::__name => {
6152 if !fields.insert(__FieldTag::__name) {
6153 return std::result::Result::Err(A::Error::duplicate_field(
6154 "multiple values for name",
6155 ));
6156 }
6157 result.name = map
6158 .next_value::<std::option::Option<std::string::String>>()?
6159 .unwrap_or_default();
6160 }
6161 __FieldTag::__create_time => {
6162 if !fields.insert(__FieldTag::__create_time) {
6163 return std::result::Result::Err(A::Error::duplicate_field(
6164 "multiple values for create_time",
6165 ));
6166 }
6167 result.create_time =
6168 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
6169 }
6170 __FieldTag::__update_time => {
6171 if !fields.insert(__FieldTag::__update_time) {
6172 return std::result::Result::Err(A::Error::duplicate_field(
6173 "multiple values for update_time",
6174 ));
6175 }
6176 result.update_time =
6177 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
6178 }
6179 __FieldTag::__labels => {
6180 if !fields.insert(__FieldTag::__labels) {
6181 return std::result::Result::Err(A::Error::duplicate_field(
6182 "multiple values for labels",
6183 ));
6184 }
6185 result.labels = map
6186 .next_value::<std::option::Option<
6187 std::collections::HashMap<
6188 std::string::String,
6189 std::string::String,
6190 >,
6191 >>()?
6192 .unwrap_or_default();
6193 }
6194 __FieldTag::__hosted_node => {
6195 if !fields.insert(__FieldTag::__hosted_node) {
6196 return std::result::Result::Err(A::Error::duplicate_field(
6197 "multiple values for hosted_node",
6198 ));
6199 }
6200 result.hosted_node = map
6201 .next_value::<std::option::Option<std::string::String>>()?
6202 .unwrap_or_default();
6203 }
6204 __FieldTag::__zone => {
6205 if !fields.insert(__FieldTag::__zone) {
6206 return std::result::Result::Err(A::Error::duplicate_field(
6207 "multiple values for zone",
6208 ));
6209 }
6210 result.zone = map
6211 .next_value::<std::option::Option<std::string::String>>()?
6212 .unwrap_or_default();
6213 }
6214 __FieldTag::__version => {
6215 if !fields.insert(__FieldTag::__version) {
6216 return std::result::Result::Err(A::Error::duplicate_field(
6217 "multiple values for version",
6218 ));
6219 }
6220 result.version = map
6221 .next_value::<std::option::Option<std::string::String>>()?
6222 .unwrap_or_default();
6223 }
6224 __FieldTag::__disabled => {
6225 if !fields.insert(__FieldTag::__disabled) {
6226 return std::result::Result::Err(A::Error::duplicate_field(
6227 "multiple values for disabled",
6228 ));
6229 }
6230 result.disabled = map
6231 .next_value::<std::option::Option<bool>>()?
6232 .unwrap_or_default();
6233 }
6234 __FieldTag::Unknown(key) => {
6235 let value = map.next_value::<serde_json::Value>()?;
6236 result._unknown_fields.insert(key, value);
6237 }
6238 }
6239 }
6240 std::result::Result::Ok(result)
6241 }
6242 }
6243 deserializer.deserialize_any(Visitor)
6244 }
6245}
6246
6247#[doc(hidden)]
6248impl serde::ser::Serialize for Machine {
6249 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6250 where
6251 S: serde::ser::Serializer,
6252 {
6253 use serde::ser::SerializeMap;
6254 #[allow(unused_imports)]
6255 use std::option::Option::Some;
6256 let mut state = serializer.serialize_map(std::option::Option::None)?;
6257 if !self.name.is_empty() {
6258 state.serialize_entry("name", &self.name)?;
6259 }
6260 if self.create_time.is_some() {
6261 state.serialize_entry("createTime", &self.create_time)?;
6262 }
6263 if self.update_time.is_some() {
6264 state.serialize_entry("updateTime", &self.update_time)?;
6265 }
6266 if !self.labels.is_empty() {
6267 state.serialize_entry("labels", &self.labels)?;
6268 }
6269 if !self.hosted_node.is_empty() {
6270 state.serialize_entry("hostedNode", &self.hosted_node)?;
6271 }
6272 if !self.zone.is_empty() {
6273 state.serialize_entry("zone", &self.zone)?;
6274 }
6275 if !self.version.is_empty() {
6276 state.serialize_entry("version", &self.version)?;
6277 }
6278 if !wkt::internal::is_default(&self.disabled) {
6279 state.serialize_entry("disabled", &self.disabled)?;
6280 }
6281 if !self._unknown_fields.is_empty() {
6282 for (key, value) in self._unknown_fields.iter() {
6283 state.serialize_entry(key, &value)?;
6284 }
6285 }
6286 state.end()
6287 }
6288}
6289
6290impl std::fmt::Debug for Machine {
6291 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6292 let mut debug_struct = f.debug_struct("Machine");
6293 debug_struct.field("name", &self.name);
6294 debug_struct.field("create_time", &self.create_time);
6295 debug_struct.field("update_time", &self.update_time);
6296 debug_struct.field("labels", &self.labels);
6297 debug_struct.field("hosted_node", &self.hosted_node);
6298 debug_struct.field("zone", &self.zone);
6299 debug_struct.field("version", &self.version);
6300 debug_struct.field("disabled", &self.disabled);
6301 if !self._unknown_fields.is_empty() {
6302 debug_struct.field("_unknown_fields", &self._unknown_fields);
6303 }
6304 debug_struct.finish()
6305 }
6306}
6307
6308#[derive(Clone, Default, PartialEq)]
6310#[non_exhaustive]
6311pub struct VpnConnection {
6312 pub name: std::string::String,
6314
6315 pub create_time: std::option::Option<wkt::Timestamp>,
6317
6318 pub update_time: std::option::Option<wkt::Timestamp>,
6320
6321 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
6323
6324 pub nat_gateway_ip: std::string::String,
6328
6329 #[deprecated]
6331 pub bgp_routing_mode: crate::model::vpn_connection::BgpRoutingMode,
6332
6333 pub cluster: std::string::String,
6336
6337 pub vpc: std::string::String,
6339
6340 pub vpc_project: std::option::Option<crate::model::vpn_connection::VpcProject>,
6343
6344 pub enable_high_availability: bool,
6347
6348 pub router: std::string::String,
6350
6351 pub details: std::option::Option<crate::model::vpn_connection::Details>,
6353
6354 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
6355}
6356
6357impl VpnConnection {
6358 pub fn new() -> Self {
6359 std::default::Default::default()
6360 }
6361
6362 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6364 self.name = v.into();
6365 self
6366 }
6367
6368 pub fn set_create_time<T>(mut self, v: T) -> Self
6370 where
6371 T: std::convert::Into<wkt::Timestamp>,
6372 {
6373 self.create_time = std::option::Option::Some(v.into());
6374 self
6375 }
6376
6377 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
6379 where
6380 T: std::convert::Into<wkt::Timestamp>,
6381 {
6382 self.create_time = v.map(|x| x.into());
6383 self
6384 }
6385
6386 pub fn set_update_time<T>(mut self, v: T) -> Self
6388 where
6389 T: std::convert::Into<wkt::Timestamp>,
6390 {
6391 self.update_time = std::option::Option::Some(v.into());
6392 self
6393 }
6394
6395 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
6397 where
6398 T: std::convert::Into<wkt::Timestamp>,
6399 {
6400 self.update_time = v.map(|x| x.into());
6401 self
6402 }
6403
6404 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
6406 where
6407 T: std::iter::IntoIterator<Item = (K, V)>,
6408 K: std::convert::Into<std::string::String>,
6409 V: std::convert::Into<std::string::String>,
6410 {
6411 use std::iter::Iterator;
6412 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
6413 self
6414 }
6415
6416 pub fn set_nat_gateway_ip<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6418 self.nat_gateway_ip = v.into();
6419 self
6420 }
6421
6422 #[deprecated]
6424 pub fn set_bgp_routing_mode<
6425 T: std::convert::Into<crate::model::vpn_connection::BgpRoutingMode>,
6426 >(
6427 mut self,
6428 v: T,
6429 ) -> Self {
6430 self.bgp_routing_mode = v.into();
6431 self
6432 }
6433
6434 pub fn set_cluster<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6436 self.cluster = v.into();
6437 self
6438 }
6439
6440 pub fn set_vpc<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6442 self.vpc = v.into();
6443 self
6444 }
6445
6446 pub fn set_vpc_project<T>(mut self, v: T) -> Self
6448 where
6449 T: std::convert::Into<crate::model::vpn_connection::VpcProject>,
6450 {
6451 self.vpc_project = std::option::Option::Some(v.into());
6452 self
6453 }
6454
6455 pub fn set_or_clear_vpc_project<T>(mut self, v: std::option::Option<T>) -> Self
6457 where
6458 T: std::convert::Into<crate::model::vpn_connection::VpcProject>,
6459 {
6460 self.vpc_project = v.map(|x| x.into());
6461 self
6462 }
6463
6464 pub fn set_enable_high_availability<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
6466 self.enable_high_availability = v.into();
6467 self
6468 }
6469
6470 pub fn set_router<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6472 self.router = v.into();
6473 self
6474 }
6475
6476 pub fn set_details<T>(mut self, v: T) -> Self
6478 where
6479 T: std::convert::Into<crate::model::vpn_connection::Details>,
6480 {
6481 self.details = std::option::Option::Some(v.into());
6482 self
6483 }
6484
6485 pub fn set_or_clear_details<T>(mut self, v: std::option::Option<T>) -> Self
6487 where
6488 T: std::convert::Into<crate::model::vpn_connection::Details>,
6489 {
6490 self.details = v.map(|x| x.into());
6491 self
6492 }
6493}
6494
6495impl wkt::message::Message for VpnConnection {
6496 fn typename() -> &'static str {
6497 "type.googleapis.com/google.cloud.edgecontainer.v1.VpnConnection"
6498 }
6499}
6500
6501#[doc(hidden)]
6502impl<'de> serde::de::Deserialize<'de> for VpnConnection {
6503 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6504 where
6505 D: serde::Deserializer<'de>,
6506 {
6507 #[allow(non_camel_case_types)]
6508 #[doc(hidden)]
6509 #[derive(PartialEq, Eq, Hash)]
6510 enum __FieldTag {
6511 __name,
6512 __create_time,
6513 __update_time,
6514 __labels,
6515 __nat_gateway_ip,
6516 __bgp_routing_mode,
6517 __cluster,
6518 __vpc,
6519 __vpc_project,
6520 __enable_high_availability,
6521 __router,
6522 __details,
6523 Unknown(std::string::String),
6524 }
6525 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
6526 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6527 where
6528 D: serde::Deserializer<'de>,
6529 {
6530 struct Visitor;
6531 impl<'de> serde::de::Visitor<'de> for Visitor {
6532 type Value = __FieldTag;
6533 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
6534 formatter.write_str("a field name for VpnConnection")
6535 }
6536 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
6537 where
6538 E: serde::de::Error,
6539 {
6540 use std::result::Result::Ok;
6541 use std::string::ToString;
6542 match value {
6543 "name" => Ok(__FieldTag::__name),
6544 "createTime" => Ok(__FieldTag::__create_time),
6545 "create_time" => Ok(__FieldTag::__create_time),
6546 "updateTime" => Ok(__FieldTag::__update_time),
6547 "update_time" => Ok(__FieldTag::__update_time),
6548 "labels" => Ok(__FieldTag::__labels),
6549 "natGatewayIp" => Ok(__FieldTag::__nat_gateway_ip),
6550 "nat_gateway_ip" => Ok(__FieldTag::__nat_gateway_ip),
6551 "bgpRoutingMode" => Ok(__FieldTag::__bgp_routing_mode),
6552 "bgp_routing_mode" => Ok(__FieldTag::__bgp_routing_mode),
6553 "cluster" => Ok(__FieldTag::__cluster),
6554 "vpc" => Ok(__FieldTag::__vpc),
6555 "vpcProject" => Ok(__FieldTag::__vpc_project),
6556 "vpc_project" => Ok(__FieldTag::__vpc_project),
6557 "enableHighAvailability" => Ok(__FieldTag::__enable_high_availability),
6558 "enable_high_availability" => {
6559 Ok(__FieldTag::__enable_high_availability)
6560 }
6561 "router" => Ok(__FieldTag::__router),
6562 "details" => Ok(__FieldTag::__details),
6563 _ => Ok(__FieldTag::Unknown(value.to_string())),
6564 }
6565 }
6566 }
6567 deserializer.deserialize_identifier(Visitor)
6568 }
6569 }
6570 struct Visitor;
6571 impl<'de> serde::de::Visitor<'de> for Visitor {
6572 type Value = VpnConnection;
6573 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
6574 formatter.write_str("struct VpnConnection")
6575 }
6576 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
6577 where
6578 A: serde::de::MapAccess<'de>,
6579 {
6580 #[allow(unused_imports)]
6581 use serde::de::Error;
6582 use std::option::Option::Some;
6583 let mut fields = std::collections::HashSet::new();
6584 let mut result = Self::Value::new();
6585 while let Some(tag) = map.next_key::<__FieldTag>()? {
6586 #[allow(clippy::match_single_binding)]
6587 match tag {
6588 __FieldTag::__name => {
6589 if !fields.insert(__FieldTag::__name) {
6590 return std::result::Result::Err(A::Error::duplicate_field(
6591 "multiple values for name",
6592 ));
6593 }
6594 result.name = map
6595 .next_value::<std::option::Option<std::string::String>>()?
6596 .unwrap_or_default();
6597 }
6598 __FieldTag::__create_time => {
6599 if !fields.insert(__FieldTag::__create_time) {
6600 return std::result::Result::Err(A::Error::duplicate_field(
6601 "multiple values for create_time",
6602 ));
6603 }
6604 result.create_time =
6605 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
6606 }
6607 __FieldTag::__update_time => {
6608 if !fields.insert(__FieldTag::__update_time) {
6609 return std::result::Result::Err(A::Error::duplicate_field(
6610 "multiple values for update_time",
6611 ));
6612 }
6613 result.update_time =
6614 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
6615 }
6616 __FieldTag::__labels => {
6617 if !fields.insert(__FieldTag::__labels) {
6618 return std::result::Result::Err(A::Error::duplicate_field(
6619 "multiple values for labels",
6620 ));
6621 }
6622 result.labels = map
6623 .next_value::<std::option::Option<
6624 std::collections::HashMap<
6625 std::string::String,
6626 std::string::String,
6627 >,
6628 >>()?
6629 .unwrap_or_default();
6630 }
6631 __FieldTag::__nat_gateway_ip => {
6632 if !fields.insert(__FieldTag::__nat_gateway_ip) {
6633 return std::result::Result::Err(A::Error::duplicate_field(
6634 "multiple values for nat_gateway_ip",
6635 ));
6636 }
6637 result.nat_gateway_ip = map
6638 .next_value::<std::option::Option<std::string::String>>()?
6639 .unwrap_or_default();
6640 }
6641 __FieldTag::__bgp_routing_mode => {
6642 if !fields.insert(__FieldTag::__bgp_routing_mode) {
6643 return std::result::Result::Err(A::Error::duplicate_field(
6644 "multiple values for bgp_routing_mode",
6645 ));
6646 }
6647 result.bgp_routing_mode =
6648 map.next_value::<std::option::Option<
6649 crate::model::vpn_connection::BgpRoutingMode,
6650 >>()?
6651 .unwrap_or_default();
6652 }
6653 __FieldTag::__cluster => {
6654 if !fields.insert(__FieldTag::__cluster) {
6655 return std::result::Result::Err(A::Error::duplicate_field(
6656 "multiple values for cluster",
6657 ));
6658 }
6659 result.cluster = map
6660 .next_value::<std::option::Option<std::string::String>>()?
6661 .unwrap_or_default();
6662 }
6663 __FieldTag::__vpc => {
6664 if !fields.insert(__FieldTag::__vpc) {
6665 return std::result::Result::Err(A::Error::duplicate_field(
6666 "multiple values for vpc",
6667 ));
6668 }
6669 result.vpc = map
6670 .next_value::<std::option::Option<std::string::String>>()?
6671 .unwrap_or_default();
6672 }
6673 __FieldTag::__vpc_project => {
6674 if !fields.insert(__FieldTag::__vpc_project) {
6675 return std::result::Result::Err(A::Error::duplicate_field(
6676 "multiple values for vpc_project",
6677 ));
6678 }
6679 result.vpc_project = map.next_value::<std::option::Option<crate::model::vpn_connection::VpcProject>>()?
6680 ;
6681 }
6682 __FieldTag::__enable_high_availability => {
6683 if !fields.insert(__FieldTag::__enable_high_availability) {
6684 return std::result::Result::Err(A::Error::duplicate_field(
6685 "multiple values for enable_high_availability",
6686 ));
6687 }
6688 result.enable_high_availability = map
6689 .next_value::<std::option::Option<bool>>()?
6690 .unwrap_or_default();
6691 }
6692 __FieldTag::__router => {
6693 if !fields.insert(__FieldTag::__router) {
6694 return std::result::Result::Err(A::Error::duplicate_field(
6695 "multiple values for router",
6696 ));
6697 }
6698 result.router = map
6699 .next_value::<std::option::Option<std::string::String>>()?
6700 .unwrap_or_default();
6701 }
6702 __FieldTag::__details => {
6703 if !fields.insert(__FieldTag::__details) {
6704 return std::result::Result::Err(A::Error::duplicate_field(
6705 "multiple values for details",
6706 ));
6707 }
6708 result.details = map.next_value::<std::option::Option<crate::model::vpn_connection::Details>>()?
6709 ;
6710 }
6711 __FieldTag::Unknown(key) => {
6712 let value = map.next_value::<serde_json::Value>()?;
6713 result._unknown_fields.insert(key, value);
6714 }
6715 }
6716 }
6717 std::result::Result::Ok(result)
6718 }
6719 }
6720 deserializer.deserialize_any(Visitor)
6721 }
6722}
6723
6724#[doc(hidden)]
6725impl serde::ser::Serialize for VpnConnection {
6726 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6727 where
6728 S: serde::ser::Serializer,
6729 {
6730 use serde::ser::SerializeMap;
6731 #[allow(unused_imports)]
6732 use std::option::Option::Some;
6733 let mut state = serializer.serialize_map(std::option::Option::None)?;
6734 if !self.name.is_empty() {
6735 state.serialize_entry("name", &self.name)?;
6736 }
6737 if self.create_time.is_some() {
6738 state.serialize_entry("createTime", &self.create_time)?;
6739 }
6740 if self.update_time.is_some() {
6741 state.serialize_entry("updateTime", &self.update_time)?;
6742 }
6743 if !self.labels.is_empty() {
6744 state.serialize_entry("labels", &self.labels)?;
6745 }
6746 if !self.nat_gateway_ip.is_empty() {
6747 state.serialize_entry("natGatewayIp", &self.nat_gateway_ip)?;
6748 }
6749 if !wkt::internal::is_default(&self.bgp_routing_mode) {
6750 state.serialize_entry("bgpRoutingMode", &self.bgp_routing_mode)?;
6751 }
6752 if !self.cluster.is_empty() {
6753 state.serialize_entry("cluster", &self.cluster)?;
6754 }
6755 if !self.vpc.is_empty() {
6756 state.serialize_entry("vpc", &self.vpc)?;
6757 }
6758 if self.vpc_project.is_some() {
6759 state.serialize_entry("vpcProject", &self.vpc_project)?;
6760 }
6761 if !wkt::internal::is_default(&self.enable_high_availability) {
6762 state.serialize_entry("enableHighAvailability", &self.enable_high_availability)?;
6763 }
6764 if !self.router.is_empty() {
6765 state.serialize_entry("router", &self.router)?;
6766 }
6767 if self.details.is_some() {
6768 state.serialize_entry("details", &self.details)?;
6769 }
6770 if !self._unknown_fields.is_empty() {
6771 for (key, value) in self._unknown_fields.iter() {
6772 state.serialize_entry(key, &value)?;
6773 }
6774 }
6775 state.end()
6776 }
6777}
6778
6779impl std::fmt::Debug for VpnConnection {
6780 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6781 let mut debug_struct = f.debug_struct("VpnConnection");
6782 debug_struct.field("name", &self.name);
6783 debug_struct.field("create_time", &self.create_time);
6784 debug_struct.field("update_time", &self.update_time);
6785 debug_struct.field("labels", &self.labels);
6786 debug_struct.field("nat_gateway_ip", &self.nat_gateway_ip);
6787 debug_struct.field("bgp_routing_mode", &self.bgp_routing_mode);
6788 debug_struct.field("cluster", &self.cluster);
6789 debug_struct.field("vpc", &self.vpc);
6790 debug_struct.field("vpc_project", &self.vpc_project);
6791 debug_struct.field("enable_high_availability", &self.enable_high_availability);
6792 debug_struct.field("router", &self.router);
6793 debug_struct.field("details", &self.details);
6794 if !self._unknown_fields.is_empty() {
6795 debug_struct.field("_unknown_fields", &self._unknown_fields);
6796 }
6797 debug_struct.finish()
6798 }
6799}
6800
6801pub mod vpn_connection {
6803 #[allow(unused_imports)]
6804 use super::*;
6805
6806 #[derive(Clone, Default, PartialEq)]
6808 #[non_exhaustive]
6809 pub struct VpcProject {
6810 pub project_id: std::string::String,
6813
6814 #[deprecated]
6816 pub service_account: std::string::String,
6817
6818 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
6819 }
6820
6821 impl VpcProject {
6822 pub fn new() -> Self {
6823 std::default::Default::default()
6824 }
6825
6826 pub fn set_project_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
6828 self.project_id = v.into();
6829 self
6830 }
6831
6832 #[deprecated]
6834 pub fn set_service_account<T: std::convert::Into<std::string::String>>(
6835 mut self,
6836 v: T,
6837 ) -> Self {
6838 self.service_account = v.into();
6839 self
6840 }
6841 }
6842
6843 impl wkt::message::Message for VpcProject {
6844 fn typename() -> &'static str {
6845 "type.googleapis.com/google.cloud.edgecontainer.v1.VpnConnection.VpcProject"
6846 }
6847 }
6848
6849 #[doc(hidden)]
6850 impl<'de> serde::de::Deserialize<'de> for VpcProject {
6851 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6852 where
6853 D: serde::Deserializer<'de>,
6854 {
6855 #[allow(non_camel_case_types)]
6856 #[doc(hidden)]
6857 #[derive(PartialEq, Eq, Hash)]
6858 enum __FieldTag {
6859 __project_id,
6860 __service_account,
6861 Unknown(std::string::String),
6862 }
6863 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
6864 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6865 where
6866 D: serde::Deserializer<'de>,
6867 {
6868 struct Visitor;
6869 impl<'de> serde::de::Visitor<'de> for Visitor {
6870 type Value = __FieldTag;
6871 fn expecting(
6872 &self,
6873 formatter: &mut std::fmt::Formatter,
6874 ) -> std::fmt::Result {
6875 formatter.write_str("a field name for VpcProject")
6876 }
6877 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
6878 where
6879 E: serde::de::Error,
6880 {
6881 use std::result::Result::Ok;
6882 use std::string::ToString;
6883 match value {
6884 "projectId" => Ok(__FieldTag::__project_id),
6885 "project_id" => Ok(__FieldTag::__project_id),
6886 "serviceAccount" => Ok(__FieldTag::__service_account),
6887 "service_account" => Ok(__FieldTag::__service_account),
6888 _ => Ok(__FieldTag::Unknown(value.to_string())),
6889 }
6890 }
6891 }
6892 deserializer.deserialize_identifier(Visitor)
6893 }
6894 }
6895 struct Visitor;
6896 impl<'de> serde::de::Visitor<'de> for Visitor {
6897 type Value = VpcProject;
6898 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
6899 formatter.write_str("struct VpcProject")
6900 }
6901 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
6902 where
6903 A: serde::de::MapAccess<'de>,
6904 {
6905 #[allow(unused_imports)]
6906 use serde::de::Error;
6907 use std::option::Option::Some;
6908 let mut fields = std::collections::HashSet::new();
6909 let mut result = Self::Value::new();
6910 while let Some(tag) = map.next_key::<__FieldTag>()? {
6911 #[allow(clippy::match_single_binding)]
6912 match tag {
6913 __FieldTag::__project_id => {
6914 if !fields.insert(__FieldTag::__project_id) {
6915 return std::result::Result::Err(A::Error::duplicate_field(
6916 "multiple values for project_id",
6917 ));
6918 }
6919 result.project_id = map
6920 .next_value::<std::option::Option<std::string::String>>()?
6921 .unwrap_or_default();
6922 }
6923 __FieldTag::__service_account => {
6924 if !fields.insert(__FieldTag::__service_account) {
6925 return std::result::Result::Err(A::Error::duplicate_field(
6926 "multiple values for service_account",
6927 ));
6928 }
6929 result.service_account = map
6930 .next_value::<std::option::Option<std::string::String>>()?
6931 .unwrap_or_default();
6932 }
6933 __FieldTag::Unknown(key) => {
6934 let value = map.next_value::<serde_json::Value>()?;
6935 result._unknown_fields.insert(key, value);
6936 }
6937 }
6938 }
6939 std::result::Result::Ok(result)
6940 }
6941 }
6942 deserializer.deserialize_any(Visitor)
6943 }
6944 }
6945
6946 #[doc(hidden)]
6947 impl serde::ser::Serialize for VpcProject {
6948 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6949 where
6950 S: serde::ser::Serializer,
6951 {
6952 use serde::ser::SerializeMap;
6953 #[allow(unused_imports)]
6954 use std::option::Option::Some;
6955 let mut state = serializer.serialize_map(std::option::Option::None)?;
6956 if !self.project_id.is_empty() {
6957 state.serialize_entry("projectId", &self.project_id)?;
6958 }
6959 if !self.service_account.is_empty() {
6960 state.serialize_entry("serviceAccount", &self.service_account)?;
6961 }
6962 if !self._unknown_fields.is_empty() {
6963 for (key, value) in self._unknown_fields.iter() {
6964 state.serialize_entry(key, &value)?;
6965 }
6966 }
6967 state.end()
6968 }
6969 }
6970
6971 impl std::fmt::Debug for VpcProject {
6972 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6973 let mut debug_struct = f.debug_struct("VpcProject");
6974 debug_struct.field("project_id", &self.project_id);
6975 debug_struct.field("service_account", &self.service_account);
6976 if !self._unknown_fields.is_empty() {
6977 debug_struct.field("_unknown_fields", &self._unknown_fields);
6978 }
6979 debug_struct.finish()
6980 }
6981 }
6982
6983 #[derive(Clone, Default, PartialEq)]
6985 #[non_exhaustive]
6986 pub struct Details {
6987 pub state: crate::model::vpn_connection::details::State,
6989
6990 pub error: std::string::String,
6992
6993 pub cloud_router: std::option::Option<crate::model::vpn_connection::details::CloudRouter>,
6995
6996 pub cloud_vpns: std::vec::Vec<crate::model::vpn_connection::details::CloudVpn>,
6998
6999 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
7000 }
7001
7002 impl Details {
7003 pub fn new() -> Self {
7004 std::default::Default::default()
7005 }
7006
7007 pub fn set_state<T: std::convert::Into<crate::model::vpn_connection::details::State>>(
7009 mut self,
7010 v: T,
7011 ) -> Self {
7012 self.state = v.into();
7013 self
7014 }
7015
7016 pub fn set_error<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
7018 self.error = v.into();
7019 self
7020 }
7021
7022 pub fn set_cloud_router<T>(mut self, v: T) -> Self
7024 where
7025 T: std::convert::Into<crate::model::vpn_connection::details::CloudRouter>,
7026 {
7027 self.cloud_router = std::option::Option::Some(v.into());
7028 self
7029 }
7030
7031 pub fn set_or_clear_cloud_router<T>(mut self, v: std::option::Option<T>) -> Self
7033 where
7034 T: std::convert::Into<crate::model::vpn_connection::details::CloudRouter>,
7035 {
7036 self.cloud_router = v.map(|x| x.into());
7037 self
7038 }
7039
7040 pub fn set_cloud_vpns<T, V>(mut self, v: T) -> Self
7042 where
7043 T: std::iter::IntoIterator<Item = V>,
7044 V: std::convert::Into<crate::model::vpn_connection::details::CloudVpn>,
7045 {
7046 use std::iter::Iterator;
7047 self.cloud_vpns = v.into_iter().map(|i| i.into()).collect();
7048 self
7049 }
7050 }
7051
7052 impl wkt::message::Message for Details {
7053 fn typename() -> &'static str {
7054 "type.googleapis.com/google.cloud.edgecontainer.v1.VpnConnection.Details"
7055 }
7056 }
7057
7058 #[doc(hidden)]
7059 impl<'de> serde::de::Deserialize<'de> for Details {
7060 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7061 where
7062 D: serde::Deserializer<'de>,
7063 {
7064 #[allow(non_camel_case_types)]
7065 #[doc(hidden)]
7066 #[derive(PartialEq, Eq, Hash)]
7067 enum __FieldTag {
7068 __state,
7069 __error,
7070 __cloud_router,
7071 __cloud_vpns,
7072 Unknown(std::string::String),
7073 }
7074 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
7075 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7076 where
7077 D: serde::Deserializer<'de>,
7078 {
7079 struct Visitor;
7080 impl<'de> serde::de::Visitor<'de> for Visitor {
7081 type Value = __FieldTag;
7082 fn expecting(
7083 &self,
7084 formatter: &mut std::fmt::Formatter,
7085 ) -> std::fmt::Result {
7086 formatter.write_str("a field name for Details")
7087 }
7088 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
7089 where
7090 E: serde::de::Error,
7091 {
7092 use std::result::Result::Ok;
7093 use std::string::ToString;
7094 match value {
7095 "state" => Ok(__FieldTag::__state),
7096 "error" => Ok(__FieldTag::__error),
7097 "cloudRouter" => Ok(__FieldTag::__cloud_router),
7098 "cloud_router" => Ok(__FieldTag::__cloud_router),
7099 "cloudVpns" => Ok(__FieldTag::__cloud_vpns),
7100 "cloud_vpns" => Ok(__FieldTag::__cloud_vpns),
7101 _ => Ok(__FieldTag::Unknown(value.to_string())),
7102 }
7103 }
7104 }
7105 deserializer.deserialize_identifier(Visitor)
7106 }
7107 }
7108 struct Visitor;
7109 impl<'de> serde::de::Visitor<'de> for Visitor {
7110 type Value = Details;
7111 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
7112 formatter.write_str("struct Details")
7113 }
7114 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
7115 where
7116 A: serde::de::MapAccess<'de>,
7117 {
7118 #[allow(unused_imports)]
7119 use serde::de::Error;
7120 use std::option::Option::Some;
7121 let mut fields = std::collections::HashSet::new();
7122 let mut result = Self::Value::new();
7123 while let Some(tag) = map.next_key::<__FieldTag>()? {
7124 #[allow(clippy::match_single_binding)]
7125 match tag {
7126 __FieldTag::__state => {
7127 if !fields.insert(__FieldTag::__state) {
7128 return std::result::Result::Err(A::Error::duplicate_field(
7129 "multiple values for state",
7130 ));
7131 }
7132 result.state = map
7133 .next_value::<std::option::Option<
7134 crate::model::vpn_connection::details::State,
7135 >>()?
7136 .unwrap_or_default();
7137 }
7138 __FieldTag::__error => {
7139 if !fields.insert(__FieldTag::__error) {
7140 return std::result::Result::Err(A::Error::duplicate_field(
7141 "multiple values for error",
7142 ));
7143 }
7144 result.error = map
7145 .next_value::<std::option::Option<std::string::String>>()?
7146 .unwrap_or_default();
7147 }
7148 __FieldTag::__cloud_router => {
7149 if !fields.insert(__FieldTag::__cloud_router) {
7150 return std::result::Result::Err(A::Error::duplicate_field(
7151 "multiple values for cloud_router",
7152 ));
7153 }
7154 result.cloud_router = map.next_value::<std::option::Option<
7155 crate::model::vpn_connection::details::CloudRouter,
7156 >>()?;
7157 }
7158 __FieldTag::__cloud_vpns => {
7159 if !fields.insert(__FieldTag::__cloud_vpns) {
7160 return std::result::Result::Err(A::Error::duplicate_field(
7161 "multiple values for cloud_vpns",
7162 ));
7163 }
7164 result.cloud_vpns = map
7165 .next_value::<std::option::Option<
7166 std::vec::Vec<
7167 crate::model::vpn_connection::details::CloudVpn,
7168 >,
7169 >>()?
7170 .unwrap_or_default();
7171 }
7172 __FieldTag::Unknown(key) => {
7173 let value = map.next_value::<serde_json::Value>()?;
7174 result._unknown_fields.insert(key, value);
7175 }
7176 }
7177 }
7178 std::result::Result::Ok(result)
7179 }
7180 }
7181 deserializer.deserialize_any(Visitor)
7182 }
7183 }
7184
7185 #[doc(hidden)]
7186 impl serde::ser::Serialize for Details {
7187 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7188 where
7189 S: serde::ser::Serializer,
7190 {
7191 use serde::ser::SerializeMap;
7192 #[allow(unused_imports)]
7193 use std::option::Option::Some;
7194 let mut state = serializer.serialize_map(std::option::Option::None)?;
7195 if !wkt::internal::is_default(&self.state) {
7196 state.serialize_entry("state", &self.state)?;
7197 }
7198 if !self.error.is_empty() {
7199 state.serialize_entry("error", &self.error)?;
7200 }
7201 if self.cloud_router.is_some() {
7202 state.serialize_entry("cloudRouter", &self.cloud_router)?;
7203 }
7204 if !self.cloud_vpns.is_empty() {
7205 state.serialize_entry("cloudVpns", &self.cloud_vpns)?;
7206 }
7207 if !self._unknown_fields.is_empty() {
7208 for (key, value) in self._unknown_fields.iter() {
7209 state.serialize_entry(key, &value)?;
7210 }
7211 }
7212 state.end()
7213 }
7214 }
7215
7216 impl std::fmt::Debug for Details {
7217 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7218 let mut debug_struct = f.debug_struct("Details");
7219 debug_struct.field("state", &self.state);
7220 debug_struct.field("error", &self.error);
7221 debug_struct.field("cloud_router", &self.cloud_router);
7222 debug_struct.field("cloud_vpns", &self.cloud_vpns);
7223 if !self._unknown_fields.is_empty() {
7224 debug_struct.field("_unknown_fields", &self._unknown_fields);
7225 }
7226 debug_struct.finish()
7227 }
7228 }
7229
7230 pub mod details {
7232 #[allow(unused_imports)]
7233 use super::*;
7234
7235 #[derive(Clone, Default, PartialEq)]
7237 #[non_exhaustive]
7238 pub struct CloudRouter {
7239 pub name: std::string::String,
7241
7242 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
7243 }
7244
7245 impl CloudRouter {
7246 pub fn new() -> Self {
7247 std::default::Default::default()
7248 }
7249
7250 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
7252 self.name = v.into();
7253 self
7254 }
7255 }
7256
7257 impl wkt::message::Message for CloudRouter {
7258 fn typename() -> &'static str {
7259 "type.googleapis.com/google.cloud.edgecontainer.v1.VpnConnection.Details.CloudRouter"
7260 }
7261 }
7262
7263 #[doc(hidden)]
7264 impl<'de> serde::de::Deserialize<'de> for CloudRouter {
7265 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7266 where
7267 D: serde::Deserializer<'de>,
7268 {
7269 #[allow(non_camel_case_types)]
7270 #[doc(hidden)]
7271 #[derive(PartialEq, Eq, Hash)]
7272 enum __FieldTag {
7273 __name,
7274 Unknown(std::string::String),
7275 }
7276 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
7277 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7278 where
7279 D: serde::Deserializer<'de>,
7280 {
7281 struct Visitor;
7282 impl<'de> serde::de::Visitor<'de> for Visitor {
7283 type Value = __FieldTag;
7284 fn expecting(
7285 &self,
7286 formatter: &mut std::fmt::Formatter,
7287 ) -> std::fmt::Result {
7288 formatter.write_str("a field name for CloudRouter")
7289 }
7290 fn visit_str<E>(
7291 self,
7292 value: &str,
7293 ) -> std::result::Result<Self::Value, E>
7294 where
7295 E: serde::de::Error,
7296 {
7297 use std::result::Result::Ok;
7298 use std::string::ToString;
7299 match value {
7300 "name" => Ok(__FieldTag::__name),
7301 _ => Ok(__FieldTag::Unknown(value.to_string())),
7302 }
7303 }
7304 }
7305 deserializer.deserialize_identifier(Visitor)
7306 }
7307 }
7308 struct Visitor;
7309 impl<'de> serde::de::Visitor<'de> for Visitor {
7310 type Value = CloudRouter;
7311 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
7312 formatter.write_str("struct CloudRouter")
7313 }
7314 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
7315 where
7316 A: serde::de::MapAccess<'de>,
7317 {
7318 #[allow(unused_imports)]
7319 use serde::de::Error;
7320 use std::option::Option::Some;
7321 let mut fields = std::collections::HashSet::new();
7322 let mut result = Self::Value::new();
7323 while let Some(tag) = map.next_key::<__FieldTag>()? {
7324 #[allow(clippy::match_single_binding)]
7325 match tag {
7326 __FieldTag::__name => {
7327 if !fields.insert(__FieldTag::__name) {
7328 return std::result::Result::Err(
7329 A::Error::duplicate_field("multiple values for name"),
7330 );
7331 }
7332 result.name = map
7333 .next_value::<std::option::Option<std::string::String>>()?
7334 .unwrap_or_default();
7335 }
7336 __FieldTag::Unknown(key) => {
7337 let value = map.next_value::<serde_json::Value>()?;
7338 result._unknown_fields.insert(key, value);
7339 }
7340 }
7341 }
7342 std::result::Result::Ok(result)
7343 }
7344 }
7345 deserializer.deserialize_any(Visitor)
7346 }
7347 }
7348
7349 #[doc(hidden)]
7350 impl serde::ser::Serialize for CloudRouter {
7351 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7352 where
7353 S: serde::ser::Serializer,
7354 {
7355 use serde::ser::SerializeMap;
7356 #[allow(unused_imports)]
7357 use std::option::Option::Some;
7358 let mut state = serializer.serialize_map(std::option::Option::None)?;
7359 if !self.name.is_empty() {
7360 state.serialize_entry("name", &self.name)?;
7361 }
7362 if !self._unknown_fields.is_empty() {
7363 for (key, value) in self._unknown_fields.iter() {
7364 state.serialize_entry(key, &value)?;
7365 }
7366 }
7367 state.end()
7368 }
7369 }
7370
7371 impl std::fmt::Debug for CloudRouter {
7372 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7373 let mut debug_struct = f.debug_struct("CloudRouter");
7374 debug_struct.field("name", &self.name);
7375 if !self._unknown_fields.is_empty() {
7376 debug_struct.field("_unknown_fields", &self._unknown_fields);
7377 }
7378 debug_struct.finish()
7379 }
7380 }
7381
7382 #[derive(Clone, Default, PartialEq)]
7384 #[non_exhaustive]
7385 pub struct CloudVpn {
7386 pub gateway: std::string::String,
7388
7389 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
7390 }
7391
7392 impl CloudVpn {
7393 pub fn new() -> Self {
7394 std::default::Default::default()
7395 }
7396
7397 pub fn set_gateway<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
7399 self.gateway = v.into();
7400 self
7401 }
7402 }
7403
7404 impl wkt::message::Message for CloudVpn {
7405 fn typename() -> &'static str {
7406 "type.googleapis.com/google.cloud.edgecontainer.v1.VpnConnection.Details.CloudVpn"
7407 }
7408 }
7409
7410 #[doc(hidden)]
7411 impl<'de> serde::de::Deserialize<'de> for CloudVpn {
7412 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7413 where
7414 D: serde::Deserializer<'de>,
7415 {
7416 #[allow(non_camel_case_types)]
7417 #[doc(hidden)]
7418 #[derive(PartialEq, Eq, Hash)]
7419 enum __FieldTag {
7420 __gateway,
7421 Unknown(std::string::String),
7422 }
7423 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
7424 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7425 where
7426 D: serde::Deserializer<'de>,
7427 {
7428 struct Visitor;
7429 impl<'de> serde::de::Visitor<'de> for Visitor {
7430 type Value = __FieldTag;
7431 fn expecting(
7432 &self,
7433 formatter: &mut std::fmt::Formatter,
7434 ) -> std::fmt::Result {
7435 formatter.write_str("a field name for CloudVpn")
7436 }
7437 fn visit_str<E>(
7438 self,
7439 value: &str,
7440 ) -> std::result::Result<Self::Value, E>
7441 where
7442 E: serde::de::Error,
7443 {
7444 use std::result::Result::Ok;
7445 use std::string::ToString;
7446 match value {
7447 "gateway" => Ok(__FieldTag::__gateway),
7448 _ => Ok(__FieldTag::Unknown(value.to_string())),
7449 }
7450 }
7451 }
7452 deserializer.deserialize_identifier(Visitor)
7453 }
7454 }
7455 struct Visitor;
7456 impl<'de> serde::de::Visitor<'de> for Visitor {
7457 type Value = CloudVpn;
7458 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
7459 formatter.write_str("struct CloudVpn")
7460 }
7461 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
7462 where
7463 A: serde::de::MapAccess<'de>,
7464 {
7465 #[allow(unused_imports)]
7466 use serde::de::Error;
7467 use std::option::Option::Some;
7468 let mut fields = std::collections::HashSet::new();
7469 let mut result = Self::Value::new();
7470 while let Some(tag) = map.next_key::<__FieldTag>()? {
7471 #[allow(clippy::match_single_binding)]
7472 match tag {
7473 __FieldTag::__gateway => {
7474 if !fields.insert(__FieldTag::__gateway) {
7475 return std::result::Result::Err(
7476 A::Error::duplicate_field(
7477 "multiple values for gateway",
7478 ),
7479 );
7480 }
7481 result.gateway = map
7482 .next_value::<std::option::Option<std::string::String>>()?
7483 .unwrap_or_default();
7484 }
7485 __FieldTag::Unknown(key) => {
7486 let value = map.next_value::<serde_json::Value>()?;
7487 result._unknown_fields.insert(key, value);
7488 }
7489 }
7490 }
7491 std::result::Result::Ok(result)
7492 }
7493 }
7494 deserializer.deserialize_any(Visitor)
7495 }
7496 }
7497
7498 #[doc(hidden)]
7499 impl serde::ser::Serialize for CloudVpn {
7500 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7501 where
7502 S: serde::ser::Serializer,
7503 {
7504 use serde::ser::SerializeMap;
7505 #[allow(unused_imports)]
7506 use std::option::Option::Some;
7507 let mut state = serializer.serialize_map(std::option::Option::None)?;
7508 if !self.gateway.is_empty() {
7509 state.serialize_entry("gateway", &self.gateway)?;
7510 }
7511 if !self._unknown_fields.is_empty() {
7512 for (key, value) in self._unknown_fields.iter() {
7513 state.serialize_entry(key, &value)?;
7514 }
7515 }
7516 state.end()
7517 }
7518 }
7519
7520 impl std::fmt::Debug for CloudVpn {
7521 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7522 let mut debug_struct = f.debug_struct("CloudVpn");
7523 debug_struct.field("gateway", &self.gateway);
7524 if !self._unknown_fields.is_empty() {
7525 debug_struct.field("_unknown_fields", &self._unknown_fields);
7526 }
7527 debug_struct.finish()
7528 }
7529 }
7530
7531 #[derive(Clone, Debug, PartialEq)]
7547 #[non_exhaustive]
7548 pub enum State {
7549 Unspecified,
7551 Connected,
7553 Connecting,
7555 Error,
7557 UnknownValue(state::UnknownValue),
7562 }
7563
7564 #[doc(hidden)]
7565 pub mod state {
7566 #[allow(unused_imports)]
7567 use super::*;
7568 #[derive(Clone, Debug, PartialEq)]
7569 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
7570 }
7571
7572 impl State {
7573 pub fn value(&self) -> std::option::Option<i32> {
7578 match self {
7579 Self::Unspecified => std::option::Option::Some(0),
7580 Self::Connected => std::option::Option::Some(1),
7581 Self::Connecting => std::option::Option::Some(2),
7582 Self::Error => std::option::Option::Some(3),
7583 Self::UnknownValue(u) => u.0.value(),
7584 }
7585 }
7586
7587 pub fn name(&self) -> std::option::Option<&str> {
7592 match self {
7593 Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
7594 Self::Connected => std::option::Option::Some("STATE_CONNECTED"),
7595 Self::Connecting => std::option::Option::Some("STATE_CONNECTING"),
7596 Self::Error => std::option::Option::Some("STATE_ERROR"),
7597 Self::UnknownValue(u) => u.0.name(),
7598 }
7599 }
7600 }
7601
7602 impl std::default::Default for State {
7603 fn default() -> Self {
7604 use std::convert::From;
7605 Self::from(0)
7606 }
7607 }
7608
7609 impl std::fmt::Display for State {
7610 fn fmt(
7611 &self,
7612 f: &mut std::fmt::Formatter<'_>,
7613 ) -> std::result::Result<(), std::fmt::Error> {
7614 wkt::internal::display_enum(f, self.name(), self.value())
7615 }
7616 }
7617
7618 impl std::convert::From<i32> for State {
7619 fn from(value: i32) -> Self {
7620 match value {
7621 0 => Self::Unspecified,
7622 1 => Self::Connected,
7623 2 => Self::Connecting,
7624 3 => Self::Error,
7625 _ => Self::UnknownValue(state::UnknownValue(
7626 wkt::internal::UnknownEnumValue::Integer(value),
7627 )),
7628 }
7629 }
7630 }
7631
7632 impl std::convert::From<&str> for State {
7633 fn from(value: &str) -> Self {
7634 use std::string::ToString;
7635 match value {
7636 "STATE_UNSPECIFIED" => Self::Unspecified,
7637 "STATE_CONNECTED" => Self::Connected,
7638 "STATE_CONNECTING" => Self::Connecting,
7639 "STATE_ERROR" => Self::Error,
7640 _ => Self::UnknownValue(state::UnknownValue(
7641 wkt::internal::UnknownEnumValue::String(value.to_string()),
7642 )),
7643 }
7644 }
7645 }
7646
7647 impl serde::ser::Serialize for State {
7648 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7649 where
7650 S: serde::Serializer,
7651 {
7652 match self {
7653 Self::Unspecified => serializer.serialize_i32(0),
7654 Self::Connected => serializer.serialize_i32(1),
7655 Self::Connecting => serializer.serialize_i32(2),
7656 Self::Error => serializer.serialize_i32(3),
7657 Self::UnknownValue(u) => u.0.serialize(serializer),
7658 }
7659 }
7660 }
7661
7662 impl<'de> serde::de::Deserialize<'de> for State {
7663 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7664 where
7665 D: serde::Deserializer<'de>,
7666 {
7667 deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
7668 ".google.cloud.edgecontainer.v1.VpnConnection.Details.State",
7669 ))
7670 }
7671 }
7672 }
7673
7674 #[derive(Clone, Debug, PartialEq)]
7690 #[non_exhaustive]
7691 pub enum BgpRoutingMode {
7692 Unspecified,
7694 Regional,
7696 Global,
7698 UnknownValue(bgp_routing_mode::UnknownValue),
7703 }
7704
7705 #[doc(hidden)]
7706 pub mod bgp_routing_mode {
7707 #[allow(unused_imports)]
7708 use super::*;
7709 #[derive(Clone, Debug, PartialEq)]
7710 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
7711 }
7712
7713 impl BgpRoutingMode {
7714 pub fn value(&self) -> std::option::Option<i32> {
7719 match self {
7720 Self::Unspecified => std::option::Option::Some(0),
7721 Self::Regional => std::option::Option::Some(1),
7722 Self::Global => std::option::Option::Some(2),
7723 Self::UnknownValue(u) => u.0.value(),
7724 }
7725 }
7726
7727 pub fn name(&self) -> std::option::Option<&str> {
7732 match self {
7733 Self::Unspecified => std::option::Option::Some("BGP_ROUTING_MODE_UNSPECIFIED"),
7734 Self::Regional => std::option::Option::Some("REGIONAL"),
7735 Self::Global => std::option::Option::Some("GLOBAL"),
7736 Self::UnknownValue(u) => u.0.name(),
7737 }
7738 }
7739 }
7740
7741 impl std::default::Default for BgpRoutingMode {
7742 fn default() -> Self {
7743 use std::convert::From;
7744 Self::from(0)
7745 }
7746 }
7747
7748 impl std::fmt::Display for BgpRoutingMode {
7749 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
7750 wkt::internal::display_enum(f, self.name(), self.value())
7751 }
7752 }
7753
7754 impl std::convert::From<i32> for BgpRoutingMode {
7755 fn from(value: i32) -> Self {
7756 match value {
7757 0 => Self::Unspecified,
7758 1 => Self::Regional,
7759 2 => Self::Global,
7760 _ => Self::UnknownValue(bgp_routing_mode::UnknownValue(
7761 wkt::internal::UnknownEnumValue::Integer(value),
7762 )),
7763 }
7764 }
7765 }
7766
7767 impl std::convert::From<&str> for BgpRoutingMode {
7768 fn from(value: &str) -> Self {
7769 use std::string::ToString;
7770 match value {
7771 "BGP_ROUTING_MODE_UNSPECIFIED" => Self::Unspecified,
7772 "REGIONAL" => Self::Regional,
7773 "GLOBAL" => Self::Global,
7774 _ => Self::UnknownValue(bgp_routing_mode::UnknownValue(
7775 wkt::internal::UnknownEnumValue::String(value.to_string()),
7776 )),
7777 }
7778 }
7779 }
7780
7781 impl serde::ser::Serialize for BgpRoutingMode {
7782 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7783 where
7784 S: serde::Serializer,
7785 {
7786 match self {
7787 Self::Unspecified => serializer.serialize_i32(0),
7788 Self::Regional => serializer.serialize_i32(1),
7789 Self::Global => serializer.serialize_i32(2),
7790 Self::UnknownValue(u) => u.0.serialize(serializer),
7791 }
7792 }
7793 }
7794
7795 impl<'de> serde::de::Deserialize<'de> for BgpRoutingMode {
7796 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7797 where
7798 D: serde::Deserializer<'de>,
7799 {
7800 deserializer.deserialize_any(wkt::internal::EnumVisitor::<BgpRoutingMode>::new(
7801 ".google.cloud.edgecontainer.v1.VpnConnection.BgpRoutingMode",
7802 ))
7803 }
7804 }
7805}
7806
7807#[derive(Clone, Default, PartialEq)]
7812#[non_exhaustive]
7813pub struct LocationMetadata {
7814 pub available_zones: std::collections::HashMap<std::string::String, crate::model::ZoneMetadata>,
7817
7818 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
7819}
7820
7821impl LocationMetadata {
7822 pub fn new() -> Self {
7823 std::default::Default::default()
7824 }
7825
7826 pub fn set_available_zones<T, K, V>(mut self, v: T) -> Self
7828 where
7829 T: std::iter::IntoIterator<Item = (K, V)>,
7830 K: std::convert::Into<std::string::String>,
7831 V: std::convert::Into<crate::model::ZoneMetadata>,
7832 {
7833 use std::iter::Iterator;
7834 self.available_zones = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
7835 self
7836 }
7837}
7838
7839impl wkt::message::Message for LocationMetadata {
7840 fn typename() -> &'static str {
7841 "type.googleapis.com/google.cloud.edgecontainer.v1.LocationMetadata"
7842 }
7843}
7844
7845#[doc(hidden)]
7846impl<'de> serde::de::Deserialize<'de> for LocationMetadata {
7847 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7848 where
7849 D: serde::Deserializer<'de>,
7850 {
7851 #[allow(non_camel_case_types)]
7852 #[doc(hidden)]
7853 #[derive(PartialEq, Eq, Hash)]
7854 enum __FieldTag {
7855 __available_zones,
7856 Unknown(std::string::String),
7857 }
7858 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
7859 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7860 where
7861 D: serde::Deserializer<'de>,
7862 {
7863 struct Visitor;
7864 impl<'de> serde::de::Visitor<'de> for Visitor {
7865 type Value = __FieldTag;
7866 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
7867 formatter.write_str("a field name for LocationMetadata")
7868 }
7869 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
7870 where
7871 E: serde::de::Error,
7872 {
7873 use std::result::Result::Ok;
7874 use std::string::ToString;
7875 match value {
7876 "availableZones" => Ok(__FieldTag::__available_zones),
7877 "available_zones" => Ok(__FieldTag::__available_zones),
7878 _ => Ok(__FieldTag::Unknown(value.to_string())),
7879 }
7880 }
7881 }
7882 deserializer.deserialize_identifier(Visitor)
7883 }
7884 }
7885 struct Visitor;
7886 impl<'de> serde::de::Visitor<'de> for Visitor {
7887 type Value = LocationMetadata;
7888 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
7889 formatter.write_str("struct LocationMetadata")
7890 }
7891 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
7892 where
7893 A: serde::de::MapAccess<'de>,
7894 {
7895 #[allow(unused_imports)]
7896 use serde::de::Error;
7897 use std::option::Option::Some;
7898 let mut fields = std::collections::HashSet::new();
7899 let mut result = Self::Value::new();
7900 while let Some(tag) = map.next_key::<__FieldTag>()? {
7901 #[allow(clippy::match_single_binding)]
7902 match tag {
7903 __FieldTag::__available_zones => {
7904 if !fields.insert(__FieldTag::__available_zones) {
7905 return std::result::Result::Err(A::Error::duplicate_field(
7906 "multiple values for available_zones",
7907 ));
7908 }
7909 result.available_zones = map
7910 .next_value::<std::option::Option<
7911 std::collections::HashMap<
7912 std::string::String,
7913 crate::model::ZoneMetadata,
7914 >,
7915 >>()?
7916 .unwrap_or_default();
7917 }
7918 __FieldTag::Unknown(key) => {
7919 let value = map.next_value::<serde_json::Value>()?;
7920 result._unknown_fields.insert(key, value);
7921 }
7922 }
7923 }
7924 std::result::Result::Ok(result)
7925 }
7926 }
7927 deserializer.deserialize_any(Visitor)
7928 }
7929}
7930
7931#[doc(hidden)]
7932impl serde::ser::Serialize for LocationMetadata {
7933 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7934 where
7935 S: serde::ser::Serializer,
7936 {
7937 use serde::ser::SerializeMap;
7938 #[allow(unused_imports)]
7939 use std::option::Option::Some;
7940 let mut state = serializer.serialize_map(std::option::Option::None)?;
7941 if !self.available_zones.is_empty() {
7942 state.serialize_entry("availableZones", &self.available_zones)?;
7943 }
7944 if !self._unknown_fields.is_empty() {
7945 for (key, value) in self._unknown_fields.iter() {
7946 state.serialize_entry(key, &value)?;
7947 }
7948 }
7949 state.end()
7950 }
7951}
7952
7953impl std::fmt::Debug for LocationMetadata {
7954 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7955 let mut debug_struct = f.debug_struct("LocationMetadata");
7956 debug_struct.field("available_zones", &self.available_zones);
7957 if !self._unknown_fields.is_empty() {
7958 debug_struct.field("_unknown_fields", &self._unknown_fields);
7959 }
7960 debug_struct.finish()
7961 }
7962}
7963
7964#[derive(Clone, Default, PartialEq)]
7966#[non_exhaustive]
7967pub struct ZoneMetadata {
7968 pub quota: std::vec::Vec<crate::model::Quota>,
7970
7971 pub rack_types:
7973 std::collections::HashMap<std::string::String, crate::model::zone_metadata::RackType>,
7974
7975 pub config_data: std::option::Option<crate::model::ConfigData>,
7977
7978 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
7979}
7980
7981impl ZoneMetadata {
7982 pub fn new() -> Self {
7983 std::default::Default::default()
7984 }
7985
7986 pub fn set_quota<T, V>(mut self, v: T) -> Self
7988 where
7989 T: std::iter::IntoIterator<Item = V>,
7990 V: std::convert::Into<crate::model::Quota>,
7991 {
7992 use std::iter::Iterator;
7993 self.quota = v.into_iter().map(|i| i.into()).collect();
7994 self
7995 }
7996
7997 pub fn set_rack_types<T, K, V>(mut self, v: T) -> Self
7999 where
8000 T: std::iter::IntoIterator<Item = (K, V)>,
8001 K: std::convert::Into<std::string::String>,
8002 V: std::convert::Into<crate::model::zone_metadata::RackType>,
8003 {
8004 use std::iter::Iterator;
8005 self.rack_types = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
8006 self
8007 }
8008
8009 pub fn set_config_data<T>(mut self, v: T) -> Self
8011 where
8012 T: std::convert::Into<crate::model::ConfigData>,
8013 {
8014 self.config_data = std::option::Option::Some(v.into());
8015 self
8016 }
8017
8018 pub fn set_or_clear_config_data<T>(mut self, v: std::option::Option<T>) -> Self
8020 where
8021 T: std::convert::Into<crate::model::ConfigData>,
8022 {
8023 self.config_data = v.map(|x| x.into());
8024 self
8025 }
8026}
8027
8028impl wkt::message::Message for ZoneMetadata {
8029 fn typename() -> &'static str {
8030 "type.googleapis.com/google.cloud.edgecontainer.v1.ZoneMetadata"
8031 }
8032}
8033
8034#[doc(hidden)]
8035impl<'de> serde::de::Deserialize<'de> for ZoneMetadata {
8036 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8037 where
8038 D: serde::Deserializer<'de>,
8039 {
8040 #[allow(non_camel_case_types)]
8041 #[doc(hidden)]
8042 #[derive(PartialEq, Eq, Hash)]
8043 enum __FieldTag {
8044 __quota,
8045 __rack_types,
8046 __config_data,
8047 Unknown(std::string::String),
8048 }
8049 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
8050 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8051 where
8052 D: serde::Deserializer<'de>,
8053 {
8054 struct Visitor;
8055 impl<'de> serde::de::Visitor<'de> for Visitor {
8056 type Value = __FieldTag;
8057 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8058 formatter.write_str("a field name for ZoneMetadata")
8059 }
8060 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
8061 where
8062 E: serde::de::Error,
8063 {
8064 use std::result::Result::Ok;
8065 use std::string::ToString;
8066 match value {
8067 "quota" => Ok(__FieldTag::__quota),
8068 "rackTypes" => Ok(__FieldTag::__rack_types),
8069 "rack_types" => Ok(__FieldTag::__rack_types),
8070 "configData" => Ok(__FieldTag::__config_data),
8071 "config_data" => Ok(__FieldTag::__config_data),
8072 _ => Ok(__FieldTag::Unknown(value.to_string())),
8073 }
8074 }
8075 }
8076 deserializer.deserialize_identifier(Visitor)
8077 }
8078 }
8079 struct Visitor;
8080 impl<'de> serde::de::Visitor<'de> for Visitor {
8081 type Value = ZoneMetadata;
8082 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8083 formatter.write_str("struct ZoneMetadata")
8084 }
8085 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
8086 where
8087 A: serde::de::MapAccess<'de>,
8088 {
8089 #[allow(unused_imports)]
8090 use serde::de::Error;
8091 use std::option::Option::Some;
8092 let mut fields = std::collections::HashSet::new();
8093 let mut result = Self::Value::new();
8094 while let Some(tag) = map.next_key::<__FieldTag>()? {
8095 #[allow(clippy::match_single_binding)]
8096 match tag {
8097 __FieldTag::__quota => {
8098 if !fields.insert(__FieldTag::__quota) {
8099 return std::result::Result::Err(A::Error::duplicate_field(
8100 "multiple values for quota",
8101 ));
8102 }
8103 result.quota = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Quota>>>()?.unwrap_or_default();
8104 }
8105 __FieldTag::__rack_types => {
8106 if !fields.insert(__FieldTag::__rack_types) {
8107 return std::result::Result::Err(A::Error::duplicate_field(
8108 "multiple values for rack_types",
8109 ));
8110 }
8111 result.rack_types = map
8112 .next_value::<std::option::Option<
8113 std::collections::HashMap<
8114 std::string::String,
8115 crate::model::zone_metadata::RackType,
8116 >,
8117 >>()?
8118 .unwrap_or_default();
8119 }
8120 __FieldTag::__config_data => {
8121 if !fields.insert(__FieldTag::__config_data) {
8122 return std::result::Result::Err(A::Error::duplicate_field(
8123 "multiple values for config_data",
8124 ));
8125 }
8126 result.config_data =
8127 map.next_value::<std::option::Option<crate::model::ConfigData>>()?;
8128 }
8129 __FieldTag::Unknown(key) => {
8130 let value = map.next_value::<serde_json::Value>()?;
8131 result._unknown_fields.insert(key, value);
8132 }
8133 }
8134 }
8135 std::result::Result::Ok(result)
8136 }
8137 }
8138 deserializer.deserialize_any(Visitor)
8139 }
8140}
8141
8142#[doc(hidden)]
8143impl serde::ser::Serialize for ZoneMetadata {
8144 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8145 where
8146 S: serde::ser::Serializer,
8147 {
8148 use serde::ser::SerializeMap;
8149 #[allow(unused_imports)]
8150 use std::option::Option::Some;
8151 let mut state = serializer.serialize_map(std::option::Option::None)?;
8152 if !self.quota.is_empty() {
8153 state.serialize_entry("quota", &self.quota)?;
8154 }
8155 if !self.rack_types.is_empty() {
8156 state.serialize_entry("rackTypes", &self.rack_types)?;
8157 }
8158 if self.config_data.is_some() {
8159 state.serialize_entry("configData", &self.config_data)?;
8160 }
8161 if !self._unknown_fields.is_empty() {
8162 for (key, value) in self._unknown_fields.iter() {
8163 state.serialize_entry(key, &value)?;
8164 }
8165 }
8166 state.end()
8167 }
8168}
8169
8170impl std::fmt::Debug for ZoneMetadata {
8171 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8172 let mut debug_struct = f.debug_struct("ZoneMetadata");
8173 debug_struct.field("quota", &self.quota);
8174 debug_struct.field("rack_types", &self.rack_types);
8175 debug_struct.field("config_data", &self.config_data);
8176 if !self._unknown_fields.is_empty() {
8177 debug_struct.field("_unknown_fields", &self._unknown_fields);
8178 }
8179 debug_struct.finish()
8180 }
8181}
8182
8183pub mod zone_metadata {
8185 #[allow(unused_imports)]
8186 use super::*;
8187
8188 #[derive(Clone, Debug, PartialEq)]
8204 #[non_exhaustive]
8205 pub enum RackType {
8206 Unspecified,
8208 Base,
8211 Expansion,
8214 UnknownValue(rack_type::UnknownValue),
8219 }
8220
8221 #[doc(hidden)]
8222 pub mod rack_type {
8223 #[allow(unused_imports)]
8224 use super::*;
8225 #[derive(Clone, Debug, PartialEq)]
8226 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
8227 }
8228
8229 impl RackType {
8230 pub fn value(&self) -> std::option::Option<i32> {
8235 match self {
8236 Self::Unspecified => std::option::Option::Some(0),
8237 Self::Base => std::option::Option::Some(1),
8238 Self::Expansion => std::option::Option::Some(2),
8239 Self::UnknownValue(u) => u.0.value(),
8240 }
8241 }
8242
8243 pub fn name(&self) -> std::option::Option<&str> {
8248 match self {
8249 Self::Unspecified => std::option::Option::Some("RACK_TYPE_UNSPECIFIED"),
8250 Self::Base => std::option::Option::Some("BASE"),
8251 Self::Expansion => std::option::Option::Some("EXPANSION"),
8252 Self::UnknownValue(u) => u.0.name(),
8253 }
8254 }
8255 }
8256
8257 impl std::default::Default for RackType {
8258 fn default() -> Self {
8259 use std::convert::From;
8260 Self::from(0)
8261 }
8262 }
8263
8264 impl std::fmt::Display for RackType {
8265 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
8266 wkt::internal::display_enum(f, self.name(), self.value())
8267 }
8268 }
8269
8270 impl std::convert::From<i32> for RackType {
8271 fn from(value: i32) -> Self {
8272 match value {
8273 0 => Self::Unspecified,
8274 1 => Self::Base,
8275 2 => Self::Expansion,
8276 _ => Self::UnknownValue(rack_type::UnknownValue(
8277 wkt::internal::UnknownEnumValue::Integer(value),
8278 )),
8279 }
8280 }
8281 }
8282
8283 impl std::convert::From<&str> for RackType {
8284 fn from(value: &str) -> Self {
8285 use std::string::ToString;
8286 match value {
8287 "RACK_TYPE_UNSPECIFIED" => Self::Unspecified,
8288 "BASE" => Self::Base,
8289 "EXPANSION" => Self::Expansion,
8290 _ => Self::UnknownValue(rack_type::UnknownValue(
8291 wkt::internal::UnknownEnumValue::String(value.to_string()),
8292 )),
8293 }
8294 }
8295 }
8296
8297 impl serde::ser::Serialize for RackType {
8298 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8299 where
8300 S: serde::Serializer,
8301 {
8302 match self {
8303 Self::Unspecified => serializer.serialize_i32(0),
8304 Self::Base => serializer.serialize_i32(1),
8305 Self::Expansion => serializer.serialize_i32(2),
8306 Self::UnknownValue(u) => u.0.serialize(serializer),
8307 }
8308 }
8309 }
8310
8311 impl<'de> serde::de::Deserialize<'de> for RackType {
8312 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8313 where
8314 D: serde::Deserializer<'de>,
8315 {
8316 deserializer.deserialize_any(wkt::internal::EnumVisitor::<RackType>::new(
8317 ".google.cloud.edgecontainer.v1.ZoneMetadata.RackType",
8318 ))
8319 }
8320 }
8321}
8322
8323#[derive(Clone, Default, PartialEq)]
8325#[non_exhaustive]
8326pub struct ConfigData {
8327 pub available_external_lb_pools_ipv4: std::vec::Vec<std::string::String>,
8329
8330 pub available_external_lb_pools_ipv6: std::vec::Vec<std::string::String>,
8332
8333 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
8334}
8335
8336impl ConfigData {
8337 pub fn new() -> Self {
8338 std::default::Default::default()
8339 }
8340
8341 pub fn set_available_external_lb_pools_ipv4<T, V>(mut self, v: T) -> Self
8343 where
8344 T: std::iter::IntoIterator<Item = V>,
8345 V: std::convert::Into<std::string::String>,
8346 {
8347 use std::iter::Iterator;
8348 self.available_external_lb_pools_ipv4 = v.into_iter().map(|i| i.into()).collect();
8349 self
8350 }
8351
8352 pub fn set_available_external_lb_pools_ipv6<T, V>(mut self, v: T) -> Self
8354 where
8355 T: std::iter::IntoIterator<Item = V>,
8356 V: std::convert::Into<std::string::String>,
8357 {
8358 use std::iter::Iterator;
8359 self.available_external_lb_pools_ipv6 = v.into_iter().map(|i| i.into()).collect();
8360 self
8361 }
8362}
8363
8364impl wkt::message::Message for ConfigData {
8365 fn typename() -> &'static str {
8366 "type.googleapis.com/google.cloud.edgecontainer.v1.ConfigData"
8367 }
8368}
8369
8370#[doc(hidden)]
8371impl<'de> serde::de::Deserialize<'de> for ConfigData {
8372 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8373 where
8374 D: serde::Deserializer<'de>,
8375 {
8376 #[allow(non_camel_case_types)]
8377 #[doc(hidden)]
8378 #[derive(PartialEq, Eq, Hash)]
8379 enum __FieldTag {
8380 __available_external_lb_pools_ipv4,
8381 __available_external_lb_pools_ipv6,
8382 Unknown(std::string::String),
8383 }
8384 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
8385 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8386 where
8387 D: serde::Deserializer<'de>,
8388 {
8389 struct Visitor;
8390 impl<'de> serde::de::Visitor<'de> for Visitor {
8391 type Value = __FieldTag;
8392 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8393 formatter.write_str("a field name for ConfigData")
8394 }
8395 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
8396 where
8397 E: serde::de::Error,
8398 {
8399 use std::result::Result::Ok;
8400 use std::string::ToString;
8401 match value {
8402 "availableExternalLbPoolsIpv4" => {
8403 Ok(__FieldTag::__available_external_lb_pools_ipv4)
8404 }
8405 "available_external_lb_pools_ipv4" => {
8406 Ok(__FieldTag::__available_external_lb_pools_ipv4)
8407 }
8408 "availableExternalLbPoolsIpv6" => {
8409 Ok(__FieldTag::__available_external_lb_pools_ipv6)
8410 }
8411 "available_external_lb_pools_ipv6" => {
8412 Ok(__FieldTag::__available_external_lb_pools_ipv6)
8413 }
8414 _ => Ok(__FieldTag::Unknown(value.to_string())),
8415 }
8416 }
8417 }
8418 deserializer.deserialize_identifier(Visitor)
8419 }
8420 }
8421 struct Visitor;
8422 impl<'de> serde::de::Visitor<'de> for Visitor {
8423 type Value = ConfigData;
8424 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8425 formatter.write_str("struct ConfigData")
8426 }
8427 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
8428 where
8429 A: serde::de::MapAccess<'de>,
8430 {
8431 #[allow(unused_imports)]
8432 use serde::de::Error;
8433 use std::option::Option::Some;
8434 let mut fields = std::collections::HashSet::new();
8435 let mut result = Self::Value::new();
8436 while let Some(tag) = map.next_key::<__FieldTag>()? {
8437 #[allow(clippy::match_single_binding)]
8438 match tag {
8439 __FieldTag::__available_external_lb_pools_ipv4 => {
8440 if !fields.insert(__FieldTag::__available_external_lb_pools_ipv4) {
8441 return std::result::Result::Err(A::Error::duplicate_field(
8442 "multiple values for available_external_lb_pools_ipv4",
8443 ));
8444 }
8445 result.available_external_lb_pools_ipv4 = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
8446 }
8447 __FieldTag::__available_external_lb_pools_ipv6 => {
8448 if !fields.insert(__FieldTag::__available_external_lb_pools_ipv6) {
8449 return std::result::Result::Err(A::Error::duplicate_field(
8450 "multiple values for available_external_lb_pools_ipv6",
8451 ));
8452 }
8453 result.available_external_lb_pools_ipv6 = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
8454 }
8455 __FieldTag::Unknown(key) => {
8456 let value = map.next_value::<serde_json::Value>()?;
8457 result._unknown_fields.insert(key, value);
8458 }
8459 }
8460 }
8461 std::result::Result::Ok(result)
8462 }
8463 }
8464 deserializer.deserialize_any(Visitor)
8465 }
8466}
8467
8468#[doc(hidden)]
8469impl serde::ser::Serialize for ConfigData {
8470 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8471 where
8472 S: serde::ser::Serializer,
8473 {
8474 use serde::ser::SerializeMap;
8475 #[allow(unused_imports)]
8476 use std::option::Option::Some;
8477 let mut state = serializer.serialize_map(std::option::Option::None)?;
8478 if !self.available_external_lb_pools_ipv4.is_empty() {
8479 state.serialize_entry(
8480 "availableExternalLbPoolsIpv4",
8481 &self.available_external_lb_pools_ipv4,
8482 )?;
8483 }
8484 if !self.available_external_lb_pools_ipv6.is_empty() {
8485 state.serialize_entry(
8486 "availableExternalLbPoolsIpv6",
8487 &self.available_external_lb_pools_ipv6,
8488 )?;
8489 }
8490 if !self._unknown_fields.is_empty() {
8491 for (key, value) in self._unknown_fields.iter() {
8492 state.serialize_entry(key, &value)?;
8493 }
8494 }
8495 state.end()
8496 }
8497}
8498
8499impl std::fmt::Debug for ConfigData {
8500 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8501 let mut debug_struct = f.debug_struct("ConfigData");
8502 debug_struct.field(
8503 "available_external_lb_pools_ipv4",
8504 &self.available_external_lb_pools_ipv4,
8505 );
8506 debug_struct.field(
8507 "available_external_lb_pools_ipv6",
8508 &self.available_external_lb_pools_ipv6,
8509 );
8510 if !self._unknown_fields.is_empty() {
8511 debug_struct.field("_unknown_fields", &self._unknown_fields);
8512 }
8513 debug_struct.finish()
8514 }
8515}
8516
8517#[derive(Clone, Default, PartialEq)]
8519#[non_exhaustive]
8520pub struct Quota {
8521 pub metric: std::string::String,
8523
8524 pub limit: f64,
8526
8527 pub usage: f64,
8529
8530 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
8531}
8532
8533impl Quota {
8534 pub fn new() -> Self {
8535 std::default::Default::default()
8536 }
8537
8538 pub fn set_metric<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
8540 self.metric = v.into();
8541 self
8542 }
8543
8544 pub fn set_limit<T: std::convert::Into<f64>>(mut self, v: T) -> Self {
8546 self.limit = v.into();
8547 self
8548 }
8549
8550 pub fn set_usage<T: std::convert::Into<f64>>(mut self, v: T) -> Self {
8552 self.usage = v.into();
8553 self
8554 }
8555}
8556
8557impl wkt::message::Message for Quota {
8558 fn typename() -> &'static str {
8559 "type.googleapis.com/google.cloud.edgecontainer.v1.Quota"
8560 }
8561}
8562
8563#[doc(hidden)]
8564impl<'de> serde::de::Deserialize<'de> for Quota {
8565 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8566 where
8567 D: serde::Deserializer<'de>,
8568 {
8569 #[allow(non_camel_case_types)]
8570 #[doc(hidden)]
8571 #[derive(PartialEq, Eq, Hash)]
8572 enum __FieldTag {
8573 __metric,
8574 __limit,
8575 __usage,
8576 Unknown(std::string::String),
8577 }
8578 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
8579 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8580 where
8581 D: serde::Deserializer<'de>,
8582 {
8583 struct Visitor;
8584 impl<'de> serde::de::Visitor<'de> for Visitor {
8585 type Value = __FieldTag;
8586 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8587 formatter.write_str("a field name for Quota")
8588 }
8589 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
8590 where
8591 E: serde::de::Error,
8592 {
8593 use std::result::Result::Ok;
8594 use std::string::ToString;
8595 match value {
8596 "metric" => Ok(__FieldTag::__metric),
8597 "limit" => Ok(__FieldTag::__limit),
8598 "usage" => Ok(__FieldTag::__usage),
8599 _ => Ok(__FieldTag::Unknown(value.to_string())),
8600 }
8601 }
8602 }
8603 deserializer.deserialize_identifier(Visitor)
8604 }
8605 }
8606 struct Visitor;
8607 impl<'de> serde::de::Visitor<'de> for Visitor {
8608 type Value = Quota;
8609 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8610 formatter.write_str("struct Quota")
8611 }
8612 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
8613 where
8614 A: serde::de::MapAccess<'de>,
8615 {
8616 #[allow(unused_imports)]
8617 use serde::de::Error;
8618 use std::option::Option::Some;
8619 let mut fields = std::collections::HashSet::new();
8620 let mut result = Self::Value::new();
8621 while let Some(tag) = map.next_key::<__FieldTag>()? {
8622 #[allow(clippy::match_single_binding)]
8623 match tag {
8624 __FieldTag::__metric => {
8625 if !fields.insert(__FieldTag::__metric) {
8626 return std::result::Result::Err(A::Error::duplicate_field(
8627 "multiple values for metric",
8628 ));
8629 }
8630 result.metric = map
8631 .next_value::<std::option::Option<std::string::String>>()?
8632 .unwrap_or_default();
8633 }
8634 __FieldTag::__limit => {
8635 if !fields.insert(__FieldTag::__limit) {
8636 return std::result::Result::Err(A::Error::duplicate_field(
8637 "multiple values for limit",
8638 ));
8639 }
8640 struct __With(std::option::Option<f64>);
8641 impl<'de> serde::de::Deserialize<'de> for __With {
8642 fn deserialize<D>(
8643 deserializer: D,
8644 ) -> std::result::Result<Self, D::Error>
8645 where
8646 D: serde::de::Deserializer<'de>,
8647 {
8648 serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
8649 }
8650 }
8651 result.limit = map.next_value::<__With>()?.0.unwrap_or_default();
8652 }
8653 __FieldTag::__usage => {
8654 if !fields.insert(__FieldTag::__usage) {
8655 return std::result::Result::Err(A::Error::duplicate_field(
8656 "multiple values for usage",
8657 ));
8658 }
8659 struct __With(std::option::Option<f64>);
8660 impl<'de> serde::de::Deserialize<'de> for __With {
8661 fn deserialize<D>(
8662 deserializer: D,
8663 ) -> std::result::Result<Self, D::Error>
8664 where
8665 D: serde::de::Deserializer<'de>,
8666 {
8667 serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
8668 }
8669 }
8670 result.usage = map.next_value::<__With>()?.0.unwrap_or_default();
8671 }
8672 __FieldTag::Unknown(key) => {
8673 let value = map.next_value::<serde_json::Value>()?;
8674 result._unknown_fields.insert(key, value);
8675 }
8676 }
8677 }
8678 std::result::Result::Ok(result)
8679 }
8680 }
8681 deserializer.deserialize_any(Visitor)
8682 }
8683}
8684
8685#[doc(hidden)]
8686impl serde::ser::Serialize for Quota {
8687 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8688 where
8689 S: serde::ser::Serializer,
8690 {
8691 use serde::ser::SerializeMap;
8692 #[allow(unused_imports)]
8693 use std::option::Option::Some;
8694 let mut state = serializer.serialize_map(std::option::Option::None)?;
8695 if !self.metric.is_empty() {
8696 state.serialize_entry("metric", &self.metric)?;
8697 }
8698 if !wkt::internal::is_default(&self.limit) {
8699 struct __With<'a>(&'a f64);
8700 impl<'a> serde::ser::Serialize for __With<'a> {
8701 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8702 where
8703 S: serde::ser::Serializer,
8704 {
8705 serde_with::As::<wkt::internal::F64>::serialize(self.0, serializer)
8706 }
8707 }
8708 state.serialize_entry("limit", &__With(&self.limit))?;
8709 }
8710 if !wkt::internal::is_default(&self.usage) {
8711 struct __With<'a>(&'a f64);
8712 impl<'a> serde::ser::Serialize for __With<'a> {
8713 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8714 where
8715 S: serde::ser::Serializer,
8716 {
8717 serde_with::As::<wkt::internal::F64>::serialize(self.0, serializer)
8718 }
8719 }
8720 state.serialize_entry("usage", &__With(&self.usage))?;
8721 }
8722 if !self._unknown_fields.is_empty() {
8723 for (key, value) in self._unknown_fields.iter() {
8724 state.serialize_entry(key, &value)?;
8725 }
8726 }
8727 state.end()
8728 }
8729}
8730
8731impl std::fmt::Debug for Quota {
8732 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8733 let mut debug_struct = f.debug_struct("Quota");
8734 debug_struct.field("metric", &self.metric);
8735 debug_struct.field("limit", &self.limit);
8736 debug_struct.field("usage", &self.usage);
8737 if !self._unknown_fields.is_empty() {
8738 debug_struct.field("_unknown_fields", &self._unknown_fields);
8739 }
8740 debug_struct.finish()
8741 }
8742}
8743
8744#[derive(Clone, Default, PartialEq)]
8746#[non_exhaustive]
8747pub struct MaintenancePolicy {
8748 pub window: std::option::Option<crate::model::MaintenanceWindow>,
8750
8751 pub maintenance_exclusions: std::vec::Vec<crate::model::MaintenanceExclusionWindow>,
8756
8757 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
8758}
8759
8760impl MaintenancePolicy {
8761 pub fn new() -> Self {
8762 std::default::Default::default()
8763 }
8764
8765 pub fn set_window<T>(mut self, v: T) -> Self
8767 where
8768 T: std::convert::Into<crate::model::MaintenanceWindow>,
8769 {
8770 self.window = std::option::Option::Some(v.into());
8771 self
8772 }
8773
8774 pub fn set_or_clear_window<T>(mut self, v: std::option::Option<T>) -> Self
8776 where
8777 T: std::convert::Into<crate::model::MaintenanceWindow>,
8778 {
8779 self.window = v.map(|x| x.into());
8780 self
8781 }
8782
8783 pub fn set_maintenance_exclusions<T, V>(mut self, v: T) -> Self
8785 where
8786 T: std::iter::IntoIterator<Item = V>,
8787 V: std::convert::Into<crate::model::MaintenanceExclusionWindow>,
8788 {
8789 use std::iter::Iterator;
8790 self.maintenance_exclusions = v.into_iter().map(|i| i.into()).collect();
8791 self
8792 }
8793}
8794
8795impl wkt::message::Message for MaintenancePolicy {
8796 fn typename() -> &'static str {
8797 "type.googleapis.com/google.cloud.edgecontainer.v1.MaintenancePolicy"
8798 }
8799}
8800
8801#[doc(hidden)]
8802impl<'de> serde::de::Deserialize<'de> for MaintenancePolicy {
8803 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8804 where
8805 D: serde::Deserializer<'de>,
8806 {
8807 #[allow(non_camel_case_types)]
8808 #[doc(hidden)]
8809 #[derive(PartialEq, Eq, Hash)]
8810 enum __FieldTag {
8811 __window,
8812 __maintenance_exclusions,
8813 Unknown(std::string::String),
8814 }
8815 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
8816 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8817 where
8818 D: serde::Deserializer<'de>,
8819 {
8820 struct Visitor;
8821 impl<'de> serde::de::Visitor<'de> for Visitor {
8822 type Value = __FieldTag;
8823 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8824 formatter.write_str("a field name for MaintenancePolicy")
8825 }
8826 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
8827 where
8828 E: serde::de::Error,
8829 {
8830 use std::result::Result::Ok;
8831 use std::string::ToString;
8832 match value {
8833 "window" => Ok(__FieldTag::__window),
8834 "maintenanceExclusions" => Ok(__FieldTag::__maintenance_exclusions),
8835 "maintenance_exclusions" => Ok(__FieldTag::__maintenance_exclusions),
8836 _ => Ok(__FieldTag::Unknown(value.to_string())),
8837 }
8838 }
8839 }
8840 deserializer.deserialize_identifier(Visitor)
8841 }
8842 }
8843 struct Visitor;
8844 impl<'de> serde::de::Visitor<'de> for Visitor {
8845 type Value = MaintenancePolicy;
8846 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8847 formatter.write_str("struct MaintenancePolicy")
8848 }
8849 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
8850 where
8851 A: serde::de::MapAccess<'de>,
8852 {
8853 #[allow(unused_imports)]
8854 use serde::de::Error;
8855 use std::option::Option::Some;
8856 let mut fields = std::collections::HashSet::new();
8857 let mut result = Self::Value::new();
8858 while let Some(tag) = map.next_key::<__FieldTag>()? {
8859 #[allow(clippy::match_single_binding)]
8860 match tag {
8861 __FieldTag::__window => {
8862 if !fields.insert(__FieldTag::__window) {
8863 return std::result::Result::Err(A::Error::duplicate_field(
8864 "multiple values for window",
8865 ));
8866 }
8867 result.window = map
8868 .next_value::<std::option::Option<crate::model::MaintenanceWindow>>(
8869 )?;
8870 }
8871 __FieldTag::__maintenance_exclusions => {
8872 if !fields.insert(__FieldTag::__maintenance_exclusions) {
8873 return std::result::Result::Err(A::Error::duplicate_field(
8874 "multiple values for maintenance_exclusions",
8875 ));
8876 }
8877 result.maintenance_exclusions = map
8878 .next_value::<std::option::Option<
8879 std::vec::Vec<crate::model::MaintenanceExclusionWindow>,
8880 >>()?
8881 .unwrap_or_default();
8882 }
8883 __FieldTag::Unknown(key) => {
8884 let value = map.next_value::<serde_json::Value>()?;
8885 result._unknown_fields.insert(key, value);
8886 }
8887 }
8888 }
8889 std::result::Result::Ok(result)
8890 }
8891 }
8892 deserializer.deserialize_any(Visitor)
8893 }
8894}
8895
8896#[doc(hidden)]
8897impl serde::ser::Serialize for MaintenancePolicy {
8898 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8899 where
8900 S: serde::ser::Serializer,
8901 {
8902 use serde::ser::SerializeMap;
8903 #[allow(unused_imports)]
8904 use std::option::Option::Some;
8905 let mut state = serializer.serialize_map(std::option::Option::None)?;
8906 if self.window.is_some() {
8907 state.serialize_entry("window", &self.window)?;
8908 }
8909 if !self.maintenance_exclusions.is_empty() {
8910 state.serialize_entry("maintenanceExclusions", &self.maintenance_exclusions)?;
8911 }
8912 if !self._unknown_fields.is_empty() {
8913 for (key, value) in self._unknown_fields.iter() {
8914 state.serialize_entry(key, &value)?;
8915 }
8916 }
8917 state.end()
8918 }
8919}
8920
8921impl std::fmt::Debug for MaintenancePolicy {
8922 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8923 let mut debug_struct = f.debug_struct("MaintenancePolicy");
8924 debug_struct.field("window", &self.window);
8925 debug_struct.field("maintenance_exclusions", &self.maintenance_exclusions);
8926 if !self._unknown_fields.is_empty() {
8927 debug_struct.field("_unknown_fields", &self._unknown_fields);
8928 }
8929 debug_struct.finish()
8930 }
8931}
8932
8933#[derive(Clone, Default, PartialEq)]
8935#[non_exhaustive]
8936pub struct MaintenanceWindow {
8937 pub recurring_window: std::option::Option<crate::model::RecurringTimeWindow>,
8939
8940 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
8941}
8942
8943impl MaintenanceWindow {
8944 pub fn new() -> Self {
8945 std::default::Default::default()
8946 }
8947
8948 pub fn set_recurring_window<T>(mut self, v: T) -> Self
8950 where
8951 T: std::convert::Into<crate::model::RecurringTimeWindow>,
8952 {
8953 self.recurring_window = std::option::Option::Some(v.into());
8954 self
8955 }
8956
8957 pub fn set_or_clear_recurring_window<T>(mut self, v: std::option::Option<T>) -> Self
8959 where
8960 T: std::convert::Into<crate::model::RecurringTimeWindow>,
8961 {
8962 self.recurring_window = v.map(|x| x.into());
8963 self
8964 }
8965}
8966
8967impl wkt::message::Message for MaintenanceWindow {
8968 fn typename() -> &'static str {
8969 "type.googleapis.com/google.cloud.edgecontainer.v1.MaintenanceWindow"
8970 }
8971}
8972
8973#[doc(hidden)]
8974impl<'de> serde::de::Deserialize<'de> for MaintenanceWindow {
8975 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8976 where
8977 D: serde::Deserializer<'de>,
8978 {
8979 #[allow(non_camel_case_types)]
8980 #[doc(hidden)]
8981 #[derive(PartialEq, Eq, Hash)]
8982 enum __FieldTag {
8983 __recurring_window,
8984 Unknown(std::string::String),
8985 }
8986 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
8987 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8988 where
8989 D: serde::Deserializer<'de>,
8990 {
8991 struct Visitor;
8992 impl<'de> serde::de::Visitor<'de> for Visitor {
8993 type Value = __FieldTag;
8994 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
8995 formatter.write_str("a field name for MaintenanceWindow")
8996 }
8997 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
8998 where
8999 E: serde::de::Error,
9000 {
9001 use std::result::Result::Ok;
9002 use std::string::ToString;
9003 match value {
9004 "recurringWindow" => Ok(__FieldTag::__recurring_window),
9005 "recurring_window" => Ok(__FieldTag::__recurring_window),
9006 _ => Ok(__FieldTag::Unknown(value.to_string())),
9007 }
9008 }
9009 }
9010 deserializer.deserialize_identifier(Visitor)
9011 }
9012 }
9013 struct Visitor;
9014 impl<'de> serde::de::Visitor<'de> for Visitor {
9015 type Value = MaintenanceWindow;
9016 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9017 formatter.write_str("struct MaintenanceWindow")
9018 }
9019 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
9020 where
9021 A: serde::de::MapAccess<'de>,
9022 {
9023 #[allow(unused_imports)]
9024 use serde::de::Error;
9025 use std::option::Option::Some;
9026 let mut fields = std::collections::HashSet::new();
9027 let mut result = Self::Value::new();
9028 while let Some(tag) = map.next_key::<__FieldTag>()? {
9029 #[allow(clippy::match_single_binding)]
9030 match tag {
9031 __FieldTag::__recurring_window => {
9032 if !fields.insert(__FieldTag::__recurring_window) {
9033 return std::result::Result::Err(A::Error::duplicate_field(
9034 "multiple values for recurring_window",
9035 ));
9036 }
9037 result.recurring_window = map.next_value::<std::option::Option<crate::model::RecurringTimeWindow>>()?
9038 ;
9039 }
9040 __FieldTag::Unknown(key) => {
9041 let value = map.next_value::<serde_json::Value>()?;
9042 result._unknown_fields.insert(key, value);
9043 }
9044 }
9045 }
9046 std::result::Result::Ok(result)
9047 }
9048 }
9049 deserializer.deserialize_any(Visitor)
9050 }
9051}
9052
9053#[doc(hidden)]
9054impl serde::ser::Serialize for MaintenanceWindow {
9055 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9056 where
9057 S: serde::ser::Serializer,
9058 {
9059 use serde::ser::SerializeMap;
9060 #[allow(unused_imports)]
9061 use std::option::Option::Some;
9062 let mut state = serializer.serialize_map(std::option::Option::None)?;
9063 if self.recurring_window.is_some() {
9064 state.serialize_entry("recurringWindow", &self.recurring_window)?;
9065 }
9066 if !self._unknown_fields.is_empty() {
9067 for (key, value) in self._unknown_fields.iter() {
9068 state.serialize_entry(key, &value)?;
9069 }
9070 }
9071 state.end()
9072 }
9073}
9074
9075impl std::fmt::Debug for MaintenanceWindow {
9076 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9077 let mut debug_struct = f.debug_struct("MaintenanceWindow");
9078 debug_struct.field("recurring_window", &self.recurring_window);
9079 if !self._unknown_fields.is_empty() {
9080 debug_struct.field("_unknown_fields", &self._unknown_fields);
9081 }
9082 debug_struct.finish()
9083 }
9084}
9085
9086#[derive(Clone, Default, PartialEq)]
9088#[non_exhaustive]
9089pub struct RecurringTimeWindow {
9090 pub window: std::option::Option<crate::model::TimeWindow>,
9092
9093 pub recurrence: std::string::String,
9097
9098 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
9099}
9100
9101impl RecurringTimeWindow {
9102 pub fn new() -> Self {
9103 std::default::Default::default()
9104 }
9105
9106 pub fn set_window<T>(mut self, v: T) -> Self
9108 where
9109 T: std::convert::Into<crate::model::TimeWindow>,
9110 {
9111 self.window = std::option::Option::Some(v.into());
9112 self
9113 }
9114
9115 pub fn set_or_clear_window<T>(mut self, v: std::option::Option<T>) -> Self
9117 where
9118 T: std::convert::Into<crate::model::TimeWindow>,
9119 {
9120 self.window = v.map(|x| x.into());
9121 self
9122 }
9123
9124 pub fn set_recurrence<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
9126 self.recurrence = v.into();
9127 self
9128 }
9129}
9130
9131impl wkt::message::Message for RecurringTimeWindow {
9132 fn typename() -> &'static str {
9133 "type.googleapis.com/google.cloud.edgecontainer.v1.RecurringTimeWindow"
9134 }
9135}
9136
9137#[doc(hidden)]
9138impl<'de> serde::de::Deserialize<'de> for RecurringTimeWindow {
9139 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9140 where
9141 D: serde::Deserializer<'de>,
9142 {
9143 #[allow(non_camel_case_types)]
9144 #[doc(hidden)]
9145 #[derive(PartialEq, Eq, Hash)]
9146 enum __FieldTag {
9147 __window,
9148 __recurrence,
9149 Unknown(std::string::String),
9150 }
9151 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
9152 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9153 where
9154 D: serde::Deserializer<'de>,
9155 {
9156 struct Visitor;
9157 impl<'de> serde::de::Visitor<'de> for Visitor {
9158 type Value = __FieldTag;
9159 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9160 formatter.write_str("a field name for RecurringTimeWindow")
9161 }
9162 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
9163 where
9164 E: serde::de::Error,
9165 {
9166 use std::result::Result::Ok;
9167 use std::string::ToString;
9168 match value {
9169 "window" => Ok(__FieldTag::__window),
9170 "recurrence" => Ok(__FieldTag::__recurrence),
9171 _ => Ok(__FieldTag::Unknown(value.to_string())),
9172 }
9173 }
9174 }
9175 deserializer.deserialize_identifier(Visitor)
9176 }
9177 }
9178 struct Visitor;
9179 impl<'de> serde::de::Visitor<'de> for Visitor {
9180 type Value = RecurringTimeWindow;
9181 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9182 formatter.write_str("struct RecurringTimeWindow")
9183 }
9184 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
9185 where
9186 A: serde::de::MapAccess<'de>,
9187 {
9188 #[allow(unused_imports)]
9189 use serde::de::Error;
9190 use std::option::Option::Some;
9191 let mut fields = std::collections::HashSet::new();
9192 let mut result = Self::Value::new();
9193 while let Some(tag) = map.next_key::<__FieldTag>()? {
9194 #[allow(clippy::match_single_binding)]
9195 match tag {
9196 __FieldTag::__window => {
9197 if !fields.insert(__FieldTag::__window) {
9198 return std::result::Result::Err(A::Error::duplicate_field(
9199 "multiple values for window",
9200 ));
9201 }
9202 result.window =
9203 map.next_value::<std::option::Option<crate::model::TimeWindow>>()?;
9204 }
9205 __FieldTag::__recurrence => {
9206 if !fields.insert(__FieldTag::__recurrence) {
9207 return std::result::Result::Err(A::Error::duplicate_field(
9208 "multiple values for recurrence",
9209 ));
9210 }
9211 result.recurrence = map
9212 .next_value::<std::option::Option<std::string::String>>()?
9213 .unwrap_or_default();
9214 }
9215 __FieldTag::Unknown(key) => {
9216 let value = map.next_value::<serde_json::Value>()?;
9217 result._unknown_fields.insert(key, value);
9218 }
9219 }
9220 }
9221 std::result::Result::Ok(result)
9222 }
9223 }
9224 deserializer.deserialize_any(Visitor)
9225 }
9226}
9227
9228#[doc(hidden)]
9229impl serde::ser::Serialize for RecurringTimeWindow {
9230 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9231 where
9232 S: serde::ser::Serializer,
9233 {
9234 use serde::ser::SerializeMap;
9235 #[allow(unused_imports)]
9236 use std::option::Option::Some;
9237 let mut state = serializer.serialize_map(std::option::Option::None)?;
9238 if self.window.is_some() {
9239 state.serialize_entry("window", &self.window)?;
9240 }
9241 if !self.recurrence.is_empty() {
9242 state.serialize_entry("recurrence", &self.recurrence)?;
9243 }
9244 if !self._unknown_fields.is_empty() {
9245 for (key, value) in self._unknown_fields.iter() {
9246 state.serialize_entry(key, &value)?;
9247 }
9248 }
9249 state.end()
9250 }
9251}
9252
9253impl std::fmt::Debug for RecurringTimeWindow {
9254 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9255 let mut debug_struct = f.debug_struct("RecurringTimeWindow");
9256 debug_struct.field("window", &self.window);
9257 debug_struct.field("recurrence", &self.recurrence);
9258 if !self._unknown_fields.is_empty() {
9259 debug_struct.field("_unknown_fields", &self._unknown_fields);
9260 }
9261 debug_struct.finish()
9262 }
9263}
9264
9265#[derive(Clone, Default, PartialEq)]
9267#[non_exhaustive]
9268pub struct MaintenanceExclusionWindow {
9269 pub window: std::option::Option<crate::model::TimeWindow>,
9271
9272 pub id: std::string::String,
9274
9275 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
9276}
9277
9278impl MaintenanceExclusionWindow {
9279 pub fn new() -> Self {
9280 std::default::Default::default()
9281 }
9282
9283 pub fn set_window<T>(mut self, v: T) -> Self
9285 where
9286 T: std::convert::Into<crate::model::TimeWindow>,
9287 {
9288 self.window = std::option::Option::Some(v.into());
9289 self
9290 }
9291
9292 pub fn set_or_clear_window<T>(mut self, v: std::option::Option<T>) -> Self
9294 where
9295 T: std::convert::Into<crate::model::TimeWindow>,
9296 {
9297 self.window = v.map(|x| x.into());
9298 self
9299 }
9300
9301 pub fn set_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
9303 self.id = v.into();
9304 self
9305 }
9306}
9307
9308impl wkt::message::Message for MaintenanceExclusionWindow {
9309 fn typename() -> &'static str {
9310 "type.googleapis.com/google.cloud.edgecontainer.v1.MaintenanceExclusionWindow"
9311 }
9312}
9313
9314#[doc(hidden)]
9315impl<'de> serde::de::Deserialize<'de> for MaintenanceExclusionWindow {
9316 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9317 where
9318 D: serde::Deserializer<'de>,
9319 {
9320 #[allow(non_camel_case_types)]
9321 #[doc(hidden)]
9322 #[derive(PartialEq, Eq, Hash)]
9323 enum __FieldTag {
9324 __window,
9325 __id,
9326 Unknown(std::string::String),
9327 }
9328 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
9329 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9330 where
9331 D: serde::Deserializer<'de>,
9332 {
9333 struct Visitor;
9334 impl<'de> serde::de::Visitor<'de> for Visitor {
9335 type Value = __FieldTag;
9336 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9337 formatter.write_str("a field name for MaintenanceExclusionWindow")
9338 }
9339 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
9340 where
9341 E: serde::de::Error,
9342 {
9343 use std::result::Result::Ok;
9344 use std::string::ToString;
9345 match value {
9346 "window" => Ok(__FieldTag::__window),
9347 "id" => Ok(__FieldTag::__id),
9348 _ => Ok(__FieldTag::Unknown(value.to_string())),
9349 }
9350 }
9351 }
9352 deserializer.deserialize_identifier(Visitor)
9353 }
9354 }
9355 struct Visitor;
9356 impl<'de> serde::de::Visitor<'de> for Visitor {
9357 type Value = MaintenanceExclusionWindow;
9358 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9359 formatter.write_str("struct MaintenanceExclusionWindow")
9360 }
9361 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
9362 where
9363 A: serde::de::MapAccess<'de>,
9364 {
9365 #[allow(unused_imports)]
9366 use serde::de::Error;
9367 use std::option::Option::Some;
9368 let mut fields = std::collections::HashSet::new();
9369 let mut result = Self::Value::new();
9370 while let Some(tag) = map.next_key::<__FieldTag>()? {
9371 #[allow(clippy::match_single_binding)]
9372 match tag {
9373 __FieldTag::__window => {
9374 if !fields.insert(__FieldTag::__window) {
9375 return std::result::Result::Err(A::Error::duplicate_field(
9376 "multiple values for window",
9377 ));
9378 }
9379 result.window =
9380 map.next_value::<std::option::Option<crate::model::TimeWindow>>()?;
9381 }
9382 __FieldTag::__id => {
9383 if !fields.insert(__FieldTag::__id) {
9384 return std::result::Result::Err(A::Error::duplicate_field(
9385 "multiple values for id",
9386 ));
9387 }
9388 result.id = map
9389 .next_value::<std::option::Option<std::string::String>>()?
9390 .unwrap_or_default();
9391 }
9392 __FieldTag::Unknown(key) => {
9393 let value = map.next_value::<serde_json::Value>()?;
9394 result._unknown_fields.insert(key, value);
9395 }
9396 }
9397 }
9398 std::result::Result::Ok(result)
9399 }
9400 }
9401 deserializer.deserialize_any(Visitor)
9402 }
9403}
9404
9405#[doc(hidden)]
9406impl serde::ser::Serialize for MaintenanceExclusionWindow {
9407 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9408 where
9409 S: serde::ser::Serializer,
9410 {
9411 use serde::ser::SerializeMap;
9412 #[allow(unused_imports)]
9413 use std::option::Option::Some;
9414 let mut state = serializer.serialize_map(std::option::Option::None)?;
9415 if self.window.is_some() {
9416 state.serialize_entry("window", &self.window)?;
9417 }
9418 if !self.id.is_empty() {
9419 state.serialize_entry("id", &self.id)?;
9420 }
9421 if !self._unknown_fields.is_empty() {
9422 for (key, value) in self._unknown_fields.iter() {
9423 state.serialize_entry(key, &value)?;
9424 }
9425 }
9426 state.end()
9427 }
9428}
9429
9430impl std::fmt::Debug for MaintenanceExclusionWindow {
9431 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9432 let mut debug_struct = f.debug_struct("MaintenanceExclusionWindow");
9433 debug_struct.field("window", &self.window);
9434 debug_struct.field("id", &self.id);
9435 if !self._unknown_fields.is_empty() {
9436 debug_struct.field("_unknown_fields", &self._unknown_fields);
9437 }
9438 debug_struct.finish()
9439 }
9440}
9441
9442#[derive(Clone, Default, PartialEq)]
9444#[non_exhaustive]
9445pub struct TimeWindow {
9446 pub start_time: std::option::Option<wkt::Timestamp>,
9448
9449 pub end_time: std::option::Option<wkt::Timestamp>,
9452
9453 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
9454}
9455
9456impl TimeWindow {
9457 pub fn new() -> Self {
9458 std::default::Default::default()
9459 }
9460
9461 pub fn set_start_time<T>(mut self, v: T) -> Self
9463 where
9464 T: std::convert::Into<wkt::Timestamp>,
9465 {
9466 self.start_time = std::option::Option::Some(v.into());
9467 self
9468 }
9469
9470 pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
9472 where
9473 T: std::convert::Into<wkt::Timestamp>,
9474 {
9475 self.start_time = v.map(|x| x.into());
9476 self
9477 }
9478
9479 pub fn set_end_time<T>(mut self, v: T) -> Self
9481 where
9482 T: std::convert::Into<wkt::Timestamp>,
9483 {
9484 self.end_time = std::option::Option::Some(v.into());
9485 self
9486 }
9487
9488 pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
9490 where
9491 T: std::convert::Into<wkt::Timestamp>,
9492 {
9493 self.end_time = v.map(|x| x.into());
9494 self
9495 }
9496}
9497
9498impl wkt::message::Message for TimeWindow {
9499 fn typename() -> &'static str {
9500 "type.googleapis.com/google.cloud.edgecontainer.v1.TimeWindow"
9501 }
9502}
9503
9504#[doc(hidden)]
9505impl<'de> serde::de::Deserialize<'de> for TimeWindow {
9506 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9507 where
9508 D: serde::Deserializer<'de>,
9509 {
9510 #[allow(non_camel_case_types)]
9511 #[doc(hidden)]
9512 #[derive(PartialEq, Eq, Hash)]
9513 enum __FieldTag {
9514 __start_time,
9515 __end_time,
9516 Unknown(std::string::String),
9517 }
9518 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
9519 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9520 where
9521 D: serde::Deserializer<'de>,
9522 {
9523 struct Visitor;
9524 impl<'de> serde::de::Visitor<'de> for Visitor {
9525 type Value = __FieldTag;
9526 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9527 formatter.write_str("a field name for TimeWindow")
9528 }
9529 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
9530 where
9531 E: serde::de::Error,
9532 {
9533 use std::result::Result::Ok;
9534 use std::string::ToString;
9535 match value {
9536 "startTime" => Ok(__FieldTag::__start_time),
9537 "start_time" => Ok(__FieldTag::__start_time),
9538 "endTime" => Ok(__FieldTag::__end_time),
9539 "end_time" => Ok(__FieldTag::__end_time),
9540 _ => Ok(__FieldTag::Unknown(value.to_string())),
9541 }
9542 }
9543 }
9544 deserializer.deserialize_identifier(Visitor)
9545 }
9546 }
9547 struct Visitor;
9548 impl<'de> serde::de::Visitor<'de> for Visitor {
9549 type Value = TimeWindow;
9550 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9551 formatter.write_str("struct TimeWindow")
9552 }
9553 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
9554 where
9555 A: serde::de::MapAccess<'de>,
9556 {
9557 #[allow(unused_imports)]
9558 use serde::de::Error;
9559 use std::option::Option::Some;
9560 let mut fields = std::collections::HashSet::new();
9561 let mut result = Self::Value::new();
9562 while let Some(tag) = map.next_key::<__FieldTag>()? {
9563 #[allow(clippy::match_single_binding)]
9564 match tag {
9565 __FieldTag::__start_time => {
9566 if !fields.insert(__FieldTag::__start_time) {
9567 return std::result::Result::Err(A::Error::duplicate_field(
9568 "multiple values for start_time",
9569 ));
9570 }
9571 result.start_time =
9572 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
9573 }
9574 __FieldTag::__end_time => {
9575 if !fields.insert(__FieldTag::__end_time) {
9576 return std::result::Result::Err(A::Error::duplicate_field(
9577 "multiple values for end_time",
9578 ));
9579 }
9580 result.end_time =
9581 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
9582 }
9583 __FieldTag::Unknown(key) => {
9584 let value = map.next_value::<serde_json::Value>()?;
9585 result._unknown_fields.insert(key, value);
9586 }
9587 }
9588 }
9589 std::result::Result::Ok(result)
9590 }
9591 }
9592 deserializer.deserialize_any(Visitor)
9593 }
9594}
9595
9596#[doc(hidden)]
9597impl serde::ser::Serialize for TimeWindow {
9598 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9599 where
9600 S: serde::ser::Serializer,
9601 {
9602 use serde::ser::SerializeMap;
9603 #[allow(unused_imports)]
9604 use std::option::Option::Some;
9605 let mut state = serializer.serialize_map(std::option::Option::None)?;
9606 if self.start_time.is_some() {
9607 state.serialize_entry("startTime", &self.start_time)?;
9608 }
9609 if self.end_time.is_some() {
9610 state.serialize_entry("endTime", &self.end_time)?;
9611 }
9612 if !self._unknown_fields.is_empty() {
9613 for (key, value) in self._unknown_fields.iter() {
9614 state.serialize_entry(key, &value)?;
9615 }
9616 }
9617 state.end()
9618 }
9619}
9620
9621impl std::fmt::Debug for TimeWindow {
9622 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9623 let mut debug_struct = f.debug_struct("TimeWindow");
9624 debug_struct.field("start_time", &self.start_time);
9625 debug_struct.field("end_time", &self.end_time);
9626 if !self._unknown_fields.is_empty() {
9627 debug_struct.field("_unknown_fields", &self._unknown_fields);
9628 }
9629 debug_struct.finish()
9630 }
9631}
9632
9633#[derive(Clone, Default, PartialEq)]
9635#[non_exhaustive]
9636pub struct ServerConfig {
9637 pub channels: std::collections::HashMap<std::string::String, crate::model::ChannelConfig>,
9639
9640 pub versions: std::vec::Vec<crate::model::Version>,
9642
9643 pub default_version: std::string::String,
9645
9646 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
9647}
9648
9649impl ServerConfig {
9650 pub fn new() -> Self {
9651 std::default::Default::default()
9652 }
9653
9654 pub fn set_channels<T, K, V>(mut self, v: T) -> Self
9656 where
9657 T: std::iter::IntoIterator<Item = (K, V)>,
9658 K: std::convert::Into<std::string::String>,
9659 V: std::convert::Into<crate::model::ChannelConfig>,
9660 {
9661 use std::iter::Iterator;
9662 self.channels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
9663 self
9664 }
9665
9666 pub fn set_versions<T, V>(mut self, v: T) -> Self
9668 where
9669 T: std::iter::IntoIterator<Item = V>,
9670 V: std::convert::Into<crate::model::Version>,
9671 {
9672 use std::iter::Iterator;
9673 self.versions = v.into_iter().map(|i| i.into()).collect();
9674 self
9675 }
9676
9677 pub fn set_default_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
9679 self.default_version = v.into();
9680 self
9681 }
9682}
9683
9684impl wkt::message::Message for ServerConfig {
9685 fn typename() -> &'static str {
9686 "type.googleapis.com/google.cloud.edgecontainer.v1.ServerConfig"
9687 }
9688}
9689
9690#[doc(hidden)]
9691impl<'de> serde::de::Deserialize<'de> for ServerConfig {
9692 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9693 where
9694 D: serde::Deserializer<'de>,
9695 {
9696 #[allow(non_camel_case_types)]
9697 #[doc(hidden)]
9698 #[derive(PartialEq, Eq, Hash)]
9699 enum __FieldTag {
9700 __channels,
9701 __versions,
9702 __default_version,
9703 Unknown(std::string::String),
9704 }
9705 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
9706 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9707 where
9708 D: serde::Deserializer<'de>,
9709 {
9710 struct Visitor;
9711 impl<'de> serde::de::Visitor<'de> for Visitor {
9712 type Value = __FieldTag;
9713 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9714 formatter.write_str("a field name for ServerConfig")
9715 }
9716 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
9717 where
9718 E: serde::de::Error,
9719 {
9720 use std::result::Result::Ok;
9721 use std::string::ToString;
9722 match value {
9723 "channels" => Ok(__FieldTag::__channels),
9724 "versions" => Ok(__FieldTag::__versions),
9725 "defaultVersion" => Ok(__FieldTag::__default_version),
9726 "default_version" => Ok(__FieldTag::__default_version),
9727 _ => Ok(__FieldTag::Unknown(value.to_string())),
9728 }
9729 }
9730 }
9731 deserializer.deserialize_identifier(Visitor)
9732 }
9733 }
9734 struct Visitor;
9735 impl<'de> serde::de::Visitor<'de> for Visitor {
9736 type Value = ServerConfig;
9737 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9738 formatter.write_str("struct ServerConfig")
9739 }
9740 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
9741 where
9742 A: serde::de::MapAccess<'de>,
9743 {
9744 #[allow(unused_imports)]
9745 use serde::de::Error;
9746 use std::option::Option::Some;
9747 let mut fields = std::collections::HashSet::new();
9748 let mut result = Self::Value::new();
9749 while let Some(tag) = map.next_key::<__FieldTag>()? {
9750 #[allow(clippy::match_single_binding)]
9751 match tag {
9752 __FieldTag::__channels => {
9753 if !fields.insert(__FieldTag::__channels) {
9754 return std::result::Result::Err(A::Error::duplicate_field(
9755 "multiple values for channels",
9756 ));
9757 }
9758 result.channels = map
9759 .next_value::<std::option::Option<
9760 std::collections::HashMap<
9761 std::string::String,
9762 crate::model::ChannelConfig,
9763 >,
9764 >>()?
9765 .unwrap_or_default();
9766 }
9767 __FieldTag::__versions => {
9768 if !fields.insert(__FieldTag::__versions) {
9769 return std::result::Result::Err(A::Error::duplicate_field(
9770 "multiple values for versions",
9771 ));
9772 }
9773 result.versions = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Version>>>()?.unwrap_or_default();
9774 }
9775 __FieldTag::__default_version => {
9776 if !fields.insert(__FieldTag::__default_version) {
9777 return std::result::Result::Err(A::Error::duplicate_field(
9778 "multiple values for default_version",
9779 ));
9780 }
9781 result.default_version = map
9782 .next_value::<std::option::Option<std::string::String>>()?
9783 .unwrap_or_default();
9784 }
9785 __FieldTag::Unknown(key) => {
9786 let value = map.next_value::<serde_json::Value>()?;
9787 result._unknown_fields.insert(key, value);
9788 }
9789 }
9790 }
9791 std::result::Result::Ok(result)
9792 }
9793 }
9794 deserializer.deserialize_any(Visitor)
9795 }
9796}
9797
9798#[doc(hidden)]
9799impl serde::ser::Serialize for ServerConfig {
9800 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9801 where
9802 S: serde::ser::Serializer,
9803 {
9804 use serde::ser::SerializeMap;
9805 #[allow(unused_imports)]
9806 use std::option::Option::Some;
9807 let mut state = serializer.serialize_map(std::option::Option::None)?;
9808 if !self.channels.is_empty() {
9809 state.serialize_entry("channels", &self.channels)?;
9810 }
9811 if !self.versions.is_empty() {
9812 state.serialize_entry("versions", &self.versions)?;
9813 }
9814 if !self.default_version.is_empty() {
9815 state.serialize_entry("defaultVersion", &self.default_version)?;
9816 }
9817 if !self._unknown_fields.is_empty() {
9818 for (key, value) in self._unknown_fields.iter() {
9819 state.serialize_entry(key, &value)?;
9820 }
9821 }
9822 state.end()
9823 }
9824}
9825
9826impl std::fmt::Debug for ServerConfig {
9827 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9828 let mut debug_struct = f.debug_struct("ServerConfig");
9829 debug_struct.field("channels", &self.channels);
9830 debug_struct.field("versions", &self.versions);
9831 debug_struct.field("default_version", &self.default_version);
9832 if !self._unknown_fields.is_empty() {
9833 debug_struct.field("_unknown_fields", &self._unknown_fields);
9834 }
9835 debug_struct.finish()
9836 }
9837}
9838
9839#[derive(Clone, Default, PartialEq)]
9841#[non_exhaustive]
9842pub struct ChannelConfig {
9843 pub default_version: std::string::String,
9845
9846 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
9847}
9848
9849impl ChannelConfig {
9850 pub fn new() -> Self {
9851 std::default::Default::default()
9852 }
9853
9854 pub fn set_default_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
9856 self.default_version = v.into();
9857 self
9858 }
9859}
9860
9861impl wkt::message::Message for ChannelConfig {
9862 fn typename() -> &'static str {
9863 "type.googleapis.com/google.cloud.edgecontainer.v1.ChannelConfig"
9864 }
9865}
9866
9867#[doc(hidden)]
9868impl<'de> serde::de::Deserialize<'de> for ChannelConfig {
9869 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9870 where
9871 D: serde::Deserializer<'de>,
9872 {
9873 #[allow(non_camel_case_types)]
9874 #[doc(hidden)]
9875 #[derive(PartialEq, Eq, Hash)]
9876 enum __FieldTag {
9877 __default_version,
9878 Unknown(std::string::String),
9879 }
9880 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
9881 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9882 where
9883 D: serde::Deserializer<'de>,
9884 {
9885 struct Visitor;
9886 impl<'de> serde::de::Visitor<'de> for Visitor {
9887 type Value = __FieldTag;
9888 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9889 formatter.write_str("a field name for ChannelConfig")
9890 }
9891 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
9892 where
9893 E: serde::de::Error,
9894 {
9895 use std::result::Result::Ok;
9896 use std::string::ToString;
9897 match value {
9898 "defaultVersion" => Ok(__FieldTag::__default_version),
9899 "default_version" => Ok(__FieldTag::__default_version),
9900 _ => Ok(__FieldTag::Unknown(value.to_string())),
9901 }
9902 }
9903 }
9904 deserializer.deserialize_identifier(Visitor)
9905 }
9906 }
9907 struct Visitor;
9908 impl<'de> serde::de::Visitor<'de> for Visitor {
9909 type Value = ChannelConfig;
9910 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
9911 formatter.write_str("struct ChannelConfig")
9912 }
9913 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
9914 where
9915 A: serde::de::MapAccess<'de>,
9916 {
9917 #[allow(unused_imports)]
9918 use serde::de::Error;
9919 use std::option::Option::Some;
9920 let mut fields = std::collections::HashSet::new();
9921 let mut result = Self::Value::new();
9922 while let Some(tag) = map.next_key::<__FieldTag>()? {
9923 #[allow(clippy::match_single_binding)]
9924 match tag {
9925 __FieldTag::__default_version => {
9926 if !fields.insert(__FieldTag::__default_version) {
9927 return std::result::Result::Err(A::Error::duplicate_field(
9928 "multiple values for default_version",
9929 ));
9930 }
9931 result.default_version = map
9932 .next_value::<std::option::Option<std::string::String>>()?
9933 .unwrap_or_default();
9934 }
9935 __FieldTag::Unknown(key) => {
9936 let value = map.next_value::<serde_json::Value>()?;
9937 result._unknown_fields.insert(key, value);
9938 }
9939 }
9940 }
9941 std::result::Result::Ok(result)
9942 }
9943 }
9944 deserializer.deserialize_any(Visitor)
9945 }
9946}
9947
9948#[doc(hidden)]
9949impl serde::ser::Serialize for ChannelConfig {
9950 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9951 where
9952 S: serde::ser::Serializer,
9953 {
9954 use serde::ser::SerializeMap;
9955 #[allow(unused_imports)]
9956 use std::option::Option::Some;
9957 let mut state = serializer.serialize_map(std::option::Option::None)?;
9958 if !self.default_version.is_empty() {
9959 state.serialize_entry("defaultVersion", &self.default_version)?;
9960 }
9961 if !self._unknown_fields.is_empty() {
9962 for (key, value) in self._unknown_fields.iter() {
9963 state.serialize_entry(key, &value)?;
9964 }
9965 }
9966 state.end()
9967 }
9968}
9969
9970impl std::fmt::Debug for ChannelConfig {
9971 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9972 let mut debug_struct = f.debug_struct("ChannelConfig");
9973 debug_struct.field("default_version", &self.default_version);
9974 if !self._unknown_fields.is_empty() {
9975 debug_struct.field("_unknown_fields", &self._unknown_fields);
9976 }
9977 debug_struct.finish()
9978 }
9979}
9980
9981#[derive(Clone, Default, PartialEq)]
9983#[non_exhaustive]
9984pub struct Version {
9985 pub name: std::string::String,
9987
9988 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
9989}
9990
9991impl Version {
9992 pub fn new() -> Self {
9993 std::default::Default::default()
9994 }
9995
9996 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
9998 self.name = v.into();
9999 self
10000 }
10001}
10002
10003impl wkt::message::Message for Version {
10004 fn typename() -> &'static str {
10005 "type.googleapis.com/google.cloud.edgecontainer.v1.Version"
10006 }
10007}
10008
10009#[doc(hidden)]
10010impl<'de> serde::de::Deserialize<'de> for Version {
10011 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10012 where
10013 D: serde::Deserializer<'de>,
10014 {
10015 #[allow(non_camel_case_types)]
10016 #[doc(hidden)]
10017 #[derive(PartialEq, Eq, Hash)]
10018 enum __FieldTag {
10019 __name,
10020 Unknown(std::string::String),
10021 }
10022 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
10023 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10024 where
10025 D: serde::Deserializer<'de>,
10026 {
10027 struct Visitor;
10028 impl<'de> serde::de::Visitor<'de> for Visitor {
10029 type Value = __FieldTag;
10030 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10031 formatter.write_str("a field name for Version")
10032 }
10033 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
10034 where
10035 E: serde::de::Error,
10036 {
10037 use std::result::Result::Ok;
10038 use std::string::ToString;
10039 match value {
10040 "name" => Ok(__FieldTag::__name),
10041 _ => Ok(__FieldTag::Unknown(value.to_string())),
10042 }
10043 }
10044 }
10045 deserializer.deserialize_identifier(Visitor)
10046 }
10047 }
10048 struct Visitor;
10049 impl<'de> serde::de::Visitor<'de> for Visitor {
10050 type Value = Version;
10051 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10052 formatter.write_str("struct Version")
10053 }
10054 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
10055 where
10056 A: serde::de::MapAccess<'de>,
10057 {
10058 #[allow(unused_imports)]
10059 use serde::de::Error;
10060 use std::option::Option::Some;
10061 let mut fields = std::collections::HashSet::new();
10062 let mut result = Self::Value::new();
10063 while let Some(tag) = map.next_key::<__FieldTag>()? {
10064 #[allow(clippy::match_single_binding)]
10065 match tag {
10066 __FieldTag::__name => {
10067 if !fields.insert(__FieldTag::__name) {
10068 return std::result::Result::Err(A::Error::duplicate_field(
10069 "multiple values for name",
10070 ));
10071 }
10072 result.name = map
10073 .next_value::<std::option::Option<std::string::String>>()?
10074 .unwrap_or_default();
10075 }
10076 __FieldTag::Unknown(key) => {
10077 let value = map.next_value::<serde_json::Value>()?;
10078 result._unknown_fields.insert(key, value);
10079 }
10080 }
10081 }
10082 std::result::Result::Ok(result)
10083 }
10084 }
10085 deserializer.deserialize_any(Visitor)
10086 }
10087}
10088
10089#[doc(hidden)]
10090impl serde::ser::Serialize for Version {
10091 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
10092 where
10093 S: serde::ser::Serializer,
10094 {
10095 use serde::ser::SerializeMap;
10096 #[allow(unused_imports)]
10097 use std::option::Option::Some;
10098 let mut state = serializer.serialize_map(std::option::Option::None)?;
10099 if !self.name.is_empty() {
10100 state.serialize_entry("name", &self.name)?;
10101 }
10102 if !self._unknown_fields.is_empty() {
10103 for (key, value) in self._unknown_fields.iter() {
10104 state.serialize_entry(key, &value)?;
10105 }
10106 }
10107 state.end()
10108 }
10109}
10110
10111impl std::fmt::Debug for Version {
10112 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10113 let mut debug_struct = f.debug_struct("Version");
10114 debug_struct.field("name", &self.name);
10115 if !self._unknown_fields.is_empty() {
10116 debug_struct.field("_unknown_fields", &self._unknown_fields);
10117 }
10118 debug_struct.finish()
10119 }
10120}
10121
10122#[derive(Clone, Default, PartialEq)]
10124#[non_exhaustive]
10125pub struct OperationMetadata {
10126 pub create_time: std::option::Option<wkt::Timestamp>,
10128
10129 pub end_time: std::option::Option<wkt::Timestamp>,
10131
10132 pub target: std::string::String,
10134
10135 pub verb: std::string::String,
10137
10138 pub status_message: std::string::String,
10140
10141 pub requested_cancellation: bool,
10148
10149 pub api_version: std::string::String,
10151
10152 pub warnings: std::vec::Vec<std::string::String>,
10155
10156 pub status_reason: crate::model::operation_metadata::StatusReason,
10158
10159 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
10160}
10161
10162impl OperationMetadata {
10163 pub fn new() -> Self {
10164 std::default::Default::default()
10165 }
10166
10167 pub fn set_create_time<T>(mut self, v: T) -> Self
10169 where
10170 T: std::convert::Into<wkt::Timestamp>,
10171 {
10172 self.create_time = std::option::Option::Some(v.into());
10173 self
10174 }
10175
10176 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
10178 where
10179 T: std::convert::Into<wkt::Timestamp>,
10180 {
10181 self.create_time = v.map(|x| x.into());
10182 self
10183 }
10184
10185 pub fn set_end_time<T>(mut self, v: T) -> Self
10187 where
10188 T: std::convert::Into<wkt::Timestamp>,
10189 {
10190 self.end_time = std::option::Option::Some(v.into());
10191 self
10192 }
10193
10194 pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
10196 where
10197 T: std::convert::Into<wkt::Timestamp>,
10198 {
10199 self.end_time = v.map(|x| x.into());
10200 self
10201 }
10202
10203 pub fn set_target<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10205 self.target = v.into();
10206 self
10207 }
10208
10209 pub fn set_verb<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10211 self.verb = v.into();
10212 self
10213 }
10214
10215 pub fn set_status_message<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10217 self.status_message = v.into();
10218 self
10219 }
10220
10221 pub fn set_requested_cancellation<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
10223 self.requested_cancellation = v.into();
10224 self
10225 }
10226
10227 pub fn set_api_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10229 self.api_version = v.into();
10230 self
10231 }
10232
10233 pub fn set_warnings<T, V>(mut self, v: T) -> Self
10235 where
10236 T: std::iter::IntoIterator<Item = V>,
10237 V: std::convert::Into<std::string::String>,
10238 {
10239 use std::iter::Iterator;
10240 self.warnings = v.into_iter().map(|i| i.into()).collect();
10241 self
10242 }
10243
10244 pub fn set_status_reason<
10246 T: std::convert::Into<crate::model::operation_metadata::StatusReason>,
10247 >(
10248 mut self,
10249 v: T,
10250 ) -> Self {
10251 self.status_reason = v.into();
10252 self
10253 }
10254}
10255
10256impl wkt::message::Message for OperationMetadata {
10257 fn typename() -> &'static str {
10258 "type.googleapis.com/google.cloud.edgecontainer.v1.OperationMetadata"
10259 }
10260}
10261
10262#[doc(hidden)]
10263impl<'de> serde::de::Deserialize<'de> for OperationMetadata {
10264 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10265 where
10266 D: serde::Deserializer<'de>,
10267 {
10268 #[allow(non_camel_case_types)]
10269 #[doc(hidden)]
10270 #[derive(PartialEq, Eq, Hash)]
10271 enum __FieldTag {
10272 __create_time,
10273 __end_time,
10274 __target,
10275 __verb,
10276 __status_message,
10277 __requested_cancellation,
10278 __api_version,
10279 __warnings,
10280 __status_reason,
10281 Unknown(std::string::String),
10282 }
10283 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
10284 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10285 where
10286 D: serde::Deserializer<'de>,
10287 {
10288 struct Visitor;
10289 impl<'de> serde::de::Visitor<'de> for Visitor {
10290 type Value = __FieldTag;
10291 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10292 formatter.write_str("a field name for OperationMetadata")
10293 }
10294 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
10295 where
10296 E: serde::de::Error,
10297 {
10298 use std::result::Result::Ok;
10299 use std::string::ToString;
10300 match value {
10301 "createTime" => Ok(__FieldTag::__create_time),
10302 "create_time" => Ok(__FieldTag::__create_time),
10303 "endTime" => Ok(__FieldTag::__end_time),
10304 "end_time" => Ok(__FieldTag::__end_time),
10305 "target" => Ok(__FieldTag::__target),
10306 "verb" => Ok(__FieldTag::__verb),
10307 "statusMessage" => Ok(__FieldTag::__status_message),
10308 "status_message" => Ok(__FieldTag::__status_message),
10309 "requestedCancellation" => Ok(__FieldTag::__requested_cancellation),
10310 "requested_cancellation" => Ok(__FieldTag::__requested_cancellation),
10311 "apiVersion" => Ok(__FieldTag::__api_version),
10312 "api_version" => Ok(__FieldTag::__api_version),
10313 "warnings" => Ok(__FieldTag::__warnings),
10314 "statusReason" => Ok(__FieldTag::__status_reason),
10315 "status_reason" => Ok(__FieldTag::__status_reason),
10316 _ => Ok(__FieldTag::Unknown(value.to_string())),
10317 }
10318 }
10319 }
10320 deserializer.deserialize_identifier(Visitor)
10321 }
10322 }
10323 struct Visitor;
10324 impl<'de> serde::de::Visitor<'de> for Visitor {
10325 type Value = OperationMetadata;
10326 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10327 formatter.write_str("struct OperationMetadata")
10328 }
10329 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
10330 where
10331 A: serde::de::MapAccess<'de>,
10332 {
10333 #[allow(unused_imports)]
10334 use serde::de::Error;
10335 use std::option::Option::Some;
10336 let mut fields = std::collections::HashSet::new();
10337 let mut result = Self::Value::new();
10338 while let Some(tag) = map.next_key::<__FieldTag>()? {
10339 #[allow(clippy::match_single_binding)]
10340 match tag {
10341 __FieldTag::__create_time => {
10342 if !fields.insert(__FieldTag::__create_time) {
10343 return std::result::Result::Err(A::Error::duplicate_field(
10344 "multiple values for create_time",
10345 ));
10346 }
10347 result.create_time =
10348 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
10349 }
10350 __FieldTag::__end_time => {
10351 if !fields.insert(__FieldTag::__end_time) {
10352 return std::result::Result::Err(A::Error::duplicate_field(
10353 "multiple values for end_time",
10354 ));
10355 }
10356 result.end_time =
10357 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
10358 }
10359 __FieldTag::__target => {
10360 if !fields.insert(__FieldTag::__target) {
10361 return std::result::Result::Err(A::Error::duplicate_field(
10362 "multiple values for target",
10363 ));
10364 }
10365 result.target = map
10366 .next_value::<std::option::Option<std::string::String>>()?
10367 .unwrap_or_default();
10368 }
10369 __FieldTag::__verb => {
10370 if !fields.insert(__FieldTag::__verb) {
10371 return std::result::Result::Err(A::Error::duplicate_field(
10372 "multiple values for verb",
10373 ));
10374 }
10375 result.verb = map
10376 .next_value::<std::option::Option<std::string::String>>()?
10377 .unwrap_or_default();
10378 }
10379 __FieldTag::__status_message => {
10380 if !fields.insert(__FieldTag::__status_message) {
10381 return std::result::Result::Err(A::Error::duplicate_field(
10382 "multiple values for status_message",
10383 ));
10384 }
10385 result.status_message = map
10386 .next_value::<std::option::Option<std::string::String>>()?
10387 .unwrap_or_default();
10388 }
10389 __FieldTag::__requested_cancellation => {
10390 if !fields.insert(__FieldTag::__requested_cancellation) {
10391 return std::result::Result::Err(A::Error::duplicate_field(
10392 "multiple values for requested_cancellation",
10393 ));
10394 }
10395 result.requested_cancellation = map
10396 .next_value::<std::option::Option<bool>>()?
10397 .unwrap_or_default();
10398 }
10399 __FieldTag::__api_version => {
10400 if !fields.insert(__FieldTag::__api_version) {
10401 return std::result::Result::Err(A::Error::duplicate_field(
10402 "multiple values for api_version",
10403 ));
10404 }
10405 result.api_version = map
10406 .next_value::<std::option::Option<std::string::String>>()?
10407 .unwrap_or_default();
10408 }
10409 __FieldTag::__warnings => {
10410 if !fields.insert(__FieldTag::__warnings) {
10411 return std::result::Result::Err(A::Error::duplicate_field(
10412 "multiple values for warnings",
10413 ));
10414 }
10415 result.warnings = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
10416 }
10417 __FieldTag::__status_reason => {
10418 if !fields.insert(__FieldTag::__status_reason) {
10419 return std::result::Result::Err(A::Error::duplicate_field(
10420 "multiple values for status_reason",
10421 ));
10422 }
10423 result.status_reason =
10424 map.next_value::<std::option::Option<
10425 crate::model::operation_metadata::StatusReason,
10426 >>()?
10427 .unwrap_or_default();
10428 }
10429 __FieldTag::Unknown(key) => {
10430 let value = map.next_value::<serde_json::Value>()?;
10431 result._unknown_fields.insert(key, value);
10432 }
10433 }
10434 }
10435 std::result::Result::Ok(result)
10436 }
10437 }
10438 deserializer.deserialize_any(Visitor)
10439 }
10440}
10441
10442#[doc(hidden)]
10443impl serde::ser::Serialize for OperationMetadata {
10444 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
10445 where
10446 S: serde::ser::Serializer,
10447 {
10448 use serde::ser::SerializeMap;
10449 #[allow(unused_imports)]
10450 use std::option::Option::Some;
10451 let mut state = serializer.serialize_map(std::option::Option::None)?;
10452 if self.create_time.is_some() {
10453 state.serialize_entry("createTime", &self.create_time)?;
10454 }
10455 if self.end_time.is_some() {
10456 state.serialize_entry("endTime", &self.end_time)?;
10457 }
10458 if !self.target.is_empty() {
10459 state.serialize_entry("target", &self.target)?;
10460 }
10461 if !self.verb.is_empty() {
10462 state.serialize_entry("verb", &self.verb)?;
10463 }
10464 if !self.status_message.is_empty() {
10465 state.serialize_entry("statusMessage", &self.status_message)?;
10466 }
10467 if !wkt::internal::is_default(&self.requested_cancellation) {
10468 state.serialize_entry("requestedCancellation", &self.requested_cancellation)?;
10469 }
10470 if !self.api_version.is_empty() {
10471 state.serialize_entry("apiVersion", &self.api_version)?;
10472 }
10473 if !self.warnings.is_empty() {
10474 state.serialize_entry("warnings", &self.warnings)?;
10475 }
10476 if !wkt::internal::is_default(&self.status_reason) {
10477 state.serialize_entry("statusReason", &self.status_reason)?;
10478 }
10479 if !self._unknown_fields.is_empty() {
10480 for (key, value) in self._unknown_fields.iter() {
10481 state.serialize_entry(key, &value)?;
10482 }
10483 }
10484 state.end()
10485 }
10486}
10487
10488impl std::fmt::Debug for OperationMetadata {
10489 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10490 let mut debug_struct = f.debug_struct("OperationMetadata");
10491 debug_struct.field("create_time", &self.create_time);
10492 debug_struct.field("end_time", &self.end_time);
10493 debug_struct.field("target", &self.target);
10494 debug_struct.field("verb", &self.verb);
10495 debug_struct.field("status_message", &self.status_message);
10496 debug_struct.field("requested_cancellation", &self.requested_cancellation);
10497 debug_struct.field("api_version", &self.api_version);
10498 debug_struct.field("warnings", &self.warnings);
10499 debug_struct.field("status_reason", &self.status_reason);
10500 if !self._unknown_fields.is_empty() {
10501 debug_struct.field("_unknown_fields", &self._unknown_fields);
10502 }
10503 debug_struct.finish()
10504 }
10505}
10506
10507pub mod operation_metadata {
10509 #[allow(unused_imports)]
10510 use super::*;
10511
10512 #[derive(Clone, Debug, PartialEq)]
10528 #[non_exhaustive]
10529 pub enum StatusReason {
10530 Unspecified,
10532 UpgradePaused,
10534 UnknownValue(status_reason::UnknownValue),
10539 }
10540
10541 #[doc(hidden)]
10542 pub mod status_reason {
10543 #[allow(unused_imports)]
10544 use super::*;
10545 #[derive(Clone, Debug, PartialEq)]
10546 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
10547 }
10548
10549 impl StatusReason {
10550 pub fn value(&self) -> std::option::Option<i32> {
10555 match self {
10556 Self::Unspecified => std::option::Option::Some(0),
10557 Self::UpgradePaused => std::option::Option::Some(1),
10558 Self::UnknownValue(u) => u.0.value(),
10559 }
10560 }
10561
10562 pub fn name(&self) -> std::option::Option<&str> {
10567 match self {
10568 Self::Unspecified => std::option::Option::Some("STATUS_REASON_UNSPECIFIED"),
10569 Self::UpgradePaused => std::option::Option::Some("UPGRADE_PAUSED"),
10570 Self::UnknownValue(u) => u.0.name(),
10571 }
10572 }
10573 }
10574
10575 impl std::default::Default for StatusReason {
10576 fn default() -> Self {
10577 use std::convert::From;
10578 Self::from(0)
10579 }
10580 }
10581
10582 impl std::fmt::Display for StatusReason {
10583 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
10584 wkt::internal::display_enum(f, self.name(), self.value())
10585 }
10586 }
10587
10588 impl std::convert::From<i32> for StatusReason {
10589 fn from(value: i32) -> Self {
10590 match value {
10591 0 => Self::Unspecified,
10592 1 => Self::UpgradePaused,
10593 _ => Self::UnknownValue(status_reason::UnknownValue(
10594 wkt::internal::UnknownEnumValue::Integer(value),
10595 )),
10596 }
10597 }
10598 }
10599
10600 impl std::convert::From<&str> for StatusReason {
10601 fn from(value: &str) -> Self {
10602 use std::string::ToString;
10603 match value {
10604 "STATUS_REASON_UNSPECIFIED" => Self::Unspecified,
10605 "UPGRADE_PAUSED" => Self::UpgradePaused,
10606 _ => Self::UnknownValue(status_reason::UnknownValue(
10607 wkt::internal::UnknownEnumValue::String(value.to_string()),
10608 )),
10609 }
10610 }
10611 }
10612
10613 impl serde::ser::Serialize for StatusReason {
10614 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
10615 where
10616 S: serde::Serializer,
10617 {
10618 match self {
10619 Self::Unspecified => serializer.serialize_i32(0),
10620 Self::UpgradePaused => serializer.serialize_i32(1),
10621 Self::UnknownValue(u) => u.0.serialize(serializer),
10622 }
10623 }
10624 }
10625
10626 impl<'de> serde::de::Deserialize<'de> for StatusReason {
10627 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10628 where
10629 D: serde::Deserializer<'de>,
10630 {
10631 deserializer.deserialize_any(wkt::internal::EnumVisitor::<StatusReason>::new(
10632 ".google.cloud.edgecontainer.v1.OperationMetadata.StatusReason",
10633 ))
10634 }
10635 }
10636}
10637
10638#[derive(Clone, Default, PartialEq)]
10640#[non_exhaustive]
10641pub struct ListClustersRequest {
10642 pub parent: std::string::String,
10644
10645 pub page_size: i32,
10647
10648 pub page_token: std::string::String,
10651
10652 pub filter: std::string::String,
10654
10655 pub order_by: std::string::String,
10657
10658 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
10659}
10660
10661impl ListClustersRequest {
10662 pub fn new() -> Self {
10663 std::default::Default::default()
10664 }
10665
10666 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10668 self.parent = v.into();
10669 self
10670 }
10671
10672 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
10674 self.page_size = v.into();
10675 self
10676 }
10677
10678 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10680 self.page_token = v.into();
10681 self
10682 }
10683
10684 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10686 self.filter = v.into();
10687 self
10688 }
10689
10690 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10692 self.order_by = v.into();
10693 self
10694 }
10695}
10696
10697impl wkt::message::Message for ListClustersRequest {
10698 fn typename() -> &'static str {
10699 "type.googleapis.com/google.cloud.edgecontainer.v1.ListClustersRequest"
10700 }
10701}
10702
10703#[doc(hidden)]
10704impl<'de> serde::de::Deserialize<'de> for ListClustersRequest {
10705 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10706 where
10707 D: serde::Deserializer<'de>,
10708 {
10709 #[allow(non_camel_case_types)]
10710 #[doc(hidden)]
10711 #[derive(PartialEq, Eq, Hash)]
10712 enum __FieldTag {
10713 __parent,
10714 __page_size,
10715 __page_token,
10716 __filter,
10717 __order_by,
10718 Unknown(std::string::String),
10719 }
10720 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
10721 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10722 where
10723 D: serde::Deserializer<'de>,
10724 {
10725 struct Visitor;
10726 impl<'de> serde::de::Visitor<'de> for Visitor {
10727 type Value = __FieldTag;
10728 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10729 formatter.write_str("a field name for ListClustersRequest")
10730 }
10731 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
10732 where
10733 E: serde::de::Error,
10734 {
10735 use std::result::Result::Ok;
10736 use std::string::ToString;
10737 match value {
10738 "parent" => Ok(__FieldTag::__parent),
10739 "pageSize" => Ok(__FieldTag::__page_size),
10740 "page_size" => Ok(__FieldTag::__page_size),
10741 "pageToken" => Ok(__FieldTag::__page_token),
10742 "page_token" => Ok(__FieldTag::__page_token),
10743 "filter" => Ok(__FieldTag::__filter),
10744 "orderBy" => Ok(__FieldTag::__order_by),
10745 "order_by" => Ok(__FieldTag::__order_by),
10746 _ => Ok(__FieldTag::Unknown(value.to_string())),
10747 }
10748 }
10749 }
10750 deserializer.deserialize_identifier(Visitor)
10751 }
10752 }
10753 struct Visitor;
10754 impl<'de> serde::de::Visitor<'de> for Visitor {
10755 type Value = ListClustersRequest;
10756 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10757 formatter.write_str("struct ListClustersRequest")
10758 }
10759 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
10760 where
10761 A: serde::de::MapAccess<'de>,
10762 {
10763 #[allow(unused_imports)]
10764 use serde::de::Error;
10765 use std::option::Option::Some;
10766 let mut fields = std::collections::HashSet::new();
10767 let mut result = Self::Value::new();
10768 while let Some(tag) = map.next_key::<__FieldTag>()? {
10769 #[allow(clippy::match_single_binding)]
10770 match tag {
10771 __FieldTag::__parent => {
10772 if !fields.insert(__FieldTag::__parent) {
10773 return std::result::Result::Err(A::Error::duplicate_field(
10774 "multiple values for parent",
10775 ));
10776 }
10777 result.parent = map
10778 .next_value::<std::option::Option<std::string::String>>()?
10779 .unwrap_or_default();
10780 }
10781 __FieldTag::__page_size => {
10782 if !fields.insert(__FieldTag::__page_size) {
10783 return std::result::Result::Err(A::Error::duplicate_field(
10784 "multiple values for page_size",
10785 ));
10786 }
10787 struct __With(std::option::Option<i32>);
10788 impl<'de> serde::de::Deserialize<'de> for __With {
10789 fn deserialize<D>(
10790 deserializer: D,
10791 ) -> std::result::Result<Self, D::Error>
10792 where
10793 D: serde::de::Deserializer<'de>,
10794 {
10795 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
10796 }
10797 }
10798 result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
10799 }
10800 __FieldTag::__page_token => {
10801 if !fields.insert(__FieldTag::__page_token) {
10802 return std::result::Result::Err(A::Error::duplicate_field(
10803 "multiple values for page_token",
10804 ));
10805 }
10806 result.page_token = map
10807 .next_value::<std::option::Option<std::string::String>>()?
10808 .unwrap_or_default();
10809 }
10810 __FieldTag::__filter => {
10811 if !fields.insert(__FieldTag::__filter) {
10812 return std::result::Result::Err(A::Error::duplicate_field(
10813 "multiple values for filter",
10814 ));
10815 }
10816 result.filter = map
10817 .next_value::<std::option::Option<std::string::String>>()?
10818 .unwrap_or_default();
10819 }
10820 __FieldTag::__order_by => {
10821 if !fields.insert(__FieldTag::__order_by) {
10822 return std::result::Result::Err(A::Error::duplicate_field(
10823 "multiple values for order_by",
10824 ));
10825 }
10826 result.order_by = map
10827 .next_value::<std::option::Option<std::string::String>>()?
10828 .unwrap_or_default();
10829 }
10830 __FieldTag::Unknown(key) => {
10831 let value = map.next_value::<serde_json::Value>()?;
10832 result._unknown_fields.insert(key, value);
10833 }
10834 }
10835 }
10836 std::result::Result::Ok(result)
10837 }
10838 }
10839 deserializer.deserialize_any(Visitor)
10840 }
10841}
10842
10843#[doc(hidden)]
10844impl serde::ser::Serialize for ListClustersRequest {
10845 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
10846 where
10847 S: serde::ser::Serializer,
10848 {
10849 use serde::ser::SerializeMap;
10850 #[allow(unused_imports)]
10851 use std::option::Option::Some;
10852 let mut state = serializer.serialize_map(std::option::Option::None)?;
10853 if !self.parent.is_empty() {
10854 state.serialize_entry("parent", &self.parent)?;
10855 }
10856 if !wkt::internal::is_default(&self.page_size) {
10857 struct __With<'a>(&'a i32);
10858 impl<'a> serde::ser::Serialize for __With<'a> {
10859 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
10860 where
10861 S: serde::ser::Serializer,
10862 {
10863 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
10864 }
10865 }
10866 state.serialize_entry("pageSize", &__With(&self.page_size))?;
10867 }
10868 if !self.page_token.is_empty() {
10869 state.serialize_entry("pageToken", &self.page_token)?;
10870 }
10871 if !self.filter.is_empty() {
10872 state.serialize_entry("filter", &self.filter)?;
10873 }
10874 if !self.order_by.is_empty() {
10875 state.serialize_entry("orderBy", &self.order_by)?;
10876 }
10877 if !self._unknown_fields.is_empty() {
10878 for (key, value) in self._unknown_fields.iter() {
10879 state.serialize_entry(key, &value)?;
10880 }
10881 }
10882 state.end()
10883 }
10884}
10885
10886impl std::fmt::Debug for ListClustersRequest {
10887 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10888 let mut debug_struct = f.debug_struct("ListClustersRequest");
10889 debug_struct.field("parent", &self.parent);
10890 debug_struct.field("page_size", &self.page_size);
10891 debug_struct.field("page_token", &self.page_token);
10892 debug_struct.field("filter", &self.filter);
10893 debug_struct.field("order_by", &self.order_by);
10894 if !self._unknown_fields.is_empty() {
10895 debug_struct.field("_unknown_fields", &self._unknown_fields);
10896 }
10897 debug_struct.finish()
10898 }
10899}
10900
10901#[derive(Clone, Default, PartialEq)]
10903#[non_exhaustive]
10904pub struct ListClustersResponse {
10905 pub clusters: std::vec::Vec<crate::model::Cluster>,
10907
10908 pub next_page_token: std::string::String,
10910
10911 pub unreachable: std::vec::Vec<std::string::String>,
10913
10914 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
10915}
10916
10917impl ListClustersResponse {
10918 pub fn new() -> Self {
10919 std::default::Default::default()
10920 }
10921
10922 pub fn set_clusters<T, V>(mut self, v: T) -> Self
10924 where
10925 T: std::iter::IntoIterator<Item = V>,
10926 V: std::convert::Into<crate::model::Cluster>,
10927 {
10928 use std::iter::Iterator;
10929 self.clusters = v.into_iter().map(|i| i.into()).collect();
10930 self
10931 }
10932
10933 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
10935 self.next_page_token = v.into();
10936 self
10937 }
10938
10939 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
10941 where
10942 T: std::iter::IntoIterator<Item = V>,
10943 V: std::convert::Into<std::string::String>,
10944 {
10945 use std::iter::Iterator;
10946 self.unreachable = v.into_iter().map(|i| i.into()).collect();
10947 self
10948 }
10949}
10950
10951impl wkt::message::Message for ListClustersResponse {
10952 fn typename() -> &'static str {
10953 "type.googleapis.com/google.cloud.edgecontainer.v1.ListClustersResponse"
10954 }
10955}
10956
10957#[doc(hidden)]
10958impl gax::paginator::internal::PageableResponse for ListClustersResponse {
10959 type PageItem = crate::model::Cluster;
10960
10961 fn items(self) -> std::vec::Vec<Self::PageItem> {
10962 self.clusters
10963 }
10964
10965 fn next_page_token(&self) -> std::string::String {
10966 use std::clone::Clone;
10967 self.next_page_token.clone()
10968 }
10969}
10970
10971#[doc(hidden)]
10972impl<'de> serde::de::Deserialize<'de> for ListClustersResponse {
10973 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10974 where
10975 D: serde::Deserializer<'de>,
10976 {
10977 #[allow(non_camel_case_types)]
10978 #[doc(hidden)]
10979 #[derive(PartialEq, Eq, Hash)]
10980 enum __FieldTag {
10981 __clusters,
10982 __next_page_token,
10983 __unreachable,
10984 Unknown(std::string::String),
10985 }
10986 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
10987 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10988 where
10989 D: serde::Deserializer<'de>,
10990 {
10991 struct Visitor;
10992 impl<'de> serde::de::Visitor<'de> for Visitor {
10993 type Value = __FieldTag;
10994 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
10995 formatter.write_str("a field name for ListClustersResponse")
10996 }
10997 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
10998 where
10999 E: serde::de::Error,
11000 {
11001 use std::result::Result::Ok;
11002 use std::string::ToString;
11003 match value {
11004 "clusters" => Ok(__FieldTag::__clusters),
11005 "nextPageToken" => Ok(__FieldTag::__next_page_token),
11006 "next_page_token" => Ok(__FieldTag::__next_page_token),
11007 "unreachable" => Ok(__FieldTag::__unreachable),
11008 _ => Ok(__FieldTag::Unknown(value.to_string())),
11009 }
11010 }
11011 }
11012 deserializer.deserialize_identifier(Visitor)
11013 }
11014 }
11015 struct Visitor;
11016 impl<'de> serde::de::Visitor<'de> for Visitor {
11017 type Value = ListClustersResponse;
11018 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11019 formatter.write_str("struct ListClustersResponse")
11020 }
11021 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
11022 where
11023 A: serde::de::MapAccess<'de>,
11024 {
11025 #[allow(unused_imports)]
11026 use serde::de::Error;
11027 use std::option::Option::Some;
11028 let mut fields = std::collections::HashSet::new();
11029 let mut result = Self::Value::new();
11030 while let Some(tag) = map.next_key::<__FieldTag>()? {
11031 #[allow(clippy::match_single_binding)]
11032 match tag {
11033 __FieldTag::__clusters => {
11034 if !fields.insert(__FieldTag::__clusters) {
11035 return std::result::Result::Err(A::Error::duplicate_field(
11036 "multiple values for clusters",
11037 ));
11038 }
11039 result.clusters = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Cluster>>>()?.unwrap_or_default();
11040 }
11041 __FieldTag::__next_page_token => {
11042 if !fields.insert(__FieldTag::__next_page_token) {
11043 return std::result::Result::Err(A::Error::duplicate_field(
11044 "multiple values for next_page_token",
11045 ));
11046 }
11047 result.next_page_token = map
11048 .next_value::<std::option::Option<std::string::String>>()?
11049 .unwrap_or_default();
11050 }
11051 __FieldTag::__unreachable => {
11052 if !fields.insert(__FieldTag::__unreachable) {
11053 return std::result::Result::Err(A::Error::duplicate_field(
11054 "multiple values for unreachable",
11055 ));
11056 }
11057 result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
11058 }
11059 __FieldTag::Unknown(key) => {
11060 let value = map.next_value::<serde_json::Value>()?;
11061 result._unknown_fields.insert(key, value);
11062 }
11063 }
11064 }
11065 std::result::Result::Ok(result)
11066 }
11067 }
11068 deserializer.deserialize_any(Visitor)
11069 }
11070}
11071
11072#[doc(hidden)]
11073impl serde::ser::Serialize for ListClustersResponse {
11074 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
11075 where
11076 S: serde::ser::Serializer,
11077 {
11078 use serde::ser::SerializeMap;
11079 #[allow(unused_imports)]
11080 use std::option::Option::Some;
11081 let mut state = serializer.serialize_map(std::option::Option::None)?;
11082 if !self.clusters.is_empty() {
11083 state.serialize_entry("clusters", &self.clusters)?;
11084 }
11085 if !self.next_page_token.is_empty() {
11086 state.serialize_entry("nextPageToken", &self.next_page_token)?;
11087 }
11088 if !self.unreachable.is_empty() {
11089 state.serialize_entry("unreachable", &self.unreachable)?;
11090 }
11091 if !self._unknown_fields.is_empty() {
11092 for (key, value) in self._unknown_fields.iter() {
11093 state.serialize_entry(key, &value)?;
11094 }
11095 }
11096 state.end()
11097 }
11098}
11099
11100impl std::fmt::Debug for ListClustersResponse {
11101 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11102 let mut debug_struct = f.debug_struct("ListClustersResponse");
11103 debug_struct.field("clusters", &self.clusters);
11104 debug_struct.field("next_page_token", &self.next_page_token);
11105 debug_struct.field("unreachable", &self.unreachable);
11106 if !self._unknown_fields.is_empty() {
11107 debug_struct.field("_unknown_fields", &self._unknown_fields);
11108 }
11109 debug_struct.finish()
11110 }
11111}
11112
11113#[derive(Clone, Default, PartialEq)]
11115#[non_exhaustive]
11116pub struct GetClusterRequest {
11117 pub name: std::string::String,
11119
11120 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
11121}
11122
11123impl GetClusterRequest {
11124 pub fn new() -> Self {
11125 std::default::Default::default()
11126 }
11127
11128 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11130 self.name = v.into();
11131 self
11132 }
11133}
11134
11135impl wkt::message::Message for GetClusterRequest {
11136 fn typename() -> &'static str {
11137 "type.googleapis.com/google.cloud.edgecontainer.v1.GetClusterRequest"
11138 }
11139}
11140
11141#[doc(hidden)]
11142impl<'de> serde::de::Deserialize<'de> for GetClusterRequest {
11143 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11144 where
11145 D: serde::Deserializer<'de>,
11146 {
11147 #[allow(non_camel_case_types)]
11148 #[doc(hidden)]
11149 #[derive(PartialEq, Eq, Hash)]
11150 enum __FieldTag {
11151 __name,
11152 Unknown(std::string::String),
11153 }
11154 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
11155 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11156 where
11157 D: serde::Deserializer<'de>,
11158 {
11159 struct Visitor;
11160 impl<'de> serde::de::Visitor<'de> for Visitor {
11161 type Value = __FieldTag;
11162 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11163 formatter.write_str("a field name for GetClusterRequest")
11164 }
11165 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
11166 where
11167 E: serde::de::Error,
11168 {
11169 use std::result::Result::Ok;
11170 use std::string::ToString;
11171 match value {
11172 "name" => Ok(__FieldTag::__name),
11173 _ => Ok(__FieldTag::Unknown(value.to_string())),
11174 }
11175 }
11176 }
11177 deserializer.deserialize_identifier(Visitor)
11178 }
11179 }
11180 struct Visitor;
11181 impl<'de> serde::de::Visitor<'de> for Visitor {
11182 type Value = GetClusterRequest;
11183 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11184 formatter.write_str("struct GetClusterRequest")
11185 }
11186 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
11187 where
11188 A: serde::de::MapAccess<'de>,
11189 {
11190 #[allow(unused_imports)]
11191 use serde::de::Error;
11192 use std::option::Option::Some;
11193 let mut fields = std::collections::HashSet::new();
11194 let mut result = Self::Value::new();
11195 while let Some(tag) = map.next_key::<__FieldTag>()? {
11196 #[allow(clippy::match_single_binding)]
11197 match tag {
11198 __FieldTag::__name => {
11199 if !fields.insert(__FieldTag::__name) {
11200 return std::result::Result::Err(A::Error::duplicate_field(
11201 "multiple values for name",
11202 ));
11203 }
11204 result.name = map
11205 .next_value::<std::option::Option<std::string::String>>()?
11206 .unwrap_or_default();
11207 }
11208 __FieldTag::Unknown(key) => {
11209 let value = map.next_value::<serde_json::Value>()?;
11210 result._unknown_fields.insert(key, value);
11211 }
11212 }
11213 }
11214 std::result::Result::Ok(result)
11215 }
11216 }
11217 deserializer.deserialize_any(Visitor)
11218 }
11219}
11220
11221#[doc(hidden)]
11222impl serde::ser::Serialize for GetClusterRequest {
11223 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
11224 where
11225 S: serde::ser::Serializer,
11226 {
11227 use serde::ser::SerializeMap;
11228 #[allow(unused_imports)]
11229 use std::option::Option::Some;
11230 let mut state = serializer.serialize_map(std::option::Option::None)?;
11231 if !self.name.is_empty() {
11232 state.serialize_entry("name", &self.name)?;
11233 }
11234 if !self._unknown_fields.is_empty() {
11235 for (key, value) in self._unknown_fields.iter() {
11236 state.serialize_entry(key, &value)?;
11237 }
11238 }
11239 state.end()
11240 }
11241}
11242
11243impl std::fmt::Debug for GetClusterRequest {
11244 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11245 let mut debug_struct = f.debug_struct("GetClusterRequest");
11246 debug_struct.field("name", &self.name);
11247 if !self._unknown_fields.is_empty() {
11248 debug_struct.field("_unknown_fields", &self._unknown_fields);
11249 }
11250 debug_struct.finish()
11251 }
11252}
11253
11254#[derive(Clone, Default, PartialEq)]
11256#[non_exhaustive]
11257pub struct CreateClusterRequest {
11258 pub parent: std::string::String,
11260
11261 pub cluster_id: std::string::String,
11263
11264 pub cluster: std::option::Option<crate::model::Cluster>,
11266
11267 pub request_id: std::string::String,
11271
11272 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
11273}
11274
11275impl CreateClusterRequest {
11276 pub fn new() -> Self {
11277 std::default::Default::default()
11278 }
11279
11280 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11282 self.parent = v.into();
11283 self
11284 }
11285
11286 pub fn set_cluster_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11288 self.cluster_id = v.into();
11289 self
11290 }
11291
11292 pub fn set_cluster<T>(mut self, v: T) -> Self
11294 where
11295 T: std::convert::Into<crate::model::Cluster>,
11296 {
11297 self.cluster = std::option::Option::Some(v.into());
11298 self
11299 }
11300
11301 pub fn set_or_clear_cluster<T>(mut self, v: std::option::Option<T>) -> Self
11303 where
11304 T: std::convert::Into<crate::model::Cluster>,
11305 {
11306 self.cluster = v.map(|x| x.into());
11307 self
11308 }
11309
11310 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11312 self.request_id = v.into();
11313 self
11314 }
11315}
11316
11317impl wkt::message::Message for CreateClusterRequest {
11318 fn typename() -> &'static str {
11319 "type.googleapis.com/google.cloud.edgecontainer.v1.CreateClusterRequest"
11320 }
11321}
11322
11323#[doc(hidden)]
11324impl<'de> serde::de::Deserialize<'de> for CreateClusterRequest {
11325 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11326 where
11327 D: serde::Deserializer<'de>,
11328 {
11329 #[allow(non_camel_case_types)]
11330 #[doc(hidden)]
11331 #[derive(PartialEq, Eq, Hash)]
11332 enum __FieldTag {
11333 __parent,
11334 __cluster_id,
11335 __cluster,
11336 __request_id,
11337 Unknown(std::string::String),
11338 }
11339 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
11340 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11341 where
11342 D: serde::Deserializer<'de>,
11343 {
11344 struct Visitor;
11345 impl<'de> serde::de::Visitor<'de> for Visitor {
11346 type Value = __FieldTag;
11347 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11348 formatter.write_str("a field name for CreateClusterRequest")
11349 }
11350 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
11351 where
11352 E: serde::de::Error,
11353 {
11354 use std::result::Result::Ok;
11355 use std::string::ToString;
11356 match value {
11357 "parent" => Ok(__FieldTag::__parent),
11358 "clusterId" => Ok(__FieldTag::__cluster_id),
11359 "cluster_id" => Ok(__FieldTag::__cluster_id),
11360 "cluster" => Ok(__FieldTag::__cluster),
11361 "requestId" => Ok(__FieldTag::__request_id),
11362 "request_id" => Ok(__FieldTag::__request_id),
11363 _ => Ok(__FieldTag::Unknown(value.to_string())),
11364 }
11365 }
11366 }
11367 deserializer.deserialize_identifier(Visitor)
11368 }
11369 }
11370 struct Visitor;
11371 impl<'de> serde::de::Visitor<'de> for Visitor {
11372 type Value = CreateClusterRequest;
11373 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11374 formatter.write_str("struct CreateClusterRequest")
11375 }
11376 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
11377 where
11378 A: serde::de::MapAccess<'de>,
11379 {
11380 #[allow(unused_imports)]
11381 use serde::de::Error;
11382 use std::option::Option::Some;
11383 let mut fields = std::collections::HashSet::new();
11384 let mut result = Self::Value::new();
11385 while let Some(tag) = map.next_key::<__FieldTag>()? {
11386 #[allow(clippy::match_single_binding)]
11387 match tag {
11388 __FieldTag::__parent => {
11389 if !fields.insert(__FieldTag::__parent) {
11390 return std::result::Result::Err(A::Error::duplicate_field(
11391 "multiple values for parent",
11392 ));
11393 }
11394 result.parent = map
11395 .next_value::<std::option::Option<std::string::String>>()?
11396 .unwrap_or_default();
11397 }
11398 __FieldTag::__cluster_id => {
11399 if !fields.insert(__FieldTag::__cluster_id) {
11400 return std::result::Result::Err(A::Error::duplicate_field(
11401 "multiple values for cluster_id",
11402 ));
11403 }
11404 result.cluster_id = map
11405 .next_value::<std::option::Option<std::string::String>>()?
11406 .unwrap_or_default();
11407 }
11408 __FieldTag::__cluster => {
11409 if !fields.insert(__FieldTag::__cluster) {
11410 return std::result::Result::Err(A::Error::duplicate_field(
11411 "multiple values for cluster",
11412 ));
11413 }
11414 result.cluster =
11415 map.next_value::<std::option::Option<crate::model::Cluster>>()?;
11416 }
11417 __FieldTag::__request_id => {
11418 if !fields.insert(__FieldTag::__request_id) {
11419 return std::result::Result::Err(A::Error::duplicate_field(
11420 "multiple values for request_id",
11421 ));
11422 }
11423 result.request_id = map
11424 .next_value::<std::option::Option<std::string::String>>()?
11425 .unwrap_or_default();
11426 }
11427 __FieldTag::Unknown(key) => {
11428 let value = map.next_value::<serde_json::Value>()?;
11429 result._unknown_fields.insert(key, value);
11430 }
11431 }
11432 }
11433 std::result::Result::Ok(result)
11434 }
11435 }
11436 deserializer.deserialize_any(Visitor)
11437 }
11438}
11439
11440#[doc(hidden)]
11441impl serde::ser::Serialize for CreateClusterRequest {
11442 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
11443 where
11444 S: serde::ser::Serializer,
11445 {
11446 use serde::ser::SerializeMap;
11447 #[allow(unused_imports)]
11448 use std::option::Option::Some;
11449 let mut state = serializer.serialize_map(std::option::Option::None)?;
11450 if !self.parent.is_empty() {
11451 state.serialize_entry("parent", &self.parent)?;
11452 }
11453 if !self.cluster_id.is_empty() {
11454 state.serialize_entry("clusterId", &self.cluster_id)?;
11455 }
11456 if self.cluster.is_some() {
11457 state.serialize_entry("cluster", &self.cluster)?;
11458 }
11459 if !self.request_id.is_empty() {
11460 state.serialize_entry("requestId", &self.request_id)?;
11461 }
11462 if !self._unknown_fields.is_empty() {
11463 for (key, value) in self._unknown_fields.iter() {
11464 state.serialize_entry(key, &value)?;
11465 }
11466 }
11467 state.end()
11468 }
11469}
11470
11471impl std::fmt::Debug for CreateClusterRequest {
11472 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11473 let mut debug_struct = f.debug_struct("CreateClusterRequest");
11474 debug_struct.field("parent", &self.parent);
11475 debug_struct.field("cluster_id", &self.cluster_id);
11476 debug_struct.field("cluster", &self.cluster);
11477 debug_struct.field("request_id", &self.request_id);
11478 if !self._unknown_fields.is_empty() {
11479 debug_struct.field("_unknown_fields", &self._unknown_fields);
11480 }
11481 debug_struct.finish()
11482 }
11483}
11484
11485#[derive(Clone, Default, PartialEq)]
11487#[non_exhaustive]
11488pub struct UpdateClusterRequest {
11489 pub update_mask: std::option::Option<wkt::FieldMask>,
11495
11496 pub cluster: std::option::Option<crate::model::Cluster>,
11498
11499 pub request_id: std::string::String,
11503
11504 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
11505}
11506
11507impl UpdateClusterRequest {
11508 pub fn new() -> Self {
11509 std::default::Default::default()
11510 }
11511
11512 pub fn set_update_mask<T>(mut self, v: T) -> Self
11514 where
11515 T: std::convert::Into<wkt::FieldMask>,
11516 {
11517 self.update_mask = std::option::Option::Some(v.into());
11518 self
11519 }
11520
11521 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
11523 where
11524 T: std::convert::Into<wkt::FieldMask>,
11525 {
11526 self.update_mask = v.map(|x| x.into());
11527 self
11528 }
11529
11530 pub fn set_cluster<T>(mut self, v: T) -> Self
11532 where
11533 T: std::convert::Into<crate::model::Cluster>,
11534 {
11535 self.cluster = std::option::Option::Some(v.into());
11536 self
11537 }
11538
11539 pub fn set_or_clear_cluster<T>(mut self, v: std::option::Option<T>) -> Self
11541 where
11542 T: std::convert::Into<crate::model::Cluster>,
11543 {
11544 self.cluster = v.map(|x| x.into());
11545 self
11546 }
11547
11548 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11550 self.request_id = v.into();
11551 self
11552 }
11553}
11554
11555impl wkt::message::Message for UpdateClusterRequest {
11556 fn typename() -> &'static str {
11557 "type.googleapis.com/google.cloud.edgecontainer.v1.UpdateClusterRequest"
11558 }
11559}
11560
11561#[doc(hidden)]
11562impl<'de> serde::de::Deserialize<'de> for UpdateClusterRequest {
11563 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11564 where
11565 D: serde::Deserializer<'de>,
11566 {
11567 #[allow(non_camel_case_types)]
11568 #[doc(hidden)]
11569 #[derive(PartialEq, Eq, Hash)]
11570 enum __FieldTag {
11571 __update_mask,
11572 __cluster,
11573 __request_id,
11574 Unknown(std::string::String),
11575 }
11576 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
11577 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11578 where
11579 D: serde::Deserializer<'de>,
11580 {
11581 struct Visitor;
11582 impl<'de> serde::de::Visitor<'de> for Visitor {
11583 type Value = __FieldTag;
11584 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11585 formatter.write_str("a field name for UpdateClusterRequest")
11586 }
11587 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
11588 where
11589 E: serde::de::Error,
11590 {
11591 use std::result::Result::Ok;
11592 use std::string::ToString;
11593 match value {
11594 "updateMask" => Ok(__FieldTag::__update_mask),
11595 "update_mask" => Ok(__FieldTag::__update_mask),
11596 "cluster" => Ok(__FieldTag::__cluster),
11597 "requestId" => Ok(__FieldTag::__request_id),
11598 "request_id" => Ok(__FieldTag::__request_id),
11599 _ => Ok(__FieldTag::Unknown(value.to_string())),
11600 }
11601 }
11602 }
11603 deserializer.deserialize_identifier(Visitor)
11604 }
11605 }
11606 struct Visitor;
11607 impl<'de> serde::de::Visitor<'de> for Visitor {
11608 type Value = UpdateClusterRequest;
11609 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11610 formatter.write_str("struct UpdateClusterRequest")
11611 }
11612 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
11613 where
11614 A: serde::de::MapAccess<'de>,
11615 {
11616 #[allow(unused_imports)]
11617 use serde::de::Error;
11618 use std::option::Option::Some;
11619 let mut fields = std::collections::HashSet::new();
11620 let mut result = Self::Value::new();
11621 while let Some(tag) = map.next_key::<__FieldTag>()? {
11622 #[allow(clippy::match_single_binding)]
11623 match tag {
11624 __FieldTag::__update_mask => {
11625 if !fields.insert(__FieldTag::__update_mask) {
11626 return std::result::Result::Err(A::Error::duplicate_field(
11627 "multiple values for update_mask",
11628 ));
11629 }
11630 result.update_mask =
11631 map.next_value::<std::option::Option<wkt::FieldMask>>()?;
11632 }
11633 __FieldTag::__cluster => {
11634 if !fields.insert(__FieldTag::__cluster) {
11635 return std::result::Result::Err(A::Error::duplicate_field(
11636 "multiple values for cluster",
11637 ));
11638 }
11639 result.cluster =
11640 map.next_value::<std::option::Option<crate::model::Cluster>>()?;
11641 }
11642 __FieldTag::__request_id => {
11643 if !fields.insert(__FieldTag::__request_id) {
11644 return std::result::Result::Err(A::Error::duplicate_field(
11645 "multiple values for request_id",
11646 ));
11647 }
11648 result.request_id = map
11649 .next_value::<std::option::Option<std::string::String>>()?
11650 .unwrap_or_default();
11651 }
11652 __FieldTag::Unknown(key) => {
11653 let value = map.next_value::<serde_json::Value>()?;
11654 result._unknown_fields.insert(key, value);
11655 }
11656 }
11657 }
11658 std::result::Result::Ok(result)
11659 }
11660 }
11661 deserializer.deserialize_any(Visitor)
11662 }
11663}
11664
11665#[doc(hidden)]
11666impl serde::ser::Serialize for UpdateClusterRequest {
11667 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
11668 where
11669 S: serde::ser::Serializer,
11670 {
11671 use serde::ser::SerializeMap;
11672 #[allow(unused_imports)]
11673 use std::option::Option::Some;
11674 let mut state = serializer.serialize_map(std::option::Option::None)?;
11675 if self.update_mask.is_some() {
11676 state.serialize_entry("updateMask", &self.update_mask)?;
11677 }
11678 if self.cluster.is_some() {
11679 state.serialize_entry("cluster", &self.cluster)?;
11680 }
11681 if !self.request_id.is_empty() {
11682 state.serialize_entry("requestId", &self.request_id)?;
11683 }
11684 if !self._unknown_fields.is_empty() {
11685 for (key, value) in self._unknown_fields.iter() {
11686 state.serialize_entry(key, &value)?;
11687 }
11688 }
11689 state.end()
11690 }
11691}
11692
11693impl std::fmt::Debug for UpdateClusterRequest {
11694 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11695 let mut debug_struct = f.debug_struct("UpdateClusterRequest");
11696 debug_struct.field("update_mask", &self.update_mask);
11697 debug_struct.field("cluster", &self.cluster);
11698 debug_struct.field("request_id", &self.request_id);
11699 if !self._unknown_fields.is_empty() {
11700 debug_struct.field("_unknown_fields", &self._unknown_fields);
11701 }
11702 debug_struct.finish()
11703 }
11704}
11705
11706#[derive(Clone, Default, PartialEq)]
11708#[non_exhaustive]
11709pub struct UpgradeClusterRequest {
11710 pub name: std::string::String,
11712
11713 pub target_version: std::string::String,
11715
11716 pub schedule: crate::model::upgrade_cluster_request::Schedule,
11718
11719 pub request_id: std::string::String,
11723
11724 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
11725}
11726
11727impl UpgradeClusterRequest {
11728 pub fn new() -> Self {
11729 std::default::Default::default()
11730 }
11731
11732 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11734 self.name = v.into();
11735 self
11736 }
11737
11738 pub fn set_target_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11740 self.target_version = v.into();
11741 self
11742 }
11743
11744 pub fn set_schedule<T: std::convert::Into<crate::model::upgrade_cluster_request::Schedule>>(
11746 mut self,
11747 v: T,
11748 ) -> Self {
11749 self.schedule = v.into();
11750 self
11751 }
11752
11753 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
11755 self.request_id = v.into();
11756 self
11757 }
11758}
11759
11760impl wkt::message::Message for UpgradeClusterRequest {
11761 fn typename() -> &'static str {
11762 "type.googleapis.com/google.cloud.edgecontainer.v1.UpgradeClusterRequest"
11763 }
11764}
11765
11766#[doc(hidden)]
11767impl<'de> serde::de::Deserialize<'de> for UpgradeClusterRequest {
11768 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11769 where
11770 D: serde::Deserializer<'de>,
11771 {
11772 #[allow(non_camel_case_types)]
11773 #[doc(hidden)]
11774 #[derive(PartialEq, Eq, Hash)]
11775 enum __FieldTag {
11776 __name,
11777 __target_version,
11778 __schedule,
11779 __request_id,
11780 Unknown(std::string::String),
11781 }
11782 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
11783 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
11784 where
11785 D: serde::Deserializer<'de>,
11786 {
11787 struct Visitor;
11788 impl<'de> serde::de::Visitor<'de> for Visitor {
11789 type Value = __FieldTag;
11790 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11791 formatter.write_str("a field name for UpgradeClusterRequest")
11792 }
11793 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
11794 where
11795 E: serde::de::Error,
11796 {
11797 use std::result::Result::Ok;
11798 use std::string::ToString;
11799 match value {
11800 "name" => Ok(__FieldTag::__name),
11801 "targetVersion" => Ok(__FieldTag::__target_version),
11802 "target_version" => Ok(__FieldTag::__target_version),
11803 "schedule" => Ok(__FieldTag::__schedule),
11804 "requestId" => Ok(__FieldTag::__request_id),
11805 "request_id" => Ok(__FieldTag::__request_id),
11806 _ => Ok(__FieldTag::Unknown(value.to_string())),
11807 }
11808 }
11809 }
11810 deserializer.deserialize_identifier(Visitor)
11811 }
11812 }
11813 struct Visitor;
11814 impl<'de> serde::de::Visitor<'de> for Visitor {
11815 type Value = UpgradeClusterRequest;
11816 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
11817 formatter.write_str("struct UpgradeClusterRequest")
11818 }
11819 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
11820 where
11821 A: serde::de::MapAccess<'de>,
11822 {
11823 #[allow(unused_imports)]
11824 use serde::de::Error;
11825 use std::option::Option::Some;
11826 let mut fields = std::collections::HashSet::new();
11827 let mut result = Self::Value::new();
11828 while let Some(tag) = map.next_key::<__FieldTag>()? {
11829 #[allow(clippy::match_single_binding)]
11830 match tag {
11831 __FieldTag::__name => {
11832 if !fields.insert(__FieldTag::__name) {
11833 return std::result::Result::Err(A::Error::duplicate_field(
11834 "multiple values for name",
11835 ));
11836 }
11837 result.name = map
11838 .next_value::<std::option::Option<std::string::String>>()?
11839 .unwrap_or_default();
11840 }
11841 __FieldTag::__target_version => {
11842 if !fields.insert(__FieldTag::__target_version) {
11843 return std::result::Result::Err(A::Error::duplicate_field(
11844 "multiple values for target_version",
11845 ));
11846 }
11847 result.target_version = map
11848 .next_value::<std::option::Option<std::string::String>>()?
11849 .unwrap_or_default();
11850 }
11851 __FieldTag::__schedule => {
11852 if !fields.insert(__FieldTag::__schedule) {
11853 return std::result::Result::Err(A::Error::duplicate_field(
11854 "multiple values for schedule",
11855 ));
11856 }
11857 result.schedule = map
11858 .next_value::<std::option::Option<
11859 crate::model::upgrade_cluster_request::Schedule,
11860 >>()?
11861 .unwrap_or_default();
11862 }
11863 __FieldTag::__request_id => {
11864 if !fields.insert(__FieldTag::__request_id) {
11865 return std::result::Result::Err(A::Error::duplicate_field(
11866 "multiple values for request_id",
11867 ));
11868 }
11869 result.request_id = map
11870 .next_value::<std::option::Option<std::string::String>>()?
11871 .unwrap_or_default();
11872 }
11873 __FieldTag::Unknown(key) => {
11874 let value = map.next_value::<serde_json::Value>()?;
11875 result._unknown_fields.insert(key, value);
11876 }
11877 }
11878 }
11879 std::result::Result::Ok(result)
11880 }
11881 }
11882 deserializer.deserialize_any(Visitor)
11883 }
11884}
11885
11886#[doc(hidden)]
11887impl serde::ser::Serialize for UpgradeClusterRequest {
11888 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
11889 where
11890 S: serde::ser::Serializer,
11891 {
11892 use serde::ser::SerializeMap;
11893 #[allow(unused_imports)]
11894 use std::option::Option::Some;
11895 let mut state = serializer.serialize_map(std::option::Option::None)?;
11896 if !self.name.is_empty() {
11897 state.serialize_entry("name", &self.name)?;
11898 }
11899 if !self.target_version.is_empty() {
11900 state.serialize_entry("targetVersion", &self.target_version)?;
11901 }
11902 if !wkt::internal::is_default(&self.schedule) {
11903 state.serialize_entry("schedule", &self.schedule)?;
11904 }
11905 if !self.request_id.is_empty() {
11906 state.serialize_entry("requestId", &self.request_id)?;
11907 }
11908 if !self._unknown_fields.is_empty() {
11909 for (key, value) in self._unknown_fields.iter() {
11910 state.serialize_entry(key, &value)?;
11911 }
11912 }
11913 state.end()
11914 }
11915}
11916
11917impl std::fmt::Debug for UpgradeClusterRequest {
11918 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11919 let mut debug_struct = f.debug_struct("UpgradeClusterRequest");
11920 debug_struct.field("name", &self.name);
11921 debug_struct.field("target_version", &self.target_version);
11922 debug_struct.field("schedule", &self.schedule);
11923 debug_struct.field("request_id", &self.request_id);
11924 if !self._unknown_fields.is_empty() {
11925 debug_struct.field("_unknown_fields", &self._unknown_fields);
11926 }
11927 debug_struct.finish()
11928 }
11929}
11930
11931pub mod upgrade_cluster_request {
11933 #[allow(unused_imports)]
11934 use super::*;
11935
11936 #[derive(Clone, Debug, PartialEq)]
11952 #[non_exhaustive]
11953 pub enum Schedule {
11954 Unspecified,
11957 Immediately,
11960 UnknownValue(schedule::UnknownValue),
11965 }
11966
11967 #[doc(hidden)]
11968 pub mod schedule {
11969 #[allow(unused_imports)]
11970 use super::*;
11971 #[derive(Clone, Debug, PartialEq)]
11972 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
11973 }
11974
11975 impl Schedule {
11976 pub fn value(&self) -> std::option::Option<i32> {
11981 match self {
11982 Self::Unspecified => std::option::Option::Some(0),
11983 Self::Immediately => std::option::Option::Some(1),
11984 Self::UnknownValue(u) => u.0.value(),
11985 }
11986 }
11987
11988 pub fn name(&self) -> std::option::Option<&str> {
11993 match self {
11994 Self::Unspecified => std::option::Option::Some("SCHEDULE_UNSPECIFIED"),
11995 Self::Immediately => std::option::Option::Some("IMMEDIATELY"),
11996 Self::UnknownValue(u) => u.0.name(),
11997 }
11998 }
11999 }
12000
12001 impl std::default::Default for Schedule {
12002 fn default() -> Self {
12003 use std::convert::From;
12004 Self::from(0)
12005 }
12006 }
12007
12008 impl std::fmt::Display for Schedule {
12009 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
12010 wkt::internal::display_enum(f, self.name(), self.value())
12011 }
12012 }
12013
12014 impl std::convert::From<i32> for Schedule {
12015 fn from(value: i32) -> Self {
12016 match value {
12017 0 => Self::Unspecified,
12018 1 => Self::Immediately,
12019 _ => Self::UnknownValue(schedule::UnknownValue(
12020 wkt::internal::UnknownEnumValue::Integer(value),
12021 )),
12022 }
12023 }
12024 }
12025
12026 impl std::convert::From<&str> for Schedule {
12027 fn from(value: &str) -> Self {
12028 use std::string::ToString;
12029 match value {
12030 "SCHEDULE_UNSPECIFIED" => Self::Unspecified,
12031 "IMMEDIATELY" => Self::Immediately,
12032 _ => Self::UnknownValue(schedule::UnknownValue(
12033 wkt::internal::UnknownEnumValue::String(value.to_string()),
12034 )),
12035 }
12036 }
12037 }
12038
12039 impl serde::ser::Serialize for Schedule {
12040 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
12041 where
12042 S: serde::Serializer,
12043 {
12044 match self {
12045 Self::Unspecified => serializer.serialize_i32(0),
12046 Self::Immediately => serializer.serialize_i32(1),
12047 Self::UnknownValue(u) => u.0.serialize(serializer),
12048 }
12049 }
12050 }
12051
12052 impl<'de> serde::de::Deserialize<'de> for Schedule {
12053 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12054 where
12055 D: serde::Deserializer<'de>,
12056 {
12057 deserializer.deserialize_any(wkt::internal::EnumVisitor::<Schedule>::new(
12058 ".google.cloud.edgecontainer.v1.UpgradeClusterRequest.Schedule",
12059 ))
12060 }
12061 }
12062}
12063
12064#[derive(Clone, Default, PartialEq)]
12066#[non_exhaustive]
12067pub struct DeleteClusterRequest {
12068 pub name: std::string::String,
12070
12071 pub request_id: std::string::String,
12075
12076 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
12077}
12078
12079impl DeleteClusterRequest {
12080 pub fn new() -> Self {
12081 std::default::Default::default()
12082 }
12083
12084 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12086 self.name = v.into();
12087 self
12088 }
12089
12090 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12092 self.request_id = v.into();
12093 self
12094 }
12095}
12096
12097impl wkt::message::Message for DeleteClusterRequest {
12098 fn typename() -> &'static str {
12099 "type.googleapis.com/google.cloud.edgecontainer.v1.DeleteClusterRequest"
12100 }
12101}
12102
12103#[doc(hidden)]
12104impl<'de> serde::de::Deserialize<'de> for DeleteClusterRequest {
12105 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12106 where
12107 D: serde::Deserializer<'de>,
12108 {
12109 #[allow(non_camel_case_types)]
12110 #[doc(hidden)]
12111 #[derive(PartialEq, Eq, Hash)]
12112 enum __FieldTag {
12113 __name,
12114 __request_id,
12115 Unknown(std::string::String),
12116 }
12117 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
12118 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12119 where
12120 D: serde::Deserializer<'de>,
12121 {
12122 struct Visitor;
12123 impl<'de> serde::de::Visitor<'de> for Visitor {
12124 type Value = __FieldTag;
12125 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12126 formatter.write_str("a field name for DeleteClusterRequest")
12127 }
12128 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
12129 where
12130 E: serde::de::Error,
12131 {
12132 use std::result::Result::Ok;
12133 use std::string::ToString;
12134 match value {
12135 "name" => Ok(__FieldTag::__name),
12136 "requestId" => Ok(__FieldTag::__request_id),
12137 "request_id" => Ok(__FieldTag::__request_id),
12138 _ => Ok(__FieldTag::Unknown(value.to_string())),
12139 }
12140 }
12141 }
12142 deserializer.deserialize_identifier(Visitor)
12143 }
12144 }
12145 struct Visitor;
12146 impl<'de> serde::de::Visitor<'de> for Visitor {
12147 type Value = DeleteClusterRequest;
12148 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12149 formatter.write_str("struct DeleteClusterRequest")
12150 }
12151 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
12152 where
12153 A: serde::de::MapAccess<'de>,
12154 {
12155 #[allow(unused_imports)]
12156 use serde::de::Error;
12157 use std::option::Option::Some;
12158 let mut fields = std::collections::HashSet::new();
12159 let mut result = Self::Value::new();
12160 while let Some(tag) = map.next_key::<__FieldTag>()? {
12161 #[allow(clippy::match_single_binding)]
12162 match tag {
12163 __FieldTag::__name => {
12164 if !fields.insert(__FieldTag::__name) {
12165 return std::result::Result::Err(A::Error::duplicate_field(
12166 "multiple values for name",
12167 ));
12168 }
12169 result.name = map
12170 .next_value::<std::option::Option<std::string::String>>()?
12171 .unwrap_or_default();
12172 }
12173 __FieldTag::__request_id => {
12174 if !fields.insert(__FieldTag::__request_id) {
12175 return std::result::Result::Err(A::Error::duplicate_field(
12176 "multiple values for request_id",
12177 ));
12178 }
12179 result.request_id = map
12180 .next_value::<std::option::Option<std::string::String>>()?
12181 .unwrap_or_default();
12182 }
12183 __FieldTag::Unknown(key) => {
12184 let value = map.next_value::<serde_json::Value>()?;
12185 result._unknown_fields.insert(key, value);
12186 }
12187 }
12188 }
12189 std::result::Result::Ok(result)
12190 }
12191 }
12192 deserializer.deserialize_any(Visitor)
12193 }
12194}
12195
12196#[doc(hidden)]
12197impl serde::ser::Serialize for DeleteClusterRequest {
12198 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
12199 where
12200 S: serde::ser::Serializer,
12201 {
12202 use serde::ser::SerializeMap;
12203 #[allow(unused_imports)]
12204 use std::option::Option::Some;
12205 let mut state = serializer.serialize_map(std::option::Option::None)?;
12206 if !self.name.is_empty() {
12207 state.serialize_entry("name", &self.name)?;
12208 }
12209 if !self.request_id.is_empty() {
12210 state.serialize_entry("requestId", &self.request_id)?;
12211 }
12212 if !self._unknown_fields.is_empty() {
12213 for (key, value) in self._unknown_fields.iter() {
12214 state.serialize_entry(key, &value)?;
12215 }
12216 }
12217 state.end()
12218 }
12219}
12220
12221impl std::fmt::Debug for DeleteClusterRequest {
12222 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12223 let mut debug_struct = f.debug_struct("DeleteClusterRequest");
12224 debug_struct.field("name", &self.name);
12225 debug_struct.field("request_id", &self.request_id);
12226 if !self._unknown_fields.is_empty() {
12227 debug_struct.field("_unknown_fields", &self._unknown_fields);
12228 }
12229 debug_struct.finish()
12230 }
12231}
12232
12233#[derive(Clone, Default, PartialEq)]
12235#[non_exhaustive]
12236pub struct GenerateAccessTokenRequest {
12237 pub cluster: std::string::String,
12239
12240 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
12241}
12242
12243impl GenerateAccessTokenRequest {
12244 pub fn new() -> Self {
12245 std::default::Default::default()
12246 }
12247
12248 pub fn set_cluster<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12250 self.cluster = v.into();
12251 self
12252 }
12253}
12254
12255impl wkt::message::Message for GenerateAccessTokenRequest {
12256 fn typename() -> &'static str {
12257 "type.googleapis.com/google.cloud.edgecontainer.v1.GenerateAccessTokenRequest"
12258 }
12259}
12260
12261#[doc(hidden)]
12262impl<'de> serde::de::Deserialize<'de> for GenerateAccessTokenRequest {
12263 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12264 where
12265 D: serde::Deserializer<'de>,
12266 {
12267 #[allow(non_camel_case_types)]
12268 #[doc(hidden)]
12269 #[derive(PartialEq, Eq, Hash)]
12270 enum __FieldTag {
12271 __cluster,
12272 Unknown(std::string::String),
12273 }
12274 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
12275 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12276 where
12277 D: serde::Deserializer<'de>,
12278 {
12279 struct Visitor;
12280 impl<'de> serde::de::Visitor<'de> for Visitor {
12281 type Value = __FieldTag;
12282 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12283 formatter.write_str("a field name for GenerateAccessTokenRequest")
12284 }
12285 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
12286 where
12287 E: serde::de::Error,
12288 {
12289 use std::result::Result::Ok;
12290 use std::string::ToString;
12291 match value {
12292 "cluster" => Ok(__FieldTag::__cluster),
12293 _ => Ok(__FieldTag::Unknown(value.to_string())),
12294 }
12295 }
12296 }
12297 deserializer.deserialize_identifier(Visitor)
12298 }
12299 }
12300 struct Visitor;
12301 impl<'de> serde::de::Visitor<'de> for Visitor {
12302 type Value = GenerateAccessTokenRequest;
12303 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12304 formatter.write_str("struct GenerateAccessTokenRequest")
12305 }
12306 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
12307 where
12308 A: serde::de::MapAccess<'de>,
12309 {
12310 #[allow(unused_imports)]
12311 use serde::de::Error;
12312 use std::option::Option::Some;
12313 let mut fields = std::collections::HashSet::new();
12314 let mut result = Self::Value::new();
12315 while let Some(tag) = map.next_key::<__FieldTag>()? {
12316 #[allow(clippy::match_single_binding)]
12317 match tag {
12318 __FieldTag::__cluster => {
12319 if !fields.insert(__FieldTag::__cluster) {
12320 return std::result::Result::Err(A::Error::duplicate_field(
12321 "multiple values for cluster",
12322 ));
12323 }
12324 result.cluster = map
12325 .next_value::<std::option::Option<std::string::String>>()?
12326 .unwrap_or_default();
12327 }
12328 __FieldTag::Unknown(key) => {
12329 let value = map.next_value::<serde_json::Value>()?;
12330 result._unknown_fields.insert(key, value);
12331 }
12332 }
12333 }
12334 std::result::Result::Ok(result)
12335 }
12336 }
12337 deserializer.deserialize_any(Visitor)
12338 }
12339}
12340
12341#[doc(hidden)]
12342impl serde::ser::Serialize for GenerateAccessTokenRequest {
12343 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
12344 where
12345 S: serde::ser::Serializer,
12346 {
12347 use serde::ser::SerializeMap;
12348 #[allow(unused_imports)]
12349 use std::option::Option::Some;
12350 let mut state = serializer.serialize_map(std::option::Option::None)?;
12351 if !self.cluster.is_empty() {
12352 state.serialize_entry("cluster", &self.cluster)?;
12353 }
12354 if !self._unknown_fields.is_empty() {
12355 for (key, value) in self._unknown_fields.iter() {
12356 state.serialize_entry(key, &value)?;
12357 }
12358 }
12359 state.end()
12360 }
12361}
12362
12363impl std::fmt::Debug for GenerateAccessTokenRequest {
12364 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12365 let mut debug_struct = f.debug_struct("GenerateAccessTokenRequest");
12366 debug_struct.field("cluster", &self.cluster);
12367 if !self._unknown_fields.is_empty() {
12368 debug_struct.field("_unknown_fields", &self._unknown_fields);
12369 }
12370 debug_struct.finish()
12371 }
12372}
12373
12374#[derive(Clone, Default, PartialEq)]
12376#[non_exhaustive]
12377pub struct GenerateAccessTokenResponse {
12378 pub access_token: std::string::String,
12380
12381 pub expire_time: std::option::Option<wkt::Timestamp>,
12383
12384 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
12385}
12386
12387impl GenerateAccessTokenResponse {
12388 pub fn new() -> Self {
12389 std::default::Default::default()
12390 }
12391
12392 pub fn set_access_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12394 self.access_token = v.into();
12395 self
12396 }
12397
12398 pub fn set_expire_time<T>(mut self, v: T) -> Self
12400 where
12401 T: std::convert::Into<wkt::Timestamp>,
12402 {
12403 self.expire_time = std::option::Option::Some(v.into());
12404 self
12405 }
12406
12407 pub fn set_or_clear_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
12409 where
12410 T: std::convert::Into<wkt::Timestamp>,
12411 {
12412 self.expire_time = v.map(|x| x.into());
12413 self
12414 }
12415}
12416
12417impl wkt::message::Message for GenerateAccessTokenResponse {
12418 fn typename() -> &'static str {
12419 "type.googleapis.com/google.cloud.edgecontainer.v1.GenerateAccessTokenResponse"
12420 }
12421}
12422
12423#[doc(hidden)]
12424impl<'de> serde::de::Deserialize<'de> for GenerateAccessTokenResponse {
12425 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12426 where
12427 D: serde::Deserializer<'de>,
12428 {
12429 #[allow(non_camel_case_types)]
12430 #[doc(hidden)]
12431 #[derive(PartialEq, Eq, Hash)]
12432 enum __FieldTag {
12433 __access_token,
12434 __expire_time,
12435 Unknown(std::string::String),
12436 }
12437 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
12438 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12439 where
12440 D: serde::Deserializer<'de>,
12441 {
12442 struct Visitor;
12443 impl<'de> serde::de::Visitor<'de> for Visitor {
12444 type Value = __FieldTag;
12445 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12446 formatter.write_str("a field name for GenerateAccessTokenResponse")
12447 }
12448 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
12449 where
12450 E: serde::de::Error,
12451 {
12452 use std::result::Result::Ok;
12453 use std::string::ToString;
12454 match value {
12455 "accessToken" => Ok(__FieldTag::__access_token),
12456 "access_token" => Ok(__FieldTag::__access_token),
12457 "expireTime" => Ok(__FieldTag::__expire_time),
12458 "expire_time" => Ok(__FieldTag::__expire_time),
12459 _ => Ok(__FieldTag::Unknown(value.to_string())),
12460 }
12461 }
12462 }
12463 deserializer.deserialize_identifier(Visitor)
12464 }
12465 }
12466 struct Visitor;
12467 impl<'de> serde::de::Visitor<'de> for Visitor {
12468 type Value = GenerateAccessTokenResponse;
12469 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12470 formatter.write_str("struct GenerateAccessTokenResponse")
12471 }
12472 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
12473 where
12474 A: serde::de::MapAccess<'de>,
12475 {
12476 #[allow(unused_imports)]
12477 use serde::de::Error;
12478 use std::option::Option::Some;
12479 let mut fields = std::collections::HashSet::new();
12480 let mut result = Self::Value::new();
12481 while let Some(tag) = map.next_key::<__FieldTag>()? {
12482 #[allow(clippy::match_single_binding)]
12483 match tag {
12484 __FieldTag::__access_token => {
12485 if !fields.insert(__FieldTag::__access_token) {
12486 return std::result::Result::Err(A::Error::duplicate_field(
12487 "multiple values for access_token",
12488 ));
12489 }
12490 result.access_token = map
12491 .next_value::<std::option::Option<std::string::String>>()?
12492 .unwrap_or_default();
12493 }
12494 __FieldTag::__expire_time => {
12495 if !fields.insert(__FieldTag::__expire_time) {
12496 return std::result::Result::Err(A::Error::duplicate_field(
12497 "multiple values for expire_time",
12498 ));
12499 }
12500 result.expire_time =
12501 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
12502 }
12503 __FieldTag::Unknown(key) => {
12504 let value = map.next_value::<serde_json::Value>()?;
12505 result._unknown_fields.insert(key, value);
12506 }
12507 }
12508 }
12509 std::result::Result::Ok(result)
12510 }
12511 }
12512 deserializer.deserialize_any(Visitor)
12513 }
12514}
12515
12516#[doc(hidden)]
12517impl serde::ser::Serialize for GenerateAccessTokenResponse {
12518 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
12519 where
12520 S: serde::ser::Serializer,
12521 {
12522 use serde::ser::SerializeMap;
12523 #[allow(unused_imports)]
12524 use std::option::Option::Some;
12525 let mut state = serializer.serialize_map(std::option::Option::None)?;
12526 if !self.access_token.is_empty() {
12527 state.serialize_entry("accessToken", &self.access_token)?;
12528 }
12529 if self.expire_time.is_some() {
12530 state.serialize_entry("expireTime", &self.expire_time)?;
12531 }
12532 if !self._unknown_fields.is_empty() {
12533 for (key, value) in self._unknown_fields.iter() {
12534 state.serialize_entry(key, &value)?;
12535 }
12536 }
12537 state.end()
12538 }
12539}
12540
12541impl std::fmt::Debug for GenerateAccessTokenResponse {
12542 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12543 let mut debug_struct = f.debug_struct("GenerateAccessTokenResponse");
12544 debug_struct.field("access_token", &self.access_token);
12545 debug_struct.field("expire_time", &self.expire_time);
12546 if !self._unknown_fields.is_empty() {
12547 debug_struct.field("_unknown_fields", &self._unknown_fields);
12548 }
12549 debug_struct.finish()
12550 }
12551}
12552
12553#[derive(Clone, Default, PartialEq)]
12555#[non_exhaustive]
12556pub struct GenerateOfflineCredentialRequest {
12557 pub cluster: std::string::String,
12559
12560 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
12561}
12562
12563impl GenerateOfflineCredentialRequest {
12564 pub fn new() -> Self {
12565 std::default::Default::default()
12566 }
12567
12568 pub fn set_cluster<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12570 self.cluster = v.into();
12571 self
12572 }
12573}
12574
12575impl wkt::message::Message for GenerateOfflineCredentialRequest {
12576 fn typename() -> &'static str {
12577 "type.googleapis.com/google.cloud.edgecontainer.v1.GenerateOfflineCredentialRequest"
12578 }
12579}
12580
12581#[doc(hidden)]
12582impl<'de> serde::de::Deserialize<'de> for GenerateOfflineCredentialRequest {
12583 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12584 where
12585 D: serde::Deserializer<'de>,
12586 {
12587 #[allow(non_camel_case_types)]
12588 #[doc(hidden)]
12589 #[derive(PartialEq, Eq, Hash)]
12590 enum __FieldTag {
12591 __cluster,
12592 Unknown(std::string::String),
12593 }
12594 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
12595 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12596 where
12597 D: serde::Deserializer<'de>,
12598 {
12599 struct Visitor;
12600 impl<'de> serde::de::Visitor<'de> for Visitor {
12601 type Value = __FieldTag;
12602 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12603 formatter.write_str("a field name for GenerateOfflineCredentialRequest")
12604 }
12605 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
12606 where
12607 E: serde::de::Error,
12608 {
12609 use std::result::Result::Ok;
12610 use std::string::ToString;
12611 match value {
12612 "cluster" => Ok(__FieldTag::__cluster),
12613 _ => Ok(__FieldTag::Unknown(value.to_string())),
12614 }
12615 }
12616 }
12617 deserializer.deserialize_identifier(Visitor)
12618 }
12619 }
12620 struct Visitor;
12621 impl<'de> serde::de::Visitor<'de> for Visitor {
12622 type Value = GenerateOfflineCredentialRequest;
12623 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12624 formatter.write_str("struct GenerateOfflineCredentialRequest")
12625 }
12626 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
12627 where
12628 A: serde::de::MapAccess<'de>,
12629 {
12630 #[allow(unused_imports)]
12631 use serde::de::Error;
12632 use std::option::Option::Some;
12633 let mut fields = std::collections::HashSet::new();
12634 let mut result = Self::Value::new();
12635 while let Some(tag) = map.next_key::<__FieldTag>()? {
12636 #[allow(clippy::match_single_binding)]
12637 match tag {
12638 __FieldTag::__cluster => {
12639 if !fields.insert(__FieldTag::__cluster) {
12640 return std::result::Result::Err(A::Error::duplicate_field(
12641 "multiple values for cluster",
12642 ));
12643 }
12644 result.cluster = map
12645 .next_value::<std::option::Option<std::string::String>>()?
12646 .unwrap_or_default();
12647 }
12648 __FieldTag::Unknown(key) => {
12649 let value = map.next_value::<serde_json::Value>()?;
12650 result._unknown_fields.insert(key, value);
12651 }
12652 }
12653 }
12654 std::result::Result::Ok(result)
12655 }
12656 }
12657 deserializer.deserialize_any(Visitor)
12658 }
12659}
12660
12661#[doc(hidden)]
12662impl serde::ser::Serialize for GenerateOfflineCredentialRequest {
12663 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
12664 where
12665 S: serde::ser::Serializer,
12666 {
12667 use serde::ser::SerializeMap;
12668 #[allow(unused_imports)]
12669 use std::option::Option::Some;
12670 let mut state = serializer.serialize_map(std::option::Option::None)?;
12671 if !self.cluster.is_empty() {
12672 state.serialize_entry("cluster", &self.cluster)?;
12673 }
12674 if !self._unknown_fields.is_empty() {
12675 for (key, value) in self._unknown_fields.iter() {
12676 state.serialize_entry(key, &value)?;
12677 }
12678 }
12679 state.end()
12680 }
12681}
12682
12683impl std::fmt::Debug for GenerateOfflineCredentialRequest {
12684 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12685 let mut debug_struct = f.debug_struct("GenerateOfflineCredentialRequest");
12686 debug_struct.field("cluster", &self.cluster);
12687 if !self._unknown_fields.is_empty() {
12688 debug_struct.field("_unknown_fields", &self._unknown_fields);
12689 }
12690 debug_struct.finish()
12691 }
12692}
12693
12694#[derive(Clone, Default, PartialEq)]
12696#[non_exhaustive]
12697pub struct GenerateOfflineCredentialResponse {
12698 pub client_certificate: std::string::String,
12700
12701 pub client_key: std::string::String,
12703
12704 pub user_id: std::string::String,
12706
12707 pub expire_time: std::option::Option<wkt::Timestamp>,
12709
12710 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
12711}
12712
12713impl GenerateOfflineCredentialResponse {
12714 pub fn new() -> Self {
12715 std::default::Default::default()
12716 }
12717
12718 pub fn set_client_certificate<T: std::convert::Into<std::string::String>>(
12720 mut self,
12721 v: T,
12722 ) -> Self {
12723 self.client_certificate = v.into();
12724 self
12725 }
12726
12727 pub fn set_client_key<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12729 self.client_key = v.into();
12730 self
12731 }
12732
12733 pub fn set_user_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12735 self.user_id = v.into();
12736 self
12737 }
12738
12739 pub fn set_expire_time<T>(mut self, v: T) -> Self
12741 where
12742 T: std::convert::Into<wkt::Timestamp>,
12743 {
12744 self.expire_time = std::option::Option::Some(v.into());
12745 self
12746 }
12747
12748 pub fn set_or_clear_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
12750 where
12751 T: std::convert::Into<wkt::Timestamp>,
12752 {
12753 self.expire_time = v.map(|x| x.into());
12754 self
12755 }
12756}
12757
12758impl wkt::message::Message for GenerateOfflineCredentialResponse {
12759 fn typename() -> &'static str {
12760 "type.googleapis.com/google.cloud.edgecontainer.v1.GenerateOfflineCredentialResponse"
12761 }
12762}
12763
12764#[doc(hidden)]
12765impl<'de> serde::de::Deserialize<'de> for GenerateOfflineCredentialResponse {
12766 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12767 where
12768 D: serde::Deserializer<'de>,
12769 {
12770 #[allow(non_camel_case_types)]
12771 #[doc(hidden)]
12772 #[derive(PartialEq, Eq, Hash)]
12773 enum __FieldTag {
12774 __client_certificate,
12775 __client_key,
12776 __user_id,
12777 __expire_time,
12778 Unknown(std::string::String),
12779 }
12780 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
12781 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12782 where
12783 D: serde::Deserializer<'de>,
12784 {
12785 struct Visitor;
12786 impl<'de> serde::de::Visitor<'de> for Visitor {
12787 type Value = __FieldTag;
12788 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12789 formatter.write_str("a field name for GenerateOfflineCredentialResponse")
12790 }
12791 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
12792 where
12793 E: serde::de::Error,
12794 {
12795 use std::result::Result::Ok;
12796 use std::string::ToString;
12797 match value {
12798 "clientCertificate" => Ok(__FieldTag::__client_certificate),
12799 "client_certificate" => Ok(__FieldTag::__client_certificate),
12800 "clientKey" => Ok(__FieldTag::__client_key),
12801 "client_key" => Ok(__FieldTag::__client_key),
12802 "userId" => Ok(__FieldTag::__user_id),
12803 "user_id" => Ok(__FieldTag::__user_id),
12804 "expireTime" => Ok(__FieldTag::__expire_time),
12805 "expire_time" => Ok(__FieldTag::__expire_time),
12806 _ => Ok(__FieldTag::Unknown(value.to_string())),
12807 }
12808 }
12809 }
12810 deserializer.deserialize_identifier(Visitor)
12811 }
12812 }
12813 struct Visitor;
12814 impl<'de> serde::de::Visitor<'de> for Visitor {
12815 type Value = GenerateOfflineCredentialResponse;
12816 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
12817 formatter.write_str("struct GenerateOfflineCredentialResponse")
12818 }
12819 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
12820 where
12821 A: serde::de::MapAccess<'de>,
12822 {
12823 #[allow(unused_imports)]
12824 use serde::de::Error;
12825 use std::option::Option::Some;
12826 let mut fields = std::collections::HashSet::new();
12827 let mut result = Self::Value::new();
12828 while let Some(tag) = map.next_key::<__FieldTag>()? {
12829 #[allow(clippy::match_single_binding)]
12830 match tag {
12831 __FieldTag::__client_certificate => {
12832 if !fields.insert(__FieldTag::__client_certificate) {
12833 return std::result::Result::Err(A::Error::duplicate_field(
12834 "multiple values for client_certificate",
12835 ));
12836 }
12837 result.client_certificate = map
12838 .next_value::<std::option::Option<std::string::String>>()?
12839 .unwrap_or_default();
12840 }
12841 __FieldTag::__client_key => {
12842 if !fields.insert(__FieldTag::__client_key) {
12843 return std::result::Result::Err(A::Error::duplicate_field(
12844 "multiple values for client_key",
12845 ));
12846 }
12847 result.client_key = map
12848 .next_value::<std::option::Option<std::string::String>>()?
12849 .unwrap_or_default();
12850 }
12851 __FieldTag::__user_id => {
12852 if !fields.insert(__FieldTag::__user_id) {
12853 return std::result::Result::Err(A::Error::duplicate_field(
12854 "multiple values for user_id",
12855 ));
12856 }
12857 result.user_id = map
12858 .next_value::<std::option::Option<std::string::String>>()?
12859 .unwrap_or_default();
12860 }
12861 __FieldTag::__expire_time => {
12862 if !fields.insert(__FieldTag::__expire_time) {
12863 return std::result::Result::Err(A::Error::duplicate_field(
12864 "multiple values for expire_time",
12865 ));
12866 }
12867 result.expire_time =
12868 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
12869 }
12870 __FieldTag::Unknown(key) => {
12871 let value = map.next_value::<serde_json::Value>()?;
12872 result._unknown_fields.insert(key, value);
12873 }
12874 }
12875 }
12876 std::result::Result::Ok(result)
12877 }
12878 }
12879 deserializer.deserialize_any(Visitor)
12880 }
12881}
12882
12883#[doc(hidden)]
12884impl serde::ser::Serialize for GenerateOfflineCredentialResponse {
12885 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
12886 where
12887 S: serde::ser::Serializer,
12888 {
12889 use serde::ser::SerializeMap;
12890 #[allow(unused_imports)]
12891 use std::option::Option::Some;
12892 let mut state = serializer.serialize_map(std::option::Option::None)?;
12893 if !self.client_certificate.is_empty() {
12894 state.serialize_entry("clientCertificate", &self.client_certificate)?;
12895 }
12896 if !self.client_key.is_empty() {
12897 state.serialize_entry("clientKey", &self.client_key)?;
12898 }
12899 if !self.user_id.is_empty() {
12900 state.serialize_entry("userId", &self.user_id)?;
12901 }
12902 if self.expire_time.is_some() {
12903 state.serialize_entry("expireTime", &self.expire_time)?;
12904 }
12905 if !self._unknown_fields.is_empty() {
12906 for (key, value) in self._unknown_fields.iter() {
12907 state.serialize_entry(key, &value)?;
12908 }
12909 }
12910 state.end()
12911 }
12912}
12913
12914impl std::fmt::Debug for GenerateOfflineCredentialResponse {
12915 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12916 let mut debug_struct = f.debug_struct("GenerateOfflineCredentialResponse");
12917 debug_struct.field("client_certificate", &self.client_certificate);
12918 debug_struct.field("client_key", &self.client_key);
12919 debug_struct.field("user_id", &self.user_id);
12920 debug_struct.field("expire_time", &self.expire_time);
12921 if !self._unknown_fields.is_empty() {
12922 debug_struct.field("_unknown_fields", &self._unknown_fields);
12923 }
12924 debug_struct.finish()
12925 }
12926}
12927
12928#[derive(Clone, Default, PartialEq)]
12930#[non_exhaustive]
12931pub struct ListNodePoolsRequest {
12932 pub parent: std::string::String,
12934
12935 pub page_size: i32,
12937
12938 pub page_token: std::string::String,
12940
12941 pub filter: std::string::String,
12943
12944 pub order_by: std::string::String,
12946
12947 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
12948}
12949
12950impl ListNodePoolsRequest {
12951 pub fn new() -> Self {
12952 std::default::Default::default()
12953 }
12954
12955 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12957 self.parent = v.into();
12958 self
12959 }
12960
12961 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
12963 self.page_size = v.into();
12964 self
12965 }
12966
12967 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12969 self.page_token = v.into();
12970 self
12971 }
12972
12973 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12975 self.filter = v.into();
12976 self
12977 }
12978
12979 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
12981 self.order_by = v.into();
12982 self
12983 }
12984}
12985
12986impl wkt::message::Message for ListNodePoolsRequest {
12987 fn typename() -> &'static str {
12988 "type.googleapis.com/google.cloud.edgecontainer.v1.ListNodePoolsRequest"
12989 }
12990}
12991
12992#[doc(hidden)]
12993impl<'de> serde::de::Deserialize<'de> for ListNodePoolsRequest {
12994 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
12995 where
12996 D: serde::Deserializer<'de>,
12997 {
12998 #[allow(non_camel_case_types)]
12999 #[doc(hidden)]
13000 #[derive(PartialEq, Eq, Hash)]
13001 enum __FieldTag {
13002 __parent,
13003 __page_size,
13004 __page_token,
13005 __filter,
13006 __order_by,
13007 Unknown(std::string::String),
13008 }
13009 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
13010 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13011 where
13012 D: serde::Deserializer<'de>,
13013 {
13014 struct Visitor;
13015 impl<'de> serde::de::Visitor<'de> for Visitor {
13016 type Value = __FieldTag;
13017 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13018 formatter.write_str("a field name for ListNodePoolsRequest")
13019 }
13020 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
13021 where
13022 E: serde::de::Error,
13023 {
13024 use std::result::Result::Ok;
13025 use std::string::ToString;
13026 match value {
13027 "parent" => Ok(__FieldTag::__parent),
13028 "pageSize" => Ok(__FieldTag::__page_size),
13029 "page_size" => Ok(__FieldTag::__page_size),
13030 "pageToken" => Ok(__FieldTag::__page_token),
13031 "page_token" => Ok(__FieldTag::__page_token),
13032 "filter" => Ok(__FieldTag::__filter),
13033 "orderBy" => Ok(__FieldTag::__order_by),
13034 "order_by" => Ok(__FieldTag::__order_by),
13035 _ => Ok(__FieldTag::Unknown(value.to_string())),
13036 }
13037 }
13038 }
13039 deserializer.deserialize_identifier(Visitor)
13040 }
13041 }
13042 struct Visitor;
13043 impl<'de> serde::de::Visitor<'de> for Visitor {
13044 type Value = ListNodePoolsRequest;
13045 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13046 formatter.write_str("struct ListNodePoolsRequest")
13047 }
13048 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
13049 where
13050 A: serde::de::MapAccess<'de>,
13051 {
13052 #[allow(unused_imports)]
13053 use serde::de::Error;
13054 use std::option::Option::Some;
13055 let mut fields = std::collections::HashSet::new();
13056 let mut result = Self::Value::new();
13057 while let Some(tag) = map.next_key::<__FieldTag>()? {
13058 #[allow(clippy::match_single_binding)]
13059 match tag {
13060 __FieldTag::__parent => {
13061 if !fields.insert(__FieldTag::__parent) {
13062 return std::result::Result::Err(A::Error::duplicate_field(
13063 "multiple values for parent",
13064 ));
13065 }
13066 result.parent = map
13067 .next_value::<std::option::Option<std::string::String>>()?
13068 .unwrap_or_default();
13069 }
13070 __FieldTag::__page_size => {
13071 if !fields.insert(__FieldTag::__page_size) {
13072 return std::result::Result::Err(A::Error::duplicate_field(
13073 "multiple values for page_size",
13074 ));
13075 }
13076 struct __With(std::option::Option<i32>);
13077 impl<'de> serde::de::Deserialize<'de> for __With {
13078 fn deserialize<D>(
13079 deserializer: D,
13080 ) -> std::result::Result<Self, D::Error>
13081 where
13082 D: serde::de::Deserializer<'de>,
13083 {
13084 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
13085 }
13086 }
13087 result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
13088 }
13089 __FieldTag::__page_token => {
13090 if !fields.insert(__FieldTag::__page_token) {
13091 return std::result::Result::Err(A::Error::duplicate_field(
13092 "multiple values for page_token",
13093 ));
13094 }
13095 result.page_token = map
13096 .next_value::<std::option::Option<std::string::String>>()?
13097 .unwrap_or_default();
13098 }
13099 __FieldTag::__filter => {
13100 if !fields.insert(__FieldTag::__filter) {
13101 return std::result::Result::Err(A::Error::duplicate_field(
13102 "multiple values for filter",
13103 ));
13104 }
13105 result.filter = map
13106 .next_value::<std::option::Option<std::string::String>>()?
13107 .unwrap_or_default();
13108 }
13109 __FieldTag::__order_by => {
13110 if !fields.insert(__FieldTag::__order_by) {
13111 return std::result::Result::Err(A::Error::duplicate_field(
13112 "multiple values for order_by",
13113 ));
13114 }
13115 result.order_by = map
13116 .next_value::<std::option::Option<std::string::String>>()?
13117 .unwrap_or_default();
13118 }
13119 __FieldTag::Unknown(key) => {
13120 let value = map.next_value::<serde_json::Value>()?;
13121 result._unknown_fields.insert(key, value);
13122 }
13123 }
13124 }
13125 std::result::Result::Ok(result)
13126 }
13127 }
13128 deserializer.deserialize_any(Visitor)
13129 }
13130}
13131
13132#[doc(hidden)]
13133impl serde::ser::Serialize for ListNodePoolsRequest {
13134 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
13135 where
13136 S: serde::ser::Serializer,
13137 {
13138 use serde::ser::SerializeMap;
13139 #[allow(unused_imports)]
13140 use std::option::Option::Some;
13141 let mut state = serializer.serialize_map(std::option::Option::None)?;
13142 if !self.parent.is_empty() {
13143 state.serialize_entry("parent", &self.parent)?;
13144 }
13145 if !wkt::internal::is_default(&self.page_size) {
13146 struct __With<'a>(&'a i32);
13147 impl<'a> serde::ser::Serialize for __With<'a> {
13148 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
13149 where
13150 S: serde::ser::Serializer,
13151 {
13152 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
13153 }
13154 }
13155 state.serialize_entry("pageSize", &__With(&self.page_size))?;
13156 }
13157 if !self.page_token.is_empty() {
13158 state.serialize_entry("pageToken", &self.page_token)?;
13159 }
13160 if !self.filter.is_empty() {
13161 state.serialize_entry("filter", &self.filter)?;
13162 }
13163 if !self.order_by.is_empty() {
13164 state.serialize_entry("orderBy", &self.order_by)?;
13165 }
13166 if !self._unknown_fields.is_empty() {
13167 for (key, value) in self._unknown_fields.iter() {
13168 state.serialize_entry(key, &value)?;
13169 }
13170 }
13171 state.end()
13172 }
13173}
13174
13175impl std::fmt::Debug for ListNodePoolsRequest {
13176 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13177 let mut debug_struct = f.debug_struct("ListNodePoolsRequest");
13178 debug_struct.field("parent", &self.parent);
13179 debug_struct.field("page_size", &self.page_size);
13180 debug_struct.field("page_token", &self.page_token);
13181 debug_struct.field("filter", &self.filter);
13182 debug_struct.field("order_by", &self.order_by);
13183 if !self._unknown_fields.is_empty() {
13184 debug_struct.field("_unknown_fields", &self._unknown_fields);
13185 }
13186 debug_struct.finish()
13187 }
13188}
13189
13190#[derive(Clone, Default, PartialEq)]
13192#[non_exhaustive]
13193pub struct ListNodePoolsResponse {
13194 pub node_pools: std::vec::Vec<crate::model::NodePool>,
13196
13197 pub next_page_token: std::string::String,
13199
13200 pub unreachable: std::vec::Vec<std::string::String>,
13202
13203 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
13204}
13205
13206impl ListNodePoolsResponse {
13207 pub fn new() -> Self {
13208 std::default::Default::default()
13209 }
13210
13211 pub fn set_node_pools<T, V>(mut self, v: T) -> Self
13213 where
13214 T: std::iter::IntoIterator<Item = V>,
13215 V: std::convert::Into<crate::model::NodePool>,
13216 {
13217 use std::iter::Iterator;
13218 self.node_pools = v.into_iter().map(|i| i.into()).collect();
13219 self
13220 }
13221
13222 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
13224 self.next_page_token = v.into();
13225 self
13226 }
13227
13228 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
13230 where
13231 T: std::iter::IntoIterator<Item = V>,
13232 V: std::convert::Into<std::string::String>,
13233 {
13234 use std::iter::Iterator;
13235 self.unreachable = v.into_iter().map(|i| i.into()).collect();
13236 self
13237 }
13238}
13239
13240impl wkt::message::Message for ListNodePoolsResponse {
13241 fn typename() -> &'static str {
13242 "type.googleapis.com/google.cloud.edgecontainer.v1.ListNodePoolsResponse"
13243 }
13244}
13245
13246#[doc(hidden)]
13247impl gax::paginator::internal::PageableResponse for ListNodePoolsResponse {
13248 type PageItem = crate::model::NodePool;
13249
13250 fn items(self) -> std::vec::Vec<Self::PageItem> {
13251 self.node_pools
13252 }
13253
13254 fn next_page_token(&self) -> std::string::String {
13255 use std::clone::Clone;
13256 self.next_page_token.clone()
13257 }
13258}
13259
13260#[doc(hidden)]
13261impl<'de> serde::de::Deserialize<'de> for ListNodePoolsResponse {
13262 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13263 where
13264 D: serde::Deserializer<'de>,
13265 {
13266 #[allow(non_camel_case_types)]
13267 #[doc(hidden)]
13268 #[derive(PartialEq, Eq, Hash)]
13269 enum __FieldTag {
13270 __node_pools,
13271 __next_page_token,
13272 __unreachable,
13273 Unknown(std::string::String),
13274 }
13275 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
13276 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13277 where
13278 D: serde::Deserializer<'de>,
13279 {
13280 struct Visitor;
13281 impl<'de> serde::de::Visitor<'de> for Visitor {
13282 type Value = __FieldTag;
13283 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13284 formatter.write_str("a field name for ListNodePoolsResponse")
13285 }
13286 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
13287 where
13288 E: serde::de::Error,
13289 {
13290 use std::result::Result::Ok;
13291 use std::string::ToString;
13292 match value {
13293 "nodePools" => Ok(__FieldTag::__node_pools),
13294 "node_pools" => Ok(__FieldTag::__node_pools),
13295 "nextPageToken" => Ok(__FieldTag::__next_page_token),
13296 "next_page_token" => Ok(__FieldTag::__next_page_token),
13297 "unreachable" => Ok(__FieldTag::__unreachable),
13298 _ => Ok(__FieldTag::Unknown(value.to_string())),
13299 }
13300 }
13301 }
13302 deserializer.deserialize_identifier(Visitor)
13303 }
13304 }
13305 struct Visitor;
13306 impl<'de> serde::de::Visitor<'de> for Visitor {
13307 type Value = ListNodePoolsResponse;
13308 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13309 formatter.write_str("struct ListNodePoolsResponse")
13310 }
13311 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
13312 where
13313 A: serde::de::MapAccess<'de>,
13314 {
13315 #[allow(unused_imports)]
13316 use serde::de::Error;
13317 use std::option::Option::Some;
13318 let mut fields = std::collections::HashSet::new();
13319 let mut result = Self::Value::new();
13320 while let Some(tag) = map.next_key::<__FieldTag>()? {
13321 #[allow(clippy::match_single_binding)]
13322 match tag {
13323 __FieldTag::__node_pools => {
13324 if !fields.insert(__FieldTag::__node_pools) {
13325 return std::result::Result::Err(A::Error::duplicate_field(
13326 "multiple values for node_pools",
13327 ));
13328 }
13329 result.node_pools = map.next_value::<std::option::Option<std::vec::Vec<crate::model::NodePool>>>()?.unwrap_or_default();
13330 }
13331 __FieldTag::__next_page_token => {
13332 if !fields.insert(__FieldTag::__next_page_token) {
13333 return std::result::Result::Err(A::Error::duplicate_field(
13334 "multiple values for next_page_token",
13335 ));
13336 }
13337 result.next_page_token = map
13338 .next_value::<std::option::Option<std::string::String>>()?
13339 .unwrap_or_default();
13340 }
13341 __FieldTag::__unreachable => {
13342 if !fields.insert(__FieldTag::__unreachable) {
13343 return std::result::Result::Err(A::Error::duplicate_field(
13344 "multiple values for unreachable",
13345 ));
13346 }
13347 result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
13348 }
13349 __FieldTag::Unknown(key) => {
13350 let value = map.next_value::<serde_json::Value>()?;
13351 result._unknown_fields.insert(key, value);
13352 }
13353 }
13354 }
13355 std::result::Result::Ok(result)
13356 }
13357 }
13358 deserializer.deserialize_any(Visitor)
13359 }
13360}
13361
13362#[doc(hidden)]
13363impl serde::ser::Serialize for ListNodePoolsResponse {
13364 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
13365 where
13366 S: serde::ser::Serializer,
13367 {
13368 use serde::ser::SerializeMap;
13369 #[allow(unused_imports)]
13370 use std::option::Option::Some;
13371 let mut state = serializer.serialize_map(std::option::Option::None)?;
13372 if !self.node_pools.is_empty() {
13373 state.serialize_entry("nodePools", &self.node_pools)?;
13374 }
13375 if !self.next_page_token.is_empty() {
13376 state.serialize_entry("nextPageToken", &self.next_page_token)?;
13377 }
13378 if !self.unreachable.is_empty() {
13379 state.serialize_entry("unreachable", &self.unreachable)?;
13380 }
13381 if !self._unknown_fields.is_empty() {
13382 for (key, value) in self._unknown_fields.iter() {
13383 state.serialize_entry(key, &value)?;
13384 }
13385 }
13386 state.end()
13387 }
13388}
13389
13390impl std::fmt::Debug for ListNodePoolsResponse {
13391 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13392 let mut debug_struct = f.debug_struct("ListNodePoolsResponse");
13393 debug_struct.field("node_pools", &self.node_pools);
13394 debug_struct.field("next_page_token", &self.next_page_token);
13395 debug_struct.field("unreachable", &self.unreachable);
13396 if !self._unknown_fields.is_empty() {
13397 debug_struct.field("_unknown_fields", &self._unknown_fields);
13398 }
13399 debug_struct.finish()
13400 }
13401}
13402
13403#[derive(Clone, Default, PartialEq)]
13405#[non_exhaustive]
13406pub struct GetNodePoolRequest {
13407 pub name: std::string::String,
13409
13410 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
13411}
13412
13413impl GetNodePoolRequest {
13414 pub fn new() -> Self {
13415 std::default::Default::default()
13416 }
13417
13418 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
13420 self.name = v.into();
13421 self
13422 }
13423}
13424
13425impl wkt::message::Message for GetNodePoolRequest {
13426 fn typename() -> &'static str {
13427 "type.googleapis.com/google.cloud.edgecontainer.v1.GetNodePoolRequest"
13428 }
13429}
13430
13431#[doc(hidden)]
13432impl<'de> serde::de::Deserialize<'de> for GetNodePoolRequest {
13433 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13434 where
13435 D: serde::Deserializer<'de>,
13436 {
13437 #[allow(non_camel_case_types)]
13438 #[doc(hidden)]
13439 #[derive(PartialEq, Eq, Hash)]
13440 enum __FieldTag {
13441 __name,
13442 Unknown(std::string::String),
13443 }
13444 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
13445 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13446 where
13447 D: serde::Deserializer<'de>,
13448 {
13449 struct Visitor;
13450 impl<'de> serde::de::Visitor<'de> for Visitor {
13451 type Value = __FieldTag;
13452 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13453 formatter.write_str("a field name for GetNodePoolRequest")
13454 }
13455 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
13456 where
13457 E: serde::de::Error,
13458 {
13459 use std::result::Result::Ok;
13460 use std::string::ToString;
13461 match value {
13462 "name" => Ok(__FieldTag::__name),
13463 _ => Ok(__FieldTag::Unknown(value.to_string())),
13464 }
13465 }
13466 }
13467 deserializer.deserialize_identifier(Visitor)
13468 }
13469 }
13470 struct Visitor;
13471 impl<'de> serde::de::Visitor<'de> for Visitor {
13472 type Value = GetNodePoolRequest;
13473 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13474 formatter.write_str("struct GetNodePoolRequest")
13475 }
13476 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
13477 where
13478 A: serde::de::MapAccess<'de>,
13479 {
13480 #[allow(unused_imports)]
13481 use serde::de::Error;
13482 use std::option::Option::Some;
13483 let mut fields = std::collections::HashSet::new();
13484 let mut result = Self::Value::new();
13485 while let Some(tag) = map.next_key::<__FieldTag>()? {
13486 #[allow(clippy::match_single_binding)]
13487 match tag {
13488 __FieldTag::__name => {
13489 if !fields.insert(__FieldTag::__name) {
13490 return std::result::Result::Err(A::Error::duplicate_field(
13491 "multiple values for name",
13492 ));
13493 }
13494 result.name = map
13495 .next_value::<std::option::Option<std::string::String>>()?
13496 .unwrap_or_default();
13497 }
13498 __FieldTag::Unknown(key) => {
13499 let value = map.next_value::<serde_json::Value>()?;
13500 result._unknown_fields.insert(key, value);
13501 }
13502 }
13503 }
13504 std::result::Result::Ok(result)
13505 }
13506 }
13507 deserializer.deserialize_any(Visitor)
13508 }
13509}
13510
13511#[doc(hidden)]
13512impl serde::ser::Serialize for GetNodePoolRequest {
13513 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
13514 where
13515 S: serde::ser::Serializer,
13516 {
13517 use serde::ser::SerializeMap;
13518 #[allow(unused_imports)]
13519 use std::option::Option::Some;
13520 let mut state = serializer.serialize_map(std::option::Option::None)?;
13521 if !self.name.is_empty() {
13522 state.serialize_entry("name", &self.name)?;
13523 }
13524 if !self._unknown_fields.is_empty() {
13525 for (key, value) in self._unknown_fields.iter() {
13526 state.serialize_entry(key, &value)?;
13527 }
13528 }
13529 state.end()
13530 }
13531}
13532
13533impl std::fmt::Debug for GetNodePoolRequest {
13534 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13535 let mut debug_struct = f.debug_struct("GetNodePoolRequest");
13536 debug_struct.field("name", &self.name);
13537 if !self._unknown_fields.is_empty() {
13538 debug_struct.field("_unknown_fields", &self._unknown_fields);
13539 }
13540 debug_struct.finish()
13541 }
13542}
13543
13544#[derive(Clone, Default, PartialEq)]
13546#[non_exhaustive]
13547pub struct CreateNodePoolRequest {
13548 pub parent: std::string::String,
13550
13551 pub node_pool_id: std::string::String,
13553
13554 pub node_pool: std::option::Option<crate::model::NodePool>,
13556
13557 pub request_id: std::string::String,
13561
13562 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
13563}
13564
13565impl CreateNodePoolRequest {
13566 pub fn new() -> Self {
13567 std::default::Default::default()
13568 }
13569
13570 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
13572 self.parent = v.into();
13573 self
13574 }
13575
13576 pub fn set_node_pool_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
13578 self.node_pool_id = v.into();
13579 self
13580 }
13581
13582 pub fn set_node_pool<T>(mut self, v: T) -> Self
13584 where
13585 T: std::convert::Into<crate::model::NodePool>,
13586 {
13587 self.node_pool = std::option::Option::Some(v.into());
13588 self
13589 }
13590
13591 pub fn set_or_clear_node_pool<T>(mut self, v: std::option::Option<T>) -> Self
13593 where
13594 T: std::convert::Into<crate::model::NodePool>,
13595 {
13596 self.node_pool = v.map(|x| x.into());
13597 self
13598 }
13599
13600 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
13602 self.request_id = v.into();
13603 self
13604 }
13605}
13606
13607impl wkt::message::Message for CreateNodePoolRequest {
13608 fn typename() -> &'static str {
13609 "type.googleapis.com/google.cloud.edgecontainer.v1.CreateNodePoolRequest"
13610 }
13611}
13612
13613#[doc(hidden)]
13614impl<'de> serde::de::Deserialize<'de> for CreateNodePoolRequest {
13615 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13616 where
13617 D: serde::Deserializer<'de>,
13618 {
13619 #[allow(non_camel_case_types)]
13620 #[doc(hidden)]
13621 #[derive(PartialEq, Eq, Hash)]
13622 enum __FieldTag {
13623 __parent,
13624 __node_pool_id,
13625 __node_pool,
13626 __request_id,
13627 Unknown(std::string::String),
13628 }
13629 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
13630 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13631 where
13632 D: serde::Deserializer<'de>,
13633 {
13634 struct Visitor;
13635 impl<'de> serde::de::Visitor<'de> for Visitor {
13636 type Value = __FieldTag;
13637 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13638 formatter.write_str("a field name for CreateNodePoolRequest")
13639 }
13640 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
13641 where
13642 E: serde::de::Error,
13643 {
13644 use std::result::Result::Ok;
13645 use std::string::ToString;
13646 match value {
13647 "parent" => Ok(__FieldTag::__parent),
13648 "nodePoolId" => Ok(__FieldTag::__node_pool_id),
13649 "node_pool_id" => Ok(__FieldTag::__node_pool_id),
13650 "nodePool" => Ok(__FieldTag::__node_pool),
13651 "node_pool" => Ok(__FieldTag::__node_pool),
13652 "requestId" => Ok(__FieldTag::__request_id),
13653 "request_id" => Ok(__FieldTag::__request_id),
13654 _ => Ok(__FieldTag::Unknown(value.to_string())),
13655 }
13656 }
13657 }
13658 deserializer.deserialize_identifier(Visitor)
13659 }
13660 }
13661 struct Visitor;
13662 impl<'de> serde::de::Visitor<'de> for Visitor {
13663 type Value = CreateNodePoolRequest;
13664 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13665 formatter.write_str("struct CreateNodePoolRequest")
13666 }
13667 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
13668 where
13669 A: serde::de::MapAccess<'de>,
13670 {
13671 #[allow(unused_imports)]
13672 use serde::de::Error;
13673 use std::option::Option::Some;
13674 let mut fields = std::collections::HashSet::new();
13675 let mut result = Self::Value::new();
13676 while let Some(tag) = map.next_key::<__FieldTag>()? {
13677 #[allow(clippy::match_single_binding)]
13678 match tag {
13679 __FieldTag::__parent => {
13680 if !fields.insert(__FieldTag::__parent) {
13681 return std::result::Result::Err(A::Error::duplicate_field(
13682 "multiple values for parent",
13683 ));
13684 }
13685 result.parent = map
13686 .next_value::<std::option::Option<std::string::String>>()?
13687 .unwrap_or_default();
13688 }
13689 __FieldTag::__node_pool_id => {
13690 if !fields.insert(__FieldTag::__node_pool_id) {
13691 return std::result::Result::Err(A::Error::duplicate_field(
13692 "multiple values for node_pool_id",
13693 ));
13694 }
13695 result.node_pool_id = map
13696 .next_value::<std::option::Option<std::string::String>>()?
13697 .unwrap_or_default();
13698 }
13699 __FieldTag::__node_pool => {
13700 if !fields.insert(__FieldTag::__node_pool) {
13701 return std::result::Result::Err(A::Error::duplicate_field(
13702 "multiple values for node_pool",
13703 ));
13704 }
13705 result.node_pool =
13706 map.next_value::<std::option::Option<crate::model::NodePool>>()?;
13707 }
13708 __FieldTag::__request_id => {
13709 if !fields.insert(__FieldTag::__request_id) {
13710 return std::result::Result::Err(A::Error::duplicate_field(
13711 "multiple values for request_id",
13712 ));
13713 }
13714 result.request_id = map
13715 .next_value::<std::option::Option<std::string::String>>()?
13716 .unwrap_or_default();
13717 }
13718 __FieldTag::Unknown(key) => {
13719 let value = map.next_value::<serde_json::Value>()?;
13720 result._unknown_fields.insert(key, value);
13721 }
13722 }
13723 }
13724 std::result::Result::Ok(result)
13725 }
13726 }
13727 deserializer.deserialize_any(Visitor)
13728 }
13729}
13730
13731#[doc(hidden)]
13732impl serde::ser::Serialize for CreateNodePoolRequest {
13733 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
13734 where
13735 S: serde::ser::Serializer,
13736 {
13737 use serde::ser::SerializeMap;
13738 #[allow(unused_imports)]
13739 use std::option::Option::Some;
13740 let mut state = serializer.serialize_map(std::option::Option::None)?;
13741 if !self.parent.is_empty() {
13742 state.serialize_entry("parent", &self.parent)?;
13743 }
13744 if !self.node_pool_id.is_empty() {
13745 state.serialize_entry("nodePoolId", &self.node_pool_id)?;
13746 }
13747 if self.node_pool.is_some() {
13748 state.serialize_entry("nodePool", &self.node_pool)?;
13749 }
13750 if !self.request_id.is_empty() {
13751 state.serialize_entry("requestId", &self.request_id)?;
13752 }
13753 if !self._unknown_fields.is_empty() {
13754 for (key, value) in self._unknown_fields.iter() {
13755 state.serialize_entry(key, &value)?;
13756 }
13757 }
13758 state.end()
13759 }
13760}
13761
13762impl std::fmt::Debug for CreateNodePoolRequest {
13763 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13764 let mut debug_struct = f.debug_struct("CreateNodePoolRequest");
13765 debug_struct.field("parent", &self.parent);
13766 debug_struct.field("node_pool_id", &self.node_pool_id);
13767 debug_struct.field("node_pool", &self.node_pool);
13768 debug_struct.field("request_id", &self.request_id);
13769 if !self._unknown_fields.is_empty() {
13770 debug_struct.field("_unknown_fields", &self._unknown_fields);
13771 }
13772 debug_struct.finish()
13773 }
13774}
13775
13776#[derive(Clone, Default, PartialEq)]
13778#[non_exhaustive]
13779pub struct UpdateNodePoolRequest {
13780 pub update_mask: std::option::Option<wkt::FieldMask>,
13786
13787 pub node_pool: std::option::Option<crate::model::NodePool>,
13789
13790 pub request_id: std::string::String,
13794
13795 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
13796}
13797
13798impl UpdateNodePoolRequest {
13799 pub fn new() -> Self {
13800 std::default::Default::default()
13801 }
13802
13803 pub fn set_update_mask<T>(mut self, v: T) -> Self
13805 where
13806 T: std::convert::Into<wkt::FieldMask>,
13807 {
13808 self.update_mask = std::option::Option::Some(v.into());
13809 self
13810 }
13811
13812 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
13814 where
13815 T: std::convert::Into<wkt::FieldMask>,
13816 {
13817 self.update_mask = v.map(|x| x.into());
13818 self
13819 }
13820
13821 pub fn set_node_pool<T>(mut self, v: T) -> Self
13823 where
13824 T: std::convert::Into<crate::model::NodePool>,
13825 {
13826 self.node_pool = std::option::Option::Some(v.into());
13827 self
13828 }
13829
13830 pub fn set_or_clear_node_pool<T>(mut self, v: std::option::Option<T>) -> Self
13832 where
13833 T: std::convert::Into<crate::model::NodePool>,
13834 {
13835 self.node_pool = v.map(|x| x.into());
13836 self
13837 }
13838
13839 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
13841 self.request_id = v.into();
13842 self
13843 }
13844}
13845
13846impl wkt::message::Message for UpdateNodePoolRequest {
13847 fn typename() -> &'static str {
13848 "type.googleapis.com/google.cloud.edgecontainer.v1.UpdateNodePoolRequest"
13849 }
13850}
13851
13852#[doc(hidden)]
13853impl<'de> serde::de::Deserialize<'de> for UpdateNodePoolRequest {
13854 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13855 where
13856 D: serde::Deserializer<'de>,
13857 {
13858 #[allow(non_camel_case_types)]
13859 #[doc(hidden)]
13860 #[derive(PartialEq, Eq, Hash)]
13861 enum __FieldTag {
13862 __update_mask,
13863 __node_pool,
13864 __request_id,
13865 Unknown(std::string::String),
13866 }
13867 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
13868 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
13869 where
13870 D: serde::Deserializer<'de>,
13871 {
13872 struct Visitor;
13873 impl<'de> serde::de::Visitor<'de> for Visitor {
13874 type Value = __FieldTag;
13875 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13876 formatter.write_str("a field name for UpdateNodePoolRequest")
13877 }
13878 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
13879 where
13880 E: serde::de::Error,
13881 {
13882 use std::result::Result::Ok;
13883 use std::string::ToString;
13884 match value {
13885 "updateMask" => Ok(__FieldTag::__update_mask),
13886 "update_mask" => Ok(__FieldTag::__update_mask),
13887 "nodePool" => Ok(__FieldTag::__node_pool),
13888 "node_pool" => Ok(__FieldTag::__node_pool),
13889 "requestId" => Ok(__FieldTag::__request_id),
13890 "request_id" => Ok(__FieldTag::__request_id),
13891 _ => Ok(__FieldTag::Unknown(value.to_string())),
13892 }
13893 }
13894 }
13895 deserializer.deserialize_identifier(Visitor)
13896 }
13897 }
13898 struct Visitor;
13899 impl<'de> serde::de::Visitor<'de> for Visitor {
13900 type Value = UpdateNodePoolRequest;
13901 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
13902 formatter.write_str("struct UpdateNodePoolRequest")
13903 }
13904 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
13905 where
13906 A: serde::de::MapAccess<'de>,
13907 {
13908 #[allow(unused_imports)]
13909 use serde::de::Error;
13910 use std::option::Option::Some;
13911 let mut fields = std::collections::HashSet::new();
13912 let mut result = Self::Value::new();
13913 while let Some(tag) = map.next_key::<__FieldTag>()? {
13914 #[allow(clippy::match_single_binding)]
13915 match tag {
13916 __FieldTag::__update_mask => {
13917 if !fields.insert(__FieldTag::__update_mask) {
13918 return std::result::Result::Err(A::Error::duplicate_field(
13919 "multiple values for update_mask",
13920 ));
13921 }
13922 result.update_mask =
13923 map.next_value::<std::option::Option<wkt::FieldMask>>()?;
13924 }
13925 __FieldTag::__node_pool => {
13926 if !fields.insert(__FieldTag::__node_pool) {
13927 return std::result::Result::Err(A::Error::duplicate_field(
13928 "multiple values for node_pool",
13929 ));
13930 }
13931 result.node_pool =
13932 map.next_value::<std::option::Option<crate::model::NodePool>>()?;
13933 }
13934 __FieldTag::__request_id => {
13935 if !fields.insert(__FieldTag::__request_id) {
13936 return std::result::Result::Err(A::Error::duplicate_field(
13937 "multiple values for request_id",
13938 ));
13939 }
13940 result.request_id = map
13941 .next_value::<std::option::Option<std::string::String>>()?
13942 .unwrap_or_default();
13943 }
13944 __FieldTag::Unknown(key) => {
13945 let value = map.next_value::<serde_json::Value>()?;
13946 result._unknown_fields.insert(key, value);
13947 }
13948 }
13949 }
13950 std::result::Result::Ok(result)
13951 }
13952 }
13953 deserializer.deserialize_any(Visitor)
13954 }
13955}
13956
13957#[doc(hidden)]
13958impl serde::ser::Serialize for UpdateNodePoolRequest {
13959 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
13960 where
13961 S: serde::ser::Serializer,
13962 {
13963 use serde::ser::SerializeMap;
13964 #[allow(unused_imports)]
13965 use std::option::Option::Some;
13966 let mut state = serializer.serialize_map(std::option::Option::None)?;
13967 if self.update_mask.is_some() {
13968 state.serialize_entry("updateMask", &self.update_mask)?;
13969 }
13970 if self.node_pool.is_some() {
13971 state.serialize_entry("nodePool", &self.node_pool)?;
13972 }
13973 if !self.request_id.is_empty() {
13974 state.serialize_entry("requestId", &self.request_id)?;
13975 }
13976 if !self._unknown_fields.is_empty() {
13977 for (key, value) in self._unknown_fields.iter() {
13978 state.serialize_entry(key, &value)?;
13979 }
13980 }
13981 state.end()
13982 }
13983}
13984
13985impl std::fmt::Debug for UpdateNodePoolRequest {
13986 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13987 let mut debug_struct = f.debug_struct("UpdateNodePoolRequest");
13988 debug_struct.field("update_mask", &self.update_mask);
13989 debug_struct.field("node_pool", &self.node_pool);
13990 debug_struct.field("request_id", &self.request_id);
13991 if !self._unknown_fields.is_empty() {
13992 debug_struct.field("_unknown_fields", &self._unknown_fields);
13993 }
13994 debug_struct.finish()
13995 }
13996}
13997
13998#[derive(Clone, Default, PartialEq)]
14000#[non_exhaustive]
14001pub struct DeleteNodePoolRequest {
14002 pub name: std::string::String,
14004
14005 pub request_id: std::string::String,
14009
14010 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
14011}
14012
14013impl DeleteNodePoolRequest {
14014 pub fn new() -> Self {
14015 std::default::Default::default()
14016 }
14017
14018 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14020 self.name = v.into();
14021 self
14022 }
14023
14024 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14026 self.request_id = v.into();
14027 self
14028 }
14029}
14030
14031impl wkt::message::Message for DeleteNodePoolRequest {
14032 fn typename() -> &'static str {
14033 "type.googleapis.com/google.cloud.edgecontainer.v1.DeleteNodePoolRequest"
14034 }
14035}
14036
14037#[doc(hidden)]
14038impl<'de> serde::de::Deserialize<'de> for DeleteNodePoolRequest {
14039 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14040 where
14041 D: serde::Deserializer<'de>,
14042 {
14043 #[allow(non_camel_case_types)]
14044 #[doc(hidden)]
14045 #[derive(PartialEq, Eq, Hash)]
14046 enum __FieldTag {
14047 __name,
14048 __request_id,
14049 Unknown(std::string::String),
14050 }
14051 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
14052 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14053 where
14054 D: serde::Deserializer<'de>,
14055 {
14056 struct Visitor;
14057 impl<'de> serde::de::Visitor<'de> for Visitor {
14058 type Value = __FieldTag;
14059 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14060 formatter.write_str("a field name for DeleteNodePoolRequest")
14061 }
14062 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
14063 where
14064 E: serde::de::Error,
14065 {
14066 use std::result::Result::Ok;
14067 use std::string::ToString;
14068 match value {
14069 "name" => Ok(__FieldTag::__name),
14070 "requestId" => Ok(__FieldTag::__request_id),
14071 "request_id" => Ok(__FieldTag::__request_id),
14072 _ => Ok(__FieldTag::Unknown(value.to_string())),
14073 }
14074 }
14075 }
14076 deserializer.deserialize_identifier(Visitor)
14077 }
14078 }
14079 struct Visitor;
14080 impl<'de> serde::de::Visitor<'de> for Visitor {
14081 type Value = DeleteNodePoolRequest;
14082 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14083 formatter.write_str("struct DeleteNodePoolRequest")
14084 }
14085 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
14086 where
14087 A: serde::de::MapAccess<'de>,
14088 {
14089 #[allow(unused_imports)]
14090 use serde::de::Error;
14091 use std::option::Option::Some;
14092 let mut fields = std::collections::HashSet::new();
14093 let mut result = Self::Value::new();
14094 while let Some(tag) = map.next_key::<__FieldTag>()? {
14095 #[allow(clippy::match_single_binding)]
14096 match tag {
14097 __FieldTag::__name => {
14098 if !fields.insert(__FieldTag::__name) {
14099 return std::result::Result::Err(A::Error::duplicate_field(
14100 "multiple values for name",
14101 ));
14102 }
14103 result.name = map
14104 .next_value::<std::option::Option<std::string::String>>()?
14105 .unwrap_or_default();
14106 }
14107 __FieldTag::__request_id => {
14108 if !fields.insert(__FieldTag::__request_id) {
14109 return std::result::Result::Err(A::Error::duplicate_field(
14110 "multiple values for request_id",
14111 ));
14112 }
14113 result.request_id = map
14114 .next_value::<std::option::Option<std::string::String>>()?
14115 .unwrap_or_default();
14116 }
14117 __FieldTag::Unknown(key) => {
14118 let value = map.next_value::<serde_json::Value>()?;
14119 result._unknown_fields.insert(key, value);
14120 }
14121 }
14122 }
14123 std::result::Result::Ok(result)
14124 }
14125 }
14126 deserializer.deserialize_any(Visitor)
14127 }
14128}
14129
14130#[doc(hidden)]
14131impl serde::ser::Serialize for DeleteNodePoolRequest {
14132 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
14133 where
14134 S: serde::ser::Serializer,
14135 {
14136 use serde::ser::SerializeMap;
14137 #[allow(unused_imports)]
14138 use std::option::Option::Some;
14139 let mut state = serializer.serialize_map(std::option::Option::None)?;
14140 if !self.name.is_empty() {
14141 state.serialize_entry("name", &self.name)?;
14142 }
14143 if !self.request_id.is_empty() {
14144 state.serialize_entry("requestId", &self.request_id)?;
14145 }
14146 if !self._unknown_fields.is_empty() {
14147 for (key, value) in self._unknown_fields.iter() {
14148 state.serialize_entry(key, &value)?;
14149 }
14150 }
14151 state.end()
14152 }
14153}
14154
14155impl std::fmt::Debug for DeleteNodePoolRequest {
14156 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14157 let mut debug_struct = f.debug_struct("DeleteNodePoolRequest");
14158 debug_struct.field("name", &self.name);
14159 debug_struct.field("request_id", &self.request_id);
14160 if !self._unknown_fields.is_empty() {
14161 debug_struct.field("_unknown_fields", &self._unknown_fields);
14162 }
14163 debug_struct.finish()
14164 }
14165}
14166
14167#[derive(Clone, Default, PartialEq)]
14169#[non_exhaustive]
14170pub struct ListMachinesRequest {
14171 pub parent: std::string::String,
14173
14174 pub page_size: i32,
14176
14177 pub page_token: std::string::String,
14179
14180 pub filter: std::string::String,
14182
14183 pub order_by: std::string::String,
14185
14186 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
14187}
14188
14189impl ListMachinesRequest {
14190 pub fn new() -> Self {
14191 std::default::Default::default()
14192 }
14193
14194 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14196 self.parent = v.into();
14197 self
14198 }
14199
14200 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
14202 self.page_size = v.into();
14203 self
14204 }
14205
14206 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14208 self.page_token = v.into();
14209 self
14210 }
14211
14212 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14214 self.filter = v.into();
14215 self
14216 }
14217
14218 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14220 self.order_by = v.into();
14221 self
14222 }
14223}
14224
14225impl wkt::message::Message for ListMachinesRequest {
14226 fn typename() -> &'static str {
14227 "type.googleapis.com/google.cloud.edgecontainer.v1.ListMachinesRequest"
14228 }
14229}
14230
14231#[doc(hidden)]
14232impl<'de> serde::de::Deserialize<'de> for ListMachinesRequest {
14233 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14234 where
14235 D: serde::Deserializer<'de>,
14236 {
14237 #[allow(non_camel_case_types)]
14238 #[doc(hidden)]
14239 #[derive(PartialEq, Eq, Hash)]
14240 enum __FieldTag {
14241 __parent,
14242 __page_size,
14243 __page_token,
14244 __filter,
14245 __order_by,
14246 Unknown(std::string::String),
14247 }
14248 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
14249 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14250 where
14251 D: serde::Deserializer<'de>,
14252 {
14253 struct Visitor;
14254 impl<'de> serde::de::Visitor<'de> for Visitor {
14255 type Value = __FieldTag;
14256 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14257 formatter.write_str("a field name for ListMachinesRequest")
14258 }
14259 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
14260 where
14261 E: serde::de::Error,
14262 {
14263 use std::result::Result::Ok;
14264 use std::string::ToString;
14265 match value {
14266 "parent" => Ok(__FieldTag::__parent),
14267 "pageSize" => Ok(__FieldTag::__page_size),
14268 "page_size" => Ok(__FieldTag::__page_size),
14269 "pageToken" => Ok(__FieldTag::__page_token),
14270 "page_token" => Ok(__FieldTag::__page_token),
14271 "filter" => Ok(__FieldTag::__filter),
14272 "orderBy" => Ok(__FieldTag::__order_by),
14273 "order_by" => Ok(__FieldTag::__order_by),
14274 _ => Ok(__FieldTag::Unknown(value.to_string())),
14275 }
14276 }
14277 }
14278 deserializer.deserialize_identifier(Visitor)
14279 }
14280 }
14281 struct Visitor;
14282 impl<'de> serde::de::Visitor<'de> for Visitor {
14283 type Value = ListMachinesRequest;
14284 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14285 formatter.write_str("struct ListMachinesRequest")
14286 }
14287 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
14288 where
14289 A: serde::de::MapAccess<'de>,
14290 {
14291 #[allow(unused_imports)]
14292 use serde::de::Error;
14293 use std::option::Option::Some;
14294 let mut fields = std::collections::HashSet::new();
14295 let mut result = Self::Value::new();
14296 while let Some(tag) = map.next_key::<__FieldTag>()? {
14297 #[allow(clippy::match_single_binding)]
14298 match tag {
14299 __FieldTag::__parent => {
14300 if !fields.insert(__FieldTag::__parent) {
14301 return std::result::Result::Err(A::Error::duplicate_field(
14302 "multiple values for parent",
14303 ));
14304 }
14305 result.parent = map
14306 .next_value::<std::option::Option<std::string::String>>()?
14307 .unwrap_or_default();
14308 }
14309 __FieldTag::__page_size => {
14310 if !fields.insert(__FieldTag::__page_size) {
14311 return std::result::Result::Err(A::Error::duplicate_field(
14312 "multiple values for page_size",
14313 ));
14314 }
14315 struct __With(std::option::Option<i32>);
14316 impl<'de> serde::de::Deserialize<'de> for __With {
14317 fn deserialize<D>(
14318 deserializer: D,
14319 ) -> std::result::Result<Self, D::Error>
14320 where
14321 D: serde::de::Deserializer<'de>,
14322 {
14323 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
14324 }
14325 }
14326 result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
14327 }
14328 __FieldTag::__page_token => {
14329 if !fields.insert(__FieldTag::__page_token) {
14330 return std::result::Result::Err(A::Error::duplicate_field(
14331 "multiple values for page_token",
14332 ));
14333 }
14334 result.page_token = map
14335 .next_value::<std::option::Option<std::string::String>>()?
14336 .unwrap_or_default();
14337 }
14338 __FieldTag::__filter => {
14339 if !fields.insert(__FieldTag::__filter) {
14340 return std::result::Result::Err(A::Error::duplicate_field(
14341 "multiple values for filter",
14342 ));
14343 }
14344 result.filter = map
14345 .next_value::<std::option::Option<std::string::String>>()?
14346 .unwrap_or_default();
14347 }
14348 __FieldTag::__order_by => {
14349 if !fields.insert(__FieldTag::__order_by) {
14350 return std::result::Result::Err(A::Error::duplicate_field(
14351 "multiple values for order_by",
14352 ));
14353 }
14354 result.order_by = map
14355 .next_value::<std::option::Option<std::string::String>>()?
14356 .unwrap_or_default();
14357 }
14358 __FieldTag::Unknown(key) => {
14359 let value = map.next_value::<serde_json::Value>()?;
14360 result._unknown_fields.insert(key, value);
14361 }
14362 }
14363 }
14364 std::result::Result::Ok(result)
14365 }
14366 }
14367 deserializer.deserialize_any(Visitor)
14368 }
14369}
14370
14371#[doc(hidden)]
14372impl serde::ser::Serialize for ListMachinesRequest {
14373 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
14374 where
14375 S: serde::ser::Serializer,
14376 {
14377 use serde::ser::SerializeMap;
14378 #[allow(unused_imports)]
14379 use std::option::Option::Some;
14380 let mut state = serializer.serialize_map(std::option::Option::None)?;
14381 if !self.parent.is_empty() {
14382 state.serialize_entry("parent", &self.parent)?;
14383 }
14384 if !wkt::internal::is_default(&self.page_size) {
14385 struct __With<'a>(&'a i32);
14386 impl<'a> serde::ser::Serialize for __With<'a> {
14387 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
14388 where
14389 S: serde::ser::Serializer,
14390 {
14391 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
14392 }
14393 }
14394 state.serialize_entry("pageSize", &__With(&self.page_size))?;
14395 }
14396 if !self.page_token.is_empty() {
14397 state.serialize_entry("pageToken", &self.page_token)?;
14398 }
14399 if !self.filter.is_empty() {
14400 state.serialize_entry("filter", &self.filter)?;
14401 }
14402 if !self.order_by.is_empty() {
14403 state.serialize_entry("orderBy", &self.order_by)?;
14404 }
14405 if !self._unknown_fields.is_empty() {
14406 for (key, value) in self._unknown_fields.iter() {
14407 state.serialize_entry(key, &value)?;
14408 }
14409 }
14410 state.end()
14411 }
14412}
14413
14414impl std::fmt::Debug for ListMachinesRequest {
14415 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14416 let mut debug_struct = f.debug_struct("ListMachinesRequest");
14417 debug_struct.field("parent", &self.parent);
14418 debug_struct.field("page_size", &self.page_size);
14419 debug_struct.field("page_token", &self.page_token);
14420 debug_struct.field("filter", &self.filter);
14421 debug_struct.field("order_by", &self.order_by);
14422 if !self._unknown_fields.is_empty() {
14423 debug_struct.field("_unknown_fields", &self._unknown_fields);
14424 }
14425 debug_struct.finish()
14426 }
14427}
14428
14429#[derive(Clone, Default, PartialEq)]
14431#[non_exhaustive]
14432pub struct ListMachinesResponse {
14433 pub machines: std::vec::Vec<crate::model::Machine>,
14435
14436 pub next_page_token: std::string::String,
14438
14439 pub unreachable: std::vec::Vec<std::string::String>,
14441
14442 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
14443}
14444
14445impl ListMachinesResponse {
14446 pub fn new() -> Self {
14447 std::default::Default::default()
14448 }
14449
14450 pub fn set_machines<T, V>(mut self, v: T) -> Self
14452 where
14453 T: std::iter::IntoIterator<Item = V>,
14454 V: std::convert::Into<crate::model::Machine>,
14455 {
14456 use std::iter::Iterator;
14457 self.machines = v.into_iter().map(|i| i.into()).collect();
14458 self
14459 }
14460
14461 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14463 self.next_page_token = v.into();
14464 self
14465 }
14466
14467 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
14469 where
14470 T: std::iter::IntoIterator<Item = V>,
14471 V: std::convert::Into<std::string::String>,
14472 {
14473 use std::iter::Iterator;
14474 self.unreachable = v.into_iter().map(|i| i.into()).collect();
14475 self
14476 }
14477}
14478
14479impl wkt::message::Message for ListMachinesResponse {
14480 fn typename() -> &'static str {
14481 "type.googleapis.com/google.cloud.edgecontainer.v1.ListMachinesResponse"
14482 }
14483}
14484
14485#[doc(hidden)]
14486impl gax::paginator::internal::PageableResponse for ListMachinesResponse {
14487 type PageItem = crate::model::Machine;
14488
14489 fn items(self) -> std::vec::Vec<Self::PageItem> {
14490 self.machines
14491 }
14492
14493 fn next_page_token(&self) -> std::string::String {
14494 use std::clone::Clone;
14495 self.next_page_token.clone()
14496 }
14497}
14498
14499#[doc(hidden)]
14500impl<'de> serde::de::Deserialize<'de> for ListMachinesResponse {
14501 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14502 where
14503 D: serde::Deserializer<'de>,
14504 {
14505 #[allow(non_camel_case_types)]
14506 #[doc(hidden)]
14507 #[derive(PartialEq, Eq, Hash)]
14508 enum __FieldTag {
14509 __machines,
14510 __next_page_token,
14511 __unreachable,
14512 Unknown(std::string::String),
14513 }
14514 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
14515 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14516 where
14517 D: serde::Deserializer<'de>,
14518 {
14519 struct Visitor;
14520 impl<'de> serde::de::Visitor<'de> for Visitor {
14521 type Value = __FieldTag;
14522 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14523 formatter.write_str("a field name for ListMachinesResponse")
14524 }
14525 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
14526 where
14527 E: serde::de::Error,
14528 {
14529 use std::result::Result::Ok;
14530 use std::string::ToString;
14531 match value {
14532 "machines" => Ok(__FieldTag::__machines),
14533 "nextPageToken" => Ok(__FieldTag::__next_page_token),
14534 "next_page_token" => Ok(__FieldTag::__next_page_token),
14535 "unreachable" => Ok(__FieldTag::__unreachable),
14536 _ => Ok(__FieldTag::Unknown(value.to_string())),
14537 }
14538 }
14539 }
14540 deserializer.deserialize_identifier(Visitor)
14541 }
14542 }
14543 struct Visitor;
14544 impl<'de> serde::de::Visitor<'de> for Visitor {
14545 type Value = ListMachinesResponse;
14546 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14547 formatter.write_str("struct ListMachinesResponse")
14548 }
14549 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
14550 where
14551 A: serde::de::MapAccess<'de>,
14552 {
14553 #[allow(unused_imports)]
14554 use serde::de::Error;
14555 use std::option::Option::Some;
14556 let mut fields = std::collections::HashSet::new();
14557 let mut result = Self::Value::new();
14558 while let Some(tag) = map.next_key::<__FieldTag>()? {
14559 #[allow(clippy::match_single_binding)]
14560 match tag {
14561 __FieldTag::__machines => {
14562 if !fields.insert(__FieldTag::__machines) {
14563 return std::result::Result::Err(A::Error::duplicate_field(
14564 "multiple values for machines",
14565 ));
14566 }
14567 result.machines = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Machine>>>()?.unwrap_or_default();
14568 }
14569 __FieldTag::__next_page_token => {
14570 if !fields.insert(__FieldTag::__next_page_token) {
14571 return std::result::Result::Err(A::Error::duplicate_field(
14572 "multiple values for next_page_token",
14573 ));
14574 }
14575 result.next_page_token = map
14576 .next_value::<std::option::Option<std::string::String>>()?
14577 .unwrap_or_default();
14578 }
14579 __FieldTag::__unreachable => {
14580 if !fields.insert(__FieldTag::__unreachable) {
14581 return std::result::Result::Err(A::Error::duplicate_field(
14582 "multiple values for unreachable",
14583 ));
14584 }
14585 result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
14586 }
14587 __FieldTag::Unknown(key) => {
14588 let value = map.next_value::<serde_json::Value>()?;
14589 result._unknown_fields.insert(key, value);
14590 }
14591 }
14592 }
14593 std::result::Result::Ok(result)
14594 }
14595 }
14596 deserializer.deserialize_any(Visitor)
14597 }
14598}
14599
14600#[doc(hidden)]
14601impl serde::ser::Serialize for ListMachinesResponse {
14602 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
14603 where
14604 S: serde::ser::Serializer,
14605 {
14606 use serde::ser::SerializeMap;
14607 #[allow(unused_imports)]
14608 use std::option::Option::Some;
14609 let mut state = serializer.serialize_map(std::option::Option::None)?;
14610 if !self.machines.is_empty() {
14611 state.serialize_entry("machines", &self.machines)?;
14612 }
14613 if !self.next_page_token.is_empty() {
14614 state.serialize_entry("nextPageToken", &self.next_page_token)?;
14615 }
14616 if !self.unreachable.is_empty() {
14617 state.serialize_entry("unreachable", &self.unreachable)?;
14618 }
14619 if !self._unknown_fields.is_empty() {
14620 for (key, value) in self._unknown_fields.iter() {
14621 state.serialize_entry(key, &value)?;
14622 }
14623 }
14624 state.end()
14625 }
14626}
14627
14628impl std::fmt::Debug for ListMachinesResponse {
14629 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14630 let mut debug_struct = f.debug_struct("ListMachinesResponse");
14631 debug_struct.field("machines", &self.machines);
14632 debug_struct.field("next_page_token", &self.next_page_token);
14633 debug_struct.field("unreachable", &self.unreachable);
14634 if !self._unknown_fields.is_empty() {
14635 debug_struct.field("_unknown_fields", &self._unknown_fields);
14636 }
14637 debug_struct.finish()
14638 }
14639}
14640
14641#[derive(Clone, Default, PartialEq)]
14643#[non_exhaustive]
14644pub struct GetMachineRequest {
14645 pub name: std::string::String,
14647
14648 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
14649}
14650
14651impl GetMachineRequest {
14652 pub fn new() -> Self {
14653 std::default::Default::default()
14654 }
14655
14656 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14658 self.name = v.into();
14659 self
14660 }
14661}
14662
14663impl wkt::message::Message for GetMachineRequest {
14664 fn typename() -> &'static str {
14665 "type.googleapis.com/google.cloud.edgecontainer.v1.GetMachineRequest"
14666 }
14667}
14668
14669#[doc(hidden)]
14670impl<'de> serde::de::Deserialize<'de> for GetMachineRequest {
14671 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14672 where
14673 D: serde::Deserializer<'de>,
14674 {
14675 #[allow(non_camel_case_types)]
14676 #[doc(hidden)]
14677 #[derive(PartialEq, Eq, Hash)]
14678 enum __FieldTag {
14679 __name,
14680 Unknown(std::string::String),
14681 }
14682 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
14683 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14684 where
14685 D: serde::Deserializer<'de>,
14686 {
14687 struct Visitor;
14688 impl<'de> serde::de::Visitor<'de> for Visitor {
14689 type Value = __FieldTag;
14690 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14691 formatter.write_str("a field name for GetMachineRequest")
14692 }
14693 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
14694 where
14695 E: serde::de::Error,
14696 {
14697 use std::result::Result::Ok;
14698 use std::string::ToString;
14699 match value {
14700 "name" => Ok(__FieldTag::__name),
14701 _ => Ok(__FieldTag::Unknown(value.to_string())),
14702 }
14703 }
14704 }
14705 deserializer.deserialize_identifier(Visitor)
14706 }
14707 }
14708 struct Visitor;
14709 impl<'de> serde::de::Visitor<'de> for Visitor {
14710 type Value = GetMachineRequest;
14711 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14712 formatter.write_str("struct GetMachineRequest")
14713 }
14714 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
14715 where
14716 A: serde::de::MapAccess<'de>,
14717 {
14718 #[allow(unused_imports)]
14719 use serde::de::Error;
14720 use std::option::Option::Some;
14721 let mut fields = std::collections::HashSet::new();
14722 let mut result = Self::Value::new();
14723 while let Some(tag) = map.next_key::<__FieldTag>()? {
14724 #[allow(clippy::match_single_binding)]
14725 match tag {
14726 __FieldTag::__name => {
14727 if !fields.insert(__FieldTag::__name) {
14728 return std::result::Result::Err(A::Error::duplicate_field(
14729 "multiple values for name",
14730 ));
14731 }
14732 result.name = map
14733 .next_value::<std::option::Option<std::string::String>>()?
14734 .unwrap_or_default();
14735 }
14736 __FieldTag::Unknown(key) => {
14737 let value = map.next_value::<serde_json::Value>()?;
14738 result._unknown_fields.insert(key, value);
14739 }
14740 }
14741 }
14742 std::result::Result::Ok(result)
14743 }
14744 }
14745 deserializer.deserialize_any(Visitor)
14746 }
14747}
14748
14749#[doc(hidden)]
14750impl serde::ser::Serialize for GetMachineRequest {
14751 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
14752 where
14753 S: serde::ser::Serializer,
14754 {
14755 use serde::ser::SerializeMap;
14756 #[allow(unused_imports)]
14757 use std::option::Option::Some;
14758 let mut state = serializer.serialize_map(std::option::Option::None)?;
14759 if !self.name.is_empty() {
14760 state.serialize_entry("name", &self.name)?;
14761 }
14762 if !self._unknown_fields.is_empty() {
14763 for (key, value) in self._unknown_fields.iter() {
14764 state.serialize_entry(key, &value)?;
14765 }
14766 }
14767 state.end()
14768 }
14769}
14770
14771impl std::fmt::Debug for GetMachineRequest {
14772 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14773 let mut debug_struct = f.debug_struct("GetMachineRequest");
14774 debug_struct.field("name", &self.name);
14775 if !self._unknown_fields.is_empty() {
14776 debug_struct.field("_unknown_fields", &self._unknown_fields);
14777 }
14778 debug_struct.finish()
14779 }
14780}
14781
14782#[derive(Clone, Default, PartialEq)]
14784#[non_exhaustive]
14785pub struct ListVpnConnectionsRequest {
14786 pub parent: std::string::String,
14789
14790 pub page_size: i32,
14792
14793 pub page_token: std::string::String,
14795
14796 pub filter: std::string::String,
14798
14799 pub order_by: std::string::String,
14801
14802 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
14803}
14804
14805impl ListVpnConnectionsRequest {
14806 pub fn new() -> Self {
14807 std::default::Default::default()
14808 }
14809
14810 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14812 self.parent = v.into();
14813 self
14814 }
14815
14816 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
14818 self.page_size = v.into();
14819 self
14820 }
14821
14822 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14824 self.page_token = v.into();
14825 self
14826 }
14827
14828 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14830 self.filter = v.into();
14831 self
14832 }
14833
14834 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
14836 self.order_by = v.into();
14837 self
14838 }
14839}
14840
14841impl wkt::message::Message for ListVpnConnectionsRequest {
14842 fn typename() -> &'static str {
14843 "type.googleapis.com/google.cloud.edgecontainer.v1.ListVpnConnectionsRequest"
14844 }
14845}
14846
14847#[doc(hidden)]
14848impl<'de> serde::de::Deserialize<'de> for ListVpnConnectionsRequest {
14849 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14850 where
14851 D: serde::Deserializer<'de>,
14852 {
14853 #[allow(non_camel_case_types)]
14854 #[doc(hidden)]
14855 #[derive(PartialEq, Eq, Hash)]
14856 enum __FieldTag {
14857 __parent,
14858 __page_size,
14859 __page_token,
14860 __filter,
14861 __order_by,
14862 Unknown(std::string::String),
14863 }
14864 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
14865 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
14866 where
14867 D: serde::Deserializer<'de>,
14868 {
14869 struct Visitor;
14870 impl<'de> serde::de::Visitor<'de> for Visitor {
14871 type Value = __FieldTag;
14872 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14873 formatter.write_str("a field name for ListVpnConnectionsRequest")
14874 }
14875 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
14876 where
14877 E: serde::de::Error,
14878 {
14879 use std::result::Result::Ok;
14880 use std::string::ToString;
14881 match value {
14882 "parent" => Ok(__FieldTag::__parent),
14883 "pageSize" => Ok(__FieldTag::__page_size),
14884 "page_size" => Ok(__FieldTag::__page_size),
14885 "pageToken" => Ok(__FieldTag::__page_token),
14886 "page_token" => Ok(__FieldTag::__page_token),
14887 "filter" => Ok(__FieldTag::__filter),
14888 "orderBy" => Ok(__FieldTag::__order_by),
14889 "order_by" => Ok(__FieldTag::__order_by),
14890 _ => Ok(__FieldTag::Unknown(value.to_string())),
14891 }
14892 }
14893 }
14894 deserializer.deserialize_identifier(Visitor)
14895 }
14896 }
14897 struct Visitor;
14898 impl<'de> serde::de::Visitor<'de> for Visitor {
14899 type Value = ListVpnConnectionsRequest;
14900 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
14901 formatter.write_str("struct ListVpnConnectionsRequest")
14902 }
14903 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
14904 where
14905 A: serde::de::MapAccess<'de>,
14906 {
14907 #[allow(unused_imports)]
14908 use serde::de::Error;
14909 use std::option::Option::Some;
14910 let mut fields = std::collections::HashSet::new();
14911 let mut result = Self::Value::new();
14912 while let Some(tag) = map.next_key::<__FieldTag>()? {
14913 #[allow(clippy::match_single_binding)]
14914 match tag {
14915 __FieldTag::__parent => {
14916 if !fields.insert(__FieldTag::__parent) {
14917 return std::result::Result::Err(A::Error::duplicate_field(
14918 "multiple values for parent",
14919 ));
14920 }
14921 result.parent = map
14922 .next_value::<std::option::Option<std::string::String>>()?
14923 .unwrap_or_default();
14924 }
14925 __FieldTag::__page_size => {
14926 if !fields.insert(__FieldTag::__page_size) {
14927 return std::result::Result::Err(A::Error::duplicate_field(
14928 "multiple values for page_size",
14929 ));
14930 }
14931 struct __With(std::option::Option<i32>);
14932 impl<'de> serde::de::Deserialize<'de> for __With {
14933 fn deserialize<D>(
14934 deserializer: D,
14935 ) -> std::result::Result<Self, D::Error>
14936 where
14937 D: serde::de::Deserializer<'de>,
14938 {
14939 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
14940 }
14941 }
14942 result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
14943 }
14944 __FieldTag::__page_token => {
14945 if !fields.insert(__FieldTag::__page_token) {
14946 return std::result::Result::Err(A::Error::duplicate_field(
14947 "multiple values for page_token",
14948 ));
14949 }
14950 result.page_token = map
14951 .next_value::<std::option::Option<std::string::String>>()?
14952 .unwrap_or_default();
14953 }
14954 __FieldTag::__filter => {
14955 if !fields.insert(__FieldTag::__filter) {
14956 return std::result::Result::Err(A::Error::duplicate_field(
14957 "multiple values for filter",
14958 ));
14959 }
14960 result.filter = map
14961 .next_value::<std::option::Option<std::string::String>>()?
14962 .unwrap_or_default();
14963 }
14964 __FieldTag::__order_by => {
14965 if !fields.insert(__FieldTag::__order_by) {
14966 return std::result::Result::Err(A::Error::duplicate_field(
14967 "multiple values for order_by",
14968 ));
14969 }
14970 result.order_by = map
14971 .next_value::<std::option::Option<std::string::String>>()?
14972 .unwrap_or_default();
14973 }
14974 __FieldTag::Unknown(key) => {
14975 let value = map.next_value::<serde_json::Value>()?;
14976 result._unknown_fields.insert(key, value);
14977 }
14978 }
14979 }
14980 std::result::Result::Ok(result)
14981 }
14982 }
14983 deserializer.deserialize_any(Visitor)
14984 }
14985}
14986
14987#[doc(hidden)]
14988impl serde::ser::Serialize for ListVpnConnectionsRequest {
14989 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
14990 where
14991 S: serde::ser::Serializer,
14992 {
14993 use serde::ser::SerializeMap;
14994 #[allow(unused_imports)]
14995 use std::option::Option::Some;
14996 let mut state = serializer.serialize_map(std::option::Option::None)?;
14997 if !self.parent.is_empty() {
14998 state.serialize_entry("parent", &self.parent)?;
14999 }
15000 if !wkt::internal::is_default(&self.page_size) {
15001 struct __With<'a>(&'a i32);
15002 impl<'a> serde::ser::Serialize for __With<'a> {
15003 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
15004 where
15005 S: serde::ser::Serializer,
15006 {
15007 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
15008 }
15009 }
15010 state.serialize_entry("pageSize", &__With(&self.page_size))?;
15011 }
15012 if !self.page_token.is_empty() {
15013 state.serialize_entry("pageToken", &self.page_token)?;
15014 }
15015 if !self.filter.is_empty() {
15016 state.serialize_entry("filter", &self.filter)?;
15017 }
15018 if !self.order_by.is_empty() {
15019 state.serialize_entry("orderBy", &self.order_by)?;
15020 }
15021 if !self._unknown_fields.is_empty() {
15022 for (key, value) in self._unknown_fields.iter() {
15023 state.serialize_entry(key, &value)?;
15024 }
15025 }
15026 state.end()
15027 }
15028}
15029
15030impl std::fmt::Debug for ListVpnConnectionsRequest {
15031 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15032 let mut debug_struct = f.debug_struct("ListVpnConnectionsRequest");
15033 debug_struct.field("parent", &self.parent);
15034 debug_struct.field("page_size", &self.page_size);
15035 debug_struct.field("page_token", &self.page_token);
15036 debug_struct.field("filter", &self.filter);
15037 debug_struct.field("order_by", &self.order_by);
15038 if !self._unknown_fields.is_empty() {
15039 debug_struct.field("_unknown_fields", &self._unknown_fields);
15040 }
15041 debug_struct.finish()
15042 }
15043}
15044
15045#[derive(Clone, Default, PartialEq)]
15047#[non_exhaustive]
15048pub struct ListVpnConnectionsResponse {
15049 pub vpn_connections: std::vec::Vec<crate::model::VpnConnection>,
15051
15052 pub next_page_token: std::string::String,
15054
15055 pub unreachable: std::vec::Vec<std::string::String>,
15057
15058 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
15059}
15060
15061impl ListVpnConnectionsResponse {
15062 pub fn new() -> Self {
15063 std::default::Default::default()
15064 }
15065
15066 pub fn set_vpn_connections<T, V>(mut self, v: T) -> Self
15068 where
15069 T: std::iter::IntoIterator<Item = V>,
15070 V: std::convert::Into<crate::model::VpnConnection>,
15071 {
15072 use std::iter::Iterator;
15073 self.vpn_connections = v.into_iter().map(|i| i.into()).collect();
15074 self
15075 }
15076
15077 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15079 self.next_page_token = v.into();
15080 self
15081 }
15082
15083 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
15085 where
15086 T: std::iter::IntoIterator<Item = V>,
15087 V: std::convert::Into<std::string::String>,
15088 {
15089 use std::iter::Iterator;
15090 self.unreachable = v.into_iter().map(|i| i.into()).collect();
15091 self
15092 }
15093}
15094
15095impl wkt::message::Message for ListVpnConnectionsResponse {
15096 fn typename() -> &'static str {
15097 "type.googleapis.com/google.cloud.edgecontainer.v1.ListVpnConnectionsResponse"
15098 }
15099}
15100
15101#[doc(hidden)]
15102impl gax::paginator::internal::PageableResponse for ListVpnConnectionsResponse {
15103 type PageItem = crate::model::VpnConnection;
15104
15105 fn items(self) -> std::vec::Vec<Self::PageItem> {
15106 self.vpn_connections
15107 }
15108
15109 fn next_page_token(&self) -> std::string::String {
15110 use std::clone::Clone;
15111 self.next_page_token.clone()
15112 }
15113}
15114
15115#[doc(hidden)]
15116impl<'de> serde::de::Deserialize<'de> for ListVpnConnectionsResponse {
15117 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15118 where
15119 D: serde::Deserializer<'de>,
15120 {
15121 #[allow(non_camel_case_types)]
15122 #[doc(hidden)]
15123 #[derive(PartialEq, Eq, Hash)]
15124 enum __FieldTag {
15125 __vpn_connections,
15126 __next_page_token,
15127 __unreachable,
15128 Unknown(std::string::String),
15129 }
15130 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
15131 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15132 where
15133 D: serde::Deserializer<'de>,
15134 {
15135 struct Visitor;
15136 impl<'de> serde::de::Visitor<'de> for Visitor {
15137 type Value = __FieldTag;
15138 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15139 formatter.write_str("a field name for ListVpnConnectionsResponse")
15140 }
15141 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
15142 where
15143 E: serde::de::Error,
15144 {
15145 use std::result::Result::Ok;
15146 use std::string::ToString;
15147 match value {
15148 "vpnConnections" => Ok(__FieldTag::__vpn_connections),
15149 "vpn_connections" => Ok(__FieldTag::__vpn_connections),
15150 "nextPageToken" => Ok(__FieldTag::__next_page_token),
15151 "next_page_token" => Ok(__FieldTag::__next_page_token),
15152 "unreachable" => Ok(__FieldTag::__unreachable),
15153 _ => Ok(__FieldTag::Unknown(value.to_string())),
15154 }
15155 }
15156 }
15157 deserializer.deserialize_identifier(Visitor)
15158 }
15159 }
15160 struct Visitor;
15161 impl<'de> serde::de::Visitor<'de> for Visitor {
15162 type Value = ListVpnConnectionsResponse;
15163 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15164 formatter.write_str("struct ListVpnConnectionsResponse")
15165 }
15166 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
15167 where
15168 A: serde::de::MapAccess<'de>,
15169 {
15170 #[allow(unused_imports)]
15171 use serde::de::Error;
15172 use std::option::Option::Some;
15173 let mut fields = std::collections::HashSet::new();
15174 let mut result = Self::Value::new();
15175 while let Some(tag) = map.next_key::<__FieldTag>()? {
15176 #[allow(clippy::match_single_binding)]
15177 match tag {
15178 __FieldTag::__vpn_connections => {
15179 if !fields.insert(__FieldTag::__vpn_connections) {
15180 return std::result::Result::Err(A::Error::duplicate_field(
15181 "multiple values for vpn_connections",
15182 ));
15183 }
15184 result.vpn_connections = map.next_value::<std::option::Option<std::vec::Vec<crate::model::VpnConnection>>>()?.unwrap_or_default();
15185 }
15186 __FieldTag::__next_page_token => {
15187 if !fields.insert(__FieldTag::__next_page_token) {
15188 return std::result::Result::Err(A::Error::duplicate_field(
15189 "multiple values for next_page_token",
15190 ));
15191 }
15192 result.next_page_token = map
15193 .next_value::<std::option::Option<std::string::String>>()?
15194 .unwrap_or_default();
15195 }
15196 __FieldTag::__unreachable => {
15197 if !fields.insert(__FieldTag::__unreachable) {
15198 return std::result::Result::Err(A::Error::duplicate_field(
15199 "multiple values for unreachable",
15200 ));
15201 }
15202 result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
15203 }
15204 __FieldTag::Unknown(key) => {
15205 let value = map.next_value::<serde_json::Value>()?;
15206 result._unknown_fields.insert(key, value);
15207 }
15208 }
15209 }
15210 std::result::Result::Ok(result)
15211 }
15212 }
15213 deserializer.deserialize_any(Visitor)
15214 }
15215}
15216
15217#[doc(hidden)]
15218impl serde::ser::Serialize for ListVpnConnectionsResponse {
15219 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
15220 where
15221 S: serde::ser::Serializer,
15222 {
15223 use serde::ser::SerializeMap;
15224 #[allow(unused_imports)]
15225 use std::option::Option::Some;
15226 let mut state = serializer.serialize_map(std::option::Option::None)?;
15227 if !self.vpn_connections.is_empty() {
15228 state.serialize_entry("vpnConnections", &self.vpn_connections)?;
15229 }
15230 if !self.next_page_token.is_empty() {
15231 state.serialize_entry("nextPageToken", &self.next_page_token)?;
15232 }
15233 if !self.unreachable.is_empty() {
15234 state.serialize_entry("unreachable", &self.unreachable)?;
15235 }
15236 if !self._unknown_fields.is_empty() {
15237 for (key, value) in self._unknown_fields.iter() {
15238 state.serialize_entry(key, &value)?;
15239 }
15240 }
15241 state.end()
15242 }
15243}
15244
15245impl std::fmt::Debug for ListVpnConnectionsResponse {
15246 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15247 let mut debug_struct = f.debug_struct("ListVpnConnectionsResponse");
15248 debug_struct.field("vpn_connections", &self.vpn_connections);
15249 debug_struct.field("next_page_token", &self.next_page_token);
15250 debug_struct.field("unreachable", &self.unreachable);
15251 if !self._unknown_fields.is_empty() {
15252 debug_struct.field("_unknown_fields", &self._unknown_fields);
15253 }
15254 debug_struct.finish()
15255 }
15256}
15257
15258#[derive(Clone, Default, PartialEq)]
15260#[non_exhaustive]
15261pub struct GetVpnConnectionRequest {
15262 pub name: std::string::String,
15264
15265 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
15266}
15267
15268impl GetVpnConnectionRequest {
15269 pub fn new() -> Self {
15270 std::default::Default::default()
15271 }
15272
15273 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15275 self.name = v.into();
15276 self
15277 }
15278}
15279
15280impl wkt::message::Message for GetVpnConnectionRequest {
15281 fn typename() -> &'static str {
15282 "type.googleapis.com/google.cloud.edgecontainer.v1.GetVpnConnectionRequest"
15283 }
15284}
15285
15286#[doc(hidden)]
15287impl<'de> serde::de::Deserialize<'de> for GetVpnConnectionRequest {
15288 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15289 where
15290 D: serde::Deserializer<'de>,
15291 {
15292 #[allow(non_camel_case_types)]
15293 #[doc(hidden)]
15294 #[derive(PartialEq, Eq, Hash)]
15295 enum __FieldTag {
15296 __name,
15297 Unknown(std::string::String),
15298 }
15299 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
15300 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15301 where
15302 D: serde::Deserializer<'de>,
15303 {
15304 struct Visitor;
15305 impl<'de> serde::de::Visitor<'de> for Visitor {
15306 type Value = __FieldTag;
15307 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15308 formatter.write_str("a field name for GetVpnConnectionRequest")
15309 }
15310 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
15311 where
15312 E: serde::de::Error,
15313 {
15314 use std::result::Result::Ok;
15315 use std::string::ToString;
15316 match value {
15317 "name" => Ok(__FieldTag::__name),
15318 _ => Ok(__FieldTag::Unknown(value.to_string())),
15319 }
15320 }
15321 }
15322 deserializer.deserialize_identifier(Visitor)
15323 }
15324 }
15325 struct Visitor;
15326 impl<'de> serde::de::Visitor<'de> for Visitor {
15327 type Value = GetVpnConnectionRequest;
15328 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15329 formatter.write_str("struct GetVpnConnectionRequest")
15330 }
15331 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
15332 where
15333 A: serde::de::MapAccess<'de>,
15334 {
15335 #[allow(unused_imports)]
15336 use serde::de::Error;
15337 use std::option::Option::Some;
15338 let mut fields = std::collections::HashSet::new();
15339 let mut result = Self::Value::new();
15340 while let Some(tag) = map.next_key::<__FieldTag>()? {
15341 #[allow(clippy::match_single_binding)]
15342 match tag {
15343 __FieldTag::__name => {
15344 if !fields.insert(__FieldTag::__name) {
15345 return std::result::Result::Err(A::Error::duplicate_field(
15346 "multiple values for name",
15347 ));
15348 }
15349 result.name = map
15350 .next_value::<std::option::Option<std::string::String>>()?
15351 .unwrap_or_default();
15352 }
15353 __FieldTag::Unknown(key) => {
15354 let value = map.next_value::<serde_json::Value>()?;
15355 result._unknown_fields.insert(key, value);
15356 }
15357 }
15358 }
15359 std::result::Result::Ok(result)
15360 }
15361 }
15362 deserializer.deserialize_any(Visitor)
15363 }
15364}
15365
15366#[doc(hidden)]
15367impl serde::ser::Serialize for GetVpnConnectionRequest {
15368 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
15369 where
15370 S: serde::ser::Serializer,
15371 {
15372 use serde::ser::SerializeMap;
15373 #[allow(unused_imports)]
15374 use std::option::Option::Some;
15375 let mut state = serializer.serialize_map(std::option::Option::None)?;
15376 if !self.name.is_empty() {
15377 state.serialize_entry("name", &self.name)?;
15378 }
15379 if !self._unknown_fields.is_empty() {
15380 for (key, value) in self._unknown_fields.iter() {
15381 state.serialize_entry(key, &value)?;
15382 }
15383 }
15384 state.end()
15385 }
15386}
15387
15388impl std::fmt::Debug for GetVpnConnectionRequest {
15389 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15390 let mut debug_struct = f.debug_struct("GetVpnConnectionRequest");
15391 debug_struct.field("name", &self.name);
15392 if !self._unknown_fields.is_empty() {
15393 debug_struct.field("_unknown_fields", &self._unknown_fields);
15394 }
15395 debug_struct.finish()
15396 }
15397}
15398
15399#[derive(Clone, Default, PartialEq)]
15401#[non_exhaustive]
15402pub struct CreateVpnConnectionRequest {
15403 pub parent: std::string::String,
15405
15406 pub vpn_connection_id: std::string::String,
15408
15409 pub vpn_connection: std::option::Option<crate::model::VpnConnection>,
15411
15412 pub request_id: std::string::String,
15416
15417 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
15418}
15419
15420impl CreateVpnConnectionRequest {
15421 pub fn new() -> Self {
15422 std::default::Default::default()
15423 }
15424
15425 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15427 self.parent = v.into();
15428 self
15429 }
15430
15431 pub fn set_vpn_connection_id<T: std::convert::Into<std::string::String>>(
15433 mut self,
15434 v: T,
15435 ) -> Self {
15436 self.vpn_connection_id = v.into();
15437 self
15438 }
15439
15440 pub fn set_vpn_connection<T>(mut self, v: T) -> Self
15442 where
15443 T: std::convert::Into<crate::model::VpnConnection>,
15444 {
15445 self.vpn_connection = std::option::Option::Some(v.into());
15446 self
15447 }
15448
15449 pub fn set_or_clear_vpn_connection<T>(mut self, v: std::option::Option<T>) -> Self
15451 where
15452 T: std::convert::Into<crate::model::VpnConnection>,
15453 {
15454 self.vpn_connection = v.map(|x| x.into());
15455 self
15456 }
15457
15458 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15460 self.request_id = v.into();
15461 self
15462 }
15463}
15464
15465impl wkt::message::Message for CreateVpnConnectionRequest {
15466 fn typename() -> &'static str {
15467 "type.googleapis.com/google.cloud.edgecontainer.v1.CreateVpnConnectionRequest"
15468 }
15469}
15470
15471#[doc(hidden)]
15472impl<'de> serde::de::Deserialize<'de> for CreateVpnConnectionRequest {
15473 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15474 where
15475 D: serde::Deserializer<'de>,
15476 {
15477 #[allow(non_camel_case_types)]
15478 #[doc(hidden)]
15479 #[derive(PartialEq, Eq, Hash)]
15480 enum __FieldTag {
15481 __parent,
15482 __vpn_connection_id,
15483 __vpn_connection,
15484 __request_id,
15485 Unknown(std::string::String),
15486 }
15487 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
15488 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15489 where
15490 D: serde::Deserializer<'de>,
15491 {
15492 struct Visitor;
15493 impl<'de> serde::de::Visitor<'de> for Visitor {
15494 type Value = __FieldTag;
15495 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15496 formatter.write_str("a field name for CreateVpnConnectionRequest")
15497 }
15498 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
15499 where
15500 E: serde::de::Error,
15501 {
15502 use std::result::Result::Ok;
15503 use std::string::ToString;
15504 match value {
15505 "parent" => Ok(__FieldTag::__parent),
15506 "vpnConnectionId" => Ok(__FieldTag::__vpn_connection_id),
15507 "vpn_connection_id" => Ok(__FieldTag::__vpn_connection_id),
15508 "vpnConnection" => Ok(__FieldTag::__vpn_connection),
15509 "vpn_connection" => Ok(__FieldTag::__vpn_connection),
15510 "requestId" => Ok(__FieldTag::__request_id),
15511 "request_id" => Ok(__FieldTag::__request_id),
15512 _ => Ok(__FieldTag::Unknown(value.to_string())),
15513 }
15514 }
15515 }
15516 deserializer.deserialize_identifier(Visitor)
15517 }
15518 }
15519 struct Visitor;
15520 impl<'de> serde::de::Visitor<'de> for Visitor {
15521 type Value = CreateVpnConnectionRequest;
15522 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15523 formatter.write_str("struct CreateVpnConnectionRequest")
15524 }
15525 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
15526 where
15527 A: serde::de::MapAccess<'de>,
15528 {
15529 #[allow(unused_imports)]
15530 use serde::de::Error;
15531 use std::option::Option::Some;
15532 let mut fields = std::collections::HashSet::new();
15533 let mut result = Self::Value::new();
15534 while let Some(tag) = map.next_key::<__FieldTag>()? {
15535 #[allow(clippy::match_single_binding)]
15536 match tag {
15537 __FieldTag::__parent => {
15538 if !fields.insert(__FieldTag::__parent) {
15539 return std::result::Result::Err(A::Error::duplicate_field(
15540 "multiple values for parent",
15541 ));
15542 }
15543 result.parent = map
15544 .next_value::<std::option::Option<std::string::String>>()?
15545 .unwrap_or_default();
15546 }
15547 __FieldTag::__vpn_connection_id => {
15548 if !fields.insert(__FieldTag::__vpn_connection_id) {
15549 return std::result::Result::Err(A::Error::duplicate_field(
15550 "multiple values for vpn_connection_id",
15551 ));
15552 }
15553 result.vpn_connection_id = map
15554 .next_value::<std::option::Option<std::string::String>>()?
15555 .unwrap_or_default();
15556 }
15557 __FieldTag::__vpn_connection => {
15558 if !fields.insert(__FieldTag::__vpn_connection) {
15559 return std::result::Result::Err(A::Error::duplicate_field(
15560 "multiple values for vpn_connection",
15561 ));
15562 }
15563 result.vpn_connection = map
15564 .next_value::<std::option::Option<crate::model::VpnConnection>>()?;
15565 }
15566 __FieldTag::__request_id => {
15567 if !fields.insert(__FieldTag::__request_id) {
15568 return std::result::Result::Err(A::Error::duplicate_field(
15569 "multiple values for request_id",
15570 ));
15571 }
15572 result.request_id = map
15573 .next_value::<std::option::Option<std::string::String>>()?
15574 .unwrap_or_default();
15575 }
15576 __FieldTag::Unknown(key) => {
15577 let value = map.next_value::<serde_json::Value>()?;
15578 result._unknown_fields.insert(key, value);
15579 }
15580 }
15581 }
15582 std::result::Result::Ok(result)
15583 }
15584 }
15585 deserializer.deserialize_any(Visitor)
15586 }
15587}
15588
15589#[doc(hidden)]
15590impl serde::ser::Serialize for CreateVpnConnectionRequest {
15591 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
15592 where
15593 S: serde::ser::Serializer,
15594 {
15595 use serde::ser::SerializeMap;
15596 #[allow(unused_imports)]
15597 use std::option::Option::Some;
15598 let mut state = serializer.serialize_map(std::option::Option::None)?;
15599 if !self.parent.is_empty() {
15600 state.serialize_entry("parent", &self.parent)?;
15601 }
15602 if !self.vpn_connection_id.is_empty() {
15603 state.serialize_entry("vpnConnectionId", &self.vpn_connection_id)?;
15604 }
15605 if self.vpn_connection.is_some() {
15606 state.serialize_entry("vpnConnection", &self.vpn_connection)?;
15607 }
15608 if !self.request_id.is_empty() {
15609 state.serialize_entry("requestId", &self.request_id)?;
15610 }
15611 if !self._unknown_fields.is_empty() {
15612 for (key, value) in self._unknown_fields.iter() {
15613 state.serialize_entry(key, &value)?;
15614 }
15615 }
15616 state.end()
15617 }
15618}
15619
15620impl std::fmt::Debug for CreateVpnConnectionRequest {
15621 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15622 let mut debug_struct = f.debug_struct("CreateVpnConnectionRequest");
15623 debug_struct.field("parent", &self.parent);
15624 debug_struct.field("vpn_connection_id", &self.vpn_connection_id);
15625 debug_struct.field("vpn_connection", &self.vpn_connection);
15626 debug_struct.field("request_id", &self.request_id);
15627 if !self._unknown_fields.is_empty() {
15628 debug_struct.field("_unknown_fields", &self._unknown_fields);
15629 }
15630 debug_struct.finish()
15631 }
15632}
15633
15634#[derive(Clone, Default, PartialEq)]
15636#[non_exhaustive]
15637pub struct DeleteVpnConnectionRequest {
15638 pub name: std::string::String,
15640
15641 pub request_id: std::string::String,
15645
15646 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
15647}
15648
15649impl DeleteVpnConnectionRequest {
15650 pub fn new() -> Self {
15651 std::default::Default::default()
15652 }
15653
15654 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15656 self.name = v.into();
15657 self
15658 }
15659
15660 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15662 self.request_id = v.into();
15663 self
15664 }
15665}
15666
15667impl wkt::message::Message for DeleteVpnConnectionRequest {
15668 fn typename() -> &'static str {
15669 "type.googleapis.com/google.cloud.edgecontainer.v1.DeleteVpnConnectionRequest"
15670 }
15671}
15672
15673#[doc(hidden)]
15674impl<'de> serde::de::Deserialize<'de> for DeleteVpnConnectionRequest {
15675 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15676 where
15677 D: serde::Deserializer<'de>,
15678 {
15679 #[allow(non_camel_case_types)]
15680 #[doc(hidden)]
15681 #[derive(PartialEq, Eq, Hash)]
15682 enum __FieldTag {
15683 __name,
15684 __request_id,
15685 Unknown(std::string::String),
15686 }
15687 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
15688 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15689 where
15690 D: serde::Deserializer<'de>,
15691 {
15692 struct Visitor;
15693 impl<'de> serde::de::Visitor<'de> for Visitor {
15694 type Value = __FieldTag;
15695 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15696 formatter.write_str("a field name for DeleteVpnConnectionRequest")
15697 }
15698 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
15699 where
15700 E: serde::de::Error,
15701 {
15702 use std::result::Result::Ok;
15703 use std::string::ToString;
15704 match value {
15705 "name" => Ok(__FieldTag::__name),
15706 "requestId" => Ok(__FieldTag::__request_id),
15707 "request_id" => Ok(__FieldTag::__request_id),
15708 _ => Ok(__FieldTag::Unknown(value.to_string())),
15709 }
15710 }
15711 }
15712 deserializer.deserialize_identifier(Visitor)
15713 }
15714 }
15715 struct Visitor;
15716 impl<'de> serde::de::Visitor<'de> for Visitor {
15717 type Value = DeleteVpnConnectionRequest;
15718 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15719 formatter.write_str("struct DeleteVpnConnectionRequest")
15720 }
15721 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
15722 where
15723 A: serde::de::MapAccess<'de>,
15724 {
15725 #[allow(unused_imports)]
15726 use serde::de::Error;
15727 use std::option::Option::Some;
15728 let mut fields = std::collections::HashSet::new();
15729 let mut result = Self::Value::new();
15730 while let Some(tag) = map.next_key::<__FieldTag>()? {
15731 #[allow(clippy::match_single_binding)]
15732 match tag {
15733 __FieldTag::__name => {
15734 if !fields.insert(__FieldTag::__name) {
15735 return std::result::Result::Err(A::Error::duplicate_field(
15736 "multiple values for name",
15737 ));
15738 }
15739 result.name = map
15740 .next_value::<std::option::Option<std::string::String>>()?
15741 .unwrap_or_default();
15742 }
15743 __FieldTag::__request_id => {
15744 if !fields.insert(__FieldTag::__request_id) {
15745 return std::result::Result::Err(A::Error::duplicate_field(
15746 "multiple values for request_id",
15747 ));
15748 }
15749 result.request_id = map
15750 .next_value::<std::option::Option<std::string::String>>()?
15751 .unwrap_or_default();
15752 }
15753 __FieldTag::Unknown(key) => {
15754 let value = map.next_value::<serde_json::Value>()?;
15755 result._unknown_fields.insert(key, value);
15756 }
15757 }
15758 }
15759 std::result::Result::Ok(result)
15760 }
15761 }
15762 deserializer.deserialize_any(Visitor)
15763 }
15764}
15765
15766#[doc(hidden)]
15767impl serde::ser::Serialize for DeleteVpnConnectionRequest {
15768 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
15769 where
15770 S: serde::ser::Serializer,
15771 {
15772 use serde::ser::SerializeMap;
15773 #[allow(unused_imports)]
15774 use std::option::Option::Some;
15775 let mut state = serializer.serialize_map(std::option::Option::None)?;
15776 if !self.name.is_empty() {
15777 state.serialize_entry("name", &self.name)?;
15778 }
15779 if !self.request_id.is_empty() {
15780 state.serialize_entry("requestId", &self.request_id)?;
15781 }
15782 if !self._unknown_fields.is_empty() {
15783 for (key, value) in self._unknown_fields.iter() {
15784 state.serialize_entry(key, &value)?;
15785 }
15786 }
15787 state.end()
15788 }
15789}
15790
15791impl std::fmt::Debug for DeleteVpnConnectionRequest {
15792 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15793 let mut debug_struct = f.debug_struct("DeleteVpnConnectionRequest");
15794 debug_struct.field("name", &self.name);
15795 debug_struct.field("request_id", &self.request_id);
15796 if !self._unknown_fields.is_empty() {
15797 debug_struct.field("_unknown_fields", &self._unknown_fields);
15798 }
15799 debug_struct.finish()
15800 }
15801}
15802
15803#[derive(Clone, Default, PartialEq)]
15805#[non_exhaustive]
15806pub struct GetServerConfigRequest {
15807 pub name: std::string::String,
15810
15811 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
15812}
15813
15814impl GetServerConfigRequest {
15815 pub fn new() -> Self {
15816 std::default::Default::default()
15817 }
15818
15819 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
15821 self.name = v.into();
15822 self
15823 }
15824}
15825
15826impl wkt::message::Message for GetServerConfigRequest {
15827 fn typename() -> &'static str {
15828 "type.googleapis.com/google.cloud.edgecontainer.v1.GetServerConfigRequest"
15829 }
15830}
15831
15832#[doc(hidden)]
15833impl<'de> serde::de::Deserialize<'de> for GetServerConfigRequest {
15834 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15835 where
15836 D: serde::Deserializer<'de>,
15837 {
15838 #[allow(non_camel_case_types)]
15839 #[doc(hidden)]
15840 #[derive(PartialEq, Eq, Hash)]
15841 enum __FieldTag {
15842 __name,
15843 Unknown(std::string::String),
15844 }
15845 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
15846 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
15847 where
15848 D: serde::Deserializer<'de>,
15849 {
15850 struct Visitor;
15851 impl<'de> serde::de::Visitor<'de> for Visitor {
15852 type Value = __FieldTag;
15853 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15854 formatter.write_str("a field name for GetServerConfigRequest")
15855 }
15856 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
15857 where
15858 E: serde::de::Error,
15859 {
15860 use std::result::Result::Ok;
15861 use std::string::ToString;
15862 match value {
15863 "name" => Ok(__FieldTag::__name),
15864 _ => Ok(__FieldTag::Unknown(value.to_string())),
15865 }
15866 }
15867 }
15868 deserializer.deserialize_identifier(Visitor)
15869 }
15870 }
15871 struct Visitor;
15872 impl<'de> serde::de::Visitor<'de> for Visitor {
15873 type Value = GetServerConfigRequest;
15874 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
15875 formatter.write_str("struct GetServerConfigRequest")
15876 }
15877 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
15878 where
15879 A: serde::de::MapAccess<'de>,
15880 {
15881 #[allow(unused_imports)]
15882 use serde::de::Error;
15883 use std::option::Option::Some;
15884 let mut fields = std::collections::HashSet::new();
15885 let mut result = Self::Value::new();
15886 while let Some(tag) = map.next_key::<__FieldTag>()? {
15887 #[allow(clippy::match_single_binding)]
15888 match tag {
15889 __FieldTag::__name => {
15890 if !fields.insert(__FieldTag::__name) {
15891 return std::result::Result::Err(A::Error::duplicate_field(
15892 "multiple values for name",
15893 ));
15894 }
15895 result.name = map
15896 .next_value::<std::option::Option<std::string::String>>()?
15897 .unwrap_or_default();
15898 }
15899 __FieldTag::Unknown(key) => {
15900 let value = map.next_value::<serde_json::Value>()?;
15901 result._unknown_fields.insert(key, value);
15902 }
15903 }
15904 }
15905 std::result::Result::Ok(result)
15906 }
15907 }
15908 deserializer.deserialize_any(Visitor)
15909 }
15910}
15911
15912#[doc(hidden)]
15913impl serde::ser::Serialize for GetServerConfigRequest {
15914 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
15915 where
15916 S: serde::ser::Serializer,
15917 {
15918 use serde::ser::SerializeMap;
15919 #[allow(unused_imports)]
15920 use std::option::Option::Some;
15921 let mut state = serializer.serialize_map(std::option::Option::None)?;
15922 if !self.name.is_empty() {
15923 state.serialize_entry("name", &self.name)?;
15924 }
15925 if !self._unknown_fields.is_empty() {
15926 for (key, value) in self._unknown_fields.iter() {
15927 state.serialize_entry(key, &value)?;
15928 }
15929 }
15930 state.end()
15931 }
15932}
15933
15934impl std::fmt::Debug for GetServerConfigRequest {
15935 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15936 let mut debug_struct = f.debug_struct("GetServerConfigRequest");
15937 debug_struct.field("name", &self.name);
15938 if !self._unknown_fields.is_empty() {
15939 debug_struct.field("_unknown_fields", &self._unknown_fields);
15940 }
15941 debug_struct.finish()
15942 }
15943}
15944
15945#[derive(Clone, Debug, PartialEq)]
15962#[non_exhaustive]
15963pub enum KmsKeyState {
15964 Unspecified,
15966 KeyAvailable,
15968 KeyUnavailable,
15971 UnknownValue(kms_key_state::UnknownValue),
15976}
15977
15978#[doc(hidden)]
15979pub mod kms_key_state {
15980 #[allow(unused_imports)]
15981 use super::*;
15982 #[derive(Clone, Debug, PartialEq)]
15983 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
15984}
15985
15986impl KmsKeyState {
15987 pub fn value(&self) -> std::option::Option<i32> {
15992 match self {
15993 Self::Unspecified => std::option::Option::Some(0),
15994 Self::KeyAvailable => std::option::Option::Some(1),
15995 Self::KeyUnavailable => std::option::Option::Some(2),
15996 Self::UnknownValue(u) => u.0.value(),
15997 }
15998 }
15999
16000 pub fn name(&self) -> std::option::Option<&str> {
16005 match self {
16006 Self::Unspecified => std::option::Option::Some("KMS_KEY_STATE_UNSPECIFIED"),
16007 Self::KeyAvailable => std::option::Option::Some("KMS_KEY_STATE_KEY_AVAILABLE"),
16008 Self::KeyUnavailable => std::option::Option::Some("KMS_KEY_STATE_KEY_UNAVAILABLE"),
16009 Self::UnknownValue(u) => u.0.name(),
16010 }
16011 }
16012}
16013
16014impl std::default::Default for KmsKeyState {
16015 fn default() -> Self {
16016 use std::convert::From;
16017 Self::from(0)
16018 }
16019}
16020
16021impl std::fmt::Display for KmsKeyState {
16022 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
16023 wkt::internal::display_enum(f, self.name(), self.value())
16024 }
16025}
16026
16027impl std::convert::From<i32> for KmsKeyState {
16028 fn from(value: i32) -> Self {
16029 match value {
16030 0 => Self::Unspecified,
16031 1 => Self::KeyAvailable,
16032 2 => Self::KeyUnavailable,
16033 _ => Self::UnknownValue(kms_key_state::UnknownValue(
16034 wkt::internal::UnknownEnumValue::Integer(value),
16035 )),
16036 }
16037 }
16038}
16039
16040impl std::convert::From<&str> for KmsKeyState {
16041 fn from(value: &str) -> Self {
16042 use std::string::ToString;
16043 match value {
16044 "KMS_KEY_STATE_UNSPECIFIED" => Self::Unspecified,
16045 "KMS_KEY_STATE_KEY_AVAILABLE" => Self::KeyAvailable,
16046 "KMS_KEY_STATE_KEY_UNAVAILABLE" => Self::KeyUnavailable,
16047 _ => Self::UnknownValue(kms_key_state::UnknownValue(
16048 wkt::internal::UnknownEnumValue::String(value.to_string()),
16049 )),
16050 }
16051 }
16052}
16053
16054impl serde::ser::Serialize for KmsKeyState {
16055 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
16056 where
16057 S: serde::Serializer,
16058 {
16059 match self {
16060 Self::Unspecified => serializer.serialize_i32(0),
16061 Self::KeyAvailable => serializer.serialize_i32(1),
16062 Self::KeyUnavailable => serializer.serialize_i32(2),
16063 Self::UnknownValue(u) => u.0.serialize(serializer),
16064 }
16065 }
16066}
16067
16068impl<'de> serde::de::Deserialize<'de> for KmsKeyState {
16069 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
16070 where
16071 D: serde::Deserializer<'de>,
16072 {
16073 deserializer.deserialize_any(wkt::internal::EnumVisitor::<KmsKeyState>::new(
16074 ".google.cloud.edgecontainer.v1.KmsKeyState",
16075 ))
16076 }
16077}
16078
16079#[derive(Clone, Debug, PartialEq)]
16095#[non_exhaustive]
16096pub enum ResourceState {
16097 Unspecified,
16099 LockDown,
16101 LockDownPending,
16103 UnknownValue(resource_state::UnknownValue),
16108}
16109
16110#[doc(hidden)]
16111pub mod resource_state {
16112 #[allow(unused_imports)]
16113 use super::*;
16114 #[derive(Clone, Debug, PartialEq)]
16115 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
16116}
16117
16118impl ResourceState {
16119 pub fn value(&self) -> std::option::Option<i32> {
16124 match self {
16125 Self::Unspecified => std::option::Option::Some(0),
16126 Self::LockDown => std::option::Option::Some(1),
16127 Self::LockDownPending => std::option::Option::Some(2),
16128 Self::UnknownValue(u) => u.0.value(),
16129 }
16130 }
16131
16132 pub fn name(&self) -> std::option::Option<&str> {
16137 match self {
16138 Self::Unspecified => std::option::Option::Some("RESOURCE_STATE_UNSPECIFIED"),
16139 Self::LockDown => std::option::Option::Some("RESOURCE_STATE_LOCK_DOWN"),
16140 Self::LockDownPending => std::option::Option::Some("RESOURCE_STATE_LOCK_DOWN_PENDING"),
16141 Self::UnknownValue(u) => u.0.name(),
16142 }
16143 }
16144}
16145
16146impl std::default::Default for ResourceState {
16147 fn default() -> Self {
16148 use std::convert::From;
16149 Self::from(0)
16150 }
16151}
16152
16153impl std::fmt::Display for ResourceState {
16154 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
16155 wkt::internal::display_enum(f, self.name(), self.value())
16156 }
16157}
16158
16159impl std::convert::From<i32> for ResourceState {
16160 fn from(value: i32) -> Self {
16161 match value {
16162 0 => Self::Unspecified,
16163 1 => Self::LockDown,
16164 2 => Self::LockDownPending,
16165 _ => Self::UnknownValue(resource_state::UnknownValue(
16166 wkt::internal::UnknownEnumValue::Integer(value),
16167 )),
16168 }
16169 }
16170}
16171
16172impl std::convert::From<&str> for ResourceState {
16173 fn from(value: &str) -> Self {
16174 use std::string::ToString;
16175 match value {
16176 "RESOURCE_STATE_UNSPECIFIED" => Self::Unspecified,
16177 "RESOURCE_STATE_LOCK_DOWN" => Self::LockDown,
16178 "RESOURCE_STATE_LOCK_DOWN_PENDING" => Self::LockDownPending,
16179 _ => Self::UnknownValue(resource_state::UnknownValue(
16180 wkt::internal::UnknownEnumValue::String(value.to_string()),
16181 )),
16182 }
16183 }
16184}
16185
16186impl serde::ser::Serialize for ResourceState {
16187 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
16188 where
16189 S: serde::Serializer,
16190 {
16191 match self {
16192 Self::Unspecified => serializer.serialize_i32(0),
16193 Self::LockDown => serializer.serialize_i32(1),
16194 Self::LockDownPending => serializer.serialize_i32(2),
16195 Self::UnknownValue(u) => u.0.serialize(serializer),
16196 }
16197 }
16198}
16199
16200impl<'de> serde::de::Deserialize<'de> for ResourceState {
16201 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
16202 where
16203 D: serde::Deserializer<'de>,
16204 {
16205 deserializer.deserialize_any(wkt::internal::EnumVisitor::<ResourceState>::new(
16206 ".google.cloud.edgecontainer.v1.ResourceState",
16207 ))
16208 }
16209}