Skip to main content

google_cloud_securitycenter_v2/
builder.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/// Request and client builders for [SecurityCenter][crate::client::SecurityCenter].
18pub mod security_center {
19    use crate::Result;
20
21    /// A builder for [SecurityCenter][crate::client::SecurityCenter].
22    ///
23    /// ```
24    /// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
25    /// # use google_cloud_securitycenter_v2::*;
26    /// # use builder::security_center::ClientBuilder;
27    /// # use client::SecurityCenter;
28    /// let builder : ClientBuilder = SecurityCenter::builder();
29    /// let client = builder
30    ///     .with_endpoint("https://securitycenter.googleapis.com")
31    ///     .build().await?;
32    /// # Ok(()) }
33    /// ```
34    pub type ClientBuilder = crate::ClientBuilder<client::Factory, gaxi::options::Credentials>;
35
36    pub(crate) mod client {
37        use super::super::super::client::SecurityCenter;
38        pub struct Factory;
39        impl crate::ClientFactory for Factory {
40            type Client = SecurityCenter;
41            type Credentials = gaxi::options::Credentials;
42            async fn build(
43                self,
44                config: gaxi::options::ClientConfig,
45            ) -> crate::ClientBuilderResult<Self::Client> {
46                Self::Client::new(config).await
47            }
48        }
49    }
50
51    /// Common implementation for [crate::client::SecurityCenter] request builders.
52    #[derive(Clone, Debug)]
53    pub(crate) struct RequestBuilder<R: std::default::Default> {
54        stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
55        request: R,
56        options: crate::RequestOptions,
57    }
58
59    impl<R> RequestBuilder<R>
60    where
61        R: std::default::Default,
62    {
63        pub(crate) fn new(
64            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
65        ) -> Self {
66            Self {
67                stub,
68                request: R::default(),
69                options: crate::RequestOptions::default(),
70            }
71        }
72    }
73
74    /// The request builder for [SecurityCenter::batch_create_resource_value_configs][crate::client::SecurityCenter::batch_create_resource_value_configs] calls.
75    ///
76    /// # Example
77    /// ```
78    /// # use google_cloud_securitycenter_v2::builder::security_center::BatchCreateResourceValueConfigs;
79    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
80    ///
81    /// let builder = prepare_request_builder();
82    /// let response = builder.send().await?;
83    /// # Ok(()) }
84    ///
85    /// fn prepare_request_builder() -> BatchCreateResourceValueConfigs {
86    ///   # panic!();
87    ///   // ... details omitted ...
88    /// }
89    /// ```
90    #[derive(Clone, Debug)]
91    pub struct BatchCreateResourceValueConfigs(
92        RequestBuilder<crate::model::BatchCreateResourceValueConfigsRequest>,
93    );
94
95    impl BatchCreateResourceValueConfigs {
96        pub(crate) fn new(
97            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
98        ) -> Self {
99            Self(RequestBuilder::new(stub))
100        }
101
102        /// Sets the full request, replacing any prior values.
103        pub fn with_request<V: Into<crate::model::BatchCreateResourceValueConfigsRequest>>(
104            mut self,
105            v: V,
106        ) -> Self {
107            self.0.request = v.into();
108            self
109        }
110
111        /// Sets all the options, replacing any prior values.
112        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
113            self.0.options = v.into();
114            self
115        }
116
117        /// Sends the request.
118        pub async fn send(self) -> Result<crate::model::BatchCreateResourceValueConfigsResponse> {
119            (*self.0.stub)
120                .batch_create_resource_value_configs(self.0.request, self.0.options)
121                .await
122                .map(crate::Response::into_body)
123        }
124
125        /// Sets the value of [parent][crate::model::BatchCreateResourceValueConfigsRequest::parent].
126        ///
127        /// This is a **required** field for requests.
128        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
129            self.0.request.parent = v.into();
130            self
131        }
132
133        /// Sets the value of [requests][crate::model::BatchCreateResourceValueConfigsRequest::requests].
134        ///
135        /// This is a **required** field for requests.
136        pub fn set_requests<T, V>(mut self, v: T) -> Self
137        where
138            T: std::iter::IntoIterator<Item = V>,
139            V: std::convert::Into<crate::model::CreateResourceValueConfigRequest>,
140        {
141            use std::iter::Iterator;
142            self.0.request.requests = v.into_iter().map(|i| i.into()).collect();
143            self
144        }
145    }
146
147    #[doc(hidden)]
148    impl crate::RequestBuilder for BatchCreateResourceValueConfigs {
149        fn request_options(&mut self) -> &mut crate::RequestOptions {
150            &mut self.0.options
151        }
152    }
153
154    /// The request builder for [SecurityCenter::bulk_mute_findings][crate::client::SecurityCenter::bulk_mute_findings] calls.
155    ///
156    /// # Example
157    /// ```
158    /// # use google_cloud_securitycenter_v2::builder::security_center::BulkMuteFindings;
159    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
160    /// use google_cloud_lro::Poller;
161    ///
162    /// let builder = prepare_request_builder();
163    /// let response = builder.poller().until_done().await?;
164    /// # Ok(()) }
165    ///
166    /// fn prepare_request_builder() -> BulkMuteFindings {
167    ///   # panic!();
168    ///   // ... details omitted ...
169    /// }
170    /// ```
171    #[derive(Clone, Debug)]
172    pub struct BulkMuteFindings(RequestBuilder<crate::model::BulkMuteFindingsRequest>);
173
174    impl BulkMuteFindings {
175        pub(crate) fn new(
176            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
177        ) -> Self {
178            Self(RequestBuilder::new(stub))
179        }
180
181        /// Sets the full request, replacing any prior values.
182        pub fn with_request<V: Into<crate::model::BulkMuteFindingsRequest>>(
183            mut self,
184            v: V,
185        ) -> Self {
186            self.0.request = v.into();
187            self
188        }
189
190        /// Sets all the options, replacing any prior values.
191        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
192            self.0.options = v.into();
193            self
194        }
195
196        /// Sends the request.
197        ///
198        /// # Long running operations
199        ///
200        /// This starts, but does not poll, a longrunning operation. More information
201        /// on [bulk_mute_findings][crate::client::SecurityCenter::bulk_mute_findings].
202        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
203            (*self.0.stub)
204                .bulk_mute_findings(self.0.request, self.0.options)
205                .await
206                .map(crate::Response::into_body)
207        }
208
209        /// Creates a [Poller][google_cloud_lro::Poller] to work with `bulk_mute_findings`.
210        pub fn poller(
211            self,
212        ) -> impl google_cloud_lro::Poller<crate::model::BulkMuteFindingsResponse, ()> {
213            type Operation = google_cloud_lro::internal::Operation<
214                crate::model::BulkMuteFindingsResponse,
215                wkt::Empty,
216            >;
217            let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
218            let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
219            let mut poller_options = self.0.stub.get_poller_options(&self.0.options);
220            if let Some(ref mut details) = poller_options.tracing {
221                details.method_name = "google_cloud_securitycenter_v2::client::SecurityCenter::bulk_mute_findings::until_done";
222            }
223
224            let stub = self.0.stub.clone();
225            let mut options = self.0.options.clone();
226            options.set_retry_policy(google_cloud_gax::retry_policy::NeverRetry);
227            let query = move |name| {
228                let stub = stub.clone();
229                let options = options.clone();
230                async {
231                    let op = GetOperation::new(stub)
232                        .set_name(name)
233                        .with_options(options)
234                        .send()
235                        .await?;
236                    Ok(Operation::new(op))
237                }
238            };
239
240            let start = move || async {
241                let op = self.send().await?;
242                Ok(Operation::new(op))
243            };
244
245            use google_cloud_lro::internal::PollerExt;
246            {
247                google_cloud_lro::internal::new_unit_metadata_poller(
248                    polling_error_policy,
249                    polling_backoff_policy,
250                    start,
251                    query,
252                )
253            }
254            .with_options(poller_options)
255        }
256
257        /// Sets the value of [parent][crate::model::BulkMuteFindingsRequest::parent].
258        ///
259        /// This is a **required** field for requests.
260        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
261            self.0.request.parent = v.into();
262            self
263        }
264
265        /// Sets the value of [filter][crate::model::BulkMuteFindingsRequest::filter].
266        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
267            self.0.request.filter = v.into();
268            self
269        }
270
271        /// Sets the value of [mute_state][crate::model::BulkMuteFindingsRequest::mute_state].
272        pub fn set_mute_state<T: Into<crate::model::bulk_mute_findings_request::MuteState>>(
273            mut self,
274            v: T,
275        ) -> Self {
276            self.0.request.mute_state = v.into();
277            self
278        }
279    }
280
281    #[doc(hidden)]
282    impl crate::RequestBuilder for BulkMuteFindings {
283        fn request_options(&mut self) -> &mut crate::RequestOptions {
284            &mut self.0.options
285        }
286    }
287
288    /// The request builder for [SecurityCenter::create_big_query_export][crate::client::SecurityCenter::create_big_query_export] calls.
289    ///
290    /// # Example
291    /// ```
292    /// # use google_cloud_securitycenter_v2::builder::security_center::CreateBigQueryExport;
293    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
294    ///
295    /// let builder = prepare_request_builder();
296    /// let response = builder.send().await?;
297    /// # Ok(()) }
298    ///
299    /// fn prepare_request_builder() -> CreateBigQueryExport {
300    ///   # panic!();
301    ///   // ... details omitted ...
302    /// }
303    /// ```
304    #[derive(Clone, Debug)]
305    pub struct CreateBigQueryExport(RequestBuilder<crate::model::CreateBigQueryExportRequest>);
306
307    impl CreateBigQueryExport {
308        pub(crate) fn new(
309            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
310        ) -> Self {
311            Self(RequestBuilder::new(stub))
312        }
313
314        /// Sets the full request, replacing any prior values.
315        pub fn with_request<V: Into<crate::model::CreateBigQueryExportRequest>>(
316            mut self,
317            v: V,
318        ) -> Self {
319            self.0.request = v.into();
320            self
321        }
322
323        /// Sets all the options, replacing any prior values.
324        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
325            self.0.options = v.into();
326            self
327        }
328
329        /// Sends the request.
330        pub async fn send(self) -> Result<crate::model::BigQueryExport> {
331            (*self.0.stub)
332                .create_big_query_export(self.0.request, self.0.options)
333                .await
334                .map(crate::Response::into_body)
335        }
336
337        /// Sets the value of [parent][crate::model::CreateBigQueryExportRequest::parent].
338        ///
339        /// This is a **required** field for requests.
340        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
341            self.0.request.parent = v.into();
342            self
343        }
344
345        /// Sets the value of [big_query_export][crate::model::CreateBigQueryExportRequest::big_query_export].
346        ///
347        /// This is a **required** field for requests.
348        pub fn set_big_query_export<T>(mut self, v: T) -> Self
349        where
350            T: std::convert::Into<crate::model::BigQueryExport>,
351        {
352            self.0.request.big_query_export = std::option::Option::Some(v.into());
353            self
354        }
355
356        /// Sets or clears the value of [big_query_export][crate::model::CreateBigQueryExportRequest::big_query_export].
357        ///
358        /// This is a **required** field for requests.
359        pub fn set_or_clear_big_query_export<T>(mut self, v: std::option::Option<T>) -> Self
360        where
361            T: std::convert::Into<crate::model::BigQueryExport>,
362        {
363            self.0.request.big_query_export = v.map(|x| x.into());
364            self
365        }
366
367        /// Sets the value of [big_query_export_id][crate::model::CreateBigQueryExportRequest::big_query_export_id].
368        ///
369        /// This is a **required** field for requests.
370        pub fn set_big_query_export_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
371            self.0.request.big_query_export_id = v.into();
372            self
373        }
374    }
375
376    #[doc(hidden)]
377    impl crate::RequestBuilder for CreateBigQueryExport {
378        fn request_options(&mut self) -> &mut crate::RequestOptions {
379            &mut self.0.options
380        }
381    }
382
383    /// The request builder for [SecurityCenter::create_finding][crate::client::SecurityCenter::create_finding] calls.
384    ///
385    /// # Example
386    /// ```
387    /// # use google_cloud_securitycenter_v2::builder::security_center::CreateFinding;
388    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
389    ///
390    /// let builder = prepare_request_builder();
391    /// let response = builder.send().await?;
392    /// # Ok(()) }
393    ///
394    /// fn prepare_request_builder() -> CreateFinding {
395    ///   # panic!();
396    ///   // ... details omitted ...
397    /// }
398    /// ```
399    #[derive(Clone, Debug)]
400    pub struct CreateFinding(RequestBuilder<crate::model::CreateFindingRequest>);
401
402    impl CreateFinding {
403        pub(crate) fn new(
404            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
405        ) -> Self {
406            Self(RequestBuilder::new(stub))
407        }
408
409        /// Sets the full request, replacing any prior values.
410        pub fn with_request<V: Into<crate::model::CreateFindingRequest>>(mut self, v: V) -> Self {
411            self.0.request = v.into();
412            self
413        }
414
415        /// Sets all the options, replacing any prior values.
416        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
417            self.0.options = v.into();
418            self
419        }
420
421        /// Sends the request.
422        pub async fn send(self) -> Result<crate::model::Finding> {
423            (*self.0.stub)
424                .create_finding(self.0.request, self.0.options)
425                .await
426                .map(crate::Response::into_body)
427        }
428
429        /// Sets the value of [parent][crate::model::CreateFindingRequest::parent].
430        ///
431        /// This is a **required** field for requests.
432        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
433            self.0.request.parent = v.into();
434            self
435        }
436
437        /// Sets the value of [finding_id][crate::model::CreateFindingRequest::finding_id].
438        ///
439        /// This is a **required** field for requests.
440        pub fn set_finding_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
441            self.0.request.finding_id = v.into();
442            self
443        }
444
445        /// Sets the value of [finding][crate::model::CreateFindingRequest::finding].
446        ///
447        /// This is a **required** field for requests.
448        pub fn set_finding<T>(mut self, v: T) -> Self
449        where
450            T: std::convert::Into<crate::model::Finding>,
451        {
452            self.0.request.finding = std::option::Option::Some(v.into());
453            self
454        }
455
456        /// Sets or clears the value of [finding][crate::model::CreateFindingRequest::finding].
457        ///
458        /// This is a **required** field for requests.
459        pub fn set_or_clear_finding<T>(mut self, v: std::option::Option<T>) -> Self
460        where
461            T: std::convert::Into<crate::model::Finding>,
462        {
463            self.0.request.finding = v.map(|x| x.into());
464            self
465        }
466    }
467
468    #[doc(hidden)]
469    impl crate::RequestBuilder for CreateFinding {
470        fn request_options(&mut self) -> &mut crate::RequestOptions {
471            &mut self.0.options
472        }
473    }
474
475    /// The request builder for [SecurityCenter::create_mute_config][crate::client::SecurityCenter::create_mute_config] calls.
476    ///
477    /// # Example
478    /// ```
479    /// # use google_cloud_securitycenter_v2::builder::security_center::CreateMuteConfig;
480    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
481    ///
482    /// let builder = prepare_request_builder();
483    /// let response = builder.send().await?;
484    /// # Ok(()) }
485    ///
486    /// fn prepare_request_builder() -> CreateMuteConfig {
487    ///   # panic!();
488    ///   // ... details omitted ...
489    /// }
490    /// ```
491    #[derive(Clone, Debug)]
492    pub struct CreateMuteConfig(RequestBuilder<crate::model::CreateMuteConfigRequest>);
493
494    impl CreateMuteConfig {
495        pub(crate) fn new(
496            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
497        ) -> Self {
498            Self(RequestBuilder::new(stub))
499        }
500
501        /// Sets the full request, replacing any prior values.
502        pub fn with_request<V: Into<crate::model::CreateMuteConfigRequest>>(
503            mut self,
504            v: V,
505        ) -> Self {
506            self.0.request = v.into();
507            self
508        }
509
510        /// Sets all the options, replacing any prior values.
511        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
512            self.0.options = v.into();
513            self
514        }
515
516        /// Sends the request.
517        pub async fn send(self) -> Result<crate::model::MuteConfig> {
518            (*self.0.stub)
519                .create_mute_config(self.0.request, self.0.options)
520                .await
521                .map(crate::Response::into_body)
522        }
523
524        /// Sets the value of [parent][crate::model::CreateMuteConfigRequest::parent].
525        ///
526        /// This is a **required** field for requests.
527        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
528            self.0.request.parent = v.into();
529            self
530        }
531
532        /// Sets the value of [mute_config][crate::model::CreateMuteConfigRequest::mute_config].
533        ///
534        /// This is a **required** field for requests.
535        pub fn set_mute_config<T>(mut self, v: T) -> Self
536        where
537            T: std::convert::Into<crate::model::MuteConfig>,
538        {
539            self.0.request.mute_config = std::option::Option::Some(v.into());
540            self
541        }
542
543        /// Sets or clears the value of [mute_config][crate::model::CreateMuteConfigRequest::mute_config].
544        ///
545        /// This is a **required** field for requests.
546        pub fn set_or_clear_mute_config<T>(mut self, v: std::option::Option<T>) -> Self
547        where
548            T: std::convert::Into<crate::model::MuteConfig>,
549        {
550            self.0.request.mute_config = v.map(|x| x.into());
551            self
552        }
553
554        /// Sets the value of [mute_config_id][crate::model::CreateMuteConfigRequest::mute_config_id].
555        ///
556        /// This is a **required** field for requests.
557        pub fn set_mute_config_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
558            self.0.request.mute_config_id = v.into();
559            self
560        }
561    }
562
563    #[doc(hidden)]
564    impl crate::RequestBuilder for CreateMuteConfig {
565        fn request_options(&mut self) -> &mut crate::RequestOptions {
566            &mut self.0.options
567        }
568    }
569
570    /// The request builder for [SecurityCenter::create_notification_config][crate::client::SecurityCenter::create_notification_config] calls.
571    ///
572    /// # Example
573    /// ```
574    /// # use google_cloud_securitycenter_v2::builder::security_center::CreateNotificationConfig;
575    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
576    ///
577    /// let builder = prepare_request_builder();
578    /// let response = builder.send().await?;
579    /// # Ok(()) }
580    ///
581    /// fn prepare_request_builder() -> CreateNotificationConfig {
582    ///   # panic!();
583    ///   // ... details omitted ...
584    /// }
585    /// ```
586    #[derive(Clone, Debug)]
587    pub struct CreateNotificationConfig(
588        RequestBuilder<crate::model::CreateNotificationConfigRequest>,
589    );
590
591    impl CreateNotificationConfig {
592        pub(crate) fn new(
593            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
594        ) -> Self {
595            Self(RequestBuilder::new(stub))
596        }
597
598        /// Sets the full request, replacing any prior values.
599        pub fn with_request<V: Into<crate::model::CreateNotificationConfigRequest>>(
600            mut self,
601            v: V,
602        ) -> Self {
603            self.0.request = v.into();
604            self
605        }
606
607        /// Sets all the options, replacing any prior values.
608        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
609            self.0.options = v.into();
610            self
611        }
612
613        /// Sends the request.
614        pub async fn send(self) -> Result<crate::model::NotificationConfig> {
615            (*self.0.stub)
616                .create_notification_config(self.0.request, self.0.options)
617                .await
618                .map(crate::Response::into_body)
619        }
620
621        /// Sets the value of [parent][crate::model::CreateNotificationConfigRequest::parent].
622        ///
623        /// This is a **required** field for requests.
624        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
625            self.0.request.parent = v.into();
626            self
627        }
628
629        /// Sets the value of [config_id][crate::model::CreateNotificationConfigRequest::config_id].
630        ///
631        /// This is a **required** field for requests.
632        pub fn set_config_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
633            self.0.request.config_id = v.into();
634            self
635        }
636
637        /// Sets the value of [notification_config][crate::model::CreateNotificationConfigRequest::notification_config].
638        ///
639        /// This is a **required** field for requests.
640        pub fn set_notification_config<T>(mut self, v: T) -> Self
641        where
642            T: std::convert::Into<crate::model::NotificationConfig>,
643        {
644            self.0.request.notification_config = std::option::Option::Some(v.into());
645            self
646        }
647
648        /// Sets or clears the value of [notification_config][crate::model::CreateNotificationConfigRequest::notification_config].
649        ///
650        /// This is a **required** field for requests.
651        pub fn set_or_clear_notification_config<T>(mut self, v: std::option::Option<T>) -> Self
652        where
653            T: std::convert::Into<crate::model::NotificationConfig>,
654        {
655            self.0.request.notification_config = v.map(|x| x.into());
656            self
657        }
658    }
659
660    #[doc(hidden)]
661    impl crate::RequestBuilder for CreateNotificationConfig {
662        fn request_options(&mut self) -> &mut crate::RequestOptions {
663            &mut self.0.options
664        }
665    }
666
667    /// The request builder for [SecurityCenter::create_source][crate::client::SecurityCenter::create_source] calls.
668    ///
669    /// # Example
670    /// ```
671    /// # use google_cloud_securitycenter_v2::builder::security_center::CreateSource;
672    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
673    ///
674    /// let builder = prepare_request_builder();
675    /// let response = builder.send().await?;
676    /// # Ok(()) }
677    ///
678    /// fn prepare_request_builder() -> CreateSource {
679    ///   # panic!();
680    ///   // ... details omitted ...
681    /// }
682    /// ```
683    #[derive(Clone, Debug)]
684    pub struct CreateSource(RequestBuilder<crate::model::CreateSourceRequest>);
685
686    impl CreateSource {
687        pub(crate) fn new(
688            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
689        ) -> Self {
690            Self(RequestBuilder::new(stub))
691        }
692
693        /// Sets the full request, replacing any prior values.
694        pub fn with_request<V: Into<crate::model::CreateSourceRequest>>(mut self, v: V) -> Self {
695            self.0.request = v.into();
696            self
697        }
698
699        /// Sets all the options, replacing any prior values.
700        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
701            self.0.options = v.into();
702            self
703        }
704
705        /// Sends the request.
706        pub async fn send(self) -> Result<crate::model::Source> {
707            (*self.0.stub)
708                .create_source(self.0.request, self.0.options)
709                .await
710                .map(crate::Response::into_body)
711        }
712
713        /// Sets the value of [parent][crate::model::CreateSourceRequest::parent].
714        ///
715        /// This is a **required** field for requests.
716        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
717            self.0.request.parent = v.into();
718            self
719        }
720
721        /// Sets the value of [source][crate::model::CreateSourceRequest::source].
722        ///
723        /// This is a **required** field for requests.
724        pub fn set_source<T>(mut self, v: T) -> Self
725        where
726            T: std::convert::Into<crate::model::Source>,
727        {
728            self.0.request.source = std::option::Option::Some(v.into());
729            self
730        }
731
732        /// Sets or clears the value of [source][crate::model::CreateSourceRequest::source].
733        ///
734        /// This is a **required** field for requests.
735        pub fn set_or_clear_source<T>(mut self, v: std::option::Option<T>) -> Self
736        where
737            T: std::convert::Into<crate::model::Source>,
738        {
739            self.0.request.source = v.map(|x| x.into());
740            self
741        }
742    }
743
744    #[doc(hidden)]
745    impl crate::RequestBuilder for CreateSource {
746        fn request_options(&mut self) -> &mut crate::RequestOptions {
747            &mut self.0.options
748        }
749    }
750
751    /// The request builder for [SecurityCenter::delete_big_query_export][crate::client::SecurityCenter::delete_big_query_export] calls.
752    ///
753    /// # Example
754    /// ```
755    /// # use google_cloud_securitycenter_v2::builder::security_center::DeleteBigQueryExport;
756    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
757    ///
758    /// let builder = prepare_request_builder();
759    /// let response = builder.send().await?;
760    /// # Ok(()) }
761    ///
762    /// fn prepare_request_builder() -> DeleteBigQueryExport {
763    ///   # panic!();
764    ///   // ... details omitted ...
765    /// }
766    /// ```
767    #[derive(Clone, Debug)]
768    pub struct DeleteBigQueryExport(RequestBuilder<crate::model::DeleteBigQueryExportRequest>);
769
770    impl DeleteBigQueryExport {
771        pub(crate) fn new(
772            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
773        ) -> Self {
774            Self(RequestBuilder::new(stub))
775        }
776
777        /// Sets the full request, replacing any prior values.
778        pub fn with_request<V: Into<crate::model::DeleteBigQueryExportRequest>>(
779            mut self,
780            v: V,
781        ) -> Self {
782            self.0.request = v.into();
783            self
784        }
785
786        /// Sets all the options, replacing any prior values.
787        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
788            self.0.options = v.into();
789            self
790        }
791
792        /// Sends the request.
793        pub async fn send(self) -> Result<()> {
794            (*self.0.stub)
795                .delete_big_query_export(self.0.request, self.0.options)
796                .await
797                .map(crate::Response::into_body)
798        }
799
800        /// Sets the value of [name][crate::model::DeleteBigQueryExportRequest::name].
801        ///
802        /// This is a **required** field for requests.
803        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
804            self.0.request.name = v.into();
805            self
806        }
807    }
808
809    #[doc(hidden)]
810    impl crate::RequestBuilder for DeleteBigQueryExport {
811        fn request_options(&mut self) -> &mut crate::RequestOptions {
812            &mut self.0.options
813        }
814    }
815
816    /// The request builder for [SecurityCenter::delete_mute_config][crate::client::SecurityCenter::delete_mute_config] calls.
817    ///
818    /// # Example
819    /// ```
820    /// # use google_cloud_securitycenter_v2::builder::security_center::DeleteMuteConfig;
821    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
822    ///
823    /// let builder = prepare_request_builder();
824    /// let response = builder.send().await?;
825    /// # Ok(()) }
826    ///
827    /// fn prepare_request_builder() -> DeleteMuteConfig {
828    ///   # panic!();
829    ///   // ... details omitted ...
830    /// }
831    /// ```
832    #[derive(Clone, Debug)]
833    pub struct DeleteMuteConfig(RequestBuilder<crate::model::DeleteMuteConfigRequest>);
834
835    impl DeleteMuteConfig {
836        pub(crate) fn new(
837            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
838        ) -> Self {
839            Self(RequestBuilder::new(stub))
840        }
841
842        /// Sets the full request, replacing any prior values.
843        pub fn with_request<V: Into<crate::model::DeleteMuteConfigRequest>>(
844            mut self,
845            v: V,
846        ) -> Self {
847            self.0.request = v.into();
848            self
849        }
850
851        /// Sets all the options, replacing any prior values.
852        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
853            self.0.options = v.into();
854            self
855        }
856
857        /// Sends the request.
858        pub async fn send(self) -> Result<()> {
859            (*self.0.stub)
860                .delete_mute_config(self.0.request, self.0.options)
861                .await
862                .map(crate::Response::into_body)
863        }
864
865        /// Sets the value of [name][crate::model::DeleteMuteConfigRequest::name].
866        ///
867        /// This is a **required** field for requests.
868        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
869            self.0.request.name = v.into();
870            self
871        }
872    }
873
874    #[doc(hidden)]
875    impl crate::RequestBuilder for DeleteMuteConfig {
876        fn request_options(&mut self) -> &mut crate::RequestOptions {
877            &mut self.0.options
878        }
879    }
880
881    /// The request builder for [SecurityCenter::delete_notification_config][crate::client::SecurityCenter::delete_notification_config] calls.
882    ///
883    /// # Example
884    /// ```
885    /// # use google_cloud_securitycenter_v2::builder::security_center::DeleteNotificationConfig;
886    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
887    ///
888    /// let builder = prepare_request_builder();
889    /// let response = builder.send().await?;
890    /// # Ok(()) }
891    ///
892    /// fn prepare_request_builder() -> DeleteNotificationConfig {
893    ///   # panic!();
894    ///   // ... details omitted ...
895    /// }
896    /// ```
897    #[derive(Clone, Debug)]
898    pub struct DeleteNotificationConfig(
899        RequestBuilder<crate::model::DeleteNotificationConfigRequest>,
900    );
901
902    impl DeleteNotificationConfig {
903        pub(crate) fn new(
904            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
905        ) -> Self {
906            Self(RequestBuilder::new(stub))
907        }
908
909        /// Sets the full request, replacing any prior values.
910        pub fn with_request<V: Into<crate::model::DeleteNotificationConfigRequest>>(
911            mut self,
912            v: V,
913        ) -> Self {
914            self.0.request = v.into();
915            self
916        }
917
918        /// Sets all the options, replacing any prior values.
919        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
920            self.0.options = v.into();
921            self
922        }
923
924        /// Sends the request.
925        pub async fn send(self) -> Result<()> {
926            (*self.0.stub)
927                .delete_notification_config(self.0.request, self.0.options)
928                .await
929                .map(crate::Response::into_body)
930        }
931
932        /// Sets the value of [name][crate::model::DeleteNotificationConfigRequest::name].
933        ///
934        /// This is a **required** field for requests.
935        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
936            self.0.request.name = v.into();
937            self
938        }
939    }
940
941    #[doc(hidden)]
942    impl crate::RequestBuilder for DeleteNotificationConfig {
943        fn request_options(&mut self) -> &mut crate::RequestOptions {
944            &mut self.0.options
945        }
946    }
947
948    /// The request builder for [SecurityCenter::delete_resource_value_config][crate::client::SecurityCenter::delete_resource_value_config] calls.
949    ///
950    /// # Example
951    /// ```
952    /// # use google_cloud_securitycenter_v2::builder::security_center::DeleteResourceValueConfig;
953    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
954    ///
955    /// let builder = prepare_request_builder();
956    /// let response = builder.send().await?;
957    /// # Ok(()) }
958    ///
959    /// fn prepare_request_builder() -> DeleteResourceValueConfig {
960    ///   # panic!();
961    ///   // ... details omitted ...
962    /// }
963    /// ```
964    #[derive(Clone, Debug)]
965    pub struct DeleteResourceValueConfig(
966        RequestBuilder<crate::model::DeleteResourceValueConfigRequest>,
967    );
968
969    impl DeleteResourceValueConfig {
970        pub(crate) fn new(
971            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
972        ) -> Self {
973            Self(RequestBuilder::new(stub))
974        }
975
976        /// Sets the full request, replacing any prior values.
977        pub fn with_request<V: Into<crate::model::DeleteResourceValueConfigRequest>>(
978            mut self,
979            v: V,
980        ) -> Self {
981            self.0.request = v.into();
982            self
983        }
984
985        /// Sets all the options, replacing any prior values.
986        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
987            self.0.options = v.into();
988            self
989        }
990
991        /// Sends the request.
992        pub async fn send(self) -> Result<()> {
993            (*self.0.stub)
994                .delete_resource_value_config(self.0.request, self.0.options)
995                .await
996                .map(crate::Response::into_body)
997        }
998
999        /// Sets the value of [name][crate::model::DeleteResourceValueConfigRequest::name].
1000        ///
1001        /// This is a **required** field for requests.
1002        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1003            self.0.request.name = v.into();
1004            self
1005        }
1006    }
1007
1008    #[doc(hidden)]
1009    impl crate::RequestBuilder for DeleteResourceValueConfig {
1010        fn request_options(&mut self) -> &mut crate::RequestOptions {
1011            &mut self.0.options
1012        }
1013    }
1014
1015    /// The request builder for [SecurityCenter::get_big_query_export][crate::client::SecurityCenter::get_big_query_export] calls.
1016    ///
1017    /// # Example
1018    /// ```
1019    /// # use google_cloud_securitycenter_v2::builder::security_center::GetBigQueryExport;
1020    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1021    ///
1022    /// let builder = prepare_request_builder();
1023    /// let response = builder.send().await?;
1024    /// # Ok(()) }
1025    ///
1026    /// fn prepare_request_builder() -> GetBigQueryExport {
1027    ///   # panic!();
1028    ///   // ... details omitted ...
1029    /// }
1030    /// ```
1031    #[derive(Clone, Debug)]
1032    pub struct GetBigQueryExport(RequestBuilder<crate::model::GetBigQueryExportRequest>);
1033
1034    impl GetBigQueryExport {
1035        pub(crate) fn new(
1036            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1037        ) -> Self {
1038            Self(RequestBuilder::new(stub))
1039        }
1040
1041        /// Sets the full request, replacing any prior values.
1042        pub fn with_request<V: Into<crate::model::GetBigQueryExportRequest>>(
1043            mut self,
1044            v: V,
1045        ) -> Self {
1046            self.0.request = v.into();
1047            self
1048        }
1049
1050        /// Sets all the options, replacing any prior values.
1051        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1052            self.0.options = v.into();
1053            self
1054        }
1055
1056        /// Sends the request.
1057        pub async fn send(self) -> Result<crate::model::BigQueryExport> {
1058            (*self.0.stub)
1059                .get_big_query_export(self.0.request, self.0.options)
1060                .await
1061                .map(crate::Response::into_body)
1062        }
1063
1064        /// Sets the value of [name][crate::model::GetBigQueryExportRequest::name].
1065        ///
1066        /// This is a **required** field for requests.
1067        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1068            self.0.request.name = v.into();
1069            self
1070        }
1071    }
1072
1073    #[doc(hidden)]
1074    impl crate::RequestBuilder for GetBigQueryExport {
1075        fn request_options(&mut self) -> &mut crate::RequestOptions {
1076            &mut self.0.options
1077        }
1078    }
1079
1080    /// The request builder for [SecurityCenter::get_simulation][crate::client::SecurityCenter::get_simulation] calls.
1081    ///
1082    /// # Example
1083    /// ```
1084    /// # use google_cloud_securitycenter_v2::builder::security_center::GetSimulation;
1085    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1086    ///
1087    /// let builder = prepare_request_builder();
1088    /// let response = builder.send().await?;
1089    /// # Ok(()) }
1090    ///
1091    /// fn prepare_request_builder() -> GetSimulation {
1092    ///   # panic!();
1093    ///   // ... details omitted ...
1094    /// }
1095    /// ```
1096    #[derive(Clone, Debug)]
1097    pub struct GetSimulation(RequestBuilder<crate::model::GetSimulationRequest>);
1098
1099    impl GetSimulation {
1100        pub(crate) fn new(
1101            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1102        ) -> Self {
1103            Self(RequestBuilder::new(stub))
1104        }
1105
1106        /// Sets the full request, replacing any prior values.
1107        pub fn with_request<V: Into<crate::model::GetSimulationRequest>>(mut self, v: V) -> Self {
1108            self.0.request = v.into();
1109            self
1110        }
1111
1112        /// Sets all the options, replacing any prior values.
1113        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1114            self.0.options = v.into();
1115            self
1116        }
1117
1118        /// Sends the request.
1119        pub async fn send(self) -> Result<crate::model::Simulation> {
1120            (*self.0.stub)
1121                .get_simulation(self.0.request, self.0.options)
1122                .await
1123                .map(crate::Response::into_body)
1124        }
1125
1126        /// Sets the value of [name][crate::model::GetSimulationRequest::name].
1127        ///
1128        /// This is a **required** field for requests.
1129        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1130            self.0.request.name = v.into();
1131            self
1132        }
1133    }
1134
1135    #[doc(hidden)]
1136    impl crate::RequestBuilder for GetSimulation {
1137        fn request_options(&mut self) -> &mut crate::RequestOptions {
1138            &mut self.0.options
1139        }
1140    }
1141
1142    /// The request builder for [SecurityCenter::get_valued_resource][crate::client::SecurityCenter::get_valued_resource] calls.
1143    ///
1144    /// # Example
1145    /// ```
1146    /// # use google_cloud_securitycenter_v2::builder::security_center::GetValuedResource;
1147    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1148    ///
1149    /// let builder = prepare_request_builder();
1150    /// let response = builder.send().await?;
1151    /// # Ok(()) }
1152    ///
1153    /// fn prepare_request_builder() -> GetValuedResource {
1154    ///   # panic!();
1155    ///   // ... details omitted ...
1156    /// }
1157    /// ```
1158    #[derive(Clone, Debug)]
1159    pub struct GetValuedResource(RequestBuilder<crate::model::GetValuedResourceRequest>);
1160
1161    impl GetValuedResource {
1162        pub(crate) fn new(
1163            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1164        ) -> Self {
1165            Self(RequestBuilder::new(stub))
1166        }
1167
1168        /// Sets the full request, replacing any prior values.
1169        pub fn with_request<V: Into<crate::model::GetValuedResourceRequest>>(
1170            mut self,
1171            v: V,
1172        ) -> Self {
1173            self.0.request = v.into();
1174            self
1175        }
1176
1177        /// Sets all the options, replacing any prior values.
1178        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1179            self.0.options = v.into();
1180            self
1181        }
1182
1183        /// Sends the request.
1184        pub async fn send(self) -> Result<crate::model::ValuedResource> {
1185            (*self.0.stub)
1186                .get_valued_resource(self.0.request, self.0.options)
1187                .await
1188                .map(crate::Response::into_body)
1189        }
1190
1191        /// Sets the value of [name][crate::model::GetValuedResourceRequest::name].
1192        ///
1193        /// This is a **required** field for requests.
1194        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1195            self.0.request.name = v.into();
1196            self
1197        }
1198    }
1199
1200    #[doc(hidden)]
1201    impl crate::RequestBuilder for GetValuedResource {
1202        fn request_options(&mut self) -> &mut crate::RequestOptions {
1203            &mut self.0.options
1204        }
1205    }
1206
1207    /// The request builder for [SecurityCenter::get_iam_policy][crate::client::SecurityCenter::get_iam_policy] calls.
1208    ///
1209    /// # Example
1210    /// ```
1211    /// # use google_cloud_securitycenter_v2::builder::security_center::GetIamPolicy;
1212    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1213    ///
1214    /// let builder = prepare_request_builder();
1215    /// let response = builder.send().await?;
1216    /// # Ok(()) }
1217    ///
1218    /// fn prepare_request_builder() -> GetIamPolicy {
1219    ///   # panic!();
1220    ///   // ... details omitted ...
1221    /// }
1222    /// ```
1223    #[derive(Clone, Debug)]
1224    pub struct GetIamPolicy(RequestBuilder<google_cloud_iam_v1::model::GetIamPolicyRequest>);
1225
1226    impl GetIamPolicy {
1227        pub(crate) fn new(
1228            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1229        ) -> Self {
1230            Self(RequestBuilder::new(stub))
1231        }
1232
1233        /// Sets the full request, replacing any prior values.
1234        pub fn with_request<V: Into<google_cloud_iam_v1::model::GetIamPolicyRequest>>(
1235            mut self,
1236            v: V,
1237        ) -> Self {
1238            self.0.request = v.into();
1239            self
1240        }
1241
1242        /// Sets all the options, replacing any prior values.
1243        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1244            self.0.options = v.into();
1245            self
1246        }
1247
1248        /// Sends the request.
1249        pub async fn send(self) -> Result<google_cloud_iam_v1::model::Policy> {
1250            (*self.0.stub)
1251                .get_iam_policy(self.0.request, self.0.options)
1252                .await
1253                .map(crate::Response::into_body)
1254        }
1255
1256        /// Sets the value of [resource][google_cloud_iam_v1::model::GetIamPolicyRequest::resource].
1257        ///
1258        /// This is a **required** field for requests.
1259        pub fn set_resource<T: Into<std::string::String>>(mut self, v: T) -> Self {
1260            self.0.request.resource = v.into();
1261            self
1262        }
1263
1264        /// Sets the value of [options][google_cloud_iam_v1::model::GetIamPolicyRequest::options].
1265        pub fn set_options<T>(mut self, v: T) -> Self
1266        where
1267            T: std::convert::Into<google_cloud_iam_v1::model::GetPolicyOptions>,
1268        {
1269            self.0.request.options = std::option::Option::Some(v.into());
1270            self
1271        }
1272
1273        /// Sets or clears the value of [options][google_cloud_iam_v1::model::GetIamPolicyRequest::options].
1274        pub fn set_or_clear_options<T>(mut self, v: std::option::Option<T>) -> Self
1275        where
1276            T: std::convert::Into<google_cloud_iam_v1::model::GetPolicyOptions>,
1277        {
1278            self.0.request.options = v.map(|x| x.into());
1279            self
1280        }
1281    }
1282
1283    #[doc(hidden)]
1284    impl crate::RequestBuilder for GetIamPolicy {
1285        fn request_options(&mut self) -> &mut crate::RequestOptions {
1286            &mut self.0.options
1287        }
1288    }
1289
1290    /// The request builder for [SecurityCenter::get_mute_config][crate::client::SecurityCenter::get_mute_config] calls.
1291    ///
1292    /// # Example
1293    /// ```
1294    /// # use google_cloud_securitycenter_v2::builder::security_center::GetMuteConfig;
1295    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1296    ///
1297    /// let builder = prepare_request_builder();
1298    /// let response = builder.send().await?;
1299    /// # Ok(()) }
1300    ///
1301    /// fn prepare_request_builder() -> GetMuteConfig {
1302    ///   # panic!();
1303    ///   // ... details omitted ...
1304    /// }
1305    /// ```
1306    #[derive(Clone, Debug)]
1307    pub struct GetMuteConfig(RequestBuilder<crate::model::GetMuteConfigRequest>);
1308
1309    impl GetMuteConfig {
1310        pub(crate) fn new(
1311            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1312        ) -> Self {
1313            Self(RequestBuilder::new(stub))
1314        }
1315
1316        /// Sets the full request, replacing any prior values.
1317        pub fn with_request<V: Into<crate::model::GetMuteConfigRequest>>(mut self, v: V) -> Self {
1318            self.0.request = v.into();
1319            self
1320        }
1321
1322        /// Sets all the options, replacing any prior values.
1323        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1324            self.0.options = v.into();
1325            self
1326        }
1327
1328        /// Sends the request.
1329        pub async fn send(self) -> Result<crate::model::MuteConfig> {
1330            (*self.0.stub)
1331                .get_mute_config(self.0.request, self.0.options)
1332                .await
1333                .map(crate::Response::into_body)
1334        }
1335
1336        /// Sets the value of [name][crate::model::GetMuteConfigRequest::name].
1337        ///
1338        /// This is a **required** field for requests.
1339        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1340            self.0.request.name = v.into();
1341            self
1342        }
1343    }
1344
1345    #[doc(hidden)]
1346    impl crate::RequestBuilder for GetMuteConfig {
1347        fn request_options(&mut self) -> &mut crate::RequestOptions {
1348            &mut self.0.options
1349        }
1350    }
1351
1352    /// The request builder for [SecurityCenter::get_notification_config][crate::client::SecurityCenter::get_notification_config] calls.
1353    ///
1354    /// # Example
1355    /// ```
1356    /// # use google_cloud_securitycenter_v2::builder::security_center::GetNotificationConfig;
1357    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1358    ///
1359    /// let builder = prepare_request_builder();
1360    /// let response = builder.send().await?;
1361    /// # Ok(()) }
1362    ///
1363    /// fn prepare_request_builder() -> GetNotificationConfig {
1364    ///   # panic!();
1365    ///   // ... details omitted ...
1366    /// }
1367    /// ```
1368    #[derive(Clone, Debug)]
1369    pub struct GetNotificationConfig(RequestBuilder<crate::model::GetNotificationConfigRequest>);
1370
1371    impl GetNotificationConfig {
1372        pub(crate) fn new(
1373            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1374        ) -> Self {
1375            Self(RequestBuilder::new(stub))
1376        }
1377
1378        /// Sets the full request, replacing any prior values.
1379        pub fn with_request<V: Into<crate::model::GetNotificationConfigRequest>>(
1380            mut self,
1381            v: V,
1382        ) -> Self {
1383            self.0.request = v.into();
1384            self
1385        }
1386
1387        /// Sets all the options, replacing any prior values.
1388        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1389            self.0.options = v.into();
1390            self
1391        }
1392
1393        /// Sends the request.
1394        pub async fn send(self) -> Result<crate::model::NotificationConfig> {
1395            (*self.0.stub)
1396                .get_notification_config(self.0.request, self.0.options)
1397                .await
1398                .map(crate::Response::into_body)
1399        }
1400
1401        /// Sets the value of [name][crate::model::GetNotificationConfigRequest::name].
1402        ///
1403        /// This is a **required** field for requests.
1404        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1405            self.0.request.name = v.into();
1406            self
1407        }
1408    }
1409
1410    #[doc(hidden)]
1411    impl crate::RequestBuilder for GetNotificationConfig {
1412        fn request_options(&mut self) -> &mut crate::RequestOptions {
1413            &mut self.0.options
1414        }
1415    }
1416
1417    /// The request builder for [SecurityCenter::get_resource_value_config][crate::client::SecurityCenter::get_resource_value_config] calls.
1418    ///
1419    /// # Example
1420    /// ```
1421    /// # use google_cloud_securitycenter_v2::builder::security_center::GetResourceValueConfig;
1422    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1423    ///
1424    /// let builder = prepare_request_builder();
1425    /// let response = builder.send().await?;
1426    /// # Ok(()) }
1427    ///
1428    /// fn prepare_request_builder() -> GetResourceValueConfig {
1429    ///   # panic!();
1430    ///   // ... details omitted ...
1431    /// }
1432    /// ```
1433    #[derive(Clone, Debug)]
1434    pub struct GetResourceValueConfig(RequestBuilder<crate::model::GetResourceValueConfigRequest>);
1435
1436    impl GetResourceValueConfig {
1437        pub(crate) fn new(
1438            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1439        ) -> Self {
1440            Self(RequestBuilder::new(stub))
1441        }
1442
1443        /// Sets the full request, replacing any prior values.
1444        pub fn with_request<V: Into<crate::model::GetResourceValueConfigRequest>>(
1445            mut self,
1446            v: V,
1447        ) -> Self {
1448            self.0.request = v.into();
1449            self
1450        }
1451
1452        /// Sets all the options, replacing any prior values.
1453        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1454            self.0.options = v.into();
1455            self
1456        }
1457
1458        /// Sends the request.
1459        pub async fn send(self) -> Result<crate::model::ResourceValueConfig> {
1460            (*self.0.stub)
1461                .get_resource_value_config(self.0.request, self.0.options)
1462                .await
1463                .map(crate::Response::into_body)
1464        }
1465
1466        /// Sets the value of [name][crate::model::GetResourceValueConfigRequest::name].
1467        ///
1468        /// This is a **required** field for requests.
1469        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1470            self.0.request.name = v.into();
1471            self
1472        }
1473    }
1474
1475    #[doc(hidden)]
1476    impl crate::RequestBuilder for GetResourceValueConfig {
1477        fn request_options(&mut self) -> &mut crate::RequestOptions {
1478            &mut self.0.options
1479        }
1480    }
1481
1482    /// The request builder for [SecurityCenter::get_source][crate::client::SecurityCenter::get_source] calls.
1483    ///
1484    /// # Example
1485    /// ```
1486    /// # use google_cloud_securitycenter_v2::builder::security_center::GetSource;
1487    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1488    ///
1489    /// let builder = prepare_request_builder();
1490    /// let response = builder.send().await?;
1491    /// # Ok(()) }
1492    ///
1493    /// fn prepare_request_builder() -> GetSource {
1494    ///   # panic!();
1495    ///   // ... details omitted ...
1496    /// }
1497    /// ```
1498    #[derive(Clone, Debug)]
1499    pub struct GetSource(RequestBuilder<crate::model::GetSourceRequest>);
1500
1501    impl GetSource {
1502        pub(crate) fn new(
1503            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1504        ) -> Self {
1505            Self(RequestBuilder::new(stub))
1506        }
1507
1508        /// Sets the full request, replacing any prior values.
1509        pub fn with_request<V: Into<crate::model::GetSourceRequest>>(mut self, v: V) -> Self {
1510            self.0.request = v.into();
1511            self
1512        }
1513
1514        /// Sets all the options, replacing any prior values.
1515        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1516            self.0.options = v.into();
1517            self
1518        }
1519
1520        /// Sends the request.
1521        pub async fn send(self) -> Result<crate::model::Source> {
1522            (*self.0.stub)
1523                .get_source(self.0.request, self.0.options)
1524                .await
1525                .map(crate::Response::into_body)
1526        }
1527
1528        /// Sets the value of [name][crate::model::GetSourceRequest::name].
1529        ///
1530        /// This is a **required** field for requests.
1531        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1532            self.0.request.name = v.into();
1533            self
1534        }
1535    }
1536
1537    #[doc(hidden)]
1538    impl crate::RequestBuilder for GetSource {
1539        fn request_options(&mut self) -> &mut crate::RequestOptions {
1540            &mut self.0.options
1541        }
1542    }
1543
1544    /// The request builder for [SecurityCenter::group_findings][crate::client::SecurityCenter::group_findings] calls.
1545    ///
1546    /// # Example
1547    /// ```
1548    /// # use google_cloud_securitycenter_v2::builder::security_center::GroupFindings;
1549    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1550    /// use google_cloud_gax::paginator::ItemPaginator;
1551    ///
1552    /// let builder = prepare_request_builder();
1553    /// let mut items = builder.by_item();
1554    /// while let Some(result) = items.next().await {
1555    ///   let item = result?;
1556    /// }
1557    /// # Ok(()) }
1558    ///
1559    /// fn prepare_request_builder() -> GroupFindings {
1560    ///   # panic!();
1561    ///   // ... details omitted ...
1562    /// }
1563    /// ```
1564    #[derive(Clone, Debug)]
1565    pub struct GroupFindings(RequestBuilder<crate::model::GroupFindingsRequest>);
1566
1567    impl GroupFindings {
1568        pub(crate) fn new(
1569            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1570        ) -> Self {
1571            Self(RequestBuilder::new(stub))
1572        }
1573
1574        /// Sets the full request, replacing any prior values.
1575        pub fn with_request<V: Into<crate::model::GroupFindingsRequest>>(mut self, v: V) -> Self {
1576            self.0.request = v.into();
1577            self
1578        }
1579
1580        /// Sets all the options, replacing any prior values.
1581        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1582            self.0.options = v.into();
1583            self
1584        }
1585
1586        /// Sends the request.
1587        pub async fn send(self) -> Result<crate::model::GroupFindingsResponse> {
1588            (*self.0.stub)
1589                .group_findings(self.0.request, self.0.options)
1590                .await
1591                .map(crate::Response::into_body)
1592        }
1593
1594        /// Streams each page in the collection.
1595        pub fn by_page(
1596            self,
1597        ) -> impl google_cloud_gax::paginator::Paginator<crate::model::GroupFindingsResponse, crate::Error>
1598        {
1599            use std::clone::Clone;
1600            let token = self.0.request.page_token.clone();
1601            let execute = move |token: String| {
1602                let mut builder = self.clone();
1603                builder.0.request = builder.0.request.set_page_token(token);
1604                builder.send()
1605            };
1606            google_cloud_gax::paginator::internal::new_paginator(token, execute)
1607        }
1608
1609        /// Streams each item in the collection.
1610        pub fn by_item(
1611            self,
1612        ) -> impl google_cloud_gax::paginator::ItemPaginator<
1613            crate::model::GroupFindingsResponse,
1614            crate::Error,
1615        > {
1616            use google_cloud_gax::paginator::Paginator;
1617            self.by_page().items()
1618        }
1619
1620        /// Sets the value of [parent][crate::model::GroupFindingsRequest::parent].
1621        ///
1622        /// This is a **required** field for requests.
1623        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
1624            self.0.request.parent = v.into();
1625            self
1626        }
1627
1628        /// Sets the value of [filter][crate::model::GroupFindingsRequest::filter].
1629        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1630            self.0.request.filter = v.into();
1631            self
1632        }
1633
1634        /// Sets the value of [group_by][crate::model::GroupFindingsRequest::group_by].
1635        ///
1636        /// This is a **required** field for requests.
1637        pub fn set_group_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
1638            self.0.request.group_by = v.into();
1639            self
1640        }
1641
1642        /// Sets the value of [page_token][crate::model::GroupFindingsRequest::page_token].
1643        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1644            self.0.request.page_token = v.into();
1645            self
1646        }
1647
1648        /// Sets the value of [page_size][crate::model::GroupFindingsRequest::page_size].
1649        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1650            self.0.request.page_size = v.into();
1651            self
1652        }
1653    }
1654
1655    #[doc(hidden)]
1656    impl crate::RequestBuilder for GroupFindings {
1657        fn request_options(&mut self) -> &mut crate::RequestOptions {
1658            &mut self.0.options
1659        }
1660    }
1661
1662    /// The request builder for [SecurityCenter::list_attack_paths][crate::client::SecurityCenter::list_attack_paths] calls.
1663    ///
1664    /// # Example
1665    /// ```
1666    /// # use google_cloud_securitycenter_v2::builder::security_center::ListAttackPaths;
1667    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1668    /// use google_cloud_gax::paginator::ItemPaginator;
1669    ///
1670    /// let builder = prepare_request_builder();
1671    /// let mut items = builder.by_item();
1672    /// while let Some(result) = items.next().await {
1673    ///   let item = result?;
1674    /// }
1675    /// # Ok(()) }
1676    ///
1677    /// fn prepare_request_builder() -> ListAttackPaths {
1678    ///   # panic!();
1679    ///   // ... details omitted ...
1680    /// }
1681    /// ```
1682    #[derive(Clone, Debug)]
1683    pub struct ListAttackPaths(RequestBuilder<crate::model::ListAttackPathsRequest>);
1684
1685    impl ListAttackPaths {
1686        pub(crate) fn new(
1687            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1688        ) -> Self {
1689            Self(RequestBuilder::new(stub))
1690        }
1691
1692        /// Sets the full request, replacing any prior values.
1693        pub fn with_request<V: Into<crate::model::ListAttackPathsRequest>>(mut self, v: V) -> Self {
1694            self.0.request = v.into();
1695            self
1696        }
1697
1698        /// Sets all the options, replacing any prior values.
1699        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1700            self.0.options = v.into();
1701            self
1702        }
1703
1704        /// Sends the request.
1705        pub async fn send(self) -> Result<crate::model::ListAttackPathsResponse> {
1706            (*self.0.stub)
1707                .list_attack_paths(self.0.request, self.0.options)
1708                .await
1709                .map(crate::Response::into_body)
1710        }
1711
1712        /// Streams each page in the collection.
1713        pub fn by_page(
1714            self,
1715        ) -> impl google_cloud_gax::paginator::Paginator<
1716            crate::model::ListAttackPathsResponse,
1717            crate::Error,
1718        > {
1719            use std::clone::Clone;
1720            let token = self.0.request.page_token.clone();
1721            let execute = move |token: String| {
1722                let mut builder = self.clone();
1723                builder.0.request = builder.0.request.set_page_token(token);
1724                builder.send()
1725            };
1726            google_cloud_gax::paginator::internal::new_paginator(token, execute)
1727        }
1728
1729        /// Streams each item in the collection.
1730        pub fn by_item(
1731            self,
1732        ) -> impl google_cloud_gax::paginator::ItemPaginator<
1733            crate::model::ListAttackPathsResponse,
1734            crate::Error,
1735        > {
1736            use google_cloud_gax::paginator::Paginator;
1737            self.by_page().items()
1738        }
1739
1740        /// Sets the value of [parent][crate::model::ListAttackPathsRequest::parent].
1741        ///
1742        /// This is a **required** field for requests.
1743        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
1744            self.0.request.parent = v.into();
1745            self
1746        }
1747
1748        /// Sets the value of [filter][crate::model::ListAttackPathsRequest::filter].
1749        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1750            self.0.request.filter = v.into();
1751            self
1752        }
1753
1754        /// Sets the value of [page_token][crate::model::ListAttackPathsRequest::page_token].
1755        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1756            self.0.request.page_token = v.into();
1757            self
1758        }
1759
1760        /// Sets the value of [page_size][crate::model::ListAttackPathsRequest::page_size].
1761        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1762            self.0.request.page_size = v.into();
1763            self
1764        }
1765    }
1766
1767    #[doc(hidden)]
1768    impl crate::RequestBuilder for ListAttackPaths {
1769        fn request_options(&mut self) -> &mut crate::RequestOptions {
1770            &mut self.0.options
1771        }
1772    }
1773
1774    /// The request builder for [SecurityCenter::list_big_query_exports][crate::client::SecurityCenter::list_big_query_exports] calls.
1775    ///
1776    /// # Example
1777    /// ```
1778    /// # use google_cloud_securitycenter_v2::builder::security_center::ListBigQueryExports;
1779    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1780    /// use google_cloud_gax::paginator::ItemPaginator;
1781    ///
1782    /// let builder = prepare_request_builder();
1783    /// let mut items = builder.by_item();
1784    /// while let Some(result) = items.next().await {
1785    ///   let item = result?;
1786    /// }
1787    /// # Ok(()) }
1788    ///
1789    /// fn prepare_request_builder() -> ListBigQueryExports {
1790    ///   # panic!();
1791    ///   // ... details omitted ...
1792    /// }
1793    /// ```
1794    #[derive(Clone, Debug)]
1795    pub struct ListBigQueryExports(RequestBuilder<crate::model::ListBigQueryExportsRequest>);
1796
1797    impl ListBigQueryExports {
1798        pub(crate) fn new(
1799            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1800        ) -> Self {
1801            Self(RequestBuilder::new(stub))
1802        }
1803
1804        /// Sets the full request, replacing any prior values.
1805        pub fn with_request<V: Into<crate::model::ListBigQueryExportsRequest>>(
1806            mut self,
1807            v: V,
1808        ) -> Self {
1809            self.0.request = v.into();
1810            self
1811        }
1812
1813        /// Sets all the options, replacing any prior values.
1814        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1815            self.0.options = v.into();
1816            self
1817        }
1818
1819        /// Sends the request.
1820        pub async fn send(self) -> Result<crate::model::ListBigQueryExportsResponse> {
1821            (*self.0.stub)
1822                .list_big_query_exports(self.0.request, self.0.options)
1823                .await
1824                .map(crate::Response::into_body)
1825        }
1826
1827        /// Streams each page in the collection.
1828        pub fn by_page(
1829            self,
1830        ) -> impl google_cloud_gax::paginator::Paginator<
1831            crate::model::ListBigQueryExportsResponse,
1832            crate::Error,
1833        > {
1834            use std::clone::Clone;
1835            let token = self.0.request.page_token.clone();
1836            let execute = move |token: String| {
1837                let mut builder = self.clone();
1838                builder.0.request = builder.0.request.set_page_token(token);
1839                builder.send()
1840            };
1841            google_cloud_gax::paginator::internal::new_paginator(token, execute)
1842        }
1843
1844        /// Streams each item in the collection.
1845        pub fn by_item(
1846            self,
1847        ) -> impl google_cloud_gax::paginator::ItemPaginator<
1848            crate::model::ListBigQueryExportsResponse,
1849            crate::Error,
1850        > {
1851            use google_cloud_gax::paginator::Paginator;
1852            self.by_page().items()
1853        }
1854
1855        /// Sets the value of [parent][crate::model::ListBigQueryExportsRequest::parent].
1856        ///
1857        /// This is a **required** field for requests.
1858        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
1859            self.0.request.parent = v.into();
1860            self
1861        }
1862
1863        /// Sets the value of [page_size][crate::model::ListBigQueryExportsRequest::page_size].
1864        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1865            self.0.request.page_size = v.into();
1866            self
1867        }
1868
1869        /// Sets the value of [page_token][crate::model::ListBigQueryExportsRequest::page_token].
1870        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1871            self.0.request.page_token = v.into();
1872            self
1873        }
1874    }
1875
1876    #[doc(hidden)]
1877    impl crate::RequestBuilder for ListBigQueryExports {
1878        fn request_options(&mut self) -> &mut crate::RequestOptions {
1879            &mut self.0.options
1880        }
1881    }
1882
1883    /// The request builder for [SecurityCenter::list_findings][crate::client::SecurityCenter::list_findings] calls.
1884    ///
1885    /// # Example
1886    /// ```
1887    /// # use google_cloud_securitycenter_v2::builder::security_center::ListFindings;
1888    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
1889    /// use google_cloud_gax::paginator::ItemPaginator;
1890    ///
1891    /// let builder = prepare_request_builder();
1892    /// let mut items = builder.by_item();
1893    /// while let Some(result) = items.next().await {
1894    ///   let item = result?;
1895    /// }
1896    /// # Ok(()) }
1897    ///
1898    /// fn prepare_request_builder() -> ListFindings {
1899    ///   # panic!();
1900    ///   // ... details omitted ...
1901    /// }
1902    /// ```
1903    #[derive(Clone, Debug)]
1904    pub struct ListFindings(RequestBuilder<crate::model::ListFindingsRequest>);
1905
1906    impl ListFindings {
1907        pub(crate) fn new(
1908            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
1909        ) -> Self {
1910            Self(RequestBuilder::new(stub))
1911        }
1912
1913        /// Sets the full request, replacing any prior values.
1914        pub fn with_request<V: Into<crate::model::ListFindingsRequest>>(mut self, v: V) -> Self {
1915            self.0.request = v.into();
1916            self
1917        }
1918
1919        /// Sets all the options, replacing any prior values.
1920        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1921            self.0.options = v.into();
1922            self
1923        }
1924
1925        /// Sends the request.
1926        pub async fn send(self) -> Result<crate::model::ListFindingsResponse> {
1927            (*self.0.stub)
1928                .list_findings(self.0.request, self.0.options)
1929                .await
1930                .map(crate::Response::into_body)
1931        }
1932
1933        /// Streams each page in the collection.
1934        pub fn by_page(
1935            self,
1936        ) -> impl google_cloud_gax::paginator::Paginator<crate::model::ListFindingsResponse, crate::Error>
1937        {
1938            use std::clone::Clone;
1939            let token = self.0.request.page_token.clone();
1940            let execute = move |token: String| {
1941                let mut builder = self.clone();
1942                builder.0.request = builder.0.request.set_page_token(token);
1943                builder.send()
1944            };
1945            google_cloud_gax::paginator::internal::new_paginator(token, execute)
1946        }
1947
1948        /// Streams each item in the collection.
1949        pub fn by_item(
1950            self,
1951        ) -> impl google_cloud_gax::paginator::ItemPaginator<
1952            crate::model::ListFindingsResponse,
1953            crate::Error,
1954        > {
1955            use google_cloud_gax::paginator::Paginator;
1956            self.by_page().items()
1957        }
1958
1959        /// Sets the value of [parent][crate::model::ListFindingsRequest::parent].
1960        ///
1961        /// This is a **required** field for requests.
1962        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
1963            self.0.request.parent = v.into();
1964            self
1965        }
1966
1967        /// Sets the value of [filter][crate::model::ListFindingsRequest::filter].
1968        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1969            self.0.request.filter = v.into();
1970            self
1971        }
1972
1973        /// Sets the value of [order_by][crate::model::ListFindingsRequest::order_by].
1974        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
1975            self.0.request.order_by = v.into();
1976            self
1977        }
1978
1979        /// Sets the value of [field_mask][crate::model::ListFindingsRequest::field_mask].
1980        pub fn set_field_mask<T>(mut self, v: T) -> Self
1981        where
1982            T: std::convert::Into<wkt::FieldMask>,
1983        {
1984            self.0.request.field_mask = std::option::Option::Some(v.into());
1985            self
1986        }
1987
1988        /// Sets or clears the value of [field_mask][crate::model::ListFindingsRequest::field_mask].
1989        pub fn set_or_clear_field_mask<T>(mut self, v: std::option::Option<T>) -> Self
1990        where
1991            T: std::convert::Into<wkt::FieldMask>,
1992        {
1993            self.0.request.field_mask = v.map(|x| x.into());
1994            self
1995        }
1996
1997        /// Sets the value of [page_token][crate::model::ListFindingsRequest::page_token].
1998        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1999            self.0.request.page_token = v.into();
2000            self
2001        }
2002
2003        /// Sets the value of [page_size][crate::model::ListFindingsRequest::page_size].
2004        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
2005            self.0.request.page_size = v.into();
2006            self
2007        }
2008    }
2009
2010    #[doc(hidden)]
2011    impl crate::RequestBuilder for ListFindings {
2012        fn request_options(&mut self) -> &mut crate::RequestOptions {
2013            &mut self.0.options
2014        }
2015    }
2016
2017    /// The request builder for [SecurityCenter::list_mute_configs][crate::client::SecurityCenter::list_mute_configs] calls.
2018    ///
2019    /// # Example
2020    /// ```
2021    /// # use google_cloud_securitycenter_v2::builder::security_center::ListMuteConfigs;
2022    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2023    /// use google_cloud_gax::paginator::ItemPaginator;
2024    ///
2025    /// let builder = prepare_request_builder();
2026    /// let mut items = builder.by_item();
2027    /// while let Some(result) = items.next().await {
2028    ///   let item = result?;
2029    /// }
2030    /// # Ok(()) }
2031    ///
2032    /// fn prepare_request_builder() -> ListMuteConfigs {
2033    ///   # panic!();
2034    ///   // ... details omitted ...
2035    /// }
2036    /// ```
2037    #[derive(Clone, Debug)]
2038    pub struct ListMuteConfigs(RequestBuilder<crate::model::ListMuteConfigsRequest>);
2039
2040    impl ListMuteConfigs {
2041        pub(crate) fn new(
2042            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2043        ) -> Self {
2044            Self(RequestBuilder::new(stub))
2045        }
2046
2047        /// Sets the full request, replacing any prior values.
2048        pub fn with_request<V: Into<crate::model::ListMuteConfigsRequest>>(mut self, v: V) -> Self {
2049            self.0.request = v.into();
2050            self
2051        }
2052
2053        /// Sets all the options, replacing any prior values.
2054        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2055            self.0.options = v.into();
2056            self
2057        }
2058
2059        /// Sends the request.
2060        pub async fn send(self) -> Result<crate::model::ListMuteConfigsResponse> {
2061            (*self.0.stub)
2062                .list_mute_configs(self.0.request, self.0.options)
2063                .await
2064                .map(crate::Response::into_body)
2065        }
2066
2067        /// Streams each page in the collection.
2068        pub fn by_page(
2069            self,
2070        ) -> impl google_cloud_gax::paginator::Paginator<
2071            crate::model::ListMuteConfigsResponse,
2072            crate::Error,
2073        > {
2074            use std::clone::Clone;
2075            let token = self.0.request.page_token.clone();
2076            let execute = move |token: String| {
2077                let mut builder = self.clone();
2078                builder.0.request = builder.0.request.set_page_token(token);
2079                builder.send()
2080            };
2081            google_cloud_gax::paginator::internal::new_paginator(token, execute)
2082        }
2083
2084        /// Streams each item in the collection.
2085        pub fn by_item(
2086            self,
2087        ) -> impl google_cloud_gax::paginator::ItemPaginator<
2088            crate::model::ListMuteConfigsResponse,
2089            crate::Error,
2090        > {
2091            use google_cloud_gax::paginator::Paginator;
2092            self.by_page().items()
2093        }
2094
2095        /// Sets the value of [parent][crate::model::ListMuteConfigsRequest::parent].
2096        ///
2097        /// This is a **required** field for requests.
2098        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
2099            self.0.request.parent = v.into();
2100            self
2101        }
2102
2103        /// Sets the value of [page_size][crate::model::ListMuteConfigsRequest::page_size].
2104        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
2105            self.0.request.page_size = v.into();
2106            self
2107        }
2108
2109        /// Sets the value of [page_token][crate::model::ListMuteConfigsRequest::page_token].
2110        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
2111            self.0.request.page_token = v.into();
2112            self
2113        }
2114    }
2115
2116    #[doc(hidden)]
2117    impl crate::RequestBuilder for ListMuteConfigs {
2118        fn request_options(&mut self) -> &mut crate::RequestOptions {
2119            &mut self.0.options
2120        }
2121    }
2122
2123    /// The request builder for [SecurityCenter::list_notification_configs][crate::client::SecurityCenter::list_notification_configs] calls.
2124    ///
2125    /// # Example
2126    /// ```
2127    /// # use google_cloud_securitycenter_v2::builder::security_center::ListNotificationConfigs;
2128    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2129    /// use google_cloud_gax::paginator::ItemPaginator;
2130    ///
2131    /// let builder = prepare_request_builder();
2132    /// let mut items = builder.by_item();
2133    /// while let Some(result) = items.next().await {
2134    ///   let item = result?;
2135    /// }
2136    /// # Ok(()) }
2137    ///
2138    /// fn prepare_request_builder() -> ListNotificationConfigs {
2139    ///   # panic!();
2140    ///   // ... details omitted ...
2141    /// }
2142    /// ```
2143    #[derive(Clone, Debug)]
2144    pub struct ListNotificationConfigs(
2145        RequestBuilder<crate::model::ListNotificationConfigsRequest>,
2146    );
2147
2148    impl ListNotificationConfigs {
2149        pub(crate) fn new(
2150            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2151        ) -> Self {
2152            Self(RequestBuilder::new(stub))
2153        }
2154
2155        /// Sets the full request, replacing any prior values.
2156        pub fn with_request<V: Into<crate::model::ListNotificationConfigsRequest>>(
2157            mut self,
2158            v: V,
2159        ) -> Self {
2160            self.0.request = v.into();
2161            self
2162        }
2163
2164        /// Sets all the options, replacing any prior values.
2165        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2166            self.0.options = v.into();
2167            self
2168        }
2169
2170        /// Sends the request.
2171        pub async fn send(self) -> Result<crate::model::ListNotificationConfigsResponse> {
2172            (*self.0.stub)
2173                .list_notification_configs(self.0.request, self.0.options)
2174                .await
2175                .map(crate::Response::into_body)
2176        }
2177
2178        /// Streams each page in the collection.
2179        pub fn by_page(
2180            self,
2181        ) -> impl google_cloud_gax::paginator::Paginator<
2182            crate::model::ListNotificationConfigsResponse,
2183            crate::Error,
2184        > {
2185            use std::clone::Clone;
2186            let token = self.0.request.page_token.clone();
2187            let execute = move |token: String| {
2188                let mut builder = self.clone();
2189                builder.0.request = builder.0.request.set_page_token(token);
2190                builder.send()
2191            };
2192            google_cloud_gax::paginator::internal::new_paginator(token, execute)
2193        }
2194
2195        /// Streams each item in the collection.
2196        pub fn by_item(
2197            self,
2198        ) -> impl google_cloud_gax::paginator::ItemPaginator<
2199            crate::model::ListNotificationConfigsResponse,
2200            crate::Error,
2201        > {
2202            use google_cloud_gax::paginator::Paginator;
2203            self.by_page().items()
2204        }
2205
2206        /// Sets the value of [parent][crate::model::ListNotificationConfigsRequest::parent].
2207        ///
2208        /// This is a **required** field for requests.
2209        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
2210            self.0.request.parent = v.into();
2211            self
2212        }
2213
2214        /// Sets the value of [page_token][crate::model::ListNotificationConfigsRequest::page_token].
2215        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
2216            self.0.request.page_token = v.into();
2217            self
2218        }
2219
2220        /// Sets the value of [page_size][crate::model::ListNotificationConfigsRequest::page_size].
2221        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
2222            self.0.request.page_size = v.into();
2223            self
2224        }
2225    }
2226
2227    #[doc(hidden)]
2228    impl crate::RequestBuilder for ListNotificationConfigs {
2229        fn request_options(&mut self) -> &mut crate::RequestOptions {
2230            &mut self.0.options
2231        }
2232    }
2233
2234    /// The request builder for [SecurityCenter::list_resource_value_configs][crate::client::SecurityCenter::list_resource_value_configs] calls.
2235    ///
2236    /// # Example
2237    /// ```
2238    /// # use google_cloud_securitycenter_v2::builder::security_center::ListResourceValueConfigs;
2239    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2240    /// use google_cloud_gax::paginator::ItemPaginator;
2241    ///
2242    /// let builder = prepare_request_builder();
2243    /// let mut items = builder.by_item();
2244    /// while let Some(result) = items.next().await {
2245    ///   let item = result?;
2246    /// }
2247    /// # Ok(()) }
2248    ///
2249    /// fn prepare_request_builder() -> ListResourceValueConfigs {
2250    ///   # panic!();
2251    ///   // ... details omitted ...
2252    /// }
2253    /// ```
2254    #[derive(Clone, Debug)]
2255    pub struct ListResourceValueConfigs(
2256        RequestBuilder<crate::model::ListResourceValueConfigsRequest>,
2257    );
2258
2259    impl ListResourceValueConfigs {
2260        pub(crate) fn new(
2261            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2262        ) -> Self {
2263            Self(RequestBuilder::new(stub))
2264        }
2265
2266        /// Sets the full request, replacing any prior values.
2267        pub fn with_request<V: Into<crate::model::ListResourceValueConfigsRequest>>(
2268            mut self,
2269            v: V,
2270        ) -> Self {
2271            self.0.request = v.into();
2272            self
2273        }
2274
2275        /// Sets all the options, replacing any prior values.
2276        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2277            self.0.options = v.into();
2278            self
2279        }
2280
2281        /// Sends the request.
2282        pub async fn send(self) -> Result<crate::model::ListResourceValueConfigsResponse> {
2283            (*self.0.stub)
2284                .list_resource_value_configs(self.0.request, self.0.options)
2285                .await
2286                .map(crate::Response::into_body)
2287        }
2288
2289        /// Streams each page in the collection.
2290        pub fn by_page(
2291            self,
2292        ) -> impl google_cloud_gax::paginator::Paginator<
2293            crate::model::ListResourceValueConfigsResponse,
2294            crate::Error,
2295        > {
2296            use std::clone::Clone;
2297            let token = self.0.request.page_token.clone();
2298            let execute = move |token: String| {
2299                let mut builder = self.clone();
2300                builder.0.request = builder.0.request.set_page_token(token);
2301                builder.send()
2302            };
2303            google_cloud_gax::paginator::internal::new_paginator(token, execute)
2304        }
2305
2306        /// Streams each item in the collection.
2307        pub fn by_item(
2308            self,
2309        ) -> impl google_cloud_gax::paginator::ItemPaginator<
2310            crate::model::ListResourceValueConfigsResponse,
2311            crate::Error,
2312        > {
2313            use google_cloud_gax::paginator::Paginator;
2314            self.by_page().items()
2315        }
2316
2317        /// Sets the value of [parent][crate::model::ListResourceValueConfigsRequest::parent].
2318        ///
2319        /// This is a **required** field for requests.
2320        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
2321            self.0.request.parent = v.into();
2322            self
2323        }
2324
2325        /// Sets the value of [page_size][crate::model::ListResourceValueConfigsRequest::page_size].
2326        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
2327            self.0.request.page_size = v.into();
2328            self
2329        }
2330
2331        /// Sets the value of [page_token][crate::model::ListResourceValueConfigsRequest::page_token].
2332        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
2333            self.0.request.page_token = v.into();
2334            self
2335        }
2336    }
2337
2338    #[doc(hidden)]
2339    impl crate::RequestBuilder for ListResourceValueConfigs {
2340        fn request_options(&mut self) -> &mut crate::RequestOptions {
2341            &mut self.0.options
2342        }
2343    }
2344
2345    /// The request builder for [SecurityCenter::list_sources][crate::client::SecurityCenter::list_sources] calls.
2346    ///
2347    /// # Example
2348    /// ```
2349    /// # use google_cloud_securitycenter_v2::builder::security_center::ListSources;
2350    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2351    /// use google_cloud_gax::paginator::ItemPaginator;
2352    ///
2353    /// let builder = prepare_request_builder();
2354    /// let mut items = builder.by_item();
2355    /// while let Some(result) = items.next().await {
2356    ///   let item = result?;
2357    /// }
2358    /// # Ok(()) }
2359    ///
2360    /// fn prepare_request_builder() -> ListSources {
2361    ///   # panic!();
2362    ///   // ... details omitted ...
2363    /// }
2364    /// ```
2365    #[derive(Clone, Debug)]
2366    pub struct ListSources(RequestBuilder<crate::model::ListSourcesRequest>);
2367
2368    impl ListSources {
2369        pub(crate) fn new(
2370            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2371        ) -> Self {
2372            Self(RequestBuilder::new(stub))
2373        }
2374
2375        /// Sets the full request, replacing any prior values.
2376        pub fn with_request<V: Into<crate::model::ListSourcesRequest>>(mut self, v: V) -> Self {
2377            self.0.request = v.into();
2378            self
2379        }
2380
2381        /// Sets all the options, replacing any prior values.
2382        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2383            self.0.options = v.into();
2384            self
2385        }
2386
2387        /// Sends the request.
2388        pub async fn send(self) -> Result<crate::model::ListSourcesResponse> {
2389            (*self.0.stub)
2390                .list_sources(self.0.request, self.0.options)
2391                .await
2392                .map(crate::Response::into_body)
2393        }
2394
2395        /// Streams each page in the collection.
2396        pub fn by_page(
2397            self,
2398        ) -> impl google_cloud_gax::paginator::Paginator<crate::model::ListSourcesResponse, crate::Error>
2399        {
2400            use std::clone::Clone;
2401            let token = self.0.request.page_token.clone();
2402            let execute = move |token: String| {
2403                let mut builder = self.clone();
2404                builder.0.request = builder.0.request.set_page_token(token);
2405                builder.send()
2406            };
2407            google_cloud_gax::paginator::internal::new_paginator(token, execute)
2408        }
2409
2410        /// Streams each item in the collection.
2411        pub fn by_item(
2412            self,
2413        ) -> impl google_cloud_gax::paginator::ItemPaginator<
2414            crate::model::ListSourcesResponse,
2415            crate::Error,
2416        > {
2417            use google_cloud_gax::paginator::Paginator;
2418            self.by_page().items()
2419        }
2420
2421        /// Sets the value of [parent][crate::model::ListSourcesRequest::parent].
2422        ///
2423        /// This is a **required** field for requests.
2424        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
2425            self.0.request.parent = v.into();
2426            self
2427        }
2428
2429        /// Sets the value of [page_token][crate::model::ListSourcesRequest::page_token].
2430        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
2431            self.0.request.page_token = v.into();
2432            self
2433        }
2434
2435        /// Sets the value of [page_size][crate::model::ListSourcesRequest::page_size].
2436        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
2437            self.0.request.page_size = v.into();
2438            self
2439        }
2440    }
2441
2442    #[doc(hidden)]
2443    impl crate::RequestBuilder for ListSources {
2444        fn request_options(&mut self) -> &mut crate::RequestOptions {
2445            &mut self.0.options
2446        }
2447    }
2448
2449    /// The request builder for [SecurityCenter::list_valued_resources][crate::client::SecurityCenter::list_valued_resources] calls.
2450    ///
2451    /// # Example
2452    /// ```
2453    /// # use google_cloud_securitycenter_v2::builder::security_center::ListValuedResources;
2454    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2455    /// use google_cloud_gax::paginator::ItemPaginator;
2456    ///
2457    /// let builder = prepare_request_builder();
2458    /// let mut items = builder.by_item();
2459    /// while let Some(result) = items.next().await {
2460    ///   let item = result?;
2461    /// }
2462    /// # Ok(()) }
2463    ///
2464    /// fn prepare_request_builder() -> ListValuedResources {
2465    ///   # panic!();
2466    ///   // ... details omitted ...
2467    /// }
2468    /// ```
2469    #[derive(Clone, Debug)]
2470    pub struct ListValuedResources(RequestBuilder<crate::model::ListValuedResourcesRequest>);
2471
2472    impl ListValuedResources {
2473        pub(crate) fn new(
2474            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2475        ) -> Self {
2476            Self(RequestBuilder::new(stub))
2477        }
2478
2479        /// Sets the full request, replacing any prior values.
2480        pub fn with_request<V: Into<crate::model::ListValuedResourcesRequest>>(
2481            mut self,
2482            v: V,
2483        ) -> Self {
2484            self.0.request = v.into();
2485            self
2486        }
2487
2488        /// Sets all the options, replacing any prior values.
2489        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2490            self.0.options = v.into();
2491            self
2492        }
2493
2494        /// Sends the request.
2495        pub async fn send(self) -> Result<crate::model::ListValuedResourcesResponse> {
2496            (*self.0.stub)
2497                .list_valued_resources(self.0.request, self.0.options)
2498                .await
2499                .map(crate::Response::into_body)
2500        }
2501
2502        /// Streams each page in the collection.
2503        pub fn by_page(
2504            self,
2505        ) -> impl google_cloud_gax::paginator::Paginator<
2506            crate::model::ListValuedResourcesResponse,
2507            crate::Error,
2508        > {
2509            use std::clone::Clone;
2510            let token = self.0.request.page_token.clone();
2511            let execute = move |token: String| {
2512                let mut builder = self.clone();
2513                builder.0.request = builder.0.request.set_page_token(token);
2514                builder.send()
2515            };
2516            google_cloud_gax::paginator::internal::new_paginator(token, execute)
2517        }
2518
2519        /// Streams each item in the collection.
2520        pub fn by_item(
2521            self,
2522        ) -> impl google_cloud_gax::paginator::ItemPaginator<
2523            crate::model::ListValuedResourcesResponse,
2524            crate::Error,
2525        > {
2526            use google_cloud_gax::paginator::Paginator;
2527            self.by_page().items()
2528        }
2529
2530        /// Sets the value of [parent][crate::model::ListValuedResourcesRequest::parent].
2531        ///
2532        /// This is a **required** field for requests.
2533        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
2534            self.0.request.parent = v.into();
2535            self
2536        }
2537
2538        /// Sets the value of [filter][crate::model::ListValuedResourcesRequest::filter].
2539        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
2540            self.0.request.filter = v.into();
2541            self
2542        }
2543
2544        /// Sets the value of [page_token][crate::model::ListValuedResourcesRequest::page_token].
2545        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
2546            self.0.request.page_token = v.into();
2547            self
2548        }
2549
2550        /// Sets the value of [page_size][crate::model::ListValuedResourcesRequest::page_size].
2551        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
2552            self.0.request.page_size = v.into();
2553            self
2554        }
2555
2556        /// Sets the value of [order_by][crate::model::ListValuedResourcesRequest::order_by].
2557        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
2558            self.0.request.order_by = v.into();
2559            self
2560        }
2561    }
2562
2563    #[doc(hidden)]
2564    impl crate::RequestBuilder for ListValuedResources {
2565        fn request_options(&mut self) -> &mut crate::RequestOptions {
2566            &mut self.0.options
2567        }
2568    }
2569
2570    /// The request builder for [SecurityCenter::set_finding_state][crate::client::SecurityCenter::set_finding_state] calls.
2571    ///
2572    /// # Example
2573    /// ```
2574    /// # use google_cloud_securitycenter_v2::builder::security_center::SetFindingState;
2575    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2576    ///
2577    /// let builder = prepare_request_builder();
2578    /// let response = builder.send().await?;
2579    /// # Ok(()) }
2580    ///
2581    /// fn prepare_request_builder() -> SetFindingState {
2582    ///   # panic!();
2583    ///   // ... details omitted ...
2584    /// }
2585    /// ```
2586    #[derive(Clone, Debug)]
2587    pub struct SetFindingState(RequestBuilder<crate::model::SetFindingStateRequest>);
2588
2589    impl SetFindingState {
2590        pub(crate) fn new(
2591            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2592        ) -> Self {
2593            Self(RequestBuilder::new(stub))
2594        }
2595
2596        /// Sets the full request, replacing any prior values.
2597        pub fn with_request<V: Into<crate::model::SetFindingStateRequest>>(mut self, v: V) -> Self {
2598            self.0.request = v.into();
2599            self
2600        }
2601
2602        /// Sets all the options, replacing any prior values.
2603        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2604            self.0.options = v.into();
2605            self
2606        }
2607
2608        /// Sends the request.
2609        pub async fn send(self) -> Result<crate::model::Finding> {
2610            (*self.0.stub)
2611                .set_finding_state(self.0.request, self.0.options)
2612                .await
2613                .map(crate::Response::into_body)
2614        }
2615
2616        /// Sets the value of [name][crate::model::SetFindingStateRequest::name].
2617        ///
2618        /// This is a **required** field for requests.
2619        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
2620            self.0.request.name = v.into();
2621            self
2622        }
2623
2624        /// Sets the value of [state][crate::model::SetFindingStateRequest::state].
2625        ///
2626        /// This is a **required** field for requests.
2627        pub fn set_state<T: Into<crate::model::finding::State>>(mut self, v: T) -> Self {
2628            self.0.request.state = v.into();
2629            self
2630        }
2631    }
2632
2633    #[doc(hidden)]
2634    impl crate::RequestBuilder for SetFindingState {
2635        fn request_options(&mut self) -> &mut crate::RequestOptions {
2636            &mut self.0.options
2637        }
2638    }
2639
2640    /// The request builder for [SecurityCenter::set_iam_policy][crate::client::SecurityCenter::set_iam_policy] calls.
2641    ///
2642    /// # Example
2643    /// ```
2644    /// # use google_cloud_securitycenter_v2::builder::security_center::SetIamPolicy;
2645    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2646    ///
2647    /// let builder = prepare_request_builder();
2648    /// let response = builder.send().await?;
2649    /// # Ok(()) }
2650    ///
2651    /// fn prepare_request_builder() -> SetIamPolicy {
2652    ///   # panic!();
2653    ///   // ... details omitted ...
2654    /// }
2655    /// ```
2656    #[derive(Clone, Debug)]
2657    pub struct SetIamPolicy(RequestBuilder<google_cloud_iam_v1::model::SetIamPolicyRequest>);
2658
2659    impl SetIamPolicy {
2660        pub(crate) fn new(
2661            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2662        ) -> Self {
2663            Self(RequestBuilder::new(stub))
2664        }
2665
2666        /// Sets the full request, replacing any prior values.
2667        pub fn with_request<V: Into<google_cloud_iam_v1::model::SetIamPolicyRequest>>(
2668            mut self,
2669            v: V,
2670        ) -> Self {
2671            self.0.request = v.into();
2672            self
2673        }
2674
2675        /// Sets all the options, replacing any prior values.
2676        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2677            self.0.options = v.into();
2678            self
2679        }
2680
2681        /// Sends the request.
2682        pub async fn send(self) -> Result<google_cloud_iam_v1::model::Policy> {
2683            (*self.0.stub)
2684                .set_iam_policy(self.0.request, self.0.options)
2685                .await
2686                .map(crate::Response::into_body)
2687        }
2688
2689        /// Sets the value of [resource][google_cloud_iam_v1::model::SetIamPolicyRequest::resource].
2690        ///
2691        /// This is a **required** field for requests.
2692        pub fn set_resource<T: Into<std::string::String>>(mut self, v: T) -> Self {
2693            self.0.request.resource = v.into();
2694            self
2695        }
2696
2697        /// Sets the value of [policy][google_cloud_iam_v1::model::SetIamPolicyRequest::policy].
2698        ///
2699        /// This is a **required** field for requests.
2700        pub fn set_policy<T>(mut self, v: T) -> Self
2701        where
2702            T: std::convert::Into<google_cloud_iam_v1::model::Policy>,
2703        {
2704            self.0.request.policy = std::option::Option::Some(v.into());
2705            self
2706        }
2707
2708        /// Sets or clears the value of [policy][google_cloud_iam_v1::model::SetIamPolicyRequest::policy].
2709        ///
2710        /// This is a **required** field for requests.
2711        pub fn set_or_clear_policy<T>(mut self, v: std::option::Option<T>) -> Self
2712        where
2713            T: std::convert::Into<google_cloud_iam_v1::model::Policy>,
2714        {
2715            self.0.request.policy = v.map(|x| x.into());
2716            self
2717        }
2718
2719        /// Sets the value of [update_mask][google_cloud_iam_v1::model::SetIamPolicyRequest::update_mask].
2720        pub fn set_update_mask<T>(mut self, v: T) -> Self
2721        where
2722            T: std::convert::Into<wkt::FieldMask>,
2723        {
2724            self.0.request.update_mask = std::option::Option::Some(v.into());
2725            self
2726        }
2727
2728        /// Sets or clears the value of [update_mask][google_cloud_iam_v1::model::SetIamPolicyRequest::update_mask].
2729        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
2730        where
2731            T: std::convert::Into<wkt::FieldMask>,
2732        {
2733            self.0.request.update_mask = v.map(|x| x.into());
2734            self
2735        }
2736    }
2737
2738    #[doc(hidden)]
2739    impl crate::RequestBuilder for SetIamPolicy {
2740        fn request_options(&mut self) -> &mut crate::RequestOptions {
2741            &mut self.0.options
2742        }
2743    }
2744
2745    /// The request builder for [SecurityCenter::set_mute][crate::client::SecurityCenter::set_mute] calls.
2746    ///
2747    /// # Example
2748    /// ```
2749    /// # use google_cloud_securitycenter_v2::builder::security_center::SetMute;
2750    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2751    ///
2752    /// let builder = prepare_request_builder();
2753    /// let response = builder.send().await?;
2754    /// # Ok(()) }
2755    ///
2756    /// fn prepare_request_builder() -> SetMute {
2757    ///   # panic!();
2758    ///   // ... details omitted ...
2759    /// }
2760    /// ```
2761    #[derive(Clone, Debug)]
2762    pub struct SetMute(RequestBuilder<crate::model::SetMuteRequest>);
2763
2764    impl SetMute {
2765        pub(crate) fn new(
2766            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2767        ) -> Self {
2768            Self(RequestBuilder::new(stub))
2769        }
2770
2771        /// Sets the full request, replacing any prior values.
2772        pub fn with_request<V: Into<crate::model::SetMuteRequest>>(mut self, v: V) -> Self {
2773            self.0.request = v.into();
2774            self
2775        }
2776
2777        /// Sets all the options, replacing any prior values.
2778        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2779            self.0.options = v.into();
2780            self
2781        }
2782
2783        /// Sends the request.
2784        pub async fn send(self) -> Result<crate::model::Finding> {
2785            (*self.0.stub)
2786                .set_mute(self.0.request, self.0.options)
2787                .await
2788                .map(crate::Response::into_body)
2789        }
2790
2791        /// Sets the value of [name][crate::model::SetMuteRequest::name].
2792        ///
2793        /// This is a **required** field for requests.
2794        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
2795            self.0.request.name = v.into();
2796            self
2797        }
2798
2799        /// Sets the value of [mute][crate::model::SetMuteRequest::mute].
2800        ///
2801        /// This is a **required** field for requests.
2802        pub fn set_mute<T: Into<crate::model::finding::Mute>>(mut self, v: T) -> Self {
2803            self.0.request.mute = v.into();
2804            self
2805        }
2806    }
2807
2808    #[doc(hidden)]
2809    impl crate::RequestBuilder for SetMute {
2810        fn request_options(&mut self) -> &mut crate::RequestOptions {
2811            &mut self.0.options
2812        }
2813    }
2814
2815    /// The request builder for [SecurityCenter::test_iam_permissions][crate::client::SecurityCenter::test_iam_permissions] calls.
2816    ///
2817    /// # Example
2818    /// ```
2819    /// # use google_cloud_securitycenter_v2::builder::security_center::TestIamPermissions;
2820    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2821    ///
2822    /// let builder = prepare_request_builder();
2823    /// let response = builder.send().await?;
2824    /// # Ok(()) }
2825    ///
2826    /// fn prepare_request_builder() -> TestIamPermissions {
2827    ///   # panic!();
2828    ///   // ... details omitted ...
2829    /// }
2830    /// ```
2831    #[derive(Clone, Debug)]
2832    pub struct TestIamPermissions(
2833        RequestBuilder<google_cloud_iam_v1::model::TestIamPermissionsRequest>,
2834    );
2835
2836    impl TestIamPermissions {
2837        pub(crate) fn new(
2838            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2839        ) -> Self {
2840            Self(RequestBuilder::new(stub))
2841        }
2842
2843        /// Sets the full request, replacing any prior values.
2844        pub fn with_request<V: Into<google_cloud_iam_v1::model::TestIamPermissionsRequest>>(
2845            mut self,
2846            v: V,
2847        ) -> Self {
2848            self.0.request = v.into();
2849            self
2850        }
2851
2852        /// Sets all the options, replacing any prior values.
2853        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2854            self.0.options = v.into();
2855            self
2856        }
2857
2858        /// Sends the request.
2859        pub async fn send(self) -> Result<google_cloud_iam_v1::model::TestIamPermissionsResponse> {
2860            (*self.0.stub)
2861                .test_iam_permissions(self.0.request, self.0.options)
2862                .await
2863                .map(crate::Response::into_body)
2864        }
2865
2866        /// Sets the value of [resource][google_cloud_iam_v1::model::TestIamPermissionsRequest::resource].
2867        ///
2868        /// This is a **required** field for requests.
2869        pub fn set_resource<T: Into<std::string::String>>(mut self, v: T) -> Self {
2870            self.0.request.resource = v.into();
2871            self
2872        }
2873
2874        /// Sets the value of [permissions][google_cloud_iam_v1::model::TestIamPermissionsRequest::permissions].
2875        ///
2876        /// This is a **required** field for requests.
2877        pub fn set_permissions<T, V>(mut self, v: T) -> Self
2878        where
2879            T: std::iter::IntoIterator<Item = V>,
2880            V: std::convert::Into<std::string::String>,
2881        {
2882            use std::iter::Iterator;
2883            self.0.request.permissions = v.into_iter().map(|i| i.into()).collect();
2884            self
2885        }
2886    }
2887
2888    #[doc(hidden)]
2889    impl crate::RequestBuilder for TestIamPermissions {
2890        fn request_options(&mut self) -> &mut crate::RequestOptions {
2891            &mut self.0.options
2892        }
2893    }
2894
2895    /// The request builder for [SecurityCenter::update_big_query_export][crate::client::SecurityCenter::update_big_query_export] calls.
2896    ///
2897    /// # Example
2898    /// ```
2899    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateBigQueryExport;
2900    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2901    ///
2902    /// let builder = prepare_request_builder();
2903    /// let response = builder.send().await?;
2904    /// # Ok(()) }
2905    ///
2906    /// fn prepare_request_builder() -> UpdateBigQueryExport {
2907    ///   # panic!();
2908    ///   // ... details omitted ...
2909    /// }
2910    /// ```
2911    #[derive(Clone, Debug)]
2912    pub struct UpdateBigQueryExport(RequestBuilder<crate::model::UpdateBigQueryExportRequest>);
2913
2914    impl UpdateBigQueryExport {
2915        pub(crate) fn new(
2916            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
2917        ) -> Self {
2918            Self(RequestBuilder::new(stub))
2919        }
2920
2921        /// Sets the full request, replacing any prior values.
2922        pub fn with_request<V: Into<crate::model::UpdateBigQueryExportRequest>>(
2923            mut self,
2924            v: V,
2925        ) -> Self {
2926            self.0.request = v.into();
2927            self
2928        }
2929
2930        /// Sets all the options, replacing any prior values.
2931        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
2932            self.0.options = v.into();
2933            self
2934        }
2935
2936        /// Sends the request.
2937        pub async fn send(self) -> Result<crate::model::BigQueryExport> {
2938            (*self.0.stub)
2939                .update_big_query_export(self.0.request, self.0.options)
2940                .await
2941                .map(crate::Response::into_body)
2942        }
2943
2944        /// Sets the value of [big_query_export][crate::model::UpdateBigQueryExportRequest::big_query_export].
2945        ///
2946        /// This is a **required** field for requests.
2947        pub fn set_big_query_export<T>(mut self, v: T) -> Self
2948        where
2949            T: std::convert::Into<crate::model::BigQueryExport>,
2950        {
2951            self.0.request.big_query_export = std::option::Option::Some(v.into());
2952            self
2953        }
2954
2955        /// Sets or clears the value of [big_query_export][crate::model::UpdateBigQueryExportRequest::big_query_export].
2956        ///
2957        /// This is a **required** field for requests.
2958        pub fn set_or_clear_big_query_export<T>(mut self, v: std::option::Option<T>) -> Self
2959        where
2960            T: std::convert::Into<crate::model::BigQueryExport>,
2961        {
2962            self.0.request.big_query_export = v.map(|x| x.into());
2963            self
2964        }
2965
2966        /// Sets the value of [update_mask][crate::model::UpdateBigQueryExportRequest::update_mask].
2967        pub fn set_update_mask<T>(mut self, v: T) -> Self
2968        where
2969            T: std::convert::Into<wkt::FieldMask>,
2970        {
2971            self.0.request.update_mask = std::option::Option::Some(v.into());
2972            self
2973        }
2974
2975        /// Sets or clears the value of [update_mask][crate::model::UpdateBigQueryExportRequest::update_mask].
2976        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
2977        where
2978            T: std::convert::Into<wkt::FieldMask>,
2979        {
2980            self.0.request.update_mask = v.map(|x| x.into());
2981            self
2982        }
2983    }
2984
2985    #[doc(hidden)]
2986    impl crate::RequestBuilder for UpdateBigQueryExport {
2987        fn request_options(&mut self) -> &mut crate::RequestOptions {
2988            &mut self.0.options
2989        }
2990    }
2991
2992    /// The request builder for [SecurityCenter::update_external_system][crate::client::SecurityCenter::update_external_system] calls.
2993    ///
2994    /// # Example
2995    /// ```
2996    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateExternalSystem;
2997    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
2998    ///
2999    /// let builder = prepare_request_builder();
3000    /// let response = builder.send().await?;
3001    /// # Ok(()) }
3002    ///
3003    /// fn prepare_request_builder() -> UpdateExternalSystem {
3004    ///   # panic!();
3005    ///   // ... details omitted ...
3006    /// }
3007    /// ```
3008    #[derive(Clone, Debug)]
3009    pub struct UpdateExternalSystem(RequestBuilder<crate::model::UpdateExternalSystemRequest>);
3010
3011    impl UpdateExternalSystem {
3012        pub(crate) fn new(
3013            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3014        ) -> Self {
3015            Self(RequestBuilder::new(stub))
3016        }
3017
3018        /// Sets the full request, replacing any prior values.
3019        pub fn with_request<V: Into<crate::model::UpdateExternalSystemRequest>>(
3020            mut self,
3021            v: V,
3022        ) -> Self {
3023            self.0.request = v.into();
3024            self
3025        }
3026
3027        /// Sets all the options, replacing any prior values.
3028        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3029            self.0.options = v.into();
3030            self
3031        }
3032
3033        /// Sends the request.
3034        pub async fn send(self) -> Result<crate::model::ExternalSystem> {
3035            (*self.0.stub)
3036                .update_external_system(self.0.request, self.0.options)
3037                .await
3038                .map(crate::Response::into_body)
3039        }
3040
3041        /// Sets the value of [external_system][crate::model::UpdateExternalSystemRequest::external_system].
3042        ///
3043        /// This is a **required** field for requests.
3044        pub fn set_external_system<T>(mut self, v: T) -> Self
3045        where
3046            T: std::convert::Into<crate::model::ExternalSystem>,
3047        {
3048            self.0.request.external_system = std::option::Option::Some(v.into());
3049            self
3050        }
3051
3052        /// Sets or clears the value of [external_system][crate::model::UpdateExternalSystemRequest::external_system].
3053        ///
3054        /// This is a **required** field for requests.
3055        pub fn set_or_clear_external_system<T>(mut self, v: std::option::Option<T>) -> Self
3056        where
3057            T: std::convert::Into<crate::model::ExternalSystem>,
3058        {
3059            self.0.request.external_system = v.map(|x| x.into());
3060            self
3061        }
3062
3063        /// Sets the value of [update_mask][crate::model::UpdateExternalSystemRequest::update_mask].
3064        pub fn set_update_mask<T>(mut self, v: T) -> Self
3065        where
3066            T: std::convert::Into<wkt::FieldMask>,
3067        {
3068            self.0.request.update_mask = std::option::Option::Some(v.into());
3069            self
3070        }
3071
3072        /// Sets or clears the value of [update_mask][crate::model::UpdateExternalSystemRequest::update_mask].
3073        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3074        where
3075            T: std::convert::Into<wkt::FieldMask>,
3076        {
3077            self.0.request.update_mask = v.map(|x| x.into());
3078            self
3079        }
3080    }
3081
3082    #[doc(hidden)]
3083    impl crate::RequestBuilder for UpdateExternalSystem {
3084        fn request_options(&mut self) -> &mut crate::RequestOptions {
3085            &mut self.0.options
3086        }
3087    }
3088
3089    /// The request builder for [SecurityCenter::update_finding][crate::client::SecurityCenter::update_finding] calls.
3090    ///
3091    /// # Example
3092    /// ```
3093    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateFinding;
3094    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3095    ///
3096    /// let builder = prepare_request_builder();
3097    /// let response = builder.send().await?;
3098    /// # Ok(()) }
3099    ///
3100    /// fn prepare_request_builder() -> UpdateFinding {
3101    ///   # panic!();
3102    ///   // ... details omitted ...
3103    /// }
3104    /// ```
3105    #[derive(Clone, Debug)]
3106    pub struct UpdateFinding(RequestBuilder<crate::model::UpdateFindingRequest>);
3107
3108    impl UpdateFinding {
3109        pub(crate) fn new(
3110            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3111        ) -> Self {
3112            Self(RequestBuilder::new(stub))
3113        }
3114
3115        /// Sets the full request, replacing any prior values.
3116        pub fn with_request<V: Into<crate::model::UpdateFindingRequest>>(mut self, v: V) -> Self {
3117            self.0.request = v.into();
3118            self
3119        }
3120
3121        /// Sets all the options, replacing any prior values.
3122        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3123            self.0.options = v.into();
3124            self
3125        }
3126
3127        /// Sends the request.
3128        pub async fn send(self) -> Result<crate::model::Finding> {
3129            (*self.0.stub)
3130                .update_finding(self.0.request, self.0.options)
3131                .await
3132                .map(crate::Response::into_body)
3133        }
3134
3135        /// Sets the value of [finding][crate::model::UpdateFindingRequest::finding].
3136        ///
3137        /// This is a **required** field for requests.
3138        pub fn set_finding<T>(mut self, v: T) -> Self
3139        where
3140            T: std::convert::Into<crate::model::Finding>,
3141        {
3142            self.0.request.finding = std::option::Option::Some(v.into());
3143            self
3144        }
3145
3146        /// Sets or clears the value of [finding][crate::model::UpdateFindingRequest::finding].
3147        ///
3148        /// This is a **required** field for requests.
3149        pub fn set_or_clear_finding<T>(mut self, v: std::option::Option<T>) -> Self
3150        where
3151            T: std::convert::Into<crate::model::Finding>,
3152        {
3153            self.0.request.finding = v.map(|x| x.into());
3154            self
3155        }
3156
3157        /// Sets the value of [update_mask][crate::model::UpdateFindingRequest::update_mask].
3158        pub fn set_update_mask<T>(mut self, v: T) -> Self
3159        where
3160            T: std::convert::Into<wkt::FieldMask>,
3161        {
3162            self.0.request.update_mask = std::option::Option::Some(v.into());
3163            self
3164        }
3165
3166        /// Sets or clears the value of [update_mask][crate::model::UpdateFindingRequest::update_mask].
3167        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3168        where
3169            T: std::convert::Into<wkt::FieldMask>,
3170        {
3171            self.0.request.update_mask = v.map(|x| x.into());
3172            self
3173        }
3174    }
3175
3176    #[doc(hidden)]
3177    impl crate::RequestBuilder for UpdateFinding {
3178        fn request_options(&mut self) -> &mut crate::RequestOptions {
3179            &mut self.0.options
3180        }
3181    }
3182
3183    /// The request builder for [SecurityCenter::update_mute_config][crate::client::SecurityCenter::update_mute_config] calls.
3184    ///
3185    /// # Example
3186    /// ```
3187    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateMuteConfig;
3188    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3189    ///
3190    /// let builder = prepare_request_builder();
3191    /// let response = builder.send().await?;
3192    /// # Ok(()) }
3193    ///
3194    /// fn prepare_request_builder() -> UpdateMuteConfig {
3195    ///   # panic!();
3196    ///   // ... details omitted ...
3197    /// }
3198    /// ```
3199    #[derive(Clone, Debug)]
3200    pub struct UpdateMuteConfig(RequestBuilder<crate::model::UpdateMuteConfigRequest>);
3201
3202    impl UpdateMuteConfig {
3203        pub(crate) fn new(
3204            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3205        ) -> Self {
3206            Self(RequestBuilder::new(stub))
3207        }
3208
3209        /// Sets the full request, replacing any prior values.
3210        pub fn with_request<V: Into<crate::model::UpdateMuteConfigRequest>>(
3211            mut self,
3212            v: V,
3213        ) -> Self {
3214            self.0.request = v.into();
3215            self
3216        }
3217
3218        /// Sets all the options, replacing any prior values.
3219        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3220            self.0.options = v.into();
3221            self
3222        }
3223
3224        /// Sends the request.
3225        pub async fn send(self) -> Result<crate::model::MuteConfig> {
3226            (*self.0.stub)
3227                .update_mute_config(self.0.request, self.0.options)
3228                .await
3229                .map(crate::Response::into_body)
3230        }
3231
3232        /// Sets the value of [mute_config][crate::model::UpdateMuteConfigRequest::mute_config].
3233        ///
3234        /// This is a **required** field for requests.
3235        pub fn set_mute_config<T>(mut self, v: T) -> Self
3236        where
3237            T: std::convert::Into<crate::model::MuteConfig>,
3238        {
3239            self.0.request.mute_config = std::option::Option::Some(v.into());
3240            self
3241        }
3242
3243        /// Sets or clears the value of [mute_config][crate::model::UpdateMuteConfigRequest::mute_config].
3244        ///
3245        /// This is a **required** field for requests.
3246        pub fn set_or_clear_mute_config<T>(mut self, v: std::option::Option<T>) -> Self
3247        where
3248            T: std::convert::Into<crate::model::MuteConfig>,
3249        {
3250            self.0.request.mute_config = v.map(|x| x.into());
3251            self
3252        }
3253
3254        /// Sets the value of [update_mask][crate::model::UpdateMuteConfigRequest::update_mask].
3255        pub fn set_update_mask<T>(mut self, v: T) -> Self
3256        where
3257            T: std::convert::Into<wkt::FieldMask>,
3258        {
3259            self.0.request.update_mask = std::option::Option::Some(v.into());
3260            self
3261        }
3262
3263        /// Sets or clears the value of [update_mask][crate::model::UpdateMuteConfigRequest::update_mask].
3264        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3265        where
3266            T: std::convert::Into<wkt::FieldMask>,
3267        {
3268            self.0.request.update_mask = v.map(|x| x.into());
3269            self
3270        }
3271    }
3272
3273    #[doc(hidden)]
3274    impl crate::RequestBuilder for UpdateMuteConfig {
3275        fn request_options(&mut self) -> &mut crate::RequestOptions {
3276            &mut self.0.options
3277        }
3278    }
3279
3280    /// The request builder for [SecurityCenter::update_notification_config][crate::client::SecurityCenter::update_notification_config] calls.
3281    ///
3282    /// # Example
3283    /// ```
3284    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateNotificationConfig;
3285    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3286    ///
3287    /// let builder = prepare_request_builder();
3288    /// let response = builder.send().await?;
3289    /// # Ok(()) }
3290    ///
3291    /// fn prepare_request_builder() -> UpdateNotificationConfig {
3292    ///   # panic!();
3293    ///   // ... details omitted ...
3294    /// }
3295    /// ```
3296    #[derive(Clone, Debug)]
3297    pub struct UpdateNotificationConfig(
3298        RequestBuilder<crate::model::UpdateNotificationConfigRequest>,
3299    );
3300
3301    impl UpdateNotificationConfig {
3302        pub(crate) fn new(
3303            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3304        ) -> Self {
3305            Self(RequestBuilder::new(stub))
3306        }
3307
3308        /// Sets the full request, replacing any prior values.
3309        pub fn with_request<V: Into<crate::model::UpdateNotificationConfigRequest>>(
3310            mut self,
3311            v: V,
3312        ) -> Self {
3313            self.0.request = v.into();
3314            self
3315        }
3316
3317        /// Sets all the options, replacing any prior values.
3318        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3319            self.0.options = v.into();
3320            self
3321        }
3322
3323        /// Sends the request.
3324        pub async fn send(self) -> Result<crate::model::NotificationConfig> {
3325            (*self.0.stub)
3326                .update_notification_config(self.0.request, self.0.options)
3327                .await
3328                .map(crate::Response::into_body)
3329        }
3330
3331        /// Sets the value of [notification_config][crate::model::UpdateNotificationConfigRequest::notification_config].
3332        ///
3333        /// This is a **required** field for requests.
3334        pub fn set_notification_config<T>(mut self, v: T) -> Self
3335        where
3336            T: std::convert::Into<crate::model::NotificationConfig>,
3337        {
3338            self.0.request.notification_config = std::option::Option::Some(v.into());
3339            self
3340        }
3341
3342        /// Sets or clears the value of [notification_config][crate::model::UpdateNotificationConfigRequest::notification_config].
3343        ///
3344        /// This is a **required** field for requests.
3345        pub fn set_or_clear_notification_config<T>(mut self, v: std::option::Option<T>) -> Self
3346        where
3347            T: std::convert::Into<crate::model::NotificationConfig>,
3348        {
3349            self.0.request.notification_config = v.map(|x| x.into());
3350            self
3351        }
3352
3353        /// Sets the value of [update_mask][crate::model::UpdateNotificationConfigRequest::update_mask].
3354        pub fn set_update_mask<T>(mut self, v: T) -> Self
3355        where
3356            T: std::convert::Into<wkt::FieldMask>,
3357        {
3358            self.0.request.update_mask = std::option::Option::Some(v.into());
3359            self
3360        }
3361
3362        /// Sets or clears the value of [update_mask][crate::model::UpdateNotificationConfigRequest::update_mask].
3363        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3364        where
3365            T: std::convert::Into<wkt::FieldMask>,
3366        {
3367            self.0.request.update_mask = v.map(|x| x.into());
3368            self
3369        }
3370    }
3371
3372    #[doc(hidden)]
3373    impl crate::RequestBuilder for UpdateNotificationConfig {
3374        fn request_options(&mut self) -> &mut crate::RequestOptions {
3375            &mut self.0.options
3376        }
3377    }
3378
3379    /// The request builder for [SecurityCenter::update_resource_value_config][crate::client::SecurityCenter::update_resource_value_config] calls.
3380    ///
3381    /// # Example
3382    /// ```
3383    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateResourceValueConfig;
3384    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3385    ///
3386    /// let builder = prepare_request_builder();
3387    /// let response = builder.send().await?;
3388    /// # Ok(()) }
3389    ///
3390    /// fn prepare_request_builder() -> UpdateResourceValueConfig {
3391    ///   # panic!();
3392    ///   // ... details omitted ...
3393    /// }
3394    /// ```
3395    #[derive(Clone, Debug)]
3396    pub struct UpdateResourceValueConfig(
3397        RequestBuilder<crate::model::UpdateResourceValueConfigRequest>,
3398    );
3399
3400    impl UpdateResourceValueConfig {
3401        pub(crate) fn new(
3402            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3403        ) -> Self {
3404            Self(RequestBuilder::new(stub))
3405        }
3406
3407        /// Sets the full request, replacing any prior values.
3408        pub fn with_request<V: Into<crate::model::UpdateResourceValueConfigRequest>>(
3409            mut self,
3410            v: V,
3411        ) -> Self {
3412            self.0.request = v.into();
3413            self
3414        }
3415
3416        /// Sets all the options, replacing any prior values.
3417        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3418            self.0.options = v.into();
3419            self
3420        }
3421
3422        /// Sends the request.
3423        pub async fn send(self) -> Result<crate::model::ResourceValueConfig> {
3424            (*self.0.stub)
3425                .update_resource_value_config(self.0.request, self.0.options)
3426                .await
3427                .map(crate::Response::into_body)
3428        }
3429
3430        /// Sets the value of [resource_value_config][crate::model::UpdateResourceValueConfigRequest::resource_value_config].
3431        ///
3432        /// This is a **required** field for requests.
3433        pub fn set_resource_value_config<T>(mut self, v: T) -> Self
3434        where
3435            T: std::convert::Into<crate::model::ResourceValueConfig>,
3436        {
3437            self.0.request.resource_value_config = std::option::Option::Some(v.into());
3438            self
3439        }
3440
3441        /// Sets or clears the value of [resource_value_config][crate::model::UpdateResourceValueConfigRequest::resource_value_config].
3442        ///
3443        /// This is a **required** field for requests.
3444        pub fn set_or_clear_resource_value_config<T>(mut self, v: std::option::Option<T>) -> Self
3445        where
3446            T: std::convert::Into<crate::model::ResourceValueConfig>,
3447        {
3448            self.0.request.resource_value_config = v.map(|x| x.into());
3449            self
3450        }
3451
3452        /// Sets the value of [update_mask][crate::model::UpdateResourceValueConfigRequest::update_mask].
3453        pub fn set_update_mask<T>(mut self, v: T) -> Self
3454        where
3455            T: std::convert::Into<wkt::FieldMask>,
3456        {
3457            self.0.request.update_mask = std::option::Option::Some(v.into());
3458            self
3459        }
3460
3461        /// Sets or clears the value of [update_mask][crate::model::UpdateResourceValueConfigRequest::update_mask].
3462        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3463        where
3464            T: std::convert::Into<wkt::FieldMask>,
3465        {
3466            self.0.request.update_mask = v.map(|x| x.into());
3467            self
3468        }
3469    }
3470
3471    #[doc(hidden)]
3472    impl crate::RequestBuilder for UpdateResourceValueConfig {
3473        fn request_options(&mut self) -> &mut crate::RequestOptions {
3474            &mut self.0.options
3475        }
3476    }
3477
3478    /// The request builder for [SecurityCenter::update_security_marks][crate::client::SecurityCenter::update_security_marks] calls.
3479    ///
3480    /// # Example
3481    /// ```
3482    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateSecurityMarks;
3483    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3484    ///
3485    /// let builder = prepare_request_builder();
3486    /// let response = builder.send().await?;
3487    /// # Ok(()) }
3488    ///
3489    /// fn prepare_request_builder() -> UpdateSecurityMarks {
3490    ///   # panic!();
3491    ///   // ... details omitted ...
3492    /// }
3493    /// ```
3494    #[derive(Clone, Debug)]
3495    pub struct UpdateSecurityMarks(RequestBuilder<crate::model::UpdateSecurityMarksRequest>);
3496
3497    impl UpdateSecurityMarks {
3498        pub(crate) fn new(
3499            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3500        ) -> Self {
3501            Self(RequestBuilder::new(stub))
3502        }
3503
3504        /// Sets the full request, replacing any prior values.
3505        pub fn with_request<V: Into<crate::model::UpdateSecurityMarksRequest>>(
3506            mut self,
3507            v: V,
3508        ) -> Self {
3509            self.0.request = v.into();
3510            self
3511        }
3512
3513        /// Sets all the options, replacing any prior values.
3514        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3515            self.0.options = v.into();
3516            self
3517        }
3518
3519        /// Sends the request.
3520        pub async fn send(self) -> Result<crate::model::SecurityMarks> {
3521            (*self.0.stub)
3522                .update_security_marks(self.0.request, self.0.options)
3523                .await
3524                .map(crate::Response::into_body)
3525        }
3526
3527        /// Sets the value of [security_marks][crate::model::UpdateSecurityMarksRequest::security_marks].
3528        ///
3529        /// This is a **required** field for requests.
3530        pub fn set_security_marks<T>(mut self, v: T) -> Self
3531        where
3532            T: std::convert::Into<crate::model::SecurityMarks>,
3533        {
3534            self.0.request.security_marks = std::option::Option::Some(v.into());
3535            self
3536        }
3537
3538        /// Sets or clears the value of [security_marks][crate::model::UpdateSecurityMarksRequest::security_marks].
3539        ///
3540        /// This is a **required** field for requests.
3541        pub fn set_or_clear_security_marks<T>(mut self, v: std::option::Option<T>) -> Self
3542        where
3543            T: std::convert::Into<crate::model::SecurityMarks>,
3544        {
3545            self.0.request.security_marks = v.map(|x| x.into());
3546            self
3547        }
3548
3549        /// Sets the value of [update_mask][crate::model::UpdateSecurityMarksRequest::update_mask].
3550        pub fn set_update_mask<T>(mut self, v: T) -> Self
3551        where
3552            T: std::convert::Into<wkt::FieldMask>,
3553        {
3554            self.0.request.update_mask = std::option::Option::Some(v.into());
3555            self
3556        }
3557
3558        /// Sets or clears the value of [update_mask][crate::model::UpdateSecurityMarksRequest::update_mask].
3559        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3560        where
3561            T: std::convert::Into<wkt::FieldMask>,
3562        {
3563            self.0.request.update_mask = v.map(|x| x.into());
3564            self
3565        }
3566    }
3567
3568    #[doc(hidden)]
3569    impl crate::RequestBuilder for UpdateSecurityMarks {
3570        fn request_options(&mut self) -> &mut crate::RequestOptions {
3571            &mut self.0.options
3572        }
3573    }
3574
3575    /// The request builder for [SecurityCenter::update_source][crate::client::SecurityCenter::update_source] calls.
3576    ///
3577    /// # Example
3578    /// ```
3579    /// # use google_cloud_securitycenter_v2::builder::security_center::UpdateSource;
3580    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3581    ///
3582    /// let builder = prepare_request_builder();
3583    /// let response = builder.send().await?;
3584    /// # Ok(()) }
3585    ///
3586    /// fn prepare_request_builder() -> UpdateSource {
3587    ///   # panic!();
3588    ///   // ... details omitted ...
3589    /// }
3590    /// ```
3591    #[derive(Clone, Debug)]
3592    pub struct UpdateSource(RequestBuilder<crate::model::UpdateSourceRequest>);
3593
3594    impl UpdateSource {
3595        pub(crate) fn new(
3596            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3597        ) -> Self {
3598            Self(RequestBuilder::new(stub))
3599        }
3600
3601        /// Sets the full request, replacing any prior values.
3602        pub fn with_request<V: Into<crate::model::UpdateSourceRequest>>(mut self, v: V) -> Self {
3603            self.0.request = v.into();
3604            self
3605        }
3606
3607        /// Sets all the options, replacing any prior values.
3608        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3609            self.0.options = v.into();
3610            self
3611        }
3612
3613        /// Sends the request.
3614        pub async fn send(self) -> Result<crate::model::Source> {
3615            (*self.0.stub)
3616                .update_source(self.0.request, self.0.options)
3617                .await
3618                .map(crate::Response::into_body)
3619        }
3620
3621        /// Sets the value of [source][crate::model::UpdateSourceRequest::source].
3622        ///
3623        /// This is a **required** field for requests.
3624        pub fn set_source<T>(mut self, v: T) -> Self
3625        where
3626            T: std::convert::Into<crate::model::Source>,
3627        {
3628            self.0.request.source = std::option::Option::Some(v.into());
3629            self
3630        }
3631
3632        /// Sets or clears the value of [source][crate::model::UpdateSourceRequest::source].
3633        ///
3634        /// This is a **required** field for requests.
3635        pub fn set_or_clear_source<T>(mut self, v: std::option::Option<T>) -> Self
3636        where
3637            T: std::convert::Into<crate::model::Source>,
3638        {
3639            self.0.request.source = v.map(|x| x.into());
3640            self
3641        }
3642
3643        /// Sets the value of [update_mask][crate::model::UpdateSourceRequest::update_mask].
3644        pub fn set_update_mask<T>(mut self, v: T) -> Self
3645        where
3646            T: std::convert::Into<wkt::FieldMask>,
3647        {
3648            self.0.request.update_mask = std::option::Option::Some(v.into());
3649            self
3650        }
3651
3652        /// Sets or clears the value of [update_mask][crate::model::UpdateSourceRequest::update_mask].
3653        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
3654        where
3655            T: std::convert::Into<wkt::FieldMask>,
3656        {
3657            self.0.request.update_mask = v.map(|x| x.into());
3658            self
3659        }
3660    }
3661
3662    #[doc(hidden)]
3663    impl crate::RequestBuilder for UpdateSource {
3664        fn request_options(&mut self) -> &mut crate::RequestOptions {
3665            &mut self.0.options
3666        }
3667    }
3668
3669    /// The request builder for [SecurityCenter::list_operations][crate::client::SecurityCenter::list_operations] calls.
3670    ///
3671    /// # Example
3672    /// ```
3673    /// # use google_cloud_securitycenter_v2::builder::security_center::ListOperations;
3674    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3675    /// use google_cloud_gax::paginator::ItemPaginator;
3676    ///
3677    /// let builder = prepare_request_builder();
3678    /// let mut items = builder.by_item();
3679    /// while let Some(result) = items.next().await {
3680    ///   let item = result?;
3681    /// }
3682    /// # Ok(()) }
3683    ///
3684    /// fn prepare_request_builder() -> ListOperations {
3685    ///   # panic!();
3686    ///   // ... details omitted ...
3687    /// }
3688    /// ```
3689    #[derive(Clone, Debug)]
3690    pub struct ListOperations(
3691        RequestBuilder<google_cloud_longrunning::model::ListOperationsRequest>,
3692    );
3693
3694    impl ListOperations {
3695        pub(crate) fn new(
3696            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3697        ) -> Self {
3698            Self(RequestBuilder::new(stub))
3699        }
3700
3701        /// Sets the full request, replacing any prior values.
3702        pub fn with_request<V: Into<google_cloud_longrunning::model::ListOperationsRequest>>(
3703            mut self,
3704            v: V,
3705        ) -> Self {
3706            self.0.request = v.into();
3707            self
3708        }
3709
3710        /// Sets all the options, replacing any prior values.
3711        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3712            self.0.options = v.into();
3713            self
3714        }
3715
3716        /// Sends the request.
3717        pub async fn send(self) -> Result<google_cloud_longrunning::model::ListOperationsResponse> {
3718            (*self.0.stub)
3719                .list_operations(self.0.request, self.0.options)
3720                .await
3721                .map(crate::Response::into_body)
3722        }
3723
3724        /// Streams each page in the collection.
3725        pub fn by_page(
3726            self,
3727        ) -> impl google_cloud_gax::paginator::Paginator<
3728            google_cloud_longrunning::model::ListOperationsResponse,
3729            crate::Error,
3730        > {
3731            use std::clone::Clone;
3732            let token = self.0.request.page_token.clone();
3733            let execute = move |token: String| {
3734                let mut builder = self.clone();
3735                builder.0.request = builder.0.request.set_page_token(token);
3736                builder.send()
3737            };
3738            google_cloud_gax::paginator::internal::new_paginator(token, execute)
3739        }
3740
3741        /// Streams each item in the collection.
3742        pub fn by_item(
3743            self,
3744        ) -> impl google_cloud_gax::paginator::ItemPaginator<
3745            google_cloud_longrunning::model::ListOperationsResponse,
3746            crate::Error,
3747        > {
3748            use google_cloud_gax::paginator::Paginator;
3749            self.by_page().items()
3750        }
3751
3752        /// Sets the value of [name][google_cloud_longrunning::model::ListOperationsRequest::name].
3753        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
3754            self.0.request.name = v.into();
3755            self
3756        }
3757
3758        /// Sets the value of [filter][google_cloud_longrunning::model::ListOperationsRequest::filter].
3759        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
3760            self.0.request.filter = v.into();
3761            self
3762        }
3763
3764        /// Sets the value of [page_size][google_cloud_longrunning::model::ListOperationsRequest::page_size].
3765        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
3766            self.0.request.page_size = v.into();
3767            self
3768        }
3769
3770        /// Sets the value of [page_token][google_cloud_longrunning::model::ListOperationsRequest::page_token].
3771        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
3772            self.0.request.page_token = v.into();
3773            self
3774        }
3775
3776        /// Sets the value of [return_partial_success][google_cloud_longrunning::model::ListOperationsRequest::return_partial_success].
3777        pub fn set_return_partial_success<T: Into<bool>>(mut self, v: T) -> Self {
3778            self.0.request.return_partial_success = v.into();
3779            self
3780        }
3781    }
3782
3783    #[doc(hidden)]
3784    impl crate::RequestBuilder for ListOperations {
3785        fn request_options(&mut self) -> &mut crate::RequestOptions {
3786            &mut self.0.options
3787        }
3788    }
3789
3790    /// The request builder for [SecurityCenter::get_operation][crate::client::SecurityCenter::get_operation] calls.
3791    ///
3792    /// # Example
3793    /// ```
3794    /// # use google_cloud_securitycenter_v2::builder::security_center::GetOperation;
3795    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3796    ///
3797    /// let builder = prepare_request_builder();
3798    /// let response = builder.send().await?;
3799    /// # Ok(()) }
3800    ///
3801    /// fn prepare_request_builder() -> GetOperation {
3802    ///   # panic!();
3803    ///   // ... details omitted ...
3804    /// }
3805    /// ```
3806    #[derive(Clone, Debug)]
3807    pub struct GetOperation(RequestBuilder<google_cloud_longrunning::model::GetOperationRequest>);
3808
3809    impl GetOperation {
3810        pub(crate) fn new(
3811            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3812        ) -> Self {
3813            Self(RequestBuilder::new(stub))
3814        }
3815
3816        /// Sets the full request, replacing any prior values.
3817        pub fn with_request<V: Into<google_cloud_longrunning::model::GetOperationRequest>>(
3818            mut self,
3819            v: V,
3820        ) -> Self {
3821            self.0.request = v.into();
3822            self
3823        }
3824
3825        /// Sets all the options, replacing any prior values.
3826        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3827            self.0.options = v.into();
3828            self
3829        }
3830
3831        /// Sends the request.
3832        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
3833            (*self.0.stub)
3834                .get_operation(self.0.request, self.0.options)
3835                .await
3836                .map(crate::Response::into_body)
3837        }
3838
3839        /// Sets the value of [name][google_cloud_longrunning::model::GetOperationRequest::name].
3840        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
3841            self.0.request.name = v.into();
3842            self
3843        }
3844    }
3845
3846    #[doc(hidden)]
3847    impl crate::RequestBuilder for GetOperation {
3848        fn request_options(&mut self) -> &mut crate::RequestOptions {
3849            &mut self.0.options
3850        }
3851    }
3852
3853    /// The request builder for [SecurityCenter::delete_operation][crate::client::SecurityCenter::delete_operation] calls.
3854    ///
3855    /// # Example
3856    /// ```
3857    /// # use google_cloud_securitycenter_v2::builder::security_center::DeleteOperation;
3858    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3859    ///
3860    /// let builder = prepare_request_builder();
3861    /// let response = builder.send().await?;
3862    /// # Ok(()) }
3863    ///
3864    /// fn prepare_request_builder() -> DeleteOperation {
3865    ///   # panic!();
3866    ///   // ... details omitted ...
3867    /// }
3868    /// ```
3869    #[derive(Clone, Debug)]
3870    pub struct DeleteOperation(
3871        RequestBuilder<google_cloud_longrunning::model::DeleteOperationRequest>,
3872    );
3873
3874    impl DeleteOperation {
3875        pub(crate) fn new(
3876            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3877        ) -> Self {
3878            Self(RequestBuilder::new(stub))
3879        }
3880
3881        /// Sets the full request, replacing any prior values.
3882        pub fn with_request<V: Into<google_cloud_longrunning::model::DeleteOperationRequest>>(
3883            mut self,
3884            v: V,
3885        ) -> Self {
3886            self.0.request = v.into();
3887            self
3888        }
3889
3890        /// Sets all the options, replacing any prior values.
3891        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3892            self.0.options = v.into();
3893            self
3894        }
3895
3896        /// Sends the request.
3897        pub async fn send(self) -> Result<()> {
3898            (*self.0.stub)
3899                .delete_operation(self.0.request, self.0.options)
3900                .await
3901                .map(crate::Response::into_body)
3902        }
3903
3904        /// Sets the value of [name][google_cloud_longrunning::model::DeleteOperationRequest::name].
3905        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
3906            self.0.request.name = v.into();
3907            self
3908        }
3909    }
3910
3911    #[doc(hidden)]
3912    impl crate::RequestBuilder for DeleteOperation {
3913        fn request_options(&mut self) -> &mut crate::RequestOptions {
3914            &mut self.0.options
3915        }
3916    }
3917
3918    /// The request builder for [SecurityCenter::cancel_operation][crate::client::SecurityCenter::cancel_operation] calls.
3919    ///
3920    /// # Example
3921    /// ```
3922    /// # use google_cloud_securitycenter_v2::builder::security_center::CancelOperation;
3923    /// # async fn sample() -> google_cloud_securitycenter_v2::Result<()> {
3924    ///
3925    /// let builder = prepare_request_builder();
3926    /// let response = builder.send().await?;
3927    /// # Ok(()) }
3928    ///
3929    /// fn prepare_request_builder() -> CancelOperation {
3930    ///   # panic!();
3931    ///   // ... details omitted ...
3932    /// }
3933    /// ```
3934    #[derive(Clone, Debug)]
3935    pub struct CancelOperation(
3936        RequestBuilder<google_cloud_longrunning::model::CancelOperationRequest>,
3937    );
3938
3939    impl CancelOperation {
3940        pub(crate) fn new(
3941            stub: std::sync::Arc<dyn super::super::stub::dynamic::SecurityCenter>,
3942        ) -> Self {
3943            Self(RequestBuilder::new(stub))
3944        }
3945
3946        /// Sets the full request, replacing any prior values.
3947        pub fn with_request<V: Into<google_cloud_longrunning::model::CancelOperationRequest>>(
3948            mut self,
3949            v: V,
3950        ) -> Self {
3951            self.0.request = v.into();
3952            self
3953        }
3954
3955        /// Sets all the options, replacing any prior values.
3956        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
3957            self.0.options = v.into();
3958            self
3959        }
3960
3961        /// Sends the request.
3962        pub async fn send(self) -> Result<()> {
3963            (*self.0.stub)
3964                .cancel_operation(self.0.request, self.0.options)
3965                .await
3966                .map(crate::Response::into_body)
3967        }
3968
3969        /// Sets the value of [name][google_cloud_longrunning::model::CancelOperationRequest::name].
3970        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
3971            self.0.request.name = v.into();
3972            self
3973        }
3974    }
3975
3976    #[doc(hidden)]
3977    impl crate::RequestBuilder for CancelOperation {
3978        fn request_options(&mut self) -> &mut crate::RequestOptions {
3979            &mut self.0.options
3980        }
3981    }
3982}