Skip to main content

google_cloud_rapidmigrationassessment_v1/
model.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17#![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 gaxi;
23extern crate google_cloud_gax;
24extern crate google_cloud_location;
25extern crate google_cloud_longrunning;
26extern crate google_cloud_lro;
27extern crate lazy_static;
28extern crate serde;
29extern crate serde_json;
30extern crate serde_with;
31extern crate std;
32extern crate tracing;
33extern crate wkt;
34
35mod debug;
36mod deserialize;
37mod serialize;
38
39/// Message describing a MC Source of type Guest OS Scan.
40#[derive(Clone, Default, PartialEq)]
41#[non_exhaustive]
42pub struct GuestOsScan {
43    /// reference to the corresponding Guest OS Scan in MC Source.
44    pub core_source: std::string::String,
45
46    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
47}
48
49impl GuestOsScan {
50    pub fn new() -> Self {
51        std::default::Default::default()
52    }
53
54    /// Sets the value of [core_source][crate::model::GuestOsScan::core_source].
55    ///
56    /// # Example
57    /// ```ignore,no_run
58    /// # use google_cloud_rapidmigrationassessment_v1::model::GuestOsScan;
59    /// let x = GuestOsScan::new().set_core_source("example");
60    /// ```
61    pub fn set_core_source<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
62        self.core_source = v.into();
63        self
64    }
65}
66
67impl wkt::message::Message for GuestOsScan {
68    fn typename() -> &'static str {
69        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.GuestOsScan"
70    }
71}
72
73/// Message describing a MC Source of type VSphere Scan.
74#[derive(Clone, Default, PartialEq)]
75#[non_exhaustive]
76pub struct VSphereScan {
77    /// reference to the corresponding VSphere Scan in MC Source.
78    pub core_source: std::string::String,
79
80    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
81}
82
83impl VSphereScan {
84    pub fn new() -> Self {
85        std::default::Default::default()
86    }
87
88    /// Sets the value of [core_source][crate::model::VSphereScan::core_source].
89    ///
90    /// # Example
91    /// ```ignore,no_run
92    /// # use google_cloud_rapidmigrationassessment_v1::model::VSphereScan;
93    /// let x = VSphereScan::new().set_core_source("example");
94    /// ```
95    pub fn set_core_source<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
96        self.core_source = v.into();
97        self
98    }
99}
100
101impl wkt::message::Message for VSphereScan {
102    fn typename() -> &'static str {
103        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.VSphereScan"
104    }
105}
106
107/// Message describing Collector object.
108#[derive(Clone, Default, PartialEq)]
109#[non_exhaustive]
110pub struct Collector {
111    /// name of resource.
112    pub name: std::string::String,
113
114    /// Output only. Create time stamp.
115    pub create_time: std::option::Option<wkt::Timestamp>,
116
117    /// Output only. Update time stamp.
118    pub update_time: std::option::Option<wkt::Timestamp>,
119
120    /// Labels as key value pairs.
121    pub labels: std::collections::HashMap<std::string::String, std::string::String>,
122
123    /// User specified name of the Collector.
124    pub display_name: std::string::String,
125
126    /// User specified description of the Collector.
127    pub description: std::string::String,
128
129    /// Service Account email used to ingest data to this Collector.
130    pub service_account: std::string::String,
131
132    /// Output only. Store cloud storage bucket name (which is a guid) created with
133    /// this Collector.
134    pub bucket: std::string::String,
135
136    /// User specified expected asset count.
137    pub expected_asset_count: i64,
138
139    /// Output only. State of the Collector.
140    pub state: crate::model::collector::State,
141
142    /// Output only. Client version.
143    pub client_version: std::string::String,
144
145    /// Output only. Reference to MC Source Guest Os Scan.
146    pub guest_os_scan: std::option::Option<crate::model::GuestOsScan>,
147
148    /// Output only. Reference to MC Source vsphere_scan.
149    pub vsphere_scan: std::option::Option<crate::model::VSphereScan>,
150
151    /// How many days to collect data.
152    pub collection_days: i32,
153
154    /// Uri for EULA (End User License Agreement) from customer.
155    pub eula_uri: std::string::String,
156
157    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
158}
159
160impl Collector {
161    pub fn new() -> Self {
162        std::default::Default::default()
163    }
164
165    /// Sets the value of [name][crate::model::Collector::name].
166    ///
167    /// # Example
168    /// ```ignore,no_run
169    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
170    /// let x = Collector::new().set_name("example");
171    /// ```
172    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
173        self.name = v.into();
174        self
175    }
176
177    /// Sets the value of [create_time][crate::model::Collector::create_time].
178    ///
179    /// # Example
180    /// ```ignore,no_run
181    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
182    /// use wkt::Timestamp;
183    /// let x = Collector::new().set_create_time(Timestamp::default()/* use setters */);
184    /// ```
185    pub fn set_create_time<T>(mut self, v: T) -> Self
186    where
187        T: std::convert::Into<wkt::Timestamp>,
188    {
189        self.create_time = std::option::Option::Some(v.into());
190        self
191    }
192
193    /// Sets or clears the value of [create_time][crate::model::Collector::create_time].
194    ///
195    /// # Example
196    /// ```ignore,no_run
197    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
198    /// use wkt::Timestamp;
199    /// let x = Collector::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
200    /// let x = Collector::new().set_or_clear_create_time(None::<Timestamp>);
201    /// ```
202    pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
203    where
204        T: std::convert::Into<wkt::Timestamp>,
205    {
206        self.create_time = v.map(|x| x.into());
207        self
208    }
209
210    /// Sets the value of [update_time][crate::model::Collector::update_time].
211    ///
212    /// # Example
213    /// ```ignore,no_run
214    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
215    /// use wkt::Timestamp;
216    /// let x = Collector::new().set_update_time(Timestamp::default()/* use setters */);
217    /// ```
218    pub fn set_update_time<T>(mut self, v: T) -> Self
219    where
220        T: std::convert::Into<wkt::Timestamp>,
221    {
222        self.update_time = std::option::Option::Some(v.into());
223        self
224    }
225
226    /// Sets or clears the value of [update_time][crate::model::Collector::update_time].
227    ///
228    /// # Example
229    /// ```ignore,no_run
230    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
231    /// use wkt::Timestamp;
232    /// let x = Collector::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
233    /// let x = Collector::new().set_or_clear_update_time(None::<Timestamp>);
234    /// ```
235    pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
236    where
237        T: std::convert::Into<wkt::Timestamp>,
238    {
239        self.update_time = v.map(|x| x.into());
240        self
241    }
242
243    /// Sets the value of [labels][crate::model::Collector::labels].
244    ///
245    /// # Example
246    /// ```ignore,no_run
247    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
248    /// let x = Collector::new().set_labels([
249    ///     ("key0", "abc"),
250    ///     ("key1", "xyz"),
251    /// ]);
252    /// ```
253    pub fn set_labels<T, K, V>(mut self, v: T) -> Self
254    where
255        T: std::iter::IntoIterator<Item = (K, V)>,
256        K: std::convert::Into<std::string::String>,
257        V: std::convert::Into<std::string::String>,
258    {
259        use std::iter::Iterator;
260        self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
261        self
262    }
263
264    /// Sets the value of [display_name][crate::model::Collector::display_name].
265    ///
266    /// # Example
267    /// ```ignore,no_run
268    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
269    /// let x = Collector::new().set_display_name("example");
270    /// ```
271    pub fn set_display_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
272        self.display_name = v.into();
273        self
274    }
275
276    /// Sets the value of [description][crate::model::Collector::description].
277    ///
278    /// # Example
279    /// ```ignore,no_run
280    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
281    /// let x = Collector::new().set_description("example");
282    /// ```
283    pub fn set_description<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
284        self.description = v.into();
285        self
286    }
287
288    /// Sets the value of [service_account][crate::model::Collector::service_account].
289    ///
290    /// # Example
291    /// ```ignore,no_run
292    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
293    /// let x = Collector::new().set_service_account("example");
294    /// ```
295    pub fn set_service_account<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
296        self.service_account = v.into();
297        self
298    }
299
300    /// Sets the value of [bucket][crate::model::Collector::bucket].
301    ///
302    /// # Example
303    /// ```ignore,no_run
304    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
305    /// let x = Collector::new().set_bucket("example");
306    /// ```
307    pub fn set_bucket<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
308        self.bucket = v.into();
309        self
310    }
311
312    /// Sets the value of [expected_asset_count][crate::model::Collector::expected_asset_count].
313    ///
314    /// # Example
315    /// ```ignore,no_run
316    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
317    /// let x = Collector::new().set_expected_asset_count(42);
318    /// ```
319    pub fn set_expected_asset_count<T: std::convert::Into<i64>>(mut self, v: T) -> Self {
320        self.expected_asset_count = v.into();
321        self
322    }
323
324    /// Sets the value of [state][crate::model::Collector::state].
325    ///
326    /// # Example
327    /// ```ignore,no_run
328    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
329    /// use google_cloud_rapidmigrationassessment_v1::model::collector::State;
330    /// let x0 = Collector::new().set_state(State::Initializing);
331    /// let x1 = Collector::new().set_state(State::ReadyToUse);
332    /// let x2 = Collector::new().set_state(State::Registered);
333    /// ```
334    pub fn set_state<T: std::convert::Into<crate::model::collector::State>>(
335        mut self,
336        v: T,
337    ) -> Self {
338        self.state = v.into();
339        self
340    }
341
342    /// Sets the value of [client_version][crate::model::Collector::client_version].
343    ///
344    /// # Example
345    /// ```ignore,no_run
346    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
347    /// let x = Collector::new().set_client_version("example");
348    /// ```
349    pub fn set_client_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
350        self.client_version = v.into();
351        self
352    }
353
354    /// Sets the value of [guest_os_scan][crate::model::Collector::guest_os_scan].
355    ///
356    /// # Example
357    /// ```ignore,no_run
358    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
359    /// use google_cloud_rapidmigrationassessment_v1::model::GuestOsScan;
360    /// let x = Collector::new().set_guest_os_scan(GuestOsScan::default()/* use setters */);
361    /// ```
362    pub fn set_guest_os_scan<T>(mut self, v: T) -> Self
363    where
364        T: std::convert::Into<crate::model::GuestOsScan>,
365    {
366        self.guest_os_scan = std::option::Option::Some(v.into());
367        self
368    }
369
370    /// Sets or clears the value of [guest_os_scan][crate::model::Collector::guest_os_scan].
371    ///
372    /// # Example
373    /// ```ignore,no_run
374    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
375    /// use google_cloud_rapidmigrationassessment_v1::model::GuestOsScan;
376    /// let x = Collector::new().set_or_clear_guest_os_scan(Some(GuestOsScan::default()/* use setters */));
377    /// let x = Collector::new().set_or_clear_guest_os_scan(None::<GuestOsScan>);
378    /// ```
379    pub fn set_or_clear_guest_os_scan<T>(mut self, v: std::option::Option<T>) -> Self
380    where
381        T: std::convert::Into<crate::model::GuestOsScan>,
382    {
383        self.guest_os_scan = v.map(|x| x.into());
384        self
385    }
386
387    /// Sets the value of [vsphere_scan][crate::model::Collector::vsphere_scan].
388    ///
389    /// # Example
390    /// ```ignore,no_run
391    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
392    /// use google_cloud_rapidmigrationassessment_v1::model::VSphereScan;
393    /// let x = Collector::new().set_vsphere_scan(VSphereScan::default()/* use setters */);
394    /// ```
395    pub fn set_vsphere_scan<T>(mut self, v: T) -> Self
396    where
397        T: std::convert::Into<crate::model::VSphereScan>,
398    {
399        self.vsphere_scan = std::option::Option::Some(v.into());
400        self
401    }
402
403    /// Sets or clears the value of [vsphere_scan][crate::model::Collector::vsphere_scan].
404    ///
405    /// # Example
406    /// ```ignore,no_run
407    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
408    /// use google_cloud_rapidmigrationassessment_v1::model::VSphereScan;
409    /// let x = Collector::new().set_or_clear_vsphere_scan(Some(VSphereScan::default()/* use setters */));
410    /// let x = Collector::new().set_or_clear_vsphere_scan(None::<VSphereScan>);
411    /// ```
412    pub fn set_or_clear_vsphere_scan<T>(mut self, v: std::option::Option<T>) -> Self
413    where
414        T: std::convert::Into<crate::model::VSphereScan>,
415    {
416        self.vsphere_scan = v.map(|x| x.into());
417        self
418    }
419
420    /// Sets the value of [collection_days][crate::model::Collector::collection_days].
421    ///
422    /// # Example
423    /// ```ignore,no_run
424    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
425    /// let x = Collector::new().set_collection_days(42);
426    /// ```
427    pub fn set_collection_days<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
428        self.collection_days = v.into();
429        self
430    }
431
432    /// Sets the value of [eula_uri][crate::model::Collector::eula_uri].
433    ///
434    /// # Example
435    /// ```ignore,no_run
436    /// # use google_cloud_rapidmigrationassessment_v1::model::Collector;
437    /// let x = Collector::new().set_eula_uri("example");
438    /// ```
439    pub fn set_eula_uri<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
440        self.eula_uri = v.into();
441        self
442    }
443}
444
445impl wkt::message::Message for Collector {
446    fn typename() -> &'static str {
447        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.Collector"
448    }
449}
450
451/// Defines additional types related to [Collector].
452pub mod collector {
453    #[allow(unused_imports)]
454    use super::*;
455
456    /// -- Using suggestion from API Linter Analyzer for nesting enum --
457    /// -- <https://linter.aip.dev/216/nesting> --
458    /// State of a Collector (server_side).
459    /// States are used for internal purposes and named to keep
460    /// convention of legacy product:
461    /// <https://cloud.google.com/migrate/stratozone/docs/about-stratoprobe>.
462    ///
463    /// # Working with unknown values
464    ///
465    /// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
466    /// additional enum variants at any time. Adding new variants is not considered
467    /// a breaking change. Applications should write their code in anticipation of:
468    ///
469    /// - New values appearing in future releases of the client library, **and**
470    /// - New values received dynamically, without application changes.
471    ///
472    /// Please consult the [Working with enums] section in the user guide for some
473    /// guidelines.
474    ///
475    /// [Working with enums]: https://google-cloud-rust.github.io/working_with_enums.html
476    #[derive(Clone, Debug, PartialEq)]
477    #[non_exhaustive]
478    pub enum State {
479        /// Collector state is not recognized.
480        Unspecified,
481        /// Collector started to create, but hasn't been completed MC source creation
482        /// and db object creation.
483        Initializing,
484        /// Collector has been created, MC source creation and db object creation
485        /// completed.
486        ReadyToUse,
487        /// Collector client has been registered with client.
488        Registered,
489        /// Collector client is actively scanning.
490        Active,
491        /// Collector is not actively scanning.
492        Paused,
493        /// Collector is starting background job for deletion.
494        Deleting,
495        /// Collector completed all tasks for deletion.
496        Decommissioned,
497        /// Collector is in error state.
498        Error,
499        /// If set, the enum was initialized with an unknown value.
500        ///
501        /// Applications can examine the value using [State::value] or
502        /// [State::name].
503        UnknownValue(state::UnknownValue),
504    }
505
506    #[doc(hidden)]
507    pub mod state {
508        #[allow(unused_imports)]
509        use super::*;
510        #[derive(Clone, Debug, PartialEq)]
511        pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
512    }
513
514    impl State {
515        /// Gets the enum value.
516        ///
517        /// Returns `None` if the enum contains an unknown value deserialized from
518        /// the string representation of enums.
519        pub fn value(&self) -> std::option::Option<i32> {
520            match self {
521                Self::Unspecified => std::option::Option::Some(0),
522                Self::Initializing => std::option::Option::Some(1),
523                Self::ReadyToUse => std::option::Option::Some(2),
524                Self::Registered => std::option::Option::Some(3),
525                Self::Active => std::option::Option::Some(4),
526                Self::Paused => std::option::Option::Some(5),
527                Self::Deleting => std::option::Option::Some(6),
528                Self::Decommissioned => std::option::Option::Some(7),
529                Self::Error => std::option::Option::Some(8),
530                Self::UnknownValue(u) => u.0.value(),
531            }
532        }
533
534        /// Gets the enum value as a string.
535        ///
536        /// Returns `None` if the enum contains an unknown value deserialized from
537        /// the integer representation of enums.
538        pub fn name(&self) -> std::option::Option<&str> {
539            match self {
540                Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
541                Self::Initializing => std::option::Option::Some("STATE_INITIALIZING"),
542                Self::ReadyToUse => std::option::Option::Some("STATE_READY_TO_USE"),
543                Self::Registered => std::option::Option::Some("STATE_REGISTERED"),
544                Self::Active => std::option::Option::Some("STATE_ACTIVE"),
545                Self::Paused => std::option::Option::Some("STATE_PAUSED"),
546                Self::Deleting => std::option::Option::Some("STATE_DELETING"),
547                Self::Decommissioned => std::option::Option::Some("STATE_DECOMMISSIONED"),
548                Self::Error => std::option::Option::Some("STATE_ERROR"),
549                Self::UnknownValue(u) => u.0.name(),
550            }
551        }
552    }
553
554    impl std::default::Default for State {
555        fn default() -> Self {
556            use std::convert::From;
557            Self::from(0)
558        }
559    }
560
561    impl std::fmt::Display for State {
562        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
563            wkt::internal::display_enum(f, self.name(), self.value())
564        }
565    }
566
567    impl std::convert::From<i32> for State {
568        fn from(value: i32) -> Self {
569            match value {
570                0 => Self::Unspecified,
571                1 => Self::Initializing,
572                2 => Self::ReadyToUse,
573                3 => Self::Registered,
574                4 => Self::Active,
575                5 => Self::Paused,
576                6 => Self::Deleting,
577                7 => Self::Decommissioned,
578                8 => Self::Error,
579                _ => Self::UnknownValue(state::UnknownValue(
580                    wkt::internal::UnknownEnumValue::Integer(value),
581                )),
582            }
583        }
584    }
585
586    impl std::convert::From<&str> for State {
587        fn from(value: &str) -> Self {
588            use std::string::ToString;
589            match value {
590                "STATE_UNSPECIFIED" => Self::Unspecified,
591                "STATE_INITIALIZING" => Self::Initializing,
592                "STATE_READY_TO_USE" => Self::ReadyToUse,
593                "STATE_REGISTERED" => Self::Registered,
594                "STATE_ACTIVE" => Self::Active,
595                "STATE_PAUSED" => Self::Paused,
596                "STATE_DELETING" => Self::Deleting,
597                "STATE_DECOMMISSIONED" => Self::Decommissioned,
598                "STATE_ERROR" => Self::Error,
599                _ => Self::UnknownValue(state::UnknownValue(
600                    wkt::internal::UnknownEnumValue::String(value.to_string()),
601                )),
602            }
603        }
604    }
605
606    impl serde::ser::Serialize for State {
607        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
608        where
609            S: serde::Serializer,
610        {
611            match self {
612                Self::Unspecified => serializer.serialize_i32(0),
613                Self::Initializing => serializer.serialize_i32(1),
614                Self::ReadyToUse => serializer.serialize_i32(2),
615                Self::Registered => serializer.serialize_i32(3),
616                Self::Active => serializer.serialize_i32(4),
617                Self::Paused => serializer.serialize_i32(5),
618                Self::Deleting => serializer.serialize_i32(6),
619                Self::Decommissioned => serializer.serialize_i32(7),
620                Self::Error => serializer.serialize_i32(8),
621                Self::UnknownValue(u) => u.0.serialize(serializer),
622            }
623        }
624    }
625
626    impl<'de> serde::de::Deserialize<'de> for State {
627        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
628        where
629            D: serde::Deserializer<'de>,
630        {
631            deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
632                ".google.cloud.rapidmigrationassessment.v1.Collector.State",
633            ))
634        }
635    }
636}
637
638/// Message describing an Annotation
639#[derive(Clone, Default, PartialEq)]
640#[non_exhaustive]
641pub struct Annotation {
642    /// name of resource.
643    pub name: std::string::String,
644
645    /// Output only. Create time stamp.
646    pub create_time: std::option::Option<wkt::Timestamp>,
647
648    /// Output only. Update time stamp.
649    pub update_time: std::option::Option<wkt::Timestamp>,
650
651    /// Labels as key value pairs.
652    pub labels: std::collections::HashMap<std::string::String, std::string::String>,
653
654    /// Type of an annotation.
655    pub r#type: crate::model::annotation::Type,
656
657    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
658}
659
660impl Annotation {
661    pub fn new() -> Self {
662        std::default::Default::default()
663    }
664
665    /// Sets the value of [name][crate::model::Annotation::name].
666    ///
667    /// # Example
668    /// ```ignore,no_run
669    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
670    /// let x = Annotation::new().set_name("example");
671    /// ```
672    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
673        self.name = v.into();
674        self
675    }
676
677    /// Sets the value of [create_time][crate::model::Annotation::create_time].
678    ///
679    /// # Example
680    /// ```ignore,no_run
681    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
682    /// use wkt::Timestamp;
683    /// let x = Annotation::new().set_create_time(Timestamp::default()/* use setters */);
684    /// ```
685    pub fn set_create_time<T>(mut self, v: T) -> Self
686    where
687        T: std::convert::Into<wkt::Timestamp>,
688    {
689        self.create_time = std::option::Option::Some(v.into());
690        self
691    }
692
693    /// Sets or clears the value of [create_time][crate::model::Annotation::create_time].
694    ///
695    /// # Example
696    /// ```ignore,no_run
697    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
698    /// use wkt::Timestamp;
699    /// let x = Annotation::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
700    /// let x = Annotation::new().set_or_clear_create_time(None::<Timestamp>);
701    /// ```
702    pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
703    where
704        T: std::convert::Into<wkt::Timestamp>,
705    {
706        self.create_time = v.map(|x| x.into());
707        self
708    }
709
710    /// Sets the value of [update_time][crate::model::Annotation::update_time].
711    ///
712    /// # Example
713    /// ```ignore,no_run
714    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
715    /// use wkt::Timestamp;
716    /// let x = Annotation::new().set_update_time(Timestamp::default()/* use setters */);
717    /// ```
718    pub fn set_update_time<T>(mut self, v: T) -> Self
719    where
720        T: std::convert::Into<wkt::Timestamp>,
721    {
722        self.update_time = std::option::Option::Some(v.into());
723        self
724    }
725
726    /// Sets or clears the value of [update_time][crate::model::Annotation::update_time].
727    ///
728    /// # Example
729    /// ```ignore,no_run
730    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
731    /// use wkt::Timestamp;
732    /// let x = Annotation::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
733    /// let x = Annotation::new().set_or_clear_update_time(None::<Timestamp>);
734    /// ```
735    pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
736    where
737        T: std::convert::Into<wkt::Timestamp>,
738    {
739        self.update_time = v.map(|x| x.into());
740        self
741    }
742
743    /// Sets the value of [labels][crate::model::Annotation::labels].
744    ///
745    /// # Example
746    /// ```ignore,no_run
747    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
748    /// let x = Annotation::new().set_labels([
749    ///     ("key0", "abc"),
750    ///     ("key1", "xyz"),
751    /// ]);
752    /// ```
753    pub fn set_labels<T, K, V>(mut self, v: T) -> Self
754    where
755        T: std::iter::IntoIterator<Item = (K, V)>,
756        K: std::convert::Into<std::string::String>,
757        V: std::convert::Into<std::string::String>,
758    {
759        use std::iter::Iterator;
760        self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
761        self
762    }
763
764    /// Sets the value of [r#type][crate::model::Annotation::type].
765    ///
766    /// # Example
767    /// ```ignore,no_run
768    /// # use google_cloud_rapidmigrationassessment_v1::model::Annotation;
769    /// use google_cloud_rapidmigrationassessment_v1::model::annotation::Type;
770    /// let x0 = Annotation::new().set_type(Type::LegacyExportConsent);
771    /// let x1 = Annotation::new().set_type(Type::Qwiklab);
772    /// ```
773    pub fn set_type<T: std::convert::Into<crate::model::annotation::Type>>(mut self, v: T) -> Self {
774        self.r#type = v.into();
775        self
776    }
777}
778
779impl wkt::message::Message for Annotation {
780    fn typename() -> &'static str {
781        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.Annotation"
782    }
783}
784
785/// Defines additional types related to [Annotation].
786pub mod annotation {
787    #[allow(unused_imports)]
788    use super::*;
789
790    /// Types for project level setting.
791    ///
792    /// # Working with unknown values
793    ///
794    /// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
795    /// additional enum variants at any time. Adding new variants is not considered
796    /// a breaking change. Applications should write their code in anticipation of:
797    ///
798    /// - New values appearing in future releases of the client library, **and**
799    /// - New values received dynamically, without application changes.
800    ///
801    /// Please consult the [Working with enums] section in the user guide for some
802    /// guidelines.
803    ///
804    /// [Working with enums]: https://google-cloud-rust.github.io/working_with_enums.html
805    #[derive(Clone, Debug, PartialEq)]
806    #[non_exhaustive]
807    pub enum Type {
808        /// Unknown type
809        Unspecified,
810        /// Indicates that this project has opted into StratoZone export.
811        LegacyExportConsent,
812        /// Indicates that this project is created by Qwiklab.
813        Qwiklab,
814        /// If set, the enum was initialized with an unknown value.
815        ///
816        /// Applications can examine the value using [Type::value] or
817        /// [Type::name].
818        UnknownValue(r#type::UnknownValue),
819    }
820
821    #[doc(hidden)]
822    pub mod r#type {
823        #[allow(unused_imports)]
824        use super::*;
825        #[derive(Clone, Debug, PartialEq)]
826        pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
827    }
828
829    impl Type {
830        /// Gets the enum value.
831        ///
832        /// Returns `None` if the enum contains an unknown value deserialized from
833        /// the string representation of enums.
834        pub fn value(&self) -> std::option::Option<i32> {
835            match self {
836                Self::Unspecified => std::option::Option::Some(0),
837                Self::LegacyExportConsent => std::option::Option::Some(1),
838                Self::Qwiklab => std::option::Option::Some(2),
839                Self::UnknownValue(u) => u.0.value(),
840            }
841        }
842
843        /// Gets the enum value as a string.
844        ///
845        /// Returns `None` if the enum contains an unknown value deserialized from
846        /// the integer representation of enums.
847        pub fn name(&self) -> std::option::Option<&str> {
848            match self {
849                Self::Unspecified => std::option::Option::Some("TYPE_UNSPECIFIED"),
850                Self::LegacyExportConsent => {
851                    std::option::Option::Some("TYPE_LEGACY_EXPORT_CONSENT")
852                }
853                Self::Qwiklab => std::option::Option::Some("TYPE_QWIKLAB"),
854                Self::UnknownValue(u) => u.0.name(),
855            }
856        }
857    }
858
859    impl std::default::Default for Type {
860        fn default() -> Self {
861            use std::convert::From;
862            Self::from(0)
863        }
864    }
865
866    impl std::fmt::Display for Type {
867        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
868            wkt::internal::display_enum(f, self.name(), self.value())
869        }
870    }
871
872    impl std::convert::From<i32> for Type {
873        fn from(value: i32) -> Self {
874            match value {
875                0 => Self::Unspecified,
876                1 => Self::LegacyExportConsent,
877                2 => Self::Qwiklab,
878                _ => Self::UnknownValue(r#type::UnknownValue(
879                    wkt::internal::UnknownEnumValue::Integer(value),
880                )),
881            }
882        }
883    }
884
885    impl std::convert::From<&str> for Type {
886        fn from(value: &str) -> Self {
887            use std::string::ToString;
888            match value {
889                "TYPE_UNSPECIFIED" => Self::Unspecified,
890                "TYPE_LEGACY_EXPORT_CONSENT" => Self::LegacyExportConsent,
891                "TYPE_QWIKLAB" => Self::Qwiklab,
892                _ => Self::UnknownValue(r#type::UnknownValue(
893                    wkt::internal::UnknownEnumValue::String(value.to_string()),
894                )),
895            }
896        }
897    }
898
899    impl serde::ser::Serialize for Type {
900        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
901        where
902            S: serde::Serializer,
903        {
904            match self {
905                Self::Unspecified => serializer.serialize_i32(0),
906                Self::LegacyExportConsent => serializer.serialize_i32(1),
907                Self::Qwiklab => serializer.serialize_i32(2),
908                Self::UnknownValue(u) => u.0.serialize(serializer),
909            }
910        }
911    }
912
913    impl<'de> serde::de::Deserialize<'de> for Type {
914        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
915        where
916            D: serde::Deserializer<'de>,
917        {
918            deserializer.deserialize_any(wkt::internal::EnumVisitor::<Type>::new(
919                ".google.cloud.rapidmigrationassessment.v1.Annotation.Type",
920            ))
921        }
922    }
923}
924
925/// Message for creating an AnnotationS.
926#[derive(Clone, Default, PartialEq)]
927#[non_exhaustive]
928pub struct CreateAnnotationRequest {
929    /// Required. Name of the parent (project+location).
930    pub parent: std::string::String,
931
932    /// Required. The resource being created.
933    pub annotation: std::option::Option<crate::model::Annotation>,
934
935    /// Optional. An optional request ID to identify requests.
936    pub request_id: std::string::String,
937
938    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
939}
940
941impl CreateAnnotationRequest {
942    pub fn new() -> Self {
943        std::default::Default::default()
944    }
945
946    /// Sets the value of [parent][crate::model::CreateAnnotationRequest::parent].
947    ///
948    /// # Example
949    /// ```ignore,no_run
950    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateAnnotationRequest;
951    /// let x = CreateAnnotationRequest::new().set_parent("example");
952    /// ```
953    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
954        self.parent = v.into();
955        self
956    }
957
958    /// Sets the value of [annotation][crate::model::CreateAnnotationRequest::annotation].
959    ///
960    /// # Example
961    /// ```ignore,no_run
962    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateAnnotationRequest;
963    /// use google_cloud_rapidmigrationassessment_v1::model::Annotation;
964    /// let x = CreateAnnotationRequest::new().set_annotation(Annotation::default()/* use setters */);
965    /// ```
966    pub fn set_annotation<T>(mut self, v: T) -> Self
967    where
968        T: std::convert::Into<crate::model::Annotation>,
969    {
970        self.annotation = std::option::Option::Some(v.into());
971        self
972    }
973
974    /// Sets or clears the value of [annotation][crate::model::CreateAnnotationRequest::annotation].
975    ///
976    /// # Example
977    /// ```ignore,no_run
978    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateAnnotationRequest;
979    /// use google_cloud_rapidmigrationassessment_v1::model::Annotation;
980    /// let x = CreateAnnotationRequest::new().set_or_clear_annotation(Some(Annotation::default()/* use setters */));
981    /// let x = CreateAnnotationRequest::new().set_or_clear_annotation(None::<Annotation>);
982    /// ```
983    pub fn set_or_clear_annotation<T>(mut self, v: std::option::Option<T>) -> Self
984    where
985        T: std::convert::Into<crate::model::Annotation>,
986    {
987        self.annotation = v.map(|x| x.into());
988        self
989    }
990
991    /// Sets the value of [request_id][crate::model::CreateAnnotationRequest::request_id].
992    ///
993    /// # Example
994    /// ```ignore,no_run
995    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateAnnotationRequest;
996    /// let x = CreateAnnotationRequest::new().set_request_id("example");
997    /// ```
998    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
999        self.request_id = v.into();
1000        self
1001    }
1002}
1003
1004impl wkt::message::Message for CreateAnnotationRequest {
1005    fn typename() -> &'static str {
1006        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.CreateAnnotationRequest"
1007    }
1008}
1009
1010/// Message for getting a specific Annotation
1011#[derive(Clone, Default, PartialEq)]
1012#[non_exhaustive]
1013pub struct GetAnnotationRequest {
1014    /// Required. Name of the resource.
1015    pub name: std::string::String,
1016
1017    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1018}
1019
1020impl GetAnnotationRequest {
1021    pub fn new() -> Self {
1022        std::default::Default::default()
1023    }
1024
1025    /// Sets the value of [name][crate::model::GetAnnotationRequest::name].
1026    ///
1027    /// # Example
1028    /// ```ignore,no_run
1029    /// # use google_cloud_rapidmigrationassessment_v1::model::GetAnnotationRequest;
1030    /// let x = GetAnnotationRequest::new().set_name("example");
1031    /// ```
1032    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1033        self.name = v.into();
1034        self
1035    }
1036}
1037
1038impl wkt::message::Message for GetAnnotationRequest {
1039    fn typename() -> &'static str {
1040        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.GetAnnotationRequest"
1041    }
1042}
1043
1044/// Message for creating a Collector.
1045#[derive(Clone, Default, PartialEq)]
1046#[non_exhaustive]
1047pub struct CreateCollectorRequest {
1048    /// Required. Name of the parent (project+location).
1049    pub parent: std::string::String,
1050
1051    /// Required. Id of the requesting object.
1052    pub collector_id: std::string::String,
1053
1054    /// Required. The resource being created.
1055    pub collector: std::option::Option<crate::model::Collector>,
1056
1057    /// Optional. An optional request ID to identify requests.
1058    pub request_id: std::string::String,
1059
1060    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1061}
1062
1063impl CreateCollectorRequest {
1064    pub fn new() -> Self {
1065        std::default::Default::default()
1066    }
1067
1068    /// Sets the value of [parent][crate::model::CreateCollectorRequest::parent].
1069    ///
1070    /// # Example
1071    /// ```ignore,no_run
1072    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateCollectorRequest;
1073    /// let x = CreateCollectorRequest::new().set_parent("example");
1074    /// ```
1075    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1076        self.parent = v.into();
1077        self
1078    }
1079
1080    /// Sets the value of [collector_id][crate::model::CreateCollectorRequest::collector_id].
1081    ///
1082    /// # Example
1083    /// ```ignore,no_run
1084    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateCollectorRequest;
1085    /// let x = CreateCollectorRequest::new().set_collector_id("example");
1086    /// ```
1087    pub fn set_collector_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1088        self.collector_id = v.into();
1089        self
1090    }
1091
1092    /// Sets the value of [collector][crate::model::CreateCollectorRequest::collector].
1093    ///
1094    /// # Example
1095    /// ```ignore,no_run
1096    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateCollectorRequest;
1097    /// use google_cloud_rapidmigrationassessment_v1::model::Collector;
1098    /// let x = CreateCollectorRequest::new().set_collector(Collector::default()/* use setters */);
1099    /// ```
1100    pub fn set_collector<T>(mut self, v: T) -> Self
1101    where
1102        T: std::convert::Into<crate::model::Collector>,
1103    {
1104        self.collector = std::option::Option::Some(v.into());
1105        self
1106    }
1107
1108    /// Sets or clears the value of [collector][crate::model::CreateCollectorRequest::collector].
1109    ///
1110    /// # Example
1111    /// ```ignore,no_run
1112    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateCollectorRequest;
1113    /// use google_cloud_rapidmigrationassessment_v1::model::Collector;
1114    /// let x = CreateCollectorRequest::new().set_or_clear_collector(Some(Collector::default()/* use setters */));
1115    /// let x = CreateCollectorRequest::new().set_or_clear_collector(None::<Collector>);
1116    /// ```
1117    pub fn set_or_clear_collector<T>(mut self, v: std::option::Option<T>) -> Self
1118    where
1119        T: std::convert::Into<crate::model::Collector>,
1120    {
1121        self.collector = v.map(|x| x.into());
1122        self
1123    }
1124
1125    /// Sets the value of [request_id][crate::model::CreateCollectorRequest::request_id].
1126    ///
1127    /// # Example
1128    /// ```ignore,no_run
1129    /// # use google_cloud_rapidmigrationassessment_v1::model::CreateCollectorRequest;
1130    /// let x = CreateCollectorRequest::new().set_request_id("example");
1131    /// ```
1132    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1133        self.request_id = v.into();
1134        self
1135    }
1136}
1137
1138impl wkt::message::Message for CreateCollectorRequest {
1139    fn typename() -> &'static str {
1140        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.CreateCollectorRequest"
1141    }
1142}
1143
1144/// Message for requesting list of Collectors.
1145#[derive(Clone, Default, PartialEq)]
1146#[non_exhaustive]
1147pub struct ListCollectorsRequest {
1148    /// Required. Parent value for ListCollectorsRequest.
1149    pub parent: std::string::String,
1150
1151    /// Requested page size. Server may return fewer items than requested.
1152    /// If unspecified, server will pick an appropriate default.
1153    pub page_size: i32,
1154
1155    /// A token identifying a page of results the server should return.
1156    pub page_token: std::string::String,
1157
1158    /// Filtering results.
1159    pub filter: std::string::String,
1160
1161    /// Hint for how to order the results.
1162    pub order_by: std::string::String,
1163
1164    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1165}
1166
1167impl ListCollectorsRequest {
1168    pub fn new() -> Self {
1169        std::default::Default::default()
1170    }
1171
1172    /// Sets the value of [parent][crate::model::ListCollectorsRequest::parent].
1173    ///
1174    /// # Example
1175    /// ```ignore,no_run
1176    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsRequest;
1177    /// let x = ListCollectorsRequest::new().set_parent("example");
1178    /// ```
1179    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1180        self.parent = v.into();
1181        self
1182    }
1183
1184    /// Sets the value of [page_size][crate::model::ListCollectorsRequest::page_size].
1185    ///
1186    /// # Example
1187    /// ```ignore,no_run
1188    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsRequest;
1189    /// let x = ListCollectorsRequest::new().set_page_size(42);
1190    /// ```
1191    pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
1192        self.page_size = v.into();
1193        self
1194    }
1195
1196    /// Sets the value of [page_token][crate::model::ListCollectorsRequest::page_token].
1197    ///
1198    /// # Example
1199    /// ```ignore,no_run
1200    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsRequest;
1201    /// let x = ListCollectorsRequest::new().set_page_token("example");
1202    /// ```
1203    pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1204        self.page_token = v.into();
1205        self
1206    }
1207
1208    /// Sets the value of [filter][crate::model::ListCollectorsRequest::filter].
1209    ///
1210    /// # Example
1211    /// ```ignore,no_run
1212    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsRequest;
1213    /// let x = ListCollectorsRequest::new().set_filter("example");
1214    /// ```
1215    pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1216        self.filter = v.into();
1217        self
1218    }
1219
1220    /// Sets the value of [order_by][crate::model::ListCollectorsRequest::order_by].
1221    ///
1222    /// # Example
1223    /// ```ignore,no_run
1224    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsRequest;
1225    /// let x = ListCollectorsRequest::new().set_order_by("example");
1226    /// ```
1227    pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1228        self.order_by = v.into();
1229        self
1230    }
1231}
1232
1233impl wkt::message::Message for ListCollectorsRequest {
1234    fn typename() -> &'static str {
1235        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.ListCollectorsRequest"
1236    }
1237}
1238
1239/// Message for response to listing Collectors.
1240#[derive(Clone, Default, PartialEq)]
1241#[non_exhaustive]
1242pub struct ListCollectorsResponse {
1243    /// The list of Collectors.
1244    pub collectors: std::vec::Vec<crate::model::Collector>,
1245
1246    /// A token identifying a page of results the server should return.
1247    pub next_page_token: std::string::String,
1248
1249    /// Locations that could not be reached.
1250    pub unreachable: std::vec::Vec<std::string::String>,
1251
1252    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1253}
1254
1255impl ListCollectorsResponse {
1256    pub fn new() -> Self {
1257        std::default::Default::default()
1258    }
1259
1260    /// Sets the value of [collectors][crate::model::ListCollectorsResponse::collectors].
1261    ///
1262    /// # Example
1263    /// ```ignore,no_run
1264    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsResponse;
1265    /// use google_cloud_rapidmigrationassessment_v1::model::Collector;
1266    /// let x = ListCollectorsResponse::new()
1267    ///     .set_collectors([
1268    ///         Collector::default()/* use setters */,
1269    ///         Collector::default()/* use (different) setters */,
1270    ///     ]);
1271    /// ```
1272    pub fn set_collectors<T, V>(mut self, v: T) -> Self
1273    where
1274        T: std::iter::IntoIterator<Item = V>,
1275        V: std::convert::Into<crate::model::Collector>,
1276    {
1277        use std::iter::Iterator;
1278        self.collectors = v.into_iter().map(|i| i.into()).collect();
1279        self
1280    }
1281
1282    /// Sets the value of [next_page_token][crate::model::ListCollectorsResponse::next_page_token].
1283    ///
1284    /// # Example
1285    /// ```ignore,no_run
1286    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsResponse;
1287    /// let x = ListCollectorsResponse::new().set_next_page_token("example");
1288    /// ```
1289    pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1290        self.next_page_token = v.into();
1291        self
1292    }
1293
1294    /// Sets the value of [unreachable][crate::model::ListCollectorsResponse::unreachable].
1295    ///
1296    /// # Example
1297    /// ```ignore,no_run
1298    /// # use google_cloud_rapidmigrationassessment_v1::model::ListCollectorsResponse;
1299    /// let x = ListCollectorsResponse::new().set_unreachable(["a", "b", "c"]);
1300    /// ```
1301    pub fn set_unreachable<T, V>(mut self, v: T) -> Self
1302    where
1303        T: std::iter::IntoIterator<Item = V>,
1304        V: std::convert::Into<std::string::String>,
1305    {
1306        use std::iter::Iterator;
1307        self.unreachable = v.into_iter().map(|i| i.into()).collect();
1308        self
1309    }
1310}
1311
1312impl wkt::message::Message for ListCollectorsResponse {
1313    fn typename() -> &'static str {
1314        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.ListCollectorsResponse"
1315    }
1316}
1317
1318#[doc(hidden)]
1319impl google_cloud_gax::paginator::internal::PageableResponse for ListCollectorsResponse {
1320    type PageItem = crate::model::Collector;
1321
1322    fn items(self) -> std::vec::Vec<Self::PageItem> {
1323        self.collectors
1324    }
1325
1326    fn next_page_token(&self) -> std::string::String {
1327        use std::clone::Clone;
1328        self.next_page_token.clone()
1329    }
1330}
1331
1332/// Message for getting a specific Collector.
1333#[derive(Clone, Default, PartialEq)]
1334#[non_exhaustive]
1335pub struct GetCollectorRequest {
1336    /// Required. Name of the resource.
1337    pub name: std::string::String,
1338
1339    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1340}
1341
1342impl GetCollectorRequest {
1343    pub fn new() -> Self {
1344        std::default::Default::default()
1345    }
1346
1347    /// Sets the value of [name][crate::model::GetCollectorRequest::name].
1348    ///
1349    /// # Example
1350    /// ```ignore,no_run
1351    /// # use google_cloud_rapidmigrationassessment_v1::model::GetCollectorRequest;
1352    /// let x = GetCollectorRequest::new().set_name("example");
1353    /// ```
1354    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1355        self.name = v.into();
1356        self
1357    }
1358}
1359
1360impl wkt::message::Message for GetCollectorRequest {
1361    fn typename() -> &'static str {
1362        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.GetCollectorRequest"
1363    }
1364}
1365
1366/// Message for deleting a Collector.
1367#[derive(Clone, Default, PartialEq)]
1368#[non_exhaustive]
1369pub struct DeleteCollectorRequest {
1370    /// Required. Name of the resource.
1371    pub name: std::string::String,
1372
1373    /// Optional. An optional request ID to identify requests. Specify a unique
1374    /// request ID so that if you must retry your request, the server will know to
1375    /// ignore the request if it has already been completed. The server will
1376    /// guarantee that for at least 60 minutes after the first request.
1377    ///
1378    /// For example, consider a situation where you make an initial request and
1379    /// the request times out. If you make the request again with the same request
1380    /// ID, the server can check if original operation with the same request ID
1381    /// was received, and if so, will ignore the second request. This prevents
1382    /// clients from accidentally creating duplicate commitments.
1383    ///
1384    /// The request ID must be a valid UUID with the exception that zero UUID is
1385    /// not supported (00000000-0000-0000-0000-000000000000).
1386    pub request_id: std::string::String,
1387
1388    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1389}
1390
1391impl DeleteCollectorRequest {
1392    pub fn new() -> Self {
1393        std::default::Default::default()
1394    }
1395
1396    /// Sets the value of [name][crate::model::DeleteCollectorRequest::name].
1397    ///
1398    /// # Example
1399    /// ```ignore,no_run
1400    /// # use google_cloud_rapidmigrationassessment_v1::model::DeleteCollectorRequest;
1401    /// let x = DeleteCollectorRequest::new().set_name("example");
1402    /// ```
1403    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1404        self.name = v.into();
1405        self
1406    }
1407
1408    /// Sets the value of [request_id][crate::model::DeleteCollectorRequest::request_id].
1409    ///
1410    /// # Example
1411    /// ```ignore,no_run
1412    /// # use google_cloud_rapidmigrationassessment_v1::model::DeleteCollectorRequest;
1413    /// let x = DeleteCollectorRequest::new().set_request_id("example");
1414    /// ```
1415    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1416        self.request_id = v.into();
1417        self
1418    }
1419}
1420
1421impl wkt::message::Message for DeleteCollectorRequest {
1422    fn typename() -> &'static str {
1423        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.DeleteCollectorRequest"
1424    }
1425}
1426
1427/// Message for updating a Collector.
1428#[derive(Clone, Default, PartialEq)]
1429#[non_exhaustive]
1430pub struct UpdateCollectorRequest {
1431    /// Required. Field mask is used to specify the fields to be overwritten in the
1432    /// Collector resource by the update.
1433    /// The fields specified in the update_mask are relative to the resource, not
1434    /// the full request. A field will be overwritten if it is in the mask. If the
1435    /// user does not provide a mask then all fields will be overwritten.
1436    pub update_mask: std::option::Option<wkt::FieldMask>,
1437
1438    /// Required. The resource being updated.
1439    pub collector: std::option::Option<crate::model::Collector>,
1440
1441    /// Optional. An optional request ID to identify requests. Specify a unique
1442    /// request ID so that if you must retry your request, the server will know to
1443    /// ignore the request if it has already been completed. The server will
1444    /// guarantee that for at least 60 minutes since the first request.
1445    ///
1446    /// For example, consider a situation where you make an initial request and
1447    /// the request times out. If you make the request again with the same request
1448    /// ID, the server can check if original operation with the same request ID
1449    /// was received, and if so, will ignore the second request. This prevents
1450    /// clients from accidentally creating duplicate commitments.
1451    ///
1452    /// The request ID must be a valid UUID with the exception that zero UUID is
1453    /// not supported (00000000-0000-0000-0000-000000000000).
1454    pub request_id: std::string::String,
1455
1456    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1457}
1458
1459impl UpdateCollectorRequest {
1460    pub fn new() -> Self {
1461        std::default::Default::default()
1462    }
1463
1464    /// Sets the value of [update_mask][crate::model::UpdateCollectorRequest::update_mask].
1465    ///
1466    /// # Example
1467    /// ```ignore,no_run
1468    /// # use google_cloud_rapidmigrationassessment_v1::model::UpdateCollectorRequest;
1469    /// use wkt::FieldMask;
1470    /// let x = UpdateCollectorRequest::new().set_update_mask(FieldMask::default()/* use setters */);
1471    /// ```
1472    pub fn set_update_mask<T>(mut self, v: T) -> Self
1473    where
1474        T: std::convert::Into<wkt::FieldMask>,
1475    {
1476        self.update_mask = std::option::Option::Some(v.into());
1477        self
1478    }
1479
1480    /// Sets or clears the value of [update_mask][crate::model::UpdateCollectorRequest::update_mask].
1481    ///
1482    /// # Example
1483    /// ```ignore,no_run
1484    /// # use google_cloud_rapidmigrationassessment_v1::model::UpdateCollectorRequest;
1485    /// use wkt::FieldMask;
1486    /// let x = UpdateCollectorRequest::new().set_or_clear_update_mask(Some(FieldMask::default()/* use setters */));
1487    /// let x = UpdateCollectorRequest::new().set_or_clear_update_mask(None::<FieldMask>);
1488    /// ```
1489    pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
1490    where
1491        T: std::convert::Into<wkt::FieldMask>,
1492    {
1493        self.update_mask = v.map(|x| x.into());
1494        self
1495    }
1496
1497    /// Sets the value of [collector][crate::model::UpdateCollectorRequest::collector].
1498    ///
1499    /// # Example
1500    /// ```ignore,no_run
1501    /// # use google_cloud_rapidmigrationassessment_v1::model::UpdateCollectorRequest;
1502    /// use google_cloud_rapidmigrationassessment_v1::model::Collector;
1503    /// let x = UpdateCollectorRequest::new().set_collector(Collector::default()/* use setters */);
1504    /// ```
1505    pub fn set_collector<T>(mut self, v: T) -> Self
1506    where
1507        T: std::convert::Into<crate::model::Collector>,
1508    {
1509        self.collector = std::option::Option::Some(v.into());
1510        self
1511    }
1512
1513    /// Sets or clears the value of [collector][crate::model::UpdateCollectorRequest::collector].
1514    ///
1515    /// # Example
1516    /// ```ignore,no_run
1517    /// # use google_cloud_rapidmigrationassessment_v1::model::UpdateCollectorRequest;
1518    /// use google_cloud_rapidmigrationassessment_v1::model::Collector;
1519    /// let x = UpdateCollectorRequest::new().set_or_clear_collector(Some(Collector::default()/* use setters */));
1520    /// let x = UpdateCollectorRequest::new().set_or_clear_collector(None::<Collector>);
1521    /// ```
1522    pub fn set_or_clear_collector<T>(mut self, v: std::option::Option<T>) -> Self
1523    where
1524        T: std::convert::Into<crate::model::Collector>,
1525    {
1526        self.collector = v.map(|x| x.into());
1527        self
1528    }
1529
1530    /// Sets the value of [request_id][crate::model::UpdateCollectorRequest::request_id].
1531    ///
1532    /// # Example
1533    /// ```ignore,no_run
1534    /// # use google_cloud_rapidmigrationassessment_v1::model::UpdateCollectorRequest;
1535    /// let x = UpdateCollectorRequest::new().set_request_id("example");
1536    /// ```
1537    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1538        self.request_id = v.into();
1539        self
1540    }
1541}
1542
1543impl wkt::message::Message for UpdateCollectorRequest {
1544    fn typename() -> &'static str {
1545        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.UpdateCollectorRequest"
1546    }
1547}
1548
1549/// Message for resuming a Collector.
1550#[derive(Clone, Default, PartialEq)]
1551#[non_exhaustive]
1552pub struct ResumeCollectorRequest {
1553    /// Required. Name of the resource.
1554    pub name: std::string::String,
1555
1556    /// Optional. An optional request ID to identify requests. Specify a unique
1557    /// request ID so that if you must retry your request, the server will know to
1558    /// ignore the request if it has already been completed. The server will
1559    /// guarantee that for at least 60 minutes after the first request.
1560    ///
1561    /// For example, consider a situation where you make an initial request and
1562    /// the request times out. If you make the request again with the same request
1563    /// ID, the server can check if original operation with the same request ID
1564    /// was received, and if so, will ignore the second request. This prevents
1565    /// clients from accidentally creating duplicate commitments.
1566    ///
1567    /// The request ID must be a valid UUID with the exception that zero UUID is
1568    /// not supported (00000000-0000-0000-0000-000000000000).
1569    pub request_id: std::string::String,
1570
1571    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1572}
1573
1574impl ResumeCollectorRequest {
1575    pub fn new() -> Self {
1576        std::default::Default::default()
1577    }
1578
1579    /// Sets the value of [name][crate::model::ResumeCollectorRequest::name].
1580    ///
1581    /// # Example
1582    /// ```ignore,no_run
1583    /// # use google_cloud_rapidmigrationassessment_v1::model::ResumeCollectorRequest;
1584    /// let x = ResumeCollectorRequest::new().set_name("example");
1585    /// ```
1586    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1587        self.name = v.into();
1588        self
1589    }
1590
1591    /// Sets the value of [request_id][crate::model::ResumeCollectorRequest::request_id].
1592    ///
1593    /// # Example
1594    /// ```ignore,no_run
1595    /// # use google_cloud_rapidmigrationassessment_v1::model::ResumeCollectorRequest;
1596    /// let x = ResumeCollectorRequest::new().set_request_id("example");
1597    /// ```
1598    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1599        self.request_id = v.into();
1600        self
1601    }
1602}
1603
1604impl wkt::message::Message for ResumeCollectorRequest {
1605    fn typename() -> &'static str {
1606        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.ResumeCollectorRequest"
1607    }
1608}
1609
1610/// Message for registering a Collector.
1611#[derive(Clone, Default, PartialEq)]
1612#[non_exhaustive]
1613pub struct RegisterCollectorRequest {
1614    /// Required. Name of the resource.
1615    pub name: std::string::String,
1616
1617    /// Optional. An optional request ID to identify requests. Specify a unique
1618    /// request ID so that if you must retry your request, the server will know to
1619    /// ignore the request if it has already been completed. The server will
1620    /// guarantee that for at least 60 minutes after the first request.
1621    ///
1622    /// For example, consider a situation where you make an initial request and
1623    /// the request times out. If you make the request again with the same request
1624    /// ID, the server can check if original operation with the same request ID
1625    /// was received, and if so, will ignore the second request. This prevents
1626    /// clients from accidentally creating duplicate commitments.
1627    ///
1628    /// The request ID must be a valid UUID with the exception that zero UUID is
1629    /// not supported (00000000-0000-0000-0000-000000000000).
1630    pub request_id: std::string::String,
1631
1632    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1633}
1634
1635impl RegisterCollectorRequest {
1636    pub fn new() -> Self {
1637        std::default::Default::default()
1638    }
1639
1640    /// Sets the value of [name][crate::model::RegisterCollectorRequest::name].
1641    ///
1642    /// # Example
1643    /// ```ignore,no_run
1644    /// # use google_cloud_rapidmigrationassessment_v1::model::RegisterCollectorRequest;
1645    /// let x = RegisterCollectorRequest::new().set_name("example");
1646    /// ```
1647    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1648        self.name = v.into();
1649        self
1650    }
1651
1652    /// Sets the value of [request_id][crate::model::RegisterCollectorRequest::request_id].
1653    ///
1654    /// # Example
1655    /// ```ignore,no_run
1656    /// # use google_cloud_rapidmigrationassessment_v1::model::RegisterCollectorRequest;
1657    /// let x = RegisterCollectorRequest::new().set_request_id("example");
1658    /// ```
1659    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1660        self.request_id = v.into();
1661        self
1662    }
1663}
1664
1665impl wkt::message::Message for RegisterCollectorRequest {
1666    fn typename() -> &'static str {
1667        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.RegisterCollectorRequest"
1668    }
1669}
1670
1671/// Message for pausing a Collector.
1672#[derive(Clone, Default, PartialEq)]
1673#[non_exhaustive]
1674pub struct PauseCollectorRequest {
1675    /// Required. Name of the resource.
1676    pub name: std::string::String,
1677
1678    /// Optional. An optional request ID to identify requests. Specify a unique
1679    /// request ID so that if you must retry your request, the server will know to
1680    /// ignore the request if it has already been completed. The server will
1681    /// guarantee that for at least 60 minutes after the first request.
1682    ///
1683    /// For example, consider a situation where you make an initial request and
1684    /// the request times out. If you make the request again with the same request
1685    /// ID, the server can check if original operation with the same request ID
1686    /// was received, and if so, will ignore the second request. This prevents
1687    /// clients from accidentally creating duplicate commitments.
1688    ///
1689    /// The request ID must be a valid UUID with the exception that zero UUID is
1690    /// not supported (00000000-0000-0000-0000-000000000000).
1691    pub request_id: std::string::String,
1692
1693    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1694}
1695
1696impl PauseCollectorRequest {
1697    pub fn new() -> Self {
1698        std::default::Default::default()
1699    }
1700
1701    /// Sets the value of [name][crate::model::PauseCollectorRequest::name].
1702    ///
1703    /// # Example
1704    /// ```ignore,no_run
1705    /// # use google_cloud_rapidmigrationassessment_v1::model::PauseCollectorRequest;
1706    /// let x = PauseCollectorRequest::new().set_name("example");
1707    /// ```
1708    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1709        self.name = v.into();
1710        self
1711    }
1712
1713    /// Sets the value of [request_id][crate::model::PauseCollectorRequest::request_id].
1714    ///
1715    /// # Example
1716    /// ```ignore,no_run
1717    /// # use google_cloud_rapidmigrationassessment_v1::model::PauseCollectorRequest;
1718    /// let x = PauseCollectorRequest::new().set_request_id("example");
1719    /// ```
1720    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1721        self.request_id = v.into();
1722        self
1723    }
1724}
1725
1726impl wkt::message::Message for PauseCollectorRequest {
1727    fn typename() -> &'static str {
1728        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.PauseCollectorRequest"
1729    }
1730}
1731
1732/// Represents the metadata of the long-running operation.
1733#[derive(Clone, Default, PartialEq)]
1734#[non_exhaustive]
1735pub struct OperationMetadata {
1736    /// Output only. The time the operation was created.
1737    pub create_time: std::option::Option<wkt::Timestamp>,
1738
1739    /// Output only. The time the operation finished running.
1740    pub end_time: std::option::Option<wkt::Timestamp>,
1741
1742    /// Output only. Server-defined resource path for the target of the operation.
1743    pub target: std::string::String,
1744
1745    /// Output only. Name of the verb executed by the operation.
1746    pub verb: std::string::String,
1747
1748    /// Output only. Human-readable status of the operation, if any.
1749    pub status_message: std::string::String,
1750
1751    /// Output only. Identifies whether the user has requested cancellation
1752    /// of the operation. Operations that have successfully been cancelled
1753    /// have [Operation.error][] value with a
1754    /// [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
1755    /// `Code.CANCELLED`.
1756    ///
1757    /// [google.rpc.Status.code]: google_cloud_rpc::model::Status::code
1758    pub requested_cancellation: bool,
1759
1760    /// Output only. API version used to start the operation.
1761    pub api_version: std::string::String,
1762
1763    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1764}
1765
1766impl OperationMetadata {
1767    pub fn new() -> Self {
1768        std::default::Default::default()
1769    }
1770
1771    /// Sets the value of [create_time][crate::model::OperationMetadata::create_time].
1772    ///
1773    /// # Example
1774    /// ```ignore,no_run
1775    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1776    /// use wkt::Timestamp;
1777    /// let x = OperationMetadata::new().set_create_time(Timestamp::default()/* use setters */);
1778    /// ```
1779    pub fn set_create_time<T>(mut self, v: T) -> Self
1780    where
1781        T: std::convert::Into<wkt::Timestamp>,
1782    {
1783        self.create_time = std::option::Option::Some(v.into());
1784        self
1785    }
1786
1787    /// Sets or clears the value of [create_time][crate::model::OperationMetadata::create_time].
1788    ///
1789    /// # Example
1790    /// ```ignore,no_run
1791    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1792    /// use wkt::Timestamp;
1793    /// let x = OperationMetadata::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
1794    /// let x = OperationMetadata::new().set_or_clear_create_time(None::<Timestamp>);
1795    /// ```
1796    pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
1797    where
1798        T: std::convert::Into<wkt::Timestamp>,
1799    {
1800        self.create_time = v.map(|x| x.into());
1801        self
1802    }
1803
1804    /// Sets the value of [end_time][crate::model::OperationMetadata::end_time].
1805    ///
1806    /// # Example
1807    /// ```ignore,no_run
1808    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1809    /// use wkt::Timestamp;
1810    /// let x = OperationMetadata::new().set_end_time(Timestamp::default()/* use setters */);
1811    /// ```
1812    pub fn set_end_time<T>(mut self, v: T) -> Self
1813    where
1814        T: std::convert::Into<wkt::Timestamp>,
1815    {
1816        self.end_time = std::option::Option::Some(v.into());
1817        self
1818    }
1819
1820    /// Sets or clears the value of [end_time][crate::model::OperationMetadata::end_time].
1821    ///
1822    /// # Example
1823    /// ```ignore,no_run
1824    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1825    /// use wkt::Timestamp;
1826    /// let x = OperationMetadata::new().set_or_clear_end_time(Some(Timestamp::default()/* use setters */));
1827    /// let x = OperationMetadata::new().set_or_clear_end_time(None::<Timestamp>);
1828    /// ```
1829    pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
1830    where
1831        T: std::convert::Into<wkt::Timestamp>,
1832    {
1833        self.end_time = v.map(|x| x.into());
1834        self
1835    }
1836
1837    /// Sets the value of [target][crate::model::OperationMetadata::target].
1838    ///
1839    /// # Example
1840    /// ```ignore,no_run
1841    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1842    /// let x = OperationMetadata::new().set_target("example");
1843    /// ```
1844    pub fn set_target<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1845        self.target = v.into();
1846        self
1847    }
1848
1849    /// Sets the value of [verb][crate::model::OperationMetadata::verb].
1850    ///
1851    /// # Example
1852    /// ```ignore,no_run
1853    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1854    /// let x = OperationMetadata::new().set_verb("example");
1855    /// ```
1856    pub fn set_verb<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1857        self.verb = v.into();
1858        self
1859    }
1860
1861    /// Sets the value of [status_message][crate::model::OperationMetadata::status_message].
1862    ///
1863    /// # Example
1864    /// ```ignore,no_run
1865    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1866    /// let x = OperationMetadata::new().set_status_message("example");
1867    /// ```
1868    pub fn set_status_message<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1869        self.status_message = v.into();
1870        self
1871    }
1872
1873    /// Sets the value of [requested_cancellation][crate::model::OperationMetadata::requested_cancellation].
1874    ///
1875    /// # Example
1876    /// ```ignore,no_run
1877    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1878    /// let x = OperationMetadata::new().set_requested_cancellation(true);
1879    /// ```
1880    pub fn set_requested_cancellation<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
1881        self.requested_cancellation = v.into();
1882        self
1883    }
1884
1885    /// Sets the value of [api_version][crate::model::OperationMetadata::api_version].
1886    ///
1887    /// # Example
1888    /// ```ignore,no_run
1889    /// # use google_cloud_rapidmigrationassessment_v1::model::OperationMetadata;
1890    /// let x = OperationMetadata::new().set_api_version("example");
1891    /// ```
1892    pub fn set_api_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1893        self.api_version = v.into();
1894        self
1895    }
1896}
1897
1898impl wkt::message::Message for OperationMetadata {
1899    fn typename() -> &'static str {
1900        "type.googleapis.com/google.cloud.rapidmigrationassessment.v1.OperationMetadata"
1901    }
1902}