1#![allow(rustdoc::redundant_explicit_links)]
18#![allow(rustdoc::broken_intra_doc_links)]
19#![allow(rustdoc::invalid_html_tags)]
20#![allow(rustdoc::bare_urls)]
21#![no_implicit_prelude]
22extern crate async_trait;
23extern crate bytes;
24extern crate gax;
25extern crate gaxi;
26extern crate lazy_static;
27extern crate location;
28extern crate longrunning;
29extern crate lro;
30extern crate reqwest;
31extern crate serde;
32extern crate serde_json;
33extern crate serde_with;
34extern crate std;
35extern crate tracing;
36extern crate wkt;
37
38#[derive(Clone, Debug, Default, PartialEq)]
40#[non_exhaustive]
41pub struct Workflow {
42 pub name: std::string::String,
46
47 pub description: std::string::String,
51
52 pub state: crate::model::workflow::State,
54
55 pub revision_id: std::string::String,
70
71 pub create_time: std::option::Option<wkt::Timestamp>,
74
75 pub update_time: std::option::Option<wkt::Timestamp>,
78
79 pub revision_create_time: std::option::Option<wkt::Timestamp>,
82
83 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
90
91 pub service_account: std::string::String,
104
105 pub crypto_key_name: std::string::String,
117
118 pub state_error: std::option::Option<crate::model::workflow::StateError>,
122
123 pub call_log_level: crate::model::workflow::CallLogLevel,
128
129 pub user_env_vars: std::collections::HashMap<std::string::String, std::string::String>,
134
135 pub execution_history_level: crate::model::ExecutionHistoryLevel,
137
138 pub all_kms_keys: std::vec::Vec<std::string::String>,
141
142 pub all_kms_keys_versions: std::vec::Vec<std::string::String>,
145
146 pub crypto_key_version: std::string::String,
152
153 pub tags: std::collections::HashMap<std::string::String, std::string::String>,
155
156 pub source_code: std::option::Option<crate::model::workflow::SourceCode>,
160
161 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
162}
163
164impl Workflow {
165 pub fn new() -> Self {
166 std::default::Default::default()
167 }
168
169 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
171 self.name = v.into();
172 self
173 }
174
175 pub fn set_description<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
177 self.description = v.into();
178 self
179 }
180
181 pub fn set_state<T: std::convert::Into<crate::model::workflow::State>>(mut self, v: T) -> Self {
183 self.state = v.into();
184 self
185 }
186
187 pub fn set_revision_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
189 self.revision_id = v.into();
190 self
191 }
192
193 pub fn set_create_time<T>(mut self, v: T) -> Self
195 where
196 T: std::convert::Into<wkt::Timestamp>,
197 {
198 self.create_time = std::option::Option::Some(v.into());
199 self
200 }
201
202 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
204 where
205 T: std::convert::Into<wkt::Timestamp>,
206 {
207 self.create_time = v.map(|x| x.into());
208 self
209 }
210
211 pub fn set_update_time<T>(mut self, v: T) -> Self
213 where
214 T: std::convert::Into<wkt::Timestamp>,
215 {
216 self.update_time = std::option::Option::Some(v.into());
217 self
218 }
219
220 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
222 where
223 T: std::convert::Into<wkt::Timestamp>,
224 {
225 self.update_time = v.map(|x| x.into());
226 self
227 }
228
229 pub fn set_revision_create_time<T>(mut self, v: T) -> Self
231 where
232 T: std::convert::Into<wkt::Timestamp>,
233 {
234 self.revision_create_time = std::option::Option::Some(v.into());
235 self
236 }
237
238 pub fn set_or_clear_revision_create_time<T>(mut self, v: std::option::Option<T>) -> Self
240 where
241 T: std::convert::Into<wkt::Timestamp>,
242 {
243 self.revision_create_time = v.map(|x| x.into());
244 self
245 }
246
247 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
249 where
250 T: std::iter::IntoIterator<Item = (K, V)>,
251 K: std::convert::Into<std::string::String>,
252 V: std::convert::Into<std::string::String>,
253 {
254 use std::iter::Iterator;
255 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
256 self
257 }
258
259 pub fn set_service_account<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
261 self.service_account = v.into();
262 self
263 }
264
265 pub fn set_crypto_key_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
267 self.crypto_key_name = v.into();
268 self
269 }
270
271 pub fn set_state_error<T>(mut self, v: T) -> Self
273 where
274 T: std::convert::Into<crate::model::workflow::StateError>,
275 {
276 self.state_error = std::option::Option::Some(v.into());
277 self
278 }
279
280 pub fn set_or_clear_state_error<T>(mut self, v: std::option::Option<T>) -> Self
282 where
283 T: std::convert::Into<crate::model::workflow::StateError>,
284 {
285 self.state_error = v.map(|x| x.into());
286 self
287 }
288
289 pub fn set_call_log_level<T: std::convert::Into<crate::model::workflow::CallLogLevel>>(
291 mut self,
292 v: T,
293 ) -> Self {
294 self.call_log_level = v.into();
295 self
296 }
297
298 pub fn set_user_env_vars<T, K, V>(mut self, v: T) -> Self
300 where
301 T: std::iter::IntoIterator<Item = (K, V)>,
302 K: std::convert::Into<std::string::String>,
303 V: std::convert::Into<std::string::String>,
304 {
305 use std::iter::Iterator;
306 self.user_env_vars = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
307 self
308 }
309
310 pub fn set_execution_history_level<
312 T: std::convert::Into<crate::model::ExecutionHistoryLevel>,
313 >(
314 mut self,
315 v: T,
316 ) -> Self {
317 self.execution_history_level = v.into();
318 self
319 }
320
321 pub fn set_all_kms_keys<T, V>(mut self, v: T) -> Self
323 where
324 T: std::iter::IntoIterator<Item = V>,
325 V: std::convert::Into<std::string::String>,
326 {
327 use std::iter::Iterator;
328 self.all_kms_keys = v.into_iter().map(|i| i.into()).collect();
329 self
330 }
331
332 pub fn set_all_kms_keys_versions<T, V>(mut self, v: T) -> Self
334 where
335 T: std::iter::IntoIterator<Item = V>,
336 V: std::convert::Into<std::string::String>,
337 {
338 use std::iter::Iterator;
339 self.all_kms_keys_versions = v.into_iter().map(|i| i.into()).collect();
340 self
341 }
342
343 pub fn set_crypto_key_version<T: std::convert::Into<std::string::String>>(
345 mut self,
346 v: T,
347 ) -> Self {
348 self.crypto_key_version = v.into();
349 self
350 }
351
352 pub fn set_tags<T, K, V>(mut self, v: T) -> Self
354 where
355 T: std::iter::IntoIterator<Item = (K, V)>,
356 K: std::convert::Into<std::string::String>,
357 V: std::convert::Into<std::string::String>,
358 {
359 use std::iter::Iterator;
360 self.tags = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
361 self
362 }
363
364 pub fn set_source_code<
369 T: std::convert::Into<std::option::Option<crate::model::workflow::SourceCode>>,
370 >(
371 mut self,
372 v: T,
373 ) -> Self {
374 self.source_code = v.into();
375 self
376 }
377
378 pub fn source_contents(&self) -> std::option::Option<&std::string::String> {
382 #[allow(unreachable_patterns)]
383 self.source_code.as_ref().and_then(|v| match v {
384 crate::model::workflow::SourceCode::SourceContents(v) => std::option::Option::Some(v),
385 _ => std::option::Option::None,
386 })
387 }
388
389 pub fn set_source_contents<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
395 self.source_code =
396 std::option::Option::Some(crate::model::workflow::SourceCode::SourceContents(v.into()));
397 self
398 }
399}
400
401impl wkt::message::Message for Workflow {
402 fn typename() -> &'static str {
403 "type.googleapis.com/google.cloud.workflows.v1.Workflow"
404 }
405}
406
407#[doc(hidden)]
408impl<'de> serde::de::Deserialize<'de> for Workflow {
409 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
410 where
411 D: serde::Deserializer<'de>,
412 {
413 #[allow(non_camel_case_types)]
414 #[doc(hidden)]
415 #[derive(PartialEq, Eq, Hash)]
416 enum __FieldTag {
417 __name,
418 __description,
419 __state,
420 __revision_id,
421 __create_time,
422 __update_time,
423 __revision_create_time,
424 __labels,
425 __service_account,
426 __source_contents,
427 __crypto_key_name,
428 __state_error,
429 __call_log_level,
430 __user_env_vars,
431 __execution_history_level,
432 __all_kms_keys,
433 __all_kms_keys_versions,
434 __crypto_key_version,
435 __tags,
436 Unknown(std::string::String),
437 }
438 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
439 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
440 where
441 D: serde::Deserializer<'de>,
442 {
443 struct Visitor;
444 impl<'de> serde::de::Visitor<'de> for Visitor {
445 type Value = __FieldTag;
446 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
447 formatter.write_str("a field name for Workflow")
448 }
449 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
450 where
451 E: serde::de::Error,
452 {
453 use std::result::Result::Ok;
454 use std::string::ToString;
455 match value {
456 "name" => Ok(__FieldTag::__name),
457 "description" => Ok(__FieldTag::__description),
458 "state" => Ok(__FieldTag::__state),
459 "revisionId" => Ok(__FieldTag::__revision_id),
460 "revision_id" => Ok(__FieldTag::__revision_id),
461 "createTime" => Ok(__FieldTag::__create_time),
462 "create_time" => Ok(__FieldTag::__create_time),
463 "updateTime" => Ok(__FieldTag::__update_time),
464 "update_time" => Ok(__FieldTag::__update_time),
465 "revisionCreateTime" => Ok(__FieldTag::__revision_create_time),
466 "revision_create_time" => Ok(__FieldTag::__revision_create_time),
467 "labels" => Ok(__FieldTag::__labels),
468 "serviceAccount" => Ok(__FieldTag::__service_account),
469 "service_account" => Ok(__FieldTag::__service_account),
470 "sourceContents" => Ok(__FieldTag::__source_contents),
471 "source_contents" => Ok(__FieldTag::__source_contents),
472 "cryptoKeyName" => Ok(__FieldTag::__crypto_key_name),
473 "crypto_key_name" => Ok(__FieldTag::__crypto_key_name),
474 "stateError" => Ok(__FieldTag::__state_error),
475 "state_error" => Ok(__FieldTag::__state_error),
476 "callLogLevel" => Ok(__FieldTag::__call_log_level),
477 "call_log_level" => Ok(__FieldTag::__call_log_level),
478 "userEnvVars" => Ok(__FieldTag::__user_env_vars),
479 "user_env_vars" => Ok(__FieldTag::__user_env_vars),
480 "executionHistoryLevel" => Ok(__FieldTag::__execution_history_level),
481 "execution_history_level" => Ok(__FieldTag::__execution_history_level),
482 "allKmsKeys" => Ok(__FieldTag::__all_kms_keys),
483 "all_kms_keys" => Ok(__FieldTag::__all_kms_keys),
484 "allKmsKeysVersions" => Ok(__FieldTag::__all_kms_keys_versions),
485 "all_kms_keys_versions" => Ok(__FieldTag::__all_kms_keys_versions),
486 "cryptoKeyVersion" => Ok(__FieldTag::__crypto_key_version),
487 "crypto_key_version" => Ok(__FieldTag::__crypto_key_version),
488 "tags" => Ok(__FieldTag::__tags),
489 _ => Ok(__FieldTag::Unknown(value.to_string())),
490 }
491 }
492 }
493 deserializer.deserialize_identifier(Visitor)
494 }
495 }
496 struct Visitor;
497 impl<'de> serde::de::Visitor<'de> for Visitor {
498 type Value = Workflow;
499 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
500 formatter.write_str("struct Workflow")
501 }
502 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
503 where
504 A: serde::de::MapAccess<'de>,
505 {
506 #[allow(unused_imports)]
507 use serde::de::Error;
508 use std::option::Option::Some;
509 let mut fields = std::collections::HashSet::new();
510 let mut result = Self::Value::new();
511 while let Some(tag) = map.next_key::<__FieldTag>()? {
512 #[allow(clippy::match_single_binding)]
513 match tag {
514 __FieldTag::__name => {
515 if !fields.insert(__FieldTag::__name) {
516 return std::result::Result::Err(A::Error::duplicate_field(
517 "multiple values for name",
518 ));
519 }
520 result.name = map
521 .next_value::<std::option::Option<std::string::String>>()?
522 .unwrap_or_default();
523 }
524 __FieldTag::__description => {
525 if !fields.insert(__FieldTag::__description) {
526 return std::result::Result::Err(A::Error::duplicate_field(
527 "multiple values for description",
528 ));
529 }
530 result.description = map
531 .next_value::<std::option::Option<std::string::String>>()?
532 .unwrap_or_default();
533 }
534 __FieldTag::__state => {
535 if !fields.insert(__FieldTag::__state) {
536 return std::result::Result::Err(A::Error::duplicate_field(
537 "multiple values for state",
538 ));
539 }
540 result.state = map
541 .next_value::<std::option::Option<crate::model::workflow::State>>()?
542 .unwrap_or_default();
543 }
544 __FieldTag::__revision_id => {
545 if !fields.insert(__FieldTag::__revision_id) {
546 return std::result::Result::Err(A::Error::duplicate_field(
547 "multiple values for revision_id",
548 ));
549 }
550 result.revision_id = map
551 .next_value::<std::option::Option<std::string::String>>()?
552 .unwrap_or_default();
553 }
554 __FieldTag::__create_time => {
555 if !fields.insert(__FieldTag::__create_time) {
556 return std::result::Result::Err(A::Error::duplicate_field(
557 "multiple values for create_time",
558 ));
559 }
560 result.create_time =
561 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
562 }
563 __FieldTag::__update_time => {
564 if !fields.insert(__FieldTag::__update_time) {
565 return std::result::Result::Err(A::Error::duplicate_field(
566 "multiple values for update_time",
567 ));
568 }
569 result.update_time =
570 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
571 }
572 __FieldTag::__revision_create_time => {
573 if !fields.insert(__FieldTag::__revision_create_time) {
574 return std::result::Result::Err(A::Error::duplicate_field(
575 "multiple values for revision_create_time",
576 ));
577 }
578 result.revision_create_time =
579 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
580 }
581 __FieldTag::__labels => {
582 if !fields.insert(__FieldTag::__labels) {
583 return std::result::Result::Err(A::Error::duplicate_field(
584 "multiple values for labels",
585 ));
586 }
587 result.labels = map
588 .next_value::<std::option::Option<
589 std::collections::HashMap<
590 std::string::String,
591 std::string::String,
592 >,
593 >>()?
594 .unwrap_or_default();
595 }
596 __FieldTag::__service_account => {
597 if !fields.insert(__FieldTag::__service_account) {
598 return std::result::Result::Err(A::Error::duplicate_field(
599 "multiple values for service_account",
600 ));
601 }
602 result.service_account = map
603 .next_value::<std::option::Option<std::string::String>>()?
604 .unwrap_or_default();
605 }
606 __FieldTag::__source_contents => {
607 if !fields.insert(__FieldTag::__source_contents) {
608 return std::result::Result::Err(A::Error::duplicate_field(
609 "multiple values for source_contents",
610 ));
611 }
612 if result.source_code.is_some() {
613 return std::result::Result::Err(A::Error::duplicate_field(
614 "multiple values for `source_code`, a oneof with full ID .google.cloud.workflows.v1.Workflow.source_contents, latest field was sourceContents",
615 ));
616 }
617 result.source_code = std::option::Option::Some(
618 crate::model::workflow::SourceCode::SourceContents(
619 map.next_value::<std::option::Option<std::string::String>>()?
620 .unwrap_or_default(),
621 ),
622 );
623 }
624 __FieldTag::__crypto_key_name => {
625 if !fields.insert(__FieldTag::__crypto_key_name) {
626 return std::result::Result::Err(A::Error::duplicate_field(
627 "multiple values for crypto_key_name",
628 ));
629 }
630 result.crypto_key_name = map
631 .next_value::<std::option::Option<std::string::String>>()?
632 .unwrap_or_default();
633 }
634 __FieldTag::__state_error => {
635 if !fields.insert(__FieldTag::__state_error) {
636 return std::result::Result::Err(A::Error::duplicate_field(
637 "multiple values for state_error",
638 ));
639 }
640 result.state_error = map.next_value::<std::option::Option<crate::model::workflow::StateError>>()?
641 ;
642 }
643 __FieldTag::__call_log_level => {
644 if !fields.insert(__FieldTag::__call_log_level) {
645 return std::result::Result::Err(A::Error::duplicate_field(
646 "multiple values for call_log_level",
647 ));
648 }
649 result.call_log_level = map.next_value::<std::option::Option<crate::model::workflow::CallLogLevel>>()?.unwrap_or_default();
650 }
651 __FieldTag::__user_env_vars => {
652 if !fields.insert(__FieldTag::__user_env_vars) {
653 return std::result::Result::Err(A::Error::duplicate_field(
654 "multiple values for user_env_vars",
655 ));
656 }
657 result.user_env_vars = map
658 .next_value::<std::option::Option<
659 std::collections::HashMap<
660 std::string::String,
661 std::string::String,
662 >,
663 >>()?
664 .unwrap_or_default();
665 }
666 __FieldTag::__execution_history_level => {
667 if !fields.insert(__FieldTag::__execution_history_level) {
668 return std::result::Result::Err(A::Error::duplicate_field(
669 "multiple values for execution_history_level",
670 ));
671 }
672 result.execution_history_level = map.next_value::<std::option::Option<crate::model::ExecutionHistoryLevel>>()?.unwrap_or_default();
673 }
674 __FieldTag::__all_kms_keys => {
675 if !fields.insert(__FieldTag::__all_kms_keys) {
676 return std::result::Result::Err(A::Error::duplicate_field(
677 "multiple values for all_kms_keys",
678 ));
679 }
680 result.all_kms_keys = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
681 }
682 __FieldTag::__all_kms_keys_versions => {
683 if !fields.insert(__FieldTag::__all_kms_keys_versions) {
684 return std::result::Result::Err(A::Error::duplicate_field(
685 "multiple values for all_kms_keys_versions",
686 ));
687 }
688 result.all_kms_keys_versions = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
689 }
690 __FieldTag::__crypto_key_version => {
691 if !fields.insert(__FieldTag::__crypto_key_version) {
692 return std::result::Result::Err(A::Error::duplicate_field(
693 "multiple values for crypto_key_version",
694 ));
695 }
696 result.crypto_key_version = map
697 .next_value::<std::option::Option<std::string::String>>()?
698 .unwrap_or_default();
699 }
700 __FieldTag::__tags => {
701 if !fields.insert(__FieldTag::__tags) {
702 return std::result::Result::Err(A::Error::duplicate_field(
703 "multiple values for tags",
704 ));
705 }
706 result.tags = map
707 .next_value::<std::option::Option<
708 std::collections::HashMap<
709 std::string::String,
710 std::string::String,
711 >,
712 >>()?
713 .unwrap_or_default();
714 }
715 __FieldTag::Unknown(key) => {
716 let value = map.next_value::<serde_json::Value>()?;
717 result._unknown_fields.insert(key, value);
718 }
719 }
720 }
721 std::result::Result::Ok(result)
722 }
723 }
724 deserializer.deserialize_any(Visitor)
725 }
726}
727
728#[doc(hidden)]
729impl serde::ser::Serialize for Workflow {
730 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
731 where
732 S: serde::ser::Serializer,
733 {
734 use serde::ser::SerializeMap;
735 #[allow(unused_imports)]
736 use std::option::Option::Some;
737 let mut state = serializer.serialize_map(std::option::Option::None)?;
738 if !self.name.is_empty() {
739 state.serialize_entry("name", &self.name)?;
740 }
741 if !self.description.is_empty() {
742 state.serialize_entry("description", &self.description)?;
743 }
744 if !wkt::internal::is_default(&self.state) {
745 state.serialize_entry("state", &self.state)?;
746 }
747 if !self.revision_id.is_empty() {
748 state.serialize_entry("revisionId", &self.revision_id)?;
749 }
750 if self.create_time.is_some() {
751 state.serialize_entry("createTime", &self.create_time)?;
752 }
753 if self.update_time.is_some() {
754 state.serialize_entry("updateTime", &self.update_time)?;
755 }
756 if self.revision_create_time.is_some() {
757 state.serialize_entry("revisionCreateTime", &self.revision_create_time)?;
758 }
759 if !self.labels.is_empty() {
760 state.serialize_entry("labels", &self.labels)?;
761 }
762 if !self.service_account.is_empty() {
763 state.serialize_entry("serviceAccount", &self.service_account)?;
764 }
765 if let Some(value) = self.source_contents() {
766 state.serialize_entry("sourceContents", value)?;
767 }
768 if !self.crypto_key_name.is_empty() {
769 state.serialize_entry("cryptoKeyName", &self.crypto_key_name)?;
770 }
771 if self.state_error.is_some() {
772 state.serialize_entry("stateError", &self.state_error)?;
773 }
774 if !wkt::internal::is_default(&self.call_log_level) {
775 state.serialize_entry("callLogLevel", &self.call_log_level)?;
776 }
777 if !self.user_env_vars.is_empty() {
778 state.serialize_entry("userEnvVars", &self.user_env_vars)?;
779 }
780 if !wkt::internal::is_default(&self.execution_history_level) {
781 state.serialize_entry("executionHistoryLevel", &self.execution_history_level)?;
782 }
783 if !self.all_kms_keys.is_empty() {
784 state.serialize_entry("allKmsKeys", &self.all_kms_keys)?;
785 }
786 if !self.all_kms_keys_versions.is_empty() {
787 state.serialize_entry("allKmsKeysVersions", &self.all_kms_keys_versions)?;
788 }
789 if !self.crypto_key_version.is_empty() {
790 state.serialize_entry("cryptoKeyVersion", &self.crypto_key_version)?;
791 }
792 if !self.tags.is_empty() {
793 state.serialize_entry("tags", &self.tags)?;
794 }
795 if !self._unknown_fields.is_empty() {
796 for (key, value) in self._unknown_fields.iter() {
797 state.serialize_entry(key, &value)?;
798 }
799 }
800 state.end()
801 }
802}
803
804pub mod workflow {
806 #[allow(unused_imports)]
807 use super::*;
808
809 #[derive(Clone, Debug, Default, PartialEq)]
811 #[non_exhaustive]
812 pub struct StateError {
813 pub details: std::string::String,
815
816 pub r#type: crate::model::workflow::state_error::Type,
818
819 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
820 }
821
822 impl StateError {
823 pub fn new() -> Self {
824 std::default::Default::default()
825 }
826
827 pub fn set_details<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
829 self.details = v.into();
830 self
831 }
832
833 pub fn set_type<T: std::convert::Into<crate::model::workflow::state_error::Type>>(
835 mut self,
836 v: T,
837 ) -> Self {
838 self.r#type = v.into();
839 self
840 }
841 }
842
843 impl wkt::message::Message for StateError {
844 fn typename() -> &'static str {
845 "type.googleapis.com/google.cloud.workflows.v1.Workflow.StateError"
846 }
847 }
848
849 #[doc(hidden)]
850 impl<'de> serde::de::Deserialize<'de> for StateError {
851 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
852 where
853 D: serde::Deserializer<'de>,
854 {
855 #[allow(non_camel_case_types)]
856 #[doc(hidden)]
857 #[derive(PartialEq, Eq, Hash)]
858 enum __FieldTag {
859 __details,
860 __type,
861 Unknown(std::string::String),
862 }
863 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
864 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
865 where
866 D: serde::Deserializer<'de>,
867 {
868 struct Visitor;
869 impl<'de> serde::de::Visitor<'de> for Visitor {
870 type Value = __FieldTag;
871 fn expecting(
872 &self,
873 formatter: &mut std::fmt::Formatter,
874 ) -> std::fmt::Result {
875 formatter.write_str("a field name for StateError")
876 }
877 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
878 where
879 E: serde::de::Error,
880 {
881 use std::result::Result::Ok;
882 use std::string::ToString;
883 match value {
884 "details" => Ok(__FieldTag::__details),
885 "type" => Ok(__FieldTag::__type),
886 _ => Ok(__FieldTag::Unknown(value.to_string())),
887 }
888 }
889 }
890 deserializer.deserialize_identifier(Visitor)
891 }
892 }
893 struct Visitor;
894 impl<'de> serde::de::Visitor<'de> for Visitor {
895 type Value = StateError;
896 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
897 formatter.write_str("struct StateError")
898 }
899 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
900 where
901 A: serde::de::MapAccess<'de>,
902 {
903 #[allow(unused_imports)]
904 use serde::de::Error;
905 use std::option::Option::Some;
906 let mut fields = std::collections::HashSet::new();
907 let mut result = Self::Value::new();
908 while let Some(tag) = map.next_key::<__FieldTag>()? {
909 #[allow(clippy::match_single_binding)]
910 match tag {
911 __FieldTag::__details => {
912 if !fields.insert(__FieldTag::__details) {
913 return std::result::Result::Err(A::Error::duplicate_field(
914 "multiple values for details",
915 ));
916 }
917 result.details = map
918 .next_value::<std::option::Option<std::string::String>>()?
919 .unwrap_or_default();
920 }
921 __FieldTag::__type => {
922 if !fields.insert(__FieldTag::__type) {
923 return std::result::Result::Err(A::Error::duplicate_field(
924 "multiple values for type",
925 ));
926 }
927 result.r#type =
928 map.next_value::<std::option::Option<
929 crate::model::workflow::state_error::Type,
930 >>()?
931 .unwrap_or_default();
932 }
933 __FieldTag::Unknown(key) => {
934 let value = map.next_value::<serde_json::Value>()?;
935 result._unknown_fields.insert(key, value);
936 }
937 }
938 }
939 std::result::Result::Ok(result)
940 }
941 }
942 deserializer.deserialize_any(Visitor)
943 }
944 }
945
946 #[doc(hidden)]
947 impl serde::ser::Serialize for StateError {
948 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
949 where
950 S: serde::ser::Serializer,
951 {
952 use serde::ser::SerializeMap;
953 #[allow(unused_imports)]
954 use std::option::Option::Some;
955 let mut state = serializer.serialize_map(std::option::Option::None)?;
956 if !self.details.is_empty() {
957 state.serialize_entry("details", &self.details)?;
958 }
959 if !wkt::internal::is_default(&self.r#type) {
960 state.serialize_entry("type", &self.r#type)?;
961 }
962 if !self._unknown_fields.is_empty() {
963 for (key, value) in self._unknown_fields.iter() {
964 state.serialize_entry(key, &value)?;
965 }
966 }
967 state.end()
968 }
969 }
970
971 pub mod state_error {
973 #[allow(unused_imports)]
974 use super::*;
975
976 #[derive(Clone, Debug, PartialEq)]
992 #[non_exhaustive]
993 pub enum Type {
994 Unspecified,
996 KmsError,
998 UnknownValue(r#type::UnknownValue),
1003 }
1004
1005 #[doc(hidden)]
1006 pub mod r#type {
1007 #[allow(unused_imports)]
1008 use super::*;
1009 #[derive(Clone, Debug, PartialEq)]
1010 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1011 }
1012
1013 impl Type {
1014 pub fn value(&self) -> std::option::Option<i32> {
1019 match self {
1020 Self::Unspecified => std::option::Option::Some(0),
1021 Self::KmsError => std::option::Option::Some(1),
1022 Self::UnknownValue(u) => u.0.value(),
1023 }
1024 }
1025
1026 pub fn name(&self) -> std::option::Option<&str> {
1031 match self {
1032 Self::Unspecified => std::option::Option::Some("TYPE_UNSPECIFIED"),
1033 Self::KmsError => std::option::Option::Some("KMS_ERROR"),
1034 Self::UnknownValue(u) => u.0.name(),
1035 }
1036 }
1037 }
1038
1039 impl std::default::Default for Type {
1040 fn default() -> Self {
1041 use std::convert::From;
1042 Self::from(0)
1043 }
1044 }
1045
1046 impl std::fmt::Display for Type {
1047 fn fmt(
1048 &self,
1049 f: &mut std::fmt::Formatter<'_>,
1050 ) -> std::result::Result<(), std::fmt::Error> {
1051 wkt::internal::display_enum(f, self.name(), self.value())
1052 }
1053 }
1054
1055 impl std::convert::From<i32> for Type {
1056 fn from(value: i32) -> Self {
1057 match value {
1058 0 => Self::Unspecified,
1059 1 => Self::KmsError,
1060 _ => Self::UnknownValue(r#type::UnknownValue(
1061 wkt::internal::UnknownEnumValue::Integer(value),
1062 )),
1063 }
1064 }
1065 }
1066
1067 impl std::convert::From<&str> for Type {
1068 fn from(value: &str) -> Self {
1069 use std::string::ToString;
1070 match value {
1071 "TYPE_UNSPECIFIED" => Self::Unspecified,
1072 "KMS_ERROR" => Self::KmsError,
1073 _ => Self::UnknownValue(r#type::UnknownValue(
1074 wkt::internal::UnknownEnumValue::String(value.to_string()),
1075 )),
1076 }
1077 }
1078 }
1079
1080 impl serde::ser::Serialize for Type {
1081 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1082 where
1083 S: serde::Serializer,
1084 {
1085 match self {
1086 Self::Unspecified => serializer.serialize_i32(0),
1087 Self::KmsError => serializer.serialize_i32(1),
1088 Self::UnknownValue(u) => u.0.serialize(serializer),
1089 }
1090 }
1091 }
1092
1093 impl<'de> serde::de::Deserialize<'de> for Type {
1094 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1095 where
1096 D: serde::Deserializer<'de>,
1097 {
1098 deserializer.deserialize_any(wkt::internal::EnumVisitor::<Type>::new(
1099 ".google.cloud.workflows.v1.Workflow.StateError.Type",
1100 ))
1101 }
1102 }
1103 }
1104
1105 #[derive(Clone, Debug, PartialEq)]
1121 #[non_exhaustive]
1122 pub enum State {
1123 Unspecified,
1125 Active,
1127 Unavailable,
1129 UnknownValue(state::UnknownValue),
1134 }
1135
1136 #[doc(hidden)]
1137 pub mod state {
1138 #[allow(unused_imports)]
1139 use super::*;
1140 #[derive(Clone, Debug, PartialEq)]
1141 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1142 }
1143
1144 impl State {
1145 pub fn value(&self) -> std::option::Option<i32> {
1150 match self {
1151 Self::Unspecified => std::option::Option::Some(0),
1152 Self::Active => std::option::Option::Some(1),
1153 Self::Unavailable => std::option::Option::Some(2),
1154 Self::UnknownValue(u) => u.0.value(),
1155 }
1156 }
1157
1158 pub fn name(&self) -> std::option::Option<&str> {
1163 match self {
1164 Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
1165 Self::Active => std::option::Option::Some("ACTIVE"),
1166 Self::Unavailable => std::option::Option::Some("UNAVAILABLE"),
1167 Self::UnknownValue(u) => u.0.name(),
1168 }
1169 }
1170 }
1171
1172 impl std::default::Default for State {
1173 fn default() -> Self {
1174 use std::convert::From;
1175 Self::from(0)
1176 }
1177 }
1178
1179 impl std::fmt::Display for State {
1180 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
1181 wkt::internal::display_enum(f, self.name(), self.value())
1182 }
1183 }
1184
1185 impl std::convert::From<i32> for State {
1186 fn from(value: i32) -> Self {
1187 match value {
1188 0 => Self::Unspecified,
1189 1 => Self::Active,
1190 2 => Self::Unavailable,
1191 _ => Self::UnknownValue(state::UnknownValue(
1192 wkt::internal::UnknownEnumValue::Integer(value),
1193 )),
1194 }
1195 }
1196 }
1197
1198 impl std::convert::From<&str> for State {
1199 fn from(value: &str) -> Self {
1200 use std::string::ToString;
1201 match value {
1202 "STATE_UNSPECIFIED" => Self::Unspecified,
1203 "ACTIVE" => Self::Active,
1204 "UNAVAILABLE" => Self::Unavailable,
1205 _ => Self::UnknownValue(state::UnknownValue(
1206 wkt::internal::UnknownEnumValue::String(value.to_string()),
1207 )),
1208 }
1209 }
1210 }
1211
1212 impl serde::ser::Serialize for State {
1213 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1214 where
1215 S: serde::Serializer,
1216 {
1217 match self {
1218 Self::Unspecified => serializer.serialize_i32(0),
1219 Self::Active => serializer.serialize_i32(1),
1220 Self::Unavailable => serializer.serialize_i32(2),
1221 Self::UnknownValue(u) => u.0.serialize(serializer),
1222 }
1223 }
1224 }
1225
1226 impl<'de> serde::de::Deserialize<'de> for State {
1227 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1228 where
1229 D: serde::Deserializer<'de>,
1230 {
1231 deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
1232 ".google.cloud.workflows.v1.Workflow.State",
1233 ))
1234 }
1235 }
1236
1237 #[derive(Clone, Debug, PartialEq)]
1254 #[non_exhaustive]
1255 pub enum CallLogLevel {
1256 Unspecified,
1258 LogAllCalls,
1261 LogErrorsOnly,
1263 LogNone,
1265 UnknownValue(call_log_level::UnknownValue),
1270 }
1271
1272 #[doc(hidden)]
1273 pub mod call_log_level {
1274 #[allow(unused_imports)]
1275 use super::*;
1276 #[derive(Clone, Debug, PartialEq)]
1277 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1278 }
1279
1280 impl CallLogLevel {
1281 pub fn value(&self) -> std::option::Option<i32> {
1286 match self {
1287 Self::Unspecified => std::option::Option::Some(0),
1288 Self::LogAllCalls => std::option::Option::Some(1),
1289 Self::LogErrorsOnly => std::option::Option::Some(2),
1290 Self::LogNone => std::option::Option::Some(3),
1291 Self::UnknownValue(u) => u.0.value(),
1292 }
1293 }
1294
1295 pub fn name(&self) -> std::option::Option<&str> {
1300 match self {
1301 Self::Unspecified => std::option::Option::Some("CALL_LOG_LEVEL_UNSPECIFIED"),
1302 Self::LogAllCalls => std::option::Option::Some("LOG_ALL_CALLS"),
1303 Self::LogErrorsOnly => std::option::Option::Some("LOG_ERRORS_ONLY"),
1304 Self::LogNone => std::option::Option::Some("LOG_NONE"),
1305 Self::UnknownValue(u) => u.0.name(),
1306 }
1307 }
1308 }
1309
1310 impl std::default::Default for CallLogLevel {
1311 fn default() -> Self {
1312 use std::convert::From;
1313 Self::from(0)
1314 }
1315 }
1316
1317 impl std::fmt::Display for CallLogLevel {
1318 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
1319 wkt::internal::display_enum(f, self.name(), self.value())
1320 }
1321 }
1322
1323 impl std::convert::From<i32> for CallLogLevel {
1324 fn from(value: i32) -> Self {
1325 match value {
1326 0 => Self::Unspecified,
1327 1 => Self::LogAllCalls,
1328 2 => Self::LogErrorsOnly,
1329 3 => Self::LogNone,
1330 _ => Self::UnknownValue(call_log_level::UnknownValue(
1331 wkt::internal::UnknownEnumValue::Integer(value),
1332 )),
1333 }
1334 }
1335 }
1336
1337 impl std::convert::From<&str> for CallLogLevel {
1338 fn from(value: &str) -> Self {
1339 use std::string::ToString;
1340 match value {
1341 "CALL_LOG_LEVEL_UNSPECIFIED" => Self::Unspecified,
1342 "LOG_ALL_CALLS" => Self::LogAllCalls,
1343 "LOG_ERRORS_ONLY" => Self::LogErrorsOnly,
1344 "LOG_NONE" => Self::LogNone,
1345 _ => Self::UnknownValue(call_log_level::UnknownValue(
1346 wkt::internal::UnknownEnumValue::String(value.to_string()),
1347 )),
1348 }
1349 }
1350 }
1351
1352 impl serde::ser::Serialize for CallLogLevel {
1353 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1354 where
1355 S: serde::Serializer,
1356 {
1357 match self {
1358 Self::Unspecified => serializer.serialize_i32(0),
1359 Self::LogAllCalls => serializer.serialize_i32(1),
1360 Self::LogErrorsOnly => serializer.serialize_i32(2),
1361 Self::LogNone => serializer.serialize_i32(3),
1362 Self::UnknownValue(u) => u.0.serialize(serializer),
1363 }
1364 }
1365 }
1366
1367 impl<'de> serde::de::Deserialize<'de> for CallLogLevel {
1368 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1369 where
1370 D: serde::Deserializer<'de>,
1371 {
1372 deserializer.deserialize_any(wkt::internal::EnumVisitor::<CallLogLevel>::new(
1373 ".google.cloud.workflows.v1.Workflow.CallLogLevel",
1374 ))
1375 }
1376 }
1377
1378 #[derive(Clone, Debug, PartialEq)]
1382 #[non_exhaustive]
1383 pub enum SourceCode {
1384 SourceContents(std::string::String),
1386 }
1387}
1388
1389#[derive(Clone, Debug, Default, PartialEq)]
1395#[non_exhaustive]
1396pub struct ListWorkflowsRequest {
1397 pub parent: std::string::String,
1400
1401 pub page_size: i32,
1406
1407 pub page_token: std::string::String,
1413
1414 pub filter: std::string::String,
1426
1427 pub order_by: std::string::String,
1432
1433 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1434}
1435
1436impl ListWorkflowsRequest {
1437 pub fn new() -> Self {
1438 std::default::Default::default()
1439 }
1440
1441 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1443 self.parent = v.into();
1444 self
1445 }
1446
1447 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
1449 self.page_size = v.into();
1450 self
1451 }
1452
1453 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1455 self.page_token = v.into();
1456 self
1457 }
1458
1459 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1461 self.filter = v.into();
1462 self
1463 }
1464
1465 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1467 self.order_by = v.into();
1468 self
1469 }
1470}
1471
1472impl wkt::message::Message for ListWorkflowsRequest {
1473 fn typename() -> &'static str {
1474 "type.googleapis.com/google.cloud.workflows.v1.ListWorkflowsRequest"
1475 }
1476}
1477
1478#[doc(hidden)]
1479impl<'de> serde::de::Deserialize<'de> for ListWorkflowsRequest {
1480 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1481 where
1482 D: serde::Deserializer<'de>,
1483 {
1484 #[allow(non_camel_case_types)]
1485 #[doc(hidden)]
1486 #[derive(PartialEq, Eq, Hash)]
1487 enum __FieldTag {
1488 __parent,
1489 __page_size,
1490 __page_token,
1491 __filter,
1492 __order_by,
1493 Unknown(std::string::String),
1494 }
1495 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1496 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1497 where
1498 D: serde::Deserializer<'de>,
1499 {
1500 struct Visitor;
1501 impl<'de> serde::de::Visitor<'de> for Visitor {
1502 type Value = __FieldTag;
1503 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1504 formatter.write_str("a field name for ListWorkflowsRequest")
1505 }
1506 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1507 where
1508 E: serde::de::Error,
1509 {
1510 use std::result::Result::Ok;
1511 use std::string::ToString;
1512 match value {
1513 "parent" => Ok(__FieldTag::__parent),
1514 "pageSize" => Ok(__FieldTag::__page_size),
1515 "page_size" => Ok(__FieldTag::__page_size),
1516 "pageToken" => Ok(__FieldTag::__page_token),
1517 "page_token" => Ok(__FieldTag::__page_token),
1518 "filter" => Ok(__FieldTag::__filter),
1519 "orderBy" => Ok(__FieldTag::__order_by),
1520 "order_by" => Ok(__FieldTag::__order_by),
1521 _ => Ok(__FieldTag::Unknown(value.to_string())),
1522 }
1523 }
1524 }
1525 deserializer.deserialize_identifier(Visitor)
1526 }
1527 }
1528 struct Visitor;
1529 impl<'de> serde::de::Visitor<'de> for Visitor {
1530 type Value = ListWorkflowsRequest;
1531 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1532 formatter.write_str("struct ListWorkflowsRequest")
1533 }
1534 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1535 where
1536 A: serde::de::MapAccess<'de>,
1537 {
1538 #[allow(unused_imports)]
1539 use serde::de::Error;
1540 use std::option::Option::Some;
1541 let mut fields = std::collections::HashSet::new();
1542 let mut result = Self::Value::new();
1543 while let Some(tag) = map.next_key::<__FieldTag>()? {
1544 #[allow(clippy::match_single_binding)]
1545 match tag {
1546 __FieldTag::__parent => {
1547 if !fields.insert(__FieldTag::__parent) {
1548 return std::result::Result::Err(A::Error::duplicate_field(
1549 "multiple values for parent",
1550 ));
1551 }
1552 result.parent = map
1553 .next_value::<std::option::Option<std::string::String>>()?
1554 .unwrap_or_default();
1555 }
1556 __FieldTag::__page_size => {
1557 if !fields.insert(__FieldTag::__page_size) {
1558 return std::result::Result::Err(A::Error::duplicate_field(
1559 "multiple values for page_size",
1560 ));
1561 }
1562 struct __With(std::option::Option<i32>);
1563 impl<'de> serde::de::Deserialize<'de> for __With {
1564 fn deserialize<D>(
1565 deserializer: D,
1566 ) -> std::result::Result<Self, D::Error>
1567 where
1568 D: serde::de::Deserializer<'de>,
1569 {
1570 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
1571 }
1572 }
1573 result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
1574 }
1575 __FieldTag::__page_token => {
1576 if !fields.insert(__FieldTag::__page_token) {
1577 return std::result::Result::Err(A::Error::duplicate_field(
1578 "multiple values for page_token",
1579 ));
1580 }
1581 result.page_token = map
1582 .next_value::<std::option::Option<std::string::String>>()?
1583 .unwrap_or_default();
1584 }
1585 __FieldTag::__filter => {
1586 if !fields.insert(__FieldTag::__filter) {
1587 return std::result::Result::Err(A::Error::duplicate_field(
1588 "multiple values for filter",
1589 ));
1590 }
1591 result.filter = map
1592 .next_value::<std::option::Option<std::string::String>>()?
1593 .unwrap_or_default();
1594 }
1595 __FieldTag::__order_by => {
1596 if !fields.insert(__FieldTag::__order_by) {
1597 return std::result::Result::Err(A::Error::duplicate_field(
1598 "multiple values for order_by",
1599 ));
1600 }
1601 result.order_by = map
1602 .next_value::<std::option::Option<std::string::String>>()?
1603 .unwrap_or_default();
1604 }
1605 __FieldTag::Unknown(key) => {
1606 let value = map.next_value::<serde_json::Value>()?;
1607 result._unknown_fields.insert(key, value);
1608 }
1609 }
1610 }
1611 std::result::Result::Ok(result)
1612 }
1613 }
1614 deserializer.deserialize_any(Visitor)
1615 }
1616}
1617
1618#[doc(hidden)]
1619impl serde::ser::Serialize for ListWorkflowsRequest {
1620 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1621 where
1622 S: serde::ser::Serializer,
1623 {
1624 use serde::ser::SerializeMap;
1625 #[allow(unused_imports)]
1626 use std::option::Option::Some;
1627 let mut state = serializer.serialize_map(std::option::Option::None)?;
1628 if !self.parent.is_empty() {
1629 state.serialize_entry("parent", &self.parent)?;
1630 }
1631 if !wkt::internal::is_default(&self.page_size) {
1632 struct __With<'a>(&'a i32);
1633 impl<'a> serde::ser::Serialize for __With<'a> {
1634 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1635 where
1636 S: serde::ser::Serializer,
1637 {
1638 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
1639 }
1640 }
1641 state.serialize_entry("pageSize", &__With(&self.page_size))?;
1642 }
1643 if !self.page_token.is_empty() {
1644 state.serialize_entry("pageToken", &self.page_token)?;
1645 }
1646 if !self.filter.is_empty() {
1647 state.serialize_entry("filter", &self.filter)?;
1648 }
1649 if !self.order_by.is_empty() {
1650 state.serialize_entry("orderBy", &self.order_by)?;
1651 }
1652 if !self._unknown_fields.is_empty() {
1653 for (key, value) in self._unknown_fields.iter() {
1654 state.serialize_entry(key, &value)?;
1655 }
1656 }
1657 state.end()
1658 }
1659}
1660
1661#[derive(Clone, Debug, Default, PartialEq)]
1667#[non_exhaustive]
1668pub struct ListWorkflowsResponse {
1669 pub workflows: std::vec::Vec<crate::model::Workflow>,
1671
1672 pub next_page_token: std::string::String,
1675
1676 pub unreachable: std::vec::Vec<std::string::String>,
1678
1679 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1680}
1681
1682impl ListWorkflowsResponse {
1683 pub fn new() -> Self {
1684 std::default::Default::default()
1685 }
1686
1687 pub fn set_workflows<T, V>(mut self, v: T) -> Self
1689 where
1690 T: std::iter::IntoIterator<Item = V>,
1691 V: std::convert::Into<crate::model::Workflow>,
1692 {
1693 use std::iter::Iterator;
1694 self.workflows = v.into_iter().map(|i| i.into()).collect();
1695 self
1696 }
1697
1698 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1700 self.next_page_token = v.into();
1701 self
1702 }
1703
1704 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
1706 where
1707 T: std::iter::IntoIterator<Item = V>,
1708 V: std::convert::Into<std::string::String>,
1709 {
1710 use std::iter::Iterator;
1711 self.unreachable = v.into_iter().map(|i| i.into()).collect();
1712 self
1713 }
1714}
1715
1716impl wkt::message::Message for ListWorkflowsResponse {
1717 fn typename() -> &'static str {
1718 "type.googleapis.com/google.cloud.workflows.v1.ListWorkflowsResponse"
1719 }
1720}
1721
1722#[doc(hidden)]
1723impl gax::paginator::internal::PageableResponse for ListWorkflowsResponse {
1724 type PageItem = crate::model::Workflow;
1725
1726 fn items(self) -> std::vec::Vec<Self::PageItem> {
1727 self.workflows
1728 }
1729
1730 fn next_page_token(&self) -> std::string::String {
1731 use std::clone::Clone;
1732 self.next_page_token.clone()
1733 }
1734}
1735
1736#[doc(hidden)]
1737impl<'de> serde::de::Deserialize<'de> for ListWorkflowsResponse {
1738 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1739 where
1740 D: serde::Deserializer<'de>,
1741 {
1742 #[allow(non_camel_case_types)]
1743 #[doc(hidden)]
1744 #[derive(PartialEq, Eq, Hash)]
1745 enum __FieldTag {
1746 __workflows,
1747 __next_page_token,
1748 __unreachable,
1749 Unknown(std::string::String),
1750 }
1751 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1752 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1753 where
1754 D: serde::Deserializer<'de>,
1755 {
1756 struct Visitor;
1757 impl<'de> serde::de::Visitor<'de> for Visitor {
1758 type Value = __FieldTag;
1759 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1760 formatter.write_str("a field name for ListWorkflowsResponse")
1761 }
1762 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1763 where
1764 E: serde::de::Error,
1765 {
1766 use std::result::Result::Ok;
1767 use std::string::ToString;
1768 match value {
1769 "workflows" => Ok(__FieldTag::__workflows),
1770 "nextPageToken" => Ok(__FieldTag::__next_page_token),
1771 "next_page_token" => Ok(__FieldTag::__next_page_token),
1772 "unreachable" => Ok(__FieldTag::__unreachable),
1773 _ => Ok(__FieldTag::Unknown(value.to_string())),
1774 }
1775 }
1776 }
1777 deserializer.deserialize_identifier(Visitor)
1778 }
1779 }
1780 struct Visitor;
1781 impl<'de> serde::de::Visitor<'de> for Visitor {
1782 type Value = ListWorkflowsResponse;
1783 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1784 formatter.write_str("struct ListWorkflowsResponse")
1785 }
1786 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1787 where
1788 A: serde::de::MapAccess<'de>,
1789 {
1790 #[allow(unused_imports)]
1791 use serde::de::Error;
1792 use std::option::Option::Some;
1793 let mut fields = std::collections::HashSet::new();
1794 let mut result = Self::Value::new();
1795 while let Some(tag) = map.next_key::<__FieldTag>()? {
1796 #[allow(clippy::match_single_binding)]
1797 match tag {
1798 __FieldTag::__workflows => {
1799 if !fields.insert(__FieldTag::__workflows) {
1800 return std::result::Result::Err(A::Error::duplicate_field(
1801 "multiple values for workflows",
1802 ));
1803 }
1804 result.workflows = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Workflow>>>()?.unwrap_or_default();
1805 }
1806 __FieldTag::__next_page_token => {
1807 if !fields.insert(__FieldTag::__next_page_token) {
1808 return std::result::Result::Err(A::Error::duplicate_field(
1809 "multiple values for next_page_token",
1810 ));
1811 }
1812 result.next_page_token = map
1813 .next_value::<std::option::Option<std::string::String>>()?
1814 .unwrap_or_default();
1815 }
1816 __FieldTag::__unreachable => {
1817 if !fields.insert(__FieldTag::__unreachable) {
1818 return std::result::Result::Err(A::Error::duplicate_field(
1819 "multiple values for unreachable",
1820 ));
1821 }
1822 result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
1823 }
1824 __FieldTag::Unknown(key) => {
1825 let value = map.next_value::<serde_json::Value>()?;
1826 result._unknown_fields.insert(key, value);
1827 }
1828 }
1829 }
1830 std::result::Result::Ok(result)
1831 }
1832 }
1833 deserializer.deserialize_any(Visitor)
1834 }
1835}
1836
1837#[doc(hidden)]
1838impl serde::ser::Serialize for ListWorkflowsResponse {
1839 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1840 where
1841 S: serde::ser::Serializer,
1842 {
1843 use serde::ser::SerializeMap;
1844 #[allow(unused_imports)]
1845 use std::option::Option::Some;
1846 let mut state = serializer.serialize_map(std::option::Option::None)?;
1847 if !self.workflows.is_empty() {
1848 state.serialize_entry("workflows", &self.workflows)?;
1849 }
1850 if !self.next_page_token.is_empty() {
1851 state.serialize_entry("nextPageToken", &self.next_page_token)?;
1852 }
1853 if !self.unreachable.is_empty() {
1854 state.serialize_entry("unreachable", &self.unreachable)?;
1855 }
1856 if !self._unknown_fields.is_empty() {
1857 for (key, value) in self._unknown_fields.iter() {
1858 state.serialize_entry(key, &value)?;
1859 }
1860 }
1861 state.end()
1862 }
1863}
1864
1865#[derive(Clone, Debug, Default, PartialEq)]
1870#[non_exhaustive]
1871pub struct GetWorkflowRequest {
1872 pub name: std::string::String,
1875
1876 pub revision_id: std::string::String,
1882
1883 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1884}
1885
1886impl GetWorkflowRequest {
1887 pub fn new() -> Self {
1888 std::default::Default::default()
1889 }
1890
1891 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1893 self.name = v.into();
1894 self
1895 }
1896
1897 pub fn set_revision_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1899 self.revision_id = v.into();
1900 self
1901 }
1902}
1903
1904impl wkt::message::Message for GetWorkflowRequest {
1905 fn typename() -> &'static str {
1906 "type.googleapis.com/google.cloud.workflows.v1.GetWorkflowRequest"
1907 }
1908}
1909
1910#[doc(hidden)]
1911impl<'de> serde::de::Deserialize<'de> for GetWorkflowRequest {
1912 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1913 where
1914 D: serde::Deserializer<'de>,
1915 {
1916 #[allow(non_camel_case_types)]
1917 #[doc(hidden)]
1918 #[derive(PartialEq, Eq, Hash)]
1919 enum __FieldTag {
1920 __name,
1921 __revision_id,
1922 Unknown(std::string::String),
1923 }
1924 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1925 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1926 where
1927 D: serde::Deserializer<'de>,
1928 {
1929 struct Visitor;
1930 impl<'de> serde::de::Visitor<'de> for Visitor {
1931 type Value = __FieldTag;
1932 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1933 formatter.write_str("a field name for GetWorkflowRequest")
1934 }
1935 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1936 where
1937 E: serde::de::Error,
1938 {
1939 use std::result::Result::Ok;
1940 use std::string::ToString;
1941 match value {
1942 "name" => Ok(__FieldTag::__name),
1943 "revisionId" => Ok(__FieldTag::__revision_id),
1944 "revision_id" => Ok(__FieldTag::__revision_id),
1945 _ => Ok(__FieldTag::Unknown(value.to_string())),
1946 }
1947 }
1948 }
1949 deserializer.deserialize_identifier(Visitor)
1950 }
1951 }
1952 struct Visitor;
1953 impl<'de> serde::de::Visitor<'de> for Visitor {
1954 type Value = GetWorkflowRequest;
1955 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1956 formatter.write_str("struct GetWorkflowRequest")
1957 }
1958 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1959 where
1960 A: serde::de::MapAccess<'de>,
1961 {
1962 #[allow(unused_imports)]
1963 use serde::de::Error;
1964 use std::option::Option::Some;
1965 let mut fields = std::collections::HashSet::new();
1966 let mut result = Self::Value::new();
1967 while let Some(tag) = map.next_key::<__FieldTag>()? {
1968 #[allow(clippy::match_single_binding)]
1969 match tag {
1970 __FieldTag::__name => {
1971 if !fields.insert(__FieldTag::__name) {
1972 return std::result::Result::Err(A::Error::duplicate_field(
1973 "multiple values for name",
1974 ));
1975 }
1976 result.name = map
1977 .next_value::<std::option::Option<std::string::String>>()?
1978 .unwrap_or_default();
1979 }
1980 __FieldTag::__revision_id => {
1981 if !fields.insert(__FieldTag::__revision_id) {
1982 return std::result::Result::Err(A::Error::duplicate_field(
1983 "multiple values for revision_id",
1984 ));
1985 }
1986 result.revision_id = map
1987 .next_value::<std::option::Option<std::string::String>>()?
1988 .unwrap_or_default();
1989 }
1990 __FieldTag::Unknown(key) => {
1991 let value = map.next_value::<serde_json::Value>()?;
1992 result._unknown_fields.insert(key, value);
1993 }
1994 }
1995 }
1996 std::result::Result::Ok(result)
1997 }
1998 }
1999 deserializer.deserialize_any(Visitor)
2000 }
2001}
2002
2003#[doc(hidden)]
2004impl serde::ser::Serialize for GetWorkflowRequest {
2005 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2006 where
2007 S: serde::ser::Serializer,
2008 {
2009 use serde::ser::SerializeMap;
2010 #[allow(unused_imports)]
2011 use std::option::Option::Some;
2012 let mut state = serializer.serialize_map(std::option::Option::None)?;
2013 if !self.name.is_empty() {
2014 state.serialize_entry("name", &self.name)?;
2015 }
2016 if !self.revision_id.is_empty() {
2017 state.serialize_entry("revisionId", &self.revision_id)?;
2018 }
2019 if !self._unknown_fields.is_empty() {
2020 for (key, value) in self._unknown_fields.iter() {
2021 state.serialize_entry(key, &value)?;
2022 }
2023 }
2024 state.end()
2025 }
2026}
2027
2028#[derive(Clone, Debug, Default, PartialEq)]
2034#[non_exhaustive]
2035pub struct CreateWorkflowRequest {
2036 pub parent: std::string::String,
2039
2040 pub workflow: std::option::Option<crate::model::Workflow>,
2042
2043 pub workflow_id: std::string::String,
2052
2053 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2054}
2055
2056impl CreateWorkflowRequest {
2057 pub fn new() -> Self {
2058 std::default::Default::default()
2059 }
2060
2061 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2063 self.parent = v.into();
2064 self
2065 }
2066
2067 pub fn set_workflow<T>(mut self, v: T) -> Self
2069 where
2070 T: std::convert::Into<crate::model::Workflow>,
2071 {
2072 self.workflow = std::option::Option::Some(v.into());
2073 self
2074 }
2075
2076 pub fn set_or_clear_workflow<T>(mut self, v: std::option::Option<T>) -> Self
2078 where
2079 T: std::convert::Into<crate::model::Workflow>,
2080 {
2081 self.workflow = v.map(|x| x.into());
2082 self
2083 }
2084
2085 pub fn set_workflow_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2087 self.workflow_id = v.into();
2088 self
2089 }
2090}
2091
2092impl wkt::message::Message for CreateWorkflowRequest {
2093 fn typename() -> &'static str {
2094 "type.googleapis.com/google.cloud.workflows.v1.CreateWorkflowRequest"
2095 }
2096}
2097
2098#[doc(hidden)]
2099impl<'de> serde::de::Deserialize<'de> for CreateWorkflowRequest {
2100 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2101 where
2102 D: serde::Deserializer<'de>,
2103 {
2104 #[allow(non_camel_case_types)]
2105 #[doc(hidden)]
2106 #[derive(PartialEq, Eq, Hash)]
2107 enum __FieldTag {
2108 __parent,
2109 __workflow,
2110 __workflow_id,
2111 Unknown(std::string::String),
2112 }
2113 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2114 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2115 where
2116 D: serde::Deserializer<'de>,
2117 {
2118 struct Visitor;
2119 impl<'de> serde::de::Visitor<'de> for Visitor {
2120 type Value = __FieldTag;
2121 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2122 formatter.write_str("a field name for CreateWorkflowRequest")
2123 }
2124 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2125 where
2126 E: serde::de::Error,
2127 {
2128 use std::result::Result::Ok;
2129 use std::string::ToString;
2130 match value {
2131 "parent" => Ok(__FieldTag::__parent),
2132 "workflow" => Ok(__FieldTag::__workflow),
2133 "workflowId" => Ok(__FieldTag::__workflow_id),
2134 "workflow_id" => Ok(__FieldTag::__workflow_id),
2135 _ => Ok(__FieldTag::Unknown(value.to_string())),
2136 }
2137 }
2138 }
2139 deserializer.deserialize_identifier(Visitor)
2140 }
2141 }
2142 struct Visitor;
2143 impl<'de> serde::de::Visitor<'de> for Visitor {
2144 type Value = CreateWorkflowRequest;
2145 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2146 formatter.write_str("struct CreateWorkflowRequest")
2147 }
2148 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2149 where
2150 A: serde::de::MapAccess<'de>,
2151 {
2152 #[allow(unused_imports)]
2153 use serde::de::Error;
2154 use std::option::Option::Some;
2155 let mut fields = std::collections::HashSet::new();
2156 let mut result = Self::Value::new();
2157 while let Some(tag) = map.next_key::<__FieldTag>()? {
2158 #[allow(clippy::match_single_binding)]
2159 match tag {
2160 __FieldTag::__parent => {
2161 if !fields.insert(__FieldTag::__parent) {
2162 return std::result::Result::Err(A::Error::duplicate_field(
2163 "multiple values for parent",
2164 ));
2165 }
2166 result.parent = map
2167 .next_value::<std::option::Option<std::string::String>>()?
2168 .unwrap_or_default();
2169 }
2170 __FieldTag::__workflow => {
2171 if !fields.insert(__FieldTag::__workflow) {
2172 return std::result::Result::Err(A::Error::duplicate_field(
2173 "multiple values for workflow",
2174 ));
2175 }
2176 result.workflow =
2177 map.next_value::<std::option::Option<crate::model::Workflow>>()?;
2178 }
2179 __FieldTag::__workflow_id => {
2180 if !fields.insert(__FieldTag::__workflow_id) {
2181 return std::result::Result::Err(A::Error::duplicate_field(
2182 "multiple values for workflow_id",
2183 ));
2184 }
2185 result.workflow_id = map
2186 .next_value::<std::option::Option<std::string::String>>()?
2187 .unwrap_or_default();
2188 }
2189 __FieldTag::Unknown(key) => {
2190 let value = map.next_value::<serde_json::Value>()?;
2191 result._unknown_fields.insert(key, value);
2192 }
2193 }
2194 }
2195 std::result::Result::Ok(result)
2196 }
2197 }
2198 deserializer.deserialize_any(Visitor)
2199 }
2200}
2201
2202#[doc(hidden)]
2203impl serde::ser::Serialize for CreateWorkflowRequest {
2204 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2205 where
2206 S: serde::ser::Serializer,
2207 {
2208 use serde::ser::SerializeMap;
2209 #[allow(unused_imports)]
2210 use std::option::Option::Some;
2211 let mut state = serializer.serialize_map(std::option::Option::None)?;
2212 if !self.parent.is_empty() {
2213 state.serialize_entry("parent", &self.parent)?;
2214 }
2215 if self.workflow.is_some() {
2216 state.serialize_entry("workflow", &self.workflow)?;
2217 }
2218 if !self.workflow_id.is_empty() {
2219 state.serialize_entry("workflowId", &self.workflow_id)?;
2220 }
2221 if !self._unknown_fields.is_empty() {
2222 for (key, value) in self._unknown_fields.iter() {
2223 state.serialize_entry(key, &value)?;
2224 }
2225 }
2226 state.end()
2227 }
2228}
2229
2230#[derive(Clone, Debug, Default, PartialEq)]
2236#[non_exhaustive]
2237pub struct DeleteWorkflowRequest {
2238 pub name: std::string::String,
2241
2242 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2243}
2244
2245impl DeleteWorkflowRequest {
2246 pub fn new() -> Self {
2247 std::default::Default::default()
2248 }
2249
2250 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2252 self.name = v.into();
2253 self
2254 }
2255}
2256
2257impl wkt::message::Message for DeleteWorkflowRequest {
2258 fn typename() -> &'static str {
2259 "type.googleapis.com/google.cloud.workflows.v1.DeleteWorkflowRequest"
2260 }
2261}
2262
2263#[doc(hidden)]
2264impl<'de> serde::de::Deserialize<'de> for DeleteWorkflowRequest {
2265 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2266 where
2267 D: serde::Deserializer<'de>,
2268 {
2269 #[allow(non_camel_case_types)]
2270 #[doc(hidden)]
2271 #[derive(PartialEq, Eq, Hash)]
2272 enum __FieldTag {
2273 __name,
2274 Unknown(std::string::String),
2275 }
2276 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2277 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2278 where
2279 D: serde::Deserializer<'de>,
2280 {
2281 struct Visitor;
2282 impl<'de> serde::de::Visitor<'de> for Visitor {
2283 type Value = __FieldTag;
2284 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2285 formatter.write_str("a field name for DeleteWorkflowRequest")
2286 }
2287 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2288 where
2289 E: serde::de::Error,
2290 {
2291 use std::result::Result::Ok;
2292 use std::string::ToString;
2293 match value {
2294 "name" => Ok(__FieldTag::__name),
2295 _ => Ok(__FieldTag::Unknown(value.to_string())),
2296 }
2297 }
2298 }
2299 deserializer.deserialize_identifier(Visitor)
2300 }
2301 }
2302 struct Visitor;
2303 impl<'de> serde::de::Visitor<'de> for Visitor {
2304 type Value = DeleteWorkflowRequest;
2305 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2306 formatter.write_str("struct DeleteWorkflowRequest")
2307 }
2308 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2309 where
2310 A: serde::de::MapAccess<'de>,
2311 {
2312 #[allow(unused_imports)]
2313 use serde::de::Error;
2314 use std::option::Option::Some;
2315 let mut fields = std::collections::HashSet::new();
2316 let mut result = Self::Value::new();
2317 while let Some(tag) = map.next_key::<__FieldTag>()? {
2318 #[allow(clippy::match_single_binding)]
2319 match tag {
2320 __FieldTag::__name => {
2321 if !fields.insert(__FieldTag::__name) {
2322 return std::result::Result::Err(A::Error::duplicate_field(
2323 "multiple values for name",
2324 ));
2325 }
2326 result.name = map
2327 .next_value::<std::option::Option<std::string::String>>()?
2328 .unwrap_or_default();
2329 }
2330 __FieldTag::Unknown(key) => {
2331 let value = map.next_value::<serde_json::Value>()?;
2332 result._unknown_fields.insert(key, value);
2333 }
2334 }
2335 }
2336 std::result::Result::Ok(result)
2337 }
2338 }
2339 deserializer.deserialize_any(Visitor)
2340 }
2341}
2342
2343#[doc(hidden)]
2344impl serde::ser::Serialize for DeleteWorkflowRequest {
2345 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2346 where
2347 S: serde::ser::Serializer,
2348 {
2349 use serde::ser::SerializeMap;
2350 #[allow(unused_imports)]
2351 use std::option::Option::Some;
2352 let mut state = serializer.serialize_map(std::option::Option::None)?;
2353 if !self.name.is_empty() {
2354 state.serialize_entry("name", &self.name)?;
2355 }
2356 if !self._unknown_fields.is_empty() {
2357 for (key, value) in self._unknown_fields.iter() {
2358 state.serialize_entry(key, &value)?;
2359 }
2360 }
2361 state.end()
2362 }
2363}
2364
2365#[derive(Clone, Debug, Default, PartialEq)]
2371#[non_exhaustive]
2372pub struct UpdateWorkflowRequest {
2373 pub workflow: std::option::Option<crate::model::Workflow>,
2375
2376 pub update_mask: std::option::Option<wkt::FieldMask>,
2379
2380 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2381}
2382
2383impl UpdateWorkflowRequest {
2384 pub fn new() -> Self {
2385 std::default::Default::default()
2386 }
2387
2388 pub fn set_workflow<T>(mut self, v: T) -> Self
2390 where
2391 T: std::convert::Into<crate::model::Workflow>,
2392 {
2393 self.workflow = std::option::Option::Some(v.into());
2394 self
2395 }
2396
2397 pub fn set_or_clear_workflow<T>(mut self, v: std::option::Option<T>) -> Self
2399 where
2400 T: std::convert::Into<crate::model::Workflow>,
2401 {
2402 self.workflow = v.map(|x| x.into());
2403 self
2404 }
2405
2406 pub fn set_update_mask<T>(mut self, v: T) -> Self
2408 where
2409 T: std::convert::Into<wkt::FieldMask>,
2410 {
2411 self.update_mask = std::option::Option::Some(v.into());
2412 self
2413 }
2414
2415 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
2417 where
2418 T: std::convert::Into<wkt::FieldMask>,
2419 {
2420 self.update_mask = v.map(|x| x.into());
2421 self
2422 }
2423}
2424
2425impl wkt::message::Message for UpdateWorkflowRequest {
2426 fn typename() -> &'static str {
2427 "type.googleapis.com/google.cloud.workflows.v1.UpdateWorkflowRequest"
2428 }
2429}
2430
2431#[doc(hidden)]
2432impl<'de> serde::de::Deserialize<'de> for UpdateWorkflowRequest {
2433 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2434 where
2435 D: serde::Deserializer<'de>,
2436 {
2437 #[allow(non_camel_case_types)]
2438 #[doc(hidden)]
2439 #[derive(PartialEq, Eq, Hash)]
2440 enum __FieldTag {
2441 __workflow,
2442 __update_mask,
2443 Unknown(std::string::String),
2444 }
2445 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2446 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2447 where
2448 D: serde::Deserializer<'de>,
2449 {
2450 struct Visitor;
2451 impl<'de> serde::de::Visitor<'de> for Visitor {
2452 type Value = __FieldTag;
2453 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2454 formatter.write_str("a field name for UpdateWorkflowRequest")
2455 }
2456 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2457 where
2458 E: serde::de::Error,
2459 {
2460 use std::result::Result::Ok;
2461 use std::string::ToString;
2462 match value {
2463 "workflow" => Ok(__FieldTag::__workflow),
2464 "updateMask" => Ok(__FieldTag::__update_mask),
2465 "update_mask" => Ok(__FieldTag::__update_mask),
2466 _ => Ok(__FieldTag::Unknown(value.to_string())),
2467 }
2468 }
2469 }
2470 deserializer.deserialize_identifier(Visitor)
2471 }
2472 }
2473 struct Visitor;
2474 impl<'de> serde::de::Visitor<'de> for Visitor {
2475 type Value = UpdateWorkflowRequest;
2476 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2477 formatter.write_str("struct UpdateWorkflowRequest")
2478 }
2479 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2480 where
2481 A: serde::de::MapAccess<'de>,
2482 {
2483 #[allow(unused_imports)]
2484 use serde::de::Error;
2485 use std::option::Option::Some;
2486 let mut fields = std::collections::HashSet::new();
2487 let mut result = Self::Value::new();
2488 while let Some(tag) = map.next_key::<__FieldTag>()? {
2489 #[allow(clippy::match_single_binding)]
2490 match tag {
2491 __FieldTag::__workflow => {
2492 if !fields.insert(__FieldTag::__workflow) {
2493 return std::result::Result::Err(A::Error::duplicate_field(
2494 "multiple values for workflow",
2495 ));
2496 }
2497 result.workflow =
2498 map.next_value::<std::option::Option<crate::model::Workflow>>()?;
2499 }
2500 __FieldTag::__update_mask => {
2501 if !fields.insert(__FieldTag::__update_mask) {
2502 return std::result::Result::Err(A::Error::duplicate_field(
2503 "multiple values for update_mask",
2504 ));
2505 }
2506 result.update_mask =
2507 map.next_value::<std::option::Option<wkt::FieldMask>>()?;
2508 }
2509 __FieldTag::Unknown(key) => {
2510 let value = map.next_value::<serde_json::Value>()?;
2511 result._unknown_fields.insert(key, value);
2512 }
2513 }
2514 }
2515 std::result::Result::Ok(result)
2516 }
2517 }
2518 deserializer.deserialize_any(Visitor)
2519 }
2520}
2521
2522#[doc(hidden)]
2523impl serde::ser::Serialize for UpdateWorkflowRequest {
2524 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2525 where
2526 S: serde::ser::Serializer,
2527 {
2528 use serde::ser::SerializeMap;
2529 #[allow(unused_imports)]
2530 use std::option::Option::Some;
2531 let mut state = serializer.serialize_map(std::option::Option::None)?;
2532 if self.workflow.is_some() {
2533 state.serialize_entry("workflow", &self.workflow)?;
2534 }
2535 if self.update_mask.is_some() {
2536 state.serialize_entry("updateMask", &self.update_mask)?;
2537 }
2538 if !self._unknown_fields.is_empty() {
2539 for (key, value) in self._unknown_fields.iter() {
2540 state.serialize_entry(key, &value)?;
2541 }
2542 }
2543 state.end()
2544 }
2545}
2546
2547#[derive(Clone, Debug, Default, PartialEq)]
2549#[non_exhaustive]
2550pub struct OperationMetadata {
2551 pub create_time: std::option::Option<wkt::Timestamp>,
2553
2554 pub end_time: std::option::Option<wkt::Timestamp>,
2556
2557 pub target: std::string::String,
2559
2560 pub verb: std::string::String,
2562
2563 pub api_version: std::string::String,
2565
2566 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2567}
2568
2569impl OperationMetadata {
2570 pub fn new() -> Self {
2571 std::default::Default::default()
2572 }
2573
2574 pub fn set_create_time<T>(mut self, v: T) -> Self
2576 where
2577 T: std::convert::Into<wkt::Timestamp>,
2578 {
2579 self.create_time = std::option::Option::Some(v.into());
2580 self
2581 }
2582
2583 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
2585 where
2586 T: std::convert::Into<wkt::Timestamp>,
2587 {
2588 self.create_time = v.map(|x| x.into());
2589 self
2590 }
2591
2592 pub fn set_end_time<T>(mut self, v: T) -> Self
2594 where
2595 T: std::convert::Into<wkt::Timestamp>,
2596 {
2597 self.end_time = std::option::Option::Some(v.into());
2598 self
2599 }
2600
2601 pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
2603 where
2604 T: std::convert::Into<wkt::Timestamp>,
2605 {
2606 self.end_time = v.map(|x| x.into());
2607 self
2608 }
2609
2610 pub fn set_target<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2612 self.target = v.into();
2613 self
2614 }
2615
2616 pub fn set_verb<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2618 self.verb = v.into();
2619 self
2620 }
2621
2622 pub fn set_api_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2624 self.api_version = v.into();
2625 self
2626 }
2627}
2628
2629impl wkt::message::Message for OperationMetadata {
2630 fn typename() -> &'static str {
2631 "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata"
2632 }
2633}
2634
2635#[doc(hidden)]
2636impl<'de> serde::de::Deserialize<'de> for OperationMetadata {
2637 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2638 where
2639 D: serde::Deserializer<'de>,
2640 {
2641 #[allow(non_camel_case_types)]
2642 #[doc(hidden)]
2643 #[derive(PartialEq, Eq, Hash)]
2644 enum __FieldTag {
2645 __create_time,
2646 __end_time,
2647 __target,
2648 __verb,
2649 __api_version,
2650 Unknown(std::string::String),
2651 }
2652 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2653 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2654 where
2655 D: serde::Deserializer<'de>,
2656 {
2657 struct Visitor;
2658 impl<'de> serde::de::Visitor<'de> for Visitor {
2659 type Value = __FieldTag;
2660 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2661 formatter.write_str("a field name for OperationMetadata")
2662 }
2663 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2664 where
2665 E: serde::de::Error,
2666 {
2667 use std::result::Result::Ok;
2668 use std::string::ToString;
2669 match value {
2670 "createTime" => Ok(__FieldTag::__create_time),
2671 "create_time" => Ok(__FieldTag::__create_time),
2672 "endTime" => Ok(__FieldTag::__end_time),
2673 "end_time" => Ok(__FieldTag::__end_time),
2674 "target" => Ok(__FieldTag::__target),
2675 "verb" => Ok(__FieldTag::__verb),
2676 "apiVersion" => Ok(__FieldTag::__api_version),
2677 "api_version" => Ok(__FieldTag::__api_version),
2678 _ => Ok(__FieldTag::Unknown(value.to_string())),
2679 }
2680 }
2681 }
2682 deserializer.deserialize_identifier(Visitor)
2683 }
2684 }
2685 struct Visitor;
2686 impl<'de> serde::de::Visitor<'de> for Visitor {
2687 type Value = OperationMetadata;
2688 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2689 formatter.write_str("struct OperationMetadata")
2690 }
2691 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2692 where
2693 A: serde::de::MapAccess<'de>,
2694 {
2695 #[allow(unused_imports)]
2696 use serde::de::Error;
2697 use std::option::Option::Some;
2698 let mut fields = std::collections::HashSet::new();
2699 let mut result = Self::Value::new();
2700 while let Some(tag) = map.next_key::<__FieldTag>()? {
2701 #[allow(clippy::match_single_binding)]
2702 match tag {
2703 __FieldTag::__create_time => {
2704 if !fields.insert(__FieldTag::__create_time) {
2705 return std::result::Result::Err(A::Error::duplicate_field(
2706 "multiple values for create_time",
2707 ));
2708 }
2709 result.create_time =
2710 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
2711 }
2712 __FieldTag::__end_time => {
2713 if !fields.insert(__FieldTag::__end_time) {
2714 return std::result::Result::Err(A::Error::duplicate_field(
2715 "multiple values for end_time",
2716 ));
2717 }
2718 result.end_time =
2719 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
2720 }
2721 __FieldTag::__target => {
2722 if !fields.insert(__FieldTag::__target) {
2723 return std::result::Result::Err(A::Error::duplicate_field(
2724 "multiple values for target",
2725 ));
2726 }
2727 result.target = map
2728 .next_value::<std::option::Option<std::string::String>>()?
2729 .unwrap_or_default();
2730 }
2731 __FieldTag::__verb => {
2732 if !fields.insert(__FieldTag::__verb) {
2733 return std::result::Result::Err(A::Error::duplicate_field(
2734 "multiple values for verb",
2735 ));
2736 }
2737 result.verb = map
2738 .next_value::<std::option::Option<std::string::String>>()?
2739 .unwrap_or_default();
2740 }
2741 __FieldTag::__api_version => {
2742 if !fields.insert(__FieldTag::__api_version) {
2743 return std::result::Result::Err(A::Error::duplicate_field(
2744 "multiple values for api_version",
2745 ));
2746 }
2747 result.api_version = map
2748 .next_value::<std::option::Option<std::string::String>>()?
2749 .unwrap_or_default();
2750 }
2751 __FieldTag::Unknown(key) => {
2752 let value = map.next_value::<serde_json::Value>()?;
2753 result._unknown_fields.insert(key, value);
2754 }
2755 }
2756 }
2757 std::result::Result::Ok(result)
2758 }
2759 }
2760 deserializer.deserialize_any(Visitor)
2761 }
2762}
2763
2764#[doc(hidden)]
2765impl serde::ser::Serialize for OperationMetadata {
2766 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2767 where
2768 S: serde::ser::Serializer,
2769 {
2770 use serde::ser::SerializeMap;
2771 #[allow(unused_imports)]
2772 use std::option::Option::Some;
2773 let mut state = serializer.serialize_map(std::option::Option::None)?;
2774 if self.create_time.is_some() {
2775 state.serialize_entry("createTime", &self.create_time)?;
2776 }
2777 if self.end_time.is_some() {
2778 state.serialize_entry("endTime", &self.end_time)?;
2779 }
2780 if !self.target.is_empty() {
2781 state.serialize_entry("target", &self.target)?;
2782 }
2783 if !self.verb.is_empty() {
2784 state.serialize_entry("verb", &self.verb)?;
2785 }
2786 if !self.api_version.is_empty() {
2787 state.serialize_entry("apiVersion", &self.api_version)?;
2788 }
2789 if !self._unknown_fields.is_empty() {
2790 for (key, value) in self._unknown_fields.iter() {
2791 state.serialize_entry(key, &value)?;
2792 }
2793 }
2794 state.end()
2795 }
2796}
2797
2798#[derive(Clone, Debug, Default, PartialEq)]
2804#[non_exhaustive]
2805pub struct ListWorkflowRevisionsRequest {
2806 pub name: std::string::String,
2809
2810 pub page_size: i32,
2814
2815 pub page_token: std::string::String,
2818
2819 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2820}
2821
2822impl ListWorkflowRevisionsRequest {
2823 pub fn new() -> Self {
2824 std::default::Default::default()
2825 }
2826
2827 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2829 self.name = v.into();
2830 self
2831 }
2832
2833 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
2835 self.page_size = v.into();
2836 self
2837 }
2838
2839 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2841 self.page_token = v.into();
2842 self
2843 }
2844}
2845
2846impl wkt::message::Message for ListWorkflowRevisionsRequest {
2847 fn typename() -> &'static str {
2848 "type.googleapis.com/google.cloud.workflows.v1.ListWorkflowRevisionsRequest"
2849 }
2850}
2851
2852#[doc(hidden)]
2853impl<'de> serde::de::Deserialize<'de> for ListWorkflowRevisionsRequest {
2854 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2855 where
2856 D: serde::Deserializer<'de>,
2857 {
2858 #[allow(non_camel_case_types)]
2859 #[doc(hidden)]
2860 #[derive(PartialEq, Eq, Hash)]
2861 enum __FieldTag {
2862 __name,
2863 __page_size,
2864 __page_token,
2865 Unknown(std::string::String),
2866 }
2867 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2868 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2869 where
2870 D: serde::Deserializer<'de>,
2871 {
2872 struct Visitor;
2873 impl<'de> serde::de::Visitor<'de> for Visitor {
2874 type Value = __FieldTag;
2875 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2876 formatter.write_str("a field name for ListWorkflowRevisionsRequest")
2877 }
2878 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2879 where
2880 E: serde::de::Error,
2881 {
2882 use std::result::Result::Ok;
2883 use std::string::ToString;
2884 match value {
2885 "name" => Ok(__FieldTag::__name),
2886 "pageSize" => Ok(__FieldTag::__page_size),
2887 "page_size" => Ok(__FieldTag::__page_size),
2888 "pageToken" => Ok(__FieldTag::__page_token),
2889 "page_token" => Ok(__FieldTag::__page_token),
2890 _ => Ok(__FieldTag::Unknown(value.to_string())),
2891 }
2892 }
2893 }
2894 deserializer.deserialize_identifier(Visitor)
2895 }
2896 }
2897 struct Visitor;
2898 impl<'de> serde::de::Visitor<'de> for Visitor {
2899 type Value = ListWorkflowRevisionsRequest;
2900 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2901 formatter.write_str("struct ListWorkflowRevisionsRequest")
2902 }
2903 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2904 where
2905 A: serde::de::MapAccess<'de>,
2906 {
2907 #[allow(unused_imports)]
2908 use serde::de::Error;
2909 use std::option::Option::Some;
2910 let mut fields = std::collections::HashSet::new();
2911 let mut result = Self::Value::new();
2912 while let Some(tag) = map.next_key::<__FieldTag>()? {
2913 #[allow(clippy::match_single_binding)]
2914 match tag {
2915 __FieldTag::__name => {
2916 if !fields.insert(__FieldTag::__name) {
2917 return std::result::Result::Err(A::Error::duplicate_field(
2918 "multiple values for name",
2919 ));
2920 }
2921 result.name = map
2922 .next_value::<std::option::Option<std::string::String>>()?
2923 .unwrap_or_default();
2924 }
2925 __FieldTag::__page_size => {
2926 if !fields.insert(__FieldTag::__page_size) {
2927 return std::result::Result::Err(A::Error::duplicate_field(
2928 "multiple values for page_size",
2929 ));
2930 }
2931 struct __With(std::option::Option<i32>);
2932 impl<'de> serde::de::Deserialize<'de> for __With {
2933 fn deserialize<D>(
2934 deserializer: D,
2935 ) -> std::result::Result<Self, D::Error>
2936 where
2937 D: serde::de::Deserializer<'de>,
2938 {
2939 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
2940 }
2941 }
2942 result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
2943 }
2944 __FieldTag::__page_token => {
2945 if !fields.insert(__FieldTag::__page_token) {
2946 return std::result::Result::Err(A::Error::duplicate_field(
2947 "multiple values for page_token",
2948 ));
2949 }
2950 result.page_token = map
2951 .next_value::<std::option::Option<std::string::String>>()?
2952 .unwrap_or_default();
2953 }
2954 __FieldTag::Unknown(key) => {
2955 let value = map.next_value::<serde_json::Value>()?;
2956 result._unknown_fields.insert(key, value);
2957 }
2958 }
2959 }
2960 std::result::Result::Ok(result)
2961 }
2962 }
2963 deserializer.deserialize_any(Visitor)
2964 }
2965}
2966
2967#[doc(hidden)]
2968impl serde::ser::Serialize for ListWorkflowRevisionsRequest {
2969 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2970 where
2971 S: serde::ser::Serializer,
2972 {
2973 use serde::ser::SerializeMap;
2974 #[allow(unused_imports)]
2975 use std::option::Option::Some;
2976 let mut state = serializer.serialize_map(std::option::Option::None)?;
2977 if !self.name.is_empty() {
2978 state.serialize_entry("name", &self.name)?;
2979 }
2980 if !wkt::internal::is_default(&self.page_size) {
2981 struct __With<'a>(&'a i32);
2982 impl<'a> serde::ser::Serialize for __With<'a> {
2983 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2984 where
2985 S: serde::ser::Serializer,
2986 {
2987 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
2988 }
2989 }
2990 state.serialize_entry("pageSize", &__With(&self.page_size))?;
2991 }
2992 if !self.page_token.is_empty() {
2993 state.serialize_entry("pageToken", &self.page_token)?;
2994 }
2995 if !self._unknown_fields.is_empty() {
2996 for (key, value) in self._unknown_fields.iter() {
2997 state.serialize_entry(key, &value)?;
2998 }
2999 }
3000 state.end()
3001 }
3002}
3003
3004#[derive(Clone, Debug, Default, PartialEq)]
3010#[non_exhaustive]
3011pub struct ListWorkflowRevisionsResponse {
3012 pub workflows: std::vec::Vec<crate::model::Workflow>,
3014
3015 pub next_page_token: std::string::String,
3018
3019 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
3020}
3021
3022impl ListWorkflowRevisionsResponse {
3023 pub fn new() -> Self {
3024 std::default::Default::default()
3025 }
3026
3027 pub fn set_workflows<T, V>(mut self, v: T) -> Self
3029 where
3030 T: std::iter::IntoIterator<Item = V>,
3031 V: std::convert::Into<crate::model::Workflow>,
3032 {
3033 use std::iter::Iterator;
3034 self.workflows = v.into_iter().map(|i| i.into()).collect();
3035 self
3036 }
3037
3038 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
3040 self.next_page_token = v.into();
3041 self
3042 }
3043}
3044
3045impl wkt::message::Message for ListWorkflowRevisionsResponse {
3046 fn typename() -> &'static str {
3047 "type.googleapis.com/google.cloud.workflows.v1.ListWorkflowRevisionsResponse"
3048 }
3049}
3050
3051#[doc(hidden)]
3052impl gax::paginator::internal::PageableResponse for ListWorkflowRevisionsResponse {
3053 type PageItem = crate::model::Workflow;
3054
3055 fn items(self) -> std::vec::Vec<Self::PageItem> {
3056 self.workflows
3057 }
3058
3059 fn next_page_token(&self) -> std::string::String {
3060 use std::clone::Clone;
3061 self.next_page_token.clone()
3062 }
3063}
3064
3065#[doc(hidden)]
3066impl<'de> serde::de::Deserialize<'de> for ListWorkflowRevisionsResponse {
3067 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3068 where
3069 D: serde::Deserializer<'de>,
3070 {
3071 #[allow(non_camel_case_types)]
3072 #[doc(hidden)]
3073 #[derive(PartialEq, Eq, Hash)]
3074 enum __FieldTag {
3075 __workflows,
3076 __next_page_token,
3077 Unknown(std::string::String),
3078 }
3079 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
3080 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3081 where
3082 D: serde::Deserializer<'de>,
3083 {
3084 struct Visitor;
3085 impl<'de> serde::de::Visitor<'de> for Visitor {
3086 type Value = __FieldTag;
3087 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
3088 formatter.write_str("a field name for ListWorkflowRevisionsResponse")
3089 }
3090 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
3091 where
3092 E: serde::de::Error,
3093 {
3094 use std::result::Result::Ok;
3095 use std::string::ToString;
3096 match value {
3097 "workflows" => Ok(__FieldTag::__workflows),
3098 "nextPageToken" => Ok(__FieldTag::__next_page_token),
3099 "next_page_token" => Ok(__FieldTag::__next_page_token),
3100 _ => Ok(__FieldTag::Unknown(value.to_string())),
3101 }
3102 }
3103 }
3104 deserializer.deserialize_identifier(Visitor)
3105 }
3106 }
3107 struct Visitor;
3108 impl<'de> serde::de::Visitor<'de> for Visitor {
3109 type Value = ListWorkflowRevisionsResponse;
3110 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
3111 formatter.write_str("struct ListWorkflowRevisionsResponse")
3112 }
3113 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
3114 where
3115 A: serde::de::MapAccess<'de>,
3116 {
3117 #[allow(unused_imports)]
3118 use serde::de::Error;
3119 use std::option::Option::Some;
3120 let mut fields = std::collections::HashSet::new();
3121 let mut result = Self::Value::new();
3122 while let Some(tag) = map.next_key::<__FieldTag>()? {
3123 #[allow(clippy::match_single_binding)]
3124 match tag {
3125 __FieldTag::__workflows => {
3126 if !fields.insert(__FieldTag::__workflows) {
3127 return std::result::Result::Err(A::Error::duplicate_field(
3128 "multiple values for workflows",
3129 ));
3130 }
3131 result.workflows = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Workflow>>>()?.unwrap_or_default();
3132 }
3133 __FieldTag::__next_page_token => {
3134 if !fields.insert(__FieldTag::__next_page_token) {
3135 return std::result::Result::Err(A::Error::duplicate_field(
3136 "multiple values for next_page_token",
3137 ));
3138 }
3139 result.next_page_token = map
3140 .next_value::<std::option::Option<std::string::String>>()?
3141 .unwrap_or_default();
3142 }
3143 __FieldTag::Unknown(key) => {
3144 let value = map.next_value::<serde_json::Value>()?;
3145 result._unknown_fields.insert(key, value);
3146 }
3147 }
3148 }
3149 std::result::Result::Ok(result)
3150 }
3151 }
3152 deserializer.deserialize_any(Visitor)
3153 }
3154}
3155
3156#[doc(hidden)]
3157impl serde::ser::Serialize for ListWorkflowRevisionsResponse {
3158 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3159 where
3160 S: serde::ser::Serializer,
3161 {
3162 use serde::ser::SerializeMap;
3163 #[allow(unused_imports)]
3164 use std::option::Option::Some;
3165 let mut state = serializer.serialize_map(std::option::Option::None)?;
3166 if !self.workflows.is_empty() {
3167 state.serialize_entry("workflows", &self.workflows)?;
3168 }
3169 if !self.next_page_token.is_empty() {
3170 state.serialize_entry("nextPageToken", &self.next_page_token)?;
3171 }
3172 if !self._unknown_fields.is_empty() {
3173 for (key, value) in self._unknown_fields.iter() {
3174 state.serialize_entry(key, &value)?;
3175 }
3176 }
3177 state.end()
3178 }
3179}
3180
3181#[derive(Clone, Debug, PartialEq)]
3197#[non_exhaustive]
3198pub enum ExecutionHistoryLevel {
3199 Unspecified,
3201 ExecutionHistoryBasic,
3203 ExecutionHistoryDetailed,
3205 UnknownValue(execution_history_level::UnknownValue),
3210}
3211
3212#[doc(hidden)]
3213pub mod execution_history_level {
3214 #[allow(unused_imports)]
3215 use super::*;
3216 #[derive(Clone, Debug, PartialEq)]
3217 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
3218}
3219
3220impl ExecutionHistoryLevel {
3221 pub fn value(&self) -> std::option::Option<i32> {
3226 match self {
3227 Self::Unspecified => std::option::Option::Some(0),
3228 Self::ExecutionHistoryBasic => std::option::Option::Some(1),
3229 Self::ExecutionHistoryDetailed => std::option::Option::Some(2),
3230 Self::UnknownValue(u) => u.0.value(),
3231 }
3232 }
3233
3234 pub fn name(&self) -> std::option::Option<&str> {
3239 match self {
3240 Self::Unspecified => std::option::Option::Some("EXECUTION_HISTORY_LEVEL_UNSPECIFIED"),
3241 Self::ExecutionHistoryBasic => std::option::Option::Some("EXECUTION_HISTORY_BASIC"),
3242 Self::ExecutionHistoryDetailed => {
3243 std::option::Option::Some("EXECUTION_HISTORY_DETAILED")
3244 }
3245 Self::UnknownValue(u) => u.0.name(),
3246 }
3247 }
3248}
3249
3250impl std::default::Default for ExecutionHistoryLevel {
3251 fn default() -> Self {
3252 use std::convert::From;
3253 Self::from(0)
3254 }
3255}
3256
3257impl std::fmt::Display for ExecutionHistoryLevel {
3258 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
3259 wkt::internal::display_enum(f, self.name(), self.value())
3260 }
3261}
3262
3263impl std::convert::From<i32> for ExecutionHistoryLevel {
3264 fn from(value: i32) -> Self {
3265 match value {
3266 0 => Self::Unspecified,
3267 1 => Self::ExecutionHistoryBasic,
3268 2 => Self::ExecutionHistoryDetailed,
3269 _ => Self::UnknownValue(execution_history_level::UnknownValue(
3270 wkt::internal::UnknownEnumValue::Integer(value),
3271 )),
3272 }
3273 }
3274}
3275
3276impl std::convert::From<&str> for ExecutionHistoryLevel {
3277 fn from(value: &str) -> Self {
3278 use std::string::ToString;
3279 match value {
3280 "EXECUTION_HISTORY_LEVEL_UNSPECIFIED" => Self::Unspecified,
3281 "EXECUTION_HISTORY_BASIC" => Self::ExecutionHistoryBasic,
3282 "EXECUTION_HISTORY_DETAILED" => Self::ExecutionHistoryDetailed,
3283 _ => Self::UnknownValue(execution_history_level::UnknownValue(
3284 wkt::internal::UnknownEnumValue::String(value.to_string()),
3285 )),
3286 }
3287 }
3288}
3289
3290impl serde::ser::Serialize for ExecutionHistoryLevel {
3291 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3292 where
3293 S: serde::Serializer,
3294 {
3295 match self {
3296 Self::Unspecified => serializer.serialize_i32(0),
3297 Self::ExecutionHistoryBasic => serializer.serialize_i32(1),
3298 Self::ExecutionHistoryDetailed => serializer.serialize_i32(2),
3299 Self::UnknownValue(u) => u.0.serialize(serializer),
3300 }
3301 }
3302}
3303
3304impl<'de> serde::de::Deserialize<'de> for ExecutionHistoryLevel {
3305 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3306 where
3307 D: serde::Deserializer<'de>,
3308 {
3309 deserializer.deserialize_any(wkt::internal::EnumVisitor::<ExecutionHistoryLevel>::new(
3310 ".google.cloud.workflows.v1.ExecutionHistoryLevel",
3311 ))
3312 }
3313}