Skip to main content

google_cloud_compute_v1/
stub.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//! Traits to mock the clients in this library.
18//!
19//! Application developers may need to mock the clients in this library to test
20//! how their application works with different (and sometimes hard to trigger)
21//! client and service behavior. Such test can define mocks implementing the
22//! trait(s) defined in this module, initialize the client with an instance of
23//! this mock in their tests, and verify their application responds as expected.
24
25#![allow(rustdoc::broken_intra_doc_links)]
26
27pub(crate) mod dynamic;
28
29/// Defines the trait used to implement [super::client::AcceleratorTypes].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::AcceleratorTypes`.  In other use-cases, application developers only
33/// use `client::AcceleratorTypes` and need not be concerned with this trait or
34/// its implementations.
35///
36/// Services gain new RPCs routinely. Consequently, this trait gains new methods
37/// too. To avoid breaking applications the trait provides a default
38/// implementation of each method. Most of these implementations just return an
39/// error.
40#[cfg(feature = "accelerator-types")]
41#[cfg_attr(docsrs, doc(cfg(feature = "accelerator-types")))]
42pub trait AcceleratorTypes: std::fmt::Debug + Send + Sync {
43    /// Implements [super::client::AcceleratorTypes::aggregated_list].
44    fn aggregated_list(
45        &self,
46        _req: crate::model::accelerator_types::AggregatedListRequest,
47        _options: crate::RequestOptions,
48    ) -> impl std::future::Future<
49        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeAggregatedList>>,
50    > + Send {
51        gaxi::unimplemented::unimplemented_stub()
52    }
53
54    /// Implements [super::client::AcceleratorTypes::get].
55    fn get(
56        &self,
57        _req: crate::model::accelerator_types::GetRequest,
58        _options: crate::RequestOptions,
59    ) -> impl std::future::Future<
60        Output = crate::Result<crate::Response<crate::model::AcceleratorType>>,
61    > + Send {
62        gaxi::unimplemented::unimplemented_stub()
63    }
64
65    /// Implements [super::client::AcceleratorTypes::list].
66    fn list(
67        &self,
68        _req: crate::model::accelerator_types::ListRequest,
69        _options: crate::RequestOptions,
70    ) -> impl std::future::Future<
71        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeList>>,
72    > + Send {
73        gaxi::unimplemented::unimplemented_stub()
74    }
75}
76
77/// Defines the trait used to implement [super::client::Addresses].
78///
79/// Application developers may need to implement this trait to mock
80/// `client::Addresses`.  In other use-cases, application developers only
81/// use `client::Addresses` and need not be concerned with this trait or
82/// its implementations.
83///
84/// Services gain new RPCs routinely. Consequently, this trait gains new methods
85/// too. To avoid breaking applications the trait provides a default
86/// implementation of each method. Most of these implementations just return an
87/// error.
88#[cfg(feature = "addresses")]
89#[cfg_attr(docsrs, doc(cfg(feature = "addresses")))]
90pub trait Addresses: std::fmt::Debug + Send + Sync {
91    /// Implements [super::client::Addresses::aggregated_list].
92    fn aggregated_list(
93        &self,
94        _req: crate::model::addresses::AggregatedListRequest,
95        _options: crate::RequestOptions,
96    ) -> impl std::future::Future<
97        Output = crate::Result<crate::Response<crate::model::AddressAggregatedList>>,
98    > + Send {
99        gaxi::unimplemented::unimplemented_stub()
100    }
101
102    /// Implements [super::client::Addresses::delete].
103    fn delete(
104        &self,
105        _req: crate::model::addresses::DeleteRequest,
106        _options: crate::RequestOptions,
107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
108    {
109        gaxi::unimplemented::unimplemented_stub()
110    }
111
112    /// Implements [super::client::Addresses::get].
113    fn get(
114        &self,
115        _req: crate::model::addresses::GetRequest,
116        _options: crate::RequestOptions,
117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
118    {
119        gaxi::unimplemented::unimplemented_stub()
120    }
121
122    /// Implements [super::client::Addresses::insert].
123    fn insert(
124        &self,
125        _req: crate::model::addresses::InsertRequest,
126        _options: crate::RequestOptions,
127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
128    {
129        gaxi::unimplemented::unimplemented_stub()
130    }
131
132    /// Implements [super::client::Addresses::list].
133    fn list(
134        &self,
135        _req: crate::model::addresses::ListRequest,
136        _options: crate::RequestOptions,
137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
138    + Send {
139        gaxi::unimplemented::unimplemented_stub()
140    }
141
142    /// Implements [super::client::Addresses::r#move].
143    fn r#move(
144        &self,
145        _req: crate::model::addresses::MoveRequest,
146        _options: crate::RequestOptions,
147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
148    {
149        gaxi::unimplemented::unimplemented_stub()
150    }
151
152    /// Implements [super::client::Addresses::set_labels].
153    fn set_labels(
154        &self,
155        _req: crate::model::addresses::SetLabelsRequest,
156        _options: crate::RequestOptions,
157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
158    {
159        gaxi::unimplemented::unimplemented_stub()
160    }
161
162    /// Implements [super::client::Addresses::test_iam_permissions].
163    fn test_iam_permissions(
164        &self,
165        _req: crate::model::addresses::TestIamPermissionsRequest,
166        _options: crate::RequestOptions,
167    ) -> impl std::future::Future<
168        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
169    > + Send {
170        gaxi::unimplemented::unimplemented_stub()
171    }
172
173    /// Implements [super::client::Addresses::get_operation].
174    fn get_operation(
175        &self,
176        _req: crate::model::region_operations::GetRequest,
177        _options: crate::RequestOptions,
178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
179    {
180        gaxi::unimplemented::unimplemented_stub()
181    }
182
183    /// Returns the polling error policy.
184    ///
185    /// When mocking, this method is typically irrelevant. Do not try to verify
186    /// it is called by your mocks.
187    fn get_polling_error_policy(
188        &self,
189        _options: &crate::RequestOptions,
190    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
191        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
192    }
193
194    /// Returns the polling backoff policy.
195    ///
196    /// When mocking, this method is typically irrelevant. Do not try to verify
197    /// it is called by your mocks.
198    fn get_polling_backoff_policy(
199        &self,
200        _options: &crate::RequestOptions,
201    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
202        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
203    }
204
205    #[doc(hidden)]
206    /// Returns the poller options.
207    ///
208    /// When mocking, this method is typically irrelevant. Do not try to verify
209    /// it is called by your mocks.
210    fn get_poller_options(
211        &self,
212        _options: &crate::RequestOptions,
213    ) -> google_cloud_lro::PollerOptions {
214        google_cloud_lro::PollerOptions::default()
215    }
216}
217
218/// Defines the trait used to implement [super::client::Advice].
219///
220/// Application developers may need to implement this trait to mock
221/// `client::Advice`.  In other use-cases, application developers only
222/// use `client::Advice` and need not be concerned with this trait or
223/// its implementations.
224///
225/// Services gain new RPCs routinely. Consequently, this trait gains new methods
226/// too. To avoid breaking applications the trait provides a default
227/// implementation of each method. Most of these implementations just return an
228/// error.
229#[cfg(feature = "advice")]
230#[cfg_attr(docsrs, doc(cfg(feature = "advice")))]
231pub trait Advice: std::fmt::Debug + Send + Sync {
232    /// Implements [super::client::Advice::calendar_mode].
233    fn calendar_mode(
234        &self,
235        _req: crate::model::advice::CalendarModeRequest,
236        _options: crate::RequestOptions,
237    ) -> impl std::future::Future<
238        Output = crate::Result<crate::Response<crate::model::CalendarModeAdviceResponse>>,
239    > + Send {
240        gaxi::unimplemented::unimplemented_stub()
241    }
242}
243
244/// Defines the trait used to implement [super::client::Autoscalers].
245///
246/// Application developers may need to implement this trait to mock
247/// `client::Autoscalers`.  In other use-cases, application developers only
248/// use `client::Autoscalers` and need not be concerned with this trait or
249/// its implementations.
250///
251/// Services gain new RPCs routinely. Consequently, this trait gains new methods
252/// too. To avoid breaking applications the trait provides a default
253/// implementation of each method. Most of these implementations just return an
254/// error.
255#[cfg(feature = "autoscalers")]
256#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
257pub trait Autoscalers: std::fmt::Debug + Send + Sync {
258    /// Implements [super::client::Autoscalers::aggregated_list].
259    fn aggregated_list(
260        &self,
261        _req: crate::model::autoscalers::AggregatedListRequest,
262        _options: crate::RequestOptions,
263    ) -> impl std::future::Future<
264        Output = crate::Result<crate::Response<crate::model::AutoscalerAggregatedList>>,
265    > + Send {
266        gaxi::unimplemented::unimplemented_stub()
267    }
268
269    /// Implements [super::client::Autoscalers::delete].
270    fn delete(
271        &self,
272        _req: crate::model::autoscalers::DeleteRequest,
273        _options: crate::RequestOptions,
274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
275    {
276        gaxi::unimplemented::unimplemented_stub()
277    }
278
279    /// Implements [super::client::Autoscalers::get].
280    fn get(
281        &self,
282        _req: crate::model::autoscalers::GetRequest,
283        _options: crate::RequestOptions,
284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
285    {
286        gaxi::unimplemented::unimplemented_stub()
287    }
288
289    /// Implements [super::client::Autoscalers::insert].
290    fn insert(
291        &self,
292        _req: crate::model::autoscalers::InsertRequest,
293        _options: crate::RequestOptions,
294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
295    {
296        gaxi::unimplemented::unimplemented_stub()
297    }
298
299    /// Implements [super::client::Autoscalers::list].
300    fn list(
301        &self,
302        _req: crate::model::autoscalers::ListRequest,
303        _options: crate::RequestOptions,
304    ) -> impl std::future::Future<
305        Output = crate::Result<crate::Response<crate::model::AutoscalerList>>,
306    > + Send {
307        gaxi::unimplemented::unimplemented_stub()
308    }
309
310    /// Implements [super::client::Autoscalers::patch].
311    fn patch(
312        &self,
313        _req: crate::model::autoscalers::PatchRequest,
314        _options: crate::RequestOptions,
315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
316    {
317        gaxi::unimplemented::unimplemented_stub()
318    }
319
320    /// Implements [super::client::Autoscalers::test_iam_permissions].
321    fn test_iam_permissions(
322        &self,
323        _req: crate::model::autoscalers::TestIamPermissionsRequest,
324        _options: crate::RequestOptions,
325    ) -> impl std::future::Future<
326        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
327    > + Send {
328        gaxi::unimplemented::unimplemented_stub()
329    }
330
331    /// Implements [super::client::Autoscalers::update].
332    fn update(
333        &self,
334        _req: crate::model::autoscalers::UpdateRequest,
335        _options: crate::RequestOptions,
336    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
337    {
338        gaxi::unimplemented::unimplemented_stub()
339    }
340
341    /// Implements [super::client::Autoscalers::get_operation].
342    fn get_operation(
343        &self,
344        _req: crate::model::zone_operations::GetRequest,
345        _options: crate::RequestOptions,
346    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
347    {
348        gaxi::unimplemented::unimplemented_stub()
349    }
350
351    /// Returns the polling error policy.
352    ///
353    /// When mocking, this method is typically irrelevant. Do not try to verify
354    /// it is called by your mocks.
355    fn get_polling_error_policy(
356        &self,
357        _options: &crate::RequestOptions,
358    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
359        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
360    }
361
362    /// Returns the polling backoff policy.
363    ///
364    /// When mocking, this method is typically irrelevant. Do not try to verify
365    /// it is called by your mocks.
366    fn get_polling_backoff_policy(
367        &self,
368        _options: &crate::RequestOptions,
369    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
370        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
371    }
372
373    #[doc(hidden)]
374    /// Returns the poller options.
375    ///
376    /// When mocking, this method is typically irrelevant. Do not try to verify
377    /// it is called by your mocks.
378    fn get_poller_options(
379        &self,
380        _options: &crate::RequestOptions,
381    ) -> google_cloud_lro::PollerOptions {
382        google_cloud_lro::PollerOptions::default()
383    }
384}
385
386/// Defines the trait used to implement [super::client::BackendBuckets].
387///
388/// Application developers may need to implement this trait to mock
389/// `client::BackendBuckets`.  In other use-cases, application developers only
390/// use `client::BackendBuckets` and need not be concerned with this trait or
391/// its implementations.
392///
393/// Services gain new RPCs routinely. Consequently, this trait gains new methods
394/// too. To avoid breaking applications the trait provides a default
395/// implementation of each method. Most of these implementations just return an
396/// error.
397#[cfg(feature = "backend-buckets")]
398#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
399pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
400    /// Implements [super::client::BackendBuckets::add_signed_url_key].
401    fn add_signed_url_key(
402        &self,
403        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
404        _options: crate::RequestOptions,
405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
406    {
407        gaxi::unimplemented::unimplemented_stub()
408    }
409
410    /// Implements [super::client::BackendBuckets::aggregated_list].
411    fn aggregated_list(
412        &self,
413        _req: crate::model::backend_buckets::AggregatedListRequest,
414        _options: crate::RequestOptions,
415    ) -> impl std::future::Future<
416        Output = crate::Result<crate::Response<crate::model::BackendBucketAggregatedList>>,
417    > + Send {
418        gaxi::unimplemented::unimplemented_stub()
419    }
420
421    /// Implements [super::client::BackendBuckets::delete].
422    fn delete(
423        &self,
424        _req: crate::model::backend_buckets::DeleteRequest,
425        _options: crate::RequestOptions,
426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
427    {
428        gaxi::unimplemented::unimplemented_stub()
429    }
430
431    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
432    fn delete_signed_url_key(
433        &self,
434        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
435        _options: crate::RequestOptions,
436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
437    {
438        gaxi::unimplemented::unimplemented_stub()
439    }
440
441    /// Implements [super::client::BackendBuckets::get].
442    fn get(
443        &self,
444        _req: crate::model::backend_buckets::GetRequest,
445        _options: crate::RequestOptions,
446    ) -> impl std::future::Future<
447        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
448    > + Send {
449        gaxi::unimplemented::unimplemented_stub()
450    }
451
452    /// Implements [super::client::BackendBuckets::get_iam_policy].
453    fn get_iam_policy(
454        &self,
455        _req: crate::model::backend_buckets::GetIamPolicyRequest,
456        _options: crate::RequestOptions,
457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
458    {
459        gaxi::unimplemented::unimplemented_stub()
460    }
461
462    /// Implements [super::client::BackendBuckets::insert].
463    fn insert(
464        &self,
465        _req: crate::model::backend_buckets::InsertRequest,
466        _options: crate::RequestOptions,
467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
468    {
469        gaxi::unimplemented::unimplemented_stub()
470    }
471
472    /// Implements [super::client::BackendBuckets::list].
473    fn list(
474        &self,
475        _req: crate::model::backend_buckets::ListRequest,
476        _options: crate::RequestOptions,
477    ) -> impl std::future::Future<
478        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
479    > + Send {
480        gaxi::unimplemented::unimplemented_stub()
481    }
482
483    /// Implements [super::client::BackendBuckets::list_usable].
484    fn list_usable(
485        &self,
486        _req: crate::model::backend_buckets::ListUsableRequest,
487        _options: crate::RequestOptions,
488    ) -> impl std::future::Future<
489        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
490    > + Send {
491        gaxi::unimplemented::unimplemented_stub()
492    }
493
494    /// Implements [super::client::BackendBuckets::patch].
495    fn patch(
496        &self,
497        _req: crate::model::backend_buckets::PatchRequest,
498        _options: crate::RequestOptions,
499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
500    {
501        gaxi::unimplemented::unimplemented_stub()
502    }
503
504    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
505    fn set_edge_security_policy(
506        &self,
507        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
508        _options: crate::RequestOptions,
509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
510    {
511        gaxi::unimplemented::unimplemented_stub()
512    }
513
514    /// Implements [super::client::BackendBuckets::set_iam_policy].
515    fn set_iam_policy(
516        &self,
517        _req: crate::model::backend_buckets::SetIamPolicyRequest,
518        _options: crate::RequestOptions,
519    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
520    {
521        gaxi::unimplemented::unimplemented_stub()
522    }
523
524    /// Implements [super::client::BackendBuckets::test_iam_permissions].
525    fn test_iam_permissions(
526        &self,
527        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
528        _options: crate::RequestOptions,
529    ) -> impl std::future::Future<
530        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
531    > + Send {
532        gaxi::unimplemented::unimplemented_stub()
533    }
534
535    /// Implements [super::client::BackendBuckets::update].
536    fn update(
537        &self,
538        _req: crate::model::backend_buckets::UpdateRequest,
539        _options: crate::RequestOptions,
540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
541    {
542        gaxi::unimplemented::unimplemented_stub()
543    }
544
545    /// Implements [super::client::BackendBuckets::get_operation].
546    fn get_operation(
547        &self,
548        _req: crate::model::global_operations::GetRequest,
549        _options: crate::RequestOptions,
550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
551    {
552        gaxi::unimplemented::unimplemented_stub()
553    }
554
555    /// Returns the polling error policy.
556    ///
557    /// When mocking, this method is typically irrelevant. Do not try to verify
558    /// it is called by your mocks.
559    fn get_polling_error_policy(
560        &self,
561        _options: &crate::RequestOptions,
562    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
563        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
564    }
565
566    /// Returns the polling backoff policy.
567    ///
568    /// When mocking, this method is typically irrelevant. Do not try to verify
569    /// it is called by your mocks.
570    fn get_polling_backoff_policy(
571        &self,
572        _options: &crate::RequestOptions,
573    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
574        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
575    }
576
577    #[doc(hidden)]
578    /// Returns the poller options.
579    ///
580    /// When mocking, this method is typically irrelevant. Do not try to verify
581    /// it is called by your mocks.
582    fn get_poller_options(
583        &self,
584        _options: &crate::RequestOptions,
585    ) -> google_cloud_lro::PollerOptions {
586        google_cloud_lro::PollerOptions::default()
587    }
588}
589
590/// Defines the trait used to implement [super::client::BackendServices].
591///
592/// Application developers may need to implement this trait to mock
593/// `client::BackendServices`.  In other use-cases, application developers only
594/// use `client::BackendServices` and need not be concerned with this trait or
595/// its implementations.
596///
597/// Services gain new RPCs routinely. Consequently, this trait gains new methods
598/// too. To avoid breaking applications the trait provides a default
599/// implementation of each method. Most of these implementations just return an
600/// error.
601#[cfg(feature = "backend-services")]
602#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
603pub trait BackendServices: std::fmt::Debug + Send + Sync {
604    /// Implements [super::client::BackendServices::add_signed_url_key].
605    fn add_signed_url_key(
606        &self,
607        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
608        _options: crate::RequestOptions,
609    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
610    {
611        gaxi::unimplemented::unimplemented_stub()
612    }
613
614    /// Implements [super::client::BackendServices::aggregated_list].
615    fn aggregated_list(
616        &self,
617        _req: crate::model::backend_services::AggregatedListRequest,
618        _options: crate::RequestOptions,
619    ) -> impl std::future::Future<
620        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
621    > + Send {
622        gaxi::unimplemented::unimplemented_stub()
623    }
624
625    /// Implements [super::client::BackendServices::delete].
626    fn delete(
627        &self,
628        _req: crate::model::backend_services::DeleteRequest,
629        _options: crate::RequestOptions,
630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
631    {
632        gaxi::unimplemented::unimplemented_stub()
633    }
634
635    /// Implements [super::client::BackendServices::delete_signed_url_key].
636    fn delete_signed_url_key(
637        &self,
638        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
639        _options: crate::RequestOptions,
640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
641    {
642        gaxi::unimplemented::unimplemented_stub()
643    }
644
645    /// Implements [super::client::BackendServices::get].
646    fn get(
647        &self,
648        _req: crate::model::backend_services::GetRequest,
649        _options: crate::RequestOptions,
650    ) -> impl std::future::Future<
651        Output = crate::Result<crate::Response<crate::model::BackendService>>,
652    > + Send {
653        gaxi::unimplemented::unimplemented_stub()
654    }
655
656    /// Implements [super::client::BackendServices::get_effective_security_policies].
657    fn get_effective_security_policies(
658        &self,
659        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
660        _options: crate::RequestOptions,
661    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
662        gaxi::unimplemented::unimplemented_stub()
663    }
664
665    /// Implements [super::client::BackendServices::get_health].
666    fn get_health(
667        &self,
668        _req: crate::model::backend_services::GetHealthRequest,
669        _options: crate::RequestOptions,
670    ) -> impl std::future::Future<
671        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
672    > + Send {
673        gaxi::unimplemented::unimplemented_stub()
674    }
675
676    /// Implements [super::client::BackendServices::get_iam_policy].
677    fn get_iam_policy(
678        &self,
679        _req: crate::model::backend_services::GetIamPolicyRequest,
680        _options: crate::RequestOptions,
681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
682    {
683        gaxi::unimplemented::unimplemented_stub()
684    }
685
686    /// Implements [super::client::BackendServices::insert].
687    fn insert(
688        &self,
689        _req: crate::model::backend_services::InsertRequest,
690        _options: crate::RequestOptions,
691    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
692    {
693        gaxi::unimplemented::unimplemented_stub()
694    }
695
696    /// Implements [super::client::BackendServices::list].
697    fn list(
698        &self,
699        _req: crate::model::backend_services::ListRequest,
700        _options: crate::RequestOptions,
701    ) -> impl std::future::Future<
702        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
703    > + Send {
704        gaxi::unimplemented::unimplemented_stub()
705    }
706
707    /// Implements [super::client::BackendServices::list_usable].
708    fn list_usable(
709        &self,
710        _req: crate::model::backend_services::ListUsableRequest,
711        _options: crate::RequestOptions,
712    ) -> impl std::future::Future<
713        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
714    > + Send {
715        gaxi::unimplemented::unimplemented_stub()
716    }
717
718    /// Implements [super::client::BackendServices::patch].
719    fn patch(
720        &self,
721        _req: crate::model::backend_services::PatchRequest,
722        _options: crate::RequestOptions,
723    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
724    {
725        gaxi::unimplemented::unimplemented_stub()
726    }
727
728    /// Implements [super::client::BackendServices::set_edge_security_policy].
729    fn set_edge_security_policy(
730        &self,
731        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
732        _options: crate::RequestOptions,
733    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
734    {
735        gaxi::unimplemented::unimplemented_stub()
736    }
737
738    /// Implements [super::client::BackendServices::set_iam_policy].
739    fn set_iam_policy(
740        &self,
741        _req: crate::model::backend_services::SetIamPolicyRequest,
742        _options: crate::RequestOptions,
743    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
744    {
745        gaxi::unimplemented::unimplemented_stub()
746    }
747
748    /// Implements [super::client::BackendServices::set_security_policy].
749    fn set_security_policy(
750        &self,
751        _req: crate::model::backend_services::SetSecurityPolicyRequest,
752        _options: crate::RequestOptions,
753    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
754    {
755        gaxi::unimplemented::unimplemented_stub()
756    }
757
758    /// Implements [super::client::BackendServices::test_iam_permissions].
759    fn test_iam_permissions(
760        &self,
761        _req: crate::model::backend_services::TestIamPermissionsRequest,
762        _options: crate::RequestOptions,
763    ) -> impl std::future::Future<
764        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
765    > + Send {
766        gaxi::unimplemented::unimplemented_stub()
767    }
768
769    /// Implements [super::client::BackendServices::update].
770    fn update(
771        &self,
772        _req: crate::model::backend_services::UpdateRequest,
773        _options: crate::RequestOptions,
774    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
775    {
776        gaxi::unimplemented::unimplemented_stub()
777    }
778
779    /// Implements [super::client::BackendServices::get_operation].
780    fn get_operation(
781        &self,
782        _req: crate::model::global_operations::GetRequest,
783        _options: crate::RequestOptions,
784    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
785    {
786        gaxi::unimplemented::unimplemented_stub()
787    }
788
789    /// Returns the polling error policy.
790    ///
791    /// When mocking, this method is typically irrelevant. Do not try to verify
792    /// it is called by your mocks.
793    fn get_polling_error_policy(
794        &self,
795        _options: &crate::RequestOptions,
796    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
797        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
798    }
799
800    /// Returns the polling backoff policy.
801    ///
802    /// When mocking, this method is typically irrelevant. Do not try to verify
803    /// it is called by your mocks.
804    fn get_polling_backoff_policy(
805        &self,
806        _options: &crate::RequestOptions,
807    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
808        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
809    }
810
811    #[doc(hidden)]
812    /// Returns the poller options.
813    ///
814    /// When mocking, this method is typically irrelevant. Do not try to verify
815    /// it is called by your mocks.
816    fn get_poller_options(
817        &self,
818        _options: &crate::RequestOptions,
819    ) -> google_cloud_lro::PollerOptions {
820        google_cloud_lro::PollerOptions::default()
821    }
822}
823
824/// Defines the trait used to implement [super::client::CrossSiteNetworks].
825///
826/// Application developers may need to implement this trait to mock
827/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
828/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
829/// its implementations.
830///
831/// Services gain new RPCs routinely. Consequently, this trait gains new methods
832/// too. To avoid breaking applications the trait provides a default
833/// implementation of each method. Most of these implementations just return an
834/// error.
835#[cfg(feature = "cross-site-networks")]
836#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
837pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
838    /// Implements [super::client::CrossSiteNetworks::delete].
839    fn delete(
840        &self,
841        _req: crate::model::cross_site_networks::DeleteRequest,
842        _options: crate::RequestOptions,
843    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
844    {
845        gaxi::unimplemented::unimplemented_stub()
846    }
847
848    /// Implements [super::client::CrossSiteNetworks::get].
849    fn get(
850        &self,
851        _req: crate::model::cross_site_networks::GetRequest,
852        _options: crate::RequestOptions,
853    ) -> impl std::future::Future<
854        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
855    > + Send {
856        gaxi::unimplemented::unimplemented_stub()
857    }
858
859    /// Implements [super::client::CrossSiteNetworks::insert].
860    fn insert(
861        &self,
862        _req: crate::model::cross_site_networks::InsertRequest,
863        _options: crate::RequestOptions,
864    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
865    {
866        gaxi::unimplemented::unimplemented_stub()
867    }
868
869    /// Implements [super::client::CrossSiteNetworks::list].
870    fn list(
871        &self,
872        _req: crate::model::cross_site_networks::ListRequest,
873        _options: crate::RequestOptions,
874    ) -> impl std::future::Future<
875        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
876    > + Send {
877        gaxi::unimplemented::unimplemented_stub()
878    }
879
880    /// Implements [super::client::CrossSiteNetworks::patch].
881    fn patch(
882        &self,
883        _req: crate::model::cross_site_networks::PatchRequest,
884        _options: crate::RequestOptions,
885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
886    {
887        gaxi::unimplemented::unimplemented_stub()
888    }
889
890    /// Implements [super::client::CrossSiteNetworks::get_operation].
891    fn get_operation(
892        &self,
893        _req: crate::model::global_operations::GetRequest,
894        _options: crate::RequestOptions,
895    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
896    {
897        gaxi::unimplemented::unimplemented_stub()
898    }
899
900    /// Returns the polling error policy.
901    ///
902    /// When mocking, this method is typically irrelevant. Do not try to verify
903    /// it is called by your mocks.
904    fn get_polling_error_policy(
905        &self,
906        _options: &crate::RequestOptions,
907    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
908        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
909    }
910
911    /// Returns the polling backoff policy.
912    ///
913    /// When mocking, this method is typically irrelevant. Do not try to verify
914    /// it is called by your mocks.
915    fn get_polling_backoff_policy(
916        &self,
917        _options: &crate::RequestOptions,
918    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
919        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
920    }
921
922    #[doc(hidden)]
923    /// Returns the poller options.
924    ///
925    /// When mocking, this method is typically irrelevant. Do not try to verify
926    /// it is called by your mocks.
927    fn get_poller_options(
928        &self,
929        _options: &crate::RequestOptions,
930    ) -> google_cloud_lro::PollerOptions {
931        google_cloud_lro::PollerOptions::default()
932    }
933}
934
935/// Defines the trait used to implement [super::client::DiskTypes].
936///
937/// Application developers may need to implement this trait to mock
938/// `client::DiskTypes`.  In other use-cases, application developers only
939/// use `client::DiskTypes` and need not be concerned with this trait or
940/// its implementations.
941///
942/// Services gain new RPCs routinely. Consequently, this trait gains new methods
943/// too. To avoid breaking applications the trait provides a default
944/// implementation of each method. Most of these implementations just return an
945/// error.
946#[cfg(feature = "disk-types")]
947#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
948pub trait DiskTypes: std::fmt::Debug + Send + Sync {
949    /// Implements [super::client::DiskTypes::aggregated_list].
950    fn aggregated_list(
951        &self,
952        _req: crate::model::disk_types::AggregatedListRequest,
953        _options: crate::RequestOptions,
954    ) -> impl std::future::Future<
955        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
956    > + Send {
957        gaxi::unimplemented::unimplemented_stub()
958    }
959
960    /// Implements [super::client::DiskTypes::get].
961    fn get(
962        &self,
963        _req: crate::model::disk_types::GetRequest,
964        _options: crate::RequestOptions,
965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
966    {
967        gaxi::unimplemented::unimplemented_stub()
968    }
969
970    /// Implements [super::client::DiskTypes::list].
971    fn list(
972        &self,
973        _req: crate::model::disk_types::ListRequest,
974        _options: crate::RequestOptions,
975    ) -> impl std::future::Future<
976        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
977    > + Send {
978        gaxi::unimplemented::unimplemented_stub()
979    }
980}
981
982/// Defines the trait used to implement [super::client::Disks].
983///
984/// Application developers may need to implement this trait to mock
985/// `client::Disks`.  In other use-cases, application developers only
986/// use `client::Disks` and need not be concerned with this trait or
987/// its implementations.
988///
989/// Services gain new RPCs routinely. Consequently, this trait gains new methods
990/// too. To avoid breaking applications the trait provides a default
991/// implementation of each method. Most of these implementations just return an
992/// error.
993#[cfg(feature = "disks")]
994#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
995pub trait Disks: std::fmt::Debug + Send + Sync {
996    /// Implements [super::client::Disks::add_resource_policies].
997    fn add_resource_policies(
998        &self,
999        _req: crate::model::disks::AddResourcePoliciesRequest,
1000        _options: crate::RequestOptions,
1001    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1002    {
1003        gaxi::unimplemented::unimplemented_stub()
1004    }
1005
1006    /// Implements [super::client::Disks::aggregated_list].
1007    fn aggregated_list(
1008        &self,
1009        _req: crate::model::disks::AggregatedListRequest,
1010        _options: crate::RequestOptions,
1011    ) -> impl std::future::Future<
1012        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
1013    > + Send {
1014        gaxi::unimplemented::unimplemented_stub()
1015    }
1016
1017    /// Implements [super::client::Disks::bulk_insert].
1018    fn bulk_insert(
1019        &self,
1020        _req: crate::model::disks::BulkInsertRequest,
1021        _options: crate::RequestOptions,
1022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1023    {
1024        gaxi::unimplemented::unimplemented_stub()
1025    }
1026
1027    /// Implements [super::client::Disks::bulk_set_labels].
1028    fn bulk_set_labels(
1029        &self,
1030        _req: crate::model::disks::BulkSetLabelsRequest,
1031        _options: crate::RequestOptions,
1032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1033    {
1034        gaxi::unimplemented::unimplemented_stub()
1035    }
1036
1037    /// Implements [super::client::Disks::create_snapshot].
1038    fn create_snapshot(
1039        &self,
1040        _req: crate::model::disks::CreateSnapshotRequest,
1041        _options: crate::RequestOptions,
1042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1043    {
1044        gaxi::unimplemented::unimplemented_stub()
1045    }
1046
1047    /// Implements [super::client::Disks::delete].
1048    fn delete(
1049        &self,
1050        _req: crate::model::disks::DeleteRequest,
1051        _options: crate::RequestOptions,
1052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1053    {
1054        gaxi::unimplemented::unimplemented_stub()
1055    }
1056
1057    /// Implements [super::client::Disks::get].
1058    fn get(
1059        &self,
1060        _req: crate::model::disks::GetRequest,
1061        _options: crate::RequestOptions,
1062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
1063    {
1064        gaxi::unimplemented::unimplemented_stub()
1065    }
1066
1067    /// Implements [super::client::Disks::get_iam_policy].
1068    fn get_iam_policy(
1069        &self,
1070        _req: crate::model::disks::GetIamPolicyRequest,
1071        _options: crate::RequestOptions,
1072    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1073    {
1074        gaxi::unimplemented::unimplemented_stub()
1075    }
1076
1077    /// Implements [super::client::Disks::insert].
1078    fn insert(
1079        &self,
1080        _req: crate::model::disks::InsertRequest,
1081        _options: crate::RequestOptions,
1082    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1083    {
1084        gaxi::unimplemented::unimplemented_stub()
1085    }
1086
1087    /// Implements [super::client::Disks::list].
1088    fn list(
1089        &self,
1090        _req: crate::model::disks::ListRequest,
1091        _options: crate::RequestOptions,
1092    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1093    {
1094        gaxi::unimplemented::unimplemented_stub()
1095    }
1096
1097    /// Implements [super::client::Disks::remove_resource_policies].
1098    fn remove_resource_policies(
1099        &self,
1100        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1101        _options: crate::RequestOptions,
1102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1103    {
1104        gaxi::unimplemented::unimplemented_stub()
1105    }
1106
1107    /// Implements [super::client::Disks::resize].
1108    fn resize(
1109        &self,
1110        _req: crate::model::disks::ResizeRequest,
1111        _options: crate::RequestOptions,
1112    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1113    {
1114        gaxi::unimplemented::unimplemented_stub()
1115    }
1116
1117    /// Implements [super::client::Disks::set_iam_policy].
1118    fn set_iam_policy(
1119        &self,
1120        _req: crate::model::disks::SetIamPolicyRequest,
1121        _options: crate::RequestOptions,
1122    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1123    {
1124        gaxi::unimplemented::unimplemented_stub()
1125    }
1126
1127    /// Implements [super::client::Disks::set_labels].
1128    fn set_labels(
1129        &self,
1130        _req: crate::model::disks::SetLabelsRequest,
1131        _options: crate::RequestOptions,
1132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1133    {
1134        gaxi::unimplemented::unimplemented_stub()
1135    }
1136
1137    /// Implements [super::client::Disks::start_async_replication].
1138    fn start_async_replication(
1139        &self,
1140        _req: crate::model::disks::StartAsyncReplicationRequest,
1141        _options: crate::RequestOptions,
1142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1143    {
1144        gaxi::unimplemented::unimplemented_stub()
1145    }
1146
1147    /// Implements [super::client::Disks::stop_async_replication].
1148    fn stop_async_replication(
1149        &self,
1150        _req: crate::model::disks::StopAsyncReplicationRequest,
1151        _options: crate::RequestOptions,
1152    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1153    {
1154        gaxi::unimplemented::unimplemented_stub()
1155    }
1156
1157    /// Implements [super::client::Disks::stop_group_async_replication].
1158    fn stop_group_async_replication(
1159        &self,
1160        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1161        _options: crate::RequestOptions,
1162    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1163    {
1164        gaxi::unimplemented::unimplemented_stub()
1165    }
1166
1167    /// Implements [super::client::Disks::test_iam_permissions].
1168    fn test_iam_permissions(
1169        &self,
1170        _req: crate::model::disks::TestIamPermissionsRequest,
1171        _options: crate::RequestOptions,
1172    ) -> impl std::future::Future<
1173        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1174    > + Send {
1175        gaxi::unimplemented::unimplemented_stub()
1176    }
1177
1178    /// Implements [super::client::Disks::update].
1179    fn update(
1180        &self,
1181        _req: crate::model::disks::UpdateRequest,
1182        _options: crate::RequestOptions,
1183    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1184    {
1185        gaxi::unimplemented::unimplemented_stub()
1186    }
1187
1188    /// Implements [super::client::Disks::update_kms_key].
1189    fn update_kms_key(
1190        &self,
1191        _req: crate::model::disks::UpdateKmsKeyRequest,
1192        _options: crate::RequestOptions,
1193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1194    {
1195        gaxi::unimplemented::unimplemented_stub()
1196    }
1197
1198    /// Implements [super::client::Disks::get_operation].
1199    fn get_operation(
1200        &self,
1201        _req: crate::model::zone_operations::GetRequest,
1202        _options: crate::RequestOptions,
1203    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1204    {
1205        gaxi::unimplemented::unimplemented_stub()
1206    }
1207
1208    /// Returns the polling error policy.
1209    ///
1210    /// When mocking, this method is typically irrelevant. Do not try to verify
1211    /// it is called by your mocks.
1212    fn get_polling_error_policy(
1213        &self,
1214        _options: &crate::RequestOptions,
1215    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1216        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1217    }
1218
1219    /// Returns the polling backoff policy.
1220    ///
1221    /// When mocking, this method is typically irrelevant. Do not try to verify
1222    /// it is called by your mocks.
1223    fn get_polling_backoff_policy(
1224        &self,
1225        _options: &crate::RequestOptions,
1226    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1227        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1228    }
1229
1230    #[doc(hidden)]
1231    /// Returns the poller options.
1232    ///
1233    /// When mocking, this method is typically irrelevant. Do not try to verify
1234    /// it is called by your mocks.
1235    fn get_poller_options(
1236        &self,
1237        _options: &crate::RequestOptions,
1238    ) -> google_cloud_lro::PollerOptions {
1239        google_cloud_lro::PollerOptions::default()
1240    }
1241}
1242
1243/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1244///
1245/// Application developers may need to implement this trait to mock
1246/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1247/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1248/// its implementations.
1249///
1250/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1251/// too. To avoid breaking applications the trait provides a default
1252/// implementation of each method. Most of these implementations just return an
1253/// error.
1254#[cfg(feature = "external-vpn-gateways")]
1255#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1256pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1257    /// Implements [super::client::ExternalVpnGateways::delete].
1258    fn delete(
1259        &self,
1260        _req: crate::model::external_vpn_gateways::DeleteRequest,
1261        _options: crate::RequestOptions,
1262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1263    {
1264        gaxi::unimplemented::unimplemented_stub()
1265    }
1266
1267    /// Implements [super::client::ExternalVpnGateways::get].
1268    fn get(
1269        &self,
1270        _req: crate::model::external_vpn_gateways::GetRequest,
1271        _options: crate::RequestOptions,
1272    ) -> impl std::future::Future<
1273        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1274    > + Send {
1275        gaxi::unimplemented::unimplemented_stub()
1276    }
1277
1278    /// Implements [super::client::ExternalVpnGateways::insert].
1279    fn insert(
1280        &self,
1281        _req: crate::model::external_vpn_gateways::InsertRequest,
1282        _options: crate::RequestOptions,
1283    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1284    {
1285        gaxi::unimplemented::unimplemented_stub()
1286    }
1287
1288    /// Implements [super::client::ExternalVpnGateways::list].
1289    fn list(
1290        &self,
1291        _req: crate::model::external_vpn_gateways::ListRequest,
1292        _options: crate::RequestOptions,
1293    ) -> impl std::future::Future<
1294        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1295    > + Send {
1296        gaxi::unimplemented::unimplemented_stub()
1297    }
1298
1299    /// Implements [super::client::ExternalVpnGateways::set_labels].
1300    fn set_labels(
1301        &self,
1302        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1303        _options: crate::RequestOptions,
1304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1305    {
1306        gaxi::unimplemented::unimplemented_stub()
1307    }
1308
1309    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1310    fn test_iam_permissions(
1311        &self,
1312        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1313        _options: crate::RequestOptions,
1314    ) -> impl std::future::Future<
1315        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1316    > + Send {
1317        gaxi::unimplemented::unimplemented_stub()
1318    }
1319
1320    /// Implements [super::client::ExternalVpnGateways::get_operation].
1321    fn get_operation(
1322        &self,
1323        _req: crate::model::global_operations::GetRequest,
1324        _options: crate::RequestOptions,
1325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1326    {
1327        gaxi::unimplemented::unimplemented_stub()
1328    }
1329
1330    /// Returns the polling error policy.
1331    ///
1332    /// When mocking, this method is typically irrelevant. Do not try to verify
1333    /// it is called by your mocks.
1334    fn get_polling_error_policy(
1335        &self,
1336        _options: &crate::RequestOptions,
1337    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1338        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1339    }
1340
1341    /// Returns the polling backoff policy.
1342    ///
1343    /// When mocking, this method is typically irrelevant. Do not try to verify
1344    /// it is called by your mocks.
1345    fn get_polling_backoff_policy(
1346        &self,
1347        _options: &crate::RequestOptions,
1348    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1349        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1350    }
1351
1352    #[doc(hidden)]
1353    /// Returns the poller options.
1354    ///
1355    /// When mocking, this method is typically irrelevant. Do not try to verify
1356    /// it is called by your mocks.
1357    fn get_poller_options(
1358        &self,
1359        _options: &crate::RequestOptions,
1360    ) -> google_cloud_lro::PollerOptions {
1361        google_cloud_lro::PollerOptions::default()
1362    }
1363}
1364
1365/// Defines the trait used to implement [super::client::FirewallPolicies].
1366///
1367/// Application developers may need to implement this trait to mock
1368/// `client::FirewallPolicies`.  In other use-cases, application developers only
1369/// use `client::FirewallPolicies` and need not be concerned with this trait or
1370/// its implementations.
1371///
1372/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1373/// too. To avoid breaking applications the trait provides a default
1374/// implementation of each method. Most of these implementations just return an
1375/// error.
1376#[cfg(feature = "firewall-policies")]
1377#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1378pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1379    /// Implements [super::client::FirewallPolicies::add_association].
1380    fn add_association(
1381        &self,
1382        _req: crate::model::firewall_policies::AddAssociationRequest,
1383        _options: crate::RequestOptions,
1384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1385    {
1386        gaxi::unimplemented::unimplemented_stub()
1387    }
1388
1389    /// Implements [super::client::FirewallPolicies::add_rule].
1390    fn add_rule(
1391        &self,
1392        _req: crate::model::firewall_policies::AddRuleRequest,
1393        _options: crate::RequestOptions,
1394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1395    {
1396        gaxi::unimplemented::unimplemented_stub()
1397    }
1398
1399    /// Implements [super::client::FirewallPolicies::clone_rules].
1400    fn clone_rules(
1401        &self,
1402        _req: crate::model::firewall_policies::CloneRulesRequest,
1403        _options: crate::RequestOptions,
1404    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1405    {
1406        gaxi::unimplemented::unimplemented_stub()
1407    }
1408
1409    /// Implements [super::client::FirewallPolicies::delete].
1410    fn delete(
1411        &self,
1412        _req: crate::model::firewall_policies::DeleteRequest,
1413        _options: crate::RequestOptions,
1414    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1415    {
1416        gaxi::unimplemented::unimplemented_stub()
1417    }
1418
1419    /// Implements [super::client::FirewallPolicies::get].
1420    fn get(
1421        &self,
1422        _req: crate::model::firewall_policies::GetRequest,
1423        _options: crate::RequestOptions,
1424    ) -> impl std::future::Future<
1425        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1426    > + Send {
1427        gaxi::unimplemented::unimplemented_stub()
1428    }
1429
1430    /// Implements [super::client::FirewallPolicies::get_association].
1431    fn get_association(
1432        &self,
1433        _req: crate::model::firewall_policies::GetAssociationRequest,
1434        _options: crate::RequestOptions,
1435    ) -> impl std::future::Future<
1436        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1437    > + Send {
1438        gaxi::unimplemented::unimplemented_stub()
1439    }
1440
1441    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1442    fn get_iam_policy(
1443        &self,
1444        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1445        _options: crate::RequestOptions,
1446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1447    {
1448        gaxi::unimplemented::unimplemented_stub()
1449    }
1450
1451    /// Implements [super::client::FirewallPolicies::get_rule].
1452    fn get_rule(
1453        &self,
1454        _req: crate::model::firewall_policies::GetRuleRequest,
1455        _options: crate::RequestOptions,
1456    ) -> impl std::future::Future<
1457        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1458    > + Send {
1459        gaxi::unimplemented::unimplemented_stub()
1460    }
1461
1462    /// Implements [super::client::FirewallPolicies::insert].
1463    fn insert(
1464        &self,
1465        _req: crate::model::firewall_policies::InsertRequest,
1466        _options: crate::RequestOptions,
1467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1468    {
1469        gaxi::unimplemented::unimplemented_stub()
1470    }
1471
1472    /// Implements [super::client::FirewallPolicies::list].
1473    fn list(
1474        &self,
1475        _req: crate::model::firewall_policies::ListRequest,
1476        _options: crate::RequestOptions,
1477    ) -> impl std::future::Future<
1478        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1479    > + Send {
1480        gaxi::unimplemented::unimplemented_stub()
1481    }
1482
1483    /// Implements [super::client::FirewallPolicies::list_associations].
1484    fn list_associations(
1485        &self,
1486        _req: crate::model::firewall_policies::ListAssociationsRequest,
1487        _options: crate::RequestOptions,
1488    ) -> impl std::future::Future<
1489        Output = crate::Result<
1490            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1491        >,
1492    > + Send {
1493        gaxi::unimplemented::unimplemented_stub()
1494    }
1495
1496    /// Implements [super::client::FirewallPolicies::r#move].
1497    fn r#move(
1498        &self,
1499        _req: crate::model::firewall_policies::MoveRequest,
1500        _options: crate::RequestOptions,
1501    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1502    {
1503        gaxi::unimplemented::unimplemented_stub()
1504    }
1505
1506    /// Implements [super::client::FirewallPolicies::patch].
1507    fn patch(
1508        &self,
1509        _req: crate::model::firewall_policies::PatchRequest,
1510        _options: crate::RequestOptions,
1511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1512    {
1513        gaxi::unimplemented::unimplemented_stub()
1514    }
1515
1516    /// Implements [super::client::FirewallPolicies::patch_rule].
1517    fn patch_rule(
1518        &self,
1519        _req: crate::model::firewall_policies::PatchRuleRequest,
1520        _options: crate::RequestOptions,
1521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1522    {
1523        gaxi::unimplemented::unimplemented_stub()
1524    }
1525
1526    /// Implements [super::client::FirewallPolicies::remove_association].
1527    fn remove_association(
1528        &self,
1529        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1530        _options: crate::RequestOptions,
1531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1532    {
1533        gaxi::unimplemented::unimplemented_stub()
1534    }
1535
1536    /// Implements [super::client::FirewallPolicies::remove_rule].
1537    fn remove_rule(
1538        &self,
1539        _req: crate::model::firewall_policies::RemoveRuleRequest,
1540        _options: crate::RequestOptions,
1541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1542    {
1543        gaxi::unimplemented::unimplemented_stub()
1544    }
1545
1546    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1547    fn set_iam_policy(
1548        &self,
1549        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1550        _options: crate::RequestOptions,
1551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1552    {
1553        gaxi::unimplemented::unimplemented_stub()
1554    }
1555
1556    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1557    fn test_iam_permissions(
1558        &self,
1559        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1560        _options: crate::RequestOptions,
1561    ) -> impl std::future::Future<
1562        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1563    > + Send {
1564        gaxi::unimplemented::unimplemented_stub()
1565    }
1566
1567    /// Implements [super::client::FirewallPolicies::get_operation].
1568    fn get_operation(
1569        &self,
1570        _req: crate::model::global_organization_operations::GetRequest,
1571        _options: crate::RequestOptions,
1572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1573    {
1574        gaxi::unimplemented::unimplemented_stub()
1575    }
1576
1577    /// Returns the polling error policy.
1578    ///
1579    /// When mocking, this method is typically irrelevant. Do not try to verify
1580    /// it is called by your mocks.
1581    fn get_polling_error_policy(
1582        &self,
1583        _options: &crate::RequestOptions,
1584    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1585        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1586    }
1587
1588    /// Returns the polling backoff policy.
1589    ///
1590    /// When mocking, this method is typically irrelevant. Do not try to verify
1591    /// it is called by your mocks.
1592    fn get_polling_backoff_policy(
1593        &self,
1594        _options: &crate::RequestOptions,
1595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1596        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1597    }
1598
1599    #[doc(hidden)]
1600    /// Returns the poller options.
1601    ///
1602    /// When mocking, this method is typically irrelevant. Do not try to verify
1603    /// it is called by your mocks.
1604    fn get_poller_options(
1605        &self,
1606        _options: &crate::RequestOptions,
1607    ) -> google_cloud_lro::PollerOptions {
1608        google_cloud_lro::PollerOptions::default()
1609    }
1610}
1611
1612/// Defines the trait used to implement [super::client::Firewalls].
1613///
1614/// Application developers may need to implement this trait to mock
1615/// `client::Firewalls`.  In other use-cases, application developers only
1616/// use `client::Firewalls` and need not be concerned with this trait or
1617/// its implementations.
1618///
1619/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1620/// too. To avoid breaking applications the trait provides a default
1621/// implementation of each method. Most of these implementations just return an
1622/// error.
1623#[cfg(feature = "firewalls")]
1624#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1625pub trait Firewalls: std::fmt::Debug + Send + Sync {
1626    /// Implements [super::client::Firewalls::delete].
1627    fn delete(
1628        &self,
1629        _req: crate::model::firewalls::DeleteRequest,
1630        _options: crate::RequestOptions,
1631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1632    {
1633        gaxi::unimplemented::unimplemented_stub()
1634    }
1635
1636    /// Implements [super::client::Firewalls::get].
1637    fn get(
1638        &self,
1639        _req: crate::model::firewalls::GetRequest,
1640        _options: crate::RequestOptions,
1641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1642    {
1643        gaxi::unimplemented::unimplemented_stub()
1644    }
1645
1646    /// Implements [super::client::Firewalls::insert].
1647    fn insert(
1648        &self,
1649        _req: crate::model::firewalls::InsertRequest,
1650        _options: crate::RequestOptions,
1651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1652    {
1653        gaxi::unimplemented::unimplemented_stub()
1654    }
1655
1656    /// Implements [super::client::Firewalls::list].
1657    fn list(
1658        &self,
1659        _req: crate::model::firewalls::ListRequest,
1660        _options: crate::RequestOptions,
1661    ) -> impl std::future::Future<
1662        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1663    > + Send {
1664        gaxi::unimplemented::unimplemented_stub()
1665    }
1666
1667    /// Implements [super::client::Firewalls::patch].
1668    fn patch(
1669        &self,
1670        _req: crate::model::firewalls::PatchRequest,
1671        _options: crate::RequestOptions,
1672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1673    {
1674        gaxi::unimplemented::unimplemented_stub()
1675    }
1676
1677    /// Implements [super::client::Firewalls::test_iam_permissions].
1678    fn test_iam_permissions(
1679        &self,
1680        _req: crate::model::firewalls::TestIamPermissionsRequest,
1681        _options: crate::RequestOptions,
1682    ) -> impl std::future::Future<
1683        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1684    > + Send {
1685        gaxi::unimplemented::unimplemented_stub()
1686    }
1687
1688    /// Implements [super::client::Firewalls::update].
1689    fn update(
1690        &self,
1691        _req: crate::model::firewalls::UpdateRequest,
1692        _options: crate::RequestOptions,
1693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1694    {
1695        gaxi::unimplemented::unimplemented_stub()
1696    }
1697
1698    /// Implements [super::client::Firewalls::get_operation].
1699    fn get_operation(
1700        &self,
1701        _req: crate::model::global_operations::GetRequest,
1702        _options: crate::RequestOptions,
1703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1704    {
1705        gaxi::unimplemented::unimplemented_stub()
1706    }
1707
1708    /// Returns the polling error policy.
1709    ///
1710    /// When mocking, this method is typically irrelevant. Do not try to verify
1711    /// it is called by your mocks.
1712    fn get_polling_error_policy(
1713        &self,
1714        _options: &crate::RequestOptions,
1715    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1716        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1717    }
1718
1719    /// Returns the polling backoff policy.
1720    ///
1721    /// When mocking, this method is typically irrelevant. Do not try to verify
1722    /// it is called by your mocks.
1723    fn get_polling_backoff_policy(
1724        &self,
1725        _options: &crate::RequestOptions,
1726    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1727        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1728    }
1729
1730    #[doc(hidden)]
1731    /// Returns the poller options.
1732    ///
1733    /// When mocking, this method is typically irrelevant. Do not try to verify
1734    /// it is called by your mocks.
1735    fn get_poller_options(
1736        &self,
1737        _options: &crate::RequestOptions,
1738    ) -> google_cloud_lro::PollerOptions {
1739        google_cloud_lro::PollerOptions::default()
1740    }
1741}
1742
1743/// Defines the trait used to implement [super::client::ForwardingRules].
1744///
1745/// Application developers may need to implement this trait to mock
1746/// `client::ForwardingRules`.  In other use-cases, application developers only
1747/// use `client::ForwardingRules` and need not be concerned with this trait or
1748/// its implementations.
1749///
1750/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1751/// too. To avoid breaking applications the trait provides a default
1752/// implementation of each method. Most of these implementations just return an
1753/// error.
1754#[cfg(feature = "forwarding-rules")]
1755#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1756pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1757    /// Implements [super::client::ForwardingRules::aggregated_list].
1758    fn aggregated_list(
1759        &self,
1760        _req: crate::model::forwarding_rules::AggregatedListRequest,
1761        _options: crate::RequestOptions,
1762    ) -> impl std::future::Future<
1763        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1764    > + Send {
1765        gaxi::unimplemented::unimplemented_stub()
1766    }
1767
1768    /// Implements [super::client::ForwardingRules::delete].
1769    fn delete(
1770        &self,
1771        _req: crate::model::forwarding_rules::DeleteRequest,
1772        _options: crate::RequestOptions,
1773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1774    {
1775        gaxi::unimplemented::unimplemented_stub()
1776    }
1777
1778    /// Implements [super::client::ForwardingRules::get].
1779    fn get(
1780        &self,
1781        _req: crate::model::forwarding_rules::GetRequest,
1782        _options: crate::RequestOptions,
1783    ) -> impl std::future::Future<
1784        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1785    > + Send {
1786        gaxi::unimplemented::unimplemented_stub()
1787    }
1788
1789    /// Implements [super::client::ForwardingRules::insert].
1790    fn insert(
1791        &self,
1792        _req: crate::model::forwarding_rules::InsertRequest,
1793        _options: crate::RequestOptions,
1794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1795    {
1796        gaxi::unimplemented::unimplemented_stub()
1797    }
1798
1799    /// Implements [super::client::ForwardingRules::list].
1800    fn list(
1801        &self,
1802        _req: crate::model::forwarding_rules::ListRequest,
1803        _options: crate::RequestOptions,
1804    ) -> impl std::future::Future<
1805        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1806    > + Send {
1807        gaxi::unimplemented::unimplemented_stub()
1808    }
1809
1810    /// Implements [super::client::ForwardingRules::patch].
1811    fn patch(
1812        &self,
1813        _req: crate::model::forwarding_rules::PatchRequest,
1814        _options: crate::RequestOptions,
1815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1816    {
1817        gaxi::unimplemented::unimplemented_stub()
1818    }
1819
1820    /// Implements [super::client::ForwardingRules::set_labels].
1821    fn set_labels(
1822        &self,
1823        _req: crate::model::forwarding_rules::SetLabelsRequest,
1824        _options: crate::RequestOptions,
1825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1826    {
1827        gaxi::unimplemented::unimplemented_stub()
1828    }
1829
1830    /// Implements [super::client::ForwardingRules::set_target].
1831    fn set_target(
1832        &self,
1833        _req: crate::model::forwarding_rules::SetTargetRequest,
1834        _options: crate::RequestOptions,
1835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1836    {
1837        gaxi::unimplemented::unimplemented_stub()
1838    }
1839
1840    /// Implements [super::client::ForwardingRules::get_operation].
1841    fn get_operation(
1842        &self,
1843        _req: crate::model::region_operations::GetRequest,
1844        _options: crate::RequestOptions,
1845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1846    {
1847        gaxi::unimplemented::unimplemented_stub()
1848    }
1849
1850    /// Returns the polling error policy.
1851    ///
1852    /// When mocking, this method is typically irrelevant. Do not try to verify
1853    /// it is called by your mocks.
1854    fn get_polling_error_policy(
1855        &self,
1856        _options: &crate::RequestOptions,
1857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1858        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1859    }
1860
1861    /// Returns the polling backoff policy.
1862    ///
1863    /// When mocking, this method is typically irrelevant. Do not try to verify
1864    /// it is called by your mocks.
1865    fn get_polling_backoff_policy(
1866        &self,
1867        _options: &crate::RequestOptions,
1868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1869        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1870    }
1871
1872    #[doc(hidden)]
1873    /// Returns the poller options.
1874    ///
1875    /// When mocking, this method is typically irrelevant. Do not try to verify
1876    /// it is called by your mocks.
1877    fn get_poller_options(
1878        &self,
1879        _options: &crate::RequestOptions,
1880    ) -> google_cloud_lro::PollerOptions {
1881        google_cloud_lro::PollerOptions::default()
1882    }
1883}
1884
1885/// Defines the trait used to implement [super::client::FutureReservations].
1886///
1887/// Application developers may need to implement this trait to mock
1888/// `client::FutureReservations`.  In other use-cases, application developers only
1889/// use `client::FutureReservations` and need not be concerned with this trait or
1890/// its implementations.
1891///
1892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1893/// too. To avoid breaking applications the trait provides a default
1894/// implementation of each method. Most of these implementations just return an
1895/// error.
1896#[cfg(feature = "future-reservations")]
1897#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1898pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1899    /// Implements [super::client::FutureReservations::aggregated_list].
1900    fn aggregated_list(
1901        &self,
1902        _req: crate::model::future_reservations::AggregatedListRequest,
1903        _options: crate::RequestOptions,
1904    ) -> impl std::future::Future<
1905        Output = crate::Result<
1906            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1907        >,
1908    > + Send {
1909        gaxi::unimplemented::unimplemented_stub()
1910    }
1911
1912    /// Implements [super::client::FutureReservations::cancel].
1913    fn cancel(
1914        &self,
1915        _req: crate::model::future_reservations::CancelRequest,
1916        _options: crate::RequestOptions,
1917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1918    {
1919        gaxi::unimplemented::unimplemented_stub()
1920    }
1921
1922    /// Implements [super::client::FutureReservations::delete].
1923    fn delete(
1924        &self,
1925        _req: crate::model::future_reservations::DeleteRequest,
1926        _options: crate::RequestOptions,
1927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1928    {
1929        gaxi::unimplemented::unimplemented_stub()
1930    }
1931
1932    /// Implements [super::client::FutureReservations::get].
1933    fn get(
1934        &self,
1935        _req: crate::model::future_reservations::GetRequest,
1936        _options: crate::RequestOptions,
1937    ) -> impl std::future::Future<
1938        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1939    > + Send {
1940        gaxi::unimplemented::unimplemented_stub()
1941    }
1942
1943    /// Implements [super::client::FutureReservations::insert].
1944    fn insert(
1945        &self,
1946        _req: crate::model::future_reservations::InsertRequest,
1947        _options: crate::RequestOptions,
1948    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1949    {
1950        gaxi::unimplemented::unimplemented_stub()
1951    }
1952
1953    /// Implements [super::client::FutureReservations::list].
1954    fn list(
1955        &self,
1956        _req: crate::model::future_reservations::ListRequest,
1957        _options: crate::RequestOptions,
1958    ) -> impl std::future::Future<
1959        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1960    > + Send {
1961        gaxi::unimplemented::unimplemented_stub()
1962    }
1963
1964    /// Implements [super::client::FutureReservations::update].
1965    fn update(
1966        &self,
1967        _req: crate::model::future_reservations::UpdateRequest,
1968        _options: crate::RequestOptions,
1969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1970    {
1971        gaxi::unimplemented::unimplemented_stub()
1972    }
1973
1974    /// Implements [super::client::FutureReservations::get_operation].
1975    fn get_operation(
1976        &self,
1977        _req: crate::model::zone_operations::GetRequest,
1978        _options: crate::RequestOptions,
1979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1980    {
1981        gaxi::unimplemented::unimplemented_stub()
1982    }
1983
1984    /// Returns the polling error policy.
1985    ///
1986    /// When mocking, this method is typically irrelevant. Do not try to verify
1987    /// it is called by your mocks.
1988    fn get_polling_error_policy(
1989        &self,
1990        _options: &crate::RequestOptions,
1991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1992        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1993    }
1994
1995    /// Returns the polling backoff policy.
1996    ///
1997    /// When mocking, this method is typically irrelevant. Do not try to verify
1998    /// it is called by your mocks.
1999    fn get_polling_backoff_policy(
2000        &self,
2001        _options: &crate::RequestOptions,
2002    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2003        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2004    }
2005
2006    #[doc(hidden)]
2007    /// Returns the poller options.
2008    ///
2009    /// When mocking, this method is typically irrelevant. Do not try to verify
2010    /// it is called by your mocks.
2011    fn get_poller_options(
2012        &self,
2013        _options: &crate::RequestOptions,
2014    ) -> google_cloud_lro::PollerOptions {
2015        google_cloud_lro::PollerOptions::default()
2016    }
2017}
2018
2019/// Defines the trait used to implement [super::client::GlobalAddresses].
2020///
2021/// Application developers may need to implement this trait to mock
2022/// `client::GlobalAddresses`.  In other use-cases, application developers only
2023/// use `client::GlobalAddresses` and need not be concerned with this trait or
2024/// its implementations.
2025///
2026/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2027/// too. To avoid breaking applications the trait provides a default
2028/// implementation of each method. Most of these implementations just return an
2029/// error.
2030#[cfg(feature = "global-addresses")]
2031#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
2032pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
2033    /// Implements [super::client::GlobalAddresses::delete].
2034    fn delete(
2035        &self,
2036        _req: crate::model::global_addresses::DeleteRequest,
2037        _options: crate::RequestOptions,
2038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2039    {
2040        gaxi::unimplemented::unimplemented_stub()
2041    }
2042
2043    /// Implements [super::client::GlobalAddresses::get].
2044    fn get(
2045        &self,
2046        _req: crate::model::global_addresses::GetRequest,
2047        _options: crate::RequestOptions,
2048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
2049    {
2050        gaxi::unimplemented::unimplemented_stub()
2051    }
2052
2053    /// Implements [super::client::GlobalAddresses::insert].
2054    fn insert(
2055        &self,
2056        _req: crate::model::global_addresses::InsertRequest,
2057        _options: crate::RequestOptions,
2058    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2059    {
2060        gaxi::unimplemented::unimplemented_stub()
2061    }
2062
2063    /// Implements [super::client::GlobalAddresses::list].
2064    fn list(
2065        &self,
2066        _req: crate::model::global_addresses::ListRequest,
2067        _options: crate::RequestOptions,
2068    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
2069    + Send {
2070        gaxi::unimplemented::unimplemented_stub()
2071    }
2072
2073    /// Implements [super::client::GlobalAddresses::r#move].
2074    fn r#move(
2075        &self,
2076        _req: crate::model::global_addresses::MoveRequest,
2077        _options: crate::RequestOptions,
2078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2079    {
2080        gaxi::unimplemented::unimplemented_stub()
2081    }
2082
2083    /// Implements [super::client::GlobalAddresses::set_labels].
2084    fn set_labels(
2085        &self,
2086        _req: crate::model::global_addresses::SetLabelsRequest,
2087        _options: crate::RequestOptions,
2088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2089    {
2090        gaxi::unimplemented::unimplemented_stub()
2091    }
2092
2093    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
2094    fn test_iam_permissions(
2095        &self,
2096        _req: crate::model::global_addresses::TestIamPermissionsRequest,
2097        _options: crate::RequestOptions,
2098    ) -> impl std::future::Future<
2099        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2100    > + Send {
2101        gaxi::unimplemented::unimplemented_stub()
2102    }
2103
2104    /// Implements [super::client::GlobalAddresses::get_operation].
2105    fn get_operation(
2106        &self,
2107        _req: crate::model::global_operations::GetRequest,
2108        _options: crate::RequestOptions,
2109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2110    {
2111        gaxi::unimplemented::unimplemented_stub()
2112    }
2113
2114    /// Returns the polling error policy.
2115    ///
2116    /// When mocking, this method is typically irrelevant. Do not try to verify
2117    /// it is called by your mocks.
2118    fn get_polling_error_policy(
2119        &self,
2120        _options: &crate::RequestOptions,
2121    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2122        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2123    }
2124
2125    /// Returns the polling backoff policy.
2126    ///
2127    /// When mocking, this method is typically irrelevant. Do not try to verify
2128    /// it is called by your mocks.
2129    fn get_polling_backoff_policy(
2130        &self,
2131        _options: &crate::RequestOptions,
2132    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2133        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2134    }
2135
2136    #[doc(hidden)]
2137    /// Returns the poller options.
2138    ///
2139    /// When mocking, this method is typically irrelevant. Do not try to verify
2140    /// it is called by your mocks.
2141    fn get_poller_options(
2142        &self,
2143        _options: &crate::RequestOptions,
2144    ) -> google_cloud_lro::PollerOptions {
2145        google_cloud_lro::PollerOptions::default()
2146    }
2147}
2148
2149/// Defines the trait used to implement [super::client::GlobalForwardingRules].
2150///
2151/// Application developers may need to implement this trait to mock
2152/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
2153/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
2154/// its implementations.
2155///
2156/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2157/// too. To avoid breaking applications the trait provides a default
2158/// implementation of each method. Most of these implementations just return an
2159/// error.
2160#[cfg(feature = "global-forwarding-rules")]
2161#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
2162pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
2163    /// Implements [super::client::GlobalForwardingRules::delete].
2164    fn delete(
2165        &self,
2166        _req: crate::model::global_forwarding_rules::DeleteRequest,
2167        _options: crate::RequestOptions,
2168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2169    {
2170        gaxi::unimplemented::unimplemented_stub()
2171    }
2172
2173    /// Implements [super::client::GlobalForwardingRules::get].
2174    fn get(
2175        &self,
2176        _req: crate::model::global_forwarding_rules::GetRequest,
2177        _options: crate::RequestOptions,
2178    ) -> impl std::future::Future<
2179        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2180    > + Send {
2181        gaxi::unimplemented::unimplemented_stub()
2182    }
2183
2184    /// Implements [super::client::GlobalForwardingRules::insert].
2185    fn insert(
2186        &self,
2187        _req: crate::model::global_forwarding_rules::InsertRequest,
2188        _options: crate::RequestOptions,
2189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2190    {
2191        gaxi::unimplemented::unimplemented_stub()
2192    }
2193
2194    /// Implements [super::client::GlobalForwardingRules::list].
2195    fn list(
2196        &self,
2197        _req: crate::model::global_forwarding_rules::ListRequest,
2198        _options: crate::RequestOptions,
2199    ) -> impl std::future::Future<
2200        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2201    > + Send {
2202        gaxi::unimplemented::unimplemented_stub()
2203    }
2204
2205    /// Implements [super::client::GlobalForwardingRules::patch].
2206    fn patch(
2207        &self,
2208        _req: crate::model::global_forwarding_rules::PatchRequest,
2209        _options: crate::RequestOptions,
2210    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2211    {
2212        gaxi::unimplemented::unimplemented_stub()
2213    }
2214
2215    /// Implements [super::client::GlobalForwardingRules::set_labels].
2216    fn set_labels(
2217        &self,
2218        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2219        _options: crate::RequestOptions,
2220    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2221    {
2222        gaxi::unimplemented::unimplemented_stub()
2223    }
2224
2225    /// Implements [super::client::GlobalForwardingRules::set_target].
2226    fn set_target(
2227        &self,
2228        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2229        _options: crate::RequestOptions,
2230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2231    {
2232        gaxi::unimplemented::unimplemented_stub()
2233    }
2234
2235    /// Implements [super::client::GlobalForwardingRules::get_operation].
2236    fn get_operation(
2237        &self,
2238        _req: crate::model::global_operations::GetRequest,
2239        _options: crate::RequestOptions,
2240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2241    {
2242        gaxi::unimplemented::unimplemented_stub()
2243    }
2244
2245    /// Returns the polling error policy.
2246    ///
2247    /// When mocking, this method is typically irrelevant. Do not try to verify
2248    /// it is called by your mocks.
2249    fn get_polling_error_policy(
2250        &self,
2251        _options: &crate::RequestOptions,
2252    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2253        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2254    }
2255
2256    /// Returns the polling backoff policy.
2257    ///
2258    /// When mocking, this method is typically irrelevant. Do not try to verify
2259    /// it is called by your mocks.
2260    fn get_polling_backoff_policy(
2261        &self,
2262        _options: &crate::RequestOptions,
2263    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2264        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2265    }
2266
2267    #[doc(hidden)]
2268    /// Returns the poller options.
2269    ///
2270    /// When mocking, this method is typically irrelevant. Do not try to verify
2271    /// it is called by your mocks.
2272    fn get_poller_options(
2273        &self,
2274        _options: &crate::RequestOptions,
2275    ) -> google_cloud_lro::PollerOptions {
2276        google_cloud_lro::PollerOptions::default()
2277    }
2278}
2279
2280/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2281///
2282/// Application developers may need to implement this trait to mock
2283/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2284/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2285/// its implementations.
2286///
2287/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2288/// too. To avoid breaking applications the trait provides a default
2289/// implementation of each method. Most of these implementations just return an
2290/// error.
2291#[cfg(feature = "global-network-endpoint-groups")]
2292#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2293pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2294    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2295    fn attach_network_endpoints(
2296        &self,
2297        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2298        _options: crate::RequestOptions,
2299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2300    {
2301        gaxi::unimplemented::unimplemented_stub()
2302    }
2303
2304    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2305    fn delete(
2306        &self,
2307        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2308        _options: crate::RequestOptions,
2309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2310    {
2311        gaxi::unimplemented::unimplemented_stub()
2312    }
2313
2314    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2315    fn detach_network_endpoints(
2316        &self,
2317        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2318        _options: crate::RequestOptions,
2319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2320    {
2321        gaxi::unimplemented::unimplemented_stub()
2322    }
2323
2324    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2325    fn get(
2326        &self,
2327        _req: crate::model::global_network_endpoint_groups::GetRequest,
2328        _options: crate::RequestOptions,
2329    ) -> impl std::future::Future<
2330        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2331    > + Send {
2332        gaxi::unimplemented::unimplemented_stub()
2333    }
2334
2335    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2336    fn insert(
2337        &self,
2338        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2339        _options: crate::RequestOptions,
2340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2341    {
2342        gaxi::unimplemented::unimplemented_stub()
2343    }
2344
2345    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2346    fn list(
2347        &self,
2348        _req: crate::model::global_network_endpoint_groups::ListRequest,
2349        _options: crate::RequestOptions,
2350    ) -> impl std::future::Future<
2351        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2352    > + Send {
2353        gaxi::unimplemented::unimplemented_stub()
2354    }
2355
2356    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2357    fn list_network_endpoints(
2358        &self,
2359        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2360        _options: crate::RequestOptions,
2361    ) -> impl std::future::Future<
2362        Output = crate::Result<
2363            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2364        >,
2365    > + Send {
2366        gaxi::unimplemented::unimplemented_stub()
2367    }
2368
2369    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2370    fn get_operation(
2371        &self,
2372        _req: crate::model::global_operations::GetRequest,
2373        _options: crate::RequestOptions,
2374    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2375    {
2376        gaxi::unimplemented::unimplemented_stub()
2377    }
2378
2379    /// Returns the polling error policy.
2380    ///
2381    /// When mocking, this method is typically irrelevant. Do not try to verify
2382    /// it is called by your mocks.
2383    fn get_polling_error_policy(
2384        &self,
2385        _options: &crate::RequestOptions,
2386    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2387        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2388    }
2389
2390    /// Returns the polling backoff policy.
2391    ///
2392    /// When mocking, this method is typically irrelevant. Do not try to verify
2393    /// it is called by your mocks.
2394    fn get_polling_backoff_policy(
2395        &self,
2396        _options: &crate::RequestOptions,
2397    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2398        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2399    }
2400
2401    #[doc(hidden)]
2402    /// Returns the poller options.
2403    ///
2404    /// When mocking, this method is typically irrelevant. Do not try to verify
2405    /// it is called by your mocks.
2406    fn get_poller_options(
2407        &self,
2408        _options: &crate::RequestOptions,
2409    ) -> google_cloud_lro::PollerOptions {
2410        google_cloud_lro::PollerOptions::default()
2411    }
2412}
2413
2414/// Defines the trait used to implement [super::client::GlobalOperations].
2415///
2416/// Application developers may need to implement this trait to mock
2417/// `client::GlobalOperations`.  In other use-cases, application developers only
2418/// use `client::GlobalOperations` and need not be concerned with this trait or
2419/// its implementations.
2420///
2421/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2422/// too. To avoid breaking applications the trait provides a default
2423/// implementation of each method. Most of these implementations just return an
2424/// error.
2425#[cfg(feature = "global-operations")]
2426#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2427pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2428    /// Implements [super::client::GlobalOperations::aggregated_list].
2429    fn aggregated_list(
2430        &self,
2431        _req: crate::model::global_operations::AggregatedListRequest,
2432        _options: crate::RequestOptions,
2433    ) -> impl std::future::Future<
2434        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2435    > + Send {
2436        gaxi::unimplemented::unimplemented_stub()
2437    }
2438
2439    /// Implements [super::client::GlobalOperations::delete].
2440    fn delete(
2441        &self,
2442        _req: crate::model::global_operations::DeleteRequest,
2443        _options: crate::RequestOptions,
2444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2445        gaxi::unimplemented::unimplemented_stub()
2446    }
2447
2448    /// Implements [super::client::GlobalOperations::get].
2449    fn get(
2450        &self,
2451        _req: crate::model::global_operations::GetRequest,
2452        _options: crate::RequestOptions,
2453    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2454    {
2455        gaxi::unimplemented::unimplemented_stub()
2456    }
2457
2458    /// Implements [super::client::GlobalOperations::list].
2459    fn list(
2460        &self,
2461        _req: crate::model::global_operations::ListRequest,
2462        _options: crate::RequestOptions,
2463    ) -> impl std::future::Future<
2464        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2465    > + Send {
2466        gaxi::unimplemented::unimplemented_stub()
2467    }
2468
2469    /// Implements [super::client::GlobalOperations::wait].
2470    fn wait(
2471        &self,
2472        _req: crate::model::global_operations::WaitRequest,
2473        _options: crate::RequestOptions,
2474    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2475    {
2476        gaxi::unimplemented::unimplemented_stub()
2477    }
2478}
2479
2480/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2481///
2482/// Application developers may need to implement this trait to mock
2483/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2484/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2485/// its implementations.
2486///
2487/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2488/// too. To avoid breaking applications the trait provides a default
2489/// implementation of each method. Most of these implementations just return an
2490/// error.
2491#[cfg(feature = "global-organization-operations")]
2492#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2493pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2494    /// Implements [super::client::GlobalOrganizationOperations::delete].
2495    fn delete(
2496        &self,
2497        _req: crate::model::global_organization_operations::DeleteRequest,
2498        _options: crate::RequestOptions,
2499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2500        gaxi::unimplemented::unimplemented_stub()
2501    }
2502
2503    /// Implements [super::client::GlobalOrganizationOperations::get].
2504    fn get(
2505        &self,
2506        _req: crate::model::global_organization_operations::GetRequest,
2507        _options: crate::RequestOptions,
2508    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2509    {
2510        gaxi::unimplemented::unimplemented_stub()
2511    }
2512
2513    /// Implements [super::client::GlobalOrganizationOperations::list].
2514    fn list(
2515        &self,
2516        _req: crate::model::global_organization_operations::ListRequest,
2517        _options: crate::RequestOptions,
2518    ) -> impl std::future::Future<
2519        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2520    > + Send {
2521        gaxi::unimplemented::unimplemented_stub()
2522    }
2523}
2524
2525/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2526///
2527/// Application developers may need to implement this trait to mock
2528/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2529/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2530/// its implementations.
2531///
2532/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2533/// too. To avoid breaking applications the trait provides a default
2534/// implementation of each method. Most of these implementations just return an
2535/// error.
2536#[cfg(feature = "global-public-delegated-prefixes")]
2537#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2538pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2539    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2540    fn delete(
2541        &self,
2542        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2543        _options: crate::RequestOptions,
2544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2545    {
2546        gaxi::unimplemented::unimplemented_stub()
2547    }
2548
2549    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2550    fn get(
2551        &self,
2552        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2553        _options: crate::RequestOptions,
2554    ) -> impl std::future::Future<
2555        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2556    > + Send {
2557        gaxi::unimplemented::unimplemented_stub()
2558    }
2559
2560    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2561    fn insert(
2562        &self,
2563        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2564        _options: crate::RequestOptions,
2565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2566    {
2567        gaxi::unimplemented::unimplemented_stub()
2568    }
2569
2570    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2571    fn list(
2572        &self,
2573        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2574        _options: crate::RequestOptions,
2575    ) -> impl std::future::Future<
2576        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2577    > + Send {
2578        gaxi::unimplemented::unimplemented_stub()
2579    }
2580
2581    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2582    fn patch(
2583        &self,
2584        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2585        _options: crate::RequestOptions,
2586    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2587    {
2588        gaxi::unimplemented::unimplemented_stub()
2589    }
2590
2591    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2592    fn get_operation(
2593        &self,
2594        _req: crate::model::global_operations::GetRequest,
2595        _options: crate::RequestOptions,
2596    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2597    {
2598        gaxi::unimplemented::unimplemented_stub()
2599    }
2600
2601    /// Returns the polling error policy.
2602    ///
2603    /// When mocking, this method is typically irrelevant. Do not try to verify
2604    /// it is called by your mocks.
2605    fn get_polling_error_policy(
2606        &self,
2607        _options: &crate::RequestOptions,
2608    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2609        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2610    }
2611
2612    /// Returns the polling backoff policy.
2613    ///
2614    /// When mocking, this method is typically irrelevant. Do not try to verify
2615    /// it is called by your mocks.
2616    fn get_polling_backoff_policy(
2617        &self,
2618        _options: &crate::RequestOptions,
2619    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2620        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2621    }
2622
2623    #[doc(hidden)]
2624    /// Returns the poller options.
2625    ///
2626    /// When mocking, this method is typically irrelevant. Do not try to verify
2627    /// it is called by your mocks.
2628    fn get_poller_options(
2629        &self,
2630        _options: &crate::RequestOptions,
2631    ) -> google_cloud_lro::PollerOptions {
2632        google_cloud_lro::PollerOptions::default()
2633    }
2634}
2635
2636/// Defines the trait used to implement [super::client::GlobalVmExtensionPolicies].
2637///
2638/// Application developers may need to implement this trait to mock
2639/// `client::GlobalVmExtensionPolicies`.  In other use-cases, application developers only
2640/// use `client::GlobalVmExtensionPolicies` and need not be concerned with this trait or
2641/// its implementations.
2642///
2643/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2644/// too. To avoid breaking applications the trait provides a default
2645/// implementation of each method. Most of these implementations just return an
2646/// error.
2647#[cfg(feature = "global-vm-extension-policies")]
2648#[cfg_attr(docsrs, doc(cfg(feature = "global-vm-extension-policies")))]
2649pub trait GlobalVmExtensionPolicies: std::fmt::Debug + Send + Sync {
2650    /// Implements [super::client::GlobalVmExtensionPolicies::aggregated_list].
2651    fn aggregated_list(
2652        &self,
2653        _req: crate::model::global_vm_extension_policies::AggregatedListRequest,
2654        _options: crate::RequestOptions,
2655    ) -> impl std::future::Future<
2656        Output = crate::Result<
2657            crate::Response<crate::model::VmExtensionPolicyAggregatedListResponse>,
2658        >,
2659    > + Send {
2660        gaxi::unimplemented::unimplemented_stub()
2661    }
2662
2663    /// Implements [super::client::GlobalVmExtensionPolicies::delete].
2664    fn delete(
2665        &self,
2666        _req: crate::model::global_vm_extension_policies::DeleteRequest,
2667        _options: crate::RequestOptions,
2668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2669    {
2670        gaxi::unimplemented::unimplemented_stub()
2671    }
2672
2673    /// Implements [super::client::GlobalVmExtensionPolicies::get].
2674    fn get(
2675        &self,
2676        _req: crate::model::global_vm_extension_policies::GetRequest,
2677        _options: crate::RequestOptions,
2678    ) -> impl std::future::Future<
2679        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicy>>,
2680    > + Send {
2681        gaxi::unimplemented::unimplemented_stub()
2682    }
2683
2684    /// Implements [super::client::GlobalVmExtensionPolicies::insert].
2685    fn insert(
2686        &self,
2687        _req: crate::model::global_vm_extension_policies::InsertRequest,
2688        _options: crate::RequestOptions,
2689    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2690    {
2691        gaxi::unimplemented::unimplemented_stub()
2692    }
2693
2694    /// Implements [super::client::GlobalVmExtensionPolicies::list].
2695    fn list(
2696        &self,
2697        _req: crate::model::global_vm_extension_policies::ListRequest,
2698        _options: crate::RequestOptions,
2699    ) -> impl std::future::Future<
2700        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicyList>>,
2701    > + Send {
2702        gaxi::unimplemented::unimplemented_stub()
2703    }
2704
2705    /// Implements [super::client::GlobalVmExtensionPolicies::update].
2706    fn update(
2707        &self,
2708        _req: crate::model::global_vm_extension_policies::UpdateRequest,
2709        _options: crate::RequestOptions,
2710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2711    {
2712        gaxi::unimplemented::unimplemented_stub()
2713    }
2714
2715    /// Implements [super::client::GlobalVmExtensionPolicies::get_operation].
2716    fn get_operation(
2717        &self,
2718        _req: crate::model::global_operations::GetRequest,
2719        _options: crate::RequestOptions,
2720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2721    {
2722        gaxi::unimplemented::unimplemented_stub()
2723    }
2724
2725    /// Returns the polling error policy.
2726    ///
2727    /// When mocking, this method is typically irrelevant. Do not try to verify
2728    /// it is called by your mocks.
2729    fn get_polling_error_policy(
2730        &self,
2731        _options: &crate::RequestOptions,
2732    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2733        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2734    }
2735
2736    /// Returns the polling backoff policy.
2737    ///
2738    /// When mocking, this method is typically irrelevant. Do not try to verify
2739    /// it is called by your mocks.
2740    fn get_polling_backoff_policy(
2741        &self,
2742        _options: &crate::RequestOptions,
2743    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2744        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2745    }
2746
2747    #[doc(hidden)]
2748    /// Returns the poller options.
2749    ///
2750    /// When mocking, this method is typically irrelevant. Do not try to verify
2751    /// it is called by your mocks.
2752    fn get_poller_options(
2753        &self,
2754        _options: &crate::RequestOptions,
2755    ) -> google_cloud_lro::PollerOptions {
2756        google_cloud_lro::PollerOptions::default()
2757    }
2758}
2759
2760/// Defines the trait used to implement [super::client::HealthChecks].
2761///
2762/// Application developers may need to implement this trait to mock
2763/// `client::HealthChecks`.  In other use-cases, application developers only
2764/// use `client::HealthChecks` and need not be concerned with this trait or
2765/// its implementations.
2766///
2767/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2768/// too. To avoid breaking applications the trait provides a default
2769/// implementation of each method. Most of these implementations just return an
2770/// error.
2771#[cfg(feature = "health-checks")]
2772#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2773pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2774    /// Implements [super::client::HealthChecks::aggregated_list].
2775    fn aggregated_list(
2776        &self,
2777        _req: crate::model::health_checks::AggregatedListRequest,
2778        _options: crate::RequestOptions,
2779    ) -> impl std::future::Future<
2780        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2781    > + Send {
2782        gaxi::unimplemented::unimplemented_stub()
2783    }
2784
2785    /// Implements [super::client::HealthChecks::delete].
2786    fn delete(
2787        &self,
2788        _req: crate::model::health_checks::DeleteRequest,
2789        _options: crate::RequestOptions,
2790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2791    {
2792        gaxi::unimplemented::unimplemented_stub()
2793    }
2794
2795    /// Implements [super::client::HealthChecks::get].
2796    fn get(
2797        &self,
2798        _req: crate::model::health_checks::GetRequest,
2799        _options: crate::RequestOptions,
2800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2801    + Send {
2802        gaxi::unimplemented::unimplemented_stub()
2803    }
2804
2805    /// Implements [super::client::HealthChecks::insert].
2806    fn insert(
2807        &self,
2808        _req: crate::model::health_checks::InsertRequest,
2809        _options: crate::RequestOptions,
2810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2811    {
2812        gaxi::unimplemented::unimplemented_stub()
2813    }
2814
2815    /// Implements [super::client::HealthChecks::list].
2816    fn list(
2817        &self,
2818        _req: crate::model::health_checks::ListRequest,
2819        _options: crate::RequestOptions,
2820    ) -> impl std::future::Future<
2821        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2822    > + Send {
2823        gaxi::unimplemented::unimplemented_stub()
2824    }
2825
2826    /// Implements [super::client::HealthChecks::patch].
2827    fn patch(
2828        &self,
2829        _req: crate::model::health_checks::PatchRequest,
2830        _options: crate::RequestOptions,
2831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2832    {
2833        gaxi::unimplemented::unimplemented_stub()
2834    }
2835
2836    /// Implements [super::client::HealthChecks::test_iam_permissions].
2837    fn test_iam_permissions(
2838        &self,
2839        _req: crate::model::health_checks::TestIamPermissionsRequest,
2840        _options: crate::RequestOptions,
2841    ) -> impl std::future::Future<
2842        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2843    > + Send {
2844        gaxi::unimplemented::unimplemented_stub()
2845    }
2846
2847    /// Implements [super::client::HealthChecks::update].
2848    fn update(
2849        &self,
2850        _req: crate::model::health_checks::UpdateRequest,
2851        _options: crate::RequestOptions,
2852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2853    {
2854        gaxi::unimplemented::unimplemented_stub()
2855    }
2856
2857    /// Implements [super::client::HealthChecks::get_operation].
2858    fn get_operation(
2859        &self,
2860        _req: crate::model::global_operations::GetRequest,
2861        _options: crate::RequestOptions,
2862    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2863    {
2864        gaxi::unimplemented::unimplemented_stub()
2865    }
2866
2867    /// Returns the polling error policy.
2868    ///
2869    /// When mocking, this method is typically irrelevant. Do not try to verify
2870    /// it is called by your mocks.
2871    fn get_polling_error_policy(
2872        &self,
2873        _options: &crate::RequestOptions,
2874    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2875        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2876    }
2877
2878    /// Returns the polling backoff policy.
2879    ///
2880    /// When mocking, this method is typically irrelevant. Do not try to verify
2881    /// it is called by your mocks.
2882    fn get_polling_backoff_policy(
2883        &self,
2884        _options: &crate::RequestOptions,
2885    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2886        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2887    }
2888
2889    #[doc(hidden)]
2890    /// Returns the poller options.
2891    ///
2892    /// When mocking, this method is typically irrelevant. Do not try to verify
2893    /// it is called by your mocks.
2894    fn get_poller_options(
2895        &self,
2896        _options: &crate::RequestOptions,
2897    ) -> google_cloud_lro::PollerOptions {
2898        google_cloud_lro::PollerOptions::default()
2899    }
2900}
2901
2902/// Defines the trait used to implement [super::client::HttpHealthChecks].
2903///
2904/// Application developers may need to implement this trait to mock
2905/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2906/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2907/// its implementations.
2908///
2909/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2910/// too. To avoid breaking applications the trait provides a default
2911/// implementation of each method. Most of these implementations just return an
2912/// error.
2913#[cfg(feature = "http-health-checks")]
2914#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
2915pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
2916    /// Implements [super::client::HttpHealthChecks::delete].
2917    fn delete(
2918        &self,
2919        _req: crate::model::http_health_checks::DeleteRequest,
2920        _options: crate::RequestOptions,
2921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2922    {
2923        gaxi::unimplemented::unimplemented_stub()
2924    }
2925
2926    /// Implements [super::client::HttpHealthChecks::get].
2927    fn get(
2928        &self,
2929        _req: crate::model::http_health_checks::GetRequest,
2930        _options: crate::RequestOptions,
2931    ) -> impl std::future::Future<
2932        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
2933    > + Send {
2934        gaxi::unimplemented::unimplemented_stub()
2935    }
2936
2937    /// Implements [super::client::HttpHealthChecks::insert].
2938    fn insert(
2939        &self,
2940        _req: crate::model::http_health_checks::InsertRequest,
2941        _options: crate::RequestOptions,
2942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2943    {
2944        gaxi::unimplemented::unimplemented_stub()
2945    }
2946
2947    /// Implements [super::client::HttpHealthChecks::list].
2948    fn list(
2949        &self,
2950        _req: crate::model::http_health_checks::ListRequest,
2951        _options: crate::RequestOptions,
2952    ) -> impl std::future::Future<
2953        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
2954    > + Send {
2955        gaxi::unimplemented::unimplemented_stub()
2956    }
2957
2958    /// Implements [super::client::HttpHealthChecks::patch].
2959    fn patch(
2960        &self,
2961        _req: crate::model::http_health_checks::PatchRequest,
2962        _options: crate::RequestOptions,
2963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2964    {
2965        gaxi::unimplemented::unimplemented_stub()
2966    }
2967
2968    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
2969    fn test_iam_permissions(
2970        &self,
2971        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
2972        _options: crate::RequestOptions,
2973    ) -> impl std::future::Future<
2974        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2975    > + Send {
2976        gaxi::unimplemented::unimplemented_stub()
2977    }
2978
2979    /// Implements [super::client::HttpHealthChecks::update].
2980    fn update(
2981        &self,
2982        _req: crate::model::http_health_checks::UpdateRequest,
2983        _options: crate::RequestOptions,
2984    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2985    {
2986        gaxi::unimplemented::unimplemented_stub()
2987    }
2988
2989    /// Implements [super::client::HttpHealthChecks::get_operation].
2990    fn get_operation(
2991        &self,
2992        _req: crate::model::global_operations::GetRequest,
2993        _options: crate::RequestOptions,
2994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2995    {
2996        gaxi::unimplemented::unimplemented_stub()
2997    }
2998
2999    /// Returns the polling error policy.
3000    ///
3001    /// When mocking, this method is typically irrelevant. Do not try to verify
3002    /// it is called by your mocks.
3003    fn get_polling_error_policy(
3004        &self,
3005        _options: &crate::RequestOptions,
3006    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3007        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3008    }
3009
3010    /// Returns the polling backoff policy.
3011    ///
3012    /// When mocking, this method is typically irrelevant. Do not try to verify
3013    /// it is called by your mocks.
3014    fn get_polling_backoff_policy(
3015        &self,
3016        _options: &crate::RequestOptions,
3017    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3018        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3019    }
3020
3021    #[doc(hidden)]
3022    /// Returns the poller options.
3023    ///
3024    /// When mocking, this method is typically irrelevant. Do not try to verify
3025    /// it is called by your mocks.
3026    fn get_poller_options(
3027        &self,
3028        _options: &crate::RequestOptions,
3029    ) -> google_cloud_lro::PollerOptions {
3030        google_cloud_lro::PollerOptions::default()
3031    }
3032}
3033
3034/// Defines the trait used to implement [super::client::HttpsHealthChecks].
3035///
3036/// Application developers may need to implement this trait to mock
3037/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
3038/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
3039/// its implementations.
3040///
3041/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3042/// too. To avoid breaking applications the trait provides a default
3043/// implementation of each method. Most of these implementations just return an
3044/// error.
3045#[cfg(feature = "https-health-checks")]
3046#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
3047pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
3048    /// Implements [super::client::HttpsHealthChecks::delete].
3049    fn delete(
3050        &self,
3051        _req: crate::model::https_health_checks::DeleteRequest,
3052        _options: crate::RequestOptions,
3053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3054    {
3055        gaxi::unimplemented::unimplemented_stub()
3056    }
3057
3058    /// Implements [super::client::HttpsHealthChecks::get].
3059    fn get(
3060        &self,
3061        _req: crate::model::https_health_checks::GetRequest,
3062        _options: crate::RequestOptions,
3063    ) -> impl std::future::Future<
3064        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
3065    > + Send {
3066        gaxi::unimplemented::unimplemented_stub()
3067    }
3068
3069    /// Implements [super::client::HttpsHealthChecks::insert].
3070    fn insert(
3071        &self,
3072        _req: crate::model::https_health_checks::InsertRequest,
3073        _options: crate::RequestOptions,
3074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3075    {
3076        gaxi::unimplemented::unimplemented_stub()
3077    }
3078
3079    /// Implements [super::client::HttpsHealthChecks::list].
3080    fn list(
3081        &self,
3082        _req: crate::model::https_health_checks::ListRequest,
3083        _options: crate::RequestOptions,
3084    ) -> impl std::future::Future<
3085        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
3086    > + Send {
3087        gaxi::unimplemented::unimplemented_stub()
3088    }
3089
3090    /// Implements [super::client::HttpsHealthChecks::patch].
3091    fn patch(
3092        &self,
3093        _req: crate::model::https_health_checks::PatchRequest,
3094        _options: crate::RequestOptions,
3095    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3096    {
3097        gaxi::unimplemented::unimplemented_stub()
3098    }
3099
3100    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
3101    fn test_iam_permissions(
3102        &self,
3103        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
3104        _options: crate::RequestOptions,
3105    ) -> impl std::future::Future<
3106        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3107    > + Send {
3108        gaxi::unimplemented::unimplemented_stub()
3109    }
3110
3111    /// Implements [super::client::HttpsHealthChecks::update].
3112    fn update(
3113        &self,
3114        _req: crate::model::https_health_checks::UpdateRequest,
3115        _options: crate::RequestOptions,
3116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3117    {
3118        gaxi::unimplemented::unimplemented_stub()
3119    }
3120
3121    /// Implements [super::client::HttpsHealthChecks::get_operation].
3122    fn get_operation(
3123        &self,
3124        _req: crate::model::global_operations::GetRequest,
3125        _options: crate::RequestOptions,
3126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3127    {
3128        gaxi::unimplemented::unimplemented_stub()
3129    }
3130
3131    /// Returns the polling error policy.
3132    ///
3133    /// When mocking, this method is typically irrelevant. Do not try to verify
3134    /// it is called by your mocks.
3135    fn get_polling_error_policy(
3136        &self,
3137        _options: &crate::RequestOptions,
3138    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3139        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3140    }
3141
3142    /// Returns the polling backoff policy.
3143    ///
3144    /// When mocking, this method is typically irrelevant. Do not try to verify
3145    /// it is called by your mocks.
3146    fn get_polling_backoff_policy(
3147        &self,
3148        _options: &crate::RequestOptions,
3149    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3150        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3151    }
3152
3153    #[doc(hidden)]
3154    /// Returns the poller options.
3155    ///
3156    /// When mocking, this method is typically irrelevant. Do not try to verify
3157    /// it is called by your mocks.
3158    fn get_poller_options(
3159        &self,
3160        _options: &crate::RequestOptions,
3161    ) -> google_cloud_lro::PollerOptions {
3162        google_cloud_lro::PollerOptions::default()
3163    }
3164}
3165
3166/// Defines the trait used to implement [super::client::ImageFamilyViews].
3167///
3168/// Application developers may need to implement this trait to mock
3169/// `client::ImageFamilyViews`.  In other use-cases, application developers only
3170/// use `client::ImageFamilyViews` and need not be concerned with this trait or
3171/// its implementations.
3172///
3173/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3174/// too. To avoid breaking applications the trait provides a default
3175/// implementation of each method. Most of these implementations just return an
3176/// error.
3177#[cfg(feature = "image-family-views")]
3178#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
3179pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
3180    /// Implements [super::client::ImageFamilyViews::get].
3181    fn get(
3182        &self,
3183        _req: crate::model::image_family_views::GetRequest,
3184        _options: crate::RequestOptions,
3185    ) -> impl std::future::Future<
3186        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
3187    > + Send {
3188        gaxi::unimplemented::unimplemented_stub()
3189    }
3190}
3191
3192/// Defines the trait used to implement [super::client::Images].
3193///
3194/// Application developers may need to implement this trait to mock
3195/// `client::Images`.  In other use-cases, application developers only
3196/// use `client::Images` and need not be concerned with this trait or
3197/// its implementations.
3198///
3199/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3200/// too. To avoid breaking applications the trait provides a default
3201/// implementation of each method. Most of these implementations just return an
3202/// error.
3203#[cfg(feature = "images")]
3204#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
3205pub trait Images: std::fmt::Debug + Send + Sync {
3206    /// Implements [super::client::Images::delete].
3207    fn delete(
3208        &self,
3209        _req: crate::model::images::DeleteRequest,
3210        _options: crate::RequestOptions,
3211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3212    {
3213        gaxi::unimplemented::unimplemented_stub()
3214    }
3215
3216    /// Implements [super::client::Images::deprecate].
3217    fn deprecate(
3218        &self,
3219        _req: crate::model::images::DeprecateRequest,
3220        _options: crate::RequestOptions,
3221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3222    {
3223        gaxi::unimplemented::unimplemented_stub()
3224    }
3225
3226    /// Implements [super::client::Images::get].
3227    fn get(
3228        &self,
3229        _req: crate::model::images::GetRequest,
3230        _options: crate::RequestOptions,
3231    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3232    {
3233        gaxi::unimplemented::unimplemented_stub()
3234    }
3235
3236    /// Implements [super::client::Images::get_from_family].
3237    fn get_from_family(
3238        &self,
3239        _req: crate::model::images::GetFromFamilyRequest,
3240        _options: crate::RequestOptions,
3241    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3242    {
3243        gaxi::unimplemented::unimplemented_stub()
3244    }
3245
3246    /// Implements [super::client::Images::get_iam_policy].
3247    fn get_iam_policy(
3248        &self,
3249        _req: crate::model::images::GetIamPolicyRequest,
3250        _options: crate::RequestOptions,
3251    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3252    {
3253        gaxi::unimplemented::unimplemented_stub()
3254    }
3255
3256    /// Implements [super::client::Images::insert].
3257    fn insert(
3258        &self,
3259        _req: crate::model::images::InsertRequest,
3260        _options: crate::RequestOptions,
3261    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3262    {
3263        gaxi::unimplemented::unimplemented_stub()
3264    }
3265
3266    /// Implements [super::client::Images::list].
3267    fn list(
3268        &self,
3269        _req: crate::model::images::ListRequest,
3270        _options: crate::RequestOptions,
3271    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
3272    {
3273        gaxi::unimplemented::unimplemented_stub()
3274    }
3275
3276    /// Implements [super::client::Images::patch].
3277    fn patch(
3278        &self,
3279        _req: crate::model::images::PatchRequest,
3280        _options: crate::RequestOptions,
3281    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3282    {
3283        gaxi::unimplemented::unimplemented_stub()
3284    }
3285
3286    /// Implements [super::client::Images::set_iam_policy].
3287    fn set_iam_policy(
3288        &self,
3289        _req: crate::model::images::SetIamPolicyRequest,
3290        _options: crate::RequestOptions,
3291    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3292    {
3293        gaxi::unimplemented::unimplemented_stub()
3294    }
3295
3296    /// Implements [super::client::Images::set_labels].
3297    fn set_labels(
3298        &self,
3299        _req: crate::model::images::SetLabelsRequest,
3300        _options: crate::RequestOptions,
3301    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3302    {
3303        gaxi::unimplemented::unimplemented_stub()
3304    }
3305
3306    /// Implements [super::client::Images::test_iam_permissions].
3307    fn test_iam_permissions(
3308        &self,
3309        _req: crate::model::images::TestIamPermissionsRequest,
3310        _options: crate::RequestOptions,
3311    ) -> impl std::future::Future<
3312        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3313    > + Send {
3314        gaxi::unimplemented::unimplemented_stub()
3315    }
3316
3317    /// Implements [super::client::Images::get_operation].
3318    fn get_operation(
3319        &self,
3320        _req: crate::model::global_operations::GetRequest,
3321        _options: crate::RequestOptions,
3322    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3323    {
3324        gaxi::unimplemented::unimplemented_stub()
3325    }
3326
3327    /// Returns the polling error policy.
3328    ///
3329    /// When mocking, this method is typically irrelevant. Do not try to verify
3330    /// it is called by your mocks.
3331    fn get_polling_error_policy(
3332        &self,
3333        _options: &crate::RequestOptions,
3334    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3335        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3336    }
3337
3338    /// Returns the polling backoff policy.
3339    ///
3340    /// When mocking, this method is typically irrelevant. Do not try to verify
3341    /// it is called by your mocks.
3342    fn get_polling_backoff_policy(
3343        &self,
3344        _options: &crate::RequestOptions,
3345    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3346        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3347    }
3348
3349    #[doc(hidden)]
3350    /// Returns the poller options.
3351    ///
3352    /// When mocking, this method is typically irrelevant. Do not try to verify
3353    /// it is called by your mocks.
3354    fn get_poller_options(
3355        &self,
3356        _options: &crate::RequestOptions,
3357    ) -> google_cloud_lro::PollerOptions {
3358        google_cloud_lro::PollerOptions::default()
3359    }
3360}
3361
3362/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3363///
3364/// Application developers may need to implement this trait to mock
3365/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3366/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3367/// its implementations.
3368///
3369/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3370/// too. To avoid breaking applications the trait provides a default
3371/// implementation of each method. Most of these implementations just return an
3372/// error.
3373#[cfg(feature = "instance-group-manager-resize-requests")]
3374#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3375pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3376    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3377    fn cancel(
3378        &self,
3379        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3380        _options: crate::RequestOptions,
3381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3382    {
3383        gaxi::unimplemented::unimplemented_stub()
3384    }
3385
3386    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3387    fn delete(
3388        &self,
3389        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3390        _options: crate::RequestOptions,
3391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3392    {
3393        gaxi::unimplemented::unimplemented_stub()
3394    }
3395
3396    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3397    fn get(
3398        &self,
3399        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3400        _options: crate::RequestOptions,
3401    ) -> impl std::future::Future<
3402        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3403    > + Send {
3404        gaxi::unimplemented::unimplemented_stub()
3405    }
3406
3407    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3408    fn insert(
3409        &self,
3410        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3411        _options: crate::RequestOptions,
3412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3413    {
3414        gaxi::unimplemented::unimplemented_stub()
3415    }
3416
3417    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3418    fn list(
3419        &self,
3420        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3421        _options: crate::RequestOptions,
3422    ) -> impl std::future::Future<
3423        Output = crate::Result<
3424            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3425        >,
3426    > + Send {
3427        gaxi::unimplemented::unimplemented_stub()
3428    }
3429
3430    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3431    fn get_operation(
3432        &self,
3433        _req: crate::model::zone_operations::GetRequest,
3434        _options: crate::RequestOptions,
3435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3436    {
3437        gaxi::unimplemented::unimplemented_stub()
3438    }
3439
3440    /// Returns the polling error policy.
3441    ///
3442    /// When mocking, this method is typically irrelevant. Do not try to verify
3443    /// it is called by your mocks.
3444    fn get_polling_error_policy(
3445        &self,
3446        _options: &crate::RequestOptions,
3447    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3448        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3449    }
3450
3451    /// Returns the polling backoff policy.
3452    ///
3453    /// When mocking, this method is typically irrelevant. Do not try to verify
3454    /// it is called by your mocks.
3455    fn get_polling_backoff_policy(
3456        &self,
3457        _options: &crate::RequestOptions,
3458    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3459        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3460    }
3461
3462    #[doc(hidden)]
3463    /// Returns the poller options.
3464    ///
3465    /// When mocking, this method is typically irrelevant. Do not try to verify
3466    /// it is called by your mocks.
3467    fn get_poller_options(
3468        &self,
3469        _options: &crate::RequestOptions,
3470    ) -> google_cloud_lro::PollerOptions {
3471        google_cloud_lro::PollerOptions::default()
3472    }
3473}
3474
3475/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3476///
3477/// Application developers may need to implement this trait to mock
3478/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3479/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3480/// its implementations.
3481///
3482/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3483/// too. To avoid breaking applications the trait provides a default
3484/// implementation of each method. Most of these implementations just return an
3485/// error.
3486#[cfg(feature = "instance-group-managers")]
3487#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3488pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3489    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3490    fn abandon_instances(
3491        &self,
3492        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3493        _options: crate::RequestOptions,
3494    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3495    {
3496        gaxi::unimplemented::unimplemented_stub()
3497    }
3498
3499    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3500    fn aggregated_list(
3501        &self,
3502        _req: crate::model::instance_group_managers::AggregatedListRequest,
3503        _options: crate::RequestOptions,
3504    ) -> impl std::future::Future<
3505        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3506    > + Send {
3507        gaxi::unimplemented::unimplemented_stub()
3508    }
3509
3510    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3511    fn apply_updates_to_instances(
3512        &self,
3513        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3514        _options: crate::RequestOptions,
3515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3516    {
3517        gaxi::unimplemented::unimplemented_stub()
3518    }
3519
3520    /// Implements [super::client::InstanceGroupManagers::create_instances].
3521    fn create_instances(
3522        &self,
3523        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3524        _options: crate::RequestOptions,
3525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3526    {
3527        gaxi::unimplemented::unimplemented_stub()
3528    }
3529
3530    /// Implements [super::client::InstanceGroupManagers::delete].
3531    fn delete(
3532        &self,
3533        _req: crate::model::instance_group_managers::DeleteRequest,
3534        _options: crate::RequestOptions,
3535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3536    {
3537        gaxi::unimplemented::unimplemented_stub()
3538    }
3539
3540    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3541    fn delete_instances(
3542        &self,
3543        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3544        _options: crate::RequestOptions,
3545    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3546    {
3547        gaxi::unimplemented::unimplemented_stub()
3548    }
3549
3550    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3551    fn delete_per_instance_configs(
3552        &self,
3553        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3554        _options: crate::RequestOptions,
3555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3556    {
3557        gaxi::unimplemented::unimplemented_stub()
3558    }
3559
3560    /// Implements [super::client::InstanceGroupManagers::get].
3561    fn get(
3562        &self,
3563        _req: crate::model::instance_group_managers::GetRequest,
3564        _options: crate::RequestOptions,
3565    ) -> impl std::future::Future<
3566        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3567    > + Send {
3568        gaxi::unimplemented::unimplemented_stub()
3569    }
3570
3571    /// Implements [super::client::InstanceGroupManagers::insert].
3572    fn insert(
3573        &self,
3574        _req: crate::model::instance_group_managers::InsertRequest,
3575        _options: crate::RequestOptions,
3576    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3577    {
3578        gaxi::unimplemented::unimplemented_stub()
3579    }
3580
3581    /// Implements [super::client::InstanceGroupManagers::list].
3582    fn list(
3583        &self,
3584        _req: crate::model::instance_group_managers::ListRequest,
3585        _options: crate::RequestOptions,
3586    ) -> impl std::future::Future<
3587        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3588    > + Send {
3589        gaxi::unimplemented::unimplemented_stub()
3590    }
3591
3592    /// Implements [super::client::InstanceGroupManagers::list_errors].
3593    fn list_errors(
3594        &self,
3595        _req: crate::model::instance_group_managers::ListErrorsRequest,
3596        _options: crate::RequestOptions,
3597    ) -> impl std::future::Future<
3598        Output = crate::Result<
3599            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3600        >,
3601    > + Send {
3602        gaxi::unimplemented::unimplemented_stub()
3603    }
3604
3605    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3606    fn list_managed_instances(
3607        &self,
3608        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3609        _options: crate::RequestOptions,
3610    ) -> impl std::future::Future<
3611        Output = crate::Result<
3612            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3613        >,
3614    > + Send {
3615        gaxi::unimplemented::unimplemented_stub()
3616    }
3617
3618    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3619    fn list_per_instance_configs(
3620        &self,
3621        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3622        _options: crate::RequestOptions,
3623    ) -> impl std::future::Future<
3624        Output = crate::Result<
3625            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3626        >,
3627    > + Send {
3628        gaxi::unimplemented::unimplemented_stub()
3629    }
3630
3631    /// Implements [super::client::InstanceGroupManagers::patch].
3632    fn patch(
3633        &self,
3634        _req: crate::model::instance_group_managers::PatchRequest,
3635        _options: crate::RequestOptions,
3636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3637    {
3638        gaxi::unimplemented::unimplemented_stub()
3639    }
3640
3641    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3642    fn patch_per_instance_configs(
3643        &self,
3644        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3645        _options: crate::RequestOptions,
3646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3647    {
3648        gaxi::unimplemented::unimplemented_stub()
3649    }
3650
3651    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3652    fn recreate_instances(
3653        &self,
3654        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3655        _options: crate::RequestOptions,
3656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3657    {
3658        gaxi::unimplemented::unimplemented_stub()
3659    }
3660
3661    /// Implements [super::client::InstanceGroupManagers::resize].
3662    fn resize(
3663        &self,
3664        _req: crate::model::instance_group_managers::ResizeRequest,
3665        _options: crate::RequestOptions,
3666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3667    {
3668        gaxi::unimplemented::unimplemented_stub()
3669    }
3670
3671    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3672    fn resume_instances(
3673        &self,
3674        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3675        _options: crate::RequestOptions,
3676    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3677    {
3678        gaxi::unimplemented::unimplemented_stub()
3679    }
3680
3681    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3682    fn set_instance_template(
3683        &self,
3684        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3685        _options: crate::RequestOptions,
3686    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3687    {
3688        gaxi::unimplemented::unimplemented_stub()
3689    }
3690
3691    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3692    fn set_target_pools(
3693        &self,
3694        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3695        _options: crate::RequestOptions,
3696    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3697    {
3698        gaxi::unimplemented::unimplemented_stub()
3699    }
3700
3701    /// Implements [super::client::InstanceGroupManagers::start_instances].
3702    fn start_instances(
3703        &self,
3704        _req: crate::model::instance_group_managers::StartInstancesRequest,
3705        _options: crate::RequestOptions,
3706    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3707    {
3708        gaxi::unimplemented::unimplemented_stub()
3709    }
3710
3711    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3712    fn stop_instances(
3713        &self,
3714        _req: crate::model::instance_group_managers::StopInstancesRequest,
3715        _options: crate::RequestOptions,
3716    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3717    {
3718        gaxi::unimplemented::unimplemented_stub()
3719    }
3720
3721    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3722    fn suspend_instances(
3723        &self,
3724        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3725        _options: crate::RequestOptions,
3726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3727    {
3728        gaxi::unimplemented::unimplemented_stub()
3729    }
3730
3731    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3732    fn update_per_instance_configs(
3733        &self,
3734        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3735        _options: crate::RequestOptions,
3736    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3737    {
3738        gaxi::unimplemented::unimplemented_stub()
3739    }
3740
3741    /// Implements [super::client::InstanceGroupManagers::get_operation].
3742    fn get_operation(
3743        &self,
3744        _req: crate::model::zone_operations::GetRequest,
3745        _options: crate::RequestOptions,
3746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3747    {
3748        gaxi::unimplemented::unimplemented_stub()
3749    }
3750
3751    /// Returns the polling error policy.
3752    ///
3753    /// When mocking, this method is typically irrelevant. Do not try to verify
3754    /// it is called by your mocks.
3755    fn get_polling_error_policy(
3756        &self,
3757        _options: &crate::RequestOptions,
3758    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3759        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3760    }
3761
3762    /// Returns the polling backoff policy.
3763    ///
3764    /// When mocking, this method is typically irrelevant. Do not try to verify
3765    /// it is called by your mocks.
3766    fn get_polling_backoff_policy(
3767        &self,
3768        _options: &crate::RequestOptions,
3769    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3770        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3771    }
3772
3773    #[doc(hidden)]
3774    /// Returns the poller options.
3775    ///
3776    /// When mocking, this method is typically irrelevant. Do not try to verify
3777    /// it is called by your mocks.
3778    fn get_poller_options(
3779        &self,
3780        _options: &crate::RequestOptions,
3781    ) -> google_cloud_lro::PollerOptions {
3782        google_cloud_lro::PollerOptions::default()
3783    }
3784}
3785
3786/// Defines the trait used to implement [super::client::InstanceGroups].
3787///
3788/// Application developers may need to implement this trait to mock
3789/// `client::InstanceGroups`.  In other use-cases, application developers only
3790/// use `client::InstanceGroups` and need not be concerned with this trait or
3791/// its implementations.
3792///
3793/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3794/// too. To avoid breaking applications the trait provides a default
3795/// implementation of each method. Most of these implementations just return an
3796/// error.
3797#[cfg(feature = "instance-groups")]
3798#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3799pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3800    /// Implements [super::client::InstanceGroups::add_instances].
3801    fn add_instances(
3802        &self,
3803        _req: crate::model::instance_groups::AddInstancesRequest,
3804        _options: crate::RequestOptions,
3805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3806    {
3807        gaxi::unimplemented::unimplemented_stub()
3808    }
3809
3810    /// Implements [super::client::InstanceGroups::aggregated_list].
3811    fn aggregated_list(
3812        &self,
3813        _req: crate::model::instance_groups::AggregatedListRequest,
3814        _options: crate::RequestOptions,
3815    ) -> impl std::future::Future<
3816        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3817    > + Send {
3818        gaxi::unimplemented::unimplemented_stub()
3819    }
3820
3821    /// Implements [super::client::InstanceGroups::delete].
3822    fn delete(
3823        &self,
3824        _req: crate::model::instance_groups::DeleteRequest,
3825        _options: crate::RequestOptions,
3826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3827    {
3828        gaxi::unimplemented::unimplemented_stub()
3829    }
3830
3831    /// Implements [super::client::InstanceGroups::get].
3832    fn get(
3833        &self,
3834        _req: crate::model::instance_groups::GetRequest,
3835        _options: crate::RequestOptions,
3836    ) -> impl std::future::Future<
3837        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3838    > + Send {
3839        gaxi::unimplemented::unimplemented_stub()
3840    }
3841
3842    /// Implements [super::client::InstanceGroups::insert].
3843    fn insert(
3844        &self,
3845        _req: crate::model::instance_groups::InsertRequest,
3846        _options: crate::RequestOptions,
3847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3848    {
3849        gaxi::unimplemented::unimplemented_stub()
3850    }
3851
3852    /// Implements [super::client::InstanceGroups::list].
3853    fn list(
3854        &self,
3855        _req: crate::model::instance_groups::ListRequest,
3856        _options: crate::RequestOptions,
3857    ) -> impl std::future::Future<
3858        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3859    > + Send {
3860        gaxi::unimplemented::unimplemented_stub()
3861    }
3862
3863    /// Implements [super::client::InstanceGroups::list_instances].
3864    fn list_instances(
3865        &self,
3866        _req: crate::model::instance_groups::ListInstancesRequest,
3867        _options: crate::RequestOptions,
3868    ) -> impl std::future::Future<
3869        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3870    > + Send {
3871        gaxi::unimplemented::unimplemented_stub()
3872    }
3873
3874    /// Implements [super::client::InstanceGroups::remove_instances].
3875    fn remove_instances(
3876        &self,
3877        _req: crate::model::instance_groups::RemoveInstancesRequest,
3878        _options: crate::RequestOptions,
3879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3880    {
3881        gaxi::unimplemented::unimplemented_stub()
3882    }
3883
3884    /// Implements [super::client::InstanceGroups::set_named_ports].
3885    fn set_named_ports(
3886        &self,
3887        _req: crate::model::instance_groups::SetNamedPortsRequest,
3888        _options: crate::RequestOptions,
3889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3890    {
3891        gaxi::unimplemented::unimplemented_stub()
3892    }
3893
3894    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3895    fn test_iam_permissions(
3896        &self,
3897        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3898        _options: crate::RequestOptions,
3899    ) -> impl std::future::Future<
3900        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3901    > + Send {
3902        gaxi::unimplemented::unimplemented_stub()
3903    }
3904
3905    /// Implements [super::client::InstanceGroups::get_operation].
3906    fn get_operation(
3907        &self,
3908        _req: crate::model::zone_operations::GetRequest,
3909        _options: crate::RequestOptions,
3910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3911    {
3912        gaxi::unimplemented::unimplemented_stub()
3913    }
3914
3915    /// Returns the polling error policy.
3916    ///
3917    /// When mocking, this method is typically irrelevant. Do not try to verify
3918    /// it is called by your mocks.
3919    fn get_polling_error_policy(
3920        &self,
3921        _options: &crate::RequestOptions,
3922    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3923        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3924    }
3925
3926    /// Returns the polling backoff policy.
3927    ///
3928    /// When mocking, this method is typically irrelevant. Do not try to verify
3929    /// it is called by your mocks.
3930    fn get_polling_backoff_policy(
3931        &self,
3932        _options: &crate::RequestOptions,
3933    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3934        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3935    }
3936
3937    #[doc(hidden)]
3938    /// Returns the poller options.
3939    ///
3940    /// When mocking, this method is typically irrelevant. Do not try to verify
3941    /// it is called by your mocks.
3942    fn get_poller_options(
3943        &self,
3944        _options: &crate::RequestOptions,
3945    ) -> google_cloud_lro::PollerOptions {
3946        google_cloud_lro::PollerOptions::default()
3947    }
3948}
3949
3950/// Defines the trait used to implement [super::client::InstanceSettings].
3951///
3952/// Application developers may need to implement this trait to mock
3953/// `client::InstanceSettings`.  In other use-cases, application developers only
3954/// use `client::InstanceSettings` and need not be concerned with this trait or
3955/// its implementations.
3956///
3957/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3958/// too. To avoid breaking applications the trait provides a default
3959/// implementation of each method. Most of these implementations just return an
3960/// error.
3961#[cfg(feature = "instance-settings")]
3962#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
3963pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
3964    /// Implements [super::client::InstanceSettings::get].
3965    fn get(
3966        &self,
3967        _req: crate::model::instance_settings::GetRequest,
3968        _options: crate::RequestOptions,
3969    ) -> impl std::future::Future<
3970        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
3971    > + Send {
3972        gaxi::unimplemented::unimplemented_stub()
3973    }
3974
3975    /// Implements [super::client::InstanceSettings::patch].
3976    fn patch(
3977        &self,
3978        _req: crate::model::instance_settings::PatchRequest,
3979        _options: crate::RequestOptions,
3980    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3981    {
3982        gaxi::unimplemented::unimplemented_stub()
3983    }
3984
3985    /// Implements [super::client::InstanceSettings::get_operation].
3986    fn get_operation(
3987        &self,
3988        _req: crate::model::zone_operations::GetRequest,
3989        _options: crate::RequestOptions,
3990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3991    {
3992        gaxi::unimplemented::unimplemented_stub()
3993    }
3994
3995    /// Returns the polling error policy.
3996    ///
3997    /// When mocking, this method is typically irrelevant. Do not try to verify
3998    /// it is called by your mocks.
3999    fn get_polling_error_policy(
4000        &self,
4001        _options: &crate::RequestOptions,
4002    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4003        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4004    }
4005
4006    /// Returns the polling backoff policy.
4007    ///
4008    /// When mocking, this method is typically irrelevant. Do not try to verify
4009    /// it is called by your mocks.
4010    fn get_polling_backoff_policy(
4011        &self,
4012        _options: &crate::RequestOptions,
4013    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4014        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4015    }
4016
4017    #[doc(hidden)]
4018    /// Returns the poller options.
4019    ///
4020    /// When mocking, this method is typically irrelevant. Do not try to verify
4021    /// it is called by your mocks.
4022    fn get_poller_options(
4023        &self,
4024        _options: &crate::RequestOptions,
4025    ) -> google_cloud_lro::PollerOptions {
4026        google_cloud_lro::PollerOptions::default()
4027    }
4028}
4029
4030/// Defines the trait used to implement [super::client::InstanceTemplates].
4031///
4032/// Application developers may need to implement this trait to mock
4033/// `client::InstanceTemplates`.  In other use-cases, application developers only
4034/// use `client::InstanceTemplates` and need not be concerned with this trait or
4035/// its implementations.
4036///
4037/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4038/// too. To avoid breaking applications the trait provides a default
4039/// implementation of each method. Most of these implementations just return an
4040/// error.
4041#[cfg(feature = "instance-templates")]
4042#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
4043pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
4044    /// Implements [super::client::InstanceTemplates::aggregated_list].
4045    fn aggregated_list(
4046        &self,
4047        _req: crate::model::instance_templates::AggregatedListRequest,
4048        _options: crate::RequestOptions,
4049    ) -> impl std::future::Future<
4050        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
4051    > + Send {
4052        gaxi::unimplemented::unimplemented_stub()
4053    }
4054
4055    /// Implements [super::client::InstanceTemplates::delete].
4056    fn delete(
4057        &self,
4058        _req: crate::model::instance_templates::DeleteRequest,
4059        _options: crate::RequestOptions,
4060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4061    {
4062        gaxi::unimplemented::unimplemented_stub()
4063    }
4064
4065    /// Implements [super::client::InstanceTemplates::get].
4066    fn get(
4067        &self,
4068        _req: crate::model::instance_templates::GetRequest,
4069        _options: crate::RequestOptions,
4070    ) -> impl std::future::Future<
4071        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
4072    > + Send {
4073        gaxi::unimplemented::unimplemented_stub()
4074    }
4075
4076    /// Implements [super::client::InstanceTemplates::get_iam_policy].
4077    fn get_iam_policy(
4078        &self,
4079        _req: crate::model::instance_templates::GetIamPolicyRequest,
4080        _options: crate::RequestOptions,
4081    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4082    {
4083        gaxi::unimplemented::unimplemented_stub()
4084    }
4085
4086    /// Implements [super::client::InstanceTemplates::insert].
4087    fn insert(
4088        &self,
4089        _req: crate::model::instance_templates::InsertRequest,
4090        _options: crate::RequestOptions,
4091    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4092    {
4093        gaxi::unimplemented::unimplemented_stub()
4094    }
4095
4096    /// Implements [super::client::InstanceTemplates::list].
4097    fn list(
4098        &self,
4099        _req: crate::model::instance_templates::ListRequest,
4100        _options: crate::RequestOptions,
4101    ) -> impl std::future::Future<
4102        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
4103    > + Send {
4104        gaxi::unimplemented::unimplemented_stub()
4105    }
4106
4107    /// Implements [super::client::InstanceTemplates::set_iam_policy].
4108    fn set_iam_policy(
4109        &self,
4110        _req: crate::model::instance_templates::SetIamPolicyRequest,
4111        _options: crate::RequestOptions,
4112    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4113    {
4114        gaxi::unimplemented::unimplemented_stub()
4115    }
4116
4117    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
4118    fn test_iam_permissions(
4119        &self,
4120        _req: crate::model::instance_templates::TestIamPermissionsRequest,
4121        _options: crate::RequestOptions,
4122    ) -> impl std::future::Future<
4123        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4124    > + Send {
4125        gaxi::unimplemented::unimplemented_stub()
4126    }
4127
4128    /// Implements [super::client::InstanceTemplates::get_operation].
4129    fn get_operation(
4130        &self,
4131        _req: crate::model::global_operations::GetRequest,
4132        _options: crate::RequestOptions,
4133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4134    {
4135        gaxi::unimplemented::unimplemented_stub()
4136    }
4137
4138    /// Returns the polling error policy.
4139    ///
4140    /// When mocking, this method is typically irrelevant. Do not try to verify
4141    /// it is called by your mocks.
4142    fn get_polling_error_policy(
4143        &self,
4144        _options: &crate::RequestOptions,
4145    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4146        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4147    }
4148
4149    /// Returns the polling backoff policy.
4150    ///
4151    /// When mocking, this method is typically irrelevant. Do not try to verify
4152    /// it is called by your mocks.
4153    fn get_polling_backoff_policy(
4154        &self,
4155        _options: &crate::RequestOptions,
4156    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4157        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4158    }
4159
4160    #[doc(hidden)]
4161    /// Returns the poller options.
4162    ///
4163    /// When mocking, this method is typically irrelevant. Do not try to verify
4164    /// it is called by your mocks.
4165    fn get_poller_options(
4166        &self,
4167        _options: &crate::RequestOptions,
4168    ) -> google_cloud_lro::PollerOptions {
4169        google_cloud_lro::PollerOptions::default()
4170    }
4171}
4172
4173/// Defines the trait used to implement [super::client::Instances].
4174///
4175/// Application developers may need to implement this trait to mock
4176/// `client::Instances`.  In other use-cases, application developers only
4177/// use `client::Instances` and need not be concerned with this trait or
4178/// its implementations.
4179///
4180/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4181/// too. To avoid breaking applications the trait provides a default
4182/// implementation of each method. Most of these implementations just return an
4183/// error.
4184#[cfg(feature = "instances")]
4185#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
4186pub trait Instances: std::fmt::Debug + Send + Sync {
4187    /// Implements [super::client::Instances::add_access_config].
4188    fn add_access_config(
4189        &self,
4190        _req: crate::model::instances::AddAccessConfigRequest,
4191        _options: crate::RequestOptions,
4192    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4193    {
4194        gaxi::unimplemented::unimplemented_stub()
4195    }
4196
4197    /// Implements [super::client::Instances::add_network_interface].
4198    fn add_network_interface(
4199        &self,
4200        _req: crate::model::instances::AddNetworkInterfaceRequest,
4201        _options: crate::RequestOptions,
4202    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4203    {
4204        gaxi::unimplemented::unimplemented_stub()
4205    }
4206
4207    /// Implements [super::client::Instances::add_resource_policies].
4208    fn add_resource_policies(
4209        &self,
4210        _req: crate::model::instances::AddResourcePoliciesRequest,
4211        _options: crate::RequestOptions,
4212    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4213    {
4214        gaxi::unimplemented::unimplemented_stub()
4215    }
4216
4217    /// Implements [super::client::Instances::aggregated_list].
4218    fn aggregated_list(
4219        &self,
4220        _req: crate::model::instances::AggregatedListRequest,
4221        _options: crate::RequestOptions,
4222    ) -> impl std::future::Future<
4223        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
4224    > + Send {
4225        gaxi::unimplemented::unimplemented_stub()
4226    }
4227
4228    /// Implements [super::client::Instances::attach_disk].
4229    fn attach_disk(
4230        &self,
4231        _req: crate::model::instances::AttachDiskRequest,
4232        _options: crate::RequestOptions,
4233    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4234    {
4235        gaxi::unimplemented::unimplemented_stub()
4236    }
4237
4238    /// Implements [super::client::Instances::bulk_insert].
4239    fn bulk_insert(
4240        &self,
4241        _req: crate::model::instances::BulkInsertRequest,
4242        _options: crate::RequestOptions,
4243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4244    {
4245        gaxi::unimplemented::unimplemented_stub()
4246    }
4247
4248    /// Implements [super::client::Instances::delete].
4249    fn delete(
4250        &self,
4251        _req: crate::model::instances::DeleteRequest,
4252        _options: crate::RequestOptions,
4253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4254    {
4255        gaxi::unimplemented::unimplemented_stub()
4256    }
4257
4258    /// Implements [super::client::Instances::delete_access_config].
4259    fn delete_access_config(
4260        &self,
4261        _req: crate::model::instances::DeleteAccessConfigRequest,
4262        _options: crate::RequestOptions,
4263    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4264    {
4265        gaxi::unimplemented::unimplemented_stub()
4266    }
4267
4268    /// Implements [super::client::Instances::delete_network_interface].
4269    fn delete_network_interface(
4270        &self,
4271        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
4272        _options: crate::RequestOptions,
4273    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4274    {
4275        gaxi::unimplemented::unimplemented_stub()
4276    }
4277
4278    /// Implements [super::client::Instances::detach_disk].
4279    fn detach_disk(
4280        &self,
4281        _req: crate::model::instances::DetachDiskRequest,
4282        _options: crate::RequestOptions,
4283    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4284    {
4285        gaxi::unimplemented::unimplemented_stub()
4286    }
4287
4288    /// Implements [super::client::Instances::get].
4289    fn get(
4290        &self,
4291        _req: crate::model::instances::GetRequest,
4292        _options: crate::RequestOptions,
4293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
4294    {
4295        gaxi::unimplemented::unimplemented_stub()
4296    }
4297
4298    /// Implements [super::client::Instances::get_effective_firewalls].
4299    fn get_effective_firewalls(
4300        &self,
4301        _req: crate::model::instances::GetEffectiveFirewallsRequest,
4302        _options: crate::RequestOptions,
4303    ) -> impl std::future::Future<
4304        Output = crate::Result<
4305            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
4306        >,
4307    > + Send {
4308        gaxi::unimplemented::unimplemented_stub()
4309    }
4310
4311    /// Implements [super::client::Instances::get_guest_attributes].
4312    fn get_guest_attributes(
4313        &self,
4314        _req: crate::model::instances::GetGuestAttributesRequest,
4315        _options: crate::RequestOptions,
4316    ) -> impl std::future::Future<
4317        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
4318    > + Send {
4319        gaxi::unimplemented::unimplemented_stub()
4320    }
4321
4322    /// Implements [super::client::Instances::get_iam_policy].
4323    fn get_iam_policy(
4324        &self,
4325        _req: crate::model::instances::GetIamPolicyRequest,
4326        _options: crate::RequestOptions,
4327    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4328    {
4329        gaxi::unimplemented::unimplemented_stub()
4330    }
4331
4332    /// Implements [super::client::Instances::get_screenshot].
4333    fn get_screenshot(
4334        &self,
4335        _req: crate::model::instances::GetScreenshotRequest,
4336        _options: crate::RequestOptions,
4337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
4338    {
4339        gaxi::unimplemented::unimplemented_stub()
4340    }
4341
4342    /// Implements [super::client::Instances::get_serial_port_output].
4343    fn get_serial_port_output(
4344        &self,
4345        _req: crate::model::instances::GetSerialPortOutputRequest,
4346        _options: crate::RequestOptions,
4347    ) -> impl std::future::Future<
4348        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
4349    > + Send {
4350        gaxi::unimplemented::unimplemented_stub()
4351    }
4352
4353    /// Implements [super::client::Instances::get_shielded_instance_identity].
4354    fn get_shielded_instance_identity(
4355        &self,
4356        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
4357        _options: crate::RequestOptions,
4358    ) -> impl std::future::Future<
4359        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
4360    > + Send {
4361        gaxi::unimplemented::unimplemented_stub()
4362    }
4363
4364    /// Implements [super::client::Instances::insert].
4365    fn insert(
4366        &self,
4367        _req: crate::model::instances::InsertRequest,
4368        _options: crate::RequestOptions,
4369    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4370    {
4371        gaxi::unimplemented::unimplemented_stub()
4372    }
4373
4374    /// Implements [super::client::Instances::list].
4375    fn list(
4376        &self,
4377        _req: crate::model::instances::ListRequest,
4378        _options: crate::RequestOptions,
4379    ) -> impl std::future::Future<
4380        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
4381    > + Send {
4382        gaxi::unimplemented::unimplemented_stub()
4383    }
4384
4385    /// Implements [super::client::Instances::list_referrers].
4386    fn list_referrers(
4387        &self,
4388        _req: crate::model::instances::ListReferrersRequest,
4389        _options: crate::RequestOptions,
4390    ) -> impl std::future::Future<
4391        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
4392    > + Send {
4393        gaxi::unimplemented::unimplemented_stub()
4394    }
4395
4396    /// Implements [super::client::Instances::perform_maintenance].
4397    fn perform_maintenance(
4398        &self,
4399        _req: crate::model::instances::PerformMaintenanceRequest,
4400        _options: crate::RequestOptions,
4401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4402    {
4403        gaxi::unimplemented::unimplemented_stub()
4404    }
4405
4406    /// Implements [super::client::Instances::remove_resource_policies].
4407    fn remove_resource_policies(
4408        &self,
4409        _req: crate::model::instances::RemoveResourcePoliciesRequest,
4410        _options: crate::RequestOptions,
4411    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4412    {
4413        gaxi::unimplemented::unimplemented_stub()
4414    }
4415
4416    /// Implements [super::client::Instances::report_host_as_faulty].
4417    fn report_host_as_faulty(
4418        &self,
4419        _req: crate::model::instances::ReportHostAsFaultyRequest,
4420        _options: crate::RequestOptions,
4421    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4422    {
4423        gaxi::unimplemented::unimplemented_stub()
4424    }
4425
4426    /// Implements [super::client::Instances::reset].
4427    fn reset(
4428        &self,
4429        _req: crate::model::instances::ResetRequest,
4430        _options: crate::RequestOptions,
4431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4432    {
4433        gaxi::unimplemented::unimplemented_stub()
4434    }
4435
4436    /// Implements [super::client::Instances::resume].
4437    fn resume(
4438        &self,
4439        _req: crate::model::instances::ResumeRequest,
4440        _options: crate::RequestOptions,
4441    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4442    {
4443        gaxi::unimplemented::unimplemented_stub()
4444    }
4445
4446    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4447    fn send_diagnostic_interrupt(
4448        &self,
4449        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4450        _options: crate::RequestOptions,
4451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4452        gaxi::unimplemented::unimplemented_stub()
4453    }
4454
4455    /// Implements [super::client::Instances::set_deletion_protection].
4456    fn set_deletion_protection(
4457        &self,
4458        _req: crate::model::instances::SetDeletionProtectionRequest,
4459        _options: crate::RequestOptions,
4460    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4461    {
4462        gaxi::unimplemented::unimplemented_stub()
4463    }
4464
4465    /// Implements [super::client::Instances::set_disk_auto_delete].
4466    fn set_disk_auto_delete(
4467        &self,
4468        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4469        _options: crate::RequestOptions,
4470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4471    {
4472        gaxi::unimplemented::unimplemented_stub()
4473    }
4474
4475    /// Implements [super::client::Instances::set_iam_policy].
4476    fn set_iam_policy(
4477        &self,
4478        _req: crate::model::instances::SetIamPolicyRequest,
4479        _options: crate::RequestOptions,
4480    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4481    {
4482        gaxi::unimplemented::unimplemented_stub()
4483    }
4484
4485    /// Implements [super::client::Instances::set_labels].
4486    fn set_labels(
4487        &self,
4488        _req: crate::model::instances::SetLabelsRequest,
4489        _options: crate::RequestOptions,
4490    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4491    {
4492        gaxi::unimplemented::unimplemented_stub()
4493    }
4494
4495    /// Implements [super::client::Instances::set_machine_resources].
4496    fn set_machine_resources(
4497        &self,
4498        _req: crate::model::instances::SetMachineResourcesRequest,
4499        _options: crate::RequestOptions,
4500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4501    {
4502        gaxi::unimplemented::unimplemented_stub()
4503    }
4504
4505    /// Implements [super::client::Instances::set_machine_type].
4506    fn set_machine_type(
4507        &self,
4508        _req: crate::model::instances::SetMachineTypeRequest,
4509        _options: crate::RequestOptions,
4510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4511    {
4512        gaxi::unimplemented::unimplemented_stub()
4513    }
4514
4515    /// Implements [super::client::Instances::set_metadata].
4516    fn set_metadata(
4517        &self,
4518        _req: crate::model::instances::SetMetadataRequest,
4519        _options: crate::RequestOptions,
4520    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4521    {
4522        gaxi::unimplemented::unimplemented_stub()
4523    }
4524
4525    /// Implements [super::client::Instances::set_min_cpu_platform].
4526    fn set_min_cpu_platform(
4527        &self,
4528        _req: crate::model::instances::SetMinCpuPlatformRequest,
4529        _options: crate::RequestOptions,
4530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4531    {
4532        gaxi::unimplemented::unimplemented_stub()
4533    }
4534
4535    /// Implements [super::client::Instances::set_name].
4536    fn set_name(
4537        &self,
4538        _req: crate::model::instances::SetNameRequest,
4539        _options: crate::RequestOptions,
4540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4541    {
4542        gaxi::unimplemented::unimplemented_stub()
4543    }
4544
4545    /// Implements [super::client::Instances::set_scheduling].
4546    fn set_scheduling(
4547        &self,
4548        _req: crate::model::instances::SetSchedulingRequest,
4549        _options: crate::RequestOptions,
4550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4551    {
4552        gaxi::unimplemented::unimplemented_stub()
4553    }
4554
4555    /// Implements [super::client::Instances::set_security_policy].
4556    fn set_security_policy(
4557        &self,
4558        _req: crate::model::instances::SetSecurityPolicyRequest,
4559        _options: crate::RequestOptions,
4560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4561    {
4562        gaxi::unimplemented::unimplemented_stub()
4563    }
4564
4565    /// Implements [super::client::Instances::set_service_account].
4566    fn set_service_account(
4567        &self,
4568        _req: crate::model::instances::SetServiceAccountRequest,
4569        _options: crate::RequestOptions,
4570    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4571    {
4572        gaxi::unimplemented::unimplemented_stub()
4573    }
4574
4575    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4576    fn set_shielded_instance_integrity_policy(
4577        &self,
4578        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4579        _options: crate::RequestOptions,
4580    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4581    {
4582        gaxi::unimplemented::unimplemented_stub()
4583    }
4584
4585    /// Implements [super::client::Instances::set_tags].
4586    fn set_tags(
4587        &self,
4588        _req: crate::model::instances::SetTagsRequest,
4589        _options: crate::RequestOptions,
4590    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4591    {
4592        gaxi::unimplemented::unimplemented_stub()
4593    }
4594
4595    /// Implements [super::client::Instances::simulate_maintenance_event].
4596    fn simulate_maintenance_event(
4597        &self,
4598        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4599        _options: crate::RequestOptions,
4600    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4601    {
4602        gaxi::unimplemented::unimplemented_stub()
4603    }
4604
4605    /// Implements [super::client::Instances::start].
4606    fn start(
4607        &self,
4608        _req: crate::model::instances::StartRequest,
4609        _options: crate::RequestOptions,
4610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4611    {
4612        gaxi::unimplemented::unimplemented_stub()
4613    }
4614
4615    /// Implements [super::client::Instances::start_with_encryption_key].
4616    fn start_with_encryption_key(
4617        &self,
4618        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4619        _options: crate::RequestOptions,
4620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4621    {
4622        gaxi::unimplemented::unimplemented_stub()
4623    }
4624
4625    /// Implements [super::client::Instances::stop].
4626    fn stop(
4627        &self,
4628        _req: crate::model::instances::StopRequest,
4629        _options: crate::RequestOptions,
4630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4631    {
4632        gaxi::unimplemented::unimplemented_stub()
4633    }
4634
4635    /// Implements [super::client::Instances::suspend].
4636    fn suspend(
4637        &self,
4638        _req: crate::model::instances::SuspendRequest,
4639        _options: crate::RequestOptions,
4640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4641    {
4642        gaxi::unimplemented::unimplemented_stub()
4643    }
4644
4645    /// Implements [super::client::Instances::test_iam_permissions].
4646    fn test_iam_permissions(
4647        &self,
4648        _req: crate::model::instances::TestIamPermissionsRequest,
4649        _options: crate::RequestOptions,
4650    ) -> impl std::future::Future<
4651        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4652    > + Send {
4653        gaxi::unimplemented::unimplemented_stub()
4654    }
4655
4656    /// Implements [super::client::Instances::update].
4657    fn update(
4658        &self,
4659        _req: crate::model::instances::UpdateRequest,
4660        _options: crate::RequestOptions,
4661    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4662    {
4663        gaxi::unimplemented::unimplemented_stub()
4664    }
4665
4666    /// Implements [super::client::Instances::update_access_config].
4667    fn update_access_config(
4668        &self,
4669        _req: crate::model::instances::UpdateAccessConfigRequest,
4670        _options: crate::RequestOptions,
4671    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4672    {
4673        gaxi::unimplemented::unimplemented_stub()
4674    }
4675
4676    /// Implements [super::client::Instances::update_display_device].
4677    fn update_display_device(
4678        &self,
4679        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4680        _options: crate::RequestOptions,
4681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4682    {
4683        gaxi::unimplemented::unimplemented_stub()
4684    }
4685
4686    /// Implements [super::client::Instances::update_network_interface].
4687    fn update_network_interface(
4688        &self,
4689        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4690        _options: crate::RequestOptions,
4691    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4692    {
4693        gaxi::unimplemented::unimplemented_stub()
4694    }
4695
4696    /// Implements [super::client::Instances::update_shielded_instance_config].
4697    fn update_shielded_instance_config(
4698        &self,
4699        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4700        _options: crate::RequestOptions,
4701    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4702    {
4703        gaxi::unimplemented::unimplemented_stub()
4704    }
4705
4706    /// Implements [super::client::Instances::get_operation].
4707    fn get_operation(
4708        &self,
4709        _req: crate::model::zone_operations::GetRequest,
4710        _options: crate::RequestOptions,
4711    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4712    {
4713        gaxi::unimplemented::unimplemented_stub()
4714    }
4715
4716    /// Returns the polling error policy.
4717    ///
4718    /// When mocking, this method is typically irrelevant. Do not try to verify
4719    /// it is called by your mocks.
4720    fn get_polling_error_policy(
4721        &self,
4722        _options: &crate::RequestOptions,
4723    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4724        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4725    }
4726
4727    /// Returns the polling backoff policy.
4728    ///
4729    /// When mocking, this method is typically irrelevant. Do not try to verify
4730    /// it is called by your mocks.
4731    fn get_polling_backoff_policy(
4732        &self,
4733        _options: &crate::RequestOptions,
4734    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4735        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4736    }
4737
4738    #[doc(hidden)]
4739    /// Returns the poller options.
4740    ///
4741    /// When mocking, this method is typically irrelevant. Do not try to verify
4742    /// it is called by your mocks.
4743    fn get_poller_options(
4744        &self,
4745        _options: &crate::RequestOptions,
4746    ) -> google_cloud_lro::PollerOptions {
4747        google_cloud_lro::PollerOptions::default()
4748    }
4749}
4750
4751/// Defines the trait used to implement [super::client::InstantSnapshotGroups].
4752///
4753/// Application developers may need to implement this trait to mock
4754/// `client::InstantSnapshotGroups`.  In other use-cases, application developers only
4755/// use `client::InstantSnapshotGroups` and need not be concerned with this trait or
4756/// its implementations.
4757///
4758/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4759/// too. To avoid breaking applications the trait provides a default
4760/// implementation of each method. Most of these implementations just return an
4761/// error.
4762#[cfg(feature = "instant-snapshot-groups")]
4763#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshot-groups")))]
4764pub trait InstantSnapshotGroups: std::fmt::Debug + Send + Sync {
4765    /// Implements [super::client::InstantSnapshotGroups::delete].
4766    fn delete(
4767        &self,
4768        _req: crate::model::instant_snapshot_groups::DeleteRequest,
4769        _options: crate::RequestOptions,
4770    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4771    {
4772        gaxi::unimplemented::unimplemented_stub()
4773    }
4774
4775    /// Implements [super::client::InstantSnapshotGroups::get].
4776    fn get(
4777        &self,
4778        _req: crate::model::instant_snapshot_groups::GetRequest,
4779        _options: crate::RequestOptions,
4780    ) -> impl std::future::Future<
4781        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
4782    > + Send {
4783        gaxi::unimplemented::unimplemented_stub()
4784    }
4785
4786    /// Implements [super::client::InstantSnapshotGroups::get_iam_policy].
4787    fn get_iam_policy(
4788        &self,
4789        _req: crate::model::instant_snapshot_groups::GetIamPolicyRequest,
4790        _options: crate::RequestOptions,
4791    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4792    {
4793        gaxi::unimplemented::unimplemented_stub()
4794    }
4795
4796    /// Implements [super::client::InstantSnapshotGroups::insert].
4797    fn insert(
4798        &self,
4799        _req: crate::model::instant_snapshot_groups::InsertRequest,
4800        _options: crate::RequestOptions,
4801    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4802    {
4803        gaxi::unimplemented::unimplemented_stub()
4804    }
4805
4806    /// Implements [super::client::InstantSnapshotGroups::list].
4807    fn list(
4808        &self,
4809        _req: crate::model::instant_snapshot_groups::ListRequest,
4810        _options: crate::RequestOptions,
4811    ) -> impl std::future::Future<
4812        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
4813    > + Send {
4814        gaxi::unimplemented::unimplemented_stub()
4815    }
4816
4817    /// Implements [super::client::InstantSnapshotGroups::set_iam_policy].
4818    fn set_iam_policy(
4819        &self,
4820        _req: crate::model::instant_snapshot_groups::SetIamPolicyRequest,
4821        _options: crate::RequestOptions,
4822    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4823    {
4824        gaxi::unimplemented::unimplemented_stub()
4825    }
4826
4827    /// Implements [super::client::InstantSnapshotGroups::test_iam_permissions].
4828    fn test_iam_permissions(
4829        &self,
4830        _req: crate::model::instant_snapshot_groups::TestIamPermissionsRequest,
4831        _options: crate::RequestOptions,
4832    ) -> impl std::future::Future<
4833        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4834    > + Send {
4835        gaxi::unimplemented::unimplemented_stub()
4836    }
4837
4838    /// Implements [super::client::InstantSnapshotGroups::get_operation].
4839    fn get_operation(
4840        &self,
4841        _req: crate::model::zone_operations::GetRequest,
4842        _options: crate::RequestOptions,
4843    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4844    {
4845        gaxi::unimplemented::unimplemented_stub()
4846    }
4847
4848    /// Returns the polling error policy.
4849    ///
4850    /// When mocking, this method is typically irrelevant. Do not try to verify
4851    /// it is called by your mocks.
4852    fn get_polling_error_policy(
4853        &self,
4854        _options: &crate::RequestOptions,
4855    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4856        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4857    }
4858
4859    /// Returns the polling backoff policy.
4860    ///
4861    /// When mocking, this method is typically irrelevant. Do not try to verify
4862    /// it is called by your mocks.
4863    fn get_polling_backoff_policy(
4864        &self,
4865        _options: &crate::RequestOptions,
4866    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4867        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4868    }
4869
4870    #[doc(hidden)]
4871    /// Returns the poller options.
4872    ///
4873    /// When mocking, this method is typically irrelevant. Do not try to verify
4874    /// it is called by your mocks.
4875    fn get_poller_options(
4876        &self,
4877        _options: &crate::RequestOptions,
4878    ) -> google_cloud_lro::PollerOptions {
4879        google_cloud_lro::PollerOptions::default()
4880    }
4881}
4882
4883/// Defines the trait used to implement [super::client::InstantSnapshots].
4884///
4885/// Application developers may need to implement this trait to mock
4886/// `client::InstantSnapshots`.  In other use-cases, application developers only
4887/// use `client::InstantSnapshots` and need not be concerned with this trait or
4888/// its implementations.
4889///
4890/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4891/// too. To avoid breaking applications the trait provides a default
4892/// implementation of each method. Most of these implementations just return an
4893/// error.
4894#[cfg(feature = "instant-snapshots")]
4895#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4896pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4897    /// Implements [super::client::InstantSnapshots::aggregated_list].
4898    fn aggregated_list(
4899        &self,
4900        _req: crate::model::instant_snapshots::AggregatedListRequest,
4901        _options: crate::RequestOptions,
4902    ) -> impl std::future::Future<
4903        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4904    > + Send {
4905        gaxi::unimplemented::unimplemented_stub()
4906    }
4907
4908    /// Implements [super::client::InstantSnapshots::delete].
4909    fn delete(
4910        &self,
4911        _req: crate::model::instant_snapshots::DeleteRequest,
4912        _options: crate::RequestOptions,
4913    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4914    {
4915        gaxi::unimplemented::unimplemented_stub()
4916    }
4917
4918    /// Implements [super::client::InstantSnapshots::get].
4919    fn get(
4920        &self,
4921        _req: crate::model::instant_snapshots::GetRequest,
4922        _options: crate::RequestOptions,
4923    ) -> impl std::future::Future<
4924        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
4925    > + Send {
4926        gaxi::unimplemented::unimplemented_stub()
4927    }
4928
4929    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4930    fn get_iam_policy(
4931        &self,
4932        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4933        _options: crate::RequestOptions,
4934    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4935    {
4936        gaxi::unimplemented::unimplemented_stub()
4937    }
4938
4939    /// Implements [super::client::InstantSnapshots::insert].
4940    fn insert(
4941        &self,
4942        _req: crate::model::instant_snapshots::InsertRequest,
4943        _options: crate::RequestOptions,
4944    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4945    {
4946        gaxi::unimplemented::unimplemented_stub()
4947    }
4948
4949    /// Implements [super::client::InstantSnapshots::list].
4950    fn list(
4951        &self,
4952        _req: crate::model::instant_snapshots::ListRequest,
4953        _options: crate::RequestOptions,
4954    ) -> impl std::future::Future<
4955        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
4956    > + Send {
4957        gaxi::unimplemented::unimplemented_stub()
4958    }
4959
4960    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4961    fn set_iam_policy(
4962        &self,
4963        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4964        _options: crate::RequestOptions,
4965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4966    {
4967        gaxi::unimplemented::unimplemented_stub()
4968    }
4969
4970    /// Implements [super::client::InstantSnapshots::set_labels].
4971    fn set_labels(
4972        &self,
4973        _req: crate::model::instant_snapshots::SetLabelsRequest,
4974        _options: crate::RequestOptions,
4975    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4976    {
4977        gaxi::unimplemented::unimplemented_stub()
4978    }
4979
4980    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4981    fn test_iam_permissions(
4982        &self,
4983        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4984        _options: crate::RequestOptions,
4985    ) -> impl std::future::Future<
4986        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4987    > + Send {
4988        gaxi::unimplemented::unimplemented_stub()
4989    }
4990
4991    /// Implements [super::client::InstantSnapshots::get_operation].
4992    fn get_operation(
4993        &self,
4994        _req: crate::model::zone_operations::GetRequest,
4995        _options: crate::RequestOptions,
4996    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4997    {
4998        gaxi::unimplemented::unimplemented_stub()
4999    }
5000
5001    /// Returns the polling error policy.
5002    ///
5003    /// When mocking, this method is typically irrelevant. Do not try to verify
5004    /// it is called by your mocks.
5005    fn get_polling_error_policy(
5006        &self,
5007        _options: &crate::RequestOptions,
5008    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5009        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5010    }
5011
5012    /// Returns the polling backoff policy.
5013    ///
5014    /// When mocking, this method is typically irrelevant. Do not try to verify
5015    /// it is called by your mocks.
5016    fn get_polling_backoff_policy(
5017        &self,
5018        _options: &crate::RequestOptions,
5019    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5020        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5021    }
5022
5023    #[doc(hidden)]
5024    /// Returns the poller options.
5025    ///
5026    /// When mocking, this method is typically irrelevant. Do not try to verify
5027    /// it is called by your mocks.
5028    fn get_poller_options(
5029        &self,
5030        _options: &crate::RequestOptions,
5031    ) -> google_cloud_lro::PollerOptions {
5032        google_cloud_lro::PollerOptions::default()
5033    }
5034}
5035
5036/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
5037///
5038/// Application developers may need to implement this trait to mock
5039/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
5040/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
5041/// its implementations.
5042///
5043/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5044/// too. To avoid breaking applications the trait provides a default
5045/// implementation of each method. Most of these implementations just return an
5046/// error.
5047#[cfg(feature = "interconnect-attachment-groups")]
5048#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
5049pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
5050    /// Implements [super::client::InterconnectAttachmentGroups::delete].
5051    fn delete(
5052        &self,
5053        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
5054        _options: crate::RequestOptions,
5055    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5056    {
5057        gaxi::unimplemented::unimplemented_stub()
5058    }
5059
5060    /// Implements [super::client::InterconnectAttachmentGroups::get].
5061    fn get(
5062        &self,
5063        _req: crate::model::interconnect_attachment_groups::GetRequest,
5064        _options: crate::RequestOptions,
5065    ) -> impl std::future::Future<
5066        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
5067    > + Send {
5068        gaxi::unimplemented::unimplemented_stub()
5069    }
5070
5071    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
5072    fn get_iam_policy(
5073        &self,
5074        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
5075        _options: crate::RequestOptions,
5076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5077    {
5078        gaxi::unimplemented::unimplemented_stub()
5079    }
5080
5081    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
5082    fn get_operational_status(
5083        &self,
5084        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
5085        _options: crate::RequestOptions,
5086    ) -> impl std::future::Future<
5087        Output = crate::Result<
5088            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
5089        >,
5090    > + Send {
5091        gaxi::unimplemented::unimplemented_stub()
5092    }
5093
5094    /// Implements [super::client::InterconnectAttachmentGroups::insert].
5095    fn insert(
5096        &self,
5097        _req: crate::model::interconnect_attachment_groups::InsertRequest,
5098        _options: crate::RequestOptions,
5099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5100    {
5101        gaxi::unimplemented::unimplemented_stub()
5102    }
5103
5104    /// Implements [super::client::InterconnectAttachmentGroups::list].
5105    fn list(
5106        &self,
5107        _req: crate::model::interconnect_attachment_groups::ListRequest,
5108        _options: crate::RequestOptions,
5109    ) -> impl std::future::Future<
5110        Output = crate::Result<
5111            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
5112        >,
5113    > + Send {
5114        gaxi::unimplemented::unimplemented_stub()
5115    }
5116
5117    /// Implements [super::client::InterconnectAttachmentGroups::patch].
5118    fn patch(
5119        &self,
5120        _req: crate::model::interconnect_attachment_groups::PatchRequest,
5121        _options: crate::RequestOptions,
5122    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5123    {
5124        gaxi::unimplemented::unimplemented_stub()
5125    }
5126
5127    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
5128    fn set_iam_policy(
5129        &self,
5130        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
5131        _options: crate::RequestOptions,
5132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5133    {
5134        gaxi::unimplemented::unimplemented_stub()
5135    }
5136
5137    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
5138    fn test_iam_permissions(
5139        &self,
5140        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
5141        _options: crate::RequestOptions,
5142    ) -> impl std::future::Future<
5143        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5144    > + Send {
5145        gaxi::unimplemented::unimplemented_stub()
5146    }
5147
5148    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
5149    fn get_operation(
5150        &self,
5151        _req: crate::model::global_operations::GetRequest,
5152        _options: crate::RequestOptions,
5153    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5154    {
5155        gaxi::unimplemented::unimplemented_stub()
5156    }
5157
5158    /// Returns the polling error policy.
5159    ///
5160    /// When mocking, this method is typically irrelevant. Do not try to verify
5161    /// it is called by your mocks.
5162    fn get_polling_error_policy(
5163        &self,
5164        _options: &crate::RequestOptions,
5165    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5166        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5167    }
5168
5169    /// Returns the polling backoff policy.
5170    ///
5171    /// When mocking, this method is typically irrelevant. Do not try to verify
5172    /// it is called by your mocks.
5173    fn get_polling_backoff_policy(
5174        &self,
5175        _options: &crate::RequestOptions,
5176    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5177        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5178    }
5179
5180    #[doc(hidden)]
5181    /// Returns the poller options.
5182    ///
5183    /// When mocking, this method is typically irrelevant. Do not try to verify
5184    /// it is called by your mocks.
5185    fn get_poller_options(
5186        &self,
5187        _options: &crate::RequestOptions,
5188    ) -> google_cloud_lro::PollerOptions {
5189        google_cloud_lro::PollerOptions::default()
5190    }
5191}
5192
5193/// Defines the trait used to implement [super::client::InterconnectAttachments].
5194///
5195/// Application developers may need to implement this trait to mock
5196/// `client::InterconnectAttachments`.  In other use-cases, application developers only
5197/// use `client::InterconnectAttachments` and need not be concerned with this trait or
5198/// its implementations.
5199///
5200/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5201/// too. To avoid breaking applications the trait provides a default
5202/// implementation of each method. Most of these implementations just return an
5203/// error.
5204#[cfg(feature = "interconnect-attachments")]
5205#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
5206pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
5207    /// Implements [super::client::InterconnectAttachments::aggregated_list].
5208    fn aggregated_list(
5209        &self,
5210        _req: crate::model::interconnect_attachments::AggregatedListRequest,
5211        _options: crate::RequestOptions,
5212    ) -> impl std::future::Future<
5213        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
5214    > + Send {
5215        gaxi::unimplemented::unimplemented_stub()
5216    }
5217
5218    /// Implements [super::client::InterconnectAttachments::delete].
5219    fn delete(
5220        &self,
5221        _req: crate::model::interconnect_attachments::DeleteRequest,
5222        _options: crate::RequestOptions,
5223    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5224    {
5225        gaxi::unimplemented::unimplemented_stub()
5226    }
5227
5228    /// Implements [super::client::InterconnectAttachments::get].
5229    fn get(
5230        &self,
5231        _req: crate::model::interconnect_attachments::GetRequest,
5232        _options: crate::RequestOptions,
5233    ) -> impl std::future::Future<
5234        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
5235    > + Send {
5236        gaxi::unimplemented::unimplemented_stub()
5237    }
5238
5239    /// Implements [super::client::InterconnectAttachments::insert].
5240    fn insert(
5241        &self,
5242        _req: crate::model::interconnect_attachments::InsertRequest,
5243        _options: crate::RequestOptions,
5244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5245    {
5246        gaxi::unimplemented::unimplemented_stub()
5247    }
5248
5249    /// Implements [super::client::InterconnectAttachments::list].
5250    fn list(
5251        &self,
5252        _req: crate::model::interconnect_attachments::ListRequest,
5253        _options: crate::RequestOptions,
5254    ) -> impl std::future::Future<
5255        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
5256    > + Send {
5257        gaxi::unimplemented::unimplemented_stub()
5258    }
5259
5260    /// Implements [super::client::InterconnectAttachments::patch].
5261    fn patch(
5262        &self,
5263        _req: crate::model::interconnect_attachments::PatchRequest,
5264        _options: crate::RequestOptions,
5265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5266    {
5267        gaxi::unimplemented::unimplemented_stub()
5268    }
5269
5270    /// Implements [super::client::InterconnectAttachments::set_labels].
5271    fn set_labels(
5272        &self,
5273        _req: crate::model::interconnect_attachments::SetLabelsRequest,
5274        _options: crate::RequestOptions,
5275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5276    {
5277        gaxi::unimplemented::unimplemented_stub()
5278    }
5279
5280    /// Implements [super::client::InterconnectAttachments::get_operation].
5281    fn get_operation(
5282        &self,
5283        _req: crate::model::region_operations::GetRequest,
5284        _options: crate::RequestOptions,
5285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5286    {
5287        gaxi::unimplemented::unimplemented_stub()
5288    }
5289
5290    /// Returns the polling error policy.
5291    ///
5292    /// When mocking, this method is typically irrelevant. Do not try to verify
5293    /// it is called by your mocks.
5294    fn get_polling_error_policy(
5295        &self,
5296        _options: &crate::RequestOptions,
5297    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5298        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5299    }
5300
5301    /// Returns the polling backoff policy.
5302    ///
5303    /// When mocking, this method is typically irrelevant. Do not try to verify
5304    /// it is called by your mocks.
5305    fn get_polling_backoff_policy(
5306        &self,
5307        _options: &crate::RequestOptions,
5308    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5309        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5310    }
5311
5312    #[doc(hidden)]
5313    /// Returns the poller options.
5314    ///
5315    /// When mocking, this method is typically irrelevant. Do not try to verify
5316    /// it is called by your mocks.
5317    fn get_poller_options(
5318        &self,
5319        _options: &crate::RequestOptions,
5320    ) -> google_cloud_lro::PollerOptions {
5321        google_cloud_lro::PollerOptions::default()
5322    }
5323}
5324
5325/// Defines the trait used to implement [super::client::InterconnectGroups].
5326///
5327/// Application developers may need to implement this trait to mock
5328/// `client::InterconnectGroups`.  In other use-cases, application developers only
5329/// use `client::InterconnectGroups` and need not be concerned with this trait or
5330/// its implementations.
5331///
5332/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5333/// too. To avoid breaking applications the trait provides a default
5334/// implementation of each method. Most of these implementations just return an
5335/// error.
5336#[cfg(feature = "interconnect-groups")]
5337#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
5338pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
5339    /// Implements [super::client::InterconnectGroups::create_members].
5340    fn create_members(
5341        &self,
5342        _req: crate::model::interconnect_groups::CreateMembersRequest,
5343        _options: crate::RequestOptions,
5344    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5345    {
5346        gaxi::unimplemented::unimplemented_stub()
5347    }
5348
5349    /// Implements [super::client::InterconnectGroups::delete].
5350    fn delete(
5351        &self,
5352        _req: crate::model::interconnect_groups::DeleteRequest,
5353        _options: crate::RequestOptions,
5354    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5355    {
5356        gaxi::unimplemented::unimplemented_stub()
5357    }
5358
5359    /// Implements [super::client::InterconnectGroups::get].
5360    fn get(
5361        &self,
5362        _req: crate::model::interconnect_groups::GetRequest,
5363        _options: crate::RequestOptions,
5364    ) -> impl std::future::Future<
5365        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
5366    > + Send {
5367        gaxi::unimplemented::unimplemented_stub()
5368    }
5369
5370    /// Implements [super::client::InterconnectGroups::get_iam_policy].
5371    fn get_iam_policy(
5372        &self,
5373        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
5374        _options: crate::RequestOptions,
5375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5376    {
5377        gaxi::unimplemented::unimplemented_stub()
5378    }
5379
5380    /// Implements [super::client::InterconnectGroups::get_operational_status].
5381    fn get_operational_status(
5382        &self,
5383        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
5384        _options: crate::RequestOptions,
5385    ) -> impl std::future::Future<
5386        Output = crate::Result<
5387            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
5388        >,
5389    > + Send {
5390        gaxi::unimplemented::unimplemented_stub()
5391    }
5392
5393    /// Implements [super::client::InterconnectGroups::insert].
5394    fn insert(
5395        &self,
5396        _req: crate::model::interconnect_groups::InsertRequest,
5397        _options: crate::RequestOptions,
5398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5399    {
5400        gaxi::unimplemented::unimplemented_stub()
5401    }
5402
5403    /// Implements [super::client::InterconnectGroups::list].
5404    fn list(
5405        &self,
5406        _req: crate::model::interconnect_groups::ListRequest,
5407        _options: crate::RequestOptions,
5408    ) -> impl std::future::Future<
5409        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
5410    > + Send {
5411        gaxi::unimplemented::unimplemented_stub()
5412    }
5413
5414    /// Implements [super::client::InterconnectGroups::patch].
5415    fn patch(
5416        &self,
5417        _req: crate::model::interconnect_groups::PatchRequest,
5418        _options: crate::RequestOptions,
5419    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5420    {
5421        gaxi::unimplemented::unimplemented_stub()
5422    }
5423
5424    /// Implements [super::client::InterconnectGroups::set_iam_policy].
5425    fn set_iam_policy(
5426        &self,
5427        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
5428        _options: crate::RequestOptions,
5429    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5430    {
5431        gaxi::unimplemented::unimplemented_stub()
5432    }
5433
5434    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
5435    fn test_iam_permissions(
5436        &self,
5437        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
5438        _options: crate::RequestOptions,
5439    ) -> impl std::future::Future<
5440        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5441    > + Send {
5442        gaxi::unimplemented::unimplemented_stub()
5443    }
5444
5445    /// Implements [super::client::InterconnectGroups::get_operation].
5446    fn get_operation(
5447        &self,
5448        _req: crate::model::global_operations::GetRequest,
5449        _options: crate::RequestOptions,
5450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5451    {
5452        gaxi::unimplemented::unimplemented_stub()
5453    }
5454
5455    /// Returns the polling error policy.
5456    ///
5457    /// When mocking, this method is typically irrelevant. Do not try to verify
5458    /// it is called by your mocks.
5459    fn get_polling_error_policy(
5460        &self,
5461        _options: &crate::RequestOptions,
5462    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5463        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5464    }
5465
5466    /// Returns the polling backoff policy.
5467    ///
5468    /// When mocking, this method is typically irrelevant. Do not try to verify
5469    /// it is called by your mocks.
5470    fn get_polling_backoff_policy(
5471        &self,
5472        _options: &crate::RequestOptions,
5473    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5474        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5475    }
5476
5477    #[doc(hidden)]
5478    /// Returns the poller options.
5479    ///
5480    /// When mocking, this method is typically irrelevant. Do not try to verify
5481    /// it is called by your mocks.
5482    fn get_poller_options(
5483        &self,
5484        _options: &crate::RequestOptions,
5485    ) -> google_cloud_lro::PollerOptions {
5486        google_cloud_lro::PollerOptions::default()
5487    }
5488}
5489
5490/// Defines the trait used to implement [super::client::InterconnectLocations].
5491///
5492/// Application developers may need to implement this trait to mock
5493/// `client::InterconnectLocations`.  In other use-cases, application developers only
5494/// use `client::InterconnectLocations` and need not be concerned with this trait or
5495/// its implementations.
5496///
5497/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5498/// too. To avoid breaking applications the trait provides a default
5499/// implementation of each method. Most of these implementations just return an
5500/// error.
5501#[cfg(feature = "interconnect-locations")]
5502#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5503pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5504    /// Implements [super::client::InterconnectLocations::get].
5505    fn get(
5506        &self,
5507        _req: crate::model::interconnect_locations::GetRequest,
5508        _options: crate::RequestOptions,
5509    ) -> impl std::future::Future<
5510        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
5511    > + Send {
5512        gaxi::unimplemented::unimplemented_stub()
5513    }
5514
5515    /// Implements [super::client::InterconnectLocations::list].
5516    fn list(
5517        &self,
5518        _req: crate::model::interconnect_locations::ListRequest,
5519        _options: crate::RequestOptions,
5520    ) -> impl std::future::Future<
5521        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
5522    > + Send {
5523        gaxi::unimplemented::unimplemented_stub()
5524    }
5525}
5526
5527/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5528///
5529/// Application developers may need to implement this trait to mock
5530/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5531/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5532/// its implementations.
5533///
5534/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5535/// too. To avoid breaking applications the trait provides a default
5536/// implementation of each method. Most of these implementations just return an
5537/// error.
5538#[cfg(feature = "interconnect-remote-locations")]
5539#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5540pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5541    /// Implements [super::client::InterconnectRemoteLocations::get].
5542    fn get(
5543        &self,
5544        _req: crate::model::interconnect_remote_locations::GetRequest,
5545        _options: crate::RequestOptions,
5546    ) -> impl std::future::Future<
5547        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
5548    > + Send {
5549        gaxi::unimplemented::unimplemented_stub()
5550    }
5551
5552    /// Implements [super::client::InterconnectRemoteLocations::list].
5553    fn list(
5554        &self,
5555        _req: crate::model::interconnect_remote_locations::ListRequest,
5556        _options: crate::RequestOptions,
5557    ) -> impl std::future::Future<
5558        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
5559    > + Send {
5560        gaxi::unimplemented::unimplemented_stub()
5561    }
5562}
5563
5564/// Defines the trait used to implement [super::client::Interconnects].
5565///
5566/// Application developers may need to implement this trait to mock
5567/// `client::Interconnects`.  In other use-cases, application developers only
5568/// use `client::Interconnects` and need not be concerned with this trait or
5569/// its implementations.
5570///
5571/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5572/// too. To avoid breaking applications the trait provides a default
5573/// implementation of each method. Most of these implementations just return an
5574/// error.
5575#[cfg(feature = "interconnects")]
5576#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5577pub trait Interconnects: std::fmt::Debug + Send + Sync {
5578    /// Implements [super::client::Interconnects::delete].
5579    fn delete(
5580        &self,
5581        _req: crate::model::interconnects::DeleteRequest,
5582        _options: crate::RequestOptions,
5583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5584    {
5585        gaxi::unimplemented::unimplemented_stub()
5586    }
5587
5588    /// Implements [super::client::Interconnects::get].
5589    fn get(
5590        &self,
5591        _req: crate::model::interconnects::GetRequest,
5592        _options: crate::RequestOptions,
5593    ) -> impl std::future::Future<
5594        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
5595    > + Send {
5596        gaxi::unimplemented::unimplemented_stub()
5597    }
5598
5599    /// Implements [super::client::Interconnects::get_diagnostics].
5600    fn get_diagnostics(
5601        &self,
5602        _req: crate::model::interconnects::GetDiagnosticsRequest,
5603        _options: crate::RequestOptions,
5604    ) -> impl std::future::Future<
5605        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
5606    > + Send {
5607        gaxi::unimplemented::unimplemented_stub()
5608    }
5609
5610    /// Implements [super::client::Interconnects::get_macsec_config].
5611    fn get_macsec_config(
5612        &self,
5613        _req: crate::model::interconnects::GetMacsecConfigRequest,
5614        _options: crate::RequestOptions,
5615    ) -> impl std::future::Future<
5616        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5617    > + Send {
5618        gaxi::unimplemented::unimplemented_stub()
5619    }
5620
5621    /// Implements [super::client::Interconnects::insert].
5622    fn insert(
5623        &self,
5624        _req: crate::model::interconnects::InsertRequest,
5625        _options: crate::RequestOptions,
5626    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5627    {
5628        gaxi::unimplemented::unimplemented_stub()
5629    }
5630
5631    /// Implements [super::client::Interconnects::list].
5632    fn list(
5633        &self,
5634        _req: crate::model::interconnects::ListRequest,
5635        _options: crate::RequestOptions,
5636    ) -> impl std::future::Future<
5637        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5638    > + Send {
5639        gaxi::unimplemented::unimplemented_stub()
5640    }
5641
5642    /// Implements [super::client::Interconnects::patch].
5643    fn patch(
5644        &self,
5645        _req: crate::model::interconnects::PatchRequest,
5646        _options: crate::RequestOptions,
5647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5648    {
5649        gaxi::unimplemented::unimplemented_stub()
5650    }
5651
5652    /// Implements [super::client::Interconnects::set_labels].
5653    fn set_labels(
5654        &self,
5655        _req: crate::model::interconnects::SetLabelsRequest,
5656        _options: crate::RequestOptions,
5657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5658    {
5659        gaxi::unimplemented::unimplemented_stub()
5660    }
5661
5662    /// Implements [super::client::Interconnects::get_operation].
5663    fn get_operation(
5664        &self,
5665        _req: crate::model::global_operations::GetRequest,
5666        _options: crate::RequestOptions,
5667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5668    {
5669        gaxi::unimplemented::unimplemented_stub()
5670    }
5671
5672    /// Returns the polling error policy.
5673    ///
5674    /// When mocking, this method is typically irrelevant. Do not try to verify
5675    /// it is called by your mocks.
5676    fn get_polling_error_policy(
5677        &self,
5678        _options: &crate::RequestOptions,
5679    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5680        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5681    }
5682
5683    /// Returns the polling backoff policy.
5684    ///
5685    /// When mocking, this method is typically irrelevant. Do not try to verify
5686    /// it is called by your mocks.
5687    fn get_polling_backoff_policy(
5688        &self,
5689        _options: &crate::RequestOptions,
5690    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5691        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5692    }
5693
5694    #[doc(hidden)]
5695    /// Returns the poller options.
5696    ///
5697    /// When mocking, this method is typically irrelevant. Do not try to verify
5698    /// it is called by your mocks.
5699    fn get_poller_options(
5700        &self,
5701        _options: &crate::RequestOptions,
5702    ) -> google_cloud_lro::PollerOptions {
5703        google_cloud_lro::PollerOptions::default()
5704    }
5705}
5706
5707/// Defines the trait used to implement [super::client::LicenseCodes].
5708///
5709/// Application developers may need to implement this trait to mock
5710/// `client::LicenseCodes`.  In other use-cases, application developers only
5711/// use `client::LicenseCodes` and need not be concerned with this trait or
5712/// its implementations.
5713///
5714/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5715/// too. To avoid breaking applications the trait provides a default
5716/// implementation of each method. Most of these implementations just return an
5717/// error.
5718#[cfg(feature = "license-codes")]
5719#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5720pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5721    /// Implements [super::client::LicenseCodes::get].
5722    fn get(
5723        &self,
5724        _req: crate::model::license_codes::GetRequest,
5725        _options: crate::RequestOptions,
5726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5727    + Send {
5728        gaxi::unimplemented::unimplemented_stub()
5729    }
5730
5731    /// Implements [super::client::LicenseCodes::get_iam_policy].
5732    fn get_iam_policy(
5733        &self,
5734        _req: crate::model::license_codes::GetIamPolicyRequest,
5735        _options: crate::RequestOptions,
5736    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5737    {
5738        gaxi::unimplemented::unimplemented_stub()
5739    }
5740
5741    /// Implements [super::client::LicenseCodes::set_iam_policy].
5742    fn set_iam_policy(
5743        &self,
5744        _req: crate::model::license_codes::SetIamPolicyRequest,
5745        _options: crate::RequestOptions,
5746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5747    {
5748        gaxi::unimplemented::unimplemented_stub()
5749    }
5750
5751    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5752    fn test_iam_permissions(
5753        &self,
5754        _req: crate::model::license_codes::TestIamPermissionsRequest,
5755        _options: crate::RequestOptions,
5756    ) -> impl std::future::Future<
5757        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5758    > + Send {
5759        gaxi::unimplemented::unimplemented_stub()
5760    }
5761}
5762
5763/// Defines the trait used to implement [super::client::Licenses].
5764///
5765/// Application developers may need to implement this trait to mock
5766/// `client::Licenses`.  In other use-cases, application developers only
5767/// use `client::Licenses` and need not be concerned with this trait or
5768/// its implementations.
5769///
5770/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5771/// too. To avoid breaking applications the trait provides a default
5772/// implementation of each method. Most of these implementations just return an
5773/// error.
5774#[cfg(feature = "licenses")]
5775#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5776pub trait Licenses: std::fmt::Debug + Send + Sync {
5777    /// Implements [super::client::Licenses::delete].
5778    fn delete(
5779        &self,
5780        _req: crate::model::licenses::DeleteRequest,
5781        _options: crate::RequestOptions,
5782    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5783    {
5784        gaxi::unimplemented::unimplemented_stub()
5785    }
5786
5787    /// Implements [super::client::Licenses::get].
5788    fn get(
5789        &self,
5790        _req: crate::model::licenses::GetRequest,
5791        _options: crate::RequestOptions,
5792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5793    {
5794        gaxi::unimplemented::unimplemented_stub()
5795    }
5796
5797    /// Implements [super::client::Licenses::get_iam_policy].
5798    fn get_iam_policy(
5799        &self,
5800        _req: crate::model::licenses::GetIamPolicyRequest,
5801        _options: crate::RequestOptions,
5802    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5803    {
5804        gaxi::unimplemented::unimplemented_stub()
5805    }
5806
5807    /// Implements [super::client::Licenses::insert].
5808    fn insert(
5809        &self,
5810        _req: crate::model::licenses::InsertRequest,
5811        _options: crate::RequestOptions,
5812    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5813    {
5814        gaxi::unimplemented::unimplemented_stub()
5815    }
5816
5817    /// Implements [super::client::Licenses::list].
5818    fn list(
5819        &self,
5820        _req: crate::model::licenses::ListRequest,
5821        _options: crate::RequestOptions,
5822    ) -> impl std::future::Future<
5823        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5824    > + Send {
5825        gaxi::unimplemented::unimplemented_stub()
5826    }
5827
5828    /// Implements [super::client::Licenses::set_iam_policy].
5829    fn set_iam_policy(
5830        &self,
5831        _req: crate::model::licenses::SetIamPolicyRequest,
5832        _options: crate::RequestOptions,
5833    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5834    {
5835        gaxi::unimplemented::unimplemented_stub()
5836    }
5837
5838    /// Implements [super::client::Licenses::test_iam_permissions].
5839    fn test_iam_permissions(
5840        &self,
5841        _req: crate::model::licenses::TestIamPermissionsRequest,
5842        _options: crate::RequestOptions,
5843    ) -> impl std::future::Future<
5844        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5845    > + Send {
5846        gaxi::unimplemented::unimplemented_stub()
5847    }
5848
5849    /// Implements [super::client::Licenses::update].
5850    fn update(
5851        &self,
5852        _req: crate::model::licenses::UpdateRequest,
5853        _options: crate::RequestOptions,
5854    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5855    {
5856        gaxi::unimplemented::unimplemented_stub()
5857    }
5858
5859    /// Implements [super::client::Licenses::get_operation].
5860    fn get_operation(
5861        &self,
5862        _req: crate::model::global_operations::GetRequest,
5863        _options: crate::RequestOptions,
5864    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5865    {
5866        gaxi::unimplemented::unimplemented_stub()
5867    }
5868
5869    /// Returns the polling error policy.
5870    ///
5871    /// When mocking, this method is typically irrelevant. Do not try to verify
5872    /// it is called by your mocks.
5873    fn get_polling_error_policy(
5874        &self,
5875        _options: &crate::RequestOptions,
5876    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5877        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5878    }
5879
5880    /// Returns the polling backoff policy.
5881    ///
5882    /// When mocking, this method is typically irrelevant. Do not try to verify
5883    /// it is called by your mocks.
5884    fn get_polling_backoff_policy(
5885        &self,
5886        _options: &crate::RequestOptions,
5887    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5888        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5889    }
5890
5891    #[doc(hidden)]
5892    /// Returns the poller options.
5893    ///
5894    /// When mocking, this method is typically irrelevant. Do not try to verify
5895    /// it is called by your mocks.
5896    fn get_poller_options(
5897        &self,
5898        _options: &crate::RequestOptions,
5899    ) -> google_cloud_lro::PollerOptions {
5900        google_cloud_lro::PollerOptions::default()
5901    }
5902}
5903
5904/// Defines the trait used to implement [super::client::MachineImages].
5905///
5906/// Application developers may need to implement this trait to mock
5907/// `client::MachineImages`.  In other use-cases, application developers only
5908/// use `client::MachineImages` and need not be concerned with this trait or
5909/// its implementations.
5910///
5911/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5912/// too. To avoid breaking applications the trait provides a default
5913/// implementation of each method. Most of these implementations just return an
5914/// error.
5915#[cfg(feature = "machine-images")]
5916#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5917pub trait MachineImages: std::fmt::Debug + Send + Sync {
5918    /// Implements [super::client::MachineImages::delete].
5919    fn delete(
5920        &self,
5921        _req: crate::model::machine_images::DeleteRequest,
5922        _options: crate::RequestOptions,
5923    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5924    {
5925        gaxi::unimplemented::unimplemented_stub()
5926    }
5927
5928    /// Implements [super::client::MachineImages::get].
5929    fn get(
5930        &self,
5931        _req: crate::model::machine_images::GetRequest,
5932        _options: crate::RequestOptions,
5933    ) -> impl std::future::Future<
5934        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
5935    > + Send {
5936        gaxi::unimplemented::unimplemented_stub()
5937    }
5938
5939    /// Implements [super::client::MachineImages::get_iam_policy].
5940    fn get_iam_policy(
5941        &self,
5942        _req: crate::model::machine_images::GetIamPolicyRequest,
5943        _options: crate::RequestOptions,
5944    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5945    {
5946        gaxi::unimplemented::unimplemented_stub()
5947    }
5948
5949    /// Implements [super::client::MachineImages::insert].
5950    fn insert(
5951        &self,
5952        _req: crate::model::machine_images::InsertRequest,
5953        _options: crate::RequestOptions,
5954    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5955    {
5956        gaxi::unimplemented::unimplemented_stub()
5957    }
5958
5959    /// Implements [super::client::MachineImages::list].
5960    fn list(
5961        &self,
5962        _req: crate::model::machine_images::ListRequest,
5963        _options: crate::RequestOptions,
5964    ) -> impl std::future::Future<
5965        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
5966    > + Send {
5967        gaxi::unimplemented::unimplemented_stub()
5968    }
5969
5970    /// Implements [super::client::MachineImages::set_iam_policy].
5971    fn set_iam_policy(
5972        &self,
5973        _req: crate::model::machine_images::SetIamPolicyRequest,
5974        _options: crate::RequestOptions,
5975    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5976    {
5977        gaxi::unimplemented::unimplemented_stub()
5978    }
5979
5980    /// Implements [super::client::MachineImages::set_labels].
5981    fn set_labels(
5982        &self,
5983        _req: crate::model::machine_images::SetLabelsRequest,
5984        _options: crate::RequestOptions,
5985    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5986    {
5987        gaxi::unimplemented::unimplemented_stub()
5988    }
5989
5990    /// Implements [super::client::MachineImages::test_iam_permissions].
5991    fn test_iam_permissions(
5992        &self,
5993        _req: crate::model::machine_images::TestIamPermissionsRequest,
5994        _options: crate::RequestOptions,
5995    ) -> impl std::future::Future<
5996        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5997    > + Send {
5998        gaxi::unimplemented::unimplemented_stub()
5999    }
6000
6001    /// Implements [super::client::MachineImages::get_operation].
6002    fn get_operation(
6003        &self,
6004        _req: crate::model::global_operations::GetRequest,
6005        _options: crate::RequestOptions,
6006    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6007    {
6008        gaxi::unimplemented::unimplemented_stub()
6009    }
6010
6011    /// Returns the polling error policy.
6012    ///
6013    /// When mocking, this method is typically irrelevant. Do not try to verify
6014    /// it is called by your mocks.
6015    fn get_polling_error_policy(
6016        &self,
6017        _options: &crate::RequestOptions,
6018    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6019        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6020    }
6021
6022    /// Returns the polling backoff policy.
6023    ///
6024    /// When mocking, this method is typically irrelevant. Do not try to verify
6025    /// it is called by your mocks.
6026    fn get_polling_backoff_policy(
6027        &self,
6028        _options: &crate::RequestOptions,
6029    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6030        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6031    }
6032
6033    #[doc(hidden)]
6034    /// Returns the poller options.
6035    ///
6036    /// When mocking, this method is typically irrelevant. Do not try to verify
6037    /// it is called by your mocks.
6038    fn get_poller_options(
6039        &self,
6040        _options: &crate::RequestOptions,
6041    ) -> google_cloud_lro::PollerOptions {
6042        google_cloud_lro::PollerOptions::default()
6043    }
6044}
6045
6046/// Defines the trait used to implement [super::client::MachineTypes].
6047///
6048/// Application developers may need to implement this trait to mock
6049/// `client::MachineTypes`.  In other use-cases, application developers only
6050/// use `client::MachineTypes` and need not be concerned with this trait or
6051/// its implementations.
6052///
6053/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6054/// too. To avoid breaking applications the trait provides a default
6055/// implementation of each method. Most of these implementations just return an
6056/// error.
6057#[cfg(feature = "machine-types")]
6058#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
6059pub trait MachineTypes: std::fmt::Debug + Send + Sync {
6060    /// Implements [super::client::MachineTypes::aggregated_list].
6061    fn aggregated_list(
6062        &self,
6063        _req: crate::model::machine_types::AggregatedListRequest,
6064        _options: crate::RequestOptions,
6065    ) -> impl std::future::Future<
6066        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
6067    > + Send {
6068        gaxi::unimplemented::unimplemented_stub()
6069    }
6070
6071    /// Implements [super::client::MachineTypes::get].
6072    fn get(
6073        &self,
6074        _req: crate::model::machine_types::GetRequest,
6075        _options: crate::RequestOptions,
6076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
6077    + Send {
6078        gaxi::unimplemented::unimplemented_stub()
6079    }
6080
6081    /// Implements [super::client::MachineTypes::list].
6082    fn list(
6083        &self,
6084        _req: crate::model::machine_types::ListRequest,
6085        _options: crate::RequestOptions,
6086    ) -> impl std::future::Future<
6087        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
6088    > + Send {
6089        gaxi::unimplemented::unimplemented_stub()
6090    }
6091}
6092
6093/// Defines the trait used to implement [super::client::NetworkAttachments].
6094///
6095/// Application developers may need to implement this trait to mock
6096/// `client::NetworkAttachments`.  In other use-cases, application developers only
6097/// use `client::NetworkAttachments` and need not be concerned with this trait or
6098/// its implementations.
6099///
6100/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6101/// too. To avoid breaking applications the trait provides a default
6102/// implementation of each method. Most of these implementations just return an
6103/// error.
6104#[cfg(feature = "network-attachments")]
6105#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
6106pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
6107    /// Implements [super::client::NetworkAttachments::aggregated_list].
6108    fn aggregated_list(
6109        &self,
6110        _req: crate::model::network_attachments::AggregatedListRequest,
6111        _options: crate::RequestOptions,
6112    ) -> impl std::future::Future<
6113        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
6114    > + Send {
6115        gaxi::unimplemented::unimplemented_stub()
6116    }
6117
6118    /// Implements [super::client::NetworkAttachments::delete].
6119    fn delete(
6120        &self,
6121        _req: crate::model::network_attachments::DeleteRequest,
6122        _options: crate::RequestOptions,
6123    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6124    {
6125        gaxi::unimplemented::unimplemented_stub()
6126    }
6127
6128    /// Implements [super::client::NetworkAttachments::get].
6129    fn get(
6130        &self,
6131        _req: crate::model::network_attachments::GetRequest,
6132        _options: crate::RequestOptions,
6133    ) -> impl std::future::Future<
6134        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
6135    > + Send {
6136        gaxi::unimplemented::unimplemented_stub()
6137    }
6138
6139    /// Implements [super::client::NetworkAttachments::get_iam_policy].
6140    fn get_iam_policy(
6141        &self,
6142        _req: crate::model::network_attachments::GetIamPolicyRequest,
6143        _options: crate::RequestOptions,
6144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6145    {
6146        gaxi::unimplemented::unimplemented_stub()
6147    }
6148
6149    /// Implements [super::client::NetworkAttachments::insert].
6150    fn insert(
6151        &self,
6152        _req: crate::model::network_attachments::InsertRequest,
6153        _options: crate::RequestOptions,
6154    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6155    {
6156        gaxi::unimplemented::unimplemented_stub()
6157    }
6158
6159    /// Implements [super::client::NetworkAttachments::list].
6160    fn list(
6161        &self,
6162        _req: crate::model::network_attachments::ListRequest,
6163        _options: crate::RequestOptions,
6164    ) -> impl std::future::Future<
6165        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
6166    > + Send {
6167        gaxi::unimplemented::unimplemented_stub()
6168    }
6169
6170    /// Implements [super::client::NetworkAttachments::patch].
6171    fn patch(
6172        &self,
6173        _req: crate::model::network_attachments::PatchRequest,
6174        _options: crate::RequestOptions,
6175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6176    {
6177        gaxi::unimplemented::unimplemented_stub()
6178    }
6179
6180    /// Implements [super::client::NetworkAttachments::set_iam_policy].
6181    fn set_iam_policy(
6182        &self,
6183        _req: crate::model::network_attachments::SetIamPolicyRequest,
6184        _options: crate::RequestOptions,
6185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6186    {
6187        gaxi::unimplemented::unimplemented_stub()
6188    }
6189
6190    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
6191    fn test_iam_permissions(
6192        &self,
6193        _req: crate::model::network_attachments::TestIamPermissionsRequest,
6194        _options: crate::RequestOptions,
6195    ) -> impl std::future::Future<
6196        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6197    > + Send {
6198        gaxi::unimplemented::unimplemented_stub()
6199    }
6200
6201    /// Implements [super::client::NetworkAttachments::get_operation].
6202    fn get_operation(
6203        &self,
6204        _req: crate::model::region_operations::GetRequest,
6205        _options: crate::RequestOptions,
6206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6207    {
6208        gaxi::unimplemented::unimplemented_stub()
6209    }
6210
6211    /// Returns the polling error policy.
6212    ///
6213    /// When mocking, this method is typically irrelevant. Do not try to verify
6214    /// it is called by your mocks.
6215    fn get_polling_error_policy(
6216        &self,
6217        _options: &crate::RequestOptions,
6218    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6219        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6220    }
6221
6222    /// Returns the polling backoff policy.
6223    ///
6224    /// When mocking, this method is typically irrelevant. Do not try to verify
6225    /// it is called by your mocks.
6226    fn get_polling_backoff_policy(
6227        &self,
6228        _options: &crate::RequestOptions,
6229    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6230        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6231    }
6232
6233    #[doc(hidden)]
6234    /// Returns the poller options.
6235    ///
6236    /// When mocking, this method is typically irrelevant. Do not try to verify
6237    /// it is called by your mocks.
6238    fn get_poller_options(
6239        &self,
6240        _options: &crate::RequestOptions,
6241    ) -> google_cloud_lro::PollerOptions {
6242        google_cloud_lro::PollerOptions::default()
6243    }
6244}
6245
6246/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
6247///
6248/// Application developers may need to implement this trait to mock
6249/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
6250/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
6251/// its implementations.
6252///
6253/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6254/// too. To avoid breaking applications the trait provides a default
6255/// implementation of each method. Most of these implementations just return an
6256/// error.
6257#[cfg(feature = "network-edge-security-services")]
6258#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
6259pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
6260    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
6261    fn aggregated_list(
6262        &self,
6263        _req: crate::model::network_edge_security_services::AggregatedListRequest,
6264        _options: crate::RequestOptions,
6265    ) -> impl std::future::Future<
6266        Output = crate::Result<
6267            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
6268        >,
6269    > + Send {
6270        gaxi::unimplemented::unimplemented_stub()
6271    }
6272
6273    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
6274    fn delete(
6275        &self,
6276        _req: crate::model::network_edge_security_services::DeleteRequest,
6277        _options: crate::RequestOptions,
6278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6279    {
6280        gaxi::unimplemented::unimplemented_stub()
6281    }
6282
6283    /// Implements [super::client::NetworkEdgeSecurityServices::get].
6284    fn get(
6285        &self,
6286        _req: crate::model::network_edge_security_services::GetRequest,
6287        _options: crate::RequestOptions,
6288    ) -> impl std::future::Future<
6289        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
6290    > + Send {
6291        gaxi::unimplemented::unimplemented_stub()
6292    }
6293
6294    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
6295    fn insert(
6296        &self,
6297        _req: crate::model::network_edge_security_services::InsertRequest,
6298        _options: crate::RequestOptions,
6299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6300    {
6301        gaxi::unimplemented::unimplemented_stub()
6302    }
6303
6304    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
6305    fn patch(
6306        &self,
6307        _req: crate::model::network_edge_security_services::PatchRequest,
6308        _options: crate::RequestOptions,
6309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6310    {
6311        gaxi::unimplemented::unimplemented_stub()
6312    }
6313
6314    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
6315    fn get_operation(
6316        &self,
6317        _req: crate::model::region_operations::GetRequest,
6318        _options: crate::RequestOptions,
6319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6320    {
6321        gaxi::unimplemented::unimplemented_stub()
6322    }
6323
6324    /// Returns the polling error policy.
6325    ///
6326    /// When mocking, this method is typically irrelevant. Do not try to verify
6327    /// it is called by your mocks.
6328    fn get_polling_error_policy(
6329        &self,
6330        _options: &crate::RequestOptions,
6331    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6332        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6333    }
6334
6335    /// Returns the polling backoff policy.
6336    ///
6337    /// When mocking, this method is typically irrelevant. Do not try to verify
6338    /// it is called by your mocks.
6339    fn get_polling_backoff_policy(
6340        &self,
6341        _options: &crate::RequestOptions,
6342    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6343        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6344    }
6345
6346    #[doc(hidden)]
6347    /// Returns the poller options.
6348    ///
6349    /// When mocking, this method is typically irrelevant. Do not try to verify
6350    /// it is called by your mocks.
6351    fn get_poller_options(
6352        &self,
6353        _options: &crate::RequestOptions,
6354    ) -> google_cloud_lro::PollerOptions {
6355        google_cloud_lro::PollerOptions::default()
6356    }
6357}
6358
6359/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
6360///
6361/// Application developers may need to implement this trait to mock
6362/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
6363/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
6364/// its implementations.
6365///
6366/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6367/// too. To avoid breaking applications the trait provides a default
6368/// implementation of each method. Most of these implementations just return an
6369/// error.
6370#[cfg(feature = "network-endpoint-groups")]
6371#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
6372pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
6373    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
6374    fn aggregated_list(
6375        &self,
6376        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
6377        _options: crate::RequestOptions,
6378    ) -> impl std::future::Future<
6379        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
6380    > + Send {
6381        gaxi::unimplemented::unimplemented_stub()
6382    }
6383
6384    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
6385    fn attach_network_endpoints(
6386        &self,
6387        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
6388        _options: crate::RequestOptions,
6389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6390    {
6391        gaxi::unimplemented::unimplemented_stub()
6392    }
6393
6394    /// Implements [super::client::NetworkEndpointGroups::delete].
6395    fn delete(
6396        &self,
6397        _req: crate::model::network_endpoint_groups::DeleteRequest,
6398        _options: crate::RequestOptions,
6399    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6400    {
6401        gaxi::unimplemented::unimplemented_stub()
6402    }
6403
6404    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
6405    fn detach_network_endpoints(
6406        &self,
6407        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
6408        _options: crate::RequestOptions,
6409    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6410    {
6411        gaxi::unimplemented::unimplemented_stub()
6412    }
6413
6414    /// Implements [super::client::NetworkEndpointGroups::get].
6415    fn get(
6416        &self,
6417        _req: crate::model::network_endpoint_groups::GetRequest,
6418        _options: crate::RequestOptions,
6419    ) -> impl std::future::Future<
6420        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
6421    > + Send {
6422        gaxi::unimplemented::unimplemented_stub()
6423    }
6424
6425    /// Implements [super::client::NetworkEndpointGroups::insert].
6426    fn insert(
6427        &self,
6428        _req: crate::model::network_endpoint_groups::InsertRequest,
6429        _options: crate::RequestOptions,
6430    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6431    {
6432        gaxi::unimplemented::unimplemented_stub()
6433    }
6434
6435    /// Implements [super::client::NetworkEndpointGroups::list].
6436    fn list(
6437        &self,
6438        _req: crate::model::network_endpoint_groups::ListRequest,
6439        _options: crate::RequestOptions,
6440    ) -> impl std::future::Future<
6441        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
6442    > + Send {
6443        gaxi::unimplemented::unimplemented_stub()
6444    }
6445
6446    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
6447    fn list_network_endpoints(
6448        &self,
6449        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
6450        _options: crate::RequestOptions,
6451    ) -> impl std::future::Future<
6452        Output = crate::Result<
6453            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
6454        >,
6455    > + Send {
6456        gaxi::unimplemented::unimplemented_stub()
6457    }
6458
6459    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
6460    fn test_iam_permissions(
6461        &self,
6462        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
6463        _options: crate::RequestOptions,
6464    ) -> impl std::future::Future<
6465        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6466    > + Send {
6467        gaxi::unimplemented::unimplemented_stub()
6468    }
6469
6470    /// Implements [super::client::NetworkEndpointGroups::get_operation].
6471    fn get_operation(
6472        &self,
6473        _req: crate::model::zone_operations::GetRequest,
6474        _options: crate::RequestOptions,
6475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6476    {
6477        gaxi::unimplemented::unimplemented_stub()
6478    }
6479
6480    /// Returns the polling error policy.
6481    ///
6482    /// When mocking, this method is typically irrelevant. Do not try to verify
6483    /// it is called by your mocks.
6484    fn get_polling_error_policy(
6485        &self,
6486        _options: &crate::RequestOptions,
6487    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6488        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6489    }
6490
6491    /// Returns the polling backoff policy.
6492    ///
6493    /// When mocking, this method is typically irrelevant. Do not try to verify
6494    /// it is called by your mocks.
6495    fn get_polling_backoff_policy(
6496        &self,
6497        _options: &crate::RequestOptions,
6498    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6499        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6500    }
6501
6502    #[doc(hidden)]
6503    /// Returns the poller options.
6504    ///
6505    /// When mocking, this method is typically irrelevant. Do not try to verify
6506    /// it is called by your mocks.
6507    fn get_poller_options(
6508        &self,
6509        _options: &crate::RequestOptions,
6510    ) -> google_cloud_lro::PollerOptions {
6511        google_cloud_lro::PollerOptions::default()
6512    }
6513}
6514
6515/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
6516///
6517/// Application developers may need to implement this trait to mock
6518/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
6519/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
6520/// its implementations.
6521///
6522/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6523/// too. To avoid breaking applications the trait provides a default
6524/// implementation of each method. Most of these implementations just return an
6525/// error.
6526#[cfg(feature = "network-firewall-policies")]
6527#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
6528pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
6529    /// Implements [super::client::NetworkFirewallPolicies::add_association].
6530    fn add_association(
6531        &self,
6532        _req: crate::model::network_firewall_policies::AddAssociationRequest,
6533        _options: crate::RequestOptions,
6534    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6535    {
6536        gaxi::unimplemented::unimplemented_stub()
6537    }
6538
6539    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
6540    fn add_packet_mirroring_rule(
6541        &self,
6542        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
6543        _options: crate::RequestOptions,
6544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6545    {
6546        gaxi::unimplemented::unimplemented_stub()
6547    }
6548
6549    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
6550    fn add_rule(
6551        &self,
6552        _req: crate::model::network_firewall_policies::AddRuleRequest,
6553        _options: crate::RequestOptions,
6554    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6555    {
6556        gaxi::unimplemented::unimplemented_stub()
6557    }
6558
6559    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
6560    fn aggregated_list(
6561        &self,
6562        _req: crate::model::network_firewall_policies::AggregatedListRequest,
6563        _options: crate::RequestOptions,
6564    ) -> impl std::future::Future<
6565        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
6566    > + Send {
6567        gaxi::unimplemented::unimplemented_stub()
6568    }
6569
6570    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
6571    fn clone_rules(
6572        &self,
6573        _req: crate::model::network_firewall_policies::CloneRulesRequest,
6574        _options: crate::RequestOptions,
6575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6576    {
6577        gaxi::unimplemented::unimplemented_stub()
6578    }
6579
6580    /// Implements [super::client::NetworkFirewallPolicies::delete].
6581    fn delete(
6582        &self,
6583        _req: crate::model::network_firewall_policies::DeleteRequest,
6584        _options: crate::RequestOptions,
6585    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6586    {
6587        gaxi::unimplemented::unimplemented_stub()
6588    }
6589
6590    /// Implements [super::client::NetworkFirewallPolicies::get].
6591    fn get(
6592        &self,
6593        _req: crate::model::network_firewall_policies::GetRequest,
6594        _options: crate::RequestOptions,
6595    ) -> impl std::future::Future<
6596        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
6597    > + Send {
6598        gaxi::unimplemented::unimplemented_stub()
6599    }
6600
6601    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6602    fn get_association(
6603        &self,
6604        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6605        _options: crate::RequestOptions,
6606    ) -> impl std::future::Future<
6607        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
6608    > + Send {
6609        gaxi::unimplemented::unimplemented_stub()
6610    }
6611
6612    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6613    fn get_iam_policy(
6614        &self,
6615        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6616        _options: crate::RequestOptions,
6617    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6618    {
6619        gaxi::unimplemented::unimplemented_stub()
6620    }
6621
6622    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6623    fn get_packet_mirroring_rule(
6624        &self,
6625        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6626        _options: crate::RequestOptions,
6627    ) -> impl std::future::Future<
6628        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6629    > + Send {
6630        gaxi::unimplemented::unimplemented_stub()
6631    }
6632
6633    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6634    fn get_rule(
6635        &self,
6636        _req: crate::model::network_firewall_policies::GetRuleRequest,
6637        _options: crate::RequestOptions,
6638    ) -> impl std::future::Future<
6639        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6640    > + Send {
6641        gaxi::unimplemented::unimplemented_stub()
6642    }
6643
6644    /// Implements [super::client::NetworkFirewallPolicies::insert].
6645    fn insert(
6646        &self,
6647        _req: crate::model::network_firewall_policies::InsertRequest,
6648        _options: crate::RequestOptions,
6649    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6650    {
6651        gaxi::unimplemented::unimplemented_stub()
6652    }
6653
6654    /// Implements [super::client::NetworkFirewallPolicies::list].
6655    fn list(
6656        &self,
6657        _req: crate::model::network_firewall_policies::ListRequest,
6658        _options: crate::RequestOptions,
6659    ) -> impl std::future::Future<
6660        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
6661    > + Send {
6662        gaxi::unimplemented::unimplemented_stub()
6663    }
6664
6665    /// Implements [super::client::NetworkFirewallPolicies::patch].
6666    fn patch(
6667        &self,
6668        _req: crate::model::network_firewall_policies::PatchRequest,
6669        _options: crate::RequestOptions,
6670    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6671    {
6672        gaxi::unimplemented::unimplemented_stub()
6673    }
6674
6675    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6676    fn patch_packet_mirroring_rule(
6677        &self,
6678        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6679        _options: crate::RequestOptions,
6680    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6681    {
6682        gaxi::unimplemented::unimplemented_stub()
6683    }
6684
6685    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6686    fn patch_rule(
6687        &self,
6688        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6689        _options: crate::RequestOptions,
6690    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6691    {
6692        gaxi::unimplemented::unimplemented_stub()
6693    }
6694
6695    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6696    fn remove_association(
6697        &self,
6698        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6699        _options: crate::RequestOptions,
6700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6701    {
6702        gaxi::unimplemented::unimplemented_stub()
6703    }
6704
6705    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6706    fn remove_packet_mirroring_rule(
6707        &self,
6708        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6709        _options: crate::RequestOptions,
6710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6711    {
6712        gaxi::unimplemented::unimplemented_stub()
6713    }
6714
6715    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6716    fn remove_rule(
6717        &self,
6718        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6719        _options: crate::RequestOptions,
6720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6721    {
6722        gaxi::unimplemented::unimplemented_stub()
6723    }
6724
6725    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6726    fn set_iam_policy(
6727        &self,
6728        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6729        _options: crate::RequestOptions,
6730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6731    {
6732        gaxi::unimplemented::unimplemented_stub()
6733    }
6734
6735    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6736    fn test_iam_permissions(
6737        &self,
6738        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6739        _options: crate::RequestOptions,
6740    ) -> impl std::future::Future<
6741        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6742    > + Send {
6743        gaxi::unimplemented::unimplemented_stub()
6744    }
6745
6746    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6747    fn get_operation(
6748        &self,
6749        _req: crate::model::global_operations::GetRequest,
6750        _options: crate::RequestOptions,
6751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6752    {
6753        gaxi::unimplemented::unimplemented_stub()
6754    }
6755
6756    /// Returns the polling error policy.
6757    ///
6758    /// When mocking, this method is typically irrelevant. Do not try to verify
6759    /// it is called by your mocks.
6760    fn get_polling_error_policy(
6761        &self,
6762        _options: &crate::RequestOptions,
6763    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6764        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6765    }
6766
6767    /// Returns the polling backoff policy.
6768    ///
6769    /// When mocking, this method is typically irrelevant. Do not try to verify
6770    /// it is called by your mocks.
6771    fn get_polling_backoff_policy(
6772        &self,
6773        _options: &crate::RequestOptions,
6774    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6775        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6776    }
6777
6778    #[doc(hidden)]
6779    /// Returns the poller options.
6780    ///
6781    /// When mocking, this method is typically irrelevant. Do not try to verify
6782    /// it is called by your mocks.
6783    fn get_poller_options(
6784        &self,
6785        _options: &crate::RequestOptions,
6786    ) -> google_cloud_lro::PollerOptions {
6787        google_cloud_lro::PollerOptions::default()
6788    }
6789}
6790
6791/// Defines the trait used to implement [super::client::NetworkProfiles].
6792///
6793/// Application developers may need to implement this trait to mock
6794/// `client::NetworkProfiles`.  In other use-cases, application developers only
6795/// use `client::NetworkProfiles` and need not be concerned with this trait or
6796/// its implementations.
6797///
6798/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6799/// too. To avoid breaking applications the trait provides a default
6800/// implementation of each method. Most of these implementations just return an
6801/// error.
6802#[cfg(feature = "network-profiles")]
6803#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6804pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6805    /// Implements [super::client::NetworkProfiles::get].
6806    fn get(
6807        &self,
6808        _req: crate::model::network_profiles::GetRequest,
6809        _options: crate::RequestOptions,
6810    ) -> impl std::future::Future<
6811        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6812    > + Send {
6813        gaxi::unimplemented::unimplemented_stub()
6814    }
6815
6816    /// Implements [super::client::NetworkProfiles::list].
6817    fn list(
6818        &self,
6819        _req: crate::model::network_profiles::ListRequest,
6820        _options: crate::RequestOptions,
6821    ) -> impl std::future::Future<
6822        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6823    > + Send {
6824        gaxi::unimplemented::unimplemented_stub()
6825    }
6826}
6827
6828/// Defines the trait used to implement [super::client::Networks].
6829///
6830/// Application developers may need to implement this trait to mock
6831/// `client::Networks`.  In other use-cases, application developers only
6832/// use `client::Networks` and need not be concerned with this trait or
6833/// its implementations.
6834///
6835/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6836/// too. To avoid breaking applications the trait provides a default
6837/// implementation of each method. Most of these implementations just return an
6838/// error.
6839#[cfg(feature = "networks")]
6840#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6841pub trait Networks: std::fmt::Debug + Send + Sync {
6842    /// Implements [super::client::Networks::add_peering].
6843    fn add_peering(
6844        &self,
6845        _req: crate::model::networks::AddPeeringRequest,
6846        _options: crate::RequestOptions,
6847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6848    {
6849        gaxi::unimplemented::unimplemented_stub()
6850    }
6851
6852    /// Implements [super::client::Networks::cancel_request_remove_peering].
6853    fn cancel_request_remove_peering(
6854        &self,
6855        _req: crate::model::networks::CancelRequestRemovePeeringRequest,
6856        _options: crate::RequestOptions,
6857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6858    {
6859        gaxi::unimplemented::unimplemented_stub()
6860    }
6861
6862    /// Implements [super::client::Networks::delete].
6863    fn delete(
6864        &self,
6865        _req: crate::model::networks::DeleteRequest,
6866        _options: crate::RequestOptions,
6867    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6868    {
6869        gaxi::unimplemented::unimplemented_stub()
6870    }
6871
6872    /// Implements [super::client::Networks::get].
6873    fn get(
6874        &self,
6875        _req: crate::model::networks::GetRequest,
6876        _options: crate::RequestOptions,
6877    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6878    {
6879        gaxi::unimplemented::unimplemented_stub()
6880    }
6881
6882    /// Implements [super::client::Networks::get_effective_firewalls].
6883    fn get_effective_firewalls(
6884        &self,
6885        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6886        _options: crate::RequestOptions,
6887    ) -> impl std::future::Future<
6888        Output = crate::Result<
6889            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6890        >,
6891    > + Send {
6892        gaxi::unimplemented::unimplemented_stub()
6893    }
6894
6895    /// Implements [super::client::Networks::insert].
6896    fn insert(
6897        &self,
6898        _req: crate::model::networks::InsertRequest,
6899        _options: crate::RequestOptions,
6900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6901    {
6902        gaxi::unimplemented::unimplemented_stub()
6903    }
6904
6905    /// Implements [super::client::Networks::list].
6906    fn list(
6907        &self,
6908        _req: crate::model::networks::ListRequest,
6909        _options: crate::RequestOptions,
6910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
6911    + Send {
6912        gaxi::unimplemented::unimplemented_stub()
6913    }
6914
6915    /// Implements [super::client::Networks::list_peering_routes].
6916    fn list_peering_routes(
6917        &self,
6918        _req: crate::model::networks::ListPeeringRoutesRequest,
6919        _options: crate::RequestOptions,
6920    ) -> impl std::future::Future<
6921        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
6922    > + Send {
6923        gaxi::unimplemented::unimplemented_stub()
6924    }
6925
6926    /// Implements [super::client::Networks::patch].
6927    fn patch(
6928        &self,
6929        _req: crate::model::networks::PatchRequest,
6930        _options: crate::RequestOptions,
6931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6932    {
6933        gaxi::unimplemented::unimplemented_stub()
6934    }
6935
6936    /// Implements [super::client::Networks::remove_peering].
6937    fn remove_peering(
6938        &self,
6939        _req: crate::model::networks::RemovePeeringRequest,
6940        _options: crate::RequestOptions,
6941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6942    {
6943        gaxi::unimplemented::unimplemented_stub()
6944    }
6945
6946    /// Implements [super::client::Networks::request_remove_peering].
6947    fn request_remove_peering(
6948        &self,
6949        _req: crate::model::networks::RequestRemovePeeringRequest,
6950        _options: crate::RequestOptions,
6951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6952    {
6953        gaxi::unimplemented::unimplemented_stub()
6954    }
6955
6956    /// Implements [super::client::Networks::switch_to_custom_mode].
6957    fn switch_to_custom_mode(
6958        &self,
6959        _req: crate::model::networks::SwitchToCustomModeRequest,
6960        _options: crate::RequestOptions,
6961    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6962    {
6963        gaxi::unimplemented::unimplemented_stub()
6964    }
6965
6966    /// Implements [super::client::Networks::update_peering].
6967    fn update_peering(
6968        &self,
6969        _req: crate::model::networks::UpdatePeeringRequest,
6970        _options: crate::RequestOptions,
6971    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6972    {
6973        gaxi::unimplemented::unimplemented_stub()
6974    }
6975
6976    /// Implements [super::client::Networks::get_operation].
6977    fn get_operation(
6978        &self,
6979        _req: crate::model::global_operations::GetRequest,
6980        _options: crate::RequestOptions,
6981    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6982    {
6983        gaxi::unimplemented::unimplemented_stub()
6984    }
6985
6986    /// Returns the polling error policy.
6987    ///
6988    /// When mocking, this method is typically irrelevant. Do not try to verify
6989    /// it is called by your mocks.
6990    fn get_polling_error_policy(
6991        &self,
6992        _options: &crate::RequestOptions,
6993    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6994        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6995    }
6996
6997    /// Returns the polling backoff policy.
6998    ///
6999    /// When mocking, this method is typically irrelevant. Do not try to verify
7000    /// it is called by your mocks.
7001    fn get_polling_backoff_policy(
7002        &self,
7003        _options: &crate::RequestOptions,
7004    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7005        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7006    }
7007
7008    #[doc(hidden)]
7009    /// Returns the poller options.
7010    ///
7011    /// When mocking, this method is typically irrelevant. Do not try to verify
7012    /// it is called by your mocks.
7013    fn get_poller_options(
7014        &self,
7015        _options: &crate::RequestOptions,
7016    ) -> google_cloud_lro::PollerOptions {
7017        google_cloud_lro::PollerOptions::default()
7018    }
7019}
7020
7021/// Defines the trait used to implement [super::client::NodeGroups].
7022///
7023/// Application developers may need to implement this trait to mock
7024/// `client::NodeGroups`.  In other use-cases, application developers only
7025/// use `client::NodeGroups` and need not be concerned with this trait or
7026/// its implementations.
7027///
7028/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7029/// too. To avoid breaking applications the trait provides a default
7030/// implementation of each method. Most of these implementations just return an
7031/// error.
7032#[cfg(feature = "node-groups")]
7033#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
7034pub trait NodeGroups: std::fmt::Debug + Send + Sync {
7035    /// Implements [super::client::NodeGroups::add_nodes].
7036    fn add_nodes(
7037        &self,
7038        _req: crate::model::node_groups::AddNodesRequest,
7039        _options: crate::RequestOptions,
7040    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7041    {
7042        gaxi::unimplemented::unimplemented_stub()
7043    }
7044
7045    /// Implements [super::client::NodeGroups::aggregated_list].
7046    fn aggregated_list(
7047        &self,
7048        _req: crate::model::node_groups::AggregatedListRequest,
7049        _options: crate::RequestOptions,
7050    ) -> impl std::future::Future<
7051        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
7052    > + Send {
7053        gaxi::unimplemented::unimplemented_stub()
7054    }
7055
7056    /// Implements [super::client::NodeGroups::delete].
7057    fn delete(
7058        &self,
7059        _req: crate::model::node_groups::DeleteRequest,
7060        _options: crate::RequestOptions,
7061    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7062    {
7063        gaxi::unimplemented::unimplemented_stub()
7064    }
7065
7066    /// Implements [super::client::NodeGroups::delete_nodes].
7067    fn delete_nodes(
7068        &self,
7069        _req: crate::model::node_groups::DeleteNodesRequest,
7070        _options: crate::RequestOptions,
7071    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7072    {
7073        gaxi::unimplemented::unimplemented_stub()
7074    }
7075
7076    /// Implements [super::client::NodeGroups::get].
7077    fn get(
7078        &self,
7079        _req: crate::model::node_groups::GetRequest,
7080        _options: crate::RequestOptions,
7081    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
7082    {
7083        gaxi::unimplemented::unimplemented_stub()
7084    }
7085
7086    /// Implements [super::client::NodeGroups::get_iam_policy].
7087    fn get_iam_policy(
7088        &self,
7089        _req: crate::model::node_groups::GetIamPolicyRequest,
7090        _options: crate::RequestOptions,
7091    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7092    {
7093        gaxi::unimplemented::unimplemented_stub()
7094    }
7095
7096    /// Implements [super::client::NodeGroups::insert].
7097    fn insert(
7098        &self,
7099        _req: crate::model::node_groups::InsertRequest,
7100        _options: crate::RequestOptions,
7101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7102    {
7103        gaxi::unimplemented::unimplemented_stub()
7104    }
7105
7106    /// Implements [super::client::NodeGroups::list].
7107    fn list(
7108        &self,
7109        _req: crate::model::node_groups::ListRequest,
7110        _options: crate::RequestOptions,
7111    ) -> impl std::future::Future<
7112        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
7113    > + Send {
7114        gaxi::unimplemented::unimplemented_stub()
7115    }
7116
7117    /// Implements [super::client::NodeGroups::list_nodes].
7118    fn list_nodes(
7119        &self,
7120        _req: crate::model::node_groups::ListNodesRequest,
7121        _options: crate::RequestOptions,
7122    ) -> impl std::future::Future<
7123        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
7124    > + Send {
7125        gaxi::unimplemented::unimplemented_stub()
7126    }
7127
7128    /// Implements [super::client::NodeGroups::patch].
7129    fn patch(
7130        &self,
7131        _req: crate::model::node_groups::PatchRequest,
7132        _options: crate::RequestOptions,
7133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7134    {
7135        gaxi::unimplemented::unimplemented_stub()
7136    }
7137
7138    /// Implements [super::client::NodeGroups::perform_maintenance].
7139    fn perform_maintenance(
7140        &self,
7141        _req: crate::model::node_groups::PerformMaintenanceRequest,
7142        _options: crate::RequestOptions,
7143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7144    {
7145        gaxi::unimplemented::unimplemented_stub()
7146    }
7147
7148    /// Implements [super::client::NodeGroups::set_iam_policy].
7149    fn set_iam_policy(
7150        &self,
7151        _req: crate::model::node_groups::SetIamPolicyRequest,
7152        _options: crate::RequestOptions,
7153    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7154    {
7155        gaxi::unimplemented::unimplemented_stub()
7156    }
7157
7158    /// Implements [super::client::NodeGroups::set_node_template].
7159    fn set_node_template(
7160        &self,
7161        _req: crate::model::node_groups::SetNodeTemplateRequest,
7162        _options: crate::RequestOptions,
7163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7164    {
7165        gaxi::unimplemented::unimplemented_stub()
7166    }
7167
7168    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
7169    fn simulate_maintenance_event(
7170        &self,
7171        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
7172        _options: crate::RequestOptions,
7173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7174    {
7175        gaxi::unimplemented::unimplemented_stub()
7176    }
7177
7178    /// Implements [super::client::NodeGroups::test_iam_permissions].
7179    fn test_iam_permissions(
7180        &self,
7181        _req: crate::model::node_groups::TestIamPermissionsRequest,
7182        _options: crate::RequestOptions,
7183    ) -> impl std::future::Future<
7184        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7185    > + Send {
7186        gaxi::unimplemented::unimplemented_stub()
7187    }
7188
7189    /// Implements [super::client::NodeGroups::get_operation].
7190    fn get_operation(
7191        &self,
7192        _req: crate::model::zone_operations::GetRequest,
7193        _options: crate::RequestOptions,
7194    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7195    {
7196        gaxi::unimplemented::unimplemented_stub()
7197    }
7198
7199    /// Returns the polling error policy.
7200    ///
7201    /// When mocking, this method is typically irrelevant. Do not try to verify
7202    /// it is called by your mocks.
7203    fn get_polling_error_policy(
7204        &self,
7205        _options: &crate::RequestOptions,
7206    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7207        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7208    }
7209
7210    /// Returns the polling backoff policy.
7211    ///
7212    /// When mocking, this method is typically irrelevant. Do not try to verify
7213    /// it is called by your mocks.
7214    fn get_polling_backoff_policy(
7215        &self,
7216        _options: &crate::RequestOptions,
7217    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7218        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7219    }
7220
7221    #[doc(hidden)]
7222    /// Returns the poller options.
7223    ///
7224    /// When mocking, this method is typically irrelevant. Do not try to verify
7225    /// it is called by your mocks.
7226    fn get_poller_options(
7227        &self,
7228        _options: &crate::RequestOptions,
7229    ) -> google_cloud_lro::PollerOptions {
7230        google_cloud_lro::PollerOptions::default()
7231    }
7232}
7233
7234/// Defines the trait used to implement [super::client::NodeTemplates].
7235///
7236/// Application developers may need to implement this trait to mock
7237/// `client::NodeTemplates`.  In other use-cases, application developers only
7238/// use `client::NodeTemplates` and need not be concerned with this trait or
7239/// its implementations.
7240///
7241/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7242/// too. To avoid breaking applications the trait provides a default
7243/// implementation of each method. Most of these implementations just return an
7244/// error.
7245#[cfg(feature = "node-templates")]
7246#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
7247pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
7248    /// Implements [super::client::NodeTemplates::aggregated_list].
7249    fn aggregated_list(
7250        &self,
7251        _req: crate::model::node_templates::AggregatedListRequest,
7252        _options: crate::RequestOptions,
7253    ) -> impl std::future::Future<
7254        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
7255    > + Send {
7256        gaxi::unimplemented::unimplemented_stub()
7257    }
7258
7259    /// Implements [super::client::NodeTemplates::delete].
7260    fn delete(
7261        &self,
7262        _req: crate::model::node_templates::DeleteRequest,
7263        _options: crate::RequestOptions,
7264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7265    {
7266        gaxi::unimplemented::unimplemented_stub()
7267    }
7268
7269    /// Implements [super::client::NodeTemplates::get].
7270    fn get(
7271        &self,
7272        _req: crate::model::node_templates::GetRequest,
7273        _options: crate::RequestOptions,
7274    ) -> impl std::future::Future<
7275        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
7276    > + Send {
7277        gaxi::unimplemented::unimplemented_stub()
7278    }
7279
7280    /// Implements [super::client::NodeTemplates::get_iam_policy].
7281    fn get_iam_policy(
7282        &self,
7283        _req: crate::model::node_templates::GetIamPolicyRequest,
7284        _options: crate::RequestOptions,
7285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7286    {
7287        gaxi::unimplemented::unimplemented_stub()
7288    }
7289
7290    /// Implements [super::client::NodeTemplates::insert].
7291    fn insert(
7292        &self,
7293        _req: crate::model::node_templates::InsertRequest,
7294        _options: crate::RequestOptions,
7295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7296    {
7297        gaxi::unimplemented::unimplemented_stub()
7298    }
7299
7300    /// Implements [super::client::NodeTemplates::list].
7301    fn list(
7302        &self,
7303        _req: crate::model::node_templates::ListRequest,
7304        _options: crate::RequestOptions,
7305    ) -> impl std::future::Future<
7306        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
7307    > + Send {
7308        gaxi::unimplemented::unimplemented_stub()
7309    }
7310
7311    /// Implements [super::client::NodeTemplates::set_iam_policy].
7312    fn set_iam_policy(
7313        &self,
7314        _req: crate::model::node_templates::SetIamPolicyRequest,
7315        _options: crate::RequestOptions,
7316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7317    {
7318        gaxi::unimplemented::unimplemented_stub()
7319    }
7320
7321    /// Implements [super::client::NodeTemplates::test_iam_permissions].
7322    fn test_iam_permissions(
7323        &self,
7324        _req: crate::model::node_templates::TestIamPermissionsRequest,
7325        _options: crate::RequestOptions,
7326    ) -> impl std::future::Future<
7327        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7328    > + Send {
7329        gaxi::unimplemented::unimplemented_stub()
7330    }
7331
7332    /// Implements [super::client::NodeTemplates::get_operation].
7333    fn get_operation(
7334        &self,
7335        _req: crate::model::region_operations::GetRequest,
7336        _options: crate::RequestOptions,
7337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7338    {
7339        gaxi::unimplemented::unimplemented_stub()
7340    }
7341
7342    /// Returns the polling error policy.
7343    ///
7344    /// When mocking, this method is typically irrelevant. Do not try to verify
7345    /// it is called by your mocks.
7346    fn get_polling_error_policy(
7347        &self,
7348        _options: &crate::RequestOptions,
7349    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7350        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7351    }
7352
7353    /// Returns the polling backoff policy.
7354    ///
7355    /// When mocking, this method is typically irrelevant. Do not try to verify
7356    /// it is called by your mocks.
7357    fn get_polling_backoff_policy(
7358        &self,
7359        _options: &crate::RequestOptions,
7360    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7361        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7362    }
7363
7364    #[doc(hidden)]
7365    /// Returns the poller options.
7366    ///
7367    /// When mocking, this method is typically irrelevant. Do not try to verify
7368    /// it is called by your mocks.
7369    fn get_poller_options(
7370        &self,
7371        _options: &crate::RequestOptions,
7372    ) -> google_cloud_lro::PollerOptions {
7373        google_cloud_lro::PollerOptions::default()
7374    }
7375}
7376
7377/// Defines the trait used to implement [super::client::NodeTypes].
7378///
7379/// Application developers may need to implement this trait to mock
7380/// `client::NodeTypes`.  In other use-cases, application developers only
7381/// use `client::NodeTypes` and need not be concerned with this trait or
7382/// its implementations.
7383///
7384/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7385/// too. To avoid breaking applications the trait provides a default
7386/// implementation of each method. Most of these implementations just return an
7387/// error.
7388#[cfg(feature = "node-types")]
7389#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
7390pub trait NodeTypes: std::fmt::Debug + Send + Sync {
7391    /// Implements [super::client::NodeTypes::aggregated_list].
7392    fn aggregated_list(
7393        &self,
7394        _req: crate::model::node_types::AggregatedListRequest,
7395        _options: crate::RequestOptions,
7396    ) -> impl std::future::Future<
7397        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
7398    > + Send {
7399        gaxi::unimplemented::unimplemented_stub()
7400    }
7401
7402    /// Implements [super::client::NodeTypes::get].
7403    fn get(
7404        &self,
7405        _req: crate::model::node_types::GetRequest,
7406        _options: crate::RequestOptions,
7407    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
7408    {
7409        gaxi::unimplemented::unimplemented_stub()
7410    }
7411
7412    /// Implements [super::client::NodeTypes::list].
7413    fn list(
7414        &self,
7415        _req: crate::model::node_types::ListRequest,
7416        _options: crate::RequestOptions,
7417    ) -> impl std::future::Future<
7418        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
7419    > + Send {
7420        gaxi::unimplemented::unimplemented_stub()
7421    }
7422}
7423
7424/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
7425///
7426/// Application developers may need to implement this trait to mock
7427/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
7428/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
7429/// its implementations.
7430///
7431/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7432/// too. To avoid breaking applications the trait provides a default
7433/// implementation of each method. Most of these implementations just return an
7434/// error.
7435#[cfg(feature = "organization-security-policies")]
7436#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
7437pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
7438    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
7439    fn add_association(
7440        &self,
7441        _req: crate::model::organization_security_policies::AddAssociationRequest,
7442        _options: crate::RequestOptions,
7443    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7444    {
7445        gaxi::unimplemented::unimplemented_stub()
7446    }
7447
7448    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
7449    fn add_rule(
7450        &self,
7451        _req: crate::model::organization_security_policies::AddRuleRequest,
7452        _options: crate::RequestOptions,
7453    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7454    {
7455        gaxi::unimplemented::unimplemented_stub()
7456    }
7457
7458    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
7459    fn copy_rules(
7460        &self,
7461        _req: crate::model::organization_security_policies::CopyRulesRequest,
7462        _options: crate::RequestOptions,
7463    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7464    {
7465        gaxi::unimplemented::unimplemented_stub()
7466    }
7467
7468    /// Implements [super::client::OrganizationSecurityPolicies::delete].
7469    fn delete(
7470        &self,
7471        _req: crate::model::organization_security_policies::DeleteRequest,
7472        _options: crate::RequestOptions,
7473    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7474    {
7475        gaxi::unimplemented::unimplemented_stub()
7476    }
7477
7478    /// Implements [super::client::OrganizationSecurityPolicies::get].
7479    fn get(
7480        &self,
7481        _req: crate::model::organization_security_policies::GetRequest,
7482        _options: crate::RequestOptions,
7483    ) -> impl std::future::Future<
7484        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
7485    > + Send {
7486        gaxi::unimplemented::unimplemented_stub()
7487    }
7488
7489    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
7490    fn get_association(
7491        &self,
7492        _req: crate::model::organization_security_policies::GetAssociationRequest,
7493        _options: crate::RequestOptions,
7494    ) -> impl std::future::Future<
7495        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
7496    > + Send {
7497        gaxi::unimplemented::unimplemented_stub()
7498    }
7499
7500    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
7501    fn get_rule(
7502        &self,
7503        _req: crate::model::organization_security_policies::GetRuleRequest,
7504        _options: crate::RequestOptions,
7505    ) -> impl std::future::Future<
7506        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
7507    > + Send {
7508        gaxi::unimplemented::unimplemented_stub()
7509    }
7510
7511    /// Implements [super::client::OrganizationSecurityPolicies::insert].
7512    fn insert(
7513        &self,
7514        _req: crate::model::organization_security_policies::InsertRequest,
7515        _options: crate::RequestOptions,
7516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7517    {
7518        gaxi::unimplemented::unimplemented_stub()
7519    }
7520
7521    /// Implements [super::client::OrganizationSecurityPolicies::list].
7522    fn list(
7523        &self,
7524        _req: crate::model::organization_security_policies::ListRequest,
7525        _options: crate::RequestOptions,
7526    ) -> impl std::future::Future<
7527        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
7528    > + Send {
7529        gaxi::unimplemented::unimplemented_stub()
7530    }
7531
7532    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
7533    fn list_associations(
7534        &self,
7535        _req: crate::model::organization_security_policies::ListAssociationsRequest,
7536        _options: crate::RequestOptions,
7537    ) -> impl std::future::Future<
7538        Output = crate::Result<
7539            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
7540        >,
7541    > + Send {
7542        gaxi::unimplemented::unimplemented_stub()
7543    }
7544
7545    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
7546    fn list_preconfigured_expression_sets(
7547        &self,
7548        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
7549        _options: crate::RequestOptions,
7550    ) -> impl std::future::Future<
7551        Output = crate::Result<
7552            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
7553        >,
7554    > + Send {
7555        gaxi::unimplemented::unimplemented_stub()
7556    }
7557
7558    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
7559    fn r#move(
7560        &self,
7561        _req: crate::model::organization_security_policies::MoveRequest,
7562        _options: crate::RequestOptions,
7563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7564    {
7565        gaxi::unimplemented::unimplemented_stub()
7566    }
7567
7568    /// Implements [super::client::OrganizationSecurityPolicies::patch].
7569    fn patch(
7570        &self,
7571        _req: crate::model::organization_security_policies::PatchRequest,
7572        _options: crate::RequestOptions,
7573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7574    {
7575        gaxi::unimplemented::unimplemented_stub()
7576    }
7577
7578    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
7579    fn patch_rule(
7580        &self,
7581        _req: crate::model::organization_security_policies::PatchRuleRequest,
7582        _options: crate::RequestOptions,
7583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7584    {
7585        gaxi::unimplemented::unimplemented_stub()
7586    }
7587
7588    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
7589    fn remove_association(
7590        &self,
7591        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
7592        _options: crate::RequestOptions,
7593    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7594    {
7595        gaxi::unimplemented::unimplemented_stub()
7596    }
7597
7598    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
7599    fn remove_rule(
7600        &self,
7601        _req: crate::model::organization_security_policies::RemoveRuleRequest,
7602        _options: crate::RequestOptions,
7603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7604    {
7605        gaxi::unimplemented::unimplemented_stub()
7606    }
7607
7608    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
7609    fn get_operation(
7610        &self,
7611        _req: crate::model::global_organization_operations::GetRequest,
7612        _options: crate::RequestOptions,
7613    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7614    {
7615        gaxi::unimplemented::unimplemented_stub()
7616    }
7617
7618    /// Returns the polling error policy.
7619    ///
7620    /// When mocking, this method is typically irrelevant. Do not try to verify
7621    /// it is called by your mocks.
7622    fn get_polling_error_policy(
7623        &self,
7624        _options: &crate::RequestOptions,
7625    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7626        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7627    }
7628
7629    /// Returns the polling backoff policy.
7630    ///
7631    /// When mocking, this method is typically irrelevant. Do not try to verify
7632    /// it is called by your mocks.
7633    fn get_polling_backoff_policy(
7634        &self,
7635        _options: &crate::RequestOptions,
7636    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7637        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7638    }
7639
7640    #[doc(hidden)]
7641    /// Returns the poller options.
7642    ///
7643    /// When mocking, this method is typically irrelevant. Do not try to verify
7644    /// it is called by your mocks.
7645    fn get_poller_options(
7646        &self,
7647        _options: &crate::RequestOptions,
7648    ) -> google_cloud_lro::PollerOptions {
7649        google_cloud_lro::PollerOptions::default()
7650    }
7651}
7652
7653/// Defines the trait used to implement [super::client::PacketMirrorings].
7654///
7655/// Application developers may need to implement this trait to mock
7656/// `client::PacketMirrorings`.  In other use-cases, application developers only
7657/// use `client::PacketMirrorings` and need not be concerned with this trait or
7658/// its implementations.
7659///
7660/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7661/// too. To avoid breaking applications the trait provides a default
7662/// implementation of each method. Most of these implementations just return an
7663/// error.
7664#[cfg(feature = "packet-mirrorings")]
7665#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7666pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7667    /// Implements [super::client::PacketMirrorings::aggregated_list].
7668    fn aggregated_list(
7669        &self,
7670        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7671        _options: crate::RequestOptions,
7672    ) -> impl std::future::Future<
7673        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
7674    > + Send {
7675        gaxi::unimplemented::unimplemented_stub()
7676    }
7677
7678    /// Implements [super::client::PacketMirrorings::delete].
7679    fn delete(
7680        &self,
7681        _req: crate::model::packet_mirrorings::DeleteRequest,
7682        _options: crate::RequestOptions,
7683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7684    {
7685        gaxi::unimplemented::unimplemented_stub()
7686    }
7687
7688    /// Implements [super::client::PacketMirrorings::get].
7689    fn get(
7690        &self,
7691        _req: crate::model::packet_mirrorings::GetRequest,
7692        _options: crate::RequestOptions,
7693    ) -> impl std::future::Future<
7694        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
7695    > + Send {
7696        gaxi::unimplemented::unimplemented_stub()
7697    }
7698
7699    /// Implements [super::client::PacketMirrorings::insert].
7700    fn insert(
7701        &self,
7702        _req: crate::model::packet_mirrorings::InsertRequest,
7703        _options: crate::RequestOptions,
7704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7705    {
7706        gaxi::unimplemented::unimplemented_stub()
7707    }
7708
7709    /// Implements [super::client::PacketMirrorings::list].
7710    fn list(
7711        &self,
7712        _req: crate::model::packet_mirrorings::ListRequest,
7713        _options: crate::RequestOptions,
7714    ) -> impl std::future::Future<
7715        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
7716    > + Send {
7717        gaxi::unimplemented::unimplemented_stub()
7718    }
7719
7720    /// Implements [super::client::PacketMirrorings::patch].
7721    fn patch(
7722        &self,
7723        _req: crate::model::packet_mirrorings::PatchRequest,
7724        _options: crate::RequestOptions,
7725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7726    {
7727        gaxi::unimplemented::unimplemented_stub()
7728    }
7729
7730    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
7731    fn test_iam_permissions(
7732        &self,
7733        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7734        _options: crate::RequestOptions,
7735    ) -> impl std::future::Future<
7736        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7737    > + Send {
7738        gaxi::unimplemented::unimplemented_stub()
7739    }
7740
7741    /// Implements [super::client::PacketMirrorings::get_operation].
7742    fn get_operation(
7743        &self,
7744        _req: crate::model::region_operations::GetRequest,
7745        _options: crate::RequestOptions,
7746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7747    {
7748        gaxi::unimplemented::unimplemented_stub()
7749    }
7750
7751    /// Returns the polling error policy.
7752    ///
7753    /// When mocking, this method is typically irrelevant. Do not try to verify
7754    /// it is called by your mocks.
7755    fn get_polling_error_policy(
7756        &self,
7757        _options: &crate::RequestOptions,
7758    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7759        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7760    }
7761
7762    /// Returns the polling backoff policy.
7763    ///
7764    /// When mocking, this method is typically irrelevant. Do not try to verify
7765    /// it is called by your mocks.
7766    fn get_polling_backoff_policy(
7767        &self,
7768        _options: &crate::RequestOptions,
7769    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7770        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7771    }
7772
7773    #[doc(hidden)]
7774    /// Returns the poller options.
7775    ///
7776    /// When mocking, this method is typically irrelevant. Do not try to verify
7777    /// it is called by your mocks.
7778    fn get_poller_options(
7779        &self,
7780        _options: &crate::RequestOptions,
7781    ) -> google_cloud_lro::PollerOptions {
7782        google_cloud_lro::PollerOptions::default()
7783    }
7784}
7785
7786/// Defines the trait used to implement [super::client::PreviewFeatures].
7787///
7788/// Application developers may need to implement this trait to mock
7789/// `client::PreviewFeatures`.  In other use-cases, application developers only
7790/// use `client::PreviewFeatures` and need not be concerned with this trait or
7791/// its implementations.
7792///
7793/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7794/// too. To avoid breaking applications the trait provides a default
7795/// implementation of each method. Most of these implementations just return an
7796/// error.
7797#[cfg(feature = "preview-features")]
7798#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7799pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7800    /// Implements [super::client::PreviewFeatures::get].
7801    fn get(
7802        &self,
7803        _req: crate::model::preview_features::GetRequest,
7804        _options: crate::RequestOptions,
7805    ) -> impl std::future::Future<
7806        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
7807    > + Send {
7808        gaxi::unimplemented::unimplemented_stub()
7809    }
7810
7811    /// Implements [super::client::PreviewFeatures::list].
7812    fn list(
7813        &self,
7814        _req: crate::model::preview_features::ListRequest,
7815        _options: crate::RequestOptions,
7816    ) -> impl std::future::Future<
7817        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7818    > + Send {
7819        gaxi::unimplemented::unimplemented_stub()
7820    }
7821
7822    /// Implements [super::client::PreviewFeatures::update].
7823    fn update(
7824        &self,
7825        _req: crate::model::preview_features::UpdateRequest,
7826        _options: crate::RequestOptions,
7827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7828    {
7829        gaxi::unimplemented::unimplemented_stub()
7830    }
7831
7832    /// Implements [super::client::PreviewFeatures::get_operation].
7833    fn get_operation(
7834        &self,
7835        _req: crate::model::global_operations::GetRequest,
7836        _options: crate::RequestOptions,
7837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7838    {
7839        gaxi::unimplemented::unimplemented_stub()
7840    }
7841
7842    /// Returns the polling error policy.
7843    ///
7844    /// When mocking, this method is typically irrelevant. Do not try to verify
7845    /// it is called by your mocks.
7846    fn get_polling_error_policy(
7847        &self,
7848        _options: &crate::RequestOptions,
7849    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7850        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7851    }
7852
7853    /// Returns the polling backoff policy.
7854    ///
7855    /// When mocking, this method is typically irrelevant. Do not try to verify
7856    /// it is called by your mocks.
7857    fn get_polling_backoff_policy(
7858        &self,
7859        _options: &crate::RequestOptions,
7860    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7861        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7862    }
7863
7864    #[doc(hidden)]
7865    /// Returns the poller options.
7866    ///
7867    /// When mocking, this method is typically irrelevant. Do not try to verify
7868    /// it is called by your mocks.
7869    fn get_poller_options(
7870        &self,
7871        _options: &crate::RequestOptions,
7872    ) -> google_cloud_lro::PollerOptions {
7873        google_cloud_lro::PollerOptions::default()
7874    }
7875}
7876
7877/// Defines the trait used to implement [super::client::Projects].
7878///
7879/// Application developers may need to implement this trait to mock
7880/// `client::Projects`.  In other use-cases, application developers only
7881/// use `client::Projects` and need not be concerned with this trait or
7882/// its implementations.
7883///
7884/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7885/// too. To avoid breaking applications the trait provides a default
7886/// implementation of each method. Most of these implementations just return an
7887/// error.
7888#[cfg(feature = "projects")]
7889#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7890pub trait Projects: std::fmt::Debug + Send + Sync {
7891    /// Implements [super::client::Projects::disable_xpn_host].
7892    fn disable_xpn_host(
7893        &self,
7894        _req: crate::model::projects::DisableXpnHostRequest,
7895        _options: crate::RequestOptions,
7896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7897    {
7898        gaxi::unimplemented::unimplemented_stub()
7899    }
7900
7901    /// Implements [super::client::Projects::disable_xpn_resource].
7902    fn disable_xpn_resource(
7903        &self,
7904        _req: crate::model::projects::DisableXpnResourceRequest,
7905        _options: crate::RequestOptions,
7906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7907    {
7908        gaxi::unimplemented::unimplemented_stub()
7909    }
7910
7911    /// Implements [super::client::Projects::enable_xpn_host].
7912    fn enable_xpn_host(
7913        &self,
7914        _req: crate::model::projects::EnableXpnHostRequest,
7915        _options: crate::RequestOptions,
7916    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7917    {
7918        gaxi::unimplemented::unimplemented_stub()
7919    }
7920
7921    /// Implements [super::client::Projects::enable_xpn_resource].
7922    fn enable_xpn_resource(
7923        &self,
7924        _req: crate::model::projects::EnableXpnResourceRequest,
7925        _options: crate::RequestOptions,
7926    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7927    {
7928        gaxi::unimplemented::unimplemented_stub()
7929    }
7930
7931    /// Implements [super::client::Projects::get].
7932    fn get(
7933        &self,
7934        _req: crate::model::projects::GetRequest,
7935        _options: crate::RequestOptions,
7936    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7937    {
7938        gaxi::unimplemented::unimplemented_stub()
7939    }
7940
7941    /// Implements [super::client::Projects::get_xpn_host].
7942    fn get_xpn_host(
7943        &self,
7944        _req: crate::model::projects::GetXpnHostRequest,
7945        _options: crate::RequestOptions,
7946    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7947    {
7948        gaxi::unimplemented::unimplemented_stub()
7949    }
7950
7951    /// Implements [super::client::Projects::get_xpn_resources].
7952    fn get_xpn_resources(
7953        &self,
7954        _req: crate::model::projects::GetXpnResourcesRequest,
7955        _options: crate::RequestOptions,
7956    ) -> impl std::future::Future<
7957        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
7958    > + Send {
7959        gaxi::unimplemented::unimplemented_stub()
7960    }
7961
7962    /// Implements [super::client::Projects::list_xpn_hosts].
7963    fn list_xpn_hosts(
7964        &self,
7965        _req: crate::model::projects::ListXpnHostsRequest,
7966        _options: crate::RequestOptions,
7967    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
7968    + Send {
7969        gaxi::unimplemented::unimplemented_stub()
7970    }
7971
7972    /// Implements [super::client::Projects::move_disk].
7973    fn move_disk(
7974        &self,
7975        _req: crate::model::projects::MoveDiskRequest,
7976        _options: crate::RequestOptions,
7977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7978    {
7979        gaxi::unimplemented::unimplemented_stub()
7980    }
7981
7982    /// Implements [super::client::Projects::move_instance].
7983    fn move_instance(
7984        &self,
7985        _req: crate::model::projects::MoveInstanceRequest,
7986        _options: crate::RequestOptions,
7987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7988    {
7989        gaxi::unimplemented::unimplemented_stub()
7990    }
7991
7992    /// Implements [super::client::Projects::set_cloud_armor_tier].
7993    fn set_cloud_armor_tier(
7994        &self,
7995        _req: crate::model::projects::SetCloudArmorTierRequest,
7996        _options: crate::RequestOptions,
7997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7998    {
7999        gaxi::unimplemented::unimplemented_stub()
8000    }
8001
8002    /// Implements [super::client::Projects::set_common_instance_metadata].
8003    fn set_common_instance_metadata(
8004        &self,
8005        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
8006        _options: crate::RequestOptions,
8007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8008    {
8009        gaxi::unimplemented::unimplemented_stub()
8010    }
8011
8012    /// Implements [super::client::Projects::set_default_network_tier].
8013    fn set_default_network_tier(
8014        &self,
8015        _req: crate::model::projects::SetDefaultNetworkTierRequest,
8016        _options: crate::RequestOptions,
8017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8018    {
8019        gaxi::unimplemented::unimplemented_stub()
8020    }
8021
8022    /// Implements [super::client::Projects::set_usage_export_bucket].
8023    fn set_usage_export_bucket(
8024        &self,
8025        _req: crate::model::projects::SetUsageExportBucketRequest,
8026        _options: crate::RequestOptions,
8027    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8028    {
8029        gaxi::unimplemented::unimplemented_stub()
8030    }
8031
8032    /// Implements [super::client::Projects::get_operation].
8033    fn get_operation(
8034        &self,
8035        _req: crate::model::global_operations::GetRequest,
8036        _options: crate::RequestOptions,
8037    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8038    {
8039        gaxi::unimplemented::unimplemented_stub()
8040    }
8041
8042    /// Returns the polling error policy.
8043    ///
8044    /// When mocking, this method is typically irrelevant. Do not try to verify
8045    /// it is called by your mocks.
8046    fn get_polling_error_policy(
8047        &self,
8048        _options: &crate::RequestOptions,
8049    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8050        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8051    }
8052
8053    /// Returns the polling backoff policy.
8054    ///
8055    /// When mocking, this method is typically irrelevant. Do not try to verify
8056    /// it is called by your mocks.
8057    fn get_polling_backoff_policy(
8058        &self,
8059        _options: &crate::RequestOptions,
8060    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8061        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8062    }
8063
8064    #[doc(hidden)]
8065    /// Returns the poller options.
8066    ///
8067    /// When mocking, this method is typically irrelevant. Do not try to verify
8068    /// it is called by your mocks.
8069    fn get_poller_options(
8070        &self,
8071        _options: &crate::RequestOptions,
8072    ) -> google_cloud_lro::PollerOptions {
8073        google_cloud_lro::PollerOptions::default()
8074    }
8075}
8076
8077/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
8078///
8079/// Application developers may need to implement this trait to mock
8080/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
8081/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
8082/// its implementations.
8083///
8084/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8085/// too. To avoid breaking applications the trait provides a default
8086/// implementation of each method. Most of these implementations just return an
8087/// error.
8088#[cfg(feature = "public-advertised-prefixes")]
8089#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
8090pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
8091    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
8092    fn announce(
8093        &self,
8094        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
8095        _options: crate::RequestOptions,
8096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8097    {
8098        gaxi::unimplemented::unimplemented_stub()
8099    }
8100
8101    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
8102    fn delete(
8103        &self,
8104        _req: crate::model::public_advertised_prefixes::DeleteRequest,
8105        _options: crate::RequestOptions,
8106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8107    {
8108        gaxi::unimplemented::unimplemented_stub()
8109    }
8110
8111    /// Implements [super::client::PublicAdvertisedPrefixes::get].
8112    fn get(
8113        &self,
8114        _req: crate::model::public_advertised_prefixes::GetRequest,
8115        _options: crate::RequestOptions,
8116    ) -> impl std::future::Future<
8117        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
8118    > + Send {
8119        gaxi::unimplemented::unimplemented_stub()
8120    }
8121
8122    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
8123    fn insert(
8124        &self,
8125        _req: crate::model::public_advertised_prefixes::InsertRequest,
8126        _options: crate::RequestOptions,
8127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8128    {
8129        gaxi::unimplemented::unimplemented_stub()
8130    }
8131
8132    /// Implements [super::client::PublicAdvertisedPrefixes::list].
8133    fn list(
8134        &self,
8135        _req: crate::model::public_advertised_prefixes::ListRequest,
8136        _options: crate::RequestOptions,
8137    ) -> impl std::future::Future<
8138        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
8139    > + Send {
8140        gaxi::unimplemented::unimplemented_stub()
8141    }
8142
8143    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
8144    fn patch(
8145        &self,
8146        _req: crate::model::public_advertised_prefixes::PatchRequest,
8147        _options: crate::RequestOptions,
8148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8149    {
8150        gaxi::unimplemented::unimplemented_stub()
8151    }
8152
8153    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
8154    fn withdraw(
8155        &self,
8156        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
8157        _options: crate::RequestOptions,
8158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8159    {
8160        gaxi::unimplemented::unimplemented_stub()
8161    }
8162
8163    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
8164    fn get_operation(
8165        &self,
8166        _req: crate::model::global_operations::GetRequest,
8167        _options: crate::RequestOptions,
8168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8169    {
8170        gaxi::unimplemented::unimplemented_stub()
8171    }
8172
8173    /// Returns the polling error policy.
8174    ///
8175    /// When mocking, this method is typically irrelevant. Do not try to verify
8176    /// it is called by your mocks.
8177    fn get_polling_error_policy(
8178        &self,
8179        _options: &crate::RequestOptions,
8180    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8181        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8182    }
8183
8184    /// Returns the polling backoff policy.
8185    ///
8186    /// When mocking, this method is typically irrelevant. Do not try to verify
8187    /// it is called by your mocks.
8188    fn get_polling_backoff_policy(
8189        &self,
8190        _options: &crate::RequestOptions,
8191    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8192        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8193    }
8194
8195    #[doc(hidden)]
8196    /// Returns the poller options.
8197    ///
8198    /// When mocking, this method is typically irrelevant. Do not try to verify
8199    /// it is called by your mocks.
8200    fn get_poller_options(
8201        &self,
8202        _options: &crate::RequestOptions,
8203    ) -> google_cloud_lro::PollerOptions {
8204        google_cloud_lro::PollerOptions::default()
8205    }
8206}
8207
8208/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
8209///
8210/// Application developers may need to implement this trait to mock
8211/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
8212/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
8213/// its implementations.
8214///
8215/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8216/// too. To avoid breaking applications the trait provides a default
8217/// implementation of each method. Most of these implementations just return an
8218/// error.
8219#[cfg(feature = "public-delegated-prefixes")]
8220#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
8221pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
8222    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
8223    fn aggregated_list(
8224        &self,
8225        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
8226        _options: crate::RequestOptions,
8227    ) -> impl std::future::Future<
8228        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
8229    > + Send {
8230        gaxi::unimplemented::unimplemented_stub()
8231    }
8232
8233    /// Implements [super::client::PublicDelegatedPrefixes::announce].
8234    fn announce(
8235        &self,
8236        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
8237        _options: crate::RequestOptions,
8238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8239    {
8240        gaxi::unimplemented::unimplemented_stub()
8241    }
8242
8243    /// Implements [super::client::PublicDelegatedPrefixes::delete].
8244    fn delete(
8245        &self,
8246        _req: crate::model::public_delegated_prefixes::DeleteRequest,
8247        _options: crate::RequestOptions,
8248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8249    {
8250        gaxi::unimplemented::unimplemented_stub()
8251    }
8252
8253    /// Implements [super::client::PublicDelegatedPrefixes::get].
8254    fn get(
8255        &self,
8256        _req: crate::model::public_delegated_prefixes::GetRequest,
8257        _options: crate::RequestOptions,
8258    ) -> impl std::future::Future<
8259        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
8260    > + Send {
8261        gaxi::unimplemented::unimplemented_stub()
8262    }
8263
8264    /// Implements [super::client::PublicDelegatedPrefixes::insert].
8265    fn insert(
8266        &self,
8267        _req: crate::model::public_delegated_prefixes::InsertRequest,
8268        _options: crate::RequestOptions,
8269    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8270    {
8271        gaxi::unimplemented::unimplemented_stub()
8272    }
8273
8274    /// Implements [super::client::PublicDelegatedPrefixes::list].
8275    fn list(
8276        &self,
8277        _req: crate::model::public_delegated_prefixes::ListRequest,
8278        _options: crate::RequestOptions,
8279    ) -> impl std::future::Future<
8280        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
8281    > + Send {
8282        gaxi::unimplemented::unimplemented_stub()
8283    }
8284
8285    /// Implements [super::client::PublicDelegatedPrefixes::patch].
8286    fn patch(
8287        &self,
8288        _req: crate::model::public_delegated_prefixes::PatchRequest,
8289        _options: crate::RequestOptions,
8290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8291    {
8292        gaxi::unimplemented::unimplemented_stub()
8293    }
8294
8295    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
8296    fn withdraw(
8297        &self,
8298        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
8299        _options: crate::RequestOptions,
8300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8301    {
8302        gaxi::unimplemented::unimplemented_stub()
8303    }
8304
8305    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
8306    fn get_operation(
8307        &self,
8308        _req: crate::model::region_operations::GetRequest,
8309        _options: crate::RequestOptions,
8310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8311    {
8312        gaxi::unimplemented::unimplemented_stub()
8313    }
8314
8315    /// Returns the polling error policy.
8316    ///
8317    /// When mocking, this method is typically irrelevant. Do not try to verify
8318    /// it is called by your mocks.
8319    fn get_polling_error_policy(
8320        &self,
8321        _options: &crate::RequestOptions,
8322    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8323        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8324    }
8325
8326    /// Returns the polling backoff policy.
8327    ///
8328    /// When mocking, this method is typically irrelevant. Do not try to verify
8329    /// it is called by your mocks.
8330    fn get_polling_backoff_policy(
8331        &self,
8332        _options: &crate::RequestOptions,
8333    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8334        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8335    }
8336
8337    #[doc(hidden)]
8338    /// Returns the poller options.
8339    ///
8340    /// When mocking, this method is typically irrelevant. Do not try to verify
8341    /// it is called by your mocks.
8342    fn get_poller_options(
8343        &self,
8344        _options: &crate::RequestOptions,
8345    ) -> google_cloud_lro::PollerOptions {
8346        google_cloud_lro::PollerOptions::default()
8347    }
8348}
8349
8350/// Defines the trait used to implement [super::client::RegionAutoscalers].
8351///
8352/// Application developers may need to implement this trait to mock
8353/// `client::RegionAutoscalers`.  In other use-cases, application developers only
8354/// use `client::RegionAutoscalers` and need not be concerned with this trait or
8355/// its implementations.
8356///
8357/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8358/// too. To avoid breaking applications the trait provides a default
8359/// implementation of each method. Most of these implementations just return an
8360/// error.
8361#[cfg(feature = "region-autoscalers")]
8362#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
8363pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
8364    /// Implements [super::client::RegionAutoscalers::delete].
8365    fn delete(
8366        &self,
8367        _req: crate::model::region_autoscalers::DeleteRequest,
8368        _options: crate::RequestOptions,
8369    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8370    {
8371        gaxi::unimplemented::unimplemented_stub()
8372    }
8373
8374    /// Implements [super::client::RegionAutoscalers::get].
8375    fn get(
8376        &self,
8377        _req: crate::model::region_autoscalers::GetRequest,
8378        _options: crate::RequestOptions,
8379    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
8380    {
8381        gaxi::unimplemented::unimplemented_stub()
8382    }
8383
8384    /// Implements [super::client::RegionAutoscalers::insert].
8385    fn insert(
8386        &self,
8387        _req: crate::model::region_autoscalers::InsertRequest,
8388        _options: crate::RequestOptions,
8389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8390    {
8391        gaxi::unimplemented::unimplemented_stub()
8392    }
8393
8394    /// Implements [super::client::RegionAutoscalers::list].
8395    fn list(
8396        &self,
8397        _req: crate::model::region_autoscalers::ListRequest,
8398        _options: crate::RequestOptions,
8399    ) -> impl std::future::Future<
8400        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
8401    > + Send {
8402        gaxi::unimplemented::unimplemented_stub()
8403    }
8404
8405    /// Implements [super::client::RegionAutoscalers::patch].
8406    fn patch(
8407        &self,
8408        _req: crate::model::region_autoscalers::PatchRequest,
8409        _options: crate::RequestOptions,
8410    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8411    {
8412        gaxi::unimplemented::unimplemented_stub()
8413    }
8414
8415    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
8416    fn test_iam_permissions(
8417        &self,
8418        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
8419        _options: crate::RequestOptions,
8420    ) -> impl std::future::Future<
8421        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8422    > + Send {
8423        gaxi::unimplemented::unimplemented_stub()
8424    }
8425
8426    /// Implements [super::client::RegionAutoscalers::update].
8427    fn update(
8428        &self,
8429        _req: crate::model::region_autoscalers::UpdateRequest,
8430        _options: crate::RequestOptions,
8431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8432    {
8433        gaxi::unimplemented::unimplemented_stub()
8434    }
8435
8436    /// Implements [super::client::RegionAutoscalers::get_operation].
8437    fn get_operation(
8438        &self,
8439        _req: crate::model::region_operations::GetRequest,
8440        _options: crate::RequestOptions,
8441    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8442    {
8443        gaxi::unimplemented::unimplemented_stub()
8444    }
8445
8446    /// Returns the polling error policy.
8447    ///
8448    /// When mocking, this method is typically irrelevant. Do not try to verify
8449    /// it is called by your mocks.
8450    fn get_polling_error_policy(
8451        &self,
8452        _options: &crate::RequestOptions,
8453    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8454        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8455    }
8456
8457    /// Returns the polling backoff policy.
8458    ///
8459    /// When mocking, this method is typically irrelevant. Do not try to verify
8460    /// it is called by your mocks.
8461    fn get_polling_backoff_policy(
8462        &self,
8463        _options: &crate::RequestOptions,
8464    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8465        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8466    }
8467
8468    #[doc(hidden)]
8469    /// Returns the poller options.
8470    ///
8471    /// When mocking, this method is typically irrelevant. Do not try to verify
8472    /// it is called by your mocks.
8473    fn get_poller_options(
8474        &self,
8475        _options: &crate::RequestOptions,
8476    ) -> google_cloud_lro::PollerOptions {
8477        google_cloud_lro::PollerOptions::default()
8478    }
8479}
8480
8481/// Defines the trait used to implement [super::client::RegionBackendBuckets].
8482///
8483/// Application developers may need to implement this trait to mock
8484/// `client::RegionBackendBuckets`.  In other use-cases, application developers only
8485/// use `client::RegionBackendBuckets` and need not be concerned with this trait or
8486/// its implementations.
8487///
8488/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8489/// too. To avoid breaking applications the trait provides a default
8490/// implementation of each method. Most of these implementations just return an
8491/// error.
8492#[cfg(feature = "region-backend-buckets")]
8493#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-buckets")))]
8494pub trait RegionBackendBuckets: std::fmt::Debug + Send + Sync {
8495    /// Implements [super::client::RegionBackendBuckets::delete].
8496    fn delete(
8497        &self,
8498        _req: crate::model::region_backend_buckets::DeleteRequest,
8499        _options: crate::RequestOptions,
8500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8501    {
8502        gaxi::unimplemented::unimplemented_stub()
8503    }
8504
8505    /// Implements [super::client::RegionBackendBuckets::get].
8506    fn get(
8507        &self,
8508        _req: crate::model::region_backend_buckets::GetRequest,
8509        _options: crate::RequestOptions,
8510    ) -> impl std::future::Future<
8511        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
8512    > + Send {
8513        gaxi::unimplemented::unimplemented_stub()
8514    }
8515
8516    /// Implements [super::client::RegionBackendBuckets::get_iam_policy].
8517    fn get_iam_policy(
8518        &self,
8519        _req: crate::model::region_backend_buckets::GetIamPolicyRequest,
8520        _options: crate::RequestOptions,
8521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8522    {
8523        gaxi::unimplemented::unimplemented_stub()
8524    }
8525
8526    /// Implements [super::client::RegionBackendBuckets::insert].
8527    fn insert(
8528        &self,
8529        _req: crate::model::region_backend_buckets::InsertRequest,
8530        _options: crate::RequestOptions,
8531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8532    {
8533        gaxi::unimplemented::unimplemented_stub()
8534    }
8535
8536    /// Implements [super::client::RegionBackendBuckets::list].
8537    fn list(
8538        &self,
8539        _req: crate::model::region_backend_buckets::ListRequest,
8540        _options: crate::RequestOptions,
8541    ) -> impl std::future::Future<
8542        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
8543    > + Send {
8544        gaxi::unimplemented::unimplemented_stub()
8545    }
8546
8547    /// Implements [super::client::RegionBackendBuckets::list_usable].
8548    fn list_usable(
8549        &self,
8550        _req: crate::model::region_backend_buckets::ListUsableRequest,
8551        _options: crate::RequestOptions,
8552    ) -> impl std::future::Future<
8553        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
8554    > + Send {
8555        gaxi::unimplemented::unimplemented_stub()
8556    }
8557
8558    /// Implements [super::client::RegionBackendBuckets::patch].
8559    fn patch(
8560        &self,
8561        _req: crate::model::region_backend_buckets::PatchRequest,
8562        _options: crate::RequestOptions,
8563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8564    {
8565        gaxi::unimplemented::unimplemented_stub()
8566    }
8567
8568    /// Implements [super::client::RegionBackendBuckets::set_iam_policy].
8569    fn set_iam_policy(
8570        &self,
8571        _req: crate::model::region_backend_buckets::SetIamPolicyRequest,
8572        _options: crate::RequestOptions,
8573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8574    {
8575        gaxi::unimplemented::unimplemented_stub()
8576    }
8577
8578    /// Implements [super::client::RegionBackendBuckets::test_iam_permissions].
8579    fn test_iam_permissions(
8580        &self,
8581        _req: crate::model::region_backend_buckets::TestIamPermissionsRequest,
8582        _options: crate::RequestOptions,
8583    ) -> impl std::future::Future<
8584        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8585    > + Send {
8586        gaxi::unimplemented::unimplemented_stub()
8587    }
8588
8589    /// Implements [super::client::RegionBackendBuckets::get_operation].
8590    fn get_operation(
8591        &self,
8592        _req: crate::model::region_operations::GetRequest,
8593        _options: crate::RequestOptions,
8594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8595    {
8596        gaxi::unimplemented::unimplemented_stub()
8597    }
8598
8599    /// Returns the polling error policy.
8600    ///
8601    /// When mocking, this method is typically irrelevant. Do not try to verify
8602    /// it is called by your mocks.
8603    fn get_polling_error_policy(
8604        &self,
8605        _options: &crate::RequestOptions,
8606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8607        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8608    }
8609
8610    /// Returns the polling backoff policy.
8611    ///
8612    /// When mocking, this method is typically irrelevant. Do not try to verify
8613    /// it is called by your mocks.
8614    fn get_polling_backoff_policy(
8615        &self,
8616        _options: &crate::RequestOptions,
8617    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8618        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8619    }
8620
8621    #[doc(hidden)]
8622    /// Returns the poller options.
8623    ///
8624    /// When mocking, this method is typically irrelevant. Do not try to verify
8625    /// it is called by your mocks.
8626    fn get_poller_options(
8627        &self,
8628        _options: &crate::RequestOptions,
8629    ) -> google_cloud_lro::PollerOptions {
8630        google_cloud_lro::PollerOptions::default()
8631    }
8632}
8633
8634/// Defines the trait used to implement [super::client::RegionBackendServices].
8635///
8636/// Application developers may need to implement this trait to mock
8637/// `client::RegionBackendServices`.  In other use-cases, application developers only
8638/// use `client::RegionBackendServices` and need not be concerned with this trait or
8639/// its implementations.
8640///
8641/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8642/// too. To avoid breaking applications the trait provides a default
8643/// implementation of each method. Most of these implementations just return an
8644/// error.
8645#[cfg(feature = "region-backend-services")]
8646#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
8647pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
8648    /// Implements [super::client::RegionBackendServices::delete].
8649    fn delete(
8650        &self,
8651        _req: crate::model::region_backend_services::DeleteRequest,
8652        _options: crate::RequestOptions,
8653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8654    {
8655        gaxi::unimplemented::unimplemented_stub()
8656    }
8657
8658    /// Implements [super::client::RegionBackendServices::get].
8659    fn get(
8660        &self,
8661        _req: crate::model::region_backend_services::GetRequest,
8662        _options: crate::RequestOptions,
8663    ) -> impl std::future::Future<
8664        Output = crate::Result<crate::Response<crate::model::BackendService>>,
8665    > + Send {
8666        gaxi::unimplemented::unimplemented_stub()
8667    }
8668
8669    /// Implements [super::client::RegionBackendServices::get_health].
8670    fn get_health(
8671        &self,
8672        _req: crate::model::region_backend_services::GetHealthRequest,
8673        _options: crate::RequestOptions,
8674    ) -> impl std::future::Future<
8675        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
8676    > + Send {
8677        gaxi::unimplemented::unimplemented_stub()
8678    }
8679
8680    /// Implements [super::client::RegionBackendServices::get_iam_policy].
8681    fn get_iam_policy(
8682        &self,
8683        _req: crate::model::region_backend_services::GetIamPolicyRequest,
8684        _options: crate::RequestOptions,
8685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8686    {
8687        gaxi::unimplemented::unimplemented_stub()
8688    }
8689
8690    /// Implements [super::client::RegionBackendServices::insert].
8691    fn insert(
8692        &self,
8693        _req: crate::model::region_backend_services::InsertRequest,
8694        _options: crate::RequestOptions,
8695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8696    {
8697        gaxi::unimplemented::unimplemented_stub()
8698    }
8699
8700    /// Implements [super::client::RegionBackendServices::list].
8701    fn list(
8702        &self,
8703        _req: crate::model::region_backend_services::ListRequest,
8704        _options: crate::RequestOptions,
8705    ) -> impl std::future::Future<
8706        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
8707    > + Send {
8708        gaxi::unimplemented::unimplemented_stub()
8709    }
8710
8711    /// Implements [super::client::RegionBackendServices::list_usable].
8712    fn list_usable(
8713        &self,
8714        _req: crate::model::region_backend_services::ListUsableRequest,
8715        _options: crate::RequestOptions,
8716    ) -> impl std::future::Future<
8717        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
8718    > + Send {
8719        gaxi::unimplemented::unimplemented_stub()
8720    }
8721
8722    /// Implements [super::client::RegionBackendServices::patch].
8723    fn patch(
8724        &self,
8725        _req: crate::model::region_backend_services::PatchRequest,
8726        _options: crate::RequestOptions,
8727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8728    {
8729        gaxi::unimplemented::unimplemented_stub()
8730    }
8731
8732    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8733    fn set_iam_policy(
8734        &self,
8735        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8736        _options: crate::RequestOptions,
8737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8738    {
8739        gaxi::unimplemented::unimplemented_stub()
8740    }
8741
8742    /// Implements [super::client::RegionBackendServices::set_security_policy].
8743    fn set_security_policy(
8744        &self,
8745        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
8746        _options: crate::RequestOptions,
8747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8748    {
8749        gaxi::unimplemented::unimplemented_stub()
8750    }
8751
8752    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
8753    fn test_iam_permissions(
8754        &self,
8755        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
8756        _options: crate::RequestOptions,
8757    ) -> impl std::future::Future<
8758        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8759    > + Send {
8760        gaxi::unimplemented::unimplemented_stub()
8761    }
8762
8763    /// Implements [super::client::RegionBackendServices::update].
8764    fn update(
8765        &self,
8766        _req: crate::model::region_backend_services::UpdateRequest,
8767        _options: crate::RequestOptions,
8768    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8769    {
8770        gaxi::unimplemented::unimplemented_stub()
8771    }
8772
8773    /// Implements [super::client::RegionBackendServices::get_operation].
8774    fn get_operation(
8775        &self,
8776        _req: crate::model::region_operations::GetRequest,
8777        _options: crate::RequestOptions,
8778    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8779    {
8780        gaxi::unimplemented::unimplemented_stub()
8781    }
8782
8783    /// Returns the polling error policy.
8784    ///
8785    /// When mocking, this method is typically irrelevant. Do not try to verify
8786    /// it is called by your mocks.
8787    fn get_polling_error_policy(
8788        &self,
8789        _options: &crate::RequestOptions,
8790    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8791        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8792    }
8793
8794    /// Returns the polling backoff policy.
8795    ///
8796    /// When mocking, this method is typically irrelevant. Do not try to verify
8797    /// it is called by your mocks.
8798    fn get_polling_backoff_policy(
8799        &self,
8800        _options: &crate::RequestOptions,
8801    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8802        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8803    }
8804
8805    #[doc(hidden)]
8806    /// Returns the poller options.
8807    ///
8808    /// When mocking, this method is typically irrelevant. Do not try to verify
8809    /// it is called by your mocks.
8810    fn get_poller_options(
8811        &self,
8812        _options: &crate::RequestOptions,
8813    ) -> google_cloud_lro::PollerOptions {
8814        google_cloud_lro::PollerOptions::default()
8815    }
8816}
8817
8818/// Defines the trait used to implement [super::client::RegionCommitments].
8819///
8820/// Application developers may need to implement this trait to mock
8821/// `client::RegionCommitments`.  In other use-cases, application developers only
8822/// use `client::RegionCommitments` and need not be concerned with this trait or
8823/// its implementations.
8824///
8825/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8826/// too. To avoid breaking applications the trait provides a default
8827/// implementation of each method. Most of these implementations just return an
8828/// error.
8829#[cfg(feature = "region-commitments")]
8830#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
8831pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
8832    /// Implements [super::client::RegionCommitments::aggregated_list].
8833    fn aggregated_list(
8834        &self,
8835        _req: crate::model::region_commitments::AggregatedListRequest,
8836        _options: crate::RequestOptions,
8837    ) -> impl std::future::Future<
8838        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
8839    > + Send {
8840        gaxi::unimplemented::unimplemented_stub()
8841    }
8842
8843    /// Implements [super::client::RegionCommitments::get].
8844    fn get(
8845        &self,
8846        _req: crate::model::region_commitments::GetRequest,
8847        _options: crate::RequestOptions,
8848    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
8849    {
8850        gaxi::unimplemented::unimplemented_stub()
8851    }
8852
8853    /// Implements [super::client::RegionCommitments::insert].
8854    fn insert(
8855        &self,
8856        _req: crate::model::region_commitments::InsertRequest,
8857        _options: crate::RequestOptions,
8858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8859    {
8860        gaxi::unimplemented::unimplemented_stub()
8861    }
8862
8863    /// Implements [super::client::RegionCommitments::list].
8864    fn list(
8865        &self,
8866        _req: crate::model::region_commitments::ListRequest,
8867        _options: crate::RequestOptions,
8868    ) -> impl std::future::Future<
8869        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
8870    > + Send {
8871        gaxi::unimplemented::unimplemented_stub()
8872    }
8873
8874    /// Implements [super::client::RegionCommitments::update].
8875    fn update(
8876        &self,
8877        _req: crate::model::region_commitments::UpdateRequest,
8878        _options: crate::RequestOptions,
8879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8880    {
8881        gaxi::unimplemented::unimplemented_stub()
8882    }
8883
8884    /// Implements [super::client::RegionCommitments::get_operation].
8885    fn get_operation(
8886        &self,
8887        _req: crate::model::region_operations::GetRequest,
8888        _options: crate::RequestOptions,
8889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8890    {
8891        gaxi::unimplemented::unimplemented_stub()
8892    }
8893
8894    /// Returns the polling error policy.
8895    ///
8896    /// When mocking, this method is typically irrelevant. Do not try to verify
8897    /// it is called by your mocks.
8898    fn get_polling_error_policy(
8899        &self,
8900        _options: &crate::RequestOptions,
8901    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8902        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8903    }
8904
8905    /// Returns the polling backoff policy.
8906    ///
8907    /// When mocking, this method is typically irrelevant. Do not try to verify
8908    /// it is called by your mocks.
8909    fn get_polling_backoff_policy(
8910        &self,
8911        _options: &crate::RequestOptions,
8912    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8913        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8914    }
8915
8916    #[doc(hidden)]
8917    /// Returns the poller options.
8918    ///
8919    /// When mocking, this method is typically irrelevant. Do not try to verify
8920    /// it is called by your mocks.
8921    fn get_poller_options(
8922        &self,
8923        _options: &crate::RequestOptions,
8924    ) -> google_cloud_lro::PollerOptions {
8925        google_cloud_lro::PollerOptions::default()
8926    }
8927}
8928
8929/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
8930///
8931/// Application developers may need to implement this trait to mock
8932/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
8933/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
8934/// its implementations.
8935///
8936/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8937/// too. To avoid breaking applications the trait provides a default
8938/// implementation of each method. Most of these implementations just return an
8939/// error.
8940#[cfg(feature = "region-composite-health-checks")]
8941#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
8942pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
8943    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
8944    fn aggregated_list(
8945        &self,
8946        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
8947        _options: crate::RequestOptions,
8948    ) -> impl std::future::Future<
8949        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
8950    > + Send {
8951        gaxi::unimplemented::unimplemented_stub()
8952    }
8953
8954    /// Implements [super::client::RegionCompositeHealthChecks::delete].
8955    fn delete(
8956        &self,
8957        _req: crate::model::region_composite_health_checks::DeleteRequest,
8958        _options: crate::RequestOptions,
8959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8960    {
8961        gaxi::unimplemented::unimplemented_stub()
8962    }
8963
8964    /// Implements [super::client::RegionCompositeHealthChecks::get].
8965    fn get(
8966        &self,
8967        _req: crate::model::region_composite_health_checks::GetRequest,
8968        _options: crate::RequestOptions,
8969    ) -> impl std::future::Future<
8970        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
8971    > + Send {
8972        gaxi::unimplemented::unimplemented_stub()
8973    }
8974
8975    /// Implements [super::client::RegionCompositeHealthChecks::get_health].
8976    fn get_health(
8977        &self,
8978        _req: crate::model::region_composite_health_checks::GetHealthRequest,
8979        _options: crate::RequestOptions,
8980    ) -> impl std::future::Future<
8981        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckHealth>>,
8982    > + Send {
8983        gaxi::unimplemented::unimplemented_stub()
8984    }
8985
8986    /// Implements [super::client::RegionCompositeHealthChecks::insert].
8987    fn insert(
8988        &self,
8989        _req: crate::model::region_composite_health_checks::InsertRequest,
8990        _options: crate::RequestOptions,
8991    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8992    {
8993        gaxi::unimplemented::unimplemented_stub()
8994    }
8995
8996    /// Implements [super::client::RegionCompositeHealthChecks::list].
8997    fn list(
8998        &self,
8999        _req: crate::model::region_composite_health_checks::ListRequest,
9000        _options: crate::RequestOptions,
9001    ) -> impl std::future::Future<
9002        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
9003    > + Send {
9004        gaxi::unimplemented::unimplemented_stub()
9005    }
9006
9007    /// Implements [super::client::RegionCompositeHealthChecks::patch].
9008    fn patch(
9009        &self,
9010        _req: crate::model::region_composite_health_checks::PatchRequest,
9011        _options: crate::RequestOptions,
9012    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9013    {
9014        gaxi::unimplemented::unimplemented_stub()
9015    }
9016
9017    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
9018    fn test_iam_permissions(
9019        &self,
9020        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
9021        _options: crate::RequestOptions,
9022    ) -> impl std::future::Future<
9023        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9024    > + Send {
9025        gaxi::unimplemented::unimplemented_stub()
9026    }
9027
9028    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
9029    fn get_operation(
9030        &self,
9031        _req: crate::model::region_operations::GetRequest,
9032        _options: crate::RequestOptions,
9033    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9034    {
9035        gaxi::unimplemented::unimplemented_stub()
9036    }
9037
9038    /// Returns the polling error policy.
9039    ///
9040    /// When mocking, this method is typically irrelevant. Do not try to verify
9041    /// it is called by your mocks.
9042    fn get_polling_error_policy(
9043        &self,
9044        _options: &crate::RequestOptions,
9045    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9046        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9047    }
9048
9049    /// Returns the polling backoff policy.
9050    ///
9051    /// When mocking, this method is typically irrelevant. Do not try to verify
9052    /// it is called by your mocks.
9053    fn get_polling_backoff_policy(
9054        &self,
9055        _options: &crate::RequestOptions,
9056    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9057        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9058    }
9059
9060    #[doc(hidden)]
9061    /// Returns the poller options.
9062    ///
9063    /// When mocking, this method is typically irrelevant. Do not try to verify
9064    /// it is called by your mocks.
9065    fn get_poller_options(
9066        &self,
9067        _options: &crate::RequestOptions,
9068    ) -> google_cloud_lro::PollerOptions {
9069        google_cloud_lro::PollerOptions::default()
9070    }
9071}
9072
9073/// Defines the trait used to implement [super::client::RegionDiskTypes].
9074///
9075/// Application developers may need to implement this trait to mock
9076/// `client::RegionDiskTypes`.  In other use-cases, application developers only
9077/// use `client::RegionDiskTypes` and need not be concerned with this trait or
9078/// its implementations.
9079///
9080/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9081/// too. To avoid breaking applications the trait provides a default
9082/// implementation of each method. Most of these implementations just return an
9083/// error.
9084#[cfg(feature = "region-disk-types")]
9085#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
9086pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
9087    /// Implements [super::client::RegionDiskTypes::get].
9088    fn get(
9089        &self,
9090        _req: crate::model::region_disk_types::GetRequest,
9091        _options: crate::RequestOptions,
9092    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
9093    {
9094        gaxi::unimplemented::unimplemented_stub()
9095    }
9096
9097    /// Implements [super::client::RegionDiskTypes::list].
9098    fn list(
9099        &self,
9100        _req: crate::model::region_disk_types::ListRequest,
9101        _options: crate::RequestOptions,
9102    ) -> impl std::future::Future<
9103        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
9104    > + Send {
9105        gaxi::unimplemented::unimplemented_stub()
9106    }
9107}
9108
9109/// Defines the trait used to implement [super::client::RegionDisks].
9110///
9111/// Application developers may need to implement this trait to mock
9112/// `client::RegionDisks`.  In other use-cases, application developers only
9113/// use `client::RegionDisks` and need not be concerned with this trait or
9114/// its implementations.
9115///
9116/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9117/// too. To avoid breaking applications the trait provides a default
9118/// implementation of each method. Most of these implementations just return an
9119/// error.
9120#[cfg(feature = "region-disks")]
9121#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
9122pub trait RegionDisks: std::fmt::Debug + Send + Sync {
9123    /// Implements [super::client::RegionDisks::add_resource_policies].
9124    fn add_resource_policies(
9125        &self,
9126        _req: crate::model::region_disks::AddResourcePoliciesRequest,
9127        _options: crate::RequestOptions,
9128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9129    {
9130        gaxi::unimplemented::unimplemented_stub()
9131    }
9132
9133    /// Implements [super::client::RegionDisks::bulk_insert].
9134    fn bulk_insert(
9135        &self,
9136        _req: crate::model::region_disks::BulkInsertRequest,
9137        _options: crate::RequestOptions,
9138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9139    {
9140        gaxi::unimplemented::unimplemented_stub()
9141    }
9142
9143    /// Implements [super::client::RegionDisks::create_snapshot].
9144    fn create_snapshot(
9145        &self,
9146        _req: crate::model::region_disks::CreateSnapshotRequest,
9147        _options: crate::RequestOptions,
9148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9149    {
9150        gaxi::unimplemented::unimplemented_stub()
9151    }
9152
9153    /// Implements [super::client::RegionDisks::delete].
9154    fn delete(
9155        &self,
9156        _req: crate::model::region_disks::DeleteRequest,
9157        _options: crate::RequestOptions,
9158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9159    {
9160        gaxi::unimplemented::unimplemented_stub()
9161    }
9162
9163    /// Implements [super::client::RegionDisks::get].
9164    fn get(
9165        &self,
9166        _req: crate::model::region_disks::GetRequest,
9167        _options: crate::RequestOptions,
9168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
9169    {
9170        gaxi::unimplemented::unimplemented_stub()
9171    }
9172
9173    /// Implements [super::client::RegionDisks::get_iam_policy].
9174    fn get_iam_policy(
9175        &self,
9176        _req: crate::model::region_disks::GetIamPolicyRequest,
9177        _options: crate::RequestOptions,
9178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9179    {
9180        gaxi::unimplemented::unimplemented_stub()
9181    }
9182
9183    /// Implements [super::client::RegionDisks::insert].
9184    fn insert(
9185        &self,
9186        _req: crate::model::region_disks::InsertRequest,
9187        _options: crate::RequestOptions,
9188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9189    {
9190        gaxi::unimplemented::unimplemented_stub()
9191    }
9192
9193    /// Implements [super::client::RegionDisks::list].
9194    fn list(
9195        &self,
9196        _req: crate::model::region_disks::ListRequest,
9197        _options: crate::RequestOptions,
9198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
9199    {
9200        gaxi::unimplemented::unimplemented_stub()
9201    }
9202
9203    /// Implements [super::client::RegionDisks::remove_resource_policies].
9204    fn remove_resource_policies(
9205        &self,
9206        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
9207        _options: crate::RequestOptions,
9208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9209    {
9210        gaxi::unimplemented::unimplemented_stub()
9211    }
9212
9213    /// Implements [super::client::RegionDisks::resize].
9214    fn resize(
9215        &self,
9216        _req: crate::model::region_disks::ResizeRequest,
9217        _options: crate::RequestOptions,
9218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9219    {
9220        gaxi::unimplemented::unimplemented_stub()
9221    }
9222
9223    /// Implements [super::client::RegionDisks::set_iam_policy].
9224    fn set_iam_policy(
9225        &self,
9226        _req: crate::model::region_disks::SetIamPolicyRequest,
9227        _options: crate::RequestOptions,
9228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9229    {
9230        gaxi::unimplemented::unimplemented_stub()
9231    }
9232
9233    /// Implements [super::client::RegionDisks::set_labels].
9234    fn set_labels(
9235        &self,
9236        _req: crate::model::region_disks::SetLabelsRequest,
9237        _options: crate::RequestOptions,
9238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9239    {
9240        gaxi::unimplemented::unimplemented_stub()
9241    }
9242
9243    /// Implements [super::client::RegionDisks::start_async_replication].
9244    fn start_async_replication(
9245        &self,
9246        _req: crate::model::region_disks::StartAsyncReplicationRequest,
9247        _options: crate::RequestOptions,
9248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9249    {
9250        gaxi::unimplemented::unimplemented_stub()
9251    }
9252
9253    /// Implements [super::client::RegionDisks::stop_async_replication].
9254    fn stop_async_replication(
9255        &self,
9256        _req: crate::model::region_disks::StopAsyncReplicationRequest,
9257        _options: crate::RequestOptions,
9258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9259    {
9260        gaxi::unimplemented::unimplemented_stub()
9261    }
9262
9263    /// Implements [super::client::RegionDisks::stop_group_async_replication].
9264    fn stop_group_async_replication(
9265        &self,
9266        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
9267        _options: crate::RequestOptions,
9268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9269    {
9270        gaxi::unimplemented::unimplemented_stub()
9271    }
9272
9273    /// Implements [super::client::RegionDisks::test_iam_permissions].
9274    fn test_iam_permissions(
9275        &self,
9276        _req: crate::model::region_disks::TestIamPermissionsRequest,
9277        _options: crate::RequestOptions,
9278    ) -> impl std::future::Future<
9279        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9280    > + Send {
9281        gaxi::unimplemented::unimplemented_stub()
9282    }
9283
9284    /// Implements [super::client::RegionDisks::update].
9285    fn update(
9286        &self,
9287        _req: crate::model::region_disks::UpdateRequest,
9288        _options: crate::RequestOptions,
9289    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9290    {
9291        gaxi::unimplemented::unimplemented_stub()
9292    }
9293
9294    /// Implements [super::client::RegionDisks::update_kms_key].
9295    fn update_kms_key(
9296        &self,
9297        _req: crate::model::region_disks::UpdateKmsKeyRequest,
9298        _options: crate::RequestOptions,
9299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9300    {
9301        gaxi::unimplemented::unimplemented_stub()
9302    }
9303
9304    /// Implements [super::client::RegionDisks::get_operation].
9305    fn get_operation(
9306        &self,
9307        _req: crate::model::region_operations::GetRequest,
9308        _options: crate::RequestOptions,
9309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9310    {
9311        gaxi::unimplemented::unimplemented_stub()
9312    }
9313
9314    /// Returns the polling error policy.
9315    ///
9316    /// When mocking, this method is typically irrelevant. Do not try to verify
9317    /// it is called by your mocks.
9318    fn get_polling_error_policy(
9319        &self,
9320        _options: &crate::RequestOptions,
9321    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9322        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9323    }
9324
9325    /// Returns the polling backoff policy.
9326    ///
9327    /// When mocking, this method is typically irrelevant. Do not try to verify
9328    /// it is called by your mocks.
9329    fn get_polling_backoff_policy(
9330        &self,
9331        _options: &crate::RequestOptions,
9332    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9333        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9334    }
9335
9336    #[doc(hidden)]
9337    /// Returns the poller options.
9338    ///
9339    /// When mocking, this method is typically irrelevant. Do not try to verify
9340    /// it is called by your mocks.
9341    fn get_poller_options(
9342        &self,
9343        _options: &crate::RequestOptions,
9344    ) -> google_cloud_lro::PollerOptions {
9345        google_cloud_lro::PollerOptions::default()
9346    }
9347}
9348
9349/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
9350///
9351/// Application developers may need to implement this trait to mock
9352/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
9353/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
9354/// its implementations.
9355///
9356/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9357/// too. To avoid breaking applications the trait provides a default
9358/// implementation of each method. Most of these implementations just return an
9359/// error.
9360#[cfg(feature = "region-health-aggregation-policies")]
9361#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
9362pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
9363    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
9364    fn aggregated_list(
9365        &self,
9366        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
9367        _options: crate::RequestOptions,
9368    ) -> impl std::future::Future<
9369        Output = crate::Result<
9370            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
9371        >,
9372    > + Send {
9373        gaxi::unimplemented::unimplemented_stub()
9374    }
9375
9376    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
9377    fn delete(
9378        &self,
9379        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
9380        _options: crate::RequestOptions,
9381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9382    {
9383        gaxi::unimplemented::unimplemented_stub()
9384    }
9385
9386    /// Implements [super::client::RegionHealthAggregationPolicies::get].
9387    fn get(
9388        &self,
9389        _req: crate::model::region_health_aggregation_policies::GetRequest,
9390        _options: crate::RequestOptions,
9391    ) -> impl std::future::Future<
9392        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
9393    > + Send {
9394        gaxi::unimplemented::unimplemented_stub()
9395    }
9396
9397    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
9398    fn insert(
9399        &self,
9400        _req: crate::model::region_health_aggregation_policies::InsertRequest,
9401        _options: crate::RequestOptions,
9402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9403    {
9404        gaxi::unimplemented::unimplemented_stub()
9405    }
9406
9407    /// Implements [super::client::RegionHealthAggregationPolicies::list].
9408    fn list(
9409        &self,
9410        _req: crate::model::region_health_aggregation_policies::ListRequest,
9411        _options: crate::RequestOptions,
9412    ) -> impl std::future::Future<
9413        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
9414    > + Send {
9415        gaxi::unimplemented::unimplemented_stub()
9416    }
9417
9418    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
9419    fn patch(
9420        &self,
9421        _req: crate::model::region_health_aggregation_policies::PatchRequest,
9422        _options: crate::RequestOptions,
9423    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9424    {
9425        gaxi::unimplemented::unimplemented_stub()
9426    }
9427
9428    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
9429    fn test_iam_permissions(
9430        &self,
9431        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
9432        _options: crate::RequestOptions,
9433    ) -> impl std::future::Future<
9434        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9435    > + Send {
9436        gaxi::unimplemented::unimplemented_stub()
9437    }
9438
9439    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
9440    fn get_operation(
9441        &self,
9442        _req: crate::model::region_operations::GetRequest,
9443        _options: crate::RequestOptions,
9444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9445    {
9446        gaxi::unimplemented::unimplemented_stub()
9447    }
9448
9449    /// Returns the polling error policy.
9450    ///
9451    /// When mocking, this method is typically irrelevant. Do not try to verify
9452    /// it is called by your mocks.
9453    fn get_polling_error_policy(
9454        &self,
9455        _options: &crate::RequestOptions,
9456    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9457        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9458    }
9459
9460    /// Returns the polling backoff policy.
9461    ///
9462    /// When mocking, this method is typically irrelevant. Do not try to verify
9463    /// it is called by your mocks.
9464    fn get_polling_backoff_policy(
9465        &self,
9466        _options: &crate::RequestOptions,
9467    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9468        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9469    }
9470
9471    #[doc(hidden)]
9472    /// Returns the poller options.
9473    ///
9474    /// When mocking, this method is typically irrelevant. Do not try to verify
9475    /// it is called by your mocks.
9476    fn get_poller_options(
9477        &self,
9478        _options: &crate::RequestOptions,
9479    ) -> google_cloud_lro::PollerOptions {
9480        google_cloud_lro::PollerOptions::default()
9481    }
9482}
9483
9484/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
9485///
9486/// Application developers may need to implement this trait to mock
9487/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
9488/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
9489/// its implementations.
9490///
9491/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9492/// too. To avoid breaking applications the trait provides a default
9493/// implementation of each method. Most of these implementations just return an
9494/// error.
9495#[cfg(feature = "region-health-check-services")]
9496#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
9497pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
9498    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
9499    fn aggregated_list(
9500        &self,
9501        _req: crate::model::region_health_check_services::AggregatedListRequest,
9502        _options: crate::RequestOptions,
9503    ) -> impl std::future::Future<
9504        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
9505    > + Send {
9506        gaxi::unimplemented::unimplemented_stub()
9507    }
9508
9509    /// Implements [super::client::RegionHealthCheckServices::delete].
9510    fn delete(
9511        &self,
9512        _req: crate::model::region_health_check_services::DeleteRequest,
9513        _options: crate::RequestOptions,
9514    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9515    {
9516        gaxi::unimplemented::unimplemented_stub()
9517    }
9518
9519    /// Implements [super::client::RegionHealthCheckServices::get].
9520    fn get(
9521        &self,
9522        _req: crate::model::region_health_check_services::GetRequest,
9523        _options: crate::RequestOptions,
9524    ) -> impl std::future::Future<
9525        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
9526    > + Send {
9527        gaxi::unimplemented::unimplemented_stub()
9528    }
9529
9530    /// Implements [super::client::RegionHealthCheckServices::insert].
9531    fn insert(
9532        &self,
9533        _req: crate::model::region_health_check_services::InsertRequest,
9534        _options: crate::RequestOptions,
9535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9536    {
9537        gaxi::unimplemented::unimplemented_stub()
9538    }
9539
9540    /// Implements [super::client::RegionHealthCheckServices::list].
9541    fn list(
9542        &self,
9543        _req: crate::model::region_health_check_services::ListRequest,
9544        _options: crate::RequestOptions,
9545    ) -> impl std::future::Future<
9546        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
9547    > + Send {
9548        gaxi::unimplemented::unimplemented_stub()
9549    }
9550
9551    /// Implements [super::client::RegionHealthCheckServices::patch].
9552    fn patch(
9553        &self,
9554        _req: crate::model::region_health_check_services::PatchRequest,
9555        _options: crate::RequestOptions,
9556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9557    {
9558        gaxi::unimplemented::unimplemented_stub()
9559    }
9560
9561    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
9562    fn test_iam_permissions(
9563        &self,
9564        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
9565        _options: crate::RequestOptions,
9566    ) -> impl std::future::Future<
9567        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9568    > + Send {
9569        gaxi::unimplemented::unimplemented_stub()
9570    }
9571
9572    /// Implements [super::client::RegionHealthCheckServices::get_operation].
9573    fn get_operation(
9574        &self,
9575        _req: crate::model::region_operations::GetRequest,
9576        _options: crate::RequestOptions,
9577    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9578    {
9579        gaxi::unimplemented::unimplemented_stub()
9580    }
9581
9582    /// Returns the polling error policy.
9583    ///
9584    /// When mocking, this method is typically irrelevant. Do not try to verify
9585    /// it is called by your mocks.
9586    fn get_polling_error_policy(
9587        &self,
9588        _options: &crate::RequestOptions,
9589    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9590        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9591    }
9592
9593    /// Returns the polling backoff policy.
9594    ///
9595    /// When mocking, this method is typically irrelevant. Do not try to verify
9596    /// it is called by your mocks.
9597    fn get_polling_backoff_policy(
9598        &self,
9599        _options: &crate::RequestOptions,
9600    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9601        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9602    }
9603
9604    #[doc(hidden)]
9605    /// Returns the poller options.
9606    ///
9607    /// When mocking, this method is typically irrelevant. Do not try to verify
9608    /// it is called by your mocks.
9609    fn get_poller_options(
9610        &self,
9611        _options: &crate::RequestOptions,
9612    ) -> google_cloud_lro::PollerOptions {
9613        google_cloud_lro::PollerOptions::default()
9614    }
9615}
9616
9617/// Defines the trait used to implement [super::client::RegionHealthChecks].
9618///
9619/// Application developers may need to implement this trait to mock
9620/// `client::RegionHealthChecks`.  In other use-cases, application developers only
9621/// use `client::RegionHealthChecks` and need not be concerned with this trait or
9622/// its implementations.
9623///
9624/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9625/// too. To avoid breaking applications the trait provides a default
9626/// implementation of each method. Most of these implementations just return an
9627/// error.
9628#[cfg(feature = "region-health-checks")]
9629#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
9630pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
9631    /// Implements [super::client::RegionHealthChecks::delete].
9632    fn delete(
9633        &self,
9634        _req: crate::model::region_health_checks::DeleteRequest,
9635        _options: crate::RequestOptions,
9636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9637    {
9638        gaxi::unimplemented::unimplemented_stub()
9639    }
9640
9641    /// Implements [super::client::RegionHealthChecks::get].
9642    fn get(
9643        &self,
9644        _req: crate::model::region_health_checks::GetRequest,
9645        _options: crate::RequestOptions,
9646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
9647    + Send {
9648        gaxi::unimplemented::unimplemented_stub()
9649    }
9650
9651    /// Implements [super::client::RegionHealthChecks::insert].
9652    fn insert(
9653        &self,
9654        _req: crate::model::region_health_checks::InsertRequest,
9655        _options: crate::RequestOptions,
9656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9657    {
9658        gaxi::unimplemented::unimplemented_stub()
9659    }
9660
9661    /// Implements [super::client::RegionHealthChecks::list].
9662    fn list(
9663        &self,
9664        _req: crate::model::region_health_checks::ListRequest,
9665        _options: crate::RequestOptions,
9666    ) -> impl std::future::Future<
9667        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
9668    > + Send {
9669        gaxi::unimplemented::unimplemented_stub()
9670    }
9671
9672    /// Implements [super::client::RegionHealthChecks::patch].
9673    fn patch(
9674        &self,
9675        _req: crate::model::region_health_checks::PatchRequest,
9676        _options: crate::RequestOptions,
9677    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9678    {
9679        gaxi::unimplemented::unimplemented_stub()
9680    }
9681
9682    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
9683    fn test_iam_permissions(
9684        &self,
9685        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
9686        _options: crate::RequestOptions,
9687    ) -> impl std::future::Future<
9688        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9689    > + Send {
9690        gaxi::unimplemented::unimplemented_stub()
9691    }
9692
9693    /// Implements [super::client::RegionHealthChecks::update].
9694    fn update(
9695        &self,
9696        _req: crate::model::region_health_checks::UpdateRequest,
9697        _options: crate::RequestOptions,
9698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9699    {
9700        gaxi::unimplemented::unimplemented_stub()
9701    }
9702
9703    /// Implements [super::client::RegionHealthChecks::get_operation].
9704    fn get_operation(
9705        &self,
9706        _req: crate::model::region_operations::GetRequest,
9707        _options: crate::RequestOptions,
9708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9709    {
9710        gaxi::unimplemented::unimplemented_stub()
9711    }
9712
9713    /// Returns the polling error policy.
9714    ///
9715    /// When mocking, this method is typically irrelevant. Do not try to verify
9716    /// it is called by your mocks.
9717    fn get_polling_error_policy(
9718        &self,
9719        _options: &crate::RequestOptions,
9720    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9721        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9722    }
9723
9724    /// Returns the polling backoff policy.
9725    ///
9726    /// When mocking, this method is typically irrelevant. Do not try to verify
9727    /// it is called by your mocks.
9728    fn get_polling_backoff_policy(
9729        &self,
9730        _options: &crate::RequestOptions,
9731    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9732        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9733    }
9734
9735    #[doc(hidden)]
9736    /// Returns the poller options.
9737    ///
9738    /// When mocking, this method is typically irrelevant. Do not try to verify
9739    /// it is called by your mocks.
9740    fn get_poller_options(
9741        &self,
9742        _options: &crate::RequestOptions,
9743    ) -> google_cloud_lro::PollerOptions {
9744        google_cloud_lro::PollerOptions::default()
9745    }
9746}
9747
9748/// Defines the trait used to implement [super::client::RegionHealthSources].
9749///
9750/// Application developers may need to implement this trait to mock
9751/// `client::RegionHealthSources`.  In other use-cases, application developers only
9752/// use `client::RegionHealthSources` and need not be concerned with this trait or
9753/// its implementations.
9754///
9755/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9756/// too. To avoid breaking applications the trait provides a default
9757/// implementation of each method. Most of these implementations just return an
9758/// error.
9759#[cfg(feature = "region-health-sources")]
9760#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
9761pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
9762    /// Implements [super::client::RegionHealthSources::aggregated_list].
9763    fn aggregated_list(
9764        &self,
9765        _req: crate::model::region_health_sources::AggregatedListRequest,
9766        _options: crate::RequestOptions,
9767    ) -> impl std::future::Future<
9768        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
9769    > + Send {
9770        gaxi::unimplemented::unimplemented_stub()
9771    }
9772
9773    /// Implements [super::client::RegionHealthSources::delete].
9774    fn delete(
9775        &self,
9776        _req: crate::model::region_health_sources::DeleteRequest,
9777        _options: crate::RequestOptions,
9778    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9779    {
9780        gaxi::unimplemented::unimplemented_stub()
9781    }
9782
9783    /// Implements [super::client::RegionHealthSources::get].
9784    fn get(
9785        &self,
9786        _req: crate::model::region_health_sources::GetRequest,
9787        _options: crate::RequestOptions,
9788    ) -> impl std::future::Future<
9789        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
9790    > + Send {
9791        gaxi::unimplemented::unimplemented_stub()
9792    }
9793
9794    /// Implements [super::client::RegionHealthSources::get_health].
9795    fn get_health(
9796        &self,
9797        _req: crate::model::region_health_sources::GetHealthRequest,
9798        _options: crate::RequestOptions,
9799    ) -> impl std::future::Future<
9800        Output = crate::Result<crate::Response<crate::model::HealthSourceHealth>>,
9801    > + Send {
9802        gaxi::unimplemented::unimplemented_stub()
9803    }
9804
9805    /// Implements [super::client::RegionHealthSources::insert].
9806    fn insert(
9807        &self,
9808        _req: crate::model::region_health_sources::InsertRequest,
9809        _options: crate::RequestOptions,
9810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9811    {
9812        gaxi::unimplemented::unimplemented_stub()
9813    }
9814
9815    /// Implements [super::client::RegionHealthSources::list].
9816    fn list(
9817        &self,
9818        _req: crate::model::region_health_sources::ListRequest,
9819        _options: crate::RequestOptions,
9820    ) -> impl std::future::Future<
9821        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
9822    > + Send {
9823        gaxi::unimplemented::unimplemented_stub()
9824    }
9825
9826    /// Implements [super::client::RegionHealthSources::patch].
9827    fn patch(
9828        &self,
9829        _req: crate::model::region_health_sources::PatchRequest,
9830        _options: crate::RequestOptions,
9831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9832    {
9833        gaxi::unimplemented::unimplemented_stub()
9834    }
9835
9836    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
9837    fn test_iam_permissions(
9838        &self,
9839        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
9840        _options: crate::RequestOptions,
9841    ) -> impl std::future::Future<
9842        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9843    > + Send {
9844        gaxi::unimplemented::unimplemented_stub()
9845    }
9846
9847    /// Implements [super::client::RegionHealthSources::get_operation].
9848    fn get_operation(
9849        &self,
9850        _req: crate::model::region_operations::GetRequest,
9851        _options: crate::RequestOptions,
9852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9853    {
9854        gaxi::unimplemented::unimplemented_stub()
9855    }
9856
9857    /// Returns the polling error policy.
9858    ///
9859    /// When mocking, this method is typically irrelevant. Do not try to verify
9860    /// it is called by your mocks.
9861    fn get_polling_error_policy(
9862        &self,
9863        _options: &crate::RequestOptions,
9864    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9865        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9866    }
9867
9868    /// Returns the polling backoff policy.
9869    ///
9870    /// When mocking, this method is typically irrelevant. Do not try to verify
9871    /// it is called by your mocks.
9872    fn get_polling_backoff_policy(
9873        &self,
9874        _options: &crate::RequestOptions,
9875    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9876        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9877    }
9878
9879    #[doc(hidden)]
9880    /// Returns the poller options.
9881    ///
9882    /// When mocking, this method is typically irrelevant. Do not try to verify
9883    /// it is called by your mocks.
9884    fn get_poller_options(
9885        &self,
9886        _options: &crate::RequestOptions,
9887    ) -> google_cloud_lro::PollerOptions {
9888        google_cloud_lro::PollerOptions::default()
9889    }
9890}
9891
9892/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
9893///
9894/// Application developers may need to implement this trait to mock
9895/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
9896/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
9897/// its implementations.
9898///
9899/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9900/// too. To avoid breaking applications the trait provides a default
9901/// implementation of each method. Most of these implementations just return an
9902/// error.
9903#[cfg(feature = "region-instance-group-manager-resize-requests")]
9904#[cfg_attr(
9905    docsrs,
9906    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
9907)]
9908pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
9909    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
9910    fn cancel(
9911        &self,
9912        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
9913        _options: crate::RequestOptions,
9914    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9915    {
9916        gaxi::unimplemented::unimplemented_stub()
9917    }
9918
9919    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
9920    fn delete(
9921        &self,
9922        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
9923        _options: crate::RequestOptions,
9924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9925    {
9926        gaxi::unimplemented::unimplemented_stub()
9927    }
9928
9929    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
9930    fn get(
9931        &self,
9932        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
9933        _options: crate::RequestOptions,
9934    ) -> impl std::future::Future<
9935        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
9936    > + Send {
9937        gaxi::unimplemented::unimplemented_stub()
9938    }
9939
9940    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
9941    fn insert(
9942        &self,
9943        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
9944        _options: crate::RequestOptions,
9945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9946    {
9947        gaxi::unimplemented::unimplemented_stub()
9948    }
9949
9950    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::list].
9951    fn list(
9952        &self,
9953        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
9954        _options: crate::RequestOptions,
9955    ) -> impl std::future::Future<
9956        Output = crate::Result<
9957            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
9958        >,
9959    > + Send {
9960        gaxi::unimplemented::unimplemented_stub()
9961    }
9962
9963    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
9964    fn get_operation(
9965        &self,
9966        _req: crate::model::region_operations::GetRequest,
9967        _options: crate::RequestOptions,
9968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9969    {
9970        gaxi::unimplemented::unimplemented_stub()
9971    }
9972
9973    /// Returns the polling error policy.
9974    ///
9975    /// When mocking, this method is typically irrelevant. Do not try to verify
9976    /// it is called by your mocks.
9977    fn get_polling_error_policy(
9978        &self,
9979        _options: &crate::RequestOptions,
9980    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9981        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9982    }
9983
9984    /// Returns the polling backoff policy.
9985    ///
9986    /// When mocking, this method is typically irrelevant. Do not try to verify
9987    /// it is called by your mocks.
9988    fn get_polling_backoff_policy(
9989        &self,
9990        _options: &crate::RequestOptions,
9991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9992        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9993    }
9994
9995    #[doc(hidden)]
9996    /// Returns the poller options.
9997    ///
9998    /// When mocking, this method is typically irrelevant. Do not try to verify
9999    /// it is called by your mocks.
10000    fn get_poller_options(
10001        &self,
10002        _options: &crate::RequestOptions,
10003    ) -> google_cloud_lro::PollerOptions {
10004        google_cloud_lro::PollerOptions::default()
10005    }
10006}
10007
10008/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
10009///
10010/// Application developers may need to implement this trait to mock
10011/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
10012/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
10013/// its implementations.
10014///
10015/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10016/// too. To avoid breaking applications the trait provides a default
10017/// implementation of each method. Most of these implementations just return an
10018/// error.
10019#[cfg(feature = "region-instance-group-managers")]
10020#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
10021pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
10022    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
10023    fn abandon_instances(
10024        &self,
10025        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
10026        _options: crate::RequestOptions,
10027    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10028    {
10029        gaxi::unimplemented::unimplemented_stub()
10030    }
10031
10032    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
10033    fn apply_updates_to_instances(
10034        &self,
10035        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
10036        _options: crate::RequestOptions,
10037    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10038    {
10039        gaxi::unimplemented::unimplemented_stub()
10040    }
10041
10042    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
10043    fn create_instances(
10044        &self,
10045        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
10046        _options: crate::RequestOptions,
10047    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10048    {
10049        gaxi::unimplemented::unimplemented_stub()
10050    }
10051
10052    /// Implements [super::client::RegionInstanceGroupManagers::delete].
10053    fn delete(
10054        &self,
10055        _req: crate::model::region_instance_group_managers::DeleteRequest,
10056        _options: crate::RequestOptions,
10057    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10058    {
10059        gaxi::unimplemented::unimplemented_stub()
10060    }
10061
10062    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
10063    fn delete_instances(
10064        &self,
10065        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
10066        _options: crate::RequestOptions,
10067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10068    {
10069        gaxi::unimplemented::unimplemented_stub()
10070    }
10071
10072    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
10073    fn delete_per_instance_configs(
10074        &self,
10075        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
10076        _options: crate::RequestOptions,
10077    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10078    {
10079        gaxi::unimplemented::unimplemented_stub()
10080    }
10081
10082    /// Implements [super::client::RegionInstanceGroupManagers::get].
10083    fn get(
10084        &self,
10085        _req: crate::model::region_instance_group_managers::GetRequest,
10086        _options: crate::RequestOptions,
10087    ) -> impl std::future::Future<
10088        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
10089    > + Send {
10090        gaxi::unimplemented::unimplemented_stub()
10091    }
10092
10093    /// Implements [super::client::RegionInstanceGroupManagers::insert].
10094    fn insert(
10095        &self,
10096        _req: crate::model::region_instance_group_managers::InsertRequest,
10097        _options: crate::RequestOptions,
10098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10099    {
10100        gaxi::unimplemented::unimplemented_stub()
10101    }
10102
10103    /// Implements [super::client::RegionInstanceGroupManagers::list].
10104    fn list(
10105        &self,
10106        _req: crate::model::region_instance_group_managers::ListRequest,
10107        _options: crate::RequestOptions,
10108    ) -> impl std::future::Future<
10109        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
10110    > + Send {
10111        gaxi::unimplemented::unimplemented_stub()
10112    }
10113
10114    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
10115    fn list_errors(
10116        &self,
10117        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
10118        _options: crate::RequestOptions,
10119    ) -> impl std::future::Future<
10120        Output = crate::Result<
10121            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
10122        >,
10123    > + Send {
10124        gaxi::unimplemented::unimplemented_stub()
10125    }
10126
10127    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
10128    fn list_managed_instances(
10129        &self,
10130        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
10131        _options: crate::RequestOptions,
10132    ) -> impl std::future::Future<
10133        Output = crate::Result<
10134            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
10135        >,
10136    > + Send {
10137        gaxi::unimplemented::unimplemented_stub()
10138    }
10139
10140    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
10141    fn list_per_instance_configs(
10142        &self,
10143        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
10144        _options: crate::RequestOptions,
10145    ) -> impl std::future::Future<
10146        Output = crate::Result<
10147            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
10148        >,
10149    > + Send {
10150        gaxi::unimplemented::unimplemented_stub()
10151    }
10152
10153    /// Implements [super::client::RegionInstanceGroupManagers::patch].
10154    fn patch(
10155        &self,
10156        _req: crate::model::region_instance_group_managers::PatchRequest,
10157        _options: crate::RequestOptions,
10158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10159    {
10160        gaxi::unimplemented::unimplemented_stub()
10161    }
10162
10163    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
10164    fn patch_per_instance_configs(
10165        &self,
10166        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
10167        _options: crate::RequestOptions,
10168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10169    {
10170        gaxi::unimplemented::unimplemented_stub()
10171    }
10172
10173    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
10174    fn recreate_instances(
10175        &self,
10176        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
10177        _options: crate::RequestOptions,
10178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10179    {
10180        gaxi::unimplemented::unimplemented_stub()
10181    }
10182
10183    /// Implements [super::client::RegionInstanceGroupManagers::resize].
10184    fn resize(
10185        &self,
10186        _req: crate::model::region_instance_group_managers::ResizeRequest,
10187        _options: crate::RequestOptions,
10188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10189    {
10190        gaxi::unimplemented::unimplemented_stub()
10191    }
10192
10193    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
10194    fn resume_instances(
10195        &self,
10196        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
10197        _options: crate::RequestOptions,
10198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10199    {
10200        gaxi::unimplemented::unimplemented_stub()
10201    }
10202
10203    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
10204    fn set_instance_template(
10205        &self,
10206        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
10207        _options: crate::RequestOptions,
10208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10209    {
10210        gaxi::unimplemented::unimplemented_stub()
10211    }
10212
10213    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
10214    fn set_target_pools(
10215        &self,
10216        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
10217        _options: crate::RequestOptions,
10218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10219    {
10220        gaxi::unimplemented::unimplemented_stub()
10221    }
10222
10223    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
10224    fn start_instances(
10225        &self,
10226        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
10227        _options: crate::RequestOptions,
10228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10229    {
10230        gaxi::unimplemented::unimplemented_stub()
10231    }
10232
10233    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
10234    fn stop_instances(
10235        &self,
10236        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
10237        _options: crate::RequestOptions,
10238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10239    {
10240        gaxi::unimplemented::unimplemented_stub()
10241    }
10242
10243    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
10244    fn suspend_instances(
10245        &self,
10246        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
10247        _options: crate::RequestOptions,
10248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10249    {
10250        gaxi::unimplemented::unimplemented_stub()
10251    }
10252
10253    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
10254    fn update_per_instance_configs(
10255        &self,
10256        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
10257        _options: crate::RequestOptions,
10258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10259    {
10260        gaxi::unimplemented::unimplemented_stub()
10261    }
10262
10263    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
10264    fn get_operation(
10265        &self,
10266        _req: crate::model::region_operations::GetRequest,
10267        _options: crate::RequestOptions,
10268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10269    {
10270        gaxi::unimplemented::unimplemented_stub()
10271    }
10272
10273    /// Returns the polling error policy.
10274    ///
10275    /// When mocking, this method is typically irrelevant. Do not try to verify
10276    /// it is called by your mocks.
10277    fn get_polling_error_policy(
10278        &self,
10279        _options: &crate::RequestOptions,
10280    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10281        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10282    }
10283
10284    /// Returns the polling backoff policy.
10285    ///
10286    /// When mocking, this method is typically irrelevant. Do not try to verify
10287    /// it is called by your mocks.
10288    fn get_polling_backoff_policy(
10289        &self,
10290        _options: &crate::RequestOptions,
10291    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10292        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10293    }
10294
10295    #[doc(hidden)]
10296    /// Returns the poller options.
10297    ///
10298    /// When mocking, this method is typically irrelevant. Do not try to verify
10299    /// it is called by your mocks.
10300    fn get_poller_options(
10301        &self,
10302        _options: &crate::RequestOptions,
10303    ) -> google_cloud_lro::PollerOptions {
10304        google_cloud_lro::PollerOptions::default()
10305    }
10306}
10307
10308/// Defines the trait used to implement [super::client::RegionInstanceGroups].
10309///
10310/// Application developers may need to implement this trait to mock
10311/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
10312/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
10313/// its implementations.
10314///
10315/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10316/// too. To avoid breaking applications the trait provides a default
10317/// implementation of each method. Most of these implementations just return an
10318/// error.
10319#[cfg(feature = "region-instance-groups")]
10320#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
10321pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
10322    /// Implements [super::client::RegionInstanceGroups::get].
10323    fn get(
10324        &self,
10325        _req: crate::model::region_instance_groups::GetRequest,
10326        _options: crate::RequestOptions,
10327    ) -> impl std::future::Future<
10328        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
10329    > + Send {
10330        gaxi::unimplemented::unimplemented_stub()
10331    }
10332
10333    /// Implements [super::client::RegionInstanceGroups::list].
10334    fn list(
10335        &self,
10336        _req: crate::model::region_instance_groups::ListRequest,
10337        _options: crate::RequestOptions,
10338    ) -> impl std::future::Future<
10339        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
10340    > + Send {
10341        gaxi::unimplemented::unimplemented_stub()
10342    }
10343
10344    /// Implements [super::client::RegionInstanceGroups::list_instances].
10345    fn list_instances(
10346        &self,
10347        _req: crate::model::region_instance_groups::ListInstancesRequest,
10348        _options: crate::RequestOptions,
10349    ) -> impl std::future::Future<
10350        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
10351    > + Send {
10352        gaxi::unimplemented::unimplemented_stub()
10353    }
10354
10355    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
10356    fn set_named_ports(
10357        &self,
10358        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
10359        _options: crate::RequestOptions,
10360    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10361    {
10362        gaxi::unimplemented::unimplemented_stub()
10363    }
10364
10365    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
10366    fn test_iam_permissions(
10367        &self,
10368        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
10369        _options: crate::RequestOptions,
10370    ) -> impl std::future::Future<
10371        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10372    > + Send {
10373        gaxi::unimplemented::unimplemented_stub()
10374    }
10375
10376    /// Implements [super::client::RegionInstanceGroups::get_operation].
10377    fn get_operation(
10378        &self,
10379        _req: crate::model::region_operations::GetRequest,
10380        _options: crate::RequestOptions,
10381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10382    {
10383        gaxi::unimplemented::unimplemented_stub()
10384    }
10385
10386    /// Returns the polling error policy.
10387    ///
10388    /// When mocking, this method is typically irrelevant. Do not try to verify
10389    /// it is called by your mocks.
10390    fn get_polling_error_policy(
10391        &self,
10392        _options: &crate::RequestOptions,
10393    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10394        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10395    }
10396
10397    /// Returns the polling backoff policy.
10398    ///
10399    /// When mocking, this method is typically irrelevant. Do not try to verify
10400    /// it is called by your mocks.
10401    fn get_polling_backoff_policy(
10402        &self,
10403        _options: &crate::RequestOptions,
10404    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10405        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10406    }
10407
10408    #[doc(hidden)]
10409    /// Returns the poller options.
10410    ///
10411    /// When mocking, this method is typically irrelevant. Do not try to verify
10412    /// it is called by your mocks.
10413    fn get_poller_options(
10414        &self,
10415        _options: &crate::RequestOptions,
10416    ) -> google_cloud_lro::PollerOptions {
10417        google_cloud_lro::PollerOptions::default()
10418    }
10419}
10420
10421/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
10422///
10423/// Application developers may need to implement this trait to mock
10424/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
10425/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
10426/// its implementations.
10427///
10428/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10429/// too. To avoid breaking applications the trait provides a default
10430/// implementation of each method. Most of these implementations just return an
10431/// error.
10432#[cfg(feature = "region-instance-templates")]
10433#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
10434pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
10435    /// Implements [super::client::RegionInstanceTemplates::delete].
10436    fn delete(
10437        &self,
10438        _req: crate::model::region_instance_templates::DeleteRequest,
10439        _options: crate::RequestOptions,
10440    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10441    {
10442        gaxi::unimplemented::unimplemented_stub()
10443    }
10444
10445    /// Implements [super::client::RegionInstanceTemplates::get].
10446    fn get(
10447        &self,
10448        _req: crate::model::region_instance_templates::GetRequest,
10449        _options: crate::RequestOptions,
10450    ) -> impl std::future::Future<
10451        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
10452    > + Send {
10453        gaxi::unimplemented::unimplemented_stub()
10454    }
10455
10456    /// Implements [super::client::RegionInstanceTemplates::insert].
10457    fn insert(
10458        &self,
10459        _req: crate::model::region_instance_templates::InsertRequest,
10460        _options: crate::RequestOptions,
10461    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10462    {
10463        gaxi::unimplemented::unimplemented_stub()
10464    }
10465
10466    /// Implements [super::client::RegionInstanceTemplates::list].
10467    fn list(
10468        &self,
10469        _req: crate::model::region_instance_templates::ListRequest,
10470        _options: crate::RequestOptions,
10471    ) -> impl std::future::Future<
10472        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
10473    > + Send {
10474        gaxi::unimplemented::unimplemented_stub()
10475    }
10476
10477    /// Implements [super::client::RegionInstanceTemplates::get_operation].
10478    fn get_operation(
10479        &self,
10480        _req: crate::model::region_operations::GetRequest,
10481        _options: crate::RequestOptions,
10482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10483    {
10484        gaxi::unimplemented::unimplemented_stub()
10485    }
10486
10487    /// Returns the polling error policy.
10488    ///
10489    /// When mocking, this method is typically irrelevant. Do not try to verify
10490    /// it is called by your mocks.
10491    fn get_polling_error_policy(
10492        &self,
10493        _options: &crate::RequestOptions,
10494    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10495        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10496    }
10497
10498    /// Returns the polling backoff policy.
10499    ///
10500    /// When mocking, this method is typically irrelevant. Do not try to verify
10501    /// it is called by your mocks.
10502    fn get_polling_backoff_policy(
10503        &self,
10504        _options: &crate::RequestOptions,
10505    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10506        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10507    }
10508
10509    #[doc(hidden)]
10510    /// Returns the poller options.
10511    ///
10512    /// When mocking, this method is typically irrelevant. Do not try to verify
10513    /// it is called by your mocks.
10514    fn get_poller_options(
10515        &self,
10516        _options: &crate::RequestOptions,
10517    ) -> google_cloud_lro::PollerOptions {
10518        google_cloud_lro::PollerOptions::default()
10519    }
10520}
10521
10522/// Defines the trait used to implement [super::client::RegionInstances].
10523///
10524/// Application developers may need to implement this trait to mock
10525/// `client::RegionInstances`.  In other use-cases, application developers only
10526/// use `client::RegionInstances` and need not be concerned with this trait or
10527/// its implementations.
10528///
10529/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10530/// too. To avoid breaking applications the trait provides a default
10531/// implementation of each method. Most of these implementations just return an
10532/// error.
10533#[cfg(feature = "region-instances")]
10534#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
10535pub trait RegionInstances: std::fmt::Debug + Send + Sync {
10536    /// Implements [super::client::RegionInstances::bulk_insert].
10537    fn bulk_insert(
10538        &self,
10539        _req: crate::model::region_instances::BulkInsertRequest,
10540        _options: crate::RequestOptions,
10541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10542    {
10543        gaxi::unimplemented::unimplemented_stub()
10544    }
10545
10546    /// Implements [super::client::RegionInstances::get_operation].
10547    fn get_operation(
10548        &self,
10549        _req: crate::model::region_operations::GetRequest,
10550        _options: crate::RequestOptions,
10551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10552    {
10553        gaxi::unimplemented::unimplemented_stub()
10554    }
10555
10556    /// Returns the polling error policy.
10557    ///
10558    /// When mocking, this method is typically irrelevant. Do not try to verify
10559    /// it is called by your mocks.
10560    fn get_polling_error_policy(
10561        &self,
10562        _options: &crate::RequestOptions,
10563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10564        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10565    }
10566
10567    /// Returns the polling backoff policy.
10568    ///
10569    /// When mocking, this method is typically irrelevant. Do not try to verify
10570    /// it is called by your mocks.
10571    fn get_polling_backoff_policy(
10572        &self,
10573        _options: &crate::RequestOptions,
10574    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10575        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10576    }
10577
10578    #[doc(hidden)]
10579    /// Returns the poller options.
10580    ///
10581    /// When mocking, this method is typically irrelevant. Do not try to verify
10582    /// it is called by your mocks.
10583    fn get_poller_options(
10584        &self,
10585        _options: &crate::RequestOptions,
10586    ) -> google_cloud_lro::PollerOptions {
10587        google_cloud_lro::PollerOptions::default()
10588    }
10589}
10590
10591/// Defines the trait used to implement [super::client::RegionInstantSnapshotGroups].
10592///
10593/// Application developers may need to implement this trait to mock
10594/// `client::RegionInstantSnapshotGroups`.  In other use-cases, application developers only
10595/// use `client::RegionInstantSnapshotGroups` and need not be concerned with this trait or
10596/// its implementations.
10597///
10598/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10599/// too. To avoid breaking applications the trait provides a default
10600/// implementation of each method. Most of these implementations just return an
10601/// error.
10602#[cfg(feature = "region-instant-snapshot-groups")]
10603#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshot-groups")))]
10604pub trait RegionInstantSnapshotGroups: std::fmt::Debug + Send + Sync {
10605    /// Implements [super::client::RegionInstantSnapshotGroups::delete].
10606    fn delete(
10607        &self,
10608        _req: crate::model::region_instant_snapshot_groups::DeleteRequest,
10609        _options: crate::RequestOptions,
10610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10611    {
10612        gaxi::unimplemented::unimplemented_stub()
10613    }
10614
10615    /// Implements [super::client::RegionInstantSnapshotGroups::get].
10616    fn get(
10617        &self,
10618        _req: crate::model::region_instant_snapshot_groups::GetRequest,
10619        _options: crate::RequestOptions,
10620    ) -> impl std::future::Future<
10621        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
10622    > + Send {
10623        gaxi::unimplemented::unimplemented_stub()
10624    }
10625
10626    /// Implements [super::client::RegionInstantSnapshotGroups::get_iam_policy].
10627    fn get_iam_policy(
10628        &self,
10629        _req: crate::model::region_instant_snapshot_groups::GetIamPolicyRequest,
10630        _options: crate::RequestOptions,
10631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10632    {
10633        gaxi::unimplemented::unimplemented_stub()
10634    }
10635
10636    /// Implements [super::client::RegionInstantSnapshotGroups::insert].
10637    fn insert(
10638        &self,
10639        _req: crate::model::region_instant_snapshot_groups::InsertRequest,
10640        _options: crate::RequestOptions,
10641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10642    {
10643        gaxi::unimplemented::unimplemented_stub()
10644    }
10645
10646    /// Implements [super::client::RegionInstantSnapshotGroups::list].
10647    fn list(
10648        &self,
10649        _req: crate::model::region_instant_snapshot_groups::ListRequest,
10650        _options: crate::RequestOptions,
10651    ) -> impl std::future::Future<
10652        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
10653    > + Send {
10654        gaxi::unimplemented::unimplemented_stub()
10655    }
10656
10657    /// Implements [super::client::RegionInstantSnapshotGroups::set_iam_policy].
10658    fn set_iam_policy(
10659        &self,
10660        _req: crate::model::region_instant_snapshot_groups::SetIamPolicyRequest,
10661        _options: crate::RequestOptions,
10662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10663    {
10664        gaxi::unimplemented::unimplemented_stub()
10665    }
10666
10667    /// Implements [super::client::RegionInstantSnapshotGroups::test_iam_permissions].
10668    fn test_iam_permissions(
10669        &self,
10670        _req: crate::model::region_instant_snapshot_groups::TestIamPermissionsRequest,
10671        _options: crate::RequestOptions,
10672    ) -> impl std::future::Future<
10673        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10674    > + Send {
10675        gaxi::unimplemented::unimplemented_stub()
10676    }
10677
10678    /// Implements [super::client::RegionInstantSnapshotGroups::get_operation].
10679    fn get_operation(
10680        &self,
10681        _req: crate::model::region_operations::GetRequest,
10682        _options: crate::RequestOptions,
10683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10684    {
10685        gaxi::unimplemented::unimplemented_stub()
10686    }
10687
10688    /// Returns the polling error policy.
10689    ///
10690    /// When mocking, this method is typically irrelevant. Do not try to verify
10691    /// it is called by your mocks.
10692    fn get_polling_error_policy(
10693        &self,
10694        _options: &crate::RequestOptions,
10695    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10696        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10697    }
10698
10699    /// Returns the polling backoff policy.
10700    ///
10701    /// When mocking, this method is typically irrelevant. Do not try to verify
10702    /// it is called by your mocks.
10703    fn get_polling_backoff_policy(
10704        &self,
10705        _options: &crate::RequestOptions,
10706    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10707        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10708    }
10709
10710    #[doc(hidden)]
10711    /// Returns the poller options.
10712    ///
10713    /// When mocking, this method is typically irrelevant. Do not try to verify
10714    /// it is called by your mocks.
10715    fn get_poller_options(
10716        &self,
10717        _options: &crate::RequestOptions,
10718    ) -> google_cloud_lro::PollerOptions {
10719        google_cloud_lro::PollerOptions::default()
10720    }
10721}
10722
10723/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
10724///
10725/// Application developers may need to implement this trait to mock
10726/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
10727/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
10728/// its implementations.
10729///
10730/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10731/// too. To avoid breaking applications the trait provides a default
10732/// implementation of each method. Most of these implementations just return an
10733/// error.
10734#[cfg(feature = "region-instant-snapshots")]
10735#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
10736pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
10737    /// Implements [super::client::RegionInstantSnapshots::delete].
10738    fn delete(
10739        &self,
10740        _req: crate::model::region_instant_snapshots::DeleteRequest,
10741        _options: crate::RequestOptions,
10742    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10743    {
10744        gaxi::unimplemented::unimplemented_stub()
10745    }
10746
10747    /// Implements [super::client::RegionInstantSnapshots::get].
10748    fn get(
10749        &self,
10750        _req: crate::model::region_instant_snapshots::GetRequest,
10751        _options: crate::RequestOptions,
10752    ) -> impl std::future::Future<
10753        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
10754    > + Send {
10755        gaxi::unimplemented::unimplemented_stub()
10756    }
10757
10758    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
10759    fn get_iam_policy(
10760        &self,
10761        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
10762        _options: crate::RequestOptions,
10763    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10764    {
10765        gaxi::unimplemented::unimplemented_stub()
10766    }
10767
10768    /// Implements [super::client::RegionInstantSnapshots::insert].
10769    fn insert(
10770        &self,
10771        _req: crate::model::region_instant_snapshots::InsertRequest,
10772        _options: crate::RequestOptions,
10773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10774    {
10775        gaxi::unimplemented::unimplemented_stub()
10776    }
10777
10778    /// Implements [super::client::RegionInstantSnapshots::list].
10779    fn list(
10780        &self,
10781        _req: crate::model::region_instant_snapshots::ListRequest,
10782        _options: crate::RequestOptions,
10783    ) -> impl std::future::Future<
10784        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
10785    > + Send {
10786        gaxi::unimplemented::unimplemented_stub()
10787    }
10788
10789    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
10790    fn set_iam_policy(
10791        &self,
10792        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
10793        _options: crate::RequestOptions,
10794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10795    {
10796        gaxi::unimplemented::unimplemented_stub()
10797    }
10798
10799    /// Implements [super::client::RegionInstantSnapshots::set_labels].
10800    fn set_labels(
10801        &self,
10802        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
10803        _options: crate::RequestOptions,
10804    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10805    {
10806        gaxi::unimplemented::unimplemented_stub()
10807    }
10808
10809    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
10810    fn test_iam_permissions(
10811        &self,
10812        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
10813        _options: crate::RequestOptions,
10814    ) -> impl std::future::Future<
10815        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10816    > + Send {
10817        gaxi::unimplemented::unimplemented_stub()
10818    }
10819
10820    /// Implements [super::client::RegionInstantSnapshots::get_operation].
10821    fn get_operation(
10822        &self,
10823        _req: crate::model::region_operations::GetRequest,
10824        _options: crate::RequestOptions,
10825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10826    {
10827        gaxi::unimplemented::unimplemented_stub()
10828    }
10829
10830    /// Returns the polling error policy.
10831    ///
10832    /// When mocking, this method is typically irrelevant. Do not try to verify
10833    /// it is called by your mocks.
10834    fn get_polling_error_policy(
10835        &self,
10836        _options: &crate::RequestOptions,
10837    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10838        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10839    }
10840
10841    /// Returns the polling backoff policy.
10842    ///
10843    /// When mocking, this method is typically irrelevant. Do not try to verify
10844    /// it is called by your mocks.
10845    fn get_polling_backoff_policy(
10846        &self,
10847        _options: &crate::RequestOptions,
10848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10849        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10850    }
10851
10852    #[doc(hidden)]
10853    /// Returns the poller options.
10854    ///
10855    /// When mocking, this method is typically irrelevant. Do not try to verify
10856    /// it is called by your mocks.
10857    fn get_poller_options(
10858        &self,
10859        _options: &crate::RequestOptions,
10860    ) -> google_cloud_lro::PollerOptions {
10861        google_cloud_lro::PollerOptions::default()
10862    }
10863}
10864
10865/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
10866///
10867/// Application developers may need to implement this trait to mock
10868/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
10869/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
10870/// its implementations.
10871///
10872/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10873/// too. To avoid breaking applications the trait provides a default
10874/// implementation of each method. Most of these implementations just return an
10875/// error.
10876#[cfg(feature = "region-network-endpoint-groups")]
10877#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
10878pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
10879    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
10880    fn attach_network_endpoints(
10881        &self,
10882        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
10883        _options: crate::RequestOptions,
10884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10885    {
10886        gaxi::unimplemented::unimplemented_stub()
10887    }
10888
10889    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
10890    fn delete(
10891        &self,
10892        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
10893        _options: crate::RequestOptions,
10894    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10895    {
10896        gaxi::unimplemented::unimplemented_stub()
10897    }
10898
10899    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
10900    fn detach_network_endpoints(
10901        &self,
10902        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
10903        _options: crate::RequestOptions,
10904    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10905    {
10906        gaxi::unimplemented::unimplemented_stub()
10907    }
10908
10909    /// Implements [super::client::RegionNetworkEndpointGroups::get].
10910    fn get(
10911        &self,
10912        _req: crate::model::region_network_endpoint_groups::GetRequest,
10913        _options: crate::RequestOptions,
10914    ) -> impl std::future::Future<
10915        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
10916    > + Send {
10917        gaxi::unimplemented::unimplemented_stub()
10918    }
10919
10920    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
10921    fn insert(
10922        &self,
10923        _req: crate::model::region_network_endpoint_groups::InsertRequest,
10924        _options: crate::RequestOptions,
10925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10926    {
10927        gaxi::unimplemented::unimplemented_stub()
10928    }
10929
10930    /// Implements [super::client::RegionNetworkEndpointGroups::list].
10931    fn list(
10932        &self,
10933        _req: crate::model::region_network_endpoint_groups::ListRequest,
10934        _options: crate::RequestOptions,
10935    ) -> impl std::future::Future<
10936        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
10937    > + Send {
10938        gaxi::unimplemented::unimplemented_stub()
10939    }
10940
10941    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
10942    fn list_network_endpoints(
10943        &self,
10944        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
10945        _options: crate::RequestOptions,
10946    ) -> impl std::future::Future<
10947        Output = crate::Result<
10948            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
10949        >,
10950    > + Send {
10951        gaxi::unimplemented::unimplemented_stub()
10952    }
10953
10954    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
10955    fn get_operation(
10956        &self,
10957        _req: crate::model::region_operations::GetRequest,
10958        _options: crate::RequestOptions,
10959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10960    {
10961        gaxi::unimplemented::unimplemented_stub()
10962    }
10963
10964    /// Returns the polling error policy.
10965    ///
10966    /// When mocking, this method is typically irrelevant. Do not try to verify
10967    /// it is called by your mocks.
10968    fn get_polling_error_policy(
10969        &self,
10970        _options: &crate::RequestOptions,
10971    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10972        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10973    }
10974
10975    /// Returns the polling backoff policy.
10976    ///
10977    /// When mocking, this method is typically irrelevant. Do not try to verify
10978    /// it is called by your mocks.
10979    fn get_polling_backoff_policy(
10980        &self,
10981        _options: &crate::RequestOptions,
10982    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10983        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10984    }
10985
10986    #[doc(hidden)]
10987    /// Returns the poller options.
10988    ///
10989    /// When mocking, this method is typically irrelevant. Do not try to verify
10990    /// it is called by your mocks.
10991    fn get_poller_options(
10992        &self,
10993        _options: &crate::RequestOptions,
10994    ) -> google_cloud_lro::PollerOptions {
10995        google_cloud_lro::PollerOptions::default()
10996    }
10997}
10998
10999/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
11000///
11001/// Application developers may need to implement this trait to mock
11002/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
11003/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
11004/// its implementations.
11005///
11006/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11007/// too. To avoid breaking applications the trait provides a default
11008/// implementation of each method. Most of these implementations just return an
11009/// error.
11010#[cfg(feature = "region-network-firewall-policies")]
11011#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
11012pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
11013    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
11014    fn add_association(
11015        &self,
11016        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
11017        _options: crate::RequestOptions,
11018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11019    {
11020        gaxi::unimplemented::unimplemented_stub()
11021    }
11022
11023    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
11024    fn add_rule(
11025        &self,
11026        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
11027        _options: crate::RequestOptions,
11028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11029    {
11030        gaxi::unimplemented::unimplemented_stub()
11031    }
11032
11033    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
11034    fn clone_rules(
11035        &self,
11036        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
11037        _options: crate::RequestOptions,
11038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11039    {
11040        gaxi::unimplemented::unimplemented_stub()
11041    }
11042
11043    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
11044    fn delete(
11045        &self,
11046        _req: crate::model::region_network_firewall_policies::DeleteRequest,
11047        _options: crate::RequestOptions,
11048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11049    {
11050        gaxi::unimplemented::unimplemented_stub()
11051    }
11052
11053    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
11054    fn get(
11055        &self,
11056        _req: crate::model::region_network_firewall_policies::GetRequest,
11057        _options: crate::RequestOptions,
11058    ) -> impl std::future::Future<
11059        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
11060    > + Send {
11061        gaxi::unimplemented::unimplemented_stub()
11062    }
11063
11064    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
11065    fn get_association(
11066        &self,
11067        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
11068        _options: crate::RequestOptions,
11069    ) -> impl std::future::Future<
11070        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
11071    > + Send {
11072        gaxi::unimplemented::unimplemented_stub()
11073    }
11074
11075    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
11076    fn get_effective_firewalls(
11077        &self,
11078        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
11079        _options: crate::RequestOptions,
11080    ) -> impl std::future::Future<
11081        Output = crate::Result<
11082            crate::Response<
11083                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
11084            >,
11085        >,
11086    > + Send {
11087        gaxi::unimplemented::unimplemented_stub()
11088    }
11089
11090    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
11091    fn get_iam_policy(
11092        &self,
11093        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
11094        _options: crate::RequestOptions,
11095    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11096    {
11097        gaxi::unimplemented::unimplemented_stub()
11098    }
11099
11100    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
11101    fn get_rule(
11102        &self,
11103        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
11104        _options: crate::RequestOptions,
11105    ) -> impl std::future::Future<
11106        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
11107    > + Send {
11108        gaxi::unimplemented::unimplemented_stub()
11109    }
11110
11111    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
11112    fn insert(
11113        &self,
11114        _req: crate::model::region_network_firewall_policies::InsertRequest,
11115        _options: crate::RequestOptions,
11116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11117    {
11118        gaxi::unimplemented::unimplemented_stub()
11119    }
11120
11121    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
11122    fn list(
11123        &self,
11124        _req: crate::model::region_network_firewall_policies::ListRequest,
11125        _options: crate::RequestOptions,
11126    ) -> impl std::future::Future<
11127        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
11128    > + Send {
11129        gaxi::unimplemented::unimplemented_stub()
11130    }
11131
11132    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
11133    fn patch(
11134        &self,
11135        _req: crate::model::region_network_firewall_policies::PatchRequest,
11136        _options: crate::RequestOptions,
11137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11138    {
11139        gaxi::unimplemented::unimplemented_stub()
11140    }
11141
11142    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
11143    fn patch_rule(
11144        &self,
11145        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
11146        _options: crate::RequestOptions,
11147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11148    {
11149        gaxi::unimplemented::unimplemented_stub()
11150    }
11151
11152    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
11153    fn remove_association(
11154        &self,
11155        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
11156        _options: crate::RequestOptions,
11157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11158    {
11159        gaxi::unimplemented::unimplemented_stub()
11160    }
11161
11162    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
11163    fn remove_rule(
11164        &self,
11165        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
11166        _options: crate::RequestOptions,
11167    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11168    {
11169        gaxi::unimplemented::unimplemented_stub()
11170    }
11171
11172    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
11173    fn set_iam_policy(
11174        &self,
11175        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
11176        _options: crate::RequestOptions,
11177    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11178    {
11179        gaxi::unimplemented::unimplemented_stub()
11180    }
11181
11182    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
11183    fn test_iam_permissions(
11184        &self,
11185        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
11186        _options: crate::RequestOptions,
11187    ) -> impl std::future::Future<
11188        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11189    > + Send {
11190        gaxi::unimplemented::unimplemented_stub()
11191    }
11192
11193    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
11194    fn get_operation(
11195        &self,
11196        _req: crate::model::region_operations::GetRequest,
11197        _options: crate::RequestOptions,
11198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11199    {
11200        gaxi::unimplemented::unimplemented_stub()
11201    }
11202
11203    /// Returns the polling error policy.
11204    ///
11205    /// When mocking, this method is typically irrelevant. Do not try to verify
11206    /// it is called by your mocks.
11207    fn get_polling_error_policy(
11208        &self,
11209        _options: &crate::RequestOptions,
11210    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11211        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11212    }
11213
11214    /// Returns the polling backoff policy.
11215    ///
11216    /// When mocking, this method is typically irrelevant. Do not try to verify
11217    /// it is called by your mocks.
11218    fn get_polling_backoff_policy(
11219        &self,
11220        _options: &crate::RequestOptions,
11221    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11222        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11223    }
11224
11225    #[doc(hidden)]
11226    /// Returns the poller options.
11227    ///
11228    /// When mocking, this method is typically irrelevant. Do not try to verify
11229    /// it is called by your mocks.
11230    fn get_poller_options(
11231        &self,
11232        _options: &crate::RequestOptions,
11233    ) -> google_cloud_lro::PollerOptions {
11234        google_cloud_lro::PollerOptions::default()
11235    }
11236}
11237
11238/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
11239///
11240/// Application developers may need to implement this trait to mock
11241/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
11242/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
11243/// its implementations.
11244///
11245/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11246/// too. To avoid breaking applications the trait provides a default
11247/// implementation of each method. Most of these implementations just return an
11248/// error.
11249#[cfg(feature = "region-notification-endpoints")]
11250#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
11251pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
11252    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
11253    fn aggregated_list(
11254        &self,
11255        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
11256        _options: crate::RequestOptions,
11257    ) -> impl std::future::Future<
11258        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
11259    > + Send {
11260        gaxi::unimplemented::unimplemented_stub()
11261    }
11262
11263    /// Implements [super::client::RegionNotificationEndpoints::delete].
11264    fn delete(
11265        &self,
11266        _req: crate::model::region_notification_endpoints::DeleteRequest,
11267        _options: crate::RequestOptions,
11268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11269    {
11270        gaxi::unimplemented::unimplemented_stub()
11271    }
11272
11273    /// Implements [super::client::RegionNotificationEndpoints::get].
11274    fn get(
11275        &self,
11276        _req: crate::model::region_notification_endpoints::GetRequest,
11277        _options: crate::RequestOptions,
11278    ) -> impl std::future::Future<
11279        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
11280    > + Send {
11281        gaxi::unimplemented::unimplemented_stub()
11282    }
11283
11284    /// Implements [super::client::RegionNotificationEndpoints::insert].
11285    fn insert(
11286        &self,
11287        _req: crate::model::region_notification_endpoints::InsertRequest,
11288        _options: crate::RequestOptions,
11289    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11290    {
11291        gaxi::unimplemented::unimplemented_stub()
11292    }
11293
11294    /// Implements [super::client::RegionNotificationEndpoints::list].
11295    fn list(
11296        &self,
11297        _req: crate::model::region_notification_endpoints::ListRequest,
11298        _options: crate::RequestOptions,
11299    ) -> impl std::future::Future<
11300        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
11301    > + Send {
11302        gaxi::unimplemented::unimplemented_stub()
11303    }
11304
11305    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
11306    fn test_iam_permissions(
11307        &self,
11308        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
11309        _options: crate::RequestOptions,
11310    ) -> impl std::future::Future<
11311        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11312    > + Send {
11313        gaxi::unimplemented::unimplemented_stub()
11314    }
11315
11316    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
11317    fn get_operation(
11318        &self,
11319        _req: crate::model::region_operations::GetRequest,
11320        _options: crate::RequestOptions,
11321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11322    {
11323        gaxi::unimplemented::unimplemented_stub()
11324    }
11325
11326    /// Returns the polling error policy.
11327    ///
11328    /// When mocking, this method is typically irrelevant. Do not try to verify
11329    /// it is called by your mocks.
11330    fn get_polling_error_policy(
11331        &self,
11332        _options: &crate::RequestOptions,
11333    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11334        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11335    }
11336
11337    /// Returns the polling backoff policy.
11338    ///
11339    /// When mocking, this method is typically irrelevant. Do not try to verify
11340    /// it is called by your mocks.
11341    fn get_polling_backoff_policy(
11342        &self,
11343        _options: &crate::RequestOptions,
11344    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11345        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11346    }
11347
11348    #[doc(hidden)]
11349    /// Returns the poller options.
11350    ///
11351    /// When mocking, this method is typically irrelevant. Do not try to verify
11352    /// it is called by your mocks.
11353    fn get_poller_options(
11354        &self,
11355        _options: &crate::RequestOptions,
11356    ) -> google_cloud_lro::PollerOptions {
11357        google_cloud_lro::PollerOptions::default()
11358    }
11359}
11360
11361/// Defines the trait used to implement [super::client::RegionOperations].
11362///
11363/// Application developers may need to implement this trait to mock
11364/// `client::RegionOperations`.  In other use-cases, application developers only
11365/// use `client::RegionOperations` and need not be concerned with this trait or
11366/// its implementations.
11367///
11368/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11369/// too. To avoid breaking applications the trait provides a default
11370/// implementation of each method. Most of these implementations just return an
11371/// error.
11372#[cfg(feature = "region-operations")]
11373#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
11374pub trait RegionOperations: std::fmt::Debug + Send + Sync {
11375    /// Implements [super::client::RegionOperations::delete].
11376    fn delete(
11377        &self,
11378        _req: crate::model::region_operations::DeleteRequest,
11379        _options: crate::RequestOptions,
11380    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
11381        gaxi::unimplemented::unimplemented_stub()
11382    }
11383
11384    /// Implements [super::client::RegionOperations::get].
11385    fn get(
11386        &self,
11387        _req: crate::model::region_operations::GetRequest,
11388        _options: crate::RequestOptions,
11389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11390    {
11391        gaxi::unimplemented::unimplemented_stub()
11392    }
11393
11394    /// Implements [super::client::RegionOperations::list].
11395    fn list(
11396        &self,
11397        _req: crate::model::region_operations::ListRequest,
11398        _options: crate::RequestOptions,
11399    ) -> impl std::future::Future<
11400        Output = crate::Result<crate::Response<crate::model::OperationList>>,
11401    > + Send {
11402        gaxi::unimplemented::unimplemented_stub()
11403    }
11404
11405    /// Implements [super::client::RegionOperations::wait].
11406    fn wait(
11407        &self,
11408        _req: crate::model::region_operations::WaitRequest,
11409        _options: crate::RequestOptions,
11410    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11411    {
11412        gaxi::unimplemented::unimplemented_stub()
11413    }
11414}
11415
11416/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
11417///
11418/// Application developers may need to implement this trait to mock
11419/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
11420/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
11421/// its implementations.
11422///
11423/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11424/// too. To avoid breaking applications the trait provides a default
11425/// implementation of each method. Most of these implementations just return an
11426/// error.
11427#[cfg(feature = "region-security-policies")]
11428#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
11429pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
11430    /// Implements [super::client::RegionSecurityPolicies::add_rule].
11431    fn add_rule(
11432        &self,
11433        _req: crate::model::region_security_policies::AddRuleRequest,
11434        _options: crate::RequestOptions,
11435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11436    {
11437        gaxi::unimplemented::unimplemented_stub()
11438    }
11439
11440    /// Implements [super::client::RegionSecurityPolicies::delete].
11441    fn delete(
11442        &self,
11443        _req: crate::model::region_security_policies::DeleteRequest,
11444        _options: crate::RequestOptions,
11445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11446    {
11447        gaxi::unimplemented::unimplemented_stub()
11448    }
11449
11450    /// Implements [super::client::RegionSecurityPolicies::get].
11451    fn get(
11452        &self,
11453        _req: crate::model::region_security_policies::GetRequest,
11454        _options: crate::RequestOptions,
11455    ) -> impl std::future::Future<
11456        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11457    > + Send {
11458        gaxi::unimplemented::unimplemented_stub()
11459    }
11460
11461    /// Implements [super::client::RegionSecurityPolicies::get_rule].
11462    fn get_rule(
11463        &self,
11464        _req: crate::model::region_security_policies::GetRuleRequest,
11465        _options: crate::RequestOptions,
11466    ) -> impl std::future::Future<
11467        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11468    > + Send {
11469        gaxi::unimplemented::unimplemented_stub()
11470    }
11471
11472    /// Implements [super::client::RegionSecurityPolicies::insert].
11473    fn insert(
11474        &self,
11475        _req: crate::model::region_security_policies::InsertRequest,
11476        _options: crate::RequestOptions,
11477    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11478    {
11479        gaxi::unimplemented::unimplemented_stub()
11480    }
11481
11482    /// Implements [super::client::RegionSecurityPolicies::list].
11483    fn list(
11484        &self,
11485        _req: crate::model::region_security_policies::ListRequest,
11486        _options: crate::RequestOptions,
11487    ) -> impl std::future::Future<
11488        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11489    > + Send {
11490        gaxi::unimplemented::unimplemented_stub()
11491    }
11492
11493    /// Implements [super::client::RegionSecurityPolicies::patch].
11494    fn patch(
11495        &self,
11496        _req: crate::model::region_security_policies::PatchRequest,
11497        _options: crate::RequestOptions,
11498    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11499    {
11500        gaxi::unimplemented::unimplemented_stub()
11501    }
11502
11503    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
11504    fn patch_rule(
11505        &self,
11506        _req: crate::model::region_security_policies::PatchRuleRequest,
11507        _options: crate::RequestOptions,
11508    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11509    {
11510        gaxi::unimplemented::unimplemented_stub()
11511    }
11512
11513    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
11514    fn remove_rule(
11515        &self,
11516        _req: crate::model::region_security_policies::RemoveRuleRequest,
11517        _options: crate::RequestOptions,
11518    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11519    {
11520        gaxi::unimplemented::unimplemented_stub()
11521    }
11522
11523    /// Implements [super::client::RegionSecurityPolicies::set_labels].
11524    fn set_labels(
11525        &self,
11526        _req: crate::model::region_security_policies::SetLabelsRequest,
11527        _options: crate::RequestOptions,
11528    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11529    {
11530        gaxi::unimplemented::unimplemented_stub()
11531    }
11532
11533    /// Implements [super::client::RegionSecurityPolicies::get_operation].
11534    fn get_operation(
11535        &self,
11536        _req: crate::model::region_operations::GetRequest,
11537        _options: crate::RequestOptions,
11538    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11539    {
11540        gaxi::unimplemented::unimplemented_stub()
11541    }
11542
11543    /// Returns the polling error policy.
11544    ///
11545    /// When mocking, this method is typically irrelevant. Do not try to verify
11546    /// it is called by your mocks.
11547    fn get_polling_error_policy(
11548        &self,
11549        _options: &crate::RequestOptions,
11550    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11551        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11552    }
11553
11554    /// Returns the polling backoff policy.
11555    ///
11556    /// When mocking, this method is typically irrelevant. Do not try to verify
11557    /// it is called by your mocks.
11558    fn get_polling_backoff_policy(
11559        &self,
11560        _options: &crate::RequestOptions,
11561    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11562        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11563    }
11564
11565    #[doc(hidden)]
11566    /// Returns the poller options.
11567    ///
11568    /// When mocking, this method is typically irrelevant. Do not try to verify
11569    /// it is called by your mocks.
11570    fn get_poller_options(
11571        &self,
11572        _options: &crate::RequestOptions,
11573    ) -> google_cloud_lro::PollerOptions {
11574        google_cloud_lro::PollerOptions::default()
11575    }
11576}
11577
11578/// Defines the trait used to implement [super::client::RegionSnapshotSettings].
11579///
11580/// Application developers may need to implement this trait to mock
11581/// `client::RegionSnapshotSettings`.  In other use-cases, application developers only
11582/// use `client::RegionSnapshotSettings` and need not be concerned with this trait or
11583/// its implementations.
11584///
11585/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11586/// too. To avoid breaking applications the trait provides a default
11587/// implementation of each method. Most of these implementations just return an
11588/// error.
11589#[cfg(feature = "region-snapshot-settings")]
11590#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshot-settings")))]
11591pub trait RegionSnapshotSettings: std::fmt::Debug + Send + Sync {
11592    /// Implements [super::client::RegionSnapshotSettings::get].
11593    fn get(
11594        &self,
11595        _req: crate::model::region_snapshot_settings::GetRequest,
11596        _options: crate::RequestOptions,
11597    ) -> impl std::future::Future<
11598        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
11599    > + Send {
11600        gaxi::unimplemented::unimplemented_stub()
11601    }
11602
11603    /// Implements [super::client::RegionSnapshotSettings::patch].
11604    fn patch(
11605        &self,
11606        _req: crate::model::region_snapshot_settings::PatchRequest,
11607        _options: crate::RequestOptions,
11608    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11609    {
11610        gaxi::unimplemented::unimplemented_stub()
11611    }
11612
11613    /// Implements [super::client::RegionSnapshotSettings::get_operation].
11614    fn get_operation(
11615        &self,
11616        _req: crate::model::region_operations::GetRequest,
11617        _options: crate::RequestOptions,
11618    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11619    {
11620        gaxi::unimplemented::unimplemented_stub()
11621    }
11622
11623    /// Returns the polling error policy.
11624    ///
11625    /// When mocking, this method is typically irrelevant. Do not try to verify
11626    /// it is called by your mocks.
11627    fn get_polling_error_policy(
11628        &self,
11629        _options: &crate::RequestOptions,
11630    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11631        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11632    }
11633
11634    /// Returns the polling backoff policy.
11635    ///
11636    /// When mocking, this method is typically irrelevant. Do not try to verify
11637    /// it is called by your mocks.
11638    fn get_polling_backoff_policy(
11639        &self,
11640        _options: &crate::RequestOptions,
11641    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11642        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11643    }
11644
11645    #[doc(hidden)]
11646    /// Returns the poller options.
11647    ///
11648    /// When mocking, this method is typically irrelevant. Do not try to verify
11649    /// it is called by your mocks.
11650    fn get_poller_options(
11651        &self,
11652        _options: &crate::RequestOptions,
11653    ) -> google_cloud_lro::PollerOptions {
11654        google_cloud_lro::PollerOptions::default()
11655    }
11656}
11657
11658/// Defines the trait used to implement [super::client::RegionSnapshots].
11659///
11660/// Application developers may need to implement this trait to mock
11661/// `client::RegionSnapshots`.  In other use-cases, application developers only
11662/// use `client::RegionSnapshots` and need not be concerned with this trait or
11663/// its implementations.
11664///
11665/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11666/// too. To avoid breaking applications the trait provides a default
11667/// implementation of each method. Most of these implementations just return an
11668/// error.
11669#[cfg(feature = "region-snapshots")]
11670#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshots")))]
11671pub trait RegionSnapshots: std::fmt::Debug + Send + Sync {
11672    /// Implements [super::client::RegionSnapshots::delete].
11673    fn delete(
11674        &self,
11675        _req: crate::model::region_snapshots::DeleteRequest,
11676        _options: crate::RequestOptions,
11677    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11678    {
11679        gaxi::unimplemented::unimplemented_stub()
11680    }
11681
11682    /// Implements [super::client::RegionSnapshots::get].
11683    fn get(
11684        &self,
11685        _req: crate::model::region_snapshots::GetRequest,
11686        _options: crate::RequestOptions,
11687    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
11688    {
11689        gaxi::unimplemented::unimplemented_stub()
11690    }
11691
11692    /// Implements [super::client::RegionSnapshots::get_iam_policy].
11693    fn get_iam_policy(
11694        &self,
11695        _req: crate::model::region_snapshots::GetIamPolicyRequest,
11696        _options: crate::RequestOptions,
11697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11698    {
11699        gaxi::unimplemented::unimplemented_stub()
11700    }
11701
11702    /// Implements [super::client::RegionSnapshots::insert].
11703    fn insert(
11704        &self,
11705        _req: crate::model::region_snapshots::InsertRequest,
11706        _options: crate::RequestOptions,
11707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11708    {
11709        gaxi::unimplemented::unimplemented_stub()
11710    }
11711
11712    /// Implements [super::client::RegionSnapshots::list].
11713    fn list(
11714        &self,
11715        _req: crate::model::region_snapshots::ListRequest,
11716        _options: crate::RequestOptions,
11717    ) -> impl std::future::Future<
11718        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
11719    > + Send {
11720        gaxi::unimplemented::unimplemented_stub()
11721    }
11722
11723    /// Implements [super::client::RegionSnapshots::set_iam_policy].
11724    fn set_iam_policy(
11725        &self,
11726        _req: crate::model::region_snapshots::SetIamPolicyRequest,
11727        _options: crate::RequestOptions,
11728    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11729    {
11730        gaxi::unimplemented::unimplemented_stub()
11731    }
11732
11733    /// Implements [super::client::RegionSnapshots::set_labels].
11734    fn set_labels(
11735        &self,
11736        _req: crate::model::region_snapshots::SetLabelsRequest,
11737        _options: crate::RequestOptions,
11738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11739    {
11740        gaxi::unimplemented::unimplemented_stub()
11741    }
11742
11743    /// Implements [super::client::RegionSnapshots::test_iam_permissions].
11744    fn test_iam_permissions(
11745        &self,
11746        _req: crate::model::region_snapshots::TestIamPermissionsRequest,
11747        _options: crate::RequestOptions,
11748    ) -> impl std::future::Future<
11749        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11750    > + Send {
11751        gaxi::unimplemented::unimplemented_stub()
11752    }
11753
11754    /// Implements [super::client::RegionSnapshots::update_kms_key].
11755    fn update_kms_key(
11756        &self,
11757        _req: crate::model::region_snapshots::UpdateKmsKeyRequest,
11758        _options: crate::RequestOptions,
11759    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11760    {
11761        gaxi::unimplemented::unimplemented_stub()
11762    }
11763
11764    /// Implements [super::client::RegionSnapshots::get_operation].
11765    fn get_operation(
11766        &self,
11767        _req: crate::model::region_operations::GetRequest,
11768        _options: crate::RequestOptions,
11769    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11770    {
11771        gaxi::unimplemented::unimplemented_stub()
11772    }
11773
11774    /// Returns the polling error policy.
11775    ///
11776    /// When mocking, this method is typically irrelevant. Do not try to verify
11777    /// it is called by your mocks.
11778    fn get_polling_error_policy(
11779        &self,
11780        _options: &crate::RequestOptions,
11781    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11782        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11783    }
11784
11785    /// Returns the polling backoff policy.
11786    ///
11787    /// When mocking, this method is typically irrelevant. Do not try to verify
11788    /// it is called by your mocks.
11789    fn get_polling_backoff_policy(
11790        &self,
11791        _options: &crate::RequestOptions,
11792    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11793        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11794    }
11795
11796    #[doc(hidden)]
11797    /// Returns the poller options.
11798    ///
11799    /// When mocking, this method is typically irrelevant. Do not try to verify
11800    /// it is called by your mocks.
11801    fn get_poller_options(
11802        &self,
11803        _options: &crate::RequestOptions,
11804    ) -> google_cloud_lro::PollerOptions {
11805        google_cloud_lro::PollerOptions::default()
11806    }
11807}
11808
11809/// Defines the trait used to implement [super::client::RegionSslCertificates].
11810///
11811/// Application developers may need to implement this trait to mock
11812/// `client::RegionSslCertificates`.  In other use-cases, application developers only
11813/// use `client::RegionSslCertificates` and need not be concerned with this trait or
11814/// its implementations.
11815///
11816/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11817/// too. To avoid breaking applications the trait provides a default
11818/// implementation of each method. Most of these implementations just return an
11819/// error.
11820#[cfg(feature = "region-ssl-certificates")]
11821#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
11822pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
11823    /// Implements [super::client::RegionSslCertificates::delete].
11824    fn delete(
11825        &self,
11826        _req: crate::model::region_ssl_certificates::DeleteRequest,
11827        _options: crate::RequestOptions,
11828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11829    {
11830        gaxi::unimplemented::unimplemented_stub()
11831    }
11832
11833    /// Implements [super::client::RegionSslCertificates::get].
11834    fn get(
11835        &self,
11836        _req: crate::model::region_ssl_certificates::GetRequest,
11837        _options: crate::RequestOptions,
11838    ) -> impl std::future::Future<
11839        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
11840    > + Send {
11841        gaxi::unimplemented::unimplemented_stub()
11842    }
11843
11844    /// Implements [super::client::RegionSslCertificates::insert].
11845    fn insert(
11846        &self,
11847        _req: crate::model::region_ssl_certificates::InsertRequest,
11848        _options: crate::RequestOptions,
11849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11850    {
11851        gaxi::unimplemented::unimplemented_stub()
11852    }
11853
11854    /// Implements [super::client::RegionSslCertificates::list].
11855    fn list(
11856        &self,
11857        _req: crate::model::region_ssl_certificates::ListRequest,
11858        _options: crate::RequestOptions,
11859    ) -> impl std::future::Future<
11860        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
11861    > + Send {
11862        gaxi::unimplemented::unimplemented_stub()
11863    }
11864
11865    /// Implements [super::client::RegionSslCertificates::get_operation].
11866    fn get_operation(
11867        &self,
11868        _req: crate::model::region_operations::GetRequest,
11869        _options: crate::RequestOptions,
11870    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11871    {
11872        gaxi::unimplemented::unimplemented_stub()
11873    }
11874
11875    /// Returns the polling error policy.
11876    ///
11877    /// When mocking, this method is typically irrelevant. Do not try to verify
11878    /// it is called by your mocks.
11879    fn get_polling_error_policy(
11880        &self,
11881        _options: &crate::RequestOptions,
11882    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11883        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11884    }
11885
11886    /// Returns the polling backoff policy.
11887    ///
11888    /// When mocking, this method is typically irrelevant. Do not try to verify
11889    /// it is called by your mocks.
11890    fn get_polling_backoff_policy(
11891        &self,
11892        _options: &crate::RequestOptions,
11893    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11894        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11895    }
11896
11897    #[doc(hidden)]
11898    /// Returns the poller options.
11899    ///
11900    /// When mocking, this method is typically irrelevant. Do not try to verify
11901    /// it is called by your mocks.
11902    fn get_poller_options(
11903        &self,
11904        _options: &crate::RequestOptions,
11905    ) -> google_cloud_lro::PollerOptions {
11906        google_cloud_lro::PollerOptions::default()
11907    }
11908}
11909
11910/// Defines the trait used to implement [super::client::RegionSslPolicies].
11911///
11912/// Application developers may need to implement this trait to mock
11913/// `client::RegionSslPolicies`.  In other use-cases, application developers only
11914/// use `client::RegionSslPolicies` and need not be concerned with this trait or
11915/// its implementations.
11916///
11917/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11918/// too. To avoid breaking applications the trait provides a default
11919/// implementation of each method. Most of these implementations just return an
11920/// error.
11921#[cfg(feature = "region-ssl-policies")]
11922#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
11923pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
11924    /// Implements [super::client::RegionSslPolicies::delete].
11925    fn delete(
11926        &self,
11927        _req: crate::model::region_ssl_policies::DeleteRequest,
11928        _options: crate::RequestOptions,
11929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11930    {
11931        gaxi::unimplemented::unimplemented_stub()
11932    }
11933
11934    /// Implements [super::client::RegionSslPolicies::get].
11935    fn get(
11936        &self,
11937        _req: crate::model::region_ssl_policies::GetRequest,
11938        _options: crate::RequestOptions,
11939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
11940    {
11941        gaxi::unimplemented::unimplemented_stub()
11942    }
11943
11944    /// Implements [super::client::RegionSslPolicies::insert].
11945    fn insert(
11946        &self,
11947        _req: crate::model::region_ssl_policies::InsertRequest,
11948        _options: crate::RequestOptions,
11949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11950    {
11951        gaxi::unimplemented::unimplemented_stub()
11952    }
11953
11954    /// Implements [super::client::RegionSslPolicies::list].
11955    fn list(
11956        &self,
11957        _req: crate::model::region_ssl_policies::ListRequest,
11958        _options: crate::RequestOptions,
11959    ) -> impl std::future::Future<
11960        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
11961    > + Send {
11962        gaxi::unimplemented::unimplemented_stub()
11963    }
11964
11965    /// Implements [super::client::RegionSslPolicies::list_available_features].
11966    fn list_available_features(
11967        &self,
11968        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
11969        _options: crate::RequestOptions,
11970    ) -> impl std::future::Future<
11971        Output = crate::Result<
11972            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
11973        >,
11974    > + Send {
11975        gaxi::unimplemented::unimplemented_stub()
11976    }
11977
11978    /// Implements [super::client::RegionSslPolicies::patch].
11979    fn patch(
11980        &self,
11981        _req: crate::model::region_ssl_policies::PatchRequest,
11982        _options: crate::RequestOptions,
11983    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11984    {
11985        gaxi::unimplemented::unimplemented_stub()
11986    }
11987
11988    /// Implements [super::client::RegionSslPolicies::get_operation].
11989    fn get_operation(
11990        &self,
11991        _req: crate::model::region_operations::GetRequest,
11992        _options: crate::RequestOptions,
11993    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11994    {
11995        gaxi::unimplemented::unimplemented_stub()
11996    }
11997
11998    /// Returns the polling error policy.
11999    ///
12000    /// When mocking, this method is typically irrelevant. Do not try to verify
12001    /// it is called by your mocks.
12002    fn get_polling_error_policy(
12003        &self,
12004        _options: &crate::RequestOptions,
12005    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12006        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12007    }
12008
12009    /// Returns the polling backoff policy.
12010    ///
12011    /// When mocking, this method is typically irrelevant. Do not try to verify
12012    /// it is called by your mocks.
12013    fn get_polling_backoff_policy(
12014        &self,
12015        _options: &crate::RequestOptions,
12016    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12017        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12018    }
12019
12020    #[doc(hidden)]
12021    /// Returns the poller options.
12022    ///
12023    /// When mocking, this method is typically irrelevant. Do not try to verify
12024    /// it is called by your mocks.
12025    fn get_poller_options(
12026        &self,
12027        _options: &crate::RequestOptions,
12028    ) -> google_cloud_lro::PollerOptions {
12029        google_cloud_lro::PollerOptions::default()
12030    }
12031}
12032
12033/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
12034///
12035/// Application developers may need to implement this trait to mock
12036/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
12037/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
12038/// its implementations.
12039///
12040/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12041/// too. To avoid breaking applications the trait provides a default
12042/// implementation of each method. Most of these implementations just return an
12043/// error.
12044#[cfg(feature = "region-target-http-proxies")]
12045#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
12046pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
12047    /// Implements [super::client::RegionTargetHttpProxies::delete].
12048    fn delete(
12049        &self,
12050        _req: crate::model::region_target_http_proxies::DeleteRequest,
12051        _options: crate::RequestOptions,
12052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12053    {
12054        gaxi::unimplemented::unimplemented_stub()
12055    }
12056
12057    /// Implements [super::client::RegionTargetHttpProxies::get].
12058    fn get(
12059        &self,
12060        _req: crate::model::region_target_http_proxies::GetRequest,
12061        _options: crate::RequestOptions,
12062    ) -> impl std::future::Future<
12063        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
12064    > + Send {
12065        gaxi::unimplemented::unimplemented_stub()
12066    }
12067
12068    /// Implements [super::client::RegionTargetHttpProxies::insert].
12069    fn insert(
12070        &self,
12071        _req: crate::model::region_target_http_proxies::InsertRequest,
12072        _options: crate::RequestOptions,
12073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12074    {
12075        gaxi::unimplemented::unimplemented_stub()
12076    }
12077
12078    /// Implements [super::client::RegionTargetHttpProxies::list].
12079    fn list(
12080        &self,
12081        _req: crate::model::region_target_http_proxies::ListRequest,
12082        _options: crate::RequestOptions,
12083    ) -> impl std::future::Future<
12084        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
12085    > + Send {
12086        gaxi::unimplemented::unimplemented_stub()
12087    }
12088
12089    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
12090    fn set_url_map(
12091        &self,
12092        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
12093        _options: crate::RequestOptions,
12094    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12095    {
12096        gaxi::unimplemented::unimplemented_stub()
12097    }
12098
12099    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
12100    fn get_operation(
12101        &self,
12102        _req: crate::model::region_operations::GetRequest,
12103        _options: crate::RequestOptions,
12104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12105    {
12106        gaxi::unimplemented::unimplemented_stub()
12107    }
12108
12109    /// Returns the polling error policy.
12110    ///
12111    /// When mocking, this method is typically irrelevant. Do not try to verify
12112    /// it is called by your mocks.
12113    fn get_polling_error_policy(
12114        &self,
12115        _options: &crate::RequestOptions,
12116    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12117        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12118    }
12119
12120    /// Returns the polling backoff policy.
12121    ///
12122    /// When mocking, this method is typically irrelevant. Do not try to verify
12123    /// it is called by your mocks.
12124    fn get_polling_backoff_policy(
12125        &self,
12126        _options: &crate::RequestOptions,
12127    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12128        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12129    }
12130
12131    #[doc(hidden)]
12132    /// Returns the poller options.
12133    ///
12134    /// When mocking, this method is typically irrelevant. Do not try to verify
12135    /// it is called by your mocks.
12136    fn get_poller_options(
12137        &self,
12138        _options: &crate::RequestOptions,
12139    ) -> google_cloud_lro::PollerOptions {
12140        google_cloud_lro::PollerOptions::default()
12141    }
12142}
12143
12144/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
12145///
12146/// Application developers may need to implement this trait to mock
12147/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
12148/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
12149/// its implementations.
12150///
12151/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12152/// too. To avoid breaking applications the trait provides a default
12153/// implementation of each method. Most of these implementations just return an
12154/// error.
12155#[cfg(feature = "region-target-https-proxies")]
12156#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
12157pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
12158    /// Implements [super::client::RegionTargetHttpsProxies::delete].
12159    fn delete(
12160        &self,
12161        _req: crate::model::region_target_https_proxies::DeleteRequest,
12162        _options: crate::RequestOptions,
12163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12164    {
12165        gaxi::unimplemented::unimplemented_stub()
12166    }
12167
12168    /// Implements [super::client::RegionTargetHttpsProxies::get].
12169    fn get(
12170        &self,
12171        _req: crate::model::region_target_https_proxies::GetRequest,
12172        _options: crate::RequestOptions,
12173    ) -> impl std::future::Future<
12174        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
12175    > + Send {
12176        gaxi::unimplemented::unimplemented_stub()
12177    }
12178
12179    /// Implements [super::client::RegionTargetHttpsProxies::insert].
12180    fn insert(
12181        &self,
12182        _req: crate::model::region_target_https_proxies::InsertRequest,
12183        _options: crate::RequestOptions,
12184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12185    {
12186        gaxi::unimplemented::unimplemented_stub()
12187    }
12188
12189    /// Implements [super::client::RegionTargetHttpsProxies::list].
12190    fn list(
12191        &self,
12192        _req: crate::model::region_target_https_proxies::ListRequest,
12193        _options: crate::RequestOptions,
12194    ) -> impl std::future::Future<
12195        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
12196    > + Send {
12197        gaxi::unimplemented::unimplemented_stub()
12198    }
12199
12200    /// Implements [super::client::RegionTargetHttpsProxies::patch].
12201    fn patch(
12202        &self,
12203        _req: crate::model::region_target_https_proxies::PatchRequest,
12204        _options: crate::RequestOptions,
12205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12206    {
12207        gaxi::unimplemented::unimplemented_stub()
12208    }
12209
12210    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
12211    fn set_ssl_certificates(
12212        &self,
12213        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
12214        _options: crate::RequestOptions,
12215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12216    {
12217        gaxi::unimplemented::unimplemented_stub()
12218    }
12219
12220    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
12221    fn set_url_map(
12222        &self,
12223        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
12224        _options: crate::RequestOptions,
12225    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12226    {
12227        gaxi::unimplemented::unimplemented_stub()
12228    }
12229
12230    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
12231    fn get_operation(
12232        &self,
12233        _req: crate::model::region_operations::GetRequest,
12234        _options: crate::RequestOptions,
12235    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12236    {
12237        gaxi::unimplemented::unimplemented_stub()
12238    }
12239
12240    /// Returns the polling error policy.
12241    ///
12242    /// When mocking, this method is typically irrelevant. Do not try to verify
12243    /// it is called by your mocks.
12244    fn get_polling_error_policy(
12245        &self,
12246        _options: &crate::RequestOptions,
12247    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12248        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12249    }
12250
12251    /// Returns the polling backoff policy.
12252    ///
12253    /// When mocking, this method is typically irrelevant. Do not try to verify
12254    /// it is called by your mocks.
12255    fn get_polling_backoff_policy(
12256        &self,
12257        _options: &crate::RequestOptions,
12258    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12259        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12260    }
12261
12262    #[doc(hidden)]
12263    /// Returns the poller options.
12264    ///
12265    /// When mocking, this method is typically irrelevant. Do not try to verify
12266    /// it is called by your mocks.
12267    fn get_poller_options(
12268        &self,
12269        _options: &crate::RequestOptions,
12270    ) -> google_cloud_lro::PollerOptions {
12271        google_cloud_lro::PollerOptions::default()
12272    }
12273}
12274
12275/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
12276///
12277/// Application developers may need to implement this trait to mock
12278/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
12279/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
12280/// its implementations.
12281///
12282/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12283/// too. To avoid breaking applications the trait provides a default
12284/// implementation of each method. Most of these implementations just return an
12285/// error.
12286#[cfg(feature = "region-target-tcp-proxies")]
12287#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
12288pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
12289    /// Implements [super::client::RegionTargetTcpProxies::delete].
12290    fn delete(
12291        &self,
12292        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
12293        _options: crate::RequestOptions,
12294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12295    {
12296        gaxi::unimplemented::unimplemented_stub()
12297    }
12298
12299    /// Implements [super::client::RegionTargetTcpProxies::get].
12300    fn get(
12301        &self,
12302        _req: crate::model::region_target_tcp_proxies::GetRequest,
12303        _options: crate::RequestOptions,
12304    ) -> impl std::future::Future<
12305        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
12306    > + Send {
12307        gaxi::unimplemented::unimplemented_stub()
12308    }
12309
12310    /// Implements [super::client::RegionTargetTcpProxies::insert].
12311    fn insert(
12312        &self,
12313        _req: crate::model::region_target_tcp_proxies::InsertRequest,
12314        _options: crate::RequestOptions,
12315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12316    {
12317        gaxi::unimplemented::unimplemented_stub()
12318    }
12319
12320    /// Implements [super::client::RegionTargetTcpProxies::list].
12321    fn list(
12322        &self,
12323        _req: crate::model::region_target_tcp_proxies::ListRequest,
12324        _options: crate::RequestOptions,
12325    ) -> impl std::future::Future<
12326        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
12327    > + Send {
12328        gaxi::unimplemented::unimplemented_stub()
12329    }
12330
12331    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
12332    fn get_operation(
12333        &self,
12334        _req: crate::model::region_operations::GetRequest,
12335        _options: crate::RequestOptions,
12336    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12337    {
12338        gaxi::unimplemented::unimplemented_stub()
12339    }
12340
12341    /// Returns the polling error policy.
12342    ///
12343    /// When mocking, this method is typically irrelevant. Do not try to verify
12344    /// it is called by your mocks.
12345    fn get_polling_error_policy(
12346        &self,
12347        _options: &crate::RequestOptions,
12348    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12349        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12350    }
12351
12352    /// Returns the polling backoff policy.
12353    ///
12354    /// When mocking, this method is typically irrelevant. Do not try to verify
12355    /// it is called by your mocks.
12356    fn get_polling_backoff_policy(
12357        &self,
12358        _options: &crate::RequestOptions,
12359    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12360        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12361    }
12362
12363    #[doc(hidden)]
12364    /// Returns the poller options.
12365    ///
12366    /// When mocking, this method is typically irrelevant. Do not try to verify
12367    /// it is called by your mocks.
12368    fn get_poller_options(
12369        &self,
12370        _options: &crate::RequestOptions,
12371    ) -> google_cloud_lro::PollerOptions {
12372        google_cloud_lro::PollerOptions::default()
12373    }
12374}
12375
12376/// Defines the trait used to implement [super::client::RegionUrlMaps].
12377///
12378/// Application developers may need to implement this trait to mock
12379/// `client::RegionUrlMaps`.  In other use-cases, application developers only
12380/// use `client::RegionUrlMaps` and need not be concerned with this trait or
12381/// its implementations.
12382///
12383/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12384/// too. To avoid breaking applications the trait provides a default
12385/// implementation of each method. Most of these implementations just return an
12386/// error.
12387#[cfg(feature = "region-url-maps")]
12388#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
12389pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
12390    /// Implements [super::client::RegionUrlMaps::delete].
12391    fn delete(
12392        &self,
12393        _req: crate::model::region_url_maps::DeleteRequest,
12394        _options: crate::RequestOptions,
12395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12396    {
12397        gaxi::unimplemented::unimplemented_stub()
12398    }
12399
12400    /// Implements [super::client::RegionUrlMaps::get].
12401    fn get(
12402        &self,
12403        _req: crate::model::region_url_maps::GetRequest,
12404        _options: crate::RequestOptions,
12405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
12406    {
12407        gaxi::unimplemented::unimplemented_stub()
12408    }
12409
12410    /// Implements [super::client::RegionUrlMaps::insert].
12411    fn insert(
12412        &self,
12413        _req: crate::model::region_url_maps::InsertRequest,
12414        _options: crate::RequestOptions,
12415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12416    {
12417        gaxi::unimplemented::unimplemented_stub()
12418    }
12419
12420    /// Implements [super::client::RegionUrlMaps::list].
12421    fn list(
12422        &self,
12423        _req: crate::model::region_url_maps::ListRequest,
12424        _options: crate::RequestOptions,
12425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
12426    {
12427        gaxi::unimplemented::unimplemented_stub()
12428    }
12429
12430    /// Implements [super::client::RegionUrlMaps::patch].
12431    fn patch(
12432        &self,
12433        _req: crate::model::region_url_maps::PatchRequest,
12434        _options: crate::RequestOptions,
12435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12436    {
12437        gaxi::unimplemented::unimplemented_stub()
12438    }
12439
12440    /// Implements [super::client::RegionUrlMaps::update].
12441    fn update(
12442        &self,
12443        _req: crate::model::region_url_maps::UpdateRequest,
12444        _options: crate::RequestOptions,
12445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12446    {
12447        gaxi::unimplemented::unimplemented_stub()
12448    }
12449
12450    /// Implements [super::client::RegionUrlMaps::validate].
12451    fn validate(
12452        &self,
12453        _req: crate::model::region_url_maps::ValidateRequest,
12454        _options: crate::RequestOptions,
12455    ) -> impl std::future::Future<
12456        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
12457    > + Send {
12458        gaxi::unimplemented::unimplemented_stub()
12459    }
12460
12461    /// Implements [super::client::RegionUrlMaps::get_operation].
12462    fn get_operation(
12463        &self,
12464        _req: crate::model::region_operations::GetRequest,
12465        _options: crate::RequestOptions,
12466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12467    {
12468        gaxi::unimplemented::unimplemented_stub()
12469    }
12470
12471    /// Returns the polling error policy.
12472    ///
12473    /// When mocking, this method is typically irrelevant. Do not try to verify
12474    /// it is called by your mocks.
12475    fn get_polling_error_policy(
12476        &self,
12477        _options: &crate::RequestOptions,
12478    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12479        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12480    }
12481
12482    /// Returns the polling backoff policy.
12483    ///
12484    /// When mocking, this method is typically irrelevant. Do not try to verify
12485    /// it is called by your mocks.
12486    fn get_polling_backoff_policy(
12487        &self,
12488        _options: &crate::RequestOptions,
12489    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12490        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12491    }
12492
12493    #[doc(hidden)]
12494    /// Returns the poller options.
12495    ///
12496    /// When mocking, this method is typically irrelevant. Do not try to verify
12497    /// it is called by your mocks.
12498    fn get_poller_options(
12499        &self,
12500        _options: &crate::RequestOptions,
12501    ) -> google_cloud_lro::PollerOptions {
12502        google_cloud_lro::PollerOptions::default()
12503    }
12504}
12505
12506/// Defines the trait used to implement [super::client::RegionZones].
12507///
12508/// Application developers may need to implement this trait to mock
12509/// `client::RegionZones`.  In other use-cases, application developers only
12510/// use `client::RegionZones` and need not be concerned with this trait or
12511/// its implementations.
12512///
12513/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12514/// too. To avoid breaking applications the trait provides a default
12515/// implementation of each method. Most of these implementations just return an
12516/// error.
12517#[cfg(feature = "region-zones")]
12518#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
12519pub trait RegionZones: std::fmt::Debug + Send + Sync {
12520    /// Implements [super::client::RegionZones::list].
12521    fn list(
12522        &self,
12523        _req: crate::model::region_zones::ListRequest,
12524        _options: crate::RequestOptions,
12525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
12526    {
12527        gaxi::unimplemented::unimplemented_stub()
12528    }
12529}
12530
12531/// Defines the trait used to implement [super::client::Regions].
12532///
12533/// Application developers may need to implement this trait to mock
12534/// `client::Regions`.  In other use-cases, application developers only
12535/// use `client::Regions` and need not be concerned with this trait or
12536/// its implementations.
12537///
12538/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12539/// too. To avoid breaking applications the trait provides a default
12540/// implementation of each method. Most of these implementations just return an
12541/// error.
12542#[cfg(feature = "regions")]
12543#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
12544pub trait Regions: std::fmt::Debug + Send + Sync {
12545    /// Implements [super::client::Regions::get].
12546    fn get(
12547        &self,
12548        _req: crate::model::regions::GetRequest,
12549        _options: crate::RequestOptions,
12550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
12551    {
12552        gaxi::unimplemented::unimplemented_stub()
12553    }
12554
12555    /// Implements [super::client::Regions::list].
12556    fn list(
12557        &self,
12558        _req: crate::model::regions::ListRequest,
12559        _options: crate::RequestOptions,
12560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
12561    {
12562        gaxi::unimplemented::unimplemented_stub()
12563    }
12564}
12565
12566/// Defines the trait used to implement [super::client::ReservationBlocks].
12567///
12568/// Application developers may need to implement this trait to mock
12569/// `client::ReservationBlocks`.  In other use-cases, application developers only
12570/// use `client::ReservationBlocks` and need not be concerned with this trait or
12571/// its implementations.
12572///
12573/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12574/// too. To avoid breaking applications the trait provides a default
12575/// implementation of each method. Most of these implementations just return an
12576/// error.
12577#[cfg(feature = "reservation-blocks")]
12578#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
12579pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
12580    /// Implements [super::client::ReservationBlocks::get].
12581    fn get(
12582        &self,
12583        _req: crate::model::reservation_blocks::GetRequest,
12584        _options: crate::RequestOptions,
12585    ) -> impl std::future::Future<
12586        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
12587    > + Send {
12588        gaxi::unimplemented::unimplemented_stub()
12589    }
12590
12591    /// Implements [super::client::ReservationBlocks::get_iam_policy].
12592    fn get_iam_policy(
12593        &self,
12594        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
12595        _options: crate::RequestOptions,
12596    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12597    {
12598        gaxi::unimplemented::unimplemented_stub()
12599    }
12600
12601    /// Implements [super::client::ReservationBlocks::list].
12602    fn list(
12603        &self,
12604        _req: crate::model::reservation_blocks::ListRequest,
12605        _options: crate::RequestOptions,
12606    ) -> impl std::future::Future<
12607        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
12608    > + Send {
12609        gaxi::unimplemented::unimplemented_stub()
12610    }
12611
12612    /// Implements [super::client::ReservationBlocks::perform_maintenance].
12613    fn perform_maintenance(
12614        &self,
12615        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
12616        _options: crate::RequestOptions,
12617    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12618    {
12619        gaxi::unimplemented::unimplemented_stub()
12620    }
12621
12622    /// Implements [super::client::ReservationBlocks::set_iam_policy].
12623    fn set_iam_policy(
12624        &self,
12625        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
12626        _options: crate::RequestOptions,
12627    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12628    {
12629        gaxi::unimplemented::unimplemented_stub()
12630    }
12631
12632    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
12633    fn test_iam_permissions(
12634        &self,
12635        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
12636        _options: crate::RequestOptions,
12637    ) -> impl std::future::Future<
12638        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12639    > + Send {
12640        gaxi::unimplemented::unimplemented_stub()
12641    }
12642
12643    /// Implements [super::client::ReservationBlocks::get_operation].
12644    fn get_operation(
12645        &self,
12646        _req: crate::model::zone_operations::GetRequest,
12647        _options: crate::RequestOptions,
12648    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12649    {
12650        gaxi::unimplemented::unimplemented_stub()
12651    }
12652
12653    /// Returns the polling error policy.
12654    ///
12655    /// When mocking, this method is typically irrelevant. Do not try to verify
12656    /// it is called by your mocks.
12657    fn get_polling_error_policy(
12658        &self,
12659        _options: &crate::RequestOptions,
12660    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12661        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12662    }
12663
12664    /// Returns the polling backoff policy.
12665    ///
12666    /// When mocking, this method is typically irrelevant. Do not try to verify
12667    /// it is called by your mocks.
12668    fn get_polling_backoff_policy(
12669        &self,
12670        _options: &crate::RequestOptions,
12671    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12672        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12673    }
12674
12675    #[doc(hidden)]
12676    /// Returns the poller options.
12677    ///
12678    /// When mocking, this method is typically irrelevant. Do not try to verify
12679    /// it is called by your mocks.
12680    fn get_poller_options(
12681        &self,
12682        _options: &crate::RequestOptions,
12683    ) -> google_cloud_lro::PollerOptions {
12684        google_cloud_lro::PollerOptions::default()
12685    }
12686}
12687
12688/// Defines the trait used to implement [super::client::ReservationSlots].
12689///
12690/// Application developers may need to implement this trait to mock
12691/// `client::ReservationSlots`.  In other use-cases, application developers only
12692/// use `client::ReservationSlots` and need not be concerned with this trait or
12693/// its implementations.
12694///
12695/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12696/// too. To avoid breaking applications the trait provides a default
12697/// implementation of each method. Most of these implementations just return an
12698/// error.
12699#[cfg(feature = "reservation-slots")]
12700#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
12701pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
12702    /// Implements [super::client::ReservationSlots::get].
12703    fn get(
12704        &self,
12705        _req: crate::model::reservation_slots::GetRequest,
12706        _options: crate::RequestOptions,
12707    ) -> impl std::future::Future<
12708        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
12709    > + Send {
12710        gaxi::unimplemented::unimplemented_stub()
12711    }
12712
12713    /// Implements [super::client::ReservationSlots::get_version].
12714    fn get_version(
12715        &self,
12716        _req: crate::model::reservation_slots::GetVersionRequest,
12717        _options: crate::RequestOptions,
12718    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12719    {
12720        gaxi::unimplemented::unimplemented_stub()
12721    }
12722
12723    /// Implements [super::client::ReservationSlots::list].
12724    fn list(
12725        &self,
12726        _req: crate::model::reservation_slots::ListRequest,
12727        _options: crate::RequestOptions,
12728    ) -> impl std::future::Future<
12729        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
12730    > + Send {
12731        gaxi::unimplemented::unimplemented_stub()
12732    }
12733
12734    /// Implements [super::client::ReservationSlots::update].
12735    fn update(
12736        &self,
12737        _req: crate::model::reservation_slots::UpdateRequest,
12738        _options: crate::RequestOptions,
12739    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12740    {
12741        gaxi::unimplemented::unimplemented_stub()
12742    }
12743
12744    /// Implements [super::client::ReservationSlots::get_operation].
12745    fn get_operation(
12746        &self,
12747        _req: crate::model::zone_operations::GetRequest,
12748        _options: crate::RequestOptions,
12749    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12750    {
12751        gaxi::unimplemented::unimplemented_stub()
12752    }
12753
12754    /// Returns the polling error policy.
12755    ///
12756    /// When mocking, this method is typically irrelevant. Do not try to verify
12757    /// it is called by your mocks.
12758    fn get_polling_error_policy(
12759        &self,
12760        _options: &crate::RequestOptions,
12761    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12762        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12763    }
12764
12765    /// Returns the polling backoff policy.
12766    ///
12767    /// When mocking, this method is typically irrelevant. Do not try to verify
12768    /// it is called by your mocks.
12769    fn get_polling_backoff_policy(
12770        &self,
12771        _options: &crate::RequestOptions,
12772    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12773        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12774    }
12775
12776    #[doc(hidden)]
12777    /// Returns the poller options.
12778    ///
12779    /// When mocking, this method is typically irrelevant. Do not try to verify
12780    /// it is called by your mocks.
12781    fn get_poller_options(
12782        &self,
12783        _options: &crate::RequestOptions,
12784    ) -> google_cloud_lro::PollerOptions {
12785        google_cloud_lro::PollerOptions::default()
12786    }
12787}
12788
12789/// Defines the trait used to implement [super::client::ReservationSubBlocks].
12790///
12791/// Application developers may need to implement this trait to mock
12792/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
12793/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
12794/// its implementations.
12795///
12796/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12797/// too. To avoid breaking applications the trait provides a default
12798/// implementation of each method. Most of these implementations just return an
12799/// error.
12800#[cfg(feature = "reservation-sub-blocks")]
12801#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
12802pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
12803    /// Implements [super::client::ReservationSubBlocks::get].
12804    fn get(
12805        &self,
12806        _req: crate::model::reservation_sub_blocks::GetRequest,
12807        _options: crate::RequestOptions,
12808    ) -> impl std::future::Future<
12809        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
12810    > + Send {
12811        gaxi::unimplemented::unimplemented_stub()
12812    }
12813
12814    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
12815    fn get_iam_policy(
12816        &self,
12817        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
12818        _options: crate::RequestOptions,
12819    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12820    {
12821        gaxi::unimplemented::unimplemented_stub()
12822    }
12823
12824    /// Implements [super::client::ReservationSubBlocks::get_version].
12825    fn get_version(
12826        &self,
12827        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
12828        _options: crate::RequestOptions,
12829    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12830    {
12831        gaxi::unimplemented::unimplemented_stub()
12832    }
12833
12834    /// Implements [super::client::ReservationSubBlocks::list].
12835    fn list(
12836        &self,
12837        _req: crate::model::reservation_sub_blocks::ListRequest,
12838        _options: crate::RequestOptions,
12839    ) -> impl std::future::Future<
12840        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
12841    > + Send {
12842        gaxi::unimplemented::unimplemented_stub()
12843    }
12844
12845    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
12846    fn perform_maintenance(
12847        &self,
12848        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
12849        _options: crate::RequestOptions,
12850    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12851    {
12852        gaxi::unimplemented::unimplemented_stub()
12853    }
12854
12855    /// Implements [super::client::ReservationSubBlocks::report_faulty].
12856    fn report_faulty(
12857        &self,
12858        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
12859        _options: crate::RequestOptions,
12860    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12861    {
12862        gaxi::unimplemented::unimplemented_stub()
12863    }
12864
12865    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
12866    fn set_iam_policy(
12867        &self,
12868        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
12869        _options: crate::RequestOptions,
12870    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12871    {
12872        gaxi::unimplemented::unimplemented_stub()
12873    }
12874
12875    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
12876    fn test_iam_permissions(
12877        &self,
12878        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
12879        _options: crate::RequestOptions,
12880    ) -> impl std::future::Future<
12881        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12882    > + Send {
12883        gaxi::unimplemented::unimplemented_stub()
12884    }
12885
12886    /// Implements [super::client::ReservationSubBlocks::get_operation].
12887    fn get_operation(
12888        &self,
12889        _req: crate::model::zone_operations::GetRequest,
12890        _options: crate::RequestOptions,
12891    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12892    {
12893        gaxi::unimplemented::unimplemented_stub()
12894    }
12895
12896    /// Returns the polling error policy.
12897    ///
12898    /// When mocking, this method is typically irrelevant. Do not try to verify
12899    /// it is called by your mocks.
12900    fn get_polling_error_policy(
12901        &self,
12902        _options: &crate::RequestOptions,
12903    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12904        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12905    }
12906
12907    /// Returns the polling backoff policy.
12908    ///
12909    /// When mocking, this method is typically irrelevant. Do not try to verify
12910    /// it is called by your mocks.
12911    fn get_polling_backoff_policy(
12912        &self,
12913        _options: &crate::RequestOptions,
12914    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12915        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12916    }
12917
12918    #[doc(hidden)]
12919    /// Returns the poller options.
12920    ///
12921    /// When mocking, this method is typically irrelevant. Do not try to verify
12922    /// it is called by your mocks.
12923    fn get_poller_options(
12924        &self,
12925        _options: &crate::RequestOptions,
12926    ) -> google_cloud_lro::PollerOptions {
12927        google_cloud_lro::PollerOptions::default()
12928    }
12929}
12930
12931/// Defines the trait used to implement [super::client::Reservations].
12932///
12933/// Application developers may need to implement this trait to mock
12934/// `client::Reservations`.  In other use-cases, application developers only
12935/// use `client::Reservations` and need not be concerned with this trait or
12936/// its implementations.
12937///
12938/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12939/// too. To avoid breaking applications the trait provides a default
12940/// implementation of each method. Most of these implementations just return an
12941/// error.
12942#[cfg(feature = "reservations")]
12943#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
12944pub trait Reservations: std::fmt::Debug + Send + Sync {
12945    /// Implements [super::client::Reservations::aggregated_list].
12946    fn aggregated_list(
12947        &self,
12948        _req: crate::model::reservations::AggregatedListRequest,
12949        _options: crate::RequestOptions,
12950    ) -> impl std::future::Future<
12951        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
12952    > + Send {
12953        gaxi::unimplemented::unimplemented_stub()
12954    }
12955
12956    /// Implements [super::client::Reservations::delete].
12957    fn delete(
12958        &self,
12959        _req: crate::model::reservations::DeleteRequest,
12960        _options: crate::RequestOptions,
12961    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12962    {
12963        gaxi::unimplemented::unimplemented_stub()
12964    }
12965
12966    /// Implements [super::client::Reservations::get].
12967    fn get(
12968        &self,
12969        _req: crate::model::reservations::GetRequest,
12970        _options: crate::RequestOptions,
12971    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
12972    + Send {
12973        gaxi::unimplemented::unimplemented_stub()
12974    }
12975
12976    /// Implements [super::client::Reservations::get_iam_policy].
12977    fn get_iam_policy(
12978        &self,
12979        _req: crate::model::reservations::GetIamPolicyRequest,
12980        _options: crate::RequestOptions,
12981    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12982    {
12983        gaxi::unimplemented::unimplemented_stub()
12984    }
12985
12986    /// Implements [super::client::Reservations::insert].
12987    fn insert(
12988        &self,
12989        _req: crate::model::reservations::InsertRequest,
12990        _options: crate::RequestOptions,
12991    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12992    {
12993        gaxi::unimplemented::unimplemented_stub()
12994    }
12995
12996    /// Implements [super::client::Reservations::list].
12997    fn list(
12998        &self,
12999        _req: crate::model::reservations::ListRequest,
13000        _options: crate::RequestOptions,
13001    ) -> impl std::future::Future<
13002        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
13003    > + Send {
13004        gaxi::unimplemented::unimplemented_stub()
13005    }
13006
13007    /// Implements [super::client::Reservations::perform_maintenance].
13008    fn perform_maintenance(
13009        &self,
13010        _req: crate::model::reservations::PerformMaintenanceRequest,
13011        _options: crate::RequestOptions,
13012    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13013    {
13014        gaxi::unimplemented::unimplemented_stub()
13015    }
13016
13017    /// Implements [super::client::Reservations::resize].
13018    fn resize(
13019        &self,
13020        _req: crate::model::reservations::ResizeRequest,
13021        _options: crate::RequestOptions,
13022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13023    {
13024        gaxi::unimplemented::unimplemented_stub()
13025    }
13026
13027    /// Implements [super::client::Reservations::set_iam_policy].
13028    fn set_iam_policy(
13029        &self,
13030        _req: crate::model::reservations::SetIamPolicyRequest,
13031        _options: crate::RequestOptions,
13032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13033    {
13034        gaxi::unimplemented::unimplemented_stub()
13035    }
13036
13037    /// Implements [super::client::Reservations::test_iam_permissions].
13038    fn test_iam_permissions(
13039        &self,
13040        _req: crate::model::reservations::TestIamPermissionsRequest,
13041        _options: crate::RequestOptions,
13042    ) -> impl std::future::Future<
13043        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13044    > + Send {
13045        gaxi::unimplemented::unimplemented_stub()
13046    }
13047
13048    /// Implements [super::client::Reservations::update].
13049    fn update(
13050        &self,
13051        _req: crate::model::reservations::UpdateRequest,
13052        _options: crate::RequestOptions,
13053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13054    {
13055        gaxi::unimplemented::unimplemented_stub()
13056    }
13057
13058    /// Implements [super::client::Reservations::get_operation].
13059    fn get_operation(
13060        &self,
13061        _req: crate::model::zone_operations::GetRequest,
13062        _options: crate::RequestOptions,
13063    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13064    {
13065        gaxi::unimplemented::unimplemented_stub()
13066    }
13067
13068    /// Returns the polling error policy.
13069    ///
13070    /// When mocking, this method is typically irrelevant. Do not try to verify
13071    /// it is called by your mocks.
13072    fn get_polling_error_policy(
13073        &self,
13074        _options: &crate::RequestOptions,
13075    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13076        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13077    }
13078
13079    /// Returns the polling backoff policy.
13080    ///
13081    /// When mocking, this method is typically irrelevant. Do not try to verify
13082    /// it is called by your mocks.
13083    fn get_polling_backoff_policy(
13084        &self,
13085        _options: &crate::RequestOptions,
13086    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13087        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13088    }
13089
13090    #[doc(hidden)]
13091    /// Returns the poller options.
13092    ///
13093    /// When mocking, this method is typically irrelevant. Do not try to verify
13094    /// it is called by your mocks.
13095    fn get_poller_options(
13096        &self,
13097        _options: &crate::RequestOptions,
13098    ) -> google_cloud_lro::PollerOptions {
13099        google_cloud_lro::PollerOptions::default()
13100    }
13101}
13102
13103/// Defines the trait used to implement [super::client::ResourcePolicies].
13104///
13105/// Application developers may need to implement this trait to mock
13106/// `client::ResourcePolicies`.  In other use-cases, application developers only
13107/// use `client::ResourcePolicies` and need not be concerned with this trait or
13108/// its implementations.
13109///
13110/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13111/// too. To avoid breaking applications the trait provides a default
13112/// implementation of each method. Most of these implementations just return an
13113/// error.
13114#[cfg(feature = "resource-policies")]
13115#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
13116pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
13117    /// Implements [super::client::ResourcePolicies::aggregated_list].
13118    fn aggregated_list(
13119        &self,
13120        _req: crate::model::resource_policies::AggregatedListRequest,
13121        _options: crate::RequestOptions,
13122    ) -> impl std::future::Future<
13123        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
13124    > + Send {
13125        gaxi::unimplemented::unimplemented_stub()
13126    }
13127
13128    /// Implements [super::client::ResourcePolicies::delete].
13129    fn delete(
13130        &self,
13131        _req: crate::model::resource_policies::DeleteRequest,
13132        _options: crate::RequestOptions,
13133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13134    {
13135        gaxi::unimplemented::unimplemented_stub()
13136    }
13137
13138    /// Implements [super::client::ResourcePolicies::get].
13139    fn get(
13140        &self,
13141        _req: crate::model::resource_policies::GetRequest,
13142        _options: crate::RequestOptions,
13143    ) -> impl std::future::Future<
13144        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
13145    > + Send {
13146        gaxi::unimplemented::unimplemented_stub()
13147    }
13148
13149    /// Implements [super::client::ResourcePolicies::get_iam_policy].
13150    fn get_iam_policy(
13151        &self,
13152        _req: crate::model::resource_policies::GetIamPolicyRequest,
13153        _options: crate::RequestOptions,
13154    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13155    {
13156        gaxi::unimplemented::unimplemented_stub()
13157    }
13158
13159    /// Implements [super::client::ResourcePolicies::insert].
13160    fn insert(
13161        &self,
13162        _req: crate::model::resource_policies::InsertRequest,
13163        _options: crate::RequestOptions,
13164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13165    {
13166        gaxi::unimplemented::unimplemented_stub()
13167    }
13168
13169    /// Implements [super::client::ResourcePolicies::list].
13170    fn list(
13171        &self,
13172        _req: crate::model::resource_policies::ListRequest,
13173        _options: crate::RequestOptions,
13174    ) -> impl std::future::Future<
13175        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
13176    > + Send {
13177        gaxi::unimplemented::unimplemented_stub()
13178    }
13179
13180    /// Implements [super::client::ResourcePolicies::patch].
13181    fn patch(
13182        &self,
13183        _req: crate::model::resource_policies::PatchRequest,
13184        _options: crate::RequestOptions,
13185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13186    {
13187        gaxi::unimplemented::unimplemented_stub()
13188    }
13189
13190    /// Implements [super::client::ResourcePolicies::set_iam_policy].
13191    fn set_iam_policy(
13192        &self,
13193        _req: crate::model::resource_policies::SetIamPolicyRequest,
13194        _options: crate::RequestOptions,
13195    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13196    {
13197        gaxi::unimplemented::unimplemented_stub()
13198    }
13199
13200    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
13201    fn test_iam_permissions(
13202        &self,
13203        _req: crate::model::resource_policies::TestIamPermissionsRequest,
13204        _options: crate::RequestOptions,
13205    ) -> impl std::future::Future<
13206        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13207    > + Send {
13208        gaxi::unimplemented::unimplemented_stub()
13209    }
13210
13211    /// Implements [super::client::ResourcePolicies::get_operation].
13212    fn get_operation(
13213        &self,
13214        _req: crate::model::region_operations::GetRequest,
13215        _options: crate::RequestOptions,
13216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13217    {
13218        gaxi::unimplemented::unimplemented_stub()
13219    }
13220
13221    /// Returns the polling error policy.
13222    ///
13223    /// When mocking, this method is typically irrelevant. Do not try to verify
13224    /// it is called by your mocks.
13225    fn get_polling_error_policy(
13226        &self,
13227        _options: &crate::RequestOptions,
13228    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13229        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13230    }
13231
13232    /// Returns the polling backoff policy.
13233    ///
13234    /// When mocking, this method is typically irrelevant. Do not try to verify
13235    /// it is called by your mocks.
13236    fn get_polling_backoff_policy(
13237        &self,
13238        _options: &crate::RequestOptions,
13239    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13240        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13241    }
13242
13243    #[doc(hidden)]
13244    /// Returns the poller options.
13245    ///
13246    /// When mocking, this method is typically irrelevant. Do not try to verify
13247    /// it is called by your mocks.
13248    fn get_poller_options(
13249        &self,
13250        _options: &crate::RequestOptions,
13251    ) -> google_cloud_lro::PollerOptions {
13252        google_cloud_lro::PollerOptions::default()
13253    }
13254}
13255
13256/// Defines the trait used to implement [super::client::RolloutPlans].
13257///
13258/// Application developers may need to implement this trait to mock
13259/// `client::RolloutPlans`.  In other use-cases, application developers only
13260/// use `client::RolloutPlans` and need not be concerned with this trait or
13261/// its implementations.
13262///
13263/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13264/// too. To avoid breaking applications the trait provides a default
13265/// implementation of each method. Most of these implementations just return an
13266/// error.
13267#[cfg(feature = "rollout-plans")]
13268#[cfg_attr(docsrs, doc(cfg(feature = "rollout-plans")))]
13269pub trait RolloutPlans: std::fmt::Debug + Send + Sync {
13270    /// Implements [super::client::RolloutPlans::delete].
13271    fn delete(
13272        &self,
13273        _req: crate::model::rollout_plans::DeleteRequest,
13274        _options: crate::RequestOptions,
13275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13276    {
13277        gaxi::unimplemented::unimplemented_stub()
13278    }
13279
13280    /// Implements [super::client::RolloutPlans::get].
13281    fn get(
13282        &self,
13283        _req: crate::model::rollout_plans::GetRequest,
13284        _options: crate::RequestOptions,
13285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RolloutPlan>>>
13286    + Send {
13287        gaxi::unimplemented::unimplemented_stub()
13288    }
13289
13290    /// Implements [super::client::RolloutPlans::insert].
13291    fn insert(
13292        &self,
13293        _req: crate::model::rollout_plans::InsertRequest,
13294        _options: crate::RequestOptions,
13295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13296    {
13297        gaxi::unimplemented::unimplemented_stub()
13298    }
13299
13300    /// Implements [super::client::RolloutPlans::list].
13301    fn list(
13302        &self,
13303        _req: crate::model::rollout_plans::ListRequest,
13304        _options: crate::RequestOptions,
13305    ) -> impl std::future::Future<
13306        Output = crate::Result<crate::Response<crate::model::RolloutPlansListResponse>>,
13307    > + Send {
13308        gaxi::unimplemented::unimplemented_stub()
13309    }
13310
13311    /// Implements [super::client::RolloutPlans::get_operation].
13312    fn get_operation(
13313        &self,
13314        _req: crate::model::global_operations::GetRequest,
13315        _options: crate::RequestOptions,
13316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13317    {
13318        gaxi::unimplemented::unimplemented_stub()
13319    }
13320
13321    /// Returns the polling error policy.
13322    ///
13323    /// When mocking, this method is typically irrelevant. Do not try to verify
13324    /// it is called by your mocks.
13325    fn get_polling_error_policy(
13326        &self,
13327        _options: &crate::RequestOptions,
13328    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13329        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13330    }
13331
13332    /// Returns the polling backoff policy.
13333    ///
13334    /// When mocking, this method is typically irrelevant. Do not try to verify
13335    /// it is called by your mocks.
13336    fn get_polling_backoff_policy(
13337        &self,
13338        _options: &crate::RequestOptions,
13339    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13340        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13341    }
13342
13343    #[doc(hidden)]
13344    /// Returns the poller options.
13345    ///
13346    /// When mocking, this method is typically irrelevant. Do not try to verify
13347    /// it is called by your mocks.
13348    fn get_poller_options(
13349        &self,
13350        _options: &crate::RequestOptions,
13351    ) -> google_cloud_lro::PollerOptions {
13352        google_cloud_lro::PollerOptions::default()
13353    }
13354}
13355
13356/// Defines the trait used to implement [super::client::Rollouts].
13357///
13358/// Application developers may need to implement this trait to mock
13359/// `client::Rollouts`.  In other use-cases, application developers only
13360/// use `client::Rollouts` and need not be concerned with this trait or
13361/// its implementations.
13362///
13363/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13364/// too. To avoid breaking applications the trait provides a default
13365/// implementation of each method. Most of these implementations just return an
13366/// error.
13367#[cfg(feature = "rollouts")]
13368#[cfg_attr(docsrs, doc(cfg(feature = "rollouts")))]
13369pub trait Rollouts: std::fmt::Debug + Send + Sync {
13370    /// Implements [super::client::Rollouts::advance].
13371    fn advance(
13372        &self,
13373        _req: crate::model::rollouts::AdvanceRequest,
13374        _options: crate::RequestOptions,
13375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13376    {
13377        gaxi::unimplemented::unimplemented_stub()
13378    }
13379
13380    /// Implements [super::client::Rollouts::cancel].
13381    fn cancel(
13382        &self,
13383        _req: crate::model::rollouts::CancelRequest,
13384        _options: crate::RequestOptions,
13385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13386    {
13387        gaxi::unimplemented::unimplemented_stub()
13388    }
13389
13390    /// Implements [super::client::Rollouts::delete].
13391    fn delete(
13392        &self,
13393        _req: crate::model::rollouts::DeleteRequest,
13394        _options: crate::RequestOptions,
13395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13396    {
13397        gaxi::unimplemented::unimplemented_stub()
13398    }
13399
13400    /// Implements [super::client::Rollouts::get].
13401    fn get(
13402        &self,
13403        _req: crate::model::rollouts::GetRequest,
13404        _options: crate::RequestOptions,
13405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Rollout>>> + Send
13406    {
13407        gaxi::unimplemented::unimplemented_stub()
13408    }
13409
13410    /// Implements [super::client::Rollouts::list].
13411    fn list(
13412        &self,
13413        _req: crate::model::rollouts::ListRequest,
13414        _options: crate::RequestOptions,
13415    ) -> impl std::future::Future<
13416        Output = crate::Result<crate::Response<crate::model::RolloutsListResponse>>,
13417    > + Send {
13418        gaxi::unimplemented::unimplemented_stub()
13419    }
13420
13421    /// Implements [super::client::Rollouts::pause].
13422    fn pause(
13423        &self,
13424        _req: crate::model::rollouts::PauseRequest,
13425        _options: crate::RequestOptions,
13426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13427    {
13428        gaxi::unimplemented::unimplemented_stub()
13429    }
13430
13431    /// Implements [super::client::Rollouts::resume].
13432    fn resume(
13433        &self,
13434        _req: crate::model::rollouts::ResumeRequest,
13435        _options: crate::RequestOptions,
13436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13437    {
13438        gaxi::unimplemented::unimplemented_stub()
13439    }
13440
13441    /// Implements [super::client::Rollouts::get_operation].
13442    fn get_operation(
13443        &self,
13444        _req: crate::model::global_operations::GetRequest,
13445        _options: crate::RequestOptions,
13446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13447    {
13448        gaxi::unimplemented::unimplemented_stub()
13449    }
13450
13451    /// Returns the polling error policy.
13452    ///
13453    /// When mocking, this method is typically irrelevant. Do not try to verify
13454    /// it is called by your mocks.
13455    fn get_polling_error_policy(
13456        &self,
13457        _options: &crate::RequestOptions,
13458    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13459        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13460    }
13461
13462    /// Returns the polling backoff policy.
13463    ///
13464    /// When mocking, this method is typically irrelevant. Do not try to verify
13465    /// it is called by your mocks.
13466    fn get_polling_backoff_policy(
13467        &self,
13468        _options: &crate::RequestOptions,
13469    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13470        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13471    }
13472
13473    #[doc(hidden)]
13474    /// Returns the poller options.
13475    ///
13476    /// When mocking, this method is typically irrelevant. Do not try to verify
13477    /// it is called by your mocks.
13478    fn get_poller_options(
13479        &self,
13480        _options: &crate::RequestOptions,
13481    ) -> google_cloud_lro::PollerOptions {
13482        google_cloud_lro::PollerOptions::default()
13483    }
13484}
13485
13486/// Defines the trait used to implement [super::client::Routers].
13487///
13488/// Application developers may need to implement this trait to mock
13489/// `client::Routers`.  In other use-cases, application developers only
13490/// use `client::Routers` and need not be concerned with this trait or
13491/// its implementations.
13492///
13493/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13494/// too. To avoid breaking applications the trait provides a default
13495/// implementation of each method. Most of these implementations just return an
13496/// error.
13497#[cfg(feature = "routers")]
13498#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
13499pub trait Routers: std::fmt::Debug + Send + Sync {
13500    /// Implements [super::client::Routers::aggregated_list].
13501    fn aggregated_list(
13502        &self,
13503        _req: crate::model::routers::AggregatedListRequest,
13504        _options: crate::RequestOptions,
13505    ) -> impl std::future::Future<
13506        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
13507    > + Send {
13508        gaxi::unimplemented::unimplemented_stub()
13509    }
13510
13511    /// Implements [super::client::Routers::delete].
13512    fn delete(
13513        &self,
13514        _req: crate::model::routers::DeleteRequest,
13515        _options: crate::RequestOptions,
13516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13517    {
13518        gaxi::unimplemented::unimplemented_stub()
13519    }
13520
13521    /// Implements [super::client::Routers::delete_route_policy].
13522    fn delete_route_policy(
13523        &self,
13524        _req: crate::model::routers::DeleteRoutePolicyRequest,
13525        _options: crate::RequestOptions,
13526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13527    {
13528        gaxi::unimplemented::unimplemented_stub()
13529    }
13530
13531    /// Implements [super::client::Routers::get].
13532    fn get(
13533        &self,
13534        _req: crate::model::routers::GetRequest,
13535        _options: crate::RequestOptions,
13536    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
13537    {
13538        gaxi::unimplemented::unimplemented_stub()
13539    }
13540
13541    /// Implements [super::client::Routers::get_nat_ip_info].
13542    fn get_nat_ip_info(
13543        &self,
13544        _req: crate::model::routers::GetNatIpInfoRequest,
13545        _options: crate::RequestOptions,
13546    ) -> impl std::future::Future<
13547        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
13548    > + Send {
13549        gaxi::unimplemented::unimplemented_stub()
13550    }
13551
13552    /// Implements [super::client::Routers::get_nat_mapping_info].
13553    fn get_nat_mapping_info(
13554        &self,
13555        _req: crate::model::routers::GetNatMappingInfoRequest,
13556        _options: crate::RequestOptions,
13557    ) -> impl std::future::Future<
13558        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
13559    > + Send {
13560        gaxi::unimplemented::unimplemented_stub()
13561    }
13562
13563    /// Implements [super::client::Routers::get_route_policy].
13564    fn get_route_policy(
13565        &self,
13566        _req: crate::model::routers::GetRoutePolicyRequest,
13567        _options: crate::RequestOptions,
13568    ) -> impl std::future::Future<
13569        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
13570    > + Send {
13571        gaxi::unimplemented::unimplemented_stub()
13572    }
13573
13574    /// Implements [super::client::Routers::get_router_status].
13575    fn get_router_status(
13576        &self,
13577        _req: crate::model::routers::GetRouterStatusRequest,
13578        _options: crate::RequestOptions,
13579    ) -> impl std::future::Future<
13580        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
13581    > + Send {
13582        gaxi::unimplemented::unimplemented_stub()
13583    }
13584
13585    /// Implements [super::client::Routers::insert].
13586    fn insert(
13587        &self,
13588        _req: crate::model::routers::InsertRequest,
13589        _options: crate::RequestOptions,
13590    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13591    {
13592        gaxi::unimplemented::unimplemented_stub()
13593    }
13594
13595    /// Implements [super::client::Routers::list].
13596    fn list(
13597        &self,
13598        _req: crate::model::routers::ListRequest,
13599        _options: crate::RequestOptions,
13600    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
13601    {
13602        gaxi::unimplemented::unimplemented_stub()
13603    }
13604
13605    /// Implements [super::client::Routers::list_bgp_routes].
13606    fn list_bgp_routes(
13607        &self,
13608        _req: crate::model::routers::ListBgpRoutesRequest,
13609        _options: crate::RequestOptions,
13610    ) -> impl std::future::Future<
13611        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
13612    > + Send {
13613        gaxi::unimplemented::unimplemented_stub()
13614    }
13615
13616    /// Implements [super::client::Routers::list_route_policies].
13617    fn list_route_policies(
13618        &self,
13619        _req: crate::model::routers::ListRoutePoliciesRequest,
13620        _options: crate::RequestOptions,
13621    ) -> impl std::future::Future<
13622        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
13623    > + Send {
13624        gaxi::unimplemented::unimplemented_stub()
13625    }
13626
13627    /// Implements [super::client::Routers::patch].
13628    fn patch(
13629        &self,
13630        _req: crate::model::routers::PatchRequest,
13631        _options: crate::RequestOptions,
13632    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13633    {
13634        gaxi::unimplemented::unimplemented_stub()
13635    }
13636
13637    /// Implements [super::client::Routers::patch_route_policy].
13638    fn patch_route_policy(
13639        &self,
13640        _req: crate::model::routers::PatchRoutePolicyRequest,
13641        _options: crate::RequestOptions,
13642    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13643    {
13644        gaxi::unimplemented::unimplemented_stub()
13645    }
13646
13647    /// Implements [super::client::Routers::preview].
13648    fn preview(
13649        &self,
13650        _req: crate::model::routers::PreviewRequest,
13651        _options: crate::RequestOptions,
13652    ) -> impl std::future::Future<
13653        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
13654    > + Send {
13655        gaxi::unimplemented::unimplemented_stub()
13656    }
13657
13658    /// Implements [super::client::Routers::update].
13659    fn update(
13660        &self,
13661        _req: crate::model::routers::UpdateRequest,
13662        _options: crate::RequestOptions,
13663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13664    {
13665        gaxi::unimplemented::unimplemented_stub()
13666    }
13667
13668    /// Implements [super::client::Routers::update_route_policy].
13669    fn update_route_policy(
13670        &self,
13671        _req: crate::model::routers::UpdateRoutePolicyRequest,
13672        _options: crate::RequestOptions,
13673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13674    {
13675        gaxi::unimplemented::unimplemented_stub()
13676    }
13677
13678    /// Implements [super::client::Routers::get_operation].
13679    fn get_operation(
13680        &self,
13681        _req: crate::model::region_operations::GetRequest,
13682        _options: crate::RequestOptions,
13683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13684    {
13685        gaxi::unimplemented::unimplemented_stub()
13686    }
13687
13688    /// Returns the polling error policy.
13689    ///
13690    /// When mocking, this method is typically irrelevant. Do not try to verify
13691    /// it is called by your mocks.
13692    fn get_polling_error_policy(
13693        &self,
13694        _options: &crate::RequestOptions,
13695    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13696        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13697    }
13698
13699    /// Returns the polling backoff policy.
13700    ///
13701    /// When mocking, this method is typically irrelevant. Do not try to verify
13702    /// it is called by your mocks.
13703    fn get_polling_backoff_policy(
13704        &self,
13705        _options: &crate::RequestOptions,
13706    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13707        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13708    }
13709
13710    #[doc(hidden)]
13711    /// Returns the poller options.
13712    ///
13713    /// When mocking, this method is typically irrelevant. Do not try to verify
13714    /// it is called by your mocks.
13715    fn get_poller_options(
13716        &self,
13717        _options: &crate::RequestOptions,
13718    ) -> google_cloud_lro::PollerOptions {
13719        google_cloud_lro::PollerOptions::default()
13720    }
13721}
13722
13723/// Defines the trait used to implement [super::client::Routes].
13724///
13725/// Application developers may need to implement this trait to mock
13726/// `client::Routes`.  In other use-cases, application developers only
13727/// use `client::Routes` and need not be concerned with this trait or
13728/// its implementations.
13729///
13730/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13731/// too. To avoid breaking applications the trait provides a default
13732/// implementation of each method. Most of these implementations just return an
13733/// error.
13734#[cfg(feature = "routes")]
13735#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
13736pub trait Routes: std::fmt::Debug + Send + Sync {
13737    /// Implements [super::client::Routes::delete].
13738    fn delete(
13739        &self,
13740        _req: crate::model::routes::DeleteRequest,
13741        _options: crate::RequestOptions,
13742    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13743    {
13744        gaxi::unimplemented::unimplemented_stub()
13745    }
13746
13747    /// Implements [super::client::Routes::get].
13748    fn get(
13749        &self,
13750        _req: crate::model::routes::GetRequest,
13751        _options: crate::RequestOptions,
13752    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
13753    {
13754        gaxi::unimplemented::unimplemented_stub()
13755    }
13756
13757    /// Implements [super::client::Routes::insert].
13758    fn insert(
13759        &self,
13760        _req: crate::model::routes::InsertRequest,
13761        _options: crate::RequestOptions,
13762    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13763    {
13764        gaxi::unimplemented::unimplemented_stub()
13765    }
13766
13767    /// Implements [super::client::Routes::list].
13768    fn list(
13769        &self,
13770        _req: crate::model::routes::ListRequest,
13771        _options: crate::RequestOptions,
13772    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
13773    {
13774        gaxi::unimplemented::unimplemented_stub()
13775    }
13776
13777    /// Implements [super::client::Routes::test_iam_permissions].
13778    fn test_iam_permissions(
13779        &self,
13780        _req: crate::model::routes::TestIamPermissionsRequest,
13781        _options: crate::RequestOptions,
13782    ) -> impl std::future::Future<
13783        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13784    > + Send {
13785        gaxi::unimplemented::unimplemented_stub()
13786    }
13787
13788    /// Implements [super::client::Routes::get_operation].
13789    fn get_operation(
13790        &self,
13791        _req: crate::model::global_operations::GetRequest,
13792        _options: crate::RequestOptions,
13793    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13794    {
13795        gaxi::unimplemented::unimplemented_stub()
13796    }
13797
13798    /// Returns the polling error policy.
13799    ///
13800    /// When mocking, this method is typically irrelevant. Do not try to verify
13801    /// it is called by your mocks.
13802    fn get_polling_error_policy(
13803        &self,
13804        _options: &crate::RequestOptions,
13805    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13806        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13807    }
13808
13809    /// Returns the polling backoff policy.
13810    ///
13811    /// When mocking, this method is typically irrelevant. Do not try to verify
13812    /// it is called by your mocks.
13813    fn get_polling_backoff_policy(
13814        &self,
13815        _options: &crate::RequestOptions,
13816    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13817        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13818    }
13819
13820    #[doc(hidden)]
13821    /// Returns the poller options.
13822    ///
13823    /// When mocking, this method is typically irrelevant. Do not try to verify
13824    /// it is called by your mocks.
13825    fn get_poller_options(
13826        &self,
13827        _options: &crate::RequestOptions,
13828    ) -> google_cloud_lro::PollerOptions {
13829        google_cloud_lro::PollerOptions::default()
13830    }
13831}
13832
13833/// Defines the trait used to implement [super::client::SecurityPolicies].
13834///
13835/// Application developers may need to implement this trait to mock
13836/// `client::SecurityPolicies`.  In other use-cases, application developers only
13837/// use `client::SecurityPolicies` and need not be concerned with this trait or
13838/// its implementations.
13839///
13840/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13841/// too. To avoid breaking applications the trait provides a default
13842/// implementation of each method. Most of these implementations just return an
13843/// error.
13844#[cfg(feature = "security-policies")]
13845#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
13846pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
13847    /// Implements [super::client::SecurityPolicies::add_rule].
13848    fn add_rule(
13849        &self,
13850        _req: crate::model::security_policies::AddRuleRequest,
13851        _options: crate::RequestOptions,
13852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13853    {
13854        gaxi::unimplemented::unimplemented_stub()
13855    }
13856
13857    /// Implements [super::client::SecurityPolicies::aggregated_list].
13858    fn aggregated_list(
13859        &self,
13860        _req: crate::model::security_policies::AggregatedListRequest,
13861        _options: crate::RequestOptions,
13862    ) -> impl std::future::Future<
13863        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
13864    > + Send {
13865        gaxi::unimplemented::unimplemented_stub()
13866    }
13867
13868    /// Implements [super::client::SecurityPolicies::delete].
13869    fn delete(
13870        &self,
13871        _req: crate::model::security_policies::DeleteRequest,
13872        _options: crate::RequestOptions,
13873    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13874    {
13875        gaxi::unimplemented::unimplemented_stub()
13876    }
13877
13878    /// Implements [super::client::SecurityPolicies::get].
13879    fn get(
13880        &self,
13881        _req: crate::model::security_policies::GetRequest,
13882        _options: crate::RequestOptions,
13883    ) -> impl std::future::Future<
13884        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
13885    > + Send {
13886        gaxi::unimplemented::unimplemented_stub()
13887    }
13888
13889    /// Implements [super::client::SecurityPolicies::get_rule].
13890    fn get_rule(
13891        &self,
13892        _req: crate::model::security_policies::GetRuleRequest,
13893        _options: crate::RequestOptions,
13894    ) -> impl std::future::Future<
13895        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
13896    > + Send {
13897        gaxi::unimplemented::unimplemented_stub()
13898    }
13899
13900    /// Implements [super::client::SecurityPolicies::insert].
13901    fn insert(
13902        &self,
13903        _req: crate::model::security_policies::InsertRequest,
13904        _options: crate::RequestOptions,
13905    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13906    {
13907        gaxi::unimplemented::unimplemented_stub()
13908    }
13909
13910    /// Implements [super::client::SecurityPolicies::list].
13911    fn list(
13912        &self,
13913        _req: crate::model::security_policies::ListRequest,
13914        _options: crate::RequestOptions,
13915    ) -> impl std::future::Future<
13916        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
13917    > + Send {
13918        gaxi::unimplemented::unimplemented_stub()
13919    }
13920
13921    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
13922    fn list_preconfigured_expression_sets(
13923        &self,
13924        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
13925        _options: crate::RequestOptions,
13926    ) -> impl std::future::Future<
13927        Output = crate::Result<
13928            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
13929        >,
13930    > + Send {
13931        gaxi::unimplemented::unimplemented_stub()
13932    }
13933
13934    /// Implements [super::client::SecurityPolicies::patch].
13935    fn patch(
13936        &self,
13937        _req: crate::model::security_policies::PatchRequest,
13938        _options: crate::RequestOptions,
13939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13940    {
13941        gaxi::unimplemented::unimplemented_stub()
13942    }
13943
13944    /// Implements [super::client::SecurityPolicies::patch_rule].
13945    fn patch_rule(
13946        &self,
13947        _req: crate::model::security_policies::PatchRuleRequest,
13948        _options: crate::RequestOptions,
13949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13950    {
13951        gaxi::unimplemented::unimplemented_stub()
13952    }
13953
13954    /// Implements [super::client::SecurityPolicies::remove_rule].
13955    fn remove_rule(
13956        &self,
13957        _req: crate::model::security_policies::RemoveRuleRequest,
13958        _options: crate::RequestOptions,
13959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13960    {
13961        gaxi::unimplemented::unimplemented_stub()
13962    }
13963
13964    /// Implements [super::client::SecurityPolicies::set_labels].
13965    fn set_labels(
13966        &self,
13967        _req: crate::model::security_policies::SetLabelsRequest,
13968        _options: crate::RequestOptions,
13969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13970    {
13971        gaxi::unimplemented::unimplemented_stub()
13972    }
13973
13974    /// Implements [super::client::SecurityPolicies::get_operation].
13975    fn get_operation(
13976        &self,
13977        _req: crate::model::global_operations::GetRequest,
13978        _options: crate::RequestOptions,
13979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13980    {
13981        gaxi::unimplemented::unimplemented_stub()
13982    }
13983
13984    /// Returns the polling error policy.
13985    ///
13986    /// When mocking, this method is typically irrelevant. Do not try to verify
13987    /// it is called by your mocks.
13988    fn get_polling_error_policy(
13989        &self,
13990        _options: &crate::RequestOptions,
13991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13992        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13993    }
13994
13995    /// Returns the polling backoff policy.
13996    ///
13997    /// When mocking, this method is typically irrelevant. Do not try to verify
13998    /// it is called by your mocks.
13999    fn get_polling_backoff_policy(
14000        &self,
14001        _options: &crate::RequestOptions,
14002    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14003        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14004    }
14005
14006    #[doc(hidden)]
14007    /// Returns the poller options.
14008    ///
14009    /// When mocking, this method is typically irrelevant. Do not try to verify
14010    /// it is called by your mocks.
14011    fn get_poller_options(
14012        &self,
14013        _options: &crate::RequestOptions,
14014    ) -> google_cloud_lro::PollerOptions {
14015        google_cloud_lro::PollerOptions::default()
14016    }
14017}
14018
14019/// Defines the trait used to implement [super::client::ServiceAttachments].
14020///
14021/// Application developers may need to implement this trait to mock
14022/// `client::ServiceAttachments`.  In other use-cases, application developers only
14023/// use `client::ServiceAttachments` and need not be concerned with this trait or
14024/// its implementations.
14025///
14026/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14027/// too. To avoid breaking applications the trait provides a default
14028/// implementation of each method. Most of these implementations just return an
14029/// error.
14030#[cfg(feature = "service-attachments")]
14031#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
14032pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
14033    /// Implements [super::client::ServiceAttachments::aggregated_list].
14034    fn aggregated_list(
14035        &self,
14036        _req: crate::model::service_attachments::AggregatedListRequest,
14037        _options: crate::RequestOptions,
14038    ) -> impl std::future::Future<
14039        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
14040    > + Send {
14041        gaxi::unimplemented::unimplemented_stub()
14042    }
14043
14044    /// Implements [super::client::ServiceAttachments::delete].
14045    fn delete(
14046        &self,
14047        _req: crate::model::service_attachments::DeleteRequest,
14048        _options: crate::RequestOptions,
14049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14050    {
14051        gaxi::unimplemented::unimplemented_stub()
14052    }
14053
14054    /// Implements [super::client::ServiceAttachments::get].
14055    fn get(
14056        &self,
14057        _req: crate::model::service_attachments::GetRequest,
14058        _options: crate::RequestOptions,
14059    ) -> impl std::future::Future<
14060        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
14061    > + Send {
14062        gaxi::unimplemented::unimplemented_stub()
14063    }
14064
14065    /// Implements [super::client::ServiceAttachments::get_iam_policy].
14066    fn get_iam_policy(
14067        &self,
14068        _req: crate::model::service_attachments::GetIamPolicyRequest,
14069        _options: crate::RequestOptions,
14070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14071    {
14072        gaxi::unimplemented::unimplemented_stub()
14073    }
14074
14075    /// Implements [super::client::ServiceAttachments::insert].
14076    fn insert(
14077        &self,
14078        _req: crate::model::service_attachments::InsertRequest,
14079        _options: crate::RequestOptions,
14080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14081    {
14082        gaxi::unimplemented::unimplemented_stub()
14083    }
14084
14085    /// Implements [super::client::ServiceAttachments::list].
14086    fn list(
14087        &self,
14088        _req: crate::model::service_attachments::ListRequest,
14089        _options: crate::RequestOptions,
14090    ) -> impl std::future::Future<
14091        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
14092    > + Send {
14093        gaxi::unimplemented::unimplemented_stub()
14094    }
14095
14096    /// Implements [super::client::ServiceAttachments::patch].
14097    fn patch(
14098        &self,
14099        _req: crate::model::service_attachments::PatchRequest,
14100        _options: crate::RequestOptions,
14101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14102    {
14103        gaxi::unimplemented::unimplemented_stub()
14104    }
14105
14106    /// Implements [super::client::ServiceAttachments::set_iam_policy].
14107    fn set_iam_policy(
14108        &self,
14109        _req: crate::model::service_attachments::SetIamPolicyRequest,
14110        _options: crate::RequestOptions,
14111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14112    {
14113        gaxi::unimplemented::unimplemented_stub()
14114    }
14115
14116    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
14117    fn test_iam_permissions(
14118        &self,
14119        _req: crate::model::service_attachments::TestIamPermissionsRequest,
14120        _options: crate::RequestOptions,
14121    ) -> impl std::future::Future<
14122        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14123    > + Send {
14124        gaxi::unimplemented::unimplemented_stub()
14125    }
14126
14127    /// Implements [super::client::ServiceAttachments::get_operation].
14128    fn get_operation(
14129        &self,
14130        _req: crate::model::region_operations::GetRequest,
14131        _options: crate::RequestOptions,
14132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14133    {
14134        gaxi::unimplemented::unimplemented_stub()
14135    }
14136
14137    /// Returns the polling error policy.
14138    ///
14139    /// When mocking, this method is typically irrelevant. Do not try to verify
14140    /// it is called by your mocks.
14141    fn get_polling_error_policy(
14142        &self,
14143        _options: &crate::RequestOptions,
14144    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14145        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14146    }
14147
14148    /// Returns the polling backoff policy.
14149    ///
14150    /// When mocking, this method is typically irrelevant. Do not try to verify
14151    /// it is called by your mocks.
14152    fn get_polling_backoff_policy(
14153        &self,
14154        _options: &crate::RequestOptions,
14155    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14156        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14157    }
14158
14159    #[doc(hidden)]
14160    /// Returns the poller options.
14161    ///
14162    /// When mocking, this method is typically irrelevant. Do not try to verify
14163    /// it is called by your mocks.
14164    fn get_poller_options(
14165        &self,
14166        _options: &crate::RequestOptions,
14167    ) -> google_cloud_lro::PollerOptions {
14168        google_cloud_lro::PollerOptions::default()
14169    }
14170}
14171
14172/// Defines the trait used to implement [super::client::SnapshotSettings].
14173///
14174/// Application developers may need to implement this trait to mock
14175/// `client::SnapshotSettings`.  In other use-cases, application developers only
14176/// use `client::SnapshotSettings` and need not be concerned with this trait or
14177/// its implementations.
14178///
14179/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14180/// too. To avoid breaking applications the trait provides a default
14181/// implementation of each method. Most of these implementations just return an
14182/// error.
14183#[cfg(feature = "snapshot-settings")]
14184#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
14185pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
14186    /// Implements [super::client::SnapshotSettings::get].
14187    fn get(
14188        &self,
14189        _req: crate::model::snapshot_settings::GetRequest,
14190        _options: crate::RequestOptions,
14191    ) -> impl std::future::Future<
14192        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
14193    > + Send {
14194        gaxi::unimplemented::unimplemented_stub()
14195    }
14196
14197    /// Implements [super::client::SnapshotSettings::patch].
14198    fn patch(
14199        &self,
14200        _req: crate::model::snapshot_settings::PatchRequest,
14201        _options: crate::RequestOptions,
14202    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14203    {
14204        gaxi::unimplemented::unimplemented_stub()
14205    }
14206
14207    /// Implements [super::client::SnapshotSettings::get_operation].
14208    fn get_operation(
14209        &self,
14210        _req: crate::model::global_operations::GetRequest,
14211        _options: crate::RequestOptions,
14212    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14213    {
14214        gaxi::unimplemented::unimplemented_stub()
14215    }
14216
14217    /// Returns the polling error policy.
14218    ///
14219    /// When mocking, this method is typically irrelevant. Do not try to verify
14220    /// it is called by your mocks.
14221    fn get_polling_error_policy(
14222        &self,
14223        _options: &crate::RequestOptions,
14224    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14225        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14226    }
14227
14228    /// Returns the polling backoff policy.
14229    ///
14230    /// When mocking, this method is typically irrelevant. Do not try to verify
14231    /// it is called by your mocks.
14232    fn get_polling_backoff_policy(
14233        &self,
14234        _options: &crate::RequestOptions,
14235    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14236        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14237    }
14238
14239    #[doc(hidden)]
14240    /// Returns the poller options.
14241    ///
14242    /// When mocking, this method is typically irrelevant. Do not try to verify
14243    /// it is called by your mocks.
14244    fn get_poller_options(
14245        &self,
14246        _options: &crate::RequestOptions,
14247    ) -> google_cloud_lro::PollerOptions {
14248        google_cloud_lro::PollerOptions::default()
14249    }
14250}
14251
14252/// Defines the trait used to implement [super::client::Snapshots].
14253///
14254/// Application developers may need to implement this trait to mock
14255/// `client::Snapshots`.  In other use-cases, application developers only
14256/// use `client::Snapshots` and need not be concerned with this trait or
14257/// its implementations.
14258///
14259/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14260/// too. To avoid breaking applications the trait provides a default
14261/// implementation of each method. Most of these implementations just return an
14262/// error.
14263#[cfg(feature = "snapshots")]
14264#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
14265pub trait Snapshots: std::fmt::Debug + Send + Sync {
14266    /// Implements [super::client::Snapshots::delete].
14267    fn delete(
14268        &self,
14269        _req: crate::model::snapshots::DeleteRequest,
14270        _options: crate::RequestOptions,
14271    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14272    {
14273        gaxi::unimplemented::unimplemented_stub()
14274    }
14275
14276    /// Implements [super::client::Snapshots::get].
14277    fn get(
14278        &self,
14279        _req: crate::model::snapshots::GetRequest,
14280        _options: crate::RequestOptions,
14281    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
14282    {
14283        gaxi::unimplemented::unimplemented_stub()
14284    }
14285
14286    /// Implements [super::client::Snapshots::get_iam_policy].
14287    fn get_iam_policy(
14288        &self,
14289        _req: crate::model::snapshots::GetIamPolicyRequest,
14290        _options: crate::RequestOptions,
14291    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14292    {
14293        gaxi::unimplemented::unimplemented_stub()
14294    }
14295
14296    /// Implements [super::client::Snapshots::insert].
14297    fn insert(
14298        &self,
14299        _req: crate::model::snapshots::InsertRequest,
14300        _options: crate::RequestOptions,
14301    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14302    {
14303        gaxi::unimplemented::unimplemented_stub()
14304    }
14305
14306    /// Implements [super::client::Snapshots::list].
14307    fn list(
14308        &self,
14309        _req: crate::model::snapshots::ListRequest,
14310        _options: crate::RequestOptions,
14311    ) -> impl std::future::Future<
14312        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
14313    > + Send {
14314        gaxi::unimplemented::unimplemented_stub()
14315    }
14316
14317    /// Implements [super::client::Snapshots::set_iam_policy].
14318    fn set_iam_policy(
14319        &self,
14320        _req: crate::model::snapshots::SetIamPolicyRequest,
14321        _options: crate::RequestOptions,
14322    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14323    {
14324        gaxi::unimplemented::unimplemented_stub()
14325    }
14326
14327    /// Implements [super::client::Snapshots::set_labels].
14328    fn set_labels(
14329        &self,
14330        _req: crate::model::snapshots::SetLabelsRequest,
14331        _options: crate::RequestOptions,
14332    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14333    {
14334        gaxi::unimplemented::unimplemented_stub()
14335    }
14336
14337    /// Implements [super::client::Snapshots::test_iam_permissions].
14338    fn test_iam_permissions(
14339        &self,
14340        _req: crate::model::snapshots::TestIamPermissionsRequest,
14341        _options: crate::RequestOptions,
14342    ) -> impl std::future::Future<
14343        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14344    > + Send {
14345        gaxi::unimplemented::unimplemented_stub()
14346    }
14347
14348    /// Implements [super::client::Snapshots::update_kms_key].
14349    fn update_kms_key(
14350        &self,
14351        _req: crate::model::snapshots::UpdateKmsKeyRequest,
14352        _options: crate::RequestOptions,
14353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14354    {
14355        gaxi::unimplemented::unimplemented_stub()
14356    }
14357
14358    /// Implements [super::client::Snapshots::get_operation].
14359    fn get_operation(
14360        &self,
14361        _req: crate::model::global_operations::GetRequest,
14362        _options: crate::RequestOptions,
14363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14364    {
14365        gaxi::unimplemented::unimplemented_stub()
14366    }
14367
14368    /// Returns the polling error policy.
14369    ///
14370    /// When mocking, this method is typically irrelevant. Do not try to verify
14371    /// it is called by your mocks.
14372    fn get_polling_error_policy(
14373        &self,
14374        _options: &crate::RequestOptions,
14375    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14376        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14377    }
14378
14379    /// Returns the polling backoff policy.
14380    ///
14381    /// When mocking, this method is typically irrelevant. Do not try to verify
14382    /// it is called by your mocks.
14383    fn get_polling_backoff_policy(
14384        &self,
14385        _options: &crate::RequestOptions,
14386    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14387        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14388    }
14389
14390    #[doc(hidden)]
14391    /// Returns the poller options.
14392    ///
14393    /// When mocking, this method is typically irrelevant. Do not try to verify
14394    /// it is called by your mocks.
14395    fn get_poller_options(
14396        &self,
14397        _options: &crate::RequestOptions,
14398    ) -> google_cloud_lro::PollerOptions {
14399        google_cloud_lro::PollerOptions::default()
14400    }
14401}
14402
14403/// Defines the trait used to implement [super::client::SslCertificates].
14404///
14405/// Application developers may need to implement this trait to mock
14406/// `client::SslCertificates`.  In other use-cases, application developers only
14407/// use `client::SslCertificates` and need not be concerned with this trait or
14408/// its implementations.
14409///
14410/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14411/// too. To avoid breaking applications the trait provides a default
14412/// implementation of each method. Most of these implementations just return an
14413/// error.
14414#[cfg(feature = "ssl-certificates")]
14415#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
14416pub trait SslCertificates: std::fmt::Debug + Send + Sync {
14417    /// Implements [super::client::SslCertificates::aggregated_list].
14418    fn aggregated_list(
14419        &self,
14420        _req: crate::model::ssl_certificates::AggregatedListRequest,
14421        _options: crate::RequestOptions,
14422    ) -> impl std::future::Future<
14423        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
14424    > + Send {
14425        gaxi::unimplemented::unimplemented_stub()
14426    }
14427
14428    /// Implements [super::client::SslCertificates::delete].
14429    fn delete(
14430        &self,
14431        _req: crate::model::ssl_certificates::DeleteRequest,
14432        _options: crate::RequestOptions,
14433    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14434    {
14435        gaxi::unimplemented::unimplemented_stub()
14436    }
14437
14438    /// Implements [super::client::SslCertificates::get].
14439    fn get(
14440        &self,
14441        _req: crate::model::ssl_certificates::GetRequest,
14442        _options: crate::RequestOptions,
14443    ) -> impl std::future::Future<
14444        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
14445    > + Send {
14446        gaxi::unimplemented::unimplemented_stub()
14447    }
14448
14449    /// Implements [super::client::SslCertificates::insert].
14450    fn insert(
14451        &self,
14452        _req: crate::model::ssl_certificates::InsertRequest,
14453        _options: crate::RequestOptions,
14454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14455    {
14456        gaxi::unimplemented::unimplemented_stub()
14457    }
14458
14459    /// Implements [super::client::SslCertificates::list].
14460    fn list(
14461        &self,
14462        _req: crate::model::ssl_certificates::ListRequest,
14463        _options: crate::RequestOptions,
14464    ) -> impl std::future::Future<
14465        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
14466    > + Send {
14467        gaxi::unimplemented::unimplemented_stub()
14468    }
14469
14470    /// Implements [super::client::SslCertificates::get_operation].
14471    fn get_operation(
14472        &self,
14473        _req: crate::model::global_operations::GetRequest,
14474        _options: crate::RequestOptions,
14475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14476    {
14477        gaxi::unimplemented::unimplemented_stub()
14478    }
14479
14480    /// Returns the polling error policy.
14481    ///
14482    /// When mocking, this method is typically irrelevant. Do not try to verify
14483    /// it is called by your mocks.
14484    fn get_polling_error_policy(
14485        &self,
14486        _options: &crate::RequestOptions,
14487    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14488        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14489    }
14490
14491    /// Returns the polling backoff policy.
14492    ///
14493    /// When mocking, this method is typically irrelevant. Do not try to verify
14494    /// it is called by your mocks.
14495    fn get_polling_backoff_policy(
14496        &self,
14497        _options: &crate::RequestOptions,
14498    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14499        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14500    }
14501
14502    #[doc(hidden)]
14503    /// Returns the poller options.
14504    ///
14505    /// When mocking, this method is typically irrelevant. Do not try to verify
14506    /// it is called by your mocks.
14507    fn get_poller_options(
14508        &self,
14509        _options: &crate::RequestOptions,
14510    ) -> google_cloud_lro::PollerOptions {
14511        google_cloud_lro::PollerOptions::default()
14512    }
14513}
14514
14515/// Defines the trait used to implement [super::client::SslPolicies].
14516///
14517/// Application developers may need to implement this trait to mock
14518/// `client::SslPolicies`.  In other use-cases, application developers only
14519/// use `client::SslPolicies` and need not be concerned with this trait or
14520/// its implementations.
14521///
14522/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14523/// too. To avoid breaking applications the trait provides a default
14524/// implementation of each method. Most of these implementations just return an
14525/// error.
14526#[cfg(feature = "ssl-policies")]
14527#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
14528pub trait SslPolicies: std::fmt::Debug + Send + Sync {
14529    /// Implements [super::client::SslPolicies::aggregated_list].
14530    fn aggregated_list(
14531        &self,
14532        _req: crate::model::ssl_policies::AggregatedListRequest,
14533        _options: crate::RequestOptions,
14534    ) -> impl std::future::Future<
14535        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
14536    > + Send {
14537        gaxi::unimplemented::unimplemented_stub()
14538    }
14539
14540    /// Implements [super::client::SslPolicies::delete].
14541    fn delete(
14542        &self,
14543        _req: crate::model::ssl_policies::DeleteRequest,
14544        _options: crate::RequestOptions,
14545    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14546    {
14547        gaxi::unimplemented::unimplemented_stub()
14548    }
14549
14550    /// Implements [super::client::SslPolicies::get].
14551    fn get(
14552        &self,
14553        _req: crate::model::ssl_policies::GetRequest,
14554        _options: crate::RequestOptions,
14555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
14556    {
14557        gaxi::unimplemented::unimplemented_stub()
14558    }
14559
14560    /// Implements [super::client::SslPolicies::insert].
14561    fn insert(
14562        &self,
14563        _req: crate::model::ssl_policies::InsertRequest,
14564        _options: crate::RequestOptions,
14565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14566    {
14567        gaxi::unimplemented::unimplemented_stub()
14568    }
14569
14570    /// Implements [super::client::SslPolicies::list].
14571    fn list(
14572        &self,
14573        _req: crate::model::ssl_policies::ListRequest,
14574        _options: crate::RequestOptions,
14575    ) -> impl std::future::Future<
14576        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
14577    > + Send {
14578        gaxi::unimplemented::unimplemented_stub()
14579    }
14580
14581    /// Implements [super::client::SslPolicies::list_available_features].
14582    fn list_available_features(
14583        &self,
14584        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
14585        _options: crate::RequestOptions,
14586    ) -> impl std::future::Future<
14587        Output = crate::Result<
14588            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
14589        >,
14590    > + Send {
14591        gaxi::unimplemented::unimplemented_stub()
14592    }
14593
14594    /// Implements [super::client::SslPolicies::patch].
14595    fn patch(
14596        &self,
14597        _req: crate::model::ssl_policies::PatchRequest,
14598        _options: crate::RequestOptions,
14599    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14600    {
14601        gaxi::unimplemented::unimplemented_stub()
14602    }
14603
14604    /// Implements [super::client::SslPolicies::get_operation].
14605    fn get_operation(
14606        &self,
14607        _req: crate::model::global_operations::GetRequest,
14608        _options: crate::RequestOptions,
14609    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14610    {
14611        gaxi::unimplemented::unimplemented_stub()
14612    }
14613
14614    /// Returns the polling error policy.
14615    ///
14616    /// When mocking, this method is typically irrelevant. Do not try to verify
14617    /// it is called by your mocks.
14618    fn get_polling_error_policy(
14619        &self,
14620        _options: &crate::RequestOptions,
14621    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14622        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14623    }
14624
14625    /// Returns the polling backoff policy.
14626    ///
14627    /// When mocking, this method is typically irrelevant. Do not try to verify
14628    /// it is called by your mocks.
14629    fn get_polling_backoff_policy(
14630        &self,
14631        _options: &crate::RequestOptions,
14632    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14633        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14634    }
14635
14636    #[doc(hidden)]
14637    /// Returns the poller options.
14638    ///
14639    /// When mocking, this method is typically irrelevant. Do not try to verify
14640    /// it is called by your mocks.
14641    fn get_poller_options(
14642        &self,
14643        _options: &crate::RequestOptions,
14644    ) -> google_cloud_lro::PollerOptions {
14645        google_cloud_lro::PollerOptions::default()
14646    }
14647}
14648
14649/// Defines the trait used to implement [super::client::StoragePoolTypes].
14650///
14651/// Application developers may need to implement this trait to mock
14652/// `client::StoragePoolTypes`.  In other use-cases, application developers only
14653/// use `client::StoragePoolTypes` and need not be concerned with this trait or
14654/// its implementations.
14655///
14656/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14657/// too. To avoid breaking applications the trait provides a default
14658/// implementation of each method. Most of these implementations just return an
14659/// error.
14660#[cfg(feature = "storage-pool-types")]
14661#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
14662pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
14663    /// Implements [super::client::StoragePoolTypes::aggregated_list].
14664    fn aggregated_list(
14665        &self,
14666        _req: crate::model::storage_pool_types::AggregatedListRequest,
14667        _options: crate::RequestOptions,
14668    ) -> impl std::future::Future<
14669        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
14670    > + Send {
14671        gaxi::unimplemented::unimplemented_stub()
14672    }
14673
14674    /// Implements [super::client::StoragePoolTypes::get].
14675    fn get(
14676        &self,
14677        _req: crate::model::storage_pool_types::GetRequest,
14678        _options: crate::RequestOptions,
14679    ) -> impl std::future::Future<
14680        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
14681    > + Send {
14682        gaxi::unimplemented::unimplemented_stub()
14683    }
14684
14685    /// Implements [super::client::StoragePoolTypes::list].
14686    fn list(
14687        &self,
14688        _req: crate::model::storage_pool_types::ListRequest,
14689        _options: crate::RequestOptions,
14690    ) -> impl std::future::Future<
14691        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
14692    > + Send {
14693        gaxi::unimplemented::unimplemented_stub()
14694    }
14695}
14696
14697/// Defines the trait used to implement [super::client::StoragePools].
14698///
14699/// Application developers may need to implement this trait to mock
14700/// `client::StoragePools`.  In other use-cases, application developers only
14701/// use `client::StoragePools` and need not be concerned with this trait or
14702/// its implementations.
14703///
14704/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14705/// too. To avoid breaking applications the trait provides a default
14706/// implementation of each method. Most of these implementations just return an
14707/// error.
14708#[cfg(feature = "storage-pools")]
14709#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
14710pub trait StoragePools: std::fmt::Debug + Send + Sync {
14711    /// Implements [super::client::StoragePools::aggregated_list].
14712    fn aggregated_list(
14713        &self,
14714        _req: crate::model::storage_pools::AggregatedListRequest,
14715        _options: crate::RequestOptions,
14716    ) -> impl std::future::Future<
14717        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
14718    > + Send {
14719        gaxi::unimplemented::unimplemented_stub()
14720    }
14721
14722    /// Implements [super::client::StoragePools::delete].
14723    fn delete(
14724        &self,
14725        _req: crate::model::storage_pools::DeleteRequest,
14726        _options: crate::RequestOptions,
14727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14728    {
14729        gaxi::unimplemented::unimplemented_stub()
14730    }
14731
14732    /// Implements [super::client::StoragePools::get].
14733    fn get(
14734        &self,
14735        _req: crate::model::storage_pools::GetRequest,
14736        _options: crate::RequestOptions,
14737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
14738    + Send {
14739        gaxi::unimplemented::unimplemented_stub()
14740    }
14741
14742    /// Implements [super::client::StoragePools::get_iam_policy].
14743    fn get_iam_policy(
14744        &self,
14745        _req: crate::model::storage_pools::GetIamPolicyRequest,
14746        _options: crate::RequestOptions,
14747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14748    {
14749        gaxi::unimplemented::unimplemented_stub()
14750    }
14751
14752    /// Implements [super::client::StoragePools::insert].
14753    fn insert(
14754        &self,
14755        _req: crate::model::storage_pools::InsertRequest,
14756        _options: crate::RequestOptions,
14757    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14758    {
14759        gaxi::unimplemented::unimplemented_stub()
14760    }
14761
14762    /// Implements [super::client::StoragePools::list].
14763    fn list(
14764        &self,
14765        _req: crate::model::storage_pools::ListRequest,
14766        _options: crate::RequestOptions,
14767    ) -> impl std::future::Future<
14768        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
14769    > + Send {
14770        gaxi::unimplemented::unimplemented_stub()
14771    }
14772
14773    /// Implements [super::client::StoragePools::list_disks].
14774    fn list_disks(
14775        &self,
14776        _req: crate::model::storage_pools::ListDisksRequest,
14777        _options: crate::RequestOptions,
14778    ) -> impl std::future::Future<
14779        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
14780    > + Send {
14781        gaxi::unimplemented::unimplemented_stub()
14782    }
14783
14784    /// Implements [super::client::StoragePools::set_iam_policy].
14785    fn set_iam_policy(
14786        &self,
14787        _req: crate::model::storage_pools::SetIamPolicyRequest,
14788        _options: crate::RequestOptions,
14789    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14790    {
14791        gaxi::unimplemented::unimplemented_stub()
14792    }
14793
14794    /// Implements [super::client::StoragePools::test_iam_permissions].
14795    fn test_iam_permissions(
14796        &self,
14797        _req: crate::model::storage_pools::TestIamPermissionsRequest,
14798        _options: crate::RequestOptions,
14799    ) -> impl std::future::Future<
14800        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14801    > + Send {
14802        gaxi::unimplemented::unimplemented_stub()
14803    }
14804
14805    /// Implements [super::client::StoragePools::update].
14806    fn update(
14807        &self,
14808        _req: crate::model::storage_pools::UpdateRequest,
14809        _options: crate::RequestOptions,
14810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14811    {
14812        gaxi::unimplemented::unimplemented_stub()
14813    }
14814
14815    /// Implements [super::client::StoragePools::get_operation].
14816    fn get_operation(
14817        &self,
14818        _req: crate::model::zone_operations::GetRequest,
14819        _options: crate::RequestOptions,
14820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14821    {
14822        gaxi::unimplemented::unimplemented_stub()
14823    }
14824
14825    /// Returns the polling error policy.
14826    ///
14827    /// When mocking, this method is typically irrelevant. Do not try to verify
14828    /// it is called by your mocks.
14829    fn get_polling_error_policy(
14830        &self,
14831        _options: &crate::RequestOptions,
14832    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14833        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14834    }
14835
14836    /// Returns the polling backoff policy.
14837    ///
14838    /// When mocking, this method is typically irrelevant. Do not try to verify
14839    /// it is called by your mocks.
14840    fn get_polling_backoff_policy(
14841        &self,
14842        _options: &crate::RequestOptions,
14843    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14844        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14845    }
14846
14847    #[doc(hidden)]
14848    /// Returns the poller options.
14849    ///
14850    /// When mocking, this method is typically irrelevant. Do not try to verify
14851    /// it is called by your mocks.
14852    fn get_poller_options(
14853        &self,
14854        _options: &crate::RequestOptions,
14855    ) -> google_cloud_lro::PollerOptions {
14856        google_cloud_lro::PollerOptions::default()
14857    }
14858}
14859
14860/// Defines the trait used to implement [super::client::Subnetworks].
14861///
14862/// Application developers may need to implement this trait to mock
14863/// `client::Subnetworks`.  In other use-cases, application developers only
14864/// use `client::Subnetworks` and need not be concerned with this trait or
14865/// its implementations.
14866///
14867/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14868/// too. To avoid breaking applications the trait provides a default
14869/// implementation of each method. Most of these implementations just return an
14870/// error.
14871#[cfg(feature = "subnetworks")]
14872#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
14873pub trait Subnetworks: std::fmt::Debug + Send + Sync {
14874    /// Implements [super::client::Subnetworks::aggregated_list].
14875    fn aggregated_list(
14876        &self,
14877        _req: crate::model::subnetworks::AggregatedListRequest,
14878        _options: crate::RequestOptions,
14879    ) -> impl std::future::Future<
14880        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
14881    > + Send {
14882        gaxi::unimplemented::unimplemented_stub()
14883    }
14884
14885    /// Implements [super::client::Subnetworks::delete].
14886    fn delete(
14887        &self,
14888        _req: crate::model::subnetworks::DeleteRequest,
14889        _options: crate::RequestOptions,
14890    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14891    {
14892        gaxi::unimplemented::unimplemented_stub()
14893    }
14894
14895    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
14896    fn expand_ip_cidr_range(
14897        &self,
14898        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
14899        _options: crate::RequestOptions,
14900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14901    {
14902        gaxi::unimplemented::unimplemented_stub()
14903    }
14904
14905    /// Implements [super::client::Subnetworks::get].
14906    fn get(
14907        &self,
14908        _req: crate::model::subnetworks::GetRequest,
14909        _options: crate::RequestOptions,
14910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
14911    {
14912        gaxi::unimplemented::unimplemented_stub()
14913    }
14914
14915    /// Implements [super::client::Subnetworks::get_iam_policy].
14916    fn get_iam_policy(
14917        &self,
14918        _req: crate::model::subnetworks::GetIamPolicyRequest,
14919        _options: crate::RequestOptions,
14920    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14921    {
14922        gaxi::unimplemented::unimplemented_stub()
14923    }
14924
14925    /// Implements [super::client::Subnetworks::insert].
14926    fn insert(
14927        &self,
14928        _req: crate::model::subnetworks::InsertRequest,
14929        _options: crate::RequestOptions,
14930    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14931    {
14932        gaxi::unimplemented::unimplemented_stub()
14933    }
14934
14935    /// Implements [super::client::Subnetworks::list].
14936    fn list(
14937        &self,
14938        _req: crate::model::subnetworks::ListRequest,
14939        _options: crate::RequestOptions,
14940    ) -> impl std::future::Future<
14941        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
14942    > + Send {
14943        gaxi::unimplemented::unimplemented_stub()
14944    }
14945
14946    /// Implements [super::client::Subnetworks::list_usable].
14947    fn list_usable(
14948        &self,
14949        _req: crate::model::subnetworks::ListUsableRequest,
14950        _options: crate::RequestOptions,
14951    ) -> impl std::future::Future<
14952        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
14953    > + Send {
14954        gaxi::unimplemented::unimplemented_stub()
14955    }
14956
14957    /// Implements [super::client::Subnetworks::patch].
14958    fn patch(
14959        &self,
14960        _req: crate::model::subnetworks::PatchRequest,
14961        _options: crate::RequestOptions,
14962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14963    {
14964        gaxi::unimplemented::unimplemented_stub()
14965    }
14966
14967    /// Implements [super::client::Subnetworks::set_iam_policy].
14968    fn set_iam_policy(
14969        &self,
14970        _req: crate::model::subnetworks::SetIamPolicyRequest,
14971        _options: crate::RequestOptions,
14972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14973    {
14974        gaxi::unimplemented::unimplemented_stub()
14975    }
14976
14977    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
14978    fn set_private_ip_google_access(
14979        &self,
14980        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
14981        _options: crate::RequestOptions,
14982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14983    {
14984        gaxi::unimplemented::unimplemented_stub()
14985    }
14986
14987    /// Implements [super::client::Subnetworks::test_iam_permissions].
14988    fn test_iam_permissions(
14989        &self,
14990        _req: crate::model::subnetworks::TestIamPermissionsRequest,
14991        _options: crate::RequestOptions,
14992    ) -> impl std::future::Future<
14993        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14994    > + Send {
14995        gaxi::unimplemented::unimplemented_stub()
14996    }
14997
14998    /// Implements [super::client::Subnetworks::get_operation].
14999    fn get_operation(
15000        &self,
15001        _req: crate::model::region_operations::GetRequest,
15002        _options: crate::RequestOptions,
15003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15004    {
15005        gaxi::unimplemented::unimplemented_stub()
15006    }
15007
15008    /// Returns the polling error policy.
15009    ///
15010    /// When mocking, this method is typically irrelevant. Do not try to verify
15011    /// it is called by your mocks.
15012    fn get_polling_error_policy(
15013        &self,
15014        _options: &crate::RequestOptions,
15015    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15016        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15017    }
15018
15019    /// Returns the polling backoff policy.
15020    ///
15021    /// When mocking, this method is typically irrelevant. Do not try to verify
15022    /// it is called by your mocks.
15023    fn get_polling_backoff_policy(
15024        &self,
15025        _options: &crate::RequestOptions,
15026    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15027        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15028    }
15029
15030    #[doc(hidden)]
15031    /// Returns the poller options.
15032    ///
15033    /// When mocking, this method is typically irrelevant. Do not try to verify
15034    /// it is called by your mocks.
15035    fn get_poller_options(
15036        &self,
15037        _options: &crate::RequestOptions,
15038    ) -> google_cloud_lro::PollerOptions {
15039        google_cloud_lro::PollerOptions::default()
15040    }
15041}
15042
15043/// Defines the trait used to implement [super::client::TargetGrpcProxies].
15044///
15045/// Application developers may need to implement this trait to mock
15046/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
15047/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
15048/// its implementations.
15049///
15050/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15051/// too. To avoid breaking applications the trait provides a default
15052/// implementation of each method. Most of these implementations just return an
15053/// error.
15054#[cfg(feature = "target-grpc-proxies")]
15055#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
15056pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
15057    /// Implements [super::client::TargetGrpcProxies::delete].
15058    fn delete(
15059        &self,
15060        _req: crate::model::target_grpc_proxies::DeleteRequest,
15061        _options: crate::RequestOptions,
15062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15063    {
15064        gaxi::unimplemented::unimplemented_stub()
15065    }
15066
15067    /// Implements [super::client::TargetGrpcProxies::get].
15068    fn get(
15069        &self,
15070        _req: crate::model::target_grpc_proxies::GetRequest,
15071        _options: crate::RequestOptions,
15072    ) -> impl std::future::Future<
15073        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
15074    > + Send {
15075        gaxi::unimplemented::unimplemented_stub()
15076    }
15077
15078    /// Implements [super::client::TargetGrpcProxies::insert].
15079    fn insert(
15080        &self,
15081        _req: crate::model::target_grpc_proxies::InsertRequest,
15082        _options: crate::RequestOptions,
15083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15084    {
15085        gaxi::unimplemented::unimplemented_stub()
15086    }
15087
15088    /// Implements [super::client::TargetGrpcProxies::list].
15089    fn list(
15090        &self,
15091        _req: crate::model::target_grpc_proxies::ListRequest,
15092        _options: crate::RequestOptions,
15093    ) -> impl std::future::Future<
15094        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
15095    > + Send {
15096        gaxi::unimplemented::unimplemented_stub()
15097    }
15098
15099    /// Implements [super::client::TargetGrpcProxies::patch].
15100    fn patch(
15101        &self,
15102        _req: crate::model::target_grpc_proxies::PatchRequest,
15103        _options: crate::RequestOptions,
15104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15105    {
15106        gaxi::unimplemented::unimplemented_stub()
15107    }
15108
15109    /// Implements [super::client::TargetGrpcProxies::get_operation].
15110    fn get_operation(
15111        &self,
15112        _req: crate::model::global_operations::GetRequest,
15113        _options: crate::RequestOptions,
15114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15115    {
15116        gaxi::unimplemented::unimplemented_stub()
15117    }
15118
15119    /// Returns the polling error policy.
15120    ///
15121    /// When mocking, this method is typically irrelevant. Do not try to verify
15122    /// it is called by your mocks.
15123    fn get_polling_error_policy(
15124        &self,
15125        _options: &crate::RequestOptions,
15126    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15127        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15128    }
15129
15130    /// Returns the polling backoff policy.
15131    ///
15132    /// When mocking, this method is typically irrelevant. Do not try to verify
15133    /// it is called by your mocks.
15134    fn get_polling_backoff_policy(
15135        &self,
15136        _options: &crate::RequestOptions,
15137    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15138        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15139    }
15140
15141    #[doc(hidden)]
15142    /// Returns the poller options.
15143    ///
15144    /// When mocking, this method is typically irrelevant. Do not try to verify
15145    /// it is called by your mocks.
15146    fn get_poller_options(
15147        &self,
15148        _options: &crate::RequestOptions,
15149    ) -> google_cloud_lro::PollerOptions {
15150        google_cloud_lro::PollerOptions::default()
15151    }
15152}
15153
15154/// Defines the trait used to implement [super::client::TargetHttpProxies].
15155///
15156/// Application developers may need to implement this trait to mock
15157/// `client::TargetHttpProxies`.  In other use-cases, application developers only
15158/// use `client::TargetHttpProxies` and need not be concerned with this trait or
15159/// its implementations.
15160///
15161/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15162/// too. To avoid breaking applications the trait provides a default
15163/// implementation of each method. Most of these implementations just return an
15164/// error.
15165#[cfg(feature = "target-http-proxies")]
15166#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
15167pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
15168    /// Implements [super::client::TargetHttpProxies::aggregated_list].
15169    fn aggregated_list(
15170        &self,
15171        _req: crate::model::target_http_proxies::AggregatedListRequest,
15172        _options: crate::RequestOptions,
15173    ) -> impl std::future::Future<
15174        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
15175    > + Send {
15176        gaxi::unimplemented::unimplemented_stub()
15177    }
15178
15179    /// Implements [super::client::TargetHttpProxies::delete].
15180    fn delete(
15181        &self,
15182        _req: crate::model::target_http_proxies::DeleteRequest,
15183        _options: crate::RequestOptions,
15184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15185    {
15186        gaxi::unimplemented::unimplemented_stub()
15187    }
15188
15189    /// Implements [super::client::TargetHttpProxies::get].
15190    fn get(
15191        &self,
15192        _req: crate::model::target_http_proxies::GetRequest,
15193        _options: crate::RequestOptions,
15194    ) -> impl std::future::Future<
15195        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
15196    > + Send {
15197        gaxi::unimplemented::unimplemented_stub()
15198    }
15199
15200    /// Implements [super::client::TargetHttpProxies::insert].
15201    fn insert(
15202        &self,
15203        _req: crate::model::target_http_proxies::InsertRequest,
15204        _options: crate::RequestOptions,
15205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15206    {
15207        gaxi::unimplemented::unimplemented_stub()
15208    }
15209
15210    /// Implements [super::client::TargetHttpProxies::list].
15211    fn list(
15212        &self,
15213        _req: crate::model::target_http_proxies::ListRequest,
15214        _options: crate::RequestOptions,
15215    ) -> impl std::future::Future<
15216        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
15217    > + Send {
15218        gaxi::unimplemented::unimplemented_stub()
15219    }
15220
15221    /// Implements [super::client::TargetHttpProxies::patch].
15222    fn patch(
15223        &self,
15224        _req: crate::model::target_http_proxies::PatchRequest,
15225        _options: crate::RequestOptions,
15226    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15227    {
15228        gaxi::unimplemented::unimplemented_stub()
15229    }
15230
15231    /// Implements [super::client::TargetHttpProxies::set_url_map].
15232    fn set_url_map(
15233        &self,
15234        _req: crate::model::target_http_proxies::SetUrlMapRequest,
15235        _options: crate::RequestOptions,
15236    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15237    {
15238        gaxi::unimplemented::unimplemented_stub()
15239    }
15240
15241    /// Implements [super::client::TargetHttpProxies::get_operation].
15242    fn get_operation(
15243        &self,
15244        _req: crate::model::global_operations::GetRequest,
15245        _options: crate::RequestOptions,
15246    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15247    {
15248        gaxi::unimplemented::unimplemented_stub()
15249    }
15250
15251    /// Returns the polling error policy.
15252    ///
15253    /// When mocking, this method is typically irrelevant. Do not try to verify
15254    /// it is called by your mocks.
15255    fn get_polling_error_policy(
15256        &self,
15257        _options: &crate::RequestOptions,
15258    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15259        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15260    }
15261
15262    /// Returns the polling backoff policy.
15263    ///
15264    /// When mocking, this method is typically irrelevant. Do not try to verify
15265    /// it is called by your mocks.
15266    fn get_polling_backoff_policy(
15267        &self,
15268        _options: &crate::RequestOptions,
15269    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15270        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15271    }
15272
15273    #[doc(hidden)]
15274    /// Returns the poller options.
15275    ///
15276    /// When mocking, this method is typically irrelevant. Do not try to verify
15277    /// it is called by your mocks.
15278    fn get_poller_options(
15279        &self,
15280        _options: &crate::RequestOptions,
15281    ) -> google_cloud_lro::PollerOptions {
15282        google_cloud_lro::PollerOptions::default()
15283    }
15284}
15285
15286/// Defines the trait used to implement [super::client::TargetHttpsProxies].
15287///
15288/// Application developers may need to implement this trait to mock
15289/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
15290/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
15291/// its implementations.
15292///
15293/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15294/// too. To avoid breaking applications the trait provides a default
15295/// implementation of each method. Most of these implementations just return an
15296/// error.
15297#[cfg(feature = "target-https-proxies")]
15298#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
15299pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
15300    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
15301    fn aggregated_list(
15302        &self,
15303        _req: crate::model::target_https_proxies::AggregatedListRequest,
15304        _options: crate::RequestOptions,
15305    ) -> impl std::future::Future<
15306        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
15307    > + Send {
15308        gaxi::unimplemented::unimplemented_stub()
15309    }
15310
15311    /// Implements [super::client::TargetHttpsProxies::delete].
15312    fn delete(
15313        &self,
15314        _req: crate::model::target_https_proxies::DeleteRequest,
15315        _options: crate::RequestOptions,
15316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15317    {
15318        gaxi::unimplemented::unimplemented_stub()
15319    }
15320
15321    /// Implements [super::client::TargetHttpsProxies::get].
15322    fn get(
15323        &self,
15324        _req: crate::model::target_https_proxies::GetRequest,
15325        _options: crate::RequestOptions,
15326    ) -> impl std::future::Future<
15327        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
15328    > + Send {
15329        gaxi::unimplemented::unimplemented_stub()
15330    }
15331
15332    /// Implements [super::client::TargetHttpsProxies::insert].
15333    fn insert(
15334        &self,
15335        _req: crate::model::target_https_proxies::InsertRequest,
15336        _options: crate::RequestOptions,
15337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15338    {
15339        gaxi::unimplemented::unimplemented_stub()
15340    }
15341
15342    /// Implements [super::client::TargetHttpsProxies::list].
15343    fn list(
15344        &self,
15345        _req: crate::model::target_https_proxies::ListRequest,
15346        _options: crate::RequestOptions,
15347    ) -> impl std::future::Future<
15348        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
15349    > + Send {
15350        gaxi::unimplemented::unimplemented_stub()
15351    }
15352
15353    /// Implements [super::client::TargetHttpsProxies::patch].
15354    fn patch(
15355        &self,
15356        _req: crate::model::target_https_proxies::PatchRequest,
15357        _options: crate::RequestOptions,
15358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15359    {
15360        gaxi::unimplemented::unimplemented_stub()
15361    }
15362
15363    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
15364    fn set_certificate_map(
15365        &self,
15366        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
15367        _options: crate::RequestOptions,
15368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15369    {
15370        gaxi::unimplemented::unimplemented_stub()
15371    }
15372
15373    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
15374    fn set_quic_override(
15375        &self,
15376        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
15377        _options: crate::RequestOptions,
15378    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15379    {
15380        gaxi::unimplemented::unimplemented_stub()
15381    }
15382
15383    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
15384    fn set_ssl_certificates(
15385        &self,
15386        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
15387        _options: crate::RequestOptions,
15388    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15389    {
15390        gaxi::unimplemented::unimplemented_stub()
15391    }
15392
15393    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
15394    fn set_ssl_policy(
15395        &self,
15396        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
15397        _options: crate::RequestOptions,
15398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15399    {
15400        gaxi::unimplemented::unimplemented_stub()
15401    }
15402
15403    /// Implements [super::client::TargetHttpsProxies::set_url_map].
15404    fn set_url_map(
15405        &self,
15406        _req: crate::model::target_https_proxies::SetUrlMapRequest,
15407        _options: crate::RequestOptions,
15408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15409    {
15410        gaxi::unimplemented::unimplemented_stub()
15411    }
15412
15413    /// Implements [super::client::TargetHttpsProxies::get_operation].
15414    fn get_operation(
15415        &self,
15416        _req: crate::model::global_operations::GetRequest,
15417        _options: crate::RequestOptions,
15418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15419    {
15420        gaxi::unimplemented::unimplemented_stub()
15421    }
15422
15423    /// Returns the polling error policy.
15424    ///
15425    /// When mocking, this method is typically irrelevant. Do not try to verify
15426    /// it is called by your mocks.
15427    fn get_polling_error_policy(
15428        &self,
15429        _options: &crate::RequestOptions,
15430    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15431        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15432    }
15433
15434    /// Returns the polling backoff policy.
15435    ///
15436    /// When mocking, this method is typically irrelevant. Do not try to verify
15437    /// it is called by your mocks.
15438    fn get_polling_backoff_policy(
15439        &self,
15440        _options: &crate::RequestOptions,
15441    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15442        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15443    }
15444
15445    #[doc(hidden)]
15446    /// Returns the poller options.
15447    ///
15448    /// When mocking, this method is typically irrelevant. Do not try to verify
15449    /// it is called by your mocks.
15450    fn get_poller_options(
15451        &self,
15452        _options: &crate::RequestOptions,
15453    ) -> google_cloud_lro::PollerOptions {
15454        google_cloud_lro::PollerOptions::default()
15455    }
15456}
15457
15458/// Defines the trait used to implement [super::client::TargetInstances].
15459///
15460/// Application developers may need to implement this trait to mock
15461/// `client::TargetInstances`.  In other use-cases, application developers only
15462/// use `client::TargetInstances` and need not be concerned with this trait or
15463/// its implementations.
15464///
15465/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15466/// too. To avoid breaking applications the trait provides a default
15467/// implementation of each method. Most of these implementations just return an
15468/// error.
15469#[cfg(feature = "target-instances")]
15470#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
15471pub trait TargetInstances: std::fmt::Debug + Send + Sync {
15472    /// Implements [super::client::TargetInstances::aggregated_list].
15473    fn aggregated_list(
15474        &self,
15475        _req: crate::model::target_instances::AggregatedListRequest,
15476        _options: crate::RequestOptions,
15477    ) -> impl std::future::Future<
15478        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
15479    > + Send {
15480        gaxi::unimplemented::unimplemented_stub()
15481    }
15482
15483    /// Implements [super::client::TargetInstances::delete].
15484    fn delete(
15485        &self,
15486        _req: crate::model::target_instances::DeleteRequest,
15487        _options: crate::RequestOptions,
15488    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15489    {
15490        gaxi::unimplemented::unimplemented_stub()
15491    }
15492
15493    /// Implements [super::client::TargetInstances::get].
15494    fn get(
15495        &self,
15496        _req: crate::model::target_instances::GetRequest,
15497        _options: crate::RequestOptions,
15498    ) -> impl std::future::Future<
15499        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
15500    > + Send {
15501        gaxi::unimplemented::unimplemented_stub()
15502    }
15503
15504    /// Implements [super::client::TargetInstances::insert].
15505    fn insert(
15506        &self,
15507        _req: crate::model::target_instances::InsertRequest,
15508        _options: crate::RequestOptions,
15509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15510    {
15511        gaxi::unimplemented::unimplemented_stub()
15512    }
15513
15514    /// Implements [super::client::TargetInstances::list].
15515    fn list(
15516        &self,
15517        _req: crate::model::target_instances::ListRequest,
15518        _options: crate::RequestOptions,
15519    ) -> impl std::future::Future<
15520        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
15521    > + Send {
15522        gaxi::unimplemented::unimplemented_stub()
15523    }
15524
15525    /// Implements [super::client::TargetInstances::set_security_policy].
15526    fn set_security_policy(
15527        &self,
15528        _req: crate::model::target_instances::SetSecurityPolicyRequest,
15529        _options: crate::RequestOptions,
15530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15531    {
15532        gaxi::unimplemented::unimplemented_stub()
15533    }
15534
15535    /// Implements [super::client::TargetInstances::test_iam_permissions].
15536    fn test_iam_permissions(
15537        &self,
15538        _req: crate::model::target_instances::TestIamPermissionsRequest,
15539        _options: crate::RequestOptions,
15540    ) -> impl std::future::Future<
15541        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15542    > + Send {
15543        gaxi::unimplemented::unimplemented_stub()
15544    }
15545
15546    /// Implements [super::client::TargetInstances::get_operation].
15547    fn get_operation(
15548        &self,
15549        _req: crate::model::zone_operations::GetRequest,
15550        _options: crate::RequestOptions,
15551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15552    {
15553        gaxi::unimplemented::unimplemented_stub()
15554    }
15555
15556    /// Returns the polling error policy.
15557    ///
15558    /// When mocking, this method is typically irrelevant. Do not try to verify
15559    /// it is called by your mocks.
15560    fn get_polling_error_policy(
15561        &self,
15562        _options: &crate::RequestOptions,
15563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15564        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15565    }
15566
15567    /// Returns the polling backoff policy.
15568    ///
15569    /// When mocking, this method is typically irrelevant. Do not try to verify
15570    /// it is called by your mocks.
15571    fn get_polling_backoff_policy(
15572        &self,
15573        _options: &crate::RequestOptions,
15574    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15575        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15576    }
15577
15578    #[doc(hidden)]
15579    /// Returns the poller options.
15580    ///
15581    /// When mocking, this method is typically irrelevant. Do not try to verify
15582    /// it is called by your mocks.
15583    fn get_poller_options(
15584        &self,
15585        _options: &crate::RequestOptions,
15586    ) -> google_cloud_lro::PollerOptions {
15587        google_cloud_lro::PollerOptions::default()
15588    }
15589}
15590
15591/// Defines the trait used to implement [super::client::TargetPools].
15592///
15593/// Application developers may need to implement this trait to mock
15594/// `client::TargetPools`.  In other use-cases, application developers only
15595/// use `client::TargetPools` and need not be concerned with this trait or
15596/// its implementations.
15597///
15598/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15599/// too. To avoid breaking applications the trait provides a default
15600/// implementation of each method. Most of these implementations just return an
15601/// error.
15602#[cfg(feature = "target-pools")]
15603#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
15604pub trait TargetPools: std::fmt::Debug + Send + Sync {
15605    /// Implements [super::client::TargetPools::add_health_check].
15606    fn add_health_check(
15607        &self,
15608        _req: crate::model::target_pools::AddHealthCheckRequest,
15609        _options: crate::RequestOptions,
15610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15611    {
15612        gaxi::unimplemented::unimplemented_stub()
15613    }
15614
15615    /// Implements [super::client::TargetPools::add_instance].
15616    fn add_instance(
15617        &self,
15618        _req: crate::model::target_pools::AddInstanceRequest,
15619        _options: crate::RequestOptions,
15620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15621    {
15622        gaxi::unimplemented::unimplemented_stub()
15623    }
15624
15625    /// Implements [super::client::TargetPools::aggregated_list].
15626    fn aggregated_list(
15627        &self,
15628        _req: crate::model::target_pools::AggregatedListRequest,
15629        _options: crate::RequestOptions,
15630    ) -> impl std::future::Future<
15631        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
15632    > + Send {
15633        gaxi::unimplemented::unimplemented_stub()
15634    }
15635
15636    /// Implements [super::client::TargetPools::delete].
15637    fn delete(
15638        &self,
15639        _req: crate::model::target_pools::DeleteRequest,
15640        _options: crate::RequestOptions,
15641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15642    {
15643        gaxi::unimplemented::unimplemented_stub()
15644    }
15645
15646    /// Implements [super::client::TargetPools::get].
15647    fn get(
15648        &self,
15649        _req: crate::model::target_pools::GetRequest,
15650        _options: crate::RequestOptions,
15651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
15652    {
15653        gaxi::unimplemented::unimplemented_stub()
15654    }
15655
15656    /// Implements [super::client::TargetPools::get_health].
15657    fn get_health(
15658        &self,
15659        _req: crate::model::target_pools::GetHealthRequest,
15660        _options: crate::RequestOptions,
15661    ) -> impl std::future::Future<
15662        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
15663    > + Send {
15664        gaxi::unimplemented::unimplemented_stub()
15665    }
15666
15667    /// Implements [super::client::TargetPools::insert].
15668    fn insert(
15669        &self,
15670        _req: crate::model::target_pools::InsertRequest,
15671        _options: crate::RequestOptions,
15672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15673    {
15674        gaxi::unimplemented::unimplemented_stub()
15675    }
15676
15677    /// Implements [super::client::TargetPools::list].
15678    fn list(
15679        &self,
15680        _req: crate::model::target_pools::ListRequest,
15681        _options: crate::RequestOptions,
15682    ) -> impl std::future::Future<
15683        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
15684    > + Send {
15685        gaxi::unimplemented::unimplemented_stub()
15686    }
15687
15688    /// Implements [super::client::TargetPools::remove_health_check].
15689    fn remove_health_check(
15690        &self,
15691        _req: crate::model::target_pools::RemoveHealthCheckRequest,
15692        _options: crate::RequestOptions,
15693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15694    {
15695        gaxi::unimplemented::unimplemented_stub()
15696    }
15697
15698    /// Implements [super::client::TargetPools::remove_instance].
15699    fn remove_instance(
15700        &self,
15701        _req: crate::model::target_pools::RemoveInstanceRequest,
15702        _options: crate::RequestOptions,
15703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15704    {
15705        gaxi::unimplemented::unimplemented_stub()
15706    }
15707
15708    /// Implements [super::client::TargetPools::set_backup].
15709    fn set_backup(
15710        &self,
15711        _req: crate::model::target_pools::SetBackupRequest,
15712        _options: crate::RequestOptions,
15713    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15714    {
15715        gaxi::unimplemented::unimplemented_stub()
15716    }
15717
15718    /// Implements [super::client::TargetPools::set_security_policy].
15719    fn set_security_policy(
15720        &self,
15721        _req: crate::model::target_pools::SetSecurityPolicyRequest,
15722        _options: crate::RequestOptions,
15723    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15724    {
15725        gaxi::unimplemented::unimplemented_stub()
15726    }
15727
15728    /// Implements [super::client::TargetPools::test_iam_permissions].
15729    fn test_iam_permissions(
15730        &self,
15731        _req: crate::model::target_pools::TestIamPermissionsRequest,
15732        _options: crate::RequestOptions,
15733    ) -> impl std::future::Future<
15734        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15735    > + Send {
15736        gaxi::unimplemented::unimplemented_stub()
15737    }
15738
15739    /// Implements [super::client::TargetPools::get_operation].
15740    fn get_operation(
15741        &self,
15742        _req: crate::model::region_operations::GetRequest,
15743        _options: crate::RequestOptions,
15744    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15745    {
15746        gaxi::unimplemented::unimplemented_stub()
15747    }
15748
15749    /// Returns the polling error policy.
15750    ///
15751    /// When mocking, this method is typically irrelevant. Do not try to verify
15752    /// it is called by your mocks.
15753    fn get_polling_error_policy(
15754        &self,
15755        _options: &crate::RequestOptions,
15756    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15757        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15758    }
15759
15760    /// Returns the polling backoff policy.
15761    ///
15762    /// When mocking, this method is typically irrelevant. Do not try to verify
15763    /// it is called by your mocks.
15764    fn get_polling_backoff_policy(
15765        &self,
15766        _options: &crate::RequestOptions,
15767    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15768        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15769    }
15770
15771    #[doc(hidden)]
15772    /// Returns the poller options.
15773    ///
15774    /// When mocking, this method is typically irrelevant. Do not try to verify
15775    /// it is called by your mocks.
15776    fn get_poller_options(
15777        &self,
15778        _options: &crate::RequestOptions,
15779    ) -> google_cloud_lro::PollerOptions {
15780        google_cloud_lro::PollerOptions::default()
15781    }
15782}
15783
15784/// Defines the trait used to implement [super::client::TargetSslProxies].
15785///
15786/// Application developers may need to implement this trait to mock
15787/// `client::TargetSslProxies`.  In other use-cases, application developers only
15788/// use `client::TargetSslProxies` and need not be concerned with this trait or
15789/// its implementations.
15790///
15791/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15792/// too. To avoid breaking applications the trait provides a default
15793/// implementation of each method. Most of these implementations just return an
15794/// error.
15795#[cfg(feature = "target-ssl-proxies")]
15796#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
15797pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
15798    /// Implements [super::client::TargetSslProxies::delete].
15799    fn delete(
15800        &self,
15801        _req: crate::model::target_ssl_proxies::DeleteRequest,
15802        _options: crate::RequestOptions,
15803    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15804    {
15805        gaxi::unimplemented::unimplemented_stub()
15806    }
15807
15808    /// Implements [super::client::TargetSslProxies::get].
15809    fn get(
15810        &self,
15811        _req: crate::model::target_ssl_proxies::GetRequest,
15812        _options: crate::RequestOptions,
15813    ) -> impl std::future::Future<
15814        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
15815    > + Send {
15816        gaxi::unimplemented::unimplemented_stub()
15817    }
15818
15819    /// Implements [super::client::TargetSslProxies::insert].
15820    fn insert(
15821        &self,
15822        _req: crate::model::target_ssl_proxies::InsertRequest,
15823        _options: crate::RequestOptions,
15824    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15825    {
15826        gaxi::unimplemented::unimplemented_stub()
15827    }
15828
15829    /// Implements [super::client::TargetSslProxies::list].
15830    fn list(
15831        &self,
15832        _req: crate::model::target_ssl_proxies::ListRequest,
15833        _options: crate::RequestOptions,
15834    ) -> impl std::future::Future<
15835        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
15836    > + Send {
15837        gaxi::unimplemented::unimplemented_stub()
15838    }
15839
15840    /// Implements [super::client::TargetSslProxies::set_backend_service].
15841    fn set_backend_service(
15842        &self,
15843        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
15844        _options: crate::RequestOptions,
15845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15846    {
15847        gaxi::unimplemented::unimplemented_stub()
15848    }
15849
15850    /// Implements [super::client::TargetSslProxies::set_certificate_map].
15851    fn set_certificate_map(
15852        &self,
15853        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
15854        _options: crate::RequestOptions,
15855    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15856    {
15857        gaxi::unimplemented::unimplemented_stub()
15858    }
15859
15860    /// Implements [super::client::TargetSslProxies::set_proxy_header].
15861    fn set_proxy_header(
15862        &self,
15863        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
15864        _options: crate::RequestOptions,
15865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15866    {
15867        gaxi::unimplemented::unimplemented_stub()
15868    }
15869
15870    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
15871    fn set_ssl_certificates(
15872        &self,
15873        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
15874        _options: crate::RequestOptions,
15875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15876    {
15877        gaxi::unimplemented::unimplemented_stub()
15878    }
15879
15880    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
15881    fn set_ssl_policy(
15882        &self,
15883        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
15884        _options: crate::RequestOptions,
15885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15886    {
15887        gaxi::unimplemented::unimplemented_stub()
15888    }
15889
15890    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
15891    fn test_iam_permissions(
15892        &self,
15893        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
15894        _options: crate::RequestOptions,
15895    ) -> impl std::future::Future<
15896        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15897    > + Send {
15898        gaxi::unimplemented::unimplemented_stub()
15899    }
15900
15901    /// Implements [super::client::TargetSslProxies::get_operation].
15902    fn get_operation(
15903        &self,
15904        _req: crate::model::global_operations::GetRequest,
15905        _options: crate::RequestOptions,
15906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15907    {
15908        gaxi::unimplemented::unimplemented_stub()
15909    }
15910
15911    /// Returns the polling error policy.
15912    ///
15913    /// When mocking, this method is typically irrelevant. Do not try to verify
15914    /// it is called by your mocks.
15915    fn get_polling_error_policy(
15916        &self,
15917        _options: &crate::RequestOptions,
15918    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15919        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15920    }
15921
15922    /// Returns the polling backoff policy.
15923    ///
15924    /// When mocking, this method is typically irrelevant. Do not try to verify
15925    /// it is called by your mocks.
15926    fn get_polling_backoff_policy(
15927        &self,
15928        _options: &crate::RequestOptions,
15929    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15930        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15931    }
15932
15933    #[doc(hidden)]
15934    /// Returns the poller options.
15935    ///
15936    /// When mocking, this method is typically irrelevant. Do not try to verify
15937    /// it is called by your mocks.
15938    fn get_poller_options(
15939        &self,
15940        _options: &crate::RequestOptions,
15941    ) -> google_cloud_lro::PollerOptions {
15942        google_cloud_lro::PollerOptions::default()
15943    }
15944}
15945
15946/// Defines the trait used to implement [super::client::TargetTcpProxies].
15947///
15948/// Application developers may need to implement this trait to mock
15949/// `client::TargetTcpProxies`.  In other use-cases, application developers only
15950/// use `client::TargetTcpProxies` and need not be concerned with this trait or
15951/// its implementations.
15952///
15953/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15954/// too. To avoid breaking applications the trait provides a default
15955/// implementation of each method. Most of these implementations just return an
15956/// error.
15957#[cfg(feature = "target-tcp-proxies")]
15958#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
15959pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
15960    /// Implements [super::client::TargetTcpProxies::aggregated_list].
15961    fn aggregated_list(
15962        &self,
15963        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
15964        _options: crate::RequestOptions,
15965    ) -> impl std::future::Future<
15966        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
15967    > + Send {
15968        gaxi::unimplemented::unimplemented_stub()
15969    }
15970
15971    /// Implements [super::client::TargetTcpProxies::delete].
15972    fn delete(
15973        &self,
15974        _req: crate::model::target_tcp_proxies::DeleteRequest,
15975        _options: crate::RequestOptions,
15976    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15977    {
15978        gaxi::unimplemented::unimplemented_stub()
15979    }
15980
15981    /// Implements [super::client::TargetTcpProxies::get].
15982    fn get(
15983        &self,
15984        _req: crate::model::target_tcp_proxies::GetRequest,
15985        _options: crate::RequestOptions,
15986    ) -> impl std::future::Future<
15987        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
15988    > + Send {
15989        gaxi::unimplemented::unimplemented_stub()
15990    }
15991
15992    /// Implements [super::client::TargetTcpProxies::insert].
15993    fn insert(
15994        &self,
15995        _req: crate::model::target_tcp_proxies::InsertRequest,
15996        _options: crate::RequestOptions,
15997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15998    {
15999        gaxi::unimplemented::unimplemented_stub()
16000    }
16001
16002    /// Implements [super::client::TargetTcpProxies::list].
16003    fn list(
16004        &self,
16005        _req: crate::model::target_tcp_proxies::ListRequest,
16006        _options: crate::RequestOptions,
16007    ) -> impl std::future::Future<
16008        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
16009    > + Send {
16010        gaxi::unimplemented::unimplemented_stub()
16011    }
16012
16013    /// Implements [super::client::TargetTcpProxies::set_backend_service].
16014    fn set_backend_service(
16015        &self,
16016        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
16017        _options: crate::RequestOptions,
16018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16019    {
16020        gaxi::unimplemented::unimplemented_stub()
16021    }
16022
16023    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
16024    fn set_proxy_header(
16025        &self,
16026        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
16027        _options: crate::RequestOptions,
16028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16029    {
16030        gaxi::unimplemented::unimplemented_stub()
16031    }
16032
16033    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
16034    fn test_iam_permissions(
16035        &self,
16036        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
16037        _options: crate::RequestOptions,
16038    ) -> impl std::future::Future<
16039        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16040    > + Send {
16041        gaxi::unimplemented::unimplemented_stub()
16042    }
16043
16044    /// Implements [super::client::TargetTcpProxies::get_operation].
16045    fn get_operation(
16046        &self,
16047        _req: crate::model::global_operations::GetRequest,
16048        _options: crate::RequestOptions,
16049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16050    {
16051        gaxi::unimplemented::unimplemented_stub()
16052    }
16053
16054    /// Returns the polling error policy.
16055    ///
16056    /// When mocking, this method is typically irrelevant. Do not try to verify
16057    /// it is called by your mocks.
16058    fn get_polling_error_policy(
16059        &self,
16060        _options: &crate::RequestOptions,
16061    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16062        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16063    }
16064
16065    /// Returns the polling backoff policy.
16066    ///
16067    /// When mocking, this method is typically irrelevant. Do not try to verify
16068    /// it is called by your mocks.
16069    fn get_polling_backoff_policy(
16070        &self,
16071        _options: &crate::RequestOptions,
16072    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16073        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16074    }
16075
16076    #[doc(hidden)]
16077    /// Returns the poller options.
16078    ///
16079    /// When mocking, this method is typically irrelevant. Do not try to verify
16080    /// it is called by your mocks.
16081    fn get_poller_options(
16082        &self,
16083        _options: &crate::RequestOptions,
16084    ) -> google_cloud_lro::PollerOptions {
16085        google_cloud_lro::PollerOptions::default()
16086    }
16087}
16088
16089/// Defines the trait used to implement [super::client::TargetVpnGateways].
16090///
16091/// Application developers may need to implement this trait to mock
16092/// `client::TargetVpnGateways`.  In other use-cases, application developers only
16093/// use `client::TargetVpnGateways` and need not be concerned with this trait or
16094/// its implementations.
16095///
16096/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16097/// too. To avoid breaking applications the trait provides a default
16098/// implementation of each method. Most of these implementations just return an
16099/// error.
16100#[cfg(feature = "target-vpn-gateways")]
16101#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
16102pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
16103    /// Implements [super::client::TargetVpnGateways::aggregated_list].
16104    fn aggregated_list(
16105        &self,
16106        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
16107        _options: crate::RequestOptions,
16108    ) -> impl std::future::Future<
16109        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
16110    > + Send {
16111        gaxi::unimplemented::unimplemented_stub()
16112    }
16113
16114    /// Implements [super::client::TargetVpnGateways::delete].
16115    fn delete(
16116        &self,
16117        _req: crate::model::target_vpn_gateways::DeleteRequest,
16118        _options: crate::RequestOptions,
16119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16120    {
16121        gaxi::unimplemented::unimplemented_stub()
16122    }
16123
16124    /// Implements [super::client::TargetVpnGateways::get].
16125    fn get(
16126        &self,
16127        _req: crate::model::target_vpn_gateways::GetRequest,
16128        _options: crate::RequestOptions,
16129    ) -> impl std::future::Future<
16130        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
16131    > + Send {
16132        gaxi::unimplemented::unimplemented_stub()
16133    }
16134
16135    /// Implements [super::client::TargetVpnGateways::insert].
16136    fn insert(
16137        &self,
16138        _req: crate::model::target_vpn_gateways::InsertRequest,
16139        _options: crate::RequestOptions,
16140    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16141    {
16142        gaxi::unimplemented::unimplemented_stub()
16143    }
16144
16145    /// Implements [super::client::TargetVpnGateways::list].
16146    fn list(
16147        &self,
16148        _req: crate::model::target_vpn_gateways::ListRequest,
16149        _options: crate::RequestOptions,
16150    ) -> impl std::future::Future<
16151        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
16152    > + Send {
16153        gaxi::unimplemented::unimplemented_stub()
16154    }
16155
16156    /// Implements [super::client::TargetVpnGateways::set_labels].
16157    fn set_labels(
16158        &self,
16159        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
16160        _options: crate::RequestOptions,
16161    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16162    {
16163        gaxi::unimplemented::unimplemented_stub()
16164    }
16165
16166    /// Implements [super::client::TargetVpnGateways::get_operation].
16167    fn get_operation(
16168        &self,
16169        _req: crate::model::region_operations::GetRequest,
16170        _options: crate::RequestOptions,
16171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16172    {
16173        gaxi::unimplemented::unimplemented_stub()
16174    }
16175
16176    /// Returns the polling error policy.
16177    ///
16178    /// When mocking, this method is typically irrelevant. Do not try to verify
16179    /// it is called by your mocks.
16180    fn get_polling_error_policy(
16181        &self,
16182        _options: &crate::RequestOptions,
16183    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16184        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16185    }
16186
16187    /// Returns the polling backoff policy.
16188    ///
16189    /// When mocking, this method is typically irrelevant. Do not try to verify
16190    /// it is called by your mocks.
16191    fn get_polling_backoff_policy(
16192        &self,
16193        _options: &crate::RequestOptions,
16194    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16195        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16196    }
16197
16198    #[doc(hidden)]
16199    /// Returns the poller options.
16200    ///
16201    /// When mocking, this method is typically irrelevant. Do not try to verify
16202    /// it is called by your mocks.
16203    fn get_poller_options(
16204        &self,
16205        _options: &crate::RequestOptions,
16206    ) -> google_cloud_lro::PollerOptions {
16207        google_cloud_lro::PollerOptions::default()
16208    }
16209}
16210
16211/// Defines the trait used to implement [super::client::UrlMaps].
16212///
16213/// Application developers may need to implement this trait to mock
16214/// `client::UrlMaps`.  In other use-cases, application developers only
16215/// use `client::UrlMaps` and need not be concerned with this trait or
16216/// its implementations.
16217///
16218/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16219/// too. To avoid breaking applications the trait provides a default
16220/// implementation of each method. Most of these implementations just return an
16221/// error.
16222#[cfg(feature = "url-maps")]
16223#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
16224pub trait UrlMaps: std::fmt::Debug + Send + Sync {
16225    /// Implements [super::client::UrlMaps::aggregated_list].
16226    fn aggregated_list(
16227        &self,
16228        _req: crate::model::url_maps::AggregatedListRequest,
16229        _options: crate::RequestOptions,
16230    ) -> impl std::future::Future<
16231        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
16232    > + Send {
16233        gaxi::unimplemented::unimplemented_stub()
16234    }
16235
16236    /// Implements [super::client::UrlMaps::delete].
16237    fn delete(
16238        &self,
16239        _req: crate::model::url_maps::DeleteRequest,
16240        _options: crate::RequestOptions,
16241    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16242    {
16243        gaxi::unimplemented::unimplemented_stub()
16244    }
16245
16246    /// Implements [super::client::UrlMaps::get].
16247    fn get(
16248        &self,
16249        _req: crate::model::url_maps::GetRequest,
16250        _options: crate::RequestOptions,
16251    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
16252    {
16253        gaxi::unimplemented::unimplemented_stub()
16254    }
16255
16256    /// Implements [super::client::UrlMaps::insert].
16257    fn insert(
16258        &self,
16259        _req: crate::model::url_maps::InsertRequest,
16260        _options: crate::RequestOptions,
16261    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16262    {
16263        gaxi::unimplemented::unimplemented_stub()
16264    }
16265
16266    /// Implements [super::client::UrlMaps::invalidate_cache].
16267    fn invalidate_cache(
16268        &self,
16269        _req: crate::model::url_maps::InvalidateCacheRequest,
16270        _options: crate::RequestOptions,
16271    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16272    {
16273        gaxi::unimplemented::unimplemented_stub()
16274    }
16275
16276    /// Implements [super::client::UrlMaps::list].
16277    fn list(
16278        &self,
16279        _req: crate::model::url_maps::ListRequest,
16280        _options: crate::RequestOptions,
16281    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
16282    {
16283        gaxi::unimplemented::unimplemented_stub()
16284    }
16285
16286    /// Implements [super::client::UrlMaps::patch].
16287    fn patch(
16288        &self,
16289        _req: crate::model::url_maps::PatchRequest,
16290        _options: crate::RequestOptions,
16291    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16292    {
16293        gaxi::unimplemented::unimplemented_stub()
16294    }
16295
16296    /// Implements [super::client::UrlMaps::test_iam_permissions].
16297    fn test_iam_permissions(
16298        &self,
16299        _req: crate::model::url_maps::TestIamPermissionsRequest,
16300        _options: crate::RequestOptions,
16301    ) -> impl std::future::Future<
16302        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16303    > + Send {
16304        gaxi::unimplemented::unimplemented_stub()
16305    }
16306
16307    /// Implements [super::client::UrlMaps::update].
16308    fn update(
16309        &self,
16310        _req: crate::model::url_maps::UpdateRequest,
16311        _options: crate::RequestOptions,
16312    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16313    {
16314        gaxi::unimplemented::unimplemented_stub()
16315    }
16316
16317    /// Implements [super::client::UrlMaps::validate].
16318    fn validate(
16319        &self,
16320        _req: crate::model::url_maps::ValidateRequest,
16321        _options: crate::RequestOptions,
16322    ) -> impl std::future::Future<
16323        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
16324    > + Send {
16325        gaxi::unimplemented::unimplemented_stub()
16326    }
16327
16328    /// Implements [super::client::UrlMaps::get_operation].
16329    fn get_operation(
16330        &self,
16331        _req: crate::model::global_operations::GetRequest,
16332        _options: crate::RequestOptions,
16333    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16334    {
16335        gaxi::unimplemented::unimplemented_stub()
16336    }
16337
16338    /// Returns the polling error policy.
16339    ///
16340    /// When mocking, this method is typically irrelevant. Do not try to verify
16341    /// it is called by your mocks.
16342    fn get_polling_error_policy(
16343        &self,
16344        _options: &crate::RequestOptions,
16345    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16346        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16347    }
16348
16349    /// Returns the polling backoff policy.
16350    ///
16351    /// When mocking, this method is typically irrelevant. Do not try to verify
16352    /// it is called by your mocks.
16353    fn get_polling_backoff_policy(
16354        &self,
16355        _options: &crate::RequestOptions,
16356    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16357        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16358    }
16359
16360    #[doc(hidden)]
16361    /// Returns the poller options.
16362    ///
16363    /// When mocking, this method is typically irrelevant. Do not try to verify
16364    /// it is called by your mocks.
16365    fn get_poller_options(
16366        &self,
16367        _options: &crate::RequestOptions,
16368    ) -> google_cloud_lro::PollerOptions {
16369        google_cloud_lro::PollerOptions::default()
16370    }
16371}
16372
16373/// Defines the trait used to implement [super::client::VpnGateways].
16374///
16375/// Application developers may need to implement this trait to mock
16376/// `client::VpnGateways`.  In other use-cases, application developers only
16377/// use `client::VpnGateways` and need not be concerned with this trait or
16378/// its implementations.
16379///
16380/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16381/// too. To avoid breaking applications the trait provides a default
16382/// implementation of each method. Most of these implementations just return an
16383/// error.
16384#[cfg(feature = "vpn-gateways")]
16385#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
16386pub trait VpnGateways: std::fmt::Debug + Send + Sync {
16387    /// Implements [super::client::VpnGateways::aggregated_list].
16388    fn aggregated_list(
16389        &self,
16390        _req: crate::model::vpn_gateways::AggregatedListRequest,
16391        _options: crate::RequestOptions,
16392    ) -> impl std::future::Future<
16393        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
16394    > + Send {
16395        gaxi::unimplemented::unimplemented_stub()
16396    }
16397
16398    /// Implements [super::client::VpnGateways::delete].
16399    fn delete(
16400        &self,
16401        _req: crate::model::vpn_gateways::DeleteRequest,
16402        _options: crate::RequestOptions,
16403    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16404    {
16405        gaxi::unimplemented::unimplemented_stub()
16406    }
16407
16408    /// Implements [super::client::VpnGateways::get].
16409    fn get(
16410        &self,
16411        _req: crate::model::vpn_gateways::GetRequest,
16412        _options: crate::RequestOptions,
16413    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
16414    {
16415        gaxi::unimplemented::unimplemented_stub()
16416    }
16417
16418    /// Implements [super::client::VpnGateways::get_status].
16419    fn get_status(
16420        &self,
16421        _req: crate::model::vpn_gateways::GetStatusRequest,
16422        _options: crate::RequestOptions,
16423    ) -> impl std::future::Future<
16424        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
16425    > + Send {
16426        gaxi::unimplemented::unimplemented_stub()
16427    }
16428
16429    /// Implements [super::client::VpnGateways::insert].
16430    fn insert(
16431        &self,
16432        _req: crate::model::vpn_gateways::InsertRequest,
16433        _options: crate::RequestOptions,
16434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16435    {
16436        gaxi::unimplemented::unimplemented_stub()
16437    }
16438
16439    /// Implements [super::client::VpnGateways::list].
16440    fn list(
16441        &self,
16442        _req: crate::model::vpn_gateways::ListRequest,
16443        _options: crate::RequestOptions,
16444    ) -> impl std::future::Future<
16445        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
16446    > + Send {
16447        gaxi::unimplemented::unimplemented_stub()
16448    }
16449
16450    /// Implements [super::client::VpnGateways::set_labels].
16451    fn set_labels(
16452        &self,
16453        _req: crate::model::vpn_gateways::SetLabelsRequest,
16454        _options: crate::RequestOptions,
16455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16456    {
16457        gaxi::unimplemented::unimplemented_stub()
16458    }
16459
16460    /// Implements [super::client::VpnGateways::test_iam_permissions].
16461    fn test_iam_permissions(
16462        &self,
16463        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
16464        _options: crate::RequestOptions,
16465    ) -> impl std::future::Future<
16466        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16467    > + Send {
16468        gaxi::unimplemented::unimplemented_stub()
16469    }
16470
16471    /// Implements [super::client::VpnGateways::get_operation].
16472    fn get_operation(
16473        &self,
16474        _req: crate::model::region_operations::GetRequest,
16475        _options: crate::RequestOptions,
16476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16477    {
16478        gaxi::unimplemented::unimplemented_stub()
16479    }
16480
16481    /// Returns the polling error policy.
16482    ///
16483    /// When mocking, this method is typically irrelevant. Do not try to verify
16484    /// it is called by your mocks.
16485    fn get_polling_error_policy(
16486        &self,
16487        _options: &crate::RequestOptions,
16488    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16489        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16490    }
16491
16492    /// Returns the polling backoff policy.
16493    ///
16494    /// When mocking, this method is typically irrelevant. Do not try to verify
16495    /// it is called by your mocks.
16496    fn get_polling_backoff_policy(
16497        &self,
16498        _options: &crate::RequestOptions,
16499    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16500        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16501    }
16502
16503    #[doc(hidden)]
16504    /// Returns the poller options.
16505    ///
16506    /// When mocking, this method is typically irrelevant. Do not try to verify
16507    /// it is called by your mocks.
16508    fn get_poller_options(
16509        &self,
16510        _options: &crate::RequestOptions,
16511    ) -> google_cloud_lro::PollerOptions {
16512        google_cloud_lro::PollerOptions::default()
16513    }
16514}
16515
16516/// Defines the trait used to implement [super::client::VpnTunnels].
16517///
16518/// Application developers may need to implement this trait to mock
16519/// `client::VpnTunnels`.  In other use-cases, application developers only
16520/// use `client::VpnTunnels` and need not be concerned with this trait or
16521/// its implementations.
16522///
16523/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16524/// too. To avoid breaking applications the trait provides a default
16525/// implementation of each method. Most of these implementations just return an
16526/// error.
16527#[cfg(feature = "vpn-tunnels")]
16528#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
16529pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
16530    /// Implements [super::client::VpnTunnels::aggregated_list].
16531    fn aggregated_list(
16532        &self,
16533        _req: crate::model::vpn_tunnels::AggregatedListRequest,
16534        _options: crate::RequestOptions,
16535    ) -> impl std::future::Future<
16536        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
16537    > + Send {
16538        gaxi::unimplemented::unimplemented_stub()
16539    }
16540
16541    /// Implements [super::client::VpnTunnels::delete].
16542    fn delete(
16543        &self,
16544        _req: crate::model::vpn_tunnels::DeleteRequest,
16545        _options: crate::RequestOptions,
16546    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16547    {
16548        gaxi::unimplemented::unimplemented_stub()
16549    }
16550
16551    /// Implements [super::client::VpnTunnels::get].
16552    fn get(
16553        &self,
16554        _req: crate::model::vpn_tunnels::GetRequest,
16555        _options: crate::RequestOptions,
16556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
16557    {
16558        gaxi::unimplemented::unimplemented_stub()
16559    }
16560
16561    /// Implements [super::client::VpnTunnels::insert].
16562    fn insert(
16563        &self,
16564        _req: crate::model::vpn_tunnels::InsertRequest,
16565        _options: crate::RequestOptions,
16566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16567    {
16568        gaxi::unimplemented::unimplemented_stub()
16569    }
16570
16571    /// Implements [super::client::VpnTunnels::list].
16572    fn list(
16573        &self,
16574        _req: crate::model::vpn_tunnels::ListRequest,
16575        _options: crate::RequestOptions,
16576    ) -> impl std::future::Future<
16577        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
16578    > + Send {
16579        gaxi::unimplemented::unimplemented_stub()
16580    }
16581
16582    /// Implements [super::client::VpnTunnels::set_labels].
16583    fn set_labels(
16584        &self,
16585        _req: crate::model::vpn_tunnels::SetLabelsRequest,
16586        _options: crate::RequestOptions,
16587    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16588    {
16589        gaxi::unimplemented::unimplemented_stub()
16590    }
16591
16592    /// Implements [super::client::VpnTunnels::get_operation].
16593    fn get_operation(
16594        &self,
16595        _req: crate::model::region_operations::GetRequest,
16596        _options: crate::RequestOptions,
16597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16598    {
16599        gaxi::unimplemented::unimplemented_stub()
16600    }
16601
16602    /// Returns the polling error policy.
16603    ///
16604    /// When mocking, this method is typically irrelevant. Do not try to verify
16605    /// it is called by your mocks.
16606    fn get_polling_error_policy(
16607        &self,
16608        _options: &crate::RequestOptions,
16609    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16610        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16611    }
16612
16613    /// Returns the polling backoff policy.
16614    ///
16615    /// When mocking, this method is typically irrelevant. Do not try to verify
16616    /// it is called by your mocks.
16617    fn get_polling_backoff_policy(
16618        &self,
16619        _options: &crate::RequestOptions,
16620    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16621        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16622    }
16623
16624    #[doc(hidden)]
16625    /// Returns the poller options.
16626    ///
16627    /// When mocking, this method is typically irrelevant. Do not try to verify
16628    /// it is called by your mocks.
16629    fn get_poller_options(
16630        &self,
16631        _options: &crate::RequestOptions,
16632    ) -> google_cloud_lro::PollerOptions {
16633        google_cloud_lro::PollerOptions::default()
16634    }
16635}
16636
16637/// Defines the trait used to implement [super::client::WireGroups].
16638///
16639/// Application developers may need to implement this trait to mock
16640/// `client::WireGroups`.  In other use-cases, application developers only
16641/// use `client::WireGroups` and need not be concerned with this trait or
16642/// its implementations.
16643///
16644/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16645/// too. To avoid breaking applications the trait provides a default
16646/// implementation of each method. Most of these implementations just return an
16647/// error.
16648#[cfg(feature = "wire-groups")]
16649#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
16650pub trait WireGroups: std::fmt::Debug + Send + Sync {
16651    /// Implements [super::client::WireGroups::delete].
16652    fn delete(
16653        &self,
16654        _req: crate::model::wire_groups::DeleteRequest,
16655        _options: crate::RequestOptions,
16656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16657    {
16658        gaxi::unimplemented::unimplemented_stub()
16659    }
16660
16661    /// Implements [super::client::WireGroups::get].
16662    fn get(
16663        &self,
16664        _req: crate::model::wire_groups::GetRequest,
16665        _options: crate::RequestOptions,
16666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
16667    {
16668        gaxi::unimplemented::unimplemented_stub()
16669    }
16670
16671    /// Implements [super::client::WireGroups::insert].
16672    fn insert(
16673        &self,
16674        _req: crate::model::wire_groups::InsertRequest,
16675        _options: crate::RequestOptions,
16676    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16677    {
16678        gaxi::unimplemented::unimplemented_stub()
16679    }
16680
16681    /// Implements [super::client::WireGroups::list].
16682    fn list(
16683        &self,
16684        _req: crate::model::wire_groups::ListRequest,
16685        _options: crate::RequestOptions,
16686    ) -> impl std::future::Future<
16687        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
16688    > + Send {
16689        gaxi::unimplemented::unimplemented_stub()
16690    }
16691
16692    /// Implements [super::client::WireGroups::patch].
16693    fn patch(
16694        &self,
16695        _req: crate::model::wire_groups::PatchRequest,
16696        _options: crate::RequestOptions,
16697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16698    {
16699        gaxi::unimplemented::unimplemented_stub()
16700    }
16701
16702    /// Implements [super::client::WireGroups::get_operation].
16703    fn get_operation(
16704        &self,
16705        _req: crate::model::global_operations::GetRequest,
16706        _options: crate::RequestOptions,
16707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16708    {
16709        gaxi::unimplemented::unimplemented_stub()
16710    }
16711
16712    /// Returns the polling error policy.
16713    ///
16714    /// When mocking, this method is typically irrelevant. Do not try to verify
16715    /// it is called by your mocks.
16716    fn get_polling_error_policy(
16717        &self,
16718        _options: &crate::RequestOptions,
16719    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16720        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16721    }
16722
16723    /// Returns the polling backoff policy.
16724    ///
16725    /// When mocking, this method is typically irrelevant. Do not try to verify
16726    /// it is called by your mocks.
16727    fn get_polling_backoff_policy(
16728        &self,
16729        _options: &crate::RequestOptions,
16730    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16731        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16732    }
16733
16734    #[doc(hidden)]
16735    /// Returns the poller options.
16736    ///
16737    /// When mocking, this method is typically irrelevant. Do not try to verify
16738    /// it is called by your mocks.
16739    fn get_poller_options(
16740        &self,
16741        _options: &crate::RequestOptions,
16742    ) -> google_cloud_lro::PollerOptions {
16743        google_cloud_lro::PollerOptions::default()
16744    }
16745}
16746
16747/// Defines the trait used to implement [super::client::ZoneOperations].
16748///
16749/// Application developers may need to implement this trait to mock
16750/// `client::ZoneOperations`.  In other use-cases, application developers only
16751/// use `client::ZoneOperations` and need not be concerned with this trait or
16752/// its implementations.
16753///
16754/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16755/// too. To avoid breaking applications the trait provides a default
16756/// implementation of each method. Most of these implementations just return an
16757/// error.
16758#[cfg(feature = "zone-operations")]
16759#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
16760pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
16761    /// Implements [super::client::ZoneOperations::delete].
16762    fn delete(
16763        &self,
16764        _req: crate::model::zone_operations::DeleteRequest,
16765        _options: crate::RequestOptions,
16766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
16767        gaxi::unimplemented::unimplemented_stub()
16768    }
16769
16770    /// Implements [super::client::ZoneOperations::get].
16771    fn get(
16772        &self,
16773        _req: crate::model::zone_operations::GetRequest,
16774        _options: crate::RequestOptions,
16775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16776    {
16777        gaxi::unimplemented::unimplemented_stub()
16778    }
16779
16780    /// Implements [super::client::ZoneOperations::list].
16781    fn list(
16782        &self,
16783        _req: crate::model::zone_operations::ListRequest,
16784        _options: crate::RequestOptions,
16785    ) -> impl std::future::Future<
16786        Output = crate::Result<crate::Response<crate::model::OperationList>>,
16787    > + Send {
16788        gaxi::unimplemented::unimplemented_stub()
16789    }
16790
16791    /// Implements [super::client::ZoneOperations::wait].
16792    fn wait(
16793        &self,
16794        _req: crate::model::zone_operations::WaitRequest,
16795        _options: crate::RequestOptions,
16796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16797    {
16798        gaxi::unimplemented::unimplemented_stub()
16799    }
16800}
16801
16802/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
16803///
16804/// Application developers may need to implement this trait to mock
16805/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
16806/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
16807/// its implementations.
16808///
16809/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16810/// too. To avoid breaking applications the trait provides a default
16811/// implementation of each method. Most of these implementations just return an
16812/// error.
16813#[cfg(feature = "zone-vm-extension-policies")]
16814#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
16815pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
16816    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
16817    fn delete(
16818        &self,
16819        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
16820        _options: crate::RequestOptions,
16821    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16822    {
16823        gaxi::unimplemented::unimplemented_stub()
16824    }
16825
16826    /// Implements [super::client::ZoneVmExtensionPolicies::get].
16827    fn get(
16828        &self,
16829        _req: crate::model::zone_vm_extension_policies::GetRequest,
16830        _options: crate::RequestOptions,
16831    ) -> impl std::future::Future<
16832        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
16833    > + Send {
16834        gaxi::unimplemented::unimplemented_stub()
16835    }
16836
16837    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
16838    fn insert(
16839        &self,
16840        _req: crate::model::zone_vm_extension_policies::InsertRequest,
16841        _options: crate::RequestOptions,
16842    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16843    {
16844        gaxi::unimplemented::unimplemented_stub()
16845    }
16846
16847    /// Implements [super::client::ZoneVmExtensionPolicies::list].
16848    fn list(
16849        &self,
16850        _req: crate::model::zone_vm_extension_policies::ListRequest,
16851        _options: crate::RequestOptions,
16852    ) -> impl std::future::Future<
16853        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
16854    > + Send {
16855        gaxi::unimplemented::unimplemented_stub()
16856    }
16857
16858    /// Implements [super::client::ZoneVmExtensionPolicies::update].
16859    fn update(
16860        &self,
16861        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
16862        _options: crate::RequestOptions,
16863    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16864    {
16865        gaxi::unimplemented::unimplemented_stub()
16866    }
16867
16868    /// Implements [super::client::ZoneVmExtensionPolicies::get_operation].
16869    fn get_operation(
16870        &self,
16871        _req: crate::model::zone_operations::GetRequest,
16872        _options: crate::RequestOptions,
16873    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16874    {
16875        gaxi::unimplemented::unimplemented_stub()
16876    }
16877
16878    /// Returns the polling error policy.
16879    ///
16880    /// When mocking, this method is typically irrelevant. Do not try to verify
16881    /// it is called by your mocks.
16882    fn get_polling_error_policy(
16883        &self,
16884        _options: &crate::RequestOptions,
16885    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16886        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16887    }
16888
16889    /// Returns the polling backoff policy.
16890    ///
16891    /// When mocking, this method is typically irrelevant. Do not try to verify
16892    /// it is called by your mocks.
16893    fn get_polling_backoff_policy(
16894        &self,
16895        _options: &crate::RequestOptions,
16896    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16897        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16898    }
16899
16900    #[doc(hidden)]
16901    /// Returns the poller options.
16902    ///
16903    /// When mocking, this method is typically irrelevant. Do not try to verify
16904    /// it is called by your mocks.
16905    fn get_poller_options(
16906        &self,
16907        _options: &crate::RequestOptions,
16908    ) -> google_cloud_lro::PollerOptions {
16909        google_cloud_lro::PollerOptions::default()
16910    }
16911}
16912
16913/// Defines the trait used to implement [super::client::Zones].
16914///
16915/// Application developers may need to implement this trait to mock
16916/// `client::Zones`.  In other use-cases, application developers only
16917/// use `client::Zones` and need not be concerned with this trait or
16918/// its implementations.
16919///
16920/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16921/// too. To avoid breaking applications the trait provides a default
16922/// implementation of each method. Most of these implementations just return an
16923/// error.
16924#[cfg(feature = "zones")]
16925#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
16926pub trait Zones: std::fmt::Debug + Send + Sync {
16927    /// Implements [super::client::Zones::get].
16928    fn get(
16929        &self,
16930        _req: crate::model::zones::GetRequest,
16931        _options: crate::RequestOptions,
16932    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
16933    {
16934        gaxi::unimplemented::unimplemented_stub()
16935    }
16936
16937    /// Implements [super::client::Zones::list].
16938    fn list(
16939        &self,
16940        _req: crate::model::zones::ListRequest,
16941        _options: crate::RequestOptions,
16942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
16943    {
16944        gaxi::unimplemented::unimplemented_stub()
16945    }
16946}