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: gax::options::RequestOptions,
48    ) -> impl std::future::Future<
49        Output = crate::Result<
50            gax::response::Response<crate::model::AcceleratorTypeAggregatedList>,
51        >,
52    > + Send {
53        gaxi::unimplemented::unimplemented_stub()
54    }
55
56    /// Implements [super::client::AcceleratorTypes::get].
57    fn get(
58        &self,
59        _req: crate::model::accelerator_types::GetRequest,
60        _options: gax::options::RequestOptions,
61    ) -> impl std::future::Future<
62        Output = crate::Result<gax::response::Response<crate::model::AcceleratorType>>,
63    > + Send {
64        gaxi::unimplemented::unimplemented_stub()
65    }
66
67    /// Implements [super::client::AcceleratorTypes::list].
68    fn list(
69        &self,
70        _req: crate::model::accelerator_types::ListRequest,
71        _options: gax::options::RequestOptions,
72    ) -> impl std::future::Future<
73        Output = crate::Result<gax::response::Response<crate::model::AcceleratorTypeList>>,
74    > + Send {
75        gaxi::unimplemented::unimplemented_stub()
76    }
77}
78
79/// Defines the trait used to implement [super::client::Addresses].
80///
81/// Application developers may need to implement this trait to mock
82/// `client::Addresses`.  In other use-cases, application developers only
83/// use `client::Addresses` and need not be concerned with this trait or
84/// its implementations.
85///
86/// Services gain new RPCs routinely. Consequently, this trait gains new methods
87/// too. To avoid breaking applications the trait provides a default
88/// implementation of each method. Most of these implementations just return an
89/// error.
90#[cfg(feature = "addresses")]
91#[cfg_attr(docsrs, doc(cfg(feature = "addresses")))]
92pub trait Addresses: std::fmt::Debug + Send + Sync {
93    /// Implements [super::client::Addresses::aggregated_list].
94    fn aggregated_list(
95        &self,
96        _req: crate::model::addresses::AggregatedListRequest,
97        _options: gax::options::RequestOptions,
98    ) -> impl std::future::Future<
99        Output = crate::Result<gax::response::Response<crate::model::AddressAggregatedList>>,
100    > + Send {
101        gaxi::unimplemented::unimplemented_stub()
102    }
103
104    /// Implements [super::client::Addresses::delete].
105    fn delete(
106        &self,
107        _req: crate::model::addresses::DeleteRequest,
108        _options: gax::options::RequestOptions,
109    ) -> impl std::future::Future<
110        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
111    > + Send {
112        gaxi::unimplemented::unimplemented_stub()
113    }
114
115    /// Implements [super::client::Addresses::get].
116    fn get(
117        &self,
118        _req: crate::model::addresses::GetRequest,
119        _options: gax::options::RequestOptions,
120    ) -> impl std::future::Future<
121        Output = crate::Result<gax::response::Response<crate::model::Address>>,
122    > + Send {
123        gaxi::unimplemented::unimplemented_stub()
124    }
125
126    /// Implements [super::client::Addresses::insert].
127    fn insert(
128        &self,
129        _req: crate::model::addresses::InsertRequest,
130        _options: gax::options::RequestOptions,
131    ) -> impl std::future::Future<
132        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
133    > + Send {
134        gaxi::unimplemented::unimplemented_stub()
135    }
136
137    /// Implements [super::client::Addresses::list].
138    fn list(
139        &self,
140        _req: crate::model::addresses::ListRequest,
141        _options: gax::options::RequestOptions,
142    ) -> impl std::future::Future<
143        Output = crate::Result<gax::response::Response<crate::model::AddressList>>,
144    > + Send {
145        gaxi::unimplemented::unimplemented_stub()
146    }
147
148    /// Implements [super::client::Addresses::r#move].
149    fn r#move(
150        &self,
151        _req: crate::model::addresses::MoveRequest,
152        _options: gax::options::RequestOptions,
153    ) -> impl std::future::Future<
154        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
155    > + Send {
156        gaxi::unimplemented::unimplemented_stub()
157    }
158
159    /// Implements [super::client::Addresses::set_labels].
160    fn set_labels(
161        &self,
162        _req: crate::model::addresses::SetLabelsRequest,
163        _options: gax::options::RequestOptions,
164    ) -> impl std::future::Future<
165        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
166    > + Send {
167        gaxi::unimplemented::unimplemented_stub()
168    }
169
170    /// Implements [super::client::Addresses::test_iam_permissions].
171    fn test_iam_permissions(
172        &self,
173        _req: crate::model::addresses::TestIamPermissionsRequest,
174        _options: gax::options::RequestOptions,
175    ) -> impl std::future::Future<
176        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
177    > + Send {
178        gaxi::unimplemented::unimplemented_stub()
179    }
180
181    /// Implements [super::client::Addresses::get_operation].
182    fn get_operation(
183        &self,
184        _req: crate::model::region_operations::GetRequest,
185        _options: gax::options::RequestOptions,
186    ) -> impl std::future::Future<
187        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
188    > + Send {
189        gaxi::unimplemented::unimplemented_stub()
190    }
191
192    /// Returns the polling error policy.
193    ///
194    /// When mocking, this method is typically irrelevant. Do not try to verify
195    /// it is called by your mocks.
196    fn get_polling_error_policy(
197        &self,
198        _options: &gax::options::RequestOptions,
199    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
200        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
201    }
202
203    /// Returns the polling backoff policy.
204    ///
205    /// When mocking, this method is typically irrelevant. Do not try to verify
206    /// it is called by your mocks.
207    fn get_polling_backoff_policy(
208        &self,
209        _options: &gax::options::RequestOptions,
210    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
211        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
212    }
213}
214
215/// Defines the trait used to implement [super::client::Advice].
216///
217/// Application developers may need to implement this trait to mock
218/// `client::Advice`.  In other use-cases, application developers only
219/// use `client::Advice` and need not be concerned with this trait or
220/// its implementations.
221///
222/// Services gain new RPCs routinely. Consequently, this trait gains new methods
223/// too. To avoid breaking applications the trait provides a default
224/// implementation of each method. Most of these implementations just return an
225/// error.
226#[cfg(feature = "advice")]
227#[cfg_attr(docsrs, doc(cfg(feature = "advice")))]
228pub trait Advice: std::fmt::Debug + Send + Sync {
229    /// Implements [super::client::Advice::calendar_mode].
230    fn calendar_mode(
231        &self,
232        _req: crate::model::advice::CalendarModeRequest,
233        _options: gax::options::RequestOptions,
234    ) -> impl std::future::Future<
235        Output = crate::Result<gax::response::Response<crate::model::CalendarModeAdviceResponse>>,
236    > + Send {
237        gaxi::unimplemented::unimplemented_stub()
238    }
239}
240
241/// Defines the trait used to implement [super::client::Autoscalers].
242///
243/// Application developers may need to implement this trait to mock
244/// `client::Autoscalers`.  In other use-cases, application developers only
245/// use `client::Autoscalers` and need not be concerned with this trait or
246/// its implementations.
247///
248/// Services gain new RPCs routinely. Consequently, this trait gains new methods
249/// too. To avoid breaking applications the trait provides a default
250/// implementation of each method. Most of these implementations just return an
251/// error.
252#[cfg(feature = "autoscalers")]
253#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
254pub trait Autoscalers: std::fmt::Debug + Send + Sync {
255    /// Implements [super::client::Autoscalers::aggregated_list].
256    fn aggregated_list(
257        &self,
258        _req: crate::model::autoscalers::AggregatedListRequest,
259        _options: gax::options::RequestOptions,
260    ) -> impl std::future::Future<
261        Output = crate::Result<gax::response::Response<crate::model::AutoscalerAggregatedList>>,
262    > + Send {
263        gaxi::unimplemented::unimplemented_stub()
264    }
265
266    /// Implements [super::client::Autoscalers::delete].
267    fn delete(
268        &self,
269        _req: crate::model::autoscalers::DeleteRequest,
270        _options: gax::options::RequestOptions,
271    ) -> impl std::future::Future<
272        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
273    > + Send {
274        gaxi::unimplemented::unimplemented_stub()
275    }
276
277    /// Implements [super::client::Autoscalers::get].
278    fn get(
279        &self,
280        _req: crate::model::autoscalers::GetRequest,
281        _options: gax::options::RequestOptions,
282    ) -> impl std::future::Future<
283        Output = crate::Result<gax::response::Response<crate::model::Autoscaler>>,
284    > + Send {
285        gaxi::unimplemented::unimplemented_stub()
286    }
287
288    /// Implements [super::client::Autoscalers::insert].
289    fn insert(
290        &self,
291        _req: crate::model::autoscalers::InsertRequest,
292        _options: gax::options::RequestOptions,
293    ) -> impl std::future::Future<
294        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
295    > + Send {
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: gax::options::RequestOptions,
304    ) -> impl std::future::Future<
305        Output = crate::Result<gax::response::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: gax::options::RequestOptions,
315    ) -> impl std::future::Future<
316        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
317    > + Send {
318        gaxi::unimplemented::unimplemented_stub()
319    }
320
321    /// Implements [super::client::Autoscalers::test_iam_permissions].
322    fn test_iam_permissions(
323        &self,
324        _req: crate::model::autoscalers::TestIamPermissionsRequest,
325        _options: gax::options::RequestOptions,
326    ) -> impl std::future::Future<
327        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
328    > + Send {
329        gaxi::unimplemented::unimplemented_stub()
330    }
331
332    /// Implements [super::client::Autoscalers::update].
333    fn update(
334        &self,
335        _req: crate::model::autoscalers::UpdateRequest,
336        _options: gax::options::RequestOptions,
337    ) -> impl std::future::Future<
338        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
339    > + Send {
340        gaxi::unimplemented::unimplemented_stub()
341    }
342
343    /// Implements [super::client::Autoscalers::get_operation].
344    fn get_operation(
345        &self,
346        _req: crate::model::zone_operations::GetRequest,
347        _options: gax::options::RequestOptions,
348    ) -> impl std::future::Future<
349        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
350    > + Send {
351        gaxi::unimplemented::unimplemented_stub()
352    }
353
354    /// Returns the polling error policy.
355    ///
356    /// When mocking, this method is typically irrelevant. Do not try to verify
357    /// it is called by your mocks.
358    fn get_polling_error_policy(
359        &self,
360        _options: &gax::options::RequestOptions,
361    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
362        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
363    }
364
365    /// Returns the polling backoff policy.
366    ///
367    /// When mocking, this method is typically irrelevant. Do not try to verify
368    /// it is called by your mocks.
369    fn get_polling_backoff_policy(
370        &self,
371        _options: &gax::options::RequestOptions,
372    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
373        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
374    }
375}
376
377/// Defines the trait used to implement [super::client::BackendBuckets].
378///
379/// Application developers may need to implement this trait to mock
380/// `client::BackendBuckets`.  In other use-cases, application developers only
381/// use `client::BackendBuckets` and need not be concerned with this trait or
382/// its implementations.
383///
384/// Services gain new RPCs routinely. Consequently, this trait gains new methods
385/// too. To avoid breaking applications the trait provides a default
386/// implementation of each method. Most of these implementations just return an
387/// error.
388#[cfg(feature = "backend-buckets")]
389#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
390pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
391    /// Implements [super::client::BackendBuckets::add_signed_url_key].
392    fn add_signed_url_key(
393        &self,
394        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
395        _options: gax::options::RequestOptions,
396    ) -> impl std::future::Future<
397        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
398    > + Send {
399        gaxi::unimplemented::unimplemented_stub()
400    }
401
402    /// Implements [super::client::BackendBuckets::delete].
403    fn delete(
404        &self,
405        _req: crate::model::backend_buckets::DeleteRequest,
406        _options: gax::options::RequestOptions,
407    ) -> impl std::future::Future<
408        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
409    > + Send {
410        gaxi::unimplemented::unimplemented_stub()
411    }
412
413    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
414    fn delete_signed_url_key(
415        &self,
416        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
417        _options: gax::options::RequestOptions,
418    ) -> impl std::future::Future<
419        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
420    > + Send {
421        gaxi::unimplemented::unimplemented_stub()
422    }
423
424    /// Implements [super::client::BackendBuckets::get].
425    fn get(
426        &self,
427        _req: crate::model::backend_buckets::GetRequest,
428        _options: gax::options::RequestOptions,
429    ) -> impl std::future::Future<
430        Output = crate::Result<gax::response::Response<crate::model::BackendBucket>>,
431    > + Send {
432        gaxi::unimplemented::unimplemented_stub()
433    }
434
435    /// Implements [super::client::BackendBuckets::get_iam_policy].
436    fn get_iam_policy(
437        &self,
438        _req: crate::model::backend_buckets::GetIamPolicyRequest,
439        _options: gax::options::RequestOptions,
440    ) -> impl std::future::Future<
441        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
442    > + Send {
443        gaxi::unimplemented::unimplemented_stub()
444    }
445
446    /// Implements [super::client::BackendBuckets::insert].
447    fn insert(
448        &self,
449        _req: crate::model::backend_buckets::InsertRequest,
450        _options: gax::options::RequestOptions,
451    ) -> impl std::future::Future<
452        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
453    > + Send {
454        gaxi::unimplemented::unimplemented_stub()
455    }
456
457    /// Implements [super::client::BackendBuckets::list].
458    fn list(
459        &self,
460        _req: crate::model::backend_buckets::ListRequest,
461        _options: gax::options::RequestOptions,
462    ) -> impl std::future::Future<
463        Output = crate::Result<gax::response::Response<crate::model::BackendBucketList>>,
464    > + Send {
465        gaxi::unimplemented::unimplemented_stub()
466    }
467
468    /// Implements [super::client::BackendBuckets::patch].
469    fn patch(
470        &self,
471        _req: crate::model::backend_buckets::PatchRequest,
472        _options: gax::options::RequestOptions,
473    ) -> impl std::future::Future<
474        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
475    > + Send {
476        gaxi::unimplemented::unimplemented_stub()
477    }
478
479    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
480    fn set_edge_security_policy(
481        &self,
482        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
483        _options: gax::options::RequestOptions,
484    ) -> impl std::future::Future<
485        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
486    > + Send {
487        gaxi::unimplemented::unimplemented_stub()
488    }
489
490    /// Implements [super::client::BackendBuckets::set_iam_policy].
491    fn set_iam_policy(
492        &self,
493        _req: crate::model::backend_buckets::SetIamPolicyRequest,
494        _options: gax::options::RequestOptions,
495    ) -> impl std::future::Future<
496        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
497    > + Send {
498        gaxi::unimplemented::unimplemented_stub()
499    }
500
501    /// Implements [super::client::BackendBuckets::test_iam_permissions].
502    fn test_iam_permissions(
503        &self,
504        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
505        _options: gax::options::RequestOptions,
506    ) -> impl std::future::Future<
507        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
508    > + Send {
509        gaxi::unimplemented::unimplemented_stub()
510    }
511
512    /// Implements [super::client::BackendBuckets::update].
513    fn update(
514        &self,
515        _req: crate::model::backend_buckets::UpdateRequest,
516        _options: gax::options::RequestOptions,
517    ) -> impl std::future::Future<
518        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
519    > + Send {
520        gaxi::unimplemented::unimplemented_stub()
521    }
522
523    /// Implements [super::client::BackendBuckets::get_operation].
524    fn get_operation(
525        &self,
526        _req: crate::model::global_operations::GetRequest,
527        _options: gax::options::RequestOptions,
528    ) -> impl std::future::Future<
529        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
530    > + Send {
531        gaxi::unimplemented::unimplemented_stub()
532    }
533
534    /// Returns the polling error policy.
535    ///
536    /// When mocking, this method is typically irrelevant. Do not try to verify
537    /// it is called by your mocks.
538    fn get_polling_error_policy(
539        &self,
540        _options: &gax::options::RequestOptions,
541    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
542        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
543    }
544
545    /// Returns the polling backoff policy.
546    ///
547    /// When mocking, this method is typically irrelevant. Do not try to verify
548    /// it is called by your mocks.
549    fn get_polling_backoff_policy(
550        &self,
551        _options: &gax::options::RequestOptions,
552    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
553        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
554    }
555}
556
557/// Defines the trait used to implement [super::client::BackendServices].
558///
559/// Application developers may need to implement this trait to mock
560/// `client::BackendServices`.  In other use-cases, application developers only
561/// use `client::BackendServices` and need not be concerned with this trait or
562/// its implementations.
563///
564/// Services gain new RPCs routinely. Consequently, this trait gains new methods
565/// too. To avoid breaking applications the trait provides a default
566/// implementation of each method. Most of these implementations just return an
567/// error.
568#[cfg(feature = "backend-services")]
569#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
570pub trait BackendServices: std::fmt::Debug + Send + Sync {
571    /// Implements [super::client::BackendServices::add_signed_url_key].
572    fn add_signed_url_key(
573        &self,
574        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
575        _options: gax::options::RequestOptions,
576    ) -> impl std::future::Future<
577        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
578    > + Send {
579        gaxi::unimplemented::unimplemented_stub()
580    }
581
582    /// Implements [super::client::BackendServices::aggregated_list].
583    fn aggregated_list(
584        &self,
585        _req: crate::model::backend_services::AggregatedListRequest,
586        _options: gax::options::RequestOptions,
587    ) -> impl std::future::Future<
588        Output = crate::Result<gax::response::Response<crate::model::BackendServiceAggregatedList>>,
589    > + Send {
590        gaxi::unimplemented::unimplemented_stub()
591    }
592
593    /// Implements [super::client::BackendServices::delete].
594    fn delete(
595        &self,
596        _req: crate::model::backend_services::DeleteRequest,
597        _options: gax::options::RequestOptions,
598    ) -> impl std::future::Future<
599        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
600    > + Send {
601        gaxi::unimplemented::unimplemented_stub()
602    }
603
604    /// Implements [super::client::BackendServices::delete_signed_url_key].
605    fn delete_signed_url_key(
606        &self,
607        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
608        _options: gax::options::RequestOptions,
609    ) -> impl std::future::Future<
610        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
611    > + Send {
612        gaxi::unimplemented::unimplemented_stub()
613    }
614
615    /// Implements [super::client::BackendServices::get].
616    fn get(
617        &self,
618        _req: crate::model::backend_services::GetRequest,
619        _options: gax::options::RequestOptions,
620    ) -> impl std::future::Future<
621        Output = crate::Result<gax::response::Response<crate::model::BackendService>>,
622    > + Send {
623        gaxi::unimplemented::unimplemented_stub()
624    }
625
626    /// Implements [super::client::BackendServices::get_effective_security_policies].
627    fn get_effective_security_policies(
628        &self,
629        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
630        _options: gax::options::RequestOptions,
631    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
632        gaxi::unimplemented::unimplemented_stub()
633    }
634
635    /// Implements [super::client::BackendServices::get_health].
636    fn get_health(
637        &self,
638        _req: crate::model::backend_services::GetHealthRequest,
639        _options: gax::options::RequestOptions,
640    ) -> impl std::future::Future<
641        Output = crate::Result<gax::response::Response<crate::model::BackendServiceGroupHealth>>,
642    > + Send {
643        gaxi::unimplemented::unimplemented_stub()
644    }
645
646    /// Implements [super::client::BackendServices::get_iam_policy].
647    fn get_iam_policy(
648        &self,
649        _req: crate::model::backend_services::GetIamPolicyRequest,
650        _options: gax::options::RequestOptions,
651    ) -> impl std::future::Future<
652        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
653    > + Send {
654        gaxi::unimplemented::unimplemented_stub()
655    }
656
657    /// Implements [super::client::BackendServices::insert].
658    fn insert(
659        &self,
660        _req: crate::model::backend_services::InsertRequest,
661        _options: gax::options::RequestOptions,
662    ) -> impl std::future::Future<
663        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
664    > + Send {
665        gaxi::unimplemented::unimplemented_stub()
666    }
667
668    /// Implements [super::client::BackendServices::list].
669    fn list(
670        &self,
671        _req: crate::model::backend_services::ListRequest,
672        _options: gax::options::RequestOptions,
673    ) -> impl std::future::Future<
674        Output = crate::Result<gax::response::Response<crate::model::BackendServiceList>>,
675    > + Send {
676        gaxi::unimplemented::unimplemented_stub()
677    }
678
679    /// Implements [super::client::BackendServices::list_usable].
680    fn list_usable(
681        &self,
682        _req: crate::model::backend_services::ListUsableRequest,
683        _options: gax::options::RequestOptions,
684    ) -> impl std::future::Future<
685        Output = crate::Result<gax::response::Response<crate::model::BackendServiceListUsable>>,
686    > + Send {
687        gaxi::unimplemented::unimplemented_stub()
688    }
689
690    /// Implements [super::client::BackendServices::patch].
691    fn patch(
692        &self,
693        _req: crate::model::backend_services::PatchRequest,
694        _options: gax::options::RequestOptions,
695    ) -> impl std::future::Future<
696        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
697    > + Send {
698        gaxi::unimplemented::unimplemented_stub()
699    }
700
701    /// Implements [super::client::BackendServices::set_edge_security_policy].
702    fn set_edge_security_policy(
703        &self,
704        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
705        _options: gax::options::RequestOptions,
706    ) -> impl std::future::Future<
707        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
708    > + Send {
709        gaxi::unimplemented::unimplemented_stub()
710    }
711
712    /// Implements [super::client::BackendServices::set_iam_policy].
713    fn set_iam_policy(
714        &self,
715        _req: crate::model::backend_services::SetIamPolicyRequest,
716        _options: gax::options::RequestOptions,
717    ) -> impl std::future::Future<
718        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
719    > + Send {
720        gaxi::unimplemented::unimplemented_stub()
721    }
722
723    /// Implements [super::client::BackendServices::set_security_policy].
724    fn set_security_policy(
725        &self,
726        _req: crate::model::backend_services::SetSecurityPolicyRequest,
727        _options: gax::options::RequestOptions,
728    ) -> impl std::future::Future<
729        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
730    > + Send {
731        gaxi::unimplemented::unimplemented_stub()
732    }
733
734    /// Implements [super::client::BackendServices::test_iam_permissions].
735    fn test_iam_permissions(
736        &self,
737        _req: crate::model::backend_services::TestIamPermissionsRequest,
738        _options: gax::options::RequestOptions,
739    ) -> impl std::future::Future<
740        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
741    > + Send {
742        gaxi::unimplemented::unimplemented_stub()
743    }
744
745    /// Implements [super::client::BackendServices::update].
746    fn update(
747        &self,
748        _req: crate::model::backend_services::UpdateRequest,
749        _options: gax::options::RequestOptions,
750    ) -> impl std::future::Future<
751        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
752    > + Send {
753        gaxi::unimplemented::unimplemented_stub()
754    }
755
756    /// Implements [super::client::BackendServices::get_operation].
757    fn get_operation(
758        &self,
759        _req: crate::model::global_operations::GetRequest,
760        _options: gax::options::RequestOptions,
761    ) -> impl std::future::Future<
762        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
763    > + Send {
764        gaxi::unimplemented::unimplemented_stub()
765    }
766
767    /// Returns the polling error policy.
768    ///
769    /// When mocking, this method is typically irrelevant. Do not try to verify
770    /// it is called by your mocks.
771    fn get_polling_error_policy(
772        &self,
773        _options: &gax::options::RequestOptions,
774    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
775        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
776    }
777
778    /// Returns the polling backoff policy.
779    ///
780    /// When mocking, this method is typically irrelevant. Do not try to verify
781    /// it is called by your mocks.
782    fn get_polling_backoff_policy(
783        &self,
784        _options: &gax::options::RequestOptions,
785    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
786        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
787    }
788}
789
790/// Defines the trait used to implement [super::client::CrossSiteNetworks].
791///
792/// Application developers may need to implement this trait to mock
793/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
794/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
795/// its implementations.
796///
797/// Services gain new RPCs routinely. Consequently, this trait gains new methods
798/// too. To avoid breaking applications the trait provides a default
799/// implementation of each method. Most of these implementations just return an
800/// error.
801#[cfg(feature = "cross-site-networks")]
802#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
803pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
804    /// Implements [super::client::CrossSiteNetworks::delete].
805    fn delete(
806        &self,
807        _req: crate::model::cross_site_networks::DeleteRequest,
808        _options: gax::options::RequestOptions,
809    ) -> impl std::future::Future<
810        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
811    > + Send {
812        gaxi::unimplemented::unimplemented_stub()
813    }
814
815    /// Implements [super::client::CrossSiteNetworks::get].
816    fn get(
817        &self,
818        _req: crate::model::cross_site_networks::GetRequest,
819        _options: gax::options::RequestOptions,
820    ) -> impl std::future::Future<
821        Output = crate::Result<gax::response::Response<crate::model::CrossSiteNetwork>>,
822    > + Send {
823        gaxi::unimplemented::unimplemented_stub()
824    }
825
826    /// Implements [super::client::CrossSiteNetworks::insert].
827    fn insert(
828        &self,
829        _req: crate::model::cross_site_networks::InsertRequest,
830        _options: gax::options::RequestOptions,
831    ) -> impl std::future::Future<
832        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
833    > + Send {
834        gaxi::unimplemented::unimplemented_stub()
835    }
836
837    /// Implements [super::client::CrossSiteNetworks::list].
838    fn list(
839        &self,
840        _req: crate::model::cross_site_networks::ListRequest,
841        _options: gax::options::RequestOptions,
842    ) -> impl std::future::Future<
843        Output = crate::Result<gax::response::Response<crate::model::CrossSiteNetworkList>>,
844    > + Send {
845        gaxi::unimplemented::unimplemented_stub()
846    }
847
848    /// Implements [super::client::CrossSiteNetworks::patch].
849    fn patch(
850        &self,
851        _req: crate::model::cross_site_networks::PatchRequest,
852        _options: gax::options::RequestOptions,
853    ) -> impl std::future::Future<
854        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
855    > + Send {
856        gaxi::unimplemented::unimplemented_stub()
857    }
858
859    /// Implements [super::client::CrossSiteNetworks::get_operation].
860    fn get_operation(
861        &self,
862        _req: crate::model::global_operations::GetRequest,
863        _options: gax::options::RequestOptions,
864    ) -> impl std::future::Future<
865        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
866    > + Send {
867        gaxi::unimplemented::unimplemented_stub()
868    }
869
870    /// Returns the polling error policy.
871    ///
872    /// When mocking, this method is typically irrelevant. Do not try to verify
873    /// it is called by your mocks.
874    fn get_polling_error_policy(
875        &self,
876        _options: &gax::options::RequestOptions,
877    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
878        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
879    }
880
881    /// Returns the polling backoff policy.
882    ///
883    /// When mocking, this method is typically irrelevant. Do not try to verify
884    /// it is called by your mocks.
885    fn get_polling_backoff_policy(
886        &self,
887        _options: &gax::options::RequestOptions,
888    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
889        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
890    }
891}
892
893/// Defines the trait used to implement [super::client::DiskTypes].
894///
895/// Application developers may need to implement this trait to mock
896/// `client::DiskTypes`.  In other use-cases, application developers only
897/// use `client::DiskTypes` and need not be concerned with this trait or
898/// its implementations.
899///
900/// Services gain new RPCs routinely. Consequently, this trait gains new methods
901/// too. To avoid breaking applications the trait provides a default
902/// implementation of each method. Most of these implementations just return an
903/// error.
904#[cfg(feature = "disk-types")]
905#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
906pub trait DiskTypes: std::fmt::Debug + Send + Sync {
907    /// Implements [super::client::DiskTypes::aggregated_list].
908    fn aggregated_list(
909        &self,
910        _req: crate::model::disk_types::AggregatedListRequest,
911        _options: gax::options::RequestOptions,
912    ) -> impl std::future::Future<
913        Output = crate::Result<gax::response::Response<crate::model::DiskTypeAggregatedList>>,
914    > + Send {
915        gaxi::unimplemented::unimplemented_stub()
916    }
917
918    /// Implements [super::client::DiskTypes::get].
919    fn get(
920        &self,
921        _req: crate::model::disk_types::GetRequest,
922        _options: gax::options::RequestOptions,
923    ) -> impl std::future::Future<
924        Output = crate::Result<gax::response::Response<crate::model::DiskType>>,
925    > + Send {
926        gaxi::unimplemented::unimplemented_stub()
927    }
928
929    /// Implements [super::client::DiskTypes::list].
930    fn list(
931        &self,
932        _req: crate::model::disk_types::ListRequest,
933        _options: gax::options::RequestOptions,
934    ) -> impl std::future::Future<
935        Output = crate::Result<gax::response::Response<crate::model::DiskTypeList>>,
936    > + Send {
937        gaxi::unimplemented::unimplemented_stub()
938    }
939}
940
941/// Defines the trait used to implement [super::client::Disks].
942///
943/// Application developers may need to implement this trait to mock
944/// `client::Disks`.  In other use-cases, application developers only
945/// use `client::Disks` and need not be concerned with this trait or
946/// its implementations.
947///
948/// Services gain new RPCs routinely. Consequently, this trait gains new methods
949/// too. To avoid breaking applications the trait provides a default
950/// implementation of each method. Most of these implementations just return an
951/// error.
952#[cfg(feature = "disks")]
953#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
954pub trait Disks: std::fmt::Debug + Send + Sync {
955    /// Implements [super::client::Disks::add_resource_policies].
956    fn add_resource_policies(
957        &self,
958        _req: crate::model::disks::AddResourcePoliciesRequest,
959        _options: gax::options::RequestOptions,
960    ) -> impl std::future::Future<
961        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
962    > + Send {
963        gaxi::unimplemented::unimplemented_stub()
964    }
965
966    /// Implements [super::client::Disks::aggregated_list].
967    fn aggregated_list(
968        &self,
969        _req: crate::model::disks::AggregatedListRequest,
970        _options: gax::options::RequestOptions,
971    ) -> impl std::future::Future<
972        Output = crate::Result<gax::response::Response<crate::model::DiskAggregatedList>>,
973    > + Send {
974        gaxi::unimplemented::unimplemented_stub()
975    }
976
977    /// Implements [super::client::Disks::bulk_insert].
978    fn bulk_insert(
979        &self,
980        _req: crate::model::disks::BulkInsertRequest,
981        _options: gax::options::RequestOptions,
982    ) -> impl std::future::Future<
983        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
984    > + Send {
985        gaxi::unimplemented::unimplemented_stub()
986    }
987
988    /// Implements [super::client::Disks::bulk_set_labels].
989    fn bulk_set_labels(
990        &self,
991        _req: crate::model::disks::BulkSetLabelsRequest,
992        _options: gax::options::RequestOptions,
993    ) -> impl std::future::Future<
994        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
995    > + Send {
996        gaxi::unimplemented::unimplemented_stub()
997    }
998
999    /// Implements [super::client::Disks::create_snapshot].
1000    fn create_snapshot(
1001        &self,
1002        _req: crate::model::disks::CreateSnapshotRequest,
1003        _options: gax::options::RequestOptions,
1004    ) -> impl std::future::Future<
1005        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1006    > + Send {
1007        gaxi::unimplemented::unimplemented_stub()
1008    }
1009
1010    /// Implements [super::client::Disks::delete].
1011    fn delete(
1012        &self,
1013        _req: crate::model::disks::DeleteRequest,
1014        _options: gax::options::RequestOptions,
1015    ) -> impl std::future::Future<
1016        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1017    > + Send {
1018        gaxi::unimplemented::unimplemented_stub()
1019    }
1020
1021    /// Implements [super::client::Disks::get].
1022    fn get(
1023        &self,
1024        _req: crate::model::disks::GetRequest,
1025        _options: gax::options::RequestOptions,
1026    ) -> impl std::future::Future<
1027        Output = crate::Result<gax::response::Response<crate::model::Disk>>,
1028    > + Send {
1029        gaxi::unimplemented::unimplemented_stub()
1030    }
1031
1032    /// Implements [super::client::Disks::get_iam_policy].
1033    fn get_iam_policy(
1034        &self,
1035        _req: crate::model::disks::GetIamPolicyRequest,
1036        _options: gax::options::RequestOptions,
1037    ) -> impl std::future::Future<
1038        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
1039    > + Send {
1040        gaxi::unimplemented::unimplemented_stub()
1041    }
1042
1043    /// Implements [super::client::Disks::insert].
1044    fn insert(
1045        &self,
1046        _req: crate::model::disks::InsertRequest,
1047        _options: gax::options::RequestOptions,
1048    ) -> impl std::future::Future<
1049        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1050    > + Send {
1051        gaxi::unimplemented::unimplemented_stub()
1052    }
1053
1054    /// Implements [super::client::Disks::list].
1055    fn list(
1056        &self,
1057        _req: crate::model::disks::ListRequest,
1058        _options: gax::options::RequestOptions,
1059    ) -> impl std::future::Future<
1060        Output = crate::Result<gax::response::Response<crate::model::DiskList>>,
1061    > + Send {
1062        gaxi::unimplemented::unimplemented_stub()
1063    }
1064
1065    /// Implements [super::client::Disks::remove_resource_policies].
1066    fn remove_resource_policies(
1067        &self,
1068        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1069        _options: gax::options::RequestOptions,
1070    ) -> impl std::future::Future<
1071        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1072    > + Send {
1073        gaxi::unimplemented::unimplemented_stub()
1074    }
1075
1076    /// Implements [super::client::Disks::resize].
1077    fn resize(
1078        &self,
1079        _req: crate::model::disks::ResizeRequest,
1080        _options: gax::options::RequestOptions,
1081    ) -> impl std::future::Future<
1082        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1083    > + Send {
1084        gaxi::unimplemented::unimplemented_stub()
1085    }
1086
1087    /// Implements [super::client::Disks::set_iam_policy].
1088    fn set_iam_policy(
1089        &self,
1090        _req: crate::model::disks::SetIamPolicyRequest,
1091        _options: gax::options::RequestOptions,
1092    ) -> impl std::future::Future<
1093        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
1094    > + Send {
1095        gaxi::unimplemented::unimplemented_stub()
1096    }
1097
1098    /// Implements [super::client::Disks::set_labels].
1099    fn set_labels(
1100        &self,
1101        _req: crate::model::disks::SetLabelsRequest,
1102        _options: gax::options::RequestOptions,
1103    ) -> impl std::future::Future<
1104        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1105    > + Send {
1106        gaxi::unimplemented::unimplemented_stub()
1107    }
1108
1109    /// Implements [super::client::Disks::start_async_replication].
1110    fn start_async_replication(
1111        &self,
1112        _req: crate::model::disks::StartAsyncReplicationRequest,
1113        _options: gax::options::RequestOptions,
1114    ) -> impl std::future::Future<
1115        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1116    > + Send {
1117        gaxi::unimplemented::unimplemented_stub()
1118    }
1119
1120    /// Implements [super::client::Disks::stop_async_replication].
1121    fn stop_async_replication(
1122        &self,
1123        _req: crate::model::disks::StopAsyncReplicationRequest,
1124        _options: gax::options::RequestOptions,
1125    ) -> impl std::future::Future<
1126        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1127    > + Send {
1128        gaxi::unimplemented::unimplemented_stub()
1129    }
1130
1131    /// Implements [super::client::Disks::stop_group_async_replication].
1132    fn stop_group_async_replication(
1133        &self,
1134        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1135        _options: gax::options::RequestOptions,
1136    ) -> impl std::future::Future<
1137        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1138    > + Send {
1139        gaxi::unimplemented::unimplemented_stub()
1140    }
1141
1142    /// Implements [super::client::Disks::test_iam_permissions].
1143    fn test_iam_permissions(
1144        &self,
1145        _req: crate::model::disks::TestIamPermissionsRequest,
1146        _options: gax::options::RequestOptions,
1147    ) -> impl std::future::Future<
1148        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
1149    > + Send {
1150        gaxi::unimplemented::unimplemented_stub()
1151    }
1152
1153    /// Implements [super::client::Disks::update].
1154    fn update(
1155        &self,
1156        _req: crate::model::disks::UpdateRequest,
1157        _options: gax::options::RequestOptions,
1158    ) -> impl std::future::Future<
1159        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1160    > + Send {
1161        gaxi::unimplemented::unimplemented_stub()
1162    }
1163
1164    /// Implements [super::client::Disks::get_operation].
1165    fn get_operation(
1166        &self,
1167        _req: crate::model::zone_operations::GetRequest,
1168        _options: gax::options::RequestOptions,
1169    ) -> impl std::future::Future<
1170        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1171    > + Send {
1172        gaxi::unimplemented::unimplemented_stub()
1173    }
1174
1175    /// Returns the polling error policy.
1176    ///
1177    /// When mocking, this method is typically irrelevant. Do not try to verify
1178    /// it is called by your mocks.
1179    fn get_polling_error_policy(
1180        &self,
1181        _options: &gax::options::RequestOptions,
1182    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1183        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1184    }
1185
1186    /// Returns the polling backoff policy.
1187    ///
1188    /// When mocking, this method is typically irrelevant. Do not try to verify
1189    /// it is called by your mocks.
1190    fn get_polling_backoff_policy(
1191        &self,
1192        _options: &gax::options::RequestOptions,
1193    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1194        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1195    }
1196}
1197
1198/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1199///
1200/// Application developers may need to implement this trait to mock
1201/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1202/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1203/// its implementations.
1204///
1205/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1206/// too. To avoid breaking applications the trait provides a default
1207/// implementation of each method. Most of these implementations just return an
1208/// error.
1209#[cfg(feature = "external-vpn-gateways")]
1210#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1211pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1212    /// Implements [super::client::ExternalVpnGateways::delete].
1213    fn delete(
1214        &self,
1215        _req: crate::model::external_vpn_gateways::DeleteRequest,
1216        _options: gax::options::RequestOptions,
1217    ) -> impl std::future::Future<
1218        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1219    > + Send {
1220        gaxi::unimplemented::unimplemented_stub()
1221    }
1222
1223    /// Implements [super::client::ExternalVpnGateways::get].
1224    fn get(
1225        &self,
1226        _req: crate::model::external_vpn_gateways::GetRequest,
1227        _options: gax::options::RequestOptions,
1228    ) -> impl std::future::Future<
1229        Output = crate::Result<gax::response::Response<crate::model::ExternalVpnGateway>>,
1230    > + Send {
1231        gaxi::unimplemented::unimplemented_stub()
1232    }
1233
1234    /// Implements [super::client::ExternalVpnGateways::insert].
1235    fn insert(
1236        &self,
1237        _req: crate::model::external_vpn_gateways::InsertRequest,
1238        _options: gax::options::RequestOptions,
1239    ) -> impl std::future::Future<
1240        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1241    > + Send {
1242        gaxi::unimplemented::unimplemented_stub()
1243    }
1244
1245    /// Implements [super::client::ExternalVpnGateways::list].
1246    fn list(
1247        &self,
1248        _req: crate::model::external_vpn_gateways::ListRequest,
1249        _options: gax::options::RequestOptions,
1250    ) -> impl std::future::Future<
1251        Output = crate::Result<gax::response::Response<crate::model::ExternalVpnGatewayList>>,
1252    > + Send {
1253        gaxi::unimplemented::unimplemented_stub()
1254    }
1255
1256    /// Implements [super::client::ExternalVpnGateways::set_labels].
1257    fn set_labels(
1258        &self,
1259        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1260        _options: gax::options::RequestOptions,
1261    ) -> impl std::future::Future<
1262        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1263    > + Send {
1264        gaxi::unimplemented::unimplemented_stub()
1265    }
1266
1267    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1268    fn test_iam_permissions(
1269        &self,
1270        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1271        _options: gax::options::RequestOptions,
1272    ) -> impl std::future::Future<
1273        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
1274    > + Send {
1275        gaxi::unimplemented::unimplemented_stub()
1276    }
1277
1278    /// Implements [super::client::ExternalVpnGateways::get_operation].
1279    fn get_operation(
1280        &self,
1281        _req: crate::model::global_operations::GetRequest,
1282        _options: gax::options::RequestOptions,
1283    ) -> impl std::future::Future<
1284        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1285    > + Send {
1286        gaxi::unimplemented::unimplemented_stub()
1287    }
1288
1289    /// Returns the polling error policy.
1290    ///
1291    /// When mocking, this method is typically irrelevant. Do not try to verify
1292    /// it is called by your mocks.
1293    fn get_polling_error_policy(
1294        &self,
1295        _options: &gax::options::RequestOptions,
1296    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1297        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1298    }
1299
1300    /// Returns the polling backoff policy.
1301    ///
1302    /// When mocking, this method is typically irrelevant. Do not try to verify
1303    /// it is called by your mocks.
1304    fn get_polling_backoff_policy(
1305        &self,
1306        _options: &gax::options::RequestOptions,
1307    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1308        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1309    }
1310}
1311
1312/// Defines the trait used to implement [super::client::FirewallPolicies].
1313///
1314/// Application developers may need to implement this trait to mock
1315/// `client::FirewallPolicies`.  In other use-cases, application developers only
1316/// use `client::FirewallPolicies` and need not be concerned with this trait or
1317/// its implementations.
1318///
1319/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1320/// too. To avoid breaking applications the trait provides a default
1321/// implementation of each method. Most of these implementations just return an
1322/// error.
1323#[cfg(feature = "firewall-policies")]
1324#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1325pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1326    /// Implements [super::client::FirewallPolicies::add_association].
1327    fn add_association(
1328        &self,
1329        _req: crate::model::firewall_policies::AddAssociationRequest,
1330        _options: gax::options::RequestOptions,
1331    ) -> impl std::future::Future<
1332        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1333    > + Send {
1334        gaxi::unimplemented::unimplemented_stub()
1335    }
1336
1337    /// Implements [super::client::FirewallPolicies::add_rule].
1338    fn add_rule(
1339        &self,
1340        _req: crate::model::firewall_policies::AddRuleRequest,
1341        _options: gax::options::RequestOptions,
1342    ) -> impl std::future::Future<
1343        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1344    > + Send {
1345        gaxi::unimplemented::unimplemented_stub()
1346    }
1347
1348    /// Implements [super::client::FirewallPolicies::clone_rules].
1349    fn clone_rules(
1350        &self,
1351        _req: crate::model::firewall_policies::CloneRulesRequest,
1352        _options: gax::options::RequestOptions,
1353    ) -> impl std::future::Future<
1354        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1355    > + Send {
1356        gaxi::unimplemented::unimplemented_stub()
1357    }
1358
1359    /// Implements [super::client::FirewallPolicies::delete].
1360    fn delete(
1361        &self,
1362        _req: crate::model::firewall_policies::DeleteRequest,
1363        _options: gax::options::RequestOptions,
1364    ) -> impl std::future::Future<
1365        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1366    > + Send {
1367        gaxi::unimplemented::unimplemented_stub()
1368    }
1369
1370    /// Implements [super::client::FirewallPolicies::get].
1371    fn get(
1372        &self,
1373        _req: crate::model::firewall_policies::GetRequest,
1374        _options: gax::options::RequestOptions,
1375    ) -> impl std::future::Future<
1376        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicy>>,
1377    > + Send {
1378        gaxi::unimplemented::unimplemented_stub()
1379    }
1380
1381    /// Implements [super::client::FirewallPolicies::get_association].
1382    fn get_association(
1383        &self,
1384        _req: crate::model::firewall_policies::GetAssociationRequest,
1385        _options: gax::options::RequestOptions,
1386    ) -> impl std::future::Future<
1387        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyAssociation>>,
1388    > + Send {
1389        gaxi::unimplemented::unimplemented_stub()
1390    }
1391
1392    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1393    fn get_iam_policy(
1394        &self,
1395        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1396        _options: gax::options::RequestOptions,
1397    ) -> impl std::future::Future<
1398        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
1399    > + Send {
1400        gaxi::unimplemented::unimplemented_stub()
1401    }
1402
1403    /// Implements [super::client::FirewallPolicies::get_rule].
1404    fn get_rule(
1405        &self,
1406        _req: crate::model::firewall_policies::GetRuleRequest,
1407        _options: gax::options::RequestOptions,
1408    ) -> impl std::future::Future<
1409        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyRule>>,
1410    > + Send {
1411        gaxi::unimplemented::unimplemented_stub()
1412    }
1413
1414    /// Implements [super::client::FirewallPolicies::insert].
1415    fn insert(
1416        &self,
1417        _req: crate::model::firewall_policies::InsertRequest,
1418        _options: gax::options::RequestOptions,
1419    ) -> impl std::future::Future<
1420        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1421    > + Send {
1422        gaxi::unimplemented::unimplemented_stub()
1423    }
1424
1425    /// Implements [super::client::FirewallPolicies::list].
1426    fn list(
1427        &self,
1428        _req: crate::model::firewall_policies::ListRequest,
1429        _options: gax::options::RequestOptions,
1430    ) -> impl std::future::Future<
1431        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyList>>,
1432    > + Send {
1433        gaxi::unimplemented::unimplemented_stub()
1434    }
1435
1436    /// Implements [super::client::FirewallPolicies::list_associations].
1437    fn list_associations(
1438        &self,
1439        _req: crate::model::firewall_policies::ListAssociationsRequest,
1440        _options: gax::options::RequestOptions,
1441    ) -> impl std::future::Future<
1442        Output = crate::Result<
1443            gax::response::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1444        >,
1445    > + Send {
1446        gaxi::unimplemented::unimplemented_stub()
1447    }
1448
1449    /// Implements [super::client::FirewallPolicies::r#move].
1450    fn r#move(
1451        &self,
1452        _req: crate::model::firewall_policies::MoveRequest,
1453        _options: gax::options::RequestOptions,
1454    ) -> impl std::future::Future<
1455        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1456    > + Send {
1457        gaxi::unimplemented::unimplemented_stub()
1458    }
1459
1460    /// Implements [super::client::FirewallPolicies::patch].
1461    fn patch(
1462        &self,
1463        _req: crate::model::firewall_policies::PatchRequest,
1464        _options: gax::options::RequestOptions,
1465    ) -> impl std::future::Future<
1466        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1467    > + Send {
1468        gaxi::unimplemented::unimplemented_stub()
1469    }
1470
1471    /// Implements [super::client::FirewallPolicies::patch_rule].
1472    fn patch_rule(
1473        &self,
1474        _req: crate::model::firewall_policies::PatchRuleRequest,
1475        _options: gax::options::RequestOptions,
1476    ) -> impl std::future::Future<
1477        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1478    > + Send {
1479        gaxi::unimplemented::unimplemented_stub()
1480    }
1481
1482    /// Implements [super::client::FirewallPolicies::remove_association].
1483    fn remove_association(
1484        &self,
1485        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1486        _options: gax::options::RequestOptions,
1487    ) -> impl std::future::Future<
1488        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1489    > + Send {
1490        gaxi::unimplemented::unimplemented_stub()
1491    }
1492
1493    /// Implements [super::client::FirewallPolicies::remove_rule].
1494    fn remove_rule(
1495        &self,
1496        _req: crate::model::firewall_policies::RemoveRuleRequest,
1497        _options: gax::options::RequestOptions,
1498    ) -> impl std::future::Future<
1499        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1500    > + Send {
1501        gaxi::unimplemented::unimplemented_stub()
1502    }
1503
1504    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1505    fn set_iam_policy(
1506        &self,
1507        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1508        _options: gax::options::RequestOptions,
1509    ) -> impl std::future::Future<
1510        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
1511    > + Send {
1512        gaxi::unimplemented::unimplemented_stub()
1513    }
1514
1515    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1516    fn test_iam_permissions(
1517        &self,
1518        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1519        _options: gax::options::RequestOptions,
1520    ) -> impl std::future::Future<
1521        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
1522    > + Send {
1523        gaxi::unimplemented::unimplemented_stub()
1524    }
1525
1526    /// Implements [super::client::FirewallPolicies::get_operation].
1527    fn get_operation(
1528        &self,
1529        _req: crate::model::global_organization_operations::GetRequest,
1530        _options: gax::options::RequestOptions,
1531    ) -> impl std::future::Future<
1532        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1533    > + Send {
1534        gaxi::unimplemented::unimplemented_stub()
1535    }
1536
1537    /// Returns the polling error policy.
1538    ///
1539    /// When mocking, this method is typically irrelevant. Do not try to verify
1540    /// it is called by your mocks.
1541    fn get_polling_error_policy(
1542        &self,
1543        _options: &gax::options::RequestOptions,
1544    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1545        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1546    }
1547
1548    /// Returns the polling backoff policy.
1549    ///
1550    /// When mocking, this method is typically irrelevant. Do not try to verify
1551    /// it is called by your mocks.
1552    fn get_polling_backoff_policy(
1553        &self,
1554        _options: &gax::options::RequestOptions,
1555    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1556        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1557    }
1558}
1559
1560/// Defines the trait used to implement [super::client::Firewalls].
1561///
1562/// Application developers may need to implement this trait to mock
1563/// `client::Firewalls`.  In other use-cases, application developers only
1564/// use `client::Firewalls` and need not be concerned with this trait or
1565/// its implementations.
1566///
1567/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1568/// too. To avoid breaking applications the trait provides a default
1569/// implementation of each method. Most of these implementations just return an
1570/// error.
1571#[cfg(feature = "firewalls")]
1572#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1573pub trait Firewalls: std::fmt::Debug + Send + Sync {
1574    /// Implements [super::client::Firewalls::delete].
1575    fn delete(
1576        &self,
1577        _req: crate::model::firewalls::DeleteRequest,
1578        _options: gax::options::RequestOptions,
1579    ) -> impl std::future::Future<
1580        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1581    > + Send {
1582        gaxi::unimplemented::unimplemented_stub()
1583    }
1584
1585    /// Implements [super::client::Firewalls::get].
1586    fn get(
1587        &self,
1588        _req: crate::model::firewalls::GetRequest,
1589        _options: gax::options::RequestOptions,
1590    ) -> impl std::future::Future<
1591        Output = crate::Result<gax::response::Response<crate::model::Firewall>>,
1592    > + Send {
1593        gaxi::unimplemented::unimplemented_stub()
1594    }
1595
1596    /// Implements [super::client::Firewalls::insert].
1597    fn insert(
1598        &self,
1599        _req: crate::model::firewalls::InsertRequest,
1600        _options: gax::options::RequestOptions,
1601    ) -> impl std::future::Future<
1602        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1603    > + Send {
1604        gaxi::unimplemented::unimplemented_stub()
1605    }
1606
1607    /// Implements [super::client::Firewalls::list].
1608    fn list(
1609        &self,
1610        _req: crate::model::firewalls::ListRequest,
1611        _options: gax::options::RequestOptions,
1612    ) -> impl std::future::Future<
1613        Output = crate::Result<gax::response::Response<crate::model::FirewallList>>,
1614    > + Send {
1615        gaxi::unimplemented::unimplemented_stub()
1616    }
1617
1618    /// Implements [super::client::Firewalls::patch].
1619    fn patch(
1620        &self,
1621        _req: crate::model::firewalls::PatchRequest,
1622        _options: gax::options::RequestOptions,
1623    ) -> impl std::future::Future<
1624        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1625    > + Send {
1626        gaxi::unimplemented::unimplemented_stub()
1627    }
1628
1629    /// Implements [super::client::Firewalls::test_iam_permissions].
1630    fn test_iam_permissions(
1631        &self,
1632        _req: crate::model::firewalls::TestIamPermissionsRequest,
1633        _options: gax::options::RequestOptions,
1634    ) -> impl std::future::Future<
1635        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
1636    > + Send {
1637        gaxi::unimplemented::unimplemented_stub()
1638    }
1639
1640    /// Implements [super::client::Firewalls::update].
1641    fn update(
1642        &self,
1643        _req: crate::model::firewalls::UpdateRequest,
1644        _options: gax::options::RequestOptions,
1645    ) -> impl std::future::Future<
1646        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1647    > + Send {
1648        gaxi::unimplemented::unimplemented_stub()
1649    }
1650
1651    /// Implements [super::client::Firewalls::get_operation].
1652    fn get_operation(
1653        &self,
1654        _req: crate::model::global_operations::GetRequest,
1655        _options: gax::options::RequestOptions,
1656    ) -> impl std::future::Future<
1657        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1658    > + Send {
1659        gaxi::unimplemented::unimplemented_stub()
1660    }
1661
1662    /// Returns the polling error policy.
1663    ///
1664    /// When mocking, this method is typically irrelevant. Do not try to verify
1665    /// it is called by your mocks.
1666    fn get_polling_error_policy(
1667        &self,
1668        _options: &gax::options::RequestOptions,
1669    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1670        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1671    }
1672
1673    /// Returns the polling backoff policy.
1674    ///
1675    /// When mocking, this method is typically irrelevant. Do not try to verify
1676    /// it is called by your mocks.
1677    fn get_polling_backoff_policy(
1678        &self,
1679        _options: &gax::options::RequestOptions,
1680    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1681        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1682    }
1683}
1684
1685/// Defines the trait used to implement [super::client::ForwardingRules].
1686///
1687/// Application developers may need to implement this trait to mock
1688/// `client::ForwardingRules`.  In other use-cases, application developers only
1689/// use `client::ForwardingRules` and need not be concerned with this trait or
1690/// its implementations.
1691///
1692/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1693/// too. To avoid breaking applications the trait provides a default
1694/// implementation of each method. Most of these implementations just return an
1695/// error.
1696#[cfg(feature = "forwarding-rules")]
1697#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1698pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1699    /// Implements [super::client::ForwardingRules::aggregated_list].
1700    fn aggregated_list(
1701        &self,
1702        _req: crate::model::forwarding_rules::AggregatedListRequest,
1703        _options: gax::options::RequestOptions,
1704    ) -> impl std::future::Future<
1705        Output = crate::Result<gax::response::Response<crate::model::ForwardingRuleAggregatedList>>,
1706    > + Send {
1707        gaxi::unimplemented::unimplemented_stub()
1708    }
1709
1710    /// Implements [super::client::ForwardingRules::delete].
1711    fn delete(
1712        &self,
1713        _req: crate::model::forwarding_rules::DeleteRequest,
1714        _options: gax::options::RequestOptions,
1715    ) -> impl std::future::Future<
1716        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1717    > + Send {
1718        gaxi::unimplemented::unimplemented_stub()
1719    }
1720
1721    /// Implements [super::client::ForwardingRules::get].
1722    fn get(
1723        &self,
1724        _req: crate::model::forwarding_rules::GetRequest,
1725        _options: gax::options::RequestOptions,
1726    ) -> impl std::future::Future<
1727        Output = crate::Result<gax::response::Response<crate::model::ForwardingRule>>,
1728    > + Send {
1729        gaxi::unimplemented::unimplemented_stub()
1730    }
1731
1732    /// Implements [super::client::ForwardingRules::insert].
1733    fn insert(
1734        &self,
1735        _req: crate::model::forwarding_rules::InsertRequest,
1736        _options: gax::options::RequestOptions,
1737    ) -> impl std::future::Future<
1738        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1739    > + Send {
1740        gaxi::unimplemented::unimplemented_stub()
1741    }
1742
1743    /// Implements [super::client::ForwardingRules::list].
1744    fn list(
1745        &self,
1746        _req: crate::model::forwarding_rules::ListRequest,
1747        _options: gax::options::RequestOptions,
1748    ) -> impl std::future::Future<
1749        Output = crate::Result<gax::response::Response<crate::model::ForwardingRuleList>>,
1750    > + Send {
1751        gaxi::unimplemented::unimplemented_stub()
1752    }
1753
1754    /// Implements [super::client::ForwardingRules::patch].
1755    fn patch(
1756        &self,
1757        _req: crate::model::forwarding_rules::PatchRequest,
1758        _options: gax::options::RequestOptions,
1759    ) -> impl std::future::Future<
1760        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1761    > + Send {
1762        gaxi::unimplemented::unimplemented_stub()
1763    }
1764
1765    /// Implements [super::client::ForwardingRules::set_labels].
1766    fn set_labels(
1767        &self,
1768        _req: crate::model::forwarding_rules::SetLabelsRequest,
1769        _options: gax::options::RequestOptions,
1770    ) -> impl std::future::Future<
1771        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1772    > + Send {
1773        gaxi::unimplemented::unimplemented_stub()
1774    }
1775
1776    /// Implements [super::client::ForwardingRules::set_target].
1777    fn set_target(
1778        &self,
1779        _req: crate::model::forwarding_rules::SetTargetRequest,
1780        _options: gax::options::RequestOptions,
1781    ) -> impl std::future::Future<
1782        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1783    > + Send {
1784        gaxi::unimplemented::unimplemented_stub()
1785    }
1786
1787    /// Implements [super::client::ForwardingRules::get_operation].
1788    fn get_operation(
1789        &self,
1790        _req: crate::model::region_operations::GetRequest,
1791        _options: gax::options::RequestOptions,
1792    ) -> impl std::future::Future<
1793        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1794    > + Send {
1795        gaxi::unimplemented::unimplemented_stub()
1796    }
1797
1798    /// Returns the polling error policy.
1799    ///
1800    /// When mocking, this method is typically irrelevant. Do not try to verify
1801    /// it is called by your mocks.
1802    fn get_polling_error_policy(
1803        &self,
1804        _options: &gax::options::RequestOptions,
1805    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1806        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1807    }
1808
1809    /// Returns the polling backoff policy.
1810    ///
1811    /// When mocking, this method is typically irrelevant. Do not try to verify
1812    /// it is called by your mocks.
1813    fn get_polling_backoff_policy(
1814        &self,
1815        _options: &gax::options::RequestOptions,
1816    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1817        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1818    }
1819}
1820
1821/// Defines the trait used to implement [super::client::FutureReservations].
1822///
1823/// Application developers may need to implement this trait to mock
1824/// `client::FutureReservations`.  In other use-cases, application developers only
1825/// use `client::FutureReservations` and need not be concerned with this trait or
1826/// its implementations.
1827///
1828/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1829/// too. To avoid breaking applications the trait provides a default
1830/// implementation of each method. Most of these implementations just return an
1831/// error.
1832#[cfg(feature = "future-reservations")]
1833#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1834pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1835    /// Implements [super::client::FutureReservations::aggregated_list].
1836    fn aggregated_list(
1837        &self,
1838        _req: crate::model::future_reservations::AggregatedListRequest,
1839        _options: gax::options::RequestOptions,
1840    ) -> impl std::future::Future<
1841        Output = crate::Result<
1842            gax::response::Response<crate::model::FutureReservationsAggregatedListResponse>,
1843        >,
1844    > + Send {
1845        gaxi::unimplemented::unimplemented_stub()
1846    }
1847
1848    /// Implements [super::client::FutureReservations::cancel].
1849    fn cancel(
1850        &self,
1851        _req: crate::model::future_reservations::CancelRequest,
1852        _options: gax::options::RequestOptions,
1853    ) -> impl std::future::Future<
1854        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1855    > + Send {
1856        gaxi::unimplemented::unimplemented_stub()
1857    }
1858
1859    /// Implements [super::client::FutureReservations::delete].
1860    fn delete(
1861        &self,
1862        _req: crate::model::future_reservations::DeleteRequest,
1863        _options: gax::options::RequestOptions,
1864    ) -> impl std::future::Future<
1865        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1866    > + Send {
1867        gaxi::unimplemented::unimplemented_stub()
1868    }
1869
1870    /// Implements [super::client::FutureReservations::get].
1871    fn get(
1872        &self,
1873        _req: crate::model::future_reservations::GetRequest,
1874        _options: gax::options::RequestOptions,
1875    ) -> impl std::future::Future<
1876        Output = crate::Result<gax::response::Response<crate::model::FutureReservation>>,
1877    > + Send {
1878        gaxi::unimplemented::unimplemented_stub()
1879    }
1880
1881    /// Implements [super::client::FutureReservations::insert].
1882    fn insert(
1883        &self,
1884        _req: crate::model::future_reservations::InsertRequest,
1885        _options: gax::options::RequestOptions,
1886    ) -> impl std::future::Future<
1887        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1888    > + Send {
1889        gaxi::unimplemented::unimplemented_stub()
1890    }
1891
1892    /// Implements [super::client::FutureReservations::list].
1893    fn list(
1894        &self,
1895        _req: crate::model::future_reservations::ListRequest,
1896        _options: gax::options::RequestOptions,
1897    ) -> impl std::future::Future<
1898        Output = crate::Result<
1899            gax::response::Response<crate::model::FutureReservationsListResponse>,
1900        >,
1901    > + Send {
1902        gaxi::unimplemented::unimplemented_stub()
1903    }
1904
1905    /// Implements [super::client::FutureReservations::update].
1906    fn update(
1907        &self,
1908        _req: crate::model::future_reservations::UpdateRequest,
1909        _options: gax::options::RequestOptions,
1910    ) -> impl std::future::Future<
1911        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1912    > + Send {
1913        gaxi::unimplemented::unimplemented_stub()
1914    }
1915
1916    /// Implements [super::client::FutureReservations::get_operation].
1917    fn get_operation(
1918        &self,
1919        _req: crate::model::zone_operations::GetRequest,
1920        _options: gax::options::RequestOptions,
1921    ) -> impl std::future::Future<
1922        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1923    > + Send {
1924        gaxi::unimplemented::unimplemented_stub()
1925    }
1926
1927    /// Returns the polling error policy.
1928    ///
1929    /// When mocking, this method is typically irrelevant. Do not try to verify
1930    /// it is called by your mocks.
1931    fn get_polling_error_policy(
1932        &self,
1933        _options: &gax::options::RequestOptions,
1934    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1935        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1936    }
1937
1938    /// Returns the polling backoff policy.
1939    ///
1940    /// When mocking, this method is typically irrelevant. Do not try to verify
1941    /// it is called by your mocks.
1942    fn get_polling_backoff_policy(
1943        &self,
1944        _options: &gax::options::RequestOptions,
1945    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1946        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1947    }
1948}
1949
1950/// Defines the trait used to implement [super::client::GlobalAddresses].
1951///
1952/// Application developers may need to implement this trait to mock
1953/// `client::GlobalAddresses`.  In other use-cases, application developers only
1954/// use `client::GlobalAddresses` and need not be concerned with this trait or
1955/// its implementations.
1956///
1957/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1958/// too. To avoid breaking applications the trait provides a default
1959/// implementation of each method. Most of these implementations just return an
1960/// error.
1961#[cfg(feature = "global-addresses")]
1962#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
1963pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
1964    /// Implements [super::client::GlobalAddresses::delete].
1965    fn delete(
1966        &self,
1967        _req: crate::model::global_addresses::DeleteRequest,
1968        _options: gax::options::RequestOptions,
1969    ) -> impl std::future::Future<
1970        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1971    > + Send {
1972        gaxi::unimplemented::unimplemented_stub()
1973    }
1974
1975    /// Implements [super::client::GlobalAddresses::get].
1976    fn get(
1977        &self,
1978        _req: crate::model::global_addresses::GetRequest,
1979        _options: gax::options::RequestOptions,
1980    ) -> impl std::future::Future<
1981        Output = crate::Result<gax::response::Response<crate::model::Address>>,
1982    > + Send {
1983        gaxi::unimplemented::unimplemented_stub()
1984    }
1985
1986    /// Implements [super::client::GlobalAddresses::insert].
1987    fn insert(
1988        &self,
1989        _req: crate::model::global_addresses::InsertRequest,
1990        _options: gax::options::RequestOptions,
1991    ) -> impl std::future::Future<
1992        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
1993    > + Send {
1994        gaxi::unimplemented::unimplemented_stub()
1995    }
1996
1997    /// Implements [super::client::GlobalAddresses::list].
1998    fn list(
1999        &self,
2000        _req: crate::model::global_addresses::ListRequest,
2001        _options: gax::options::RequestOptions,
2002    ) -> impl std::future::Future<
2003        Output = crate::Result<gax::response::Response<crate::model::AddressList>>,
2004    > + Send {
2005        gaxi::unimplemented::unimplemented_stub()
2006    }
2007
2008    /// Implements [super::client::GlobalAddresses::r#move].
2009    fn r#move(
2010        &self,
2011        _req: crate::model::global_addresses::MoveRequest,
2012        _options: gax::options::RequestOptions,
2013    ) -> impl std::future::Future<
2014        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2015    > + Send {
2016        gaxi::unimplemented::unimplemented_stub()
2017    }
2018
2019    /// Implements [super::client::GlobalAddresses::set_labels].
2020    fn set_labels(
2021        &self,
2022        _req: crate::model::global_addresses::SetLabelsRequest,
2023        _options: gax::options::RequestOptions,
2024    ) -> impl std::future::Future<
2025        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2026    > + Send {
2027        gaxi::unimplemented::unimplemented_stub()
2028    }
2029
2030    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
2031    fn test_iam_permissions(
2032        &self,
2033        _req: crate::model::global_addresses::TestIamPermissionsRequest,
2034        _options: gax::options::RequestOptions,
2035    ) -> impl std::future::Future<
2036        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
2037    > + Send {
2038        gaxi::unimplemented::unimplemented_stub()
2039    }
2040
2041    /// Implements [super::client::GlobalAddresses::get_operation].
2042    fn get_operation(
2043        &self,
2044        _req: crate::model::global_operations::GetRequest,
2045        _options: gax::options::RequestOptions,
2046    ) -> impl std::future::Future<
2047        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2048    > + Send {
2049        gaxi::unimplemented::unimplemented_stub()
2050    }
2051
2052    /// Returns the polling error policy.
2053    ///
2054    /// When mocking, this method is typically irrelevant. Do not try to verify
2055    /// it is called by your mocks.
2056    fn get_polling_error_policy(
2057        &self,
2058        _options: &gax::options::RequestOptions,
2059    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2060        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2061    }
2062
2063    /// Returns the polling backoff policy.
2064    ///
2065    /// When mocking, this method is typically irrelevant. Do not try to verify
2066    /// it is called by your mocks.
2067    fn get_polling_backoff_policy(
2068        &self,
2069        _options: &gax::options::RequestOptions,
2070    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2071        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2072    }
2073}
2074
2075/// Defines the trait used to implement [super::client::GlobalForwardingRules].
2076///
2077/// Application developers may need to implement this trait to mock
2078/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
2079/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
2080/// its implementations.
2081///
2082/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2083/// too. To avoid breaking applications the trait provides a default
2084/// implementation of each method. Most of these implementations just return an
2085/// error.
2086#[cfg(feature = "global-forwarding-rules")]
2087#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
2088pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
2089    /// Implements [super::client::GlobalForwardingRules::delete].
2090    fn delete(
2091        &self,
2092        _req: crate::model::global_forwarding_rules::DeleteRequest,
2093        _options: gax::options::RequestOptions,
2094    ) -> impl std::future::Future<
2095        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2096    > + Send {
2097        gaxi::unimplemented::unimplemented_stub()
2098    }
2099
2100    /// Implements [super::client::GlobalForwardingRules::get].
2101    fn get(
2102        &self,
2103        _req: crate::model::global_forwarding_rules::GetRequest,
2104        _options: gax::options::RequestOptions,
2105    ) -> impl std::future::Future<
2106        Output = crate::Result<gax::response::Response<crate::model::ForwardingRule>>,
2107    > + Send {
2108        gaxi::unimplemented::unimplemented_stub()
2109    }
2110
2111    /// Implements [super::client::GlobalForwardingRules::insert].
2112    fn insert(
2113        &self,
2114        _req: crate::model::global_forwarding_rules::InsertRequest,
2115        _options: gax::options::RequestOptions,
2116    ) -> impl std::future::Future<
2117        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2118    > + Send {
2119        gaxi::unimplemented::unimplemented_stub()
2120    }
2121
2122    /// Implements [super::client::GlobalForwardingRules::list].
2123    fn list(
2124        &self,
2125        _req: crate::model::global_forwarding_rules::ListRequest,
2126        _options: gax::options::RequestOptions,
2127    ) -> impl std::future::Future<
2128        Output = crate::Result<gax::response::Response<crate::model::ForwardingRuleList>>,
2129    > + Send {
2130        gaxi::unimplemented::unimplemented_stub()
2131    }
2132
2133    /// Implements [super::client::GlobalForwardingRules::patch].
2134    fn patch(
2135        &self,
2136        _req: crate::model::global_forwarding_rules::PatchRequest,
2137        _options: gax::options::RequestOptions,
2138    ) -> impl std::future::Future<
2139        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2140    > + Send {
2141        gaxi::unimplemented::unimplemented_stub()
2142    }
2143
2144    /// Implements [super::client::GlobalForwardingRules::set_labels].
2145    fn set_labels(
2146        &self,
2147        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2148        _options: gax::options::RequestOptions,
2149    ) -> impl std::future::Future<
2150        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2151    > + Send {
2152        gaxi::unimplemented::unimplemented_stub()
2153    }
2154
2155    /// Implements [super::client::GlobalForwardingRules::set_target].
2156    fn set_target(
2157        &self,
2158        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2159        _options: gax::options::RequestOptions,
2160    ) -> impl std::future::Future<
2161        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2162    > + Send {
2163        gaxi::unimplemented::unimplemented_stub()
2164    }
2165
2166    /// Implements [super::client::GlobalForwardingRules::get_operation].
2167    fn get_operation(
2168        &self,
2169        _req: crate::model::global_operations::GetRequest,
2170        _options: gax::options::RequestOptions,
2171    ) -> impl std::future::Future<
2172        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2173    > + Send {
2174        gaxi::unimplemented::unimplemented_stub()
2175    }
2176
2177    /// Returns the polling error policy.
2178    ///
2179    /// When mocking, this method is typically irrelevant. Do not try to verify
2180    /// it is called by your mocks.
2181    fn get_polling_error_policy(
2182        &self,
2183        _options: &gax::options::RequestOptions,
2184    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2185        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2186    }
2187
2188    /// Returns the polling backoff policy.
2189    ///
2190    /// When mocking, this method is typically irrelevant. Do not try to verify
2191    /// it is called by your mocks.
2192    fn get_polling_backoff_policy(
2193        &self,
2194        _options: &gax::options::RequestOptions,
2195    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2196        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2197    }
2198}
2199
2200/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2201///
2202/// Application developers may need to implement this trait to mock
2203/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2204/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2205/// its implementations.
2206///
2207/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2208/// too. To avoid breaking applications the trait provides a default
2209/// implementation of each method. Most of these implementations just return an
2210/// error.
2211#[cfg(feature = "global-network-endpoint-groups")]
2212#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2213pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2214    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2215    fn attach_network_endpoints(
2216        &self,
2217        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2218        _options: gax::options::RequestOptions,
2219    ) -> impl std::future::Future<
2220        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2221    > + Send {
2222        gaxi::unimplemented::unimplemented_stub()
2223    }
2224
2225    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2226    fn delete(
2227        &self,
2228        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2229        _options: gax::options::RequestOptions,
2230    ) -> impl std::future::Future<
2231        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2232    > + Send {
2233        gaxi::unimplemented::unimplemented_stub()
2234    }
2235
2236    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2237    fn detach_network_endpoints(
2238        &self,
2239        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2240        _options: gax::options::RequestOptions,
2241    ) -> impl std::future::Future<
2242        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2243    > + Send {
2244        gaxi::unimplemented::unimplemented_stub()
2245    }
2246
2247    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2248    fn get(
2249        &self,
2250        _req: crate::model::global_network_endpoint_groups::GetRequest,
2251        _options: gax::options::RequestOptions,
2252    ) -> impl std::future::Future<
2253        Output = crate::Result<gax::response::Response<crate::model::NetworkEndpointGroup>>,
2254    > + Send {
2255        gaxi::unimplemented::unimplemented_stub()
2256    }
2257
2258    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2259    fn insert(
2260        &self,
2261        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2262        _options: gax::options::RequestOptions,
2263    ) -> impl std::future::Future<
2264        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2265    > + Send {
2266        gaxi::unimplemented::unimplemented_stub()
2267    }
2268
2269    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2270    fn list(
2271        &self,
2272        _req: crate::model::global_network_endpoint_groups::ListRequest,
2273        _options: gax::options::RequestOptions,
2274    ) -> impl std::future::Future<
2275        Output = crate::Result<gax::response::Response<crate::model::NetworkEndpointGroupList>>,
2276    > + Send {
2277        gaxi::unimplemented::unimplemented_stub()
2278    }
2279
2280    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2281    fn list_network_endpoints(
2282        &self,
2283        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2284        _options: gax::options::RequestOptions,
2285    ) -> impl std::future::Future<
2286        Output = crate::Result<
2287            gax::response::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2288        >,
2289    > + Send {
2290        gaxi::unimplemented::unimplemented_stub()
2291    }
2292
2293    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2294    fn get_operation(
2295        &self,
2296        _req: crate::model::global_operations::GetRequest,
2297        _options: gax::options::RequestOptions,
2298    ) -> impl std::future::Future<
2299        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2300    > + Send {
2301        gaxi::unimplemented::unimplemented_stub()
2302    }
2303
2304    /// Returns the polling error policy.
2305    ///
2306    /// When mocking, this method is typically irrelevant. Do not try to verify
2307    /// it is called by your mocks.
2308    fn get_polling_error_policy(
2309        &self,
2310        _options: &gax::options::RequestOptions,
2311    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2312        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2313    }
2314
2315    /// Returns the polling backoff policy.
2316    ///
2317    /// When mocking, this method is typically irrelevant. Do not try to verify
2318    /// it is called by your mocks.
2319    fn get_polling_backoff_policy(
2320        &self,
2321        _options: &gax::options::RequestOptions,
2322    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2323        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2324    }
2325}
2326
2327/// Defines the trait used to implement [super::client::GlobalOperations].
2328///
2329/// Application developers may need to implement this trait to mock
2330/// `client::GlobalOperations`.  In other use-cases, application developers only
2331/// use `client::GlobalOperations` and need not be concerned with this trait or
2332/// its implementations.
2333///
2334/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2335/// too. To avoid breaking applications the trait provides a default
2336/// implementation of each method. Most of these implementations just return an
2337/// error.
2338#[cfg(feature = "global-operations")]
2339#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2340pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2341    /// Implements [super::client::GlobalOperations::aggregated_list].
2342    fn aggregated_list(
2343        &self,
2344        _req: crate::model::global_operations::AggregatedListRequest,
2345        _options: gax::options::RequestOptions,
2346    ) -> impl std::future::Future<
2347        Output = crate::Result<gax::response::Response<crate::model::OperationAggregatedList>>,
2348    > + Send {
2349        gaxi::unimplemented::unimplemented_stub()
2350    }
2351
2352    /// Implements [super::client::GlobalOperations::delete].
2353    fn delete(
2354        &self,
2355        _req: crate::model::global_operations::DeleteRequest,
2356        _options: gax::options::RequestOptions,
2357    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2358        gaxi::unimplemented::unimplemented_stub()
2359    }
2360
2361    /// Implements [super::client::GlobalOperations::get].
2362    fn get(
2363        &self,
2364        _req: crate::model::global_operations::GetRequest,
2365        _options: gax::options::RequestOptions,
2366    ) -> impl std::future::Future<
2367        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2368    > + Send {
2369        gaxi::unimplemented::unimplemented_stub()
2370    }
2371
2372    /// Implements [super::client::GlobalOperations::list].
2373    fn list(
2374        &self,
2375        _req: crate::model::global_operations::ListRequest,
2376        _options: gax::options::RequestOptions,
2377    ) -> impl std::future::Future<
2378        Output = crate::Result<gax::response::Response<crate::model::OperationList>>,
2379    > + Send {
2380        gaxi::unimplemented::unimplemented_stub()
2381    }
2382
2383    /// Implements [super::client::GlobalOperations::wait].
2384    fn wait(
2385        &self,
2386        _req: crate::model::global_operations::WaitRequest,
2387        _options: gax::options::RequestOptions,
2388    ) -> impl std::future::Future<
2389        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2390    > + Send {
2391        gaxi::unimplemented::unimplemented_stub()
2392    }
2393}
2394
2395/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2396///
2397/// Application developers may need to implement this trait to mock
2398/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2399/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2400/// its implementations.
2401///
2402/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2403/// too. To avoid breaking applications the trait provides a default
2404/// implementation of each method. Most of these implementations just return an
2405/// error.
2406#[cfg(feature = "global-organization-operations")]
2407#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2408pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2409    /// Implements [super::client::GlobalOrganizationOperations::delete].
2410    fn delete(
2411        &self,
2412        _req: crate::model::global_organization_operations::DeleteRequest,
2413        _options: gax::options::RequestOptions,
2414    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2415        gaxi::unimplemented::unimplemented_stub()
2416    }
2417
2418    /// Implements [super::client::GlobalOrganizationOperations::get].
2419    fn get(
2420        &self,
2421        _req: crate::model::global_organization_operations::GetRequest,
2422        _options: gax::options::RequestOptions,
2423    ) -> impl std::future::Future<
2424        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2425    > + Send {
2426        gaxi::unimplemented::unimplemented_stub()
2427    }
2428
2429    /// Implements [super::client::GlobalOrganizationOperations::list].
2430    fn list(
2431        &self,
2432        _req: crate::model::global_organization_operations::ListRequest,
2433        _options: gax::options::RequestOptions,
2434    ) -> impl std::future::Future<
2435        Output = crate::Result<gax::response::Response<crate::model::OperationList>>,
2436    > + Send {
2437        gaxi::unimplemented::unimplemented_stub()
2438    }
2439}
2440
2441/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2442///
2443/// Application developers may need to implement this trait to mock
2444/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2445/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2446/// its implementations.
2447///
2448/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2449/// too. To avoid breaking applications the trait provides a default
2450/// implementation of each method. Most of these implementations just return an
2451/// error.
2452#[cfg(feature = "global-public-delegated-prefixes")]
2453#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2454pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2455    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2456    fn delete(
2457        &self,
2458        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2459        _options: gax::options::RequestOptions,
2460    ) -> impl std::future::Future<
2461        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2462    > + Send {
2463        gaxi::unimplemented::unimplemented_stub()
2464    }
2465
2466    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2467    fn get(
2468        &self,
2469        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2470        _options: gax::options::RequestOptions,
2471    ) -> impl std::future::Future<
2472        Output = crate::Result<gax::response::Response<crate::model::PublicDelegatedPrefix>>,
2473    > + Send {
2474        gaxi::unimplemented::unimplemented_stub()
2475    }
2476
2477    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2478    fn insert(
2479        &self,
2480        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2481        _options: gax::options::RequestOptions,
2482    ) -> impl std::future::Future<
2483        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2484    > + Send {
2485        gaxi::unimplemented::unimplemented_stub()
2486    }
2487
2488    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2489    fn list(
2490        &self,
2491        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2492        _options: gax::options::RequestOptions,
2493    ) -> impl std::future::Future<
2494        Output = crate::Result<gax::response::Response<crate::model::PublicDelegatedPrefixList>>,
2495    > + Send {
2496        gaxi::unimplemented::unimplemented_stub()
2497    }
2498
2499    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2500    fn patch(
2501        &self,
2502        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2503        _options: gax::options::RequestOptions,
2504    ) -> impl std::future::Future<
2505        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2506    > + Send {
2507        gaxi::unimplemented::unimplemented_stub()
2508    }
2509
2510    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2511    fn get_operation(
2512        &self,
2513        _req: crate::model::global_operations::GetRequest,
2514        _options: gax::options::RequestOptions,
2515    ) -> impl std::future::Future<
2516        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2517    > + Send {
2518        gaxi::unimplemented::unimplemented_stub()
2519    }
2520
2521    /// Returns the polling error policy.
2522    ///
2523    /// When mocking, this method is typically irrelevant. Do not try to verify
2524    /// it is called by your mocks.
2525    fn get_polling_error_policy(
2526        &self,
2527        _options: &gax::options::RequestOptions,
2528    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2529        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2530    }
2531
2532    /// Returns the polling backoff policy.
2533    ///
2534    /// When mocking, this method is typically irrelevant. Do not try to verify
2535    /// it is called by your mocks.
2536    fn get_polling_backoff_policy(
2537        &self,
2538        _options: &gax::options::RequestOptions,
2539    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2540        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2541    }
2542}
2543
2544/// Defines the trait used to implement [super::client::HealthChecks].
2545///
2546/// Application developers may need to implement this trait to mock
2547/// `client::HealthChecks`.  In other use-cases, application developers only
2548/// use `client::HealthChecks` and need not be concerned with this trait or
2549/// its implementations.
2550///
2551/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2552/// too. To avoid breaking applications the trait provides a default
2553/// implementation of each method. Most of these implementations just return an
2554/// error.
2555#[cfg(feature = "health-checks")]
2556#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2557pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2558    /// Implements [super::client::HealthChecks::aggregated_list].
2559    fn aggregated_list(
2560        &self,
2561        _req: crate::model::health_checks::AggregatedListRequest,
2562        _options: gax::options::RequestOptions,
2563    ) -> impl std::future::Future<
2564        Output = crate::Result<gax::response::Response<crate::model::HealthChecksAggregatedList>>,
2565    > + Send {
2566        gaxi::unimplemented::unimplemented_stub()
2567    }
2568
2569    /// Implements [super::client::HealthChecks::delete].
2570    fn delete(
2571        &self,
2572        _req: crate::model::health_checks::DeleteRequest,
2573        _options: gax::options::RequestOptions,
2574    ) -> impl std::future::Future<
2575        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2576    > + Send {
2577        gaxi::unimplemented::unimplemented_stub()
2578    }
2579
2580    /// Implements [super::client::HealthChecks::get].
2581    fn get(
2582        &self,
2583        _req: crate::model::health_checks::GetRequest,
2584        _options: gax::options::RequestOptions,
2585    ) -> impl std::future::Future<
2586        Output = crate::Result<gax::response::Response<crate::model::HealthCheck>>,
2587    > + Send {
2588        gaxi::unimplemented::unimplemented_stub()
2589    }
2590
2591    /// Implements [super::client::HealthChecks::insert].
2592    fn insert(
2593        &self,
2594        _req: crate::model::health_checks::InsertRequest,
2595        _options: gax::options::RequestOptions,
2596    ) -> impl std::future::Future<
2597        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2598    > + Send {
2599        gaxi::unimplemented::unimplemented_stub()
2600    }
2601
2602    /// Implements [super::client::HealthChecks::list].
2603    fn list(
2604        &self,
2605        _req: crate::model::health_checks::ListRequest,
2606        _options: gax::options::RequestOptions,
2607    ) -> impl std::future::Future<
2608        Output = crate::Result<gax::response::Response<crate::model::HealthCheckList>>,
2609    > + Send {
2610        gaxi::unimplemented::unimplemented_stub()
2611    }
2612
2613    /// Implements [super::client::HealthChecks::patch].
2614    fn patch(
2615        &self,
2616        _req: crate::model::health_checks::PatchRequest,
2617        _options: gax::options::RequestOptions,
2618    ) -> impl std::future::Future<
2619        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2620    > + Send {
2621        gaxi::unimplemented::unimplemented_stub()
2622    }
2623
2624    /// Implements [super::client::HealthChecks::test_iam_permissions].
2625    fn test_iam_permissions(
2626        &self,
2627        _req: crate::model::health_checks::TestIamPermissionsRequest,
2628        _options: gax::options::RequestOptions,
2629    ) -> impl std::future::Future<
2630        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
2631    > + Send {
2632        gaxi::unimplemented::unimplemented_stub()
2633    }
2634
2635    /// Implements [super::client::HealthChecks::update].
2636    fn update(
2637        &self,
2638        _req: crate::model::health_checks::UpdateRequest,
2639        _options: gax::options::RequestOptions,
2640    ) -> impl std::future::Future<
2641        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2642    > + Send {
2643        gaxi::unimplemented::unimplemented_stub()
2644    }
2645
2646    /// Implements [super::client::HealthChecks::get_operation].
2647    fn get_operation(
2648        &self,
2649        _req: crate::model::global_operations::GetRequest,
2650        _options: gax::options::RequestOptions,
2651    ) -> impl std::future::Future<
2652        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2653    > + Send {
2654        gaxi::unimplemented::unimplemented_stub()
2655    }
2656
2657    /// Returns the polling error policy.
2658    ///
2659    /// When mocking, this method is typically irrelevant. Do not try to verify
2660    /// it is called by your mocks.
2661    fn get_polling_error_policy(
2662        &self,
2663        _options: &gax::options::RequestOptions,
2664    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2665        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2666    }
2667
2668    /// Returns the polling backoff policy.
2669    ///
2670    /// When mocking, this method is typically irrelevant. Do not try to verify
2671    /// it is called by your mocks.
2672    fn get_polling_backoff_policy(
2673        &self,
2674        _options: &gax::options::RequestOptions,
2675    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2676        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2677    }
2678}
2679
2680/// Defines the trait used to implement [super::client::HttpHealthChecks].
2681///
2682/// Application developers may need to implement this trait to mock
2683/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2684/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2685/// its implementations.
2686///
2687/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2688/// too. To avoid breaking applications the trait provides a default
2689/// implementation of each method. Most of these implementations just return an
2690/// error.
2691#[cfg(feature = "http-health-checks")]
2692#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
2693pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
2694    /// Implements [super::client::HttpHealthChecks::delete].
2695    fn delete(
2696        &self,
2697        _req: crate::model::http_health_checks::DeleteRequest,
2698        _options: gax::options::RequestOptions,
2699    ) -> impl std::future::Future<
2700        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2701    > + Send {
2702        gaxi::unimplemented::unimplemented_stub()
2703    }
2704
2705    /// Implements [super::client::HttpHealthChecks::get].
2706    fn get(
2707        &self,
2708        _req: crate::model::http_health_checks::GetRequest,
2709        _options: gax::options::RequestOptions,
2710    ) -> impl std::future::Future<
2711        Output = crate::Result<gax::response::Response<crate::model::HttpHealthCheck>>,
2712    > + Send {
2713        gaxi::unimplemented::unimplemented_stub()
2714    }
2715
2716    /// Implements [super::client::HttpHealthChecks::insert].
2717    fn insert(
2718        &self,
2719        _req: crate::model::http_health_checks::InsertRequest,
2720        _options: gax::options::RequestOptions,
2721    ) -> impl std::future::Future<
2722        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2723    > + Send {
2724        gaxi::unimplemented::unimplemented_stub()
2725    }
2726
2727    /// Implements [super::client::HttpHealthChecks::list].
2728    fn list(
2729        &self,
2730        _req: crate::model::http_health_checks::ListRequest,
2731        _options: gax::options::RequestOptions,
2732    ) -> impl std::future::Future<
2733        Output = crate::Result<gax::response::Response<crate::model::HttpHealthCheckList>>,
2734    > + Send {
2735        gaxi::unimplemented::unimplemented_stub()
2736    }
2737
2738    /// Implements [super::client::HttpHealthChecks::patch].
2739    fn patch(
2740        &self,
2741        _req: crate::model::http_health_checks::PatchRequest,
2742        _options: gax::options::RequestOptions,
2743    ) -> impl std::future::Future<
2744        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2745    > + Send {
2746        gaxi::unimplemented::unimplemented_stub()
2747    }
2748
2749    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
2750    fn test_iam_permissions(
2751        &self,
2752        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
2753        _options: gax::options::RequestOptions,
2754    ) -> impl std::future::Future<
2755        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
2756    > + Send {
2757        gaxi::unimplemented::unimplemented_stub()
2758    }
2759
2760    /// Implements [super::client::HttpHealthChecks::update].
2761    fn update(
2762        &self,
2763        _req: crate::model::http_health_checks::UpdateRequest,
2764        _options: gax::options::RequestOptions,
2765    ) -> impl std::future::Future<
2766        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2767    > + Send {
2768        gaxi::unimplemented::unimplemented_stub()
2769    }
2770
2771    /// Implements [super::client::HttpHealthChecks::get_operation].
2772    fn get_operation(
2773        &self,
2774        _req: crate::model::global_operations::GetRequest,
2775        _options: gax::options::RequestOptions,
2776    ) -> impl std::future::Future<
2777        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2778    > + Send {
2779        gaxi::unimplemented::unimplemented_stub()
2780    }
2781
2782    /// Returns the polling error policy.
2783    ///
2784    /// When mocking, this method is typically irrelevant. Do not try to verify
2785    /// it is called by your mocks.
2786    fn get_polling_error_policy(
2787        &self,
2788        _options: &gax::options::RequestOptions,
2789    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2790        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2791    }
2792
2793    /// Returns the polling backoff policy.
2794    ///
2795    /// When mocking, this method is typically irrelevant. Do not try to verify
2796    /// it is called by your mocks.
2797    fn get_polling_backoff_policy(
2798        &self,
2799        _options: &gax::options::RequestOptions,
2800    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2801        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2802    }
2803}
2804
2805/// Defines the trait used to implement [super::client::HttpsHealthChecks].
2806///
2807/// Application developers may need to implement this trait to mock
2808/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
2809/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
2810/// its implementations.
2811///
2812/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2813/// too. To avoid breaking applications the trait provides a default
2814/// implementation of each method. Most of these implementations just return an
2815/// error.
2816#[cfg(feature = "https-health-checks")]
2817#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
2818pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
2819    /// Implements [super::client::HttpsHealthChecks::delete].
2820    fn delete(
2821        &self,
2822        _req: crate::model::https_health_checks::DeleteRequest,
2823        _options: gax::options::RequestOptions,
2824    ) -> impl std::future::Future<
2825        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2826    > + Send {
2827        gaxi::unimplemented::unimplemented_stub()
2828    }
2829
2830    /// Implements [super::client::HttpsHealthChecks::get].
2831    fn get(
2832        &self,
2833        _req: crate::model::https_health_checks::GetRequest,
2834        _options: gax::options::RequestOptions,
2835    ) -> impl std::future::Future<
2836        Output = crate::Result<gax::response::Response<crate::model::HttpsHealthCheck>>,
2837    > + Send {
2838        gaxi::unimplemented::unimplemented_stub()
2839    }
2840
2841    /// Implements [super::client::HttpsHealthChecks::insert].
2842    fn insert(
2843        &self,
2844        _req: crate::model::https_health_checks::InsertRequest,
2845        _options: gax::options::RequestOptions,
2846    ) -> impl std::future::Future<
2847        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2848    > + Send {
2849        gaxi::unimplemented::unimplemented_stub()
2850    }
2851
2852    /// Implements [super::client::HttpsHealthChecks::list].
2853    fn list(
2854        &self,
2855        _req: crate::model::https_health_checks::ListRequest,
2856        _options: gax::options::RequestOptions,
2857    ) -> impl std::future::Future<
2858        Output = crate::Result<gax::response::Response<crate::model::HttpsHealthCheckList>>,
2859    > + Send {
2860        gaxi::unimplemented::unimplemented_stub()
2861    }
2862
2863    /// Implements [super::client::HttpsHealthChecks::patch].
2864    fn patch(
2865        &self,
2866        _req: crate::model::https_health_checks::PatchRequest,
2867        _options: gax::options::RequestOptions,
2868    ) -> impl std::future::Future<
2869        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2870    > + Send {
2871        gaxi::unimplemented::unimplemented_stub()
2872    }
2873
2874    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
2875    fn test_iam_permissions(
2876        &self,
2877        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
2878        _options: gax::options::RequestOptions,
2879    ) -> impl std::future::Future<
2880        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
2881    > + Send {
2882        gaxi::unimplemented::unimplemented_stub()
2883    }
2884
2885    /// Implements [super::client::HttpsHealthChecks::update].
2886    fn update(
2887        &self,
2888        _req: crate::model::https_health_checks::UpdateRequest,
2889        _options: gax::options::RequestOptions,
2890    ) -> impl std::future::Future<
2891        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2892    > + Send {
2893        gaxi::unimplemented::unimplemented_stub()
2894    }
2895
2896    /// Implements [super::client::HttpsHealthChecks::get_operation].
2897    fn get_operation(
2898        &self,
2899        _req: crate::model::global_operations::GetRequest,
2900        _options: gax::options::RequestOptions,
2901    ) -> impl std::future::Future<
2902        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2903    > + Send {
2904        gaxi::unimplemented::unimplemented_stub()
2905    }
2906
2907    /// Returns the polling error policy.
2908    ///
2909    /// When mocking, this method is typically irrelevant. Do not try to verify
2910    /// it is called by your mocks.
2911    fn get_polling_error_policy(
2912        &self,
2913        _options: &gax::options::RequestOptions,
2914    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2915        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2916    }
2917
2918    /// Returns the polling backoff policy.
2919    ///
2920    /// When mocking, this method is typically irrelevant. Do not try to verify
2921    /// it is called by your mocks.
2922    fn get_polling_backoff_policy(
2923        &self,
2924        _options: &gax::options::RequestOptions,
2925    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2926        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2927    }
2928}
2929
2930/// Defines the trait used to implement [super::client::ImageFamilyViews].
2931///
2932/// Application developers may need to implement this trait to mock
2933/// `client::ImageFamilyViews`.  In other use-cases, application developers only
2934/// use `client::ImageFamilyViews` and need not be concerned with this trait or
2935/// its implementations.
2936///
2937/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2938/// too. To avoid breaking applications the trait provides a default
2939/// implementation of each method. Most of these implementations just return an
2940/// error.
2941#[cfg(feature = "image-family-views")]
2942#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
2943pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
2944    /// Implements [super::client::ImageFamilyViews::get].
2945    fn get(
2946        &self,
2947        _req: crate::model::image_family_views::GetRequest,
2948        _options: gax::options::RequestOptions,
2949    ) -> impl std::future::Future<
2950        Output = crate::Result<gax::response::Response<crate::model::ImageFamilyView>>,
2951    > + Send {
2952        gaxi::unimplemented::unimplemented_stub()
2953    }
2954}
2955
2956/// Defines the trait used to implement [super::client::Images].
2957///
2958/// Application developers may need to implement this trait to mock
2959/// `client::Images`.  In other use-cases, application developers only
2960/// use `client::Images` and need not be concerned with this trait or
2961/// its implementations.
2962///
2963/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2964/// too. To avoid breaking applications the trait provides a default
2965/// implementation of each method. Most of these implementations just return an
2966/// error.
2967#[cfg(feature = "images")]
2968#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
2969pub trait Images: std::fmt::Debug + Send + Sync {
2970    /// Implements [super::client::Images::delete].
2971    fn delete(
2972        &self,
2973        _req: crate::model::images::DeleteRequest,
2974        _options: gax::options::RequestOptions,
2975    ) -> impl std::future::Future<
2976        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2977    > + Send {
2978        gaxi::unimplemented::unimplemented_stub()
2979    }
2980
2981    /// Implements [super::client::Images::deprecate].
2982    fn deprecate(
2983        &self,
2984        _req: crate::model::images::DeprecateRequest,
2985        _options: gax::options::RequestOptions,
2986    ) -> impl std::future::Future<
2987        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
2988    > + Send {
2989        gaxi::unimplemented::unimplemented_stub()
2990    }
2991
2992    /// Implements [super::client::Images::get].
2993    fn get(
2994        &self,
2995        _req: crate::model::images::GetRequest,
2996        _options: gax::options::RequestOptions,
2997    ) -> impl std::future::Future<
2998        Output = crate::Result<gax::response::Response<crate::model::Image>>,
2999    > + Send {
3000        gaxi::unimplemented::unimplemented_stub()
3001    }
3002
3003    /// Implements [super::client::Images::get_from_family].
3004    fn get_from_family(
3005        &self,
3006        _req: crate::model::images::GetFromFamilyRequest,
3007        _options: gax::options::RequestOptions,
3008    ) -> impl std::future::Future<
3009        Output = crate::Result<gax::response::Response<crate::model::Image>>,
3010    > + Send {
3011        gaxi::unimplemented::unimplemented_stub()
3012    }
3013
3014    /// Implements [super::client::Images::get_iam_policy].
3015    fn get_iam_policy(
3016        &self,
3017        _req: crate::model::images::GetIamPolicyRequest,
3018        _options: gax::options::RequestOptions,
3019    ) -> impl std::future::Future<
3020        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
3021    > + Send {
3022        gaxi::unimplemented::unimplemented_stub()
3023    }
3024
3025    /// Implements [super::client::Images::insert].
3026    fn insert(
3027        &self,
3028        _req: crate::model::images::InsertRequest,
3029        _options: gax::options::RequestOptions,
3030    ) -> impl std::future::Future<
3031        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3032    > + Send {
3033        gaxi::unimplemented::unimplemented_stub()
3034    }
3035
3036    /// Implements [super::client::Images::list].
3037    fn list(
3038        &self,
3039        _req: crate::model::images::ListRequest,
3040        _options: gax::options::RequestOptions,
3041    ) -> impl std::future::Future<
3042        Output = crate::Result<gax::response::Response<crate::model::ImageList>>,
3043    > + Send {
3044        gaxi::unimplemented::unimplemented_stub()
3045    }
3046
3047    /// Implements [super::client::Images::patch].
3048    fn patch(
3049        &self,
3050        _req: crate::model::images::PatchRequest,
3051        _options: gax::options::RequestOptions,
3052    ) -> impl std::future::Future<
3053        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3054    > + Send {
3055        gaxi::unimplemented::unimplemented_stub()
3056    }
3057
3058    /// Implements [super::client::Images::set_iam_policy].
3059    fn set_iam_policy(
3060        &self,
3061        _req: crate::model::images::SetIamPolicyRequest,
3062        _options: gax::options::RequestOptions,
3063    ) -> impl std::future::Future<
3064        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
3065    > + Send {
3066        gaxi::unimplemented::unimplemented_stub()
3067    }
3068
3069    /// Implements [super::client::Images::set_labels].
3070    fn set_labels(
3071        &self,
3072        _req: crate::model::images::SetLabelsRequest,
3073        _options: gax::options::RequestOptions,
3074    ) -> impl std::future::Future<
3075        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3076    > + Send {
3077        gaxi::unimplemented::unimplemented_stub()
3078    }
3079
3080    /// Implements [super::client::Images::test_iam_permissions].
3081    fn test_iam_permissions(
3082        &self,
3083        _req: crate::model::images::TestIamPermissionsRequest,
3084        _options: gax::options::RequestOptions,
3085    ) -> impl std::future::Future<
3086        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
3087    > + Send {
3088        gaxi::unimplemented::unimplemented_stub()
3089    }
3090
3091    /// Implements [super::client::Images::get_operation].
3092    fn get_operation(
3093        &self,
3094        _req: crate::model::global_operations::GetRequest,
3095        _options: gax::options::RequestOptions,
3096    ) -> impl std::future::Future<
3097        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3098    > + Send {
3099        gaxi::unimplemented::unimplemented_stub()
3100    }
3101
3102    /// Returns the polling error policy.
3103    ///
3104    /// When mocking, this method is typically irrelevant. Do not try to verify
3105    /// it is called by your mocks.
3106    fn get_polling_error_policy(
3107        &self,
3108        _options: &gax::options::RequestOptions,
3109    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3110        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3111    }
3112
3113    /// Returns the polling backoff policy.
3114    ///
3115    /// When mocking, this method is typically irrelevant. Do not try to verify
3116    /// it is called by your mocks.
3117    fn get_polling_backoff_policy(
3118        &self,
3119        _options: &gax::options::RequestOptions,
3120    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3121        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3122    }
3123}
3124
3125/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3126///
3127/// Application developers may need to implement this trait to mock
3128/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3129/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3130/// its implementations.
3131///
3132/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3133/// too. To avoid breaking applications the trait provides a default
3134/// implementation of each method. Most of these implementations just return an
3135/// error.
3136#[cfg(feature = "instance-group-manager-resize-requests")]
3137#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3138pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3139    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3140    fn cancel(
3141        &self,
3142        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3143        _options: gax::options::RequestOptions,
3144    ) -> impl std::future::Future<
3145        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3146    > + Send {
3147        gaxi::unimplemented::unimplemented_stub()
3148    }
3149
3150    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3151    fn delete(
3152        &self,
3153        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3154        _options: gax::options::RequestOptions,
3155    ) -> impl std::future::Future<
3156        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3157    > + Send {
3158        gaxi::unimplemented::unimplemented_stub()
3159    }
3160
3161    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3162    fn get(
3163        &self,
3164        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3165        _options: gax::options::RequestOptions,
3166    ) -> impl std::future::Future<
3167        Output = crate::Result<
3168            gax::response::Response<crate::model::InstanceGroupManagerResizeRequest>,
3169        >,
3170    > + Send {
3171        gaxi::unimplemented::unimplemented_stub()
3172    }
3173
3174    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3175    fn insert(
3176        &self,
3177        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3178        _options: gax::options::RequestOptions,
3179    ) -> impl std::future::Future<
3180        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3181    > + Send {
3182        gaxi::unimplemented::unimplemented_stub()
3183    }
3184
3185    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3186    fn list(
3187        &self,
3188        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3189        _options: gax::options::RequestOptions,
3190    ) -> impl std::future::Future<
3191        Output = crate::Result<
3192            gax::response::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3193        >,
3194    > + Send {
3195        gaxi::unimplemented::unimplemented_stub()
3196    }
3197
3198    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3199    fn get_operation(
3200        &self,
3201        _req: crate::model::zone_operations::GetRequest,
3202        _options: gax::options::RequestOptions,
3203    ) -> impl std::future::Future<
3204        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3205    > + Send {
3206        gaxi::unimplemented::unimplemented_stub()
3207    }
3208
3209    /// Returns the polling error policy.
3210    ///
3211    /// When mocking, this method is typically irrelevant. Do not try to verify
3212    /// it is called by your mocks.
3213    fn get_polling_error_policy(
3214        &self,
3215        _options: &gax::options::RequestOptions,
3216    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3217        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3218    }
3219
3220    /// Returns the polling backoff policy.
3221    ///
3222    /// When mocking, this method is typically irrelevant. Do not try to verify
3223    /// it is called by your mocks.
3224    fn get_polling_backoff_policy(
3225        &self,
3226        _options: &gax::options::RequestOptions,
3227    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3228        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3229    }
3230}
3231
3232/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3233///
3234/// Application developers may need to implement this trait to mock
3235/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3236/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3237/// its implementations.
3238///
3239/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3240/// too. To avoid breaking applications the trait provides a default
3241/// implementation of each method. Most of these implementations just return an
3242/// error.
3243#[cfg(feature = "instance-group-managers")]
3244#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3245pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3246    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3247    fn abandon_instances(
3248        &self,
3249        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3250        _options: gax::options::RequestOptions,
3251    ) -> impl std::future::Future<
3252        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3253    > + Send {
3254        gaxi::unimplemented::unimplemented_stub()
3255    }
3256
3257    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3258    fn aggregated_list(
3259        &self,
3260        _req: crate::model::instance_group_managers::AggregatedListRequest,
3261        _options: gax::options::RequestOptions,
3262    ) -> impl std::future::Future<
3263        Output = crate::Result<
3264            gax::response::Response<crate::model::InstanceGroupManagerAggregatedList>,
3265        >,
3266    > + Send {
3267        gaxi::unimplemented::unimplemented_stub()
3268    }
3269
3270    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3271    fn apply_updates_to_instances(
3272        &self,
3273        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3274        _options: gax::options::RequestOptions,
3275    ) -> impl std::future::Future<
3276        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3277    > + Send {
3278        gaxi::unimplemented::unimplemented_stub()
3279    }
3280
3281    /// Implements [super::client::InstanceGroupManagers::create_instances].
3282    fn create_instances(
3283        &self,
3284        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3285        _options: gax::options::RequestOptions,
3286    ) -> impl std::future::Future<
3287        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3288    > + Send {
3289        gaxi::unimplemented::unimplemented_stub()
3290    }
3291
3292    /// Implements [super::client::InstanceGroupManagers::delete].
3293    fn delete(
3294        &self,
3295        _req: crate::model::instance_group_managers::DeleteRequest,
3296        _options: gax::options::RequestOptions,
3297    ) -> impl std::future::Future<
3298        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3299    > + Send {
3300        gaxi::unimplemented::unimplemented_stub()
3301    }
3302
3303    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3304    fn delete_instances(
3305        &self,
3306        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3307        _options: gax::options::RequestOptions,
3308    ) -> impl std::future::Future<
3309        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3310    > + Send {
3311        gaxi::unimplemented::unimplemented_stub()
3312    }
3313
3314    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3315    fn delete_per_instance_configs(
3316        &self,
3317        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3318        _options: gax::options::RequestOptions,
3319    ) -> impl std::future::Future<
3320        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3321    > + Send {
3322        gaxi::unimplemented::unimplemented_stub()
3323    }
3324
3325    /// Implements [super::client::InstanceGroupManagers::get].
3326    fn get(
3327        &self,
3328        _req: crate::model::instance_group_managers::GetRequest,
3329        _options: gax::options::RequestOptions,
3330    ) -> impl std::future::Future<
3331        Output = crate::Result<gax::response::Response<crate::model::InstanceGroupManager>>,
3332    > + Send {
3333        gaxi::unimplemented::unimplemented_stub()
3334    }
3335
3336    /// Implements [super::client::InstanceGroupManagers::insert].
3337    fn insert(
3338        &self,
3339        _req: crate::model::instance_group_managers::InsertRequest,
3340        _options: gax::options::RequestOptions,
3341    ) -> impl std::future::Future<
3342        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3343    > + Send {
3344        gaxi::unimplemented::unimplemented_stub()
3345    }
3346
3347    /// Implements [super::client::InstanceGroupManagers::list].
3348    fn list(
3349        &self,
3350        _req: crate::model::instance_group_managers::ListRequest,
3351        _options: gax::options::RequestOptions,
3352    ) -> impl std::future::Future<
3353        Output = crate::Result<gax::response::Response<crate::model::InstanceGroupManagerList>>,
3354    > + Send {
3355        gaxi::unimplemented::unimplemented_stub()
3356    }
3357
3358    /// Implements [super::client::InstanceGroupManagers::list_errors].
3359    fn list_errors(
3360        &self,
3361        _req: crate::model::instance_group_managers::ListErrorsRequest,
3362        _options: gax::options::RequestOptions,
3363    ) -> impl std::future::Future<
3364        Output = crate::Result<
3365            gax::response::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3366        >,
3367    > + Send {
3368        gaxi::unimplemented::unimplemented_stub()
3369    }
3370
3371    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3372    fn list_managed_instances(
3373        &self,
3374        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3375        _options: gax::options::RequestOptions,
3376    ) -> impl std::future::Future<
3377        Output = crate::Result<
3378            gax::response::Response<
3379                crate::model::InstanceGroupManagersListManagedInstancesResponse,
3380            >,
3381        >,
3382    > + Send {
3383        gaxi::unimplemented::unimplemented_stub()
3384    }
3385
3386    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3387    fn list_per_instance_configs(
3388        &self,
3389        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3390        _options: gax::options::RequestOptions,
3391    ) -> impl std::future::Future<
3392        Output = crate::Result<
3393            gax::response::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3394        >,
3395    > + Send {
3396        gaxi::unimplemented::unimplemented_stub()
3397    }
3398
3399    /// Implements [super::client::InstanceGroupManagers::patch].
3400    fn patch(
3401        &self,
3402        _req: crate::model::instance_group_managers::PatchRequest,
3403        _options: gax::options::RequestOptions,
3404    ) -> impl std::future::Future<
3405        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3406    > + Send {
3407        gaxi::unimplemented::unimplemented_stub()
3408    }
3409
3410    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3411    fn patch_per_instance_configs(
3412        &self,
3413        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3414        _options: gax::options::RequestOptions,
3415    ) -> impl std::future::Future<
3416        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3417    > + Send {
3418        gaxi::unimplemented::unimplemented_stub()
3419    }
3420
3421    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3422    fn recreate_instances(
3423        &self,
3424        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3425        _options: gax::options::RequestOptions,
3426    ) -> impl std::future::Future<
3427        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3428    > + Send {
3429        gaxi::unimplemented::unimplemented_stub()
3430    }
3431
3432    /// Implements [super::client::InstanceGroupManagers::resize].
3433    fn resize(
3434        &self,
3435        _req: crate::model::instance_group_managers::ResizeRequest,
3436        _options: gax::options::RequestOptions,
3437    ) -> impl std::future::Future<
3438        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3439    > + Send {
3440        gaxi::unimplemented::unimplemented_stub()
3441    }
3442
3443    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3444    fn resume_instances(
3445        &self,
3446        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3447        _options: gax::options::RequestOptions,
3448    ) -> impl std::future::Future<
3449        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3450    > + Send {
3451        gaxi::unimplemented::unimplemented_stub()
3452    }
3453
3454    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3455    fn set_instance_template(
3456        &self,
3457        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3458        _options: gax::options::RequestOptions,
3459    ) -> impl std::future::Future<
3460        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3461    > + Send {
3462        gaxi::unimplemented::unimplemented_stub()
3463    }
3464
3465    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3466    fn set_target_pools(
3467        &self,
3468        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3469        _options: gax::options::RequestOptions,
3470    ) -> impl std::future::Future<
3471        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3472    > + Send {
3473        gaxi::unimplemented::unimplemented_stub()
3474    }
3475
3476    /// Implements [super::client::InstanceGroupManagers::start_instances].
3477    fn start_instances(
3478        &self,
3479        _req: crate::model::instance_group_managers::StartInstancesRequest,
3480        _options: gax::options::RequestOptions,
3481    ) -> impl std::future::Future<
3482        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3483    > + Send {
3484        gaxi::unimplemented::unimplemented_stub()
3485    }
3486
3487    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3488    fn stop_instances(
3489        &self,
3490        _req: crate::model::instance_group_managers::StopInstancesRequest,
3491        _options: gax::options::RequestOptions,
3492    ) -> impl std::future::Future<
3493        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3494    > + Send {
3495        gaxi::unimplemented::unimplemented_stub()
3496    }
3497
3498    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3499    fn suspend_instances(
3500        &self,
3501        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3502        _options: gax::options::RequestOptions,
3503    ) -> impl std::future::Future<
3504        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3505    > + Send {
3506        gaxi::unimplemented::unimplemented_stub()
3507    }
3508
3509    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3510    fn update_per_instance_configs(
3511        &self,
3512        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3513        _options: gax::options::RequestOptions,
3514    ) -> impl std::future::Future<
3515        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3516    > + Send {
3517        gaxi::unimplemented::unimplemented_stub()
3518    }
3519
3520    /// Implements [super::client::InstanceGroupManagers::get_operation].
3521    fn get_operation(
3522        &self,
3523        _req: crate::model::zone_operations::GetRequest,
3524        _options: gax::options::RequestOptions,
3525    ) -> impl std::future::Future<
3526        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3527    > + Send {
3528        gaxi::unimplemented::unimplemented_stub()
3529    }
3530
3531    /// Returns the polling error policy.
3532    ///
3533    /// When mocking, this method is typically irrelevant. Do not try to verify
3534    /// it is called by your mocks.
3535    fn get_polling_error_policy(
3536        &self,
3537        _options: &gax::options::RequestOptions,
3538    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3539        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3540    }
3541
3542    /// Returns the polling backoff policy.
3543    ///
3544    /// When mocking, this method is typically irrelevant. Do not try to verify
3545    /// it is called by your mocks.
3546    fn get_polling_backoff_policy(
3547        &self,
3548        _options: &gax::options::RequestOptions,
3549    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3550        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3551    }
3552}
3553
3554/// Defines the trait used to implement [super::client::InstanceGroups].
3555///
3556/// Application developers may need to implement this trait to mock
3557/// `client::InstanceGroups`.  In other use-cases, application developers only
3558/// use `client::InstanceGroups` and need not be concerned with this trait or
3559/// its implementations.
3560///
3561/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3562/// too. To avoid breaking applications the trait provides a default
3563/// implementation of each method. Most of these implementations just return an
3564/// error.
3565#[cfg(feature = "instance-groups")]
3566#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3567pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3568    /// Implements [super::client::InstanceGroups::add_instances].
3569    fn add_instances(
3570        &self,
3571        _req: crate::model::instance_groups::AddInstancesRequest,
3572        _options: gax::options::RequestOptions,
3573    ) -> impl std::future::Future<
3574        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3575    > + Send {
3576        gaxi::unimplemented::unimplemented_stub()
3577    }
3578
3579    /// Implements [super::client::InstanceGroups::aggregated_list].
3580    fn aggregated_list(
3581        &self,
3582        _req: crate::model::instance_groups::AggregatedListRequest,
3583        _options: gax::options::RequestOptions,
3584    ) -> impl std::future::Future<
3585        Output = crate::Result<gax::response::Response<crate::model::InstanceGroupAggregatedList>>,
3586    > + Send {
3587        gaxi::unimplemented::unimplemented_stub()
3588    }
3589
3590    /// Implements [super::client::InstanceGroups::delete].
3591    fn delete(
3592        &self,
3593        _req: crate::model::instance_groups::DeleteRequest,
3594        _options: gax::options::RequestOptions,
3595    ) -> impl std::future::Future<
3596        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3597    > + Send {
3598        gaxi::unimplemented::unimplemented_stub()
3599    }
3600
3601    /// Implements [super::client::InstanceGroups::get].
3602    fn get(
3603        &self,
3604        _req: crate::model::instance_groups::GetRequest,
3605        _options: gax::options::RequestOptions,
3606    ) -> impl std::future::Future<
3607        Output = crate::Result<gax::response::Response<crate::model::InstanceGroup>>,
3608    > + Send {
3609        gaxi::unimplemented::unimplemented_stub()
3610    }
3611
3612    /// Implements [super::client::InstanceGroups::insert].
3613    fn insert(
3614        &self,
3615        _req: crate::model::instance_groups::InsertRequest,
3616        _options: gax::options::RequestOptions,
3617    ) -> impl std::future::Future<
3618        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3619    > + Send {
3620        gaxi::unimplemented::unimplemented_stub()
3621    }
3622
3623    /// Implements [super::client::InstanceGroups::list].
3624    fn list(
3625        &self,
3626        _req: crate::model::instance_groups::ListRequest,
3627        _options: gax::options::RequestOptions,
3628    ) -> impl std::future::Future<
3629        Output = crate::Result<gax::response::Response<crate::model::InstanceGroupList>>,
3630    > + Send {
3631        gaxi::unimplemented::unimplemented_stub()
3632    }
3633
3634    /// Implements [super::client::InstanceGroups::list_instances].
3635    fn list_instances(
3636        &self,
3637        _req: crate::model::instance_groups::ListInstancesRequest,
3638        _options: gax::options::RequestOptions,
3639    ) -> impl std::future::Future<
3640        Output = crate::Result<gax::response::Response<crate::model::InstanceGroupsListInstances>>,
3641    > + Send {
3642        gaxi::unimplemented::unimplemented_stub()
3643    }
3644
3645    /// Implements [super::client::InstanceGroups::remove_instances].
3646    fn remove_instances(
3647        &self,
3648        _req: crate::model::instance_groups::RemoveInstancesRequest,
3649        _options: gax::options::RequestOptions,
3650    ) -> impl std::future::Future<
3651        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3652    > + Send {
3653        gaxi::unimplemented::unimplemented_stub()
3654    }
3655
3656    /// Implements [super::client::InstanceGroups::set_named_ports].
3657    fn set_named_ports(
3658        &self,
3659        _req: crate::model::instance_groups::SetNamedPortsRequest,
3660        _options: gax::options::RequestOptions,
3661    ) -> impl std::future::Future<
3662        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3663    > + Send {
3664        gaxi::unimplemented::unimplemented_stub()
3665    }
3666
3667    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3668    fn test_iam_permissions(
3669        &self,
3670        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3671        _options: gax::options::RequestOptions,
3672    ) -> impl std::future::Future<
3673        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
3674    > + Send {
3675        gaxi::unimplemented::unimplemented_stub()
3676    }
3677
3678    /// Implements [super::client::InstanceGroups::get_operation].
3679    fn get_operation(
3680        &self,
3681        _req: crate::model::zone_operations::GetRequest,
3682        _options: gax::options::RequestOptions,
3683    ) -> impl std::future::Future<
3684        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3685    > + Send {
3686        gaxi::unimplemented::unimplemented_stub()
3687    }
3688
3689    /// Returns the polling error policy.
3690    ///
3691    /// When mocking, this method is typically irrelevant. Do not try to verify
3692    /// it is called by your mocks.
3693    fn get_polling_error_policy(
3694        &self,
3695        _options: &gax::options::RequestOptions,
3696    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3697        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3698    }
3699
3700    /// Returns the polling backoff policy.
3701    ///
3702    /// When mocking, this method is typically irrelevant. Do not try to verify
3703    /// it is called by your mocks.
3704    fn get_polling_backoff_policy(
3705        &self,
3706        _options: &gax::options::RequestOptions,
3707    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3708        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3709    }
3710}
3711
3712/// Defines the trait used to implement [super::client::InstanceSettings].
3713///
3714/// Application developers may need to implement this trait to mock
3715/// `client::InstanceSettings`.  In other use-cases, application developers only
3716/// use `client::InstanceSettings` and need not be concerned with this trait or
3717/// its implementations.
3718///
3719/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3720/// too. To avoid breaking applications the trait provides a default
3721/// implementation of each method. Most of these implementations just return an
3722/// error.
3723#[cfg(feature = "instance-settings")]
3724#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
3725pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
3726    /// Implements [super::client::InstanceSettings::get].
3727    fn get(
3728        &self,
3729        _req: crate::model::instance_settings::GetRequest,
3730        _options: gax::options::RequestOptions,
3731    ) -> impl std::future::Future<
3732        Output = crate::Result<gax::response::Response<crate::model::InstanceSettings>>,
3733    > + Send {
3734        gaxi::unimplemented::unimplemented_stub()
3735    }
3736
3737    /// Implements [super::client::InstanceSettings::patch].
3738    fn patch(
3739        &self,
3740        _req: crate::model::instance_settings::PatchRequest,
3741        _options: gax::options::RequestOptions,
3742    ) -> impl std::future::Future<
3743        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3744    > + Send {
3745        gaxi::unimplemented::unimplemented_stub()
3746    }
3747
3748    /// Implements [super::client::InstanceSettings::get_operation].
3749    fn get_operation(
3750        &self,
3751        _req: crate::model::zone_operations::GetRequest,
3752        _options: gax::options::RequestOptions,
3753    ) -> impl std::future::Future<
3754        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3755    > + Send {
3756        gaxi::unimplemented::unimplemented_stub()
3757    }
3758
3759    /// Returns the polling error policy.
3760    ///
3761    /// When mocking, this method is typically irrelevant. Do not try to verify
3762    /// it is called by your mocks.
3763    fn get_polling_error_policy(
3764        &self,
3765        _options: &gax::options::RequestOptions,
3766    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3767        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3768    }
3769
3770    /// Returns the polling backoff policy.
3771    ///
3772    /// When mocking, this method is typically irrelevant. Do not try to verify
3773    /// it is called by your mocks.
3774    fn get_polling_backoff_policy(
3775        &self,
3776        _options: &gax::options::RequestOptions,
3777    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3778        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3779    }
3780}
3781
3782/// Defines the trait used to implement [super::client::InstanceTemplates].
3783///
3784/// Application developers may need to implement this trait to mock
3785/// `client::InstanceTemplates`.  In other use-cases, application developers only
3786/// use `client::InstanceTemplates` and need not be concerned with this trait or
3787/// its implementations.
3788///
3789/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3790/// too. To avoid breaking applications the trait provides a default
3791/// implementation of each method. Most of these implementations just return an
3792/// error.
3793#[cfg(feature = "instance-templates")]
3794#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
3795pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
3796    /// Implements [super::client::InstanceTemplates::aggregated_list].
3797    fn aggregated_list(
3798        &self,
3799        _req: crate::model::instance_templates::AggregatedListRequest,
3800        _options: gax::options::RequestOptions,
3801    ) -> impl std::future::Future<
3802        Output = crate::Result<
3803            gax::response::Response<crate::model::InstanceTemplateAggregatedList>,
3804        >,
3805    > + Send {
3806        gaxi::unimplemented::unimplemented_stub()
3807    }
3808
3809    /// Implements [super::client::InstanceTemplates::delete].
3810    fn delete(
3811        &self,
3812        _req: crate::model::instance_templates::DeleteRequest,
3813        _options: gax::options::RequestOptions,
3814    ) -> impl std::future::Future<
3815        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3816    > + Send {
3817        gaxi::unimplemented::unimplemented_stub()
3818    }
3819
3820    /// Implements [super::client::InstanceTemplates::get].
3821    fn get(
3822        &self,
3823        _req: crate::model::instance_templates::GetRequest,
3824        _options: gax::options::RequestOptions,
3825    ) -> impl std::future::Future<
3826        Output = crate::Result<gax::response::Response<crate::model::InstanceTemplate>>,
3827    > + Send {
3828        gaxi::unimplemented::unimplemented_stub()
3829    }
3830
3831    /// Implements [super::client::InstanceTemplates::get_iam_policy].
3832    fn get_iam_policy(
3833        &self,
3834        _req: crate::model::instance_templates::GetIamPolicyRequest,
3835        _options: gax::options::RequestOptions,
3836    ) -> impl std::future::Future<
3837        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
3838    > + Send {
3839        gaxi::unimplemented::unimplemented_stub()
3840    }
3841
3842    /// Implements [super::client::InstanceTemplates::insert].
3843    fn insert(
3844        &self,
3845        _req: crate::model::instance_templates::InsertRequest,
3846        _options: gax::options::RequestOptions,
3847    ) -> impl std::future::Future<
3848        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3849    > + Send {
3850        gaxi::unimplemented::unimplemented_stub()
3851    }
3852
3853    /// Implements [super::client::InstanceTemplates::list].
3854    fn list(
3855        &self,
3856        _req: crate::model::instance_templates::ListRequest,
3857        _options: gax::options::RequestOptions,
3858    ) -> impl std::future::Future<
3859        Output = crate::Result<gax::response::Response<crate::model::InstanceTemplateList>>,
3860    > + Send {
3861        gaxi::unimplemented::unimplemented_stub()
3862    }
3863
3864    /// Implements [super::client::InstanceTemplates::set_iam_policy].
3865    fn set_iam_policy(
3866        &self,
3867        _req: crate::model::instance_templates::SetIamPolicyRequest,
3868        _options: gax::options::RequestOptions,
3869    ) -> impl std::future::Future<
3870        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
3871    > + Send {
3872        gaxi::unimplemented::unimplemented_stub()
3873    }
3874
3875    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
3876    fn test_iam_permissions(
3877        &self,
3878        _req: crate::model::instance_templates::TestIamPermissionsRequest,
3879        _options: gax::options::RequestOptions,
3880    ) -> impl std::future::Future<
3881        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
3882    > + Send {
3883        gaxi::unimplemented::unimplemented_stub()
3884    }
3885
3886    /// Implements [super::client::InstanceTemplates::get_operation].
3887    fn get_operation(
3888        &self,
3889        _req: crate::model::global_operations::GetRequest,
3890        _options: gax::options::RequestOptions,
3891    ) -> impl std::future::Future<
3892        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3893    > + Send {
3894        gaxi::unimplemented::unimplemented_stub()
3895    }
3896
3897    /// Returns the polling error policy.
3898    ///
3899    /// When mocking, this method is typically irrelevant. Do not try to verify
3900    /// it is called by your mocks.
3901    fn get_polling_error_policy(
3902        &self,
3903        _options: &gax::options::RequestOptions,
3904    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3905        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3906    }
3907
3908    /// Returns the polling backoff policy.
3909    ///
3910    /// When mocking, this method is typically irrelevant. Do not try to verify
3911    /// it is called by your mocks.
3912    fn get_polling_backoff_policy(
3913        &self,
3914        _options: &gax::options::RequestOptions,
3915    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3916        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3917    }
3918}
3919
3920/// Defines the trait used to implement [super::client::Instances].
3921///
3922/// Application developers may need to implement this trait to mock
3923/// `client::Instances`.  In other use-cases, application developers only
3924/// use `client::Instances` and need not be concerned with this trait or
3925/// its implementations.
3926///
3927/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3928/// too. To avoid breaking applications the trait provides a default
3929/// implementation of each method. Most of these implementations just return an
3930/// error.
3931#[cfg(feature = "instances")]
3932#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
3933pub trait Instances: std::fmt::Debug + Send + Sync {
3934    /// Implements [super::client::Instances::add_access_config].
3935    fn add_access_config(
3936        &self,
3937        _req: crate::model::instances::AddAccessConfigRequest,
3938        _options: gax::options::RequestOptions,
3939    ) -> impl std::future::Future<
3940        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3941    > + Send {
3942        gaxi::unimplemented::unimplemented_stub()
3943    }
3944
3945    /// Implements [super::client::Instances::add_network_interface].
3946    fn add_network_interface(
3947        &self,
3948        _req: crate::model::instances::AddNetworkInterfaceRequest,
3949        _options: gax::options::RequestOptions,
3950    ) -> impl std::future::Future<
3951        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3952    > + Send {
3953        gaxi::unimplemented::unimplemented_stub()
3954    }
3955
3956    /// Implements [super::client::Instances::add_resource_policies].
3957    fn add_resource_policies(
3958        &self,
3959        _req: crate::model::instances::AddResourcePoliciesRequest,
3960        _options: gax::options::RequestOptions,
3961    ) -> impl std::future::Future<
3962        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3963    > + Send {
3964        gaxi::unimplemented::unimplemented_stub()
3965    }
3966
3967    /// Implements [super::client::Instances::aggregated_list].
3968    fn aggregated_list(
3969        &self,
3970        _req: crate::model::instances::AggregatedListRequest,
3971        _options: gax::options::RequestOptions,
3972    ) -> impl std::future::Future<
3973        Output = crate::Result<gax::response::Response<crate::model::InstanceAggregatedList>>,
3974    > + Send {
3975        gaxi::unimplemented::unimplemented_stub()
3976    }
3977
3978    /// Implements [super::client::Instances::attach_disk].
3979    fn attach_disk(
3980        &self,
3981        _req: crate::model::instances::AttachDiskRequest,
3982        _options: gax::options::RequestOptions,
3983    ) -> impl std::future::Future<
3984        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3985    > + Send {
3986        gaxi::unimplemented::unimplemented_stub()
3987    }
3988
3989    /// Implements [super::client::Instances::bulk_insert].
3990    fn bulk_insert(
3991        &self,
3992        _req: crate::model::instances::BulkInsertRequest,
3993        _options: gax::options::RequestOptions,
3994    ) -> impl std::future::Future<
3995        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
3996    > + Send {
3997        gaxi::unimplemented::unimplemented_stub()
3998    }
3999
4000    /// Implements [super::client::Instances::delete].
4001    fn delete(
4002        &self,
4003        _req: crate::model::instances::DeleteRequest,
4004        _options: gax::options::RequestOptions,
4005    ) -> impl std::future::Future<
4006        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4007    > + Send {
4008        gaxi::unimplemented::unimplemented_stub()
4009    }
4010
4011    /// Implements [super::client::Instances::delete_access_config].
4012    fn delete_access_config(
4013        &self,
4014        _req: crate::model::instances::DeleteAccessConfigRequest,
4015        _options: gax::options::RequestOptions,
4016    ) -> impl std::future::Future<
4017        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4018    > + Send {
4019        gaxi::unimplemented::unimplemented_stub()
4020    }
4021
4022    /// Implements [super::client::Instances::delete_network_interface].
4023    fn delete_network_interface(
4024        &self,
4025        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
4026        _options: gax::options::RequestOptions,
4027    ) -> impl std::future::Future<
4028        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4029    > + Send {
4030        gaxi::unimplemented::unimplemented_stub()
4031    }
4032
4033    /// Implements [super::client::Instances::detach_disk].
4034    fn detach_disk(
4035        &self,
4036        _req: crate::model::instances::DetachDiskRequest,
4037        _options: gax::options::RequestOptions,
4038    ) -> impl std::future::Future<
4039        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4040    > + Send {
4041        gaxi::unimplemented::unimplemented_stub()
4042    }
4043
4044    /// Implements [super::client::Instances::get].
4045    fn get(
4046        &self,
4047        _req: crate::model::instances::GetRequest,
4048        _options: gax::options::RequestOptions,
4049    ) -> impl std::future::Future<
4050        Output = crate::Result<gax::response::Response<crate::model::Instance>>,
4051    > + Send {
4052        gaxi::unimplemented::unimplemented_stub()
4053    }
4054
4055    /// Implements [super::client::Instances::get_effective_firewalls].
4056    fn get_effective_firewalls(
4057        &self,
4058        _req: crate::model::instances::GetEffectiveFirewallsRequest,
4059        _options: gax::options::RequestOptions,
4060    ) -> impl std::future::Future<
4061        Output = crate::Result<
4062            gax::response::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
4063        >,
4064    > + Send {
4065        gaxi::unimplemented::unimplemented_stub()
4066    }
4067
4068    /// Implements [super::client::Instances::get_guest_attributes].
4069    fn get_guest_attributes(
4070        &self,
4071        _req: crate::model::instances::GetGuestAttributesRequest,
4072        _options: gax::options::RequestOptions,
4073    ) -> impl std::future::Future<
4074        Output = crate::Result<gax::response::Response<crate::model::GuestAttributes>>,
4075    > + Send {
4076        gaxi::unimplemented::unimplemented_stub()
4077    }
4078
4079    /// Implements [super::client::Instances::get_iam_policy].
4080    fn get_iam_policy(
4081        &self,
4082        _req: crate::model::instances::GetIamPolicyRequest,
4083        _options: gax::options::RequestOptions,
4084    ) -> impl std::future::Future<
4085        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
4086    > + Send {
4087        gaxi::unimplemented::unimplemented_stub()
4088    }
4089
4090    /// Implements [super::client::Instances::get_screenshot].
4091    fn get_screenshot(
4092        &self,
4093        _req: crate::model::instances::GetScreenshotRequest,
4094        _options: gax::options::RequestOptions,
4095    ) -> impl std::future::Future<
4096        Output = crate::Result<gax::response::Response<crate::model::Screenshot>>,
4097    > + Send {
4098        gaxi::unimplemented::unimplemented_stub()
4099    }
4100
4101    /// Implements [super::client::Instances::get_serial_port_output].
4102    fn get_serial_port_output(
4103        &self,
4104        _req: crate::model::instances::GetSerialPortOutputRequest,
4105        _options: gax::options::RequestOptions,
4106    ) -> impl std::future::Future<
4107        Output = crate::Result<gax::response::Response<crate::model::SerialPortOutput>>,
4108    > + Send {
4109        gaxi::unimplemented::unimplemented_stub()
4110    }
4111
4112    /// Implements [super::client::Instances::get_shielded_instance_identity].
4113    fn get_shielded_instance_identity(
4114        &self,
4115        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
4116        _options: gax::options::RequestOptions,
4117    ) -> impl std::future::Future<
4118        Output = crate::Result<gax::response::Response<crate::model::ShieldedInstanceIdentity>>,
4119    > + Send {
4120        gaxi::unimplemented::unimplemented_stub()
4121    }
4122
4123    /// Implements [super::client::Instances::insert].
4124    fn insert(
4125        &self,
4126        _req: crate::model::instances::InsertRequest,
4127        _options: gax::options::RequestOptions,
4128    ) -> impl std::future::Future<
4129        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4130    > + Send {
4131        gaxi::unimplemented::unimplemented_stub()
4132    }
4133
4134    /// Implements [super::client::Instances::list].
4135    fn list(
4136        &self,
4137        _req: crate::model::instances::ListRequest,
4138        _options: gax::options::RequestOptions,
4139    ) -> impl std::future::Future<
4140        Output = crate::Result<gax::response::Response<crate::model::InstanceList>>,
4141    > + Send {
4142        gaxi::unimplemented::unimplemented_stub()
4143    }
4144
4145    /// Implements [super::client::Instances::list_referrers].
4146    fn list_referrers(
4147        &self,
4148        _req: crate::model::instances::ListReferrersRequest,
4149        _options: gax::options::RequestOptions,
4150    ) -> impl std::future::Future<
4151        Output = crate::Result<gax::response::Response<crate::model::InstanceListReferrers>>,
4152    > + Send {
4153        gaxi::unimplemented::unimplemented_stub()
4154    }
4155
4156    /// Implements [super::client::Instances::perform_maintenance].
4157    fn perform_maintenance(
4158        &self,
4159        _req: crate::model::instances::PerformMaintenanceRequest,
4160        _options: gax::options::RequestOptions,
4161    ) -> impl std::future::Future<
4162        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4163    > + Send {
4164        gaxi::unimplemented::unimplemented_stub()
4165    }
4166
4167    /// Implements [super::client::Instances::remove_resource_policies].
4168    fn remove_resource_policies(
4169        &self,
4170        _req: crate::model::instances::RemoveResourcePoliciesRequest,
4171        _options: gax::options::RequestOptions,
4172    ) -> impl std::future::Future<
4173        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4174    > + Send {
4175        gaxi::unimplemented::unimplemented_stub()
4176    }
4177
4178    /// Implements [super::client::Instances::report_host_as_faulty].
4179    fn report_host_as_faulty(
4180        &self,
4181        _req: crate::model::instances::ReportHostAsFaultyRequest,
4182        _options: gax::options::RequestOptions,
4183    ) -> impl std::future::Future<
4184        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4185    > + Send {
4186        gaxi::unimplemented::unimplemented_stub()
4187    }
4188
4189    /// Implements [super::client::Instances::reset].
4190    fn reset(
4191        &self,
4192        _req: crate::model::instances::ResetRequest,
4193        _options: gax::options::RequestOptions,
4194    ) -> impl std::future::Future<
4195        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4196    > + Send {
4197        gaxi::unimplemented::unimplemented_stub()
4198    }
4199
4200    /// Implements [super::client::Instances::resume].
4201    fn resume(
4202        &self,
4203        _req: crate::model::instances::ResumeRequest,
4204        _options: gax::options::RequestOptions,
4205    ) -> impl std::future::Future<
4206        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4207    > + Send {
4208        gaxi::unimplemented::unimplemented_stub()
4209    }
4210
4211    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4212    fn send_diagnostic_interrupt(
4213        &self,
4214        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4215        _options: gax::options::RequestOptions,
4216    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4217        gaxi::unimplemented::unimplemented_stub()
4218    }
4219
4220    /// Implements [super::client::Instances::set_deletion_protection].
4221    fn set_deletion_protection(
4222        &self,
4223        _req: crate::model::instances::SetDeletionProtectionRequest,
4224        _options: gax::options::RequestOptions,
4225    ) -> impl std::future::Future<
4226        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4227    > + Send {
4228        gaxi::unimplemented::unimplemented_stub()
4229    }
4230
4231    /// Implements [super::client::Instances::set_disk_auto_delete].
4232    fn set_disk_auto_delete(
4233        &self,
4234        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4235        _options: gax::options::RequestOptions,
4236    ) -> impl std::future::Future<
4237        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4238    > + Send {
4239        gaxi::unimplemented::unimplemented_stub()
4240    }
4241
4242    /// Implements [super::client::Instances::set_iam_policy].
4243    fn set_iam_policy(
4244        &self,
4245        _req: crate::model::instances::SetIamPolicyRequest,
4246        _options: gax::options::RequestOptions,
4247    ) -> impl std::future::Future<
4248        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
4249    > + Send {
4250        gaxi::unimplemented::unimplemented_stub()
4251    }
4252
4253    /// Implements [super::client::Instances::set_labels].
4254    fn set_labels(
4255        &self,
4256        _req: crate::model::instances::SetLabelsRequest,
4257        _options: gax::options::RequestOptions,
4258    ) -> impl std::future::Future<
4259        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4260    > + Send {
4261        gaxi::unimplemented::unimplemented_stub()
4262    }
4263
4264    /// Implements [super::client::Instances::set_machine_resources].
4265    fn set_machine_resources(
4266        &self,
4267        _req: crate::model::instances::SetMachineResourcesRequest,
4268        _options: gax::options::RequestOptions,
4269    ) -> impl std::future::Future<
4270        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4271    > + Send {
4272        gaxi::unimplemented::unimplemented_stub()
4273    }
4274
4275    /// Implements [super::client::Instances::set_machine_type].
4276    fn set_machine_type(
4277        &self,
4278        _req: crate::model::instances::SetMachineTypeRequest,
4279        _options: gax::options::RequestOptions,
4280    ) -> impl std::future::Future<
4281        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4282    > + Send {
4283        gaxi::unimplemented::unimplemented_stub()
4284    }
4285
4286    /// Implements [super::client::Instances::set_metadata].
4287    fn set_metadata(
4288        &self,
4289        _req: crate::model::instances::SetMetadataRequest,
4290        _options: gax::options::RequestOptions,
4291    ) -> impl std::future::Future<
4292        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4293    > + Send {
4294        gaxi::unimplemented::unimplemented_stub()
4295    }
4296
4297    /// Implements [super::client::Instances::set_min_cpu_platform].
4298    fn set_min_cpu_platform(
4299        &self,
4300        _req: crate::model::instances::SetMinCpuPlatformRequest,
4301        _options: gax::options::RequestOptions,
4302    ) -> impl std::future::Future<
4303        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4304    > + Send {
4305        gaxi::unimplemented::unimplemented_stub()
4306    }
4307
4308    /// Implements [super::client::Instances::set_name].
4309    fn set_name(
4310        &self,
4311        _req: crate::model::instances::SetNameRequest,
4312        _options: gax::options::RequestOptions,
4313    ) -> impl std::future::Future<
4314        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4315    > + Send {
4316        gaxi::unimplemented::unimplemented_stub()
4317    }
4318
4319    /// Implements [super::client::Instances::set_scheduling].
4320    fn set_scheduling(
4321        &self,
4322        _req: crate::model::instances::SetSchedulingRequest,
4323        _options: gax::options::RequestOptions,
4324    ) -> impl std::future::Future<
4325        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4326    > + Send {
4327        gaxi::unimplemented::unimplemented_stub()
4328    }
4329
4330    /// Implements [super::client::Instances::set_security_policy].
4331    fn set_security_policy(
4332        &self,
4333        _req: crate::model::instances::SetSecurityPolicyRequest,
4334        _options: gax::options::RequestOptions,
4335    ) -> impl std::future::Future<
4336        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4337    > + Send {
4338        gaxi::unimplemented::unimplemented_stub()
4339    }
4340
4341    /// Implements [super::client::Instances::set_service_account].
4342    fn set_service_account(
4343        &self,
4344        _req: crate::model::instances::SetServiceAccountRequest,
4345        _options: gax::options::RequestOptions,
4346    ) -> impl std::future::Future<
4347        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4348    > + Send {
4349        gaxi::unimplemented::unimplemented_stub()
4350    }
4351
4352    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4353    fn set_shielded_instance_integrity_policy(
4354        &self,
4355        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4356        _options: gax::options::RequestOptions,
4357    ) -> impl std::future::Future<
4358        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4359    > + Send {
4360        gaxi::unimplemented::unimplemented_stub()
4361    }
4362
4363    /// Implements [super::client::Instances::set_tags].
4364    fn set_tags(
4365        &self,
4366        _req: crate::model::instances::SetTagsRequest,
4367        _options: gax::options::RequestOptions,
4368    ) -> impl std::future::Future<
4369        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4370    > + Send {
4371        gaxi::unimplemented::unimplemented_stub()
4372    }
4373
4374    /// Implements [super::client::Instances::simulate_maintenance_event].
4375    fn simulate_maintenance_event(
4376        &self,
4377        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4378        _options: gax::options::RequestOptions,
4379    ) -> impl std::future::Future<
4380        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4381    > + Send {
4382        gaxi::unimplemented::unimplemented_stub()
4383    }
4384
4385    /// Implements [super::client::Instances::start].
4386    fn start(
4387        &self,
4388        _req: crate::model::instances::StartRequest,
4389        _options: gax::options::RequestOptions,
4390    ) -> impl std::future::Future<
4391        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4392    > + Send {
4393        gaxi::unimplemented::unimplemented_stub()
4394    }
4395
4396    /// Implements [super::client::Instances::start_with_encryption_key].
4397    fn start_with_encryption_key(
4398        &self,
4399        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4400        _options: gax::options::RequestOptions,
4401    ) -> impl std::future::Future<
4402        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4403    > + Send {
4404        gaxi::unimplemented::unimplemented_stub()
4405    }
4406
4407    /// Implements [super::client::Instances::stop].
4408    fn stop(
4409        &self,
4410        _req: crate::model::instances::StopRequest,
4411        _options: gax::options::RequestOptions,
4412    ) -> impl std::future::Future<
4413        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4414    > + Send {
4415        gaxi::unimplemented::unimplemented_stub()
4416    }
4417
4418    /// Implements [super::client::Instances::suspend].
4419    fn suspend(
4420        &self,
4421        _req: crate::model::instances::SuspendRequest,
4422        _options: gax::options::RequestOptions,
4423    ) -> impl std::future::Future<
4424        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4425    > + Send {
4426        gaxi::unimplemented::unimplemented_stub()
4427    }
4428
4429    /// Implements [super::client::Instances::test_iam_permissions].
4430    fn test_iam_permissions(
4431        &self,
4432        _req: crate::model::instances::TestIamPermissionsRequest,
4433        _options: gax::options::RequestOptions,
4434    ) -> impl std::future::Future<
4435        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
4436    > + Send {
4437        gaxi::unimplemented::unimplemented_stub()
4438    }
4439
4440    /// Implements [super::client::Instances::update].
4441    fn update(
4442        &self,
4443        _req: crate::model::instances::UpdateRequest,
4444        _options: gax::options::RequestOptions,
4445    ) -> impl std::future::Future<
4446        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4447    > + Send {
4448        gaxi::unimplemented::unimplemented_stub()
4449    }
4450
4451    /// Implements [super::client::Instances::update_access_config].
4452    fn update_access_config(
4453        &self,
4454        _req: crate::model::instances::UpdateAccessConfigRequest,
4455        _options: gax::options::RequestOptions,
4456    ) -> impl std::future::Future<
4457        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4458    > + Send {
4459        gaxi::unimplemented::unimplemented_stub()
4460    }
4461
4462    /// Implements [super::client::Instances::update_display_device].
4463    fn update_display_device(
4464        &self,
4465        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4466        _options: gax::options::RequestOptions,
4467    ) -> impl std::future::Future<
4468        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4469    > + Send {
4470        gaxi::unimplemented::unimplemented_stub()
4471    }
4472
4473    /// Implements [super::client::Instances::update_network_interface].
4474    fn update_network_interface(
4475        &self,
4476        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4477        _options: gax::options::RequestOptions,
4478    ) -> impl std::future::Future<
4479        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4480    > + Send {
4481        gaxi::unimplemented::unimplemented_stub()
4482    }
4483
4484    /// Implements [super::client::Instances::update_shielded_instance_config].
4485    fn update_shielded_instance_config(
4486        &self,
4487        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4488        _options: gax::options::RequestOptions,
4489    ) -> impl std::future::Future<
4490        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4491    > + Send {
4492        gaxi::unimplemented::unimplemented_stub()
4493    }
4494
4495    /// Implements [super::client::Instances::get_operation].
4496    fn get_operation(
4497        &self,
4498        _req: crate::model::zone_operations::GetRequest,
4499        _options: gax::options::RequestOptions,
4500    ) -> impl std::future::Future<
4501        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4502    > + Send {
4503        gaxi::unimplemented::unimplemented_stub()
4504    }
4505
4506    /// Returns the polling error policy.
4507    ///
4508    /// When mocking, this method is typically irrelevant. Do not try to verify
4509    /// it is called by your mocks.
4510    fn get_polling_error_policy(
4511        &self,
4512        _options: &gax::options::RequestOptions,
4513    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
4514        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
4515    }
4516
4517    /// Returns the polling backoff policy.
4518    ///
4519    /// When mocking, this method is typically irrelevant. Do not try to verify
4520    /// it is called by your mocks.
4521    fn get_polling_backoff_policy(
4522        &self,
4523        _options: &gax::options::RequestOptions,
4524    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
4525        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
4526    }
4527}
4528
4529/// Defines the trait used to implement [super::client::InstantSnapshots].
4530///
4531/// Application developers may need to implement this trait to mock
4532/// `client::InstantSnapshots`.  In other use-cases, application developers only
4533/// use `client::InstantSnapshots` and need not be concerned with this trait or
4534/// its implementations.
4535///
4536/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4537/// too. To avoid breaking applications the trait provides a default
4538/// implementation of each method. Most of these implementations just return an
4539/// error.
4540#[cfg(feature = "instant-snapshots")]
4541#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4542pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4543    /// Implements [super::client::InstantSnapshots::aggregated_list].
4544    fn aggregated_list(
4545        &self,
4546        _req: crate::model::instant_snapshots::AggregatedListRequest,
4547        _options: gax::options::RequestOptions,
4548    ) -> impl std::future::Future<
4549        Output = crate::Result<
4550            gax::response::Response<crate::model::InstantSnapshotAggregatedList>,
4551        >,
4552    > + Send {
4553        gaxi::unimplemented::unimplemented_stub()
4554    }
4555
4556    /// Implements [super::client::InstantSnapshots::delete].
4557    fn delete(
4558        &self,
4559        _req: crate::model::instant_snapshots::DeleteRequest,
4560        _options: gax::options::RequestOptions,
4561    ) -> impl std::future::Future<
4562        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4563    > + Send {
4564        gaxi::unimplemented::unimplemented_stub()
4565    }
4566
4567    /// Implements [super::client::InstantSnapshots::get].
4568    fn get(
4569        &self,
4570        _req: crate::model::instant_snapshots::GetRequest,
4571        _options: gax::options::RequestOptions,
4572    ) -> impl std::future::Future<
4573        Output = crate::Result<gax::response::Response<crate::model::InstantSnapshot>>,
4574    > + Send {
4575        gaxi::unimplemented::unimplemented_stub()
4576    }
4577
4578    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4579    fn get_iam_policy(
4580        &self,
4581        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4582        _options: gax::options::RequestOptions,
4583    ) -> impl std::future::Future<
4584        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
4585    > + Send {
4586        gaxi::unimplemented::unimplemented_stub()
4587    }
4588
4589    /// Implements [super::client::InstantSnapshots::insert].
4590    fn insert(
4591        &self,
4592        _req: crate::model::instant_snapshots::InsertRequest,
4593        _options: gax::options::RequestOptions,
4594    ) -> impl std::future::Future<
4595        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4596    > + Send {
4597        gaxi::unimplemented::unimplemented_stub()
4598    }
4599
4600    /// Implements [super::client::InstantSnapshots::list].
4601    fn list(
4602        &self,
4603        _req: crate::model::instant_snapshots::ListRequest,
4604        _options: gax::options::RequestOptions,
4605    ) -> impl std::future::Future<
4606        Output = crate::Result<gax::response::Response<crate::model::InstantSnapshotList>>,
4607    > + Send {
4608        gaxi::unimplemented::unimplemented_stub()
4609    }
4610
4611    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4612    fn set_iam_policy(
4613        &self,
4614        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4615        _options: gax::options::RequestOptions,
4616    ) -> impl std::future::Future<
4617        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
4618    > + Send {
4619        gaxi::unimplemented::unimplemented_stub()
4620    }
4621
4622    /// Implements [super::client::InstantSnapshots::set_labels].
4623    fn set_labels(
4624        &self,
4625        _req: crate::model::instant_snapshots::SetLabelsRequest,
4626        _options: gax::options::RequestOptions,
4627    ) -> impl std::future::Future<
4628        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4629    > + Send {
4630        gaxi::unimplemented::unimplemented_stub()
4631    }
4632
4633    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4634    fn test_iam_permissions(
4635        &self,
4636        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4637        _options: gax::options::RequestOptions,
4638    ) -> impl std::future::Future<
4639        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
4640    > + Send {
4641        gaxi::unimplemented::unimplemented_stub()
4642    }
4643
4644    /// Implements [super::client::InstantSnapshots::get_operation].
4645    fn get_operation(
4646        &self,
4647        _req: crate::model::zone_operations::GetRequest,
4648        _options: gax::options::RequestOptions,
4649    ) -> impl std::future::Future<
4650        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4651    > + Send {
4652        gaxi::unimplemented::unimplemented_stub()
4653    }
4654
4655    /// Returns the polling error policy.
4656    ///
4657    /// When mocking, this method is typically irrelevant. Do not try to verify
4658    /// it is called by your mocks.
4659    fn get_polling_error_policy(
4660        &self,
4661        _options: &gax::options::RequestOptions,
4662    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
4663        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
4664    }
4665
4666    /// Returns the polling backoff policy.
4667    ///
4668    /// When mocking, this method is typically irrelevant. Do not try to verify
4669    /// it is called by your mocks.
4670    fn get_polling_backoff_policy(
4671        &self,
4672        _options: &gax::options::RequestOptions,
4673    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
4674        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
4675    }
4676}
4677
4678/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
4679///
4680/// Application developers may need to implement this trait to mock
4681/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
4682/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
4683/// its implementations.
4684///
4685/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4686/// too. To avoid breaking applications the trait provides a default
4687/// implementation of each method. Most of these implementations just return an
4688/// error.
4689#[cfg(feature = "interconnect-attachment-groups")]
4690#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
4691pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
4692    /// Implements [super::client::InterconnectAttachmentGroups::delete].
4693    fn delete(
4694        &self,
4695        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
4696        _options: gax::options::RequestOptions,
4697    ) -> impl std::future::Future<
4698        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4699    > + Send {
4700        gaxi::unimplemented::unimplemented_stub()
4701    }
4702
4703    /// Implements [super::client::InterconnectAttachmentGroups::get].
4704    fn get(
4705        &self,
4706        _req: crate::model::interconnect_attachment_groups::GetRequest,
4707        _options: gax::options::RequestOptions,
4708    ) -> impl std::future::Future<
4709        Output = crate::Result<gax::response::Response<crate::model::InterconnectAttachmentGroup>>,
4710    > + Send {
4711        gaxi::unimplemented::unimplemented_stub()
4712    }
4713
4714    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
4715    fn get_iam_policy(
4716        &self,
4717        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
4718        _options: gax::options::RequestOptions,
4719    ) -> impl std::future::Future<
4720        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
4721    > + Send {
4722        gaxi::unimplemented::unimplemented_stub()
4723    }
4724
4725    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
4726    fn get_operational_status(
4727        &self,
4728        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
4729        _options: gax::options::RequestOptions,
4730    ) -> impl std::future::Future<
4731        Output = crate::Result<
4732            gax::response::Response<
4733                crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse,
4734            >,
4735        >,
4736    > + Send {
4737        gaxi::unimplemented::unimplemented_stub()
4738    }
4739
4740    /// Implements [super::client::InterconnectAttachmentGroups::insert].
4741    fn insert(
4742        &self,
4743        _req: crate::model::interconnect_attachment_groups::InsertRequest,
4744        _options: gax::options::RequestOptions,
4745    ) -> impl std::future::Future<
4746        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4747    > + Send {
4748        gaxi::unimplemented::unimplemented_stub()
4749    }
4750
4751    /// Implements [super::client::InterconnectAttachmentGroups::list].
4752    fn list(
4753        &self,
4754        _req: crate::model::interconnect_attachment_groups::ListRequest,
4755        _options: gax::options::RequestOptions,
4756    ) -> impl std::future::Future<
4757        Output = crate::Result<
4758            gax::response::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
4759        >,
4760    > + Send {
4761        gaxi::unimplemented::unimplemented_stub()
4762    }
4763
4764    /// Implements [super::client::InterconnectAttachmentGroups::patch].
4765    fn patch(
4766        &self,
4767        _req: crate::model::interconnect_attachment_groups::PatchRequest,
4768        _options: gax::options::RequestOptions,
4769    ) -> impl std::future::Future<
4770        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4771    > + Send {
4772        gaxi::unimplemented::unimplemented_stub()
4773    }
4774
4775    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
4776    fn set_iam_policy(
4777        &self,
4778        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
4779        _options: gax::options::RequestOptions,
4780    ) -> impl std::future::Future<
4781        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
4782    > + Send {
4783        gaxi::unimplemented::unimplemented_stub()
4784    }
4785
4786    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
4787    fn test_iam_permissions(
4788        &self,
4789        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
4790        _options: gax::options::RequestOptions,
4791    ) -> impl std::future::Future<
4792        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
4793    > + Send {
4794        gaxi::unimplemented::unimplemented_stub()
4795    }
4796
4797    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
4798    fn get_operation(
4799        &self,
4800        _req: crate::model::global_operations::GetRequest,
4801        _options: gax::options::RequestOptions,
4802    ) -> impl std::future::Future<
4803        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4804    > + Send {
4805        gaxi::unimplemented::unimplemented_stub()
4806    }
4807
4808    /// Returns the polling error policy.
4809    ///
4810    /// When mocking, this method is typically irrelevant. Do not try to verify
4811    /// it is called by your mocks.
4812    fn get_polling_error_policy(
4813        &self,
4814        _options: &gax::options::RequestOptions,
4815    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
4816        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
4817    }
4818
4819    /// Returns the polling backoff policy.
4820    ///
4821    /// When mocking, this method is typically irrelevant. Do not try to verify
4822    /// it is called by your mocks.
4823    fn get_polling_backoff_policy(
4824        &self,
4825        _options: &gax::options::RequestOptions,
4826    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
4827        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
4828    }
4829}
4830
4831/// Defines the trait used to implement [super::client::InterconnectAttachments].
4832///
4833/// Application developers may need to implement this trait to mock
4834/// `client::InterconnectAttachments`.  In other use-cases, application developers only
4835/// use `client::InterconnectAttachments` and need not be concerned with this trait or
4836/// its implementations.
4837///
4838/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4839/// too. To avoid breaking applications the trait provides a default
4840/// implementation of each method. Most of these implementations just return an
4841/// error.
4842#[cfg(feature = "interconnect-attachments")]
4843#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
4844pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
4845    /// Implements [super::client::InterconnectAttachments::aggregated_list].
4846    fn aggregated_list(
4847        &self,
4848        _req: crate::model::interconnect_attachments::AggregatedListRequest,
4849        _options: gax::options::RequestOptions,
4850    ) -> impl std::future::Future<
4851        Output = crate::Result<
4852            gax::response::Response<crate::model::InterconnectAttachmentAggregatedList>,
4853        >,
4854    > + Send {
4855        gaxi::unimplemented::unimplemented_stub()
4856    }
4857
4858    /// Implements [super::client::InterconnectAttachments::delete].
4859    fn delete(
4860        &self,
4861        _req: crate::model::interconnect_attachments::DeleteRequest,
4862        _options: gax::options::RequestOptions,
4863    ) -> impl std::future::Future<
4864        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4865    > + Send {
4866        gaxi::unimplemented::unimplemented_stub()
4867    }
4868
4869    /// Implements [super::client::InterconnectAttachments::get].
4870    fn get(
4871        &self,
4872        _req: crate::model::interconnect_attachments::GetRequest,
4873        _options: gax::options::RequestOptions,
4874    ) -> impl std::future::Future<
4875        Output = crate::Result<gax::response::Response<crate::model::InterconnectAttachment>>,
4876    > + Send {
4877        gaxi::unimplemented::unimplemented_stub()
4878    }
4879
4880    /// Implements [super::client::InterconnectAttachments::insert].
4881    fn insert(
4882        &self,
4883        _req: crate::model::interconnect_attachments::InsertRequest,
4884        _options: gax::options::RequestOptions,
4885    ) -> impl std::future::Future<
4886        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4887    > + Send {
4888        gaxi::unimplemented::unimplemented_stub()
4889    }
4890
4891    /// Implements [super::client::InterconnectAttachments::list].
4892    fn list(
4893        &self,
4894        _req: crate::model::interconnect_attachments::ListRequest,
4895        _options: gax::options::RequestOptions,
4896    ) -> impl std::future::Future<
4897        Output = crate::Result<gax::response::Response<crate::model::InterconnectAttachmentList>>,
4898    > + Send {
4899        gaxi::unimplemented::unimplemented_stub()
4900    }
4901
4902    /// Implements [super::client::InterconnectAttachments::patch].
4903    fn patch(
4904        &self,
4905        _req: crate::model::interconnect_attachments::PatchRequest,
4906        _options: gax::options::RequestOptions,
4907    ) -> impl std::future::Future<
4908        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4909    > + Send {
4910        gaxi::unimplemented::unimplemented_stub()
4911    }
4912
4913    /// Implements [super::client::InterconnectAttachments::set_labels].
4914    fn set_labels(
4915        &self,
4916        _req: crate::model::interconnect_attachments::SetLabelsRequest,
4917        _options: gax::options::RequestOptions,
4918    ) -> impl std::future::Future<
4919        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4920    > + Send {
4921        gaxi::unimplemented::unimplemented_stub()
4922    }
4923
4924    /// Implements [super::client::InterconnectAttachments::get_operation].
4925    fn get_operation(
4926        &self,
4927        _req: crate::model::region_operations::GetRequest,
4928        _options: gax::options::RequestOptions,
4929    ) -> impl std::future::Future<
4930        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4931    > + Send {
4932        gaxi::unimplemented::unimplemented_stub()
4933    }
4934
4935    /// Returns the polling error policy.
4936    ///
4937    /// When mocking, this method is typically irrelevant. Do not try to verify
4938    /// it is called by your mocks.
4939    fn get_polling_error_policy(
4940        &self,
4941        _options: &gax::options::RequestOptions,
4942    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
4943        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
4944    }
4945
4946    /// Returns the polling backoff policy.
4947    ///
4948    /// When mocking, this method is typically irrelevant. Do not try to verify
4949    /// it is called by your mocks.
4950    fn get_polling_backoff_policy(
4951        &self,
4952        _options: &gax::options::RequestOptions,
4953    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
4954        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
4955    }
4956}
4957
4958/// Defines the trait used to implement [super::client::InterconnectGroups].
4959///
4960/// Application developers may need to implement this trait to mock
4961/// `client::InterconnectGroups`.  In other use-cases, application developers only
4962/// use `client::InterconnectGroups` and need not be concerned with this trait or
4963/// its implementations.
4964///
4965/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4966/// too. To avoid breaking applications the trait provides a default
4967/// implementation of each method. Most of these implementations just return an
4968/// error.
4969#[cfg(feature = "interconnect-groups")]
4970#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
4971pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
4972    /// Implements [super::client::InterconnectGroups::create_members].
4973    fn create_members(
4974        &self,
4975        _req: crate::model::interconnect_groups::CreateMembersRequest,
4976        _options: gax::options::RequestOptions,
4977    ) -> impl std::future::Future<
4978        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4979    > + Send {
4980        gaxi::unimplemented::unimplemented_stub()
4981    }
4982
4983    /// Implements [super::client::InterconnectGroups::delete].
4984    fn delete(
4985        &self,
4986        _req: crate::model::interconnect_groups::DeleteRequest,
4987        _options: gax::options::RequestOptions,
4988    ) -> impl std::future::Future<
4989        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
4990    > + Send {
4991        gaxi::unimplemented::unimplemented_stub()
4992    }
4993
4994    /// Implements [super::client::InterconnectGroups::get].
4995    fn get(
4996        &self,
4997        _req: crate::model::interconnect_groups::GetRequest,
4998        _options: gax::options::RequestOptions,
4999    ) -> impl std::future::Future<
5000        Output = crate::Result<gax::response::Response<crate::model::InterconnectGroup>>,
5001    > + Send {
5002        gaxi::unimplemented::unimplemented_stub()
5003    }
5004
5005    /// Implements [super::client::InterconnectGroups::get_iam_policy].
5006    fn get_iam_policy(
5007        &self,
5008        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
5009        _options: gax::options::RequestOptions,
5010    ) -> impl std::future::Future<
5011        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5012    > + Send {
5013        gaxi::unimplemented::unimplemented_stub()
5014    }
5015
5016    /// Implements [super::client::InterconnectGroups::get_operational_status].
5017    fn get_operational_status(
5018        &self,
5019        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
5020        _options: gax::options::RequestOptions,
5021    ) -> impl std::future::Future<
5022        Output = crate::Result<
5023            gax::response::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
5024        >,
5025    > + Send {
5026        gaxi::unimplemented::unimplemented_stub()
5027    }
5028
5029    /// Implements [super::client::InterconnectGroups::insert].
5030    fn insert(
5031        &self,
5032        _req: crate::model::interconnect_groups::InsertRequest,
5033        _options: gax::options::RequestOptions,
5034    ) -> impl std::future::Future<
5035        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5036    > + Send {
5037        gaxi::unimplemented::unimplemented_stub()
5038    }
5039
5040    /// Implements [super::client::InterconnectGroups::list].
5041    fn list(
5042        &self,
5043        _req: crate::model::interconnect_groups::ListRequest,
5044        _options: gax::options::RequestOptions,
5045    ) -> impl std::future::Future<
5046        Output = crate::Result<
5047            gax::response::Response<crate::model::InterconnectGroupsListResponse>,
5048        >,
5049    > + Send {
5050        gaxi::unimplemented::unimplemented_stub()
5051    }
5052
5053    /// Implements [super::client::InterconnectGroups::patch].
5054    fn patch(
5055        &self,
5056        _req: crate::model::interconnect_groups::PatchRequest,
5057        _options: gax::options::RequestOptions,
5058    ) -> impl std::future::Future<
5059        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5060    > + Send {
5061        gaxi::unimplemented::unimplemented_stub()
5062    }
5063
5064    /// Implements [super::client::InterconnectGroups::set_iam_policy].
5065    fn set_iam_policy(
5066        &self,
5067        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
5068        _options: gax::options::RequestOptions,
5069    ) -> impl std::future::Future<
5070        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5071    > + Send {
5072        gaxi::unimplemented::unimplemented_stub()
5073    }
5074
5075    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
5076    fn test_iam_permissions(
5077        &self,
5078        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
5079        _options: gax::options::RequestOptions,
5080    ) -> impl std::future::Future<
5081        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
5082    > + Send {
5083        gaxi::unimplemented::unimplemented_stub()
5084    }
5085
5086    /// Implements [super::client::InterconnectGroups::get_operation].
5087    fn get_operation(
5088        &self,
5089        _req: crate::model::global_operations::GetRequest,
5090        _options: gax::options::RequestOptions,
5091    ) -> impl std::future::Future<
5092        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5093    > + Send {
5094        gaxi::unimplemented::unimplemented_stub()
5095    }
5096
5097    /// Returns the polling error policy.
5098    ///
5099    /// When mocking, this method is typically irrelevant. Do not try to verify
5100    /// it is called by your mocks.
5101    fn get_polling_error_policy(
5102        &self,
5103        _options: &gax::options::RequestOptions,
5104    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5105        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5106    }
5107
5108    /// Returns the polling backoff policy.
5109    ///
5110    /// When mocking, this method is typically irrelevant. Do not try to verify
5111    /// it is called by your mocks.
5112    fn get_polling_backoff_policy(
5113        &self,
5114        _options: &gax::options::RequestOptions,
5115    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5116        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5117    }
5118}
5119
5120/// Defines the trait used to implement [super::client::InterconnectLocations].
5121///
5122/// Application developers may need to implement this trait to mock
5123/// `client::InterconnectLocations`.  In other use-cases, application developers only
5124/// use `client::InterconnectLocations` and need not be concerned with this trait or
5125/// its implementations.
5126///
5127/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5128/// too. To avoid breaking applications the trait provides a default
5129/// implementation of each method. Most of these implementations just return an
5130/// error.
5131#[cfg(feature = "interconnect-locations")]
5132#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5133pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5134    /// Implements [super::client::InterconnectLocations::get].
5135    fn get(
5136        &self,
5137        _req: crate::model::interconnect_locations::GetRequest,
5138        _options: gax::options::RequestOptions,
5139    ) -> impl std::future::Future<
5140        Output = crate::Result<gax::response::Response<crate::model::InterconnectLocation>>,
5141    > + Send {
5142        gaxi::unimplemented::unimplemented_stub()
5143    }
5144
5145    /// Implements [super::client::InterconnectLocations::list].
5146    fn list(
5147        &self,
5148        _req: crate::model::interconnect_locations::ListRequest,
5149        _options: gax::options::RequestOptions,
5150    ) -> impl std::future::Future<
5151        Output = crate::Result<gax::response::Response<crate::model::InterconnectLocationList>>,
5152    > + Send {
5153        gaxi::unimplemented::unimplemented_stub()
5154    }
5155}
5156
5157/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5158///
5159/// Application developers may need to implement this trait to mock
5160/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5161/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5162/// its implementations.
5163///
5164/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5165/// too. To avoid breaking applications the trait provides a default
5166/// implementation of each method. Most of these implementations just return an
5167/// error.
5168#[cfg(feature = "interconnect-remote-locations")]
5169#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5170pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5171    /// Implements [super::client::InterconnectRemoteLocations::get].
5172    fn get(
5173        &self,
5174        _req: crate::model::interconnect_remote_locations::GetRequest,
5175        _options: gax::options::RequestOptions,
5176    ) -> impl std::future::Future<
5177        Output = crate::Result<gax::response::Response<crate::model::InterconnectRemoteLocation>>,
5178    > + Send {
5179        gaxi::unimplemented::unimplemented_stub()
5180    }
5181
5182    /// Implements [super::client::InterconnectRemoteLocations::list].
5183    fn list(
5184        &self,
5185        _req: crate::model::interconnect_remote_locations::ListRequest,
5186        _options: gax::options::RequestOptions,
5187    ) -> impl std::future::Future<
5188        Output = crate::Result<
5189            gax::response::Response<crate::model::InterconnectRemoteLocationList>,
5190        >,
5191    > + Send {
5192        gaxi::unimplemented::unimplemented_stub()
5193    }
5194}
5195
5196/// Defines the trait used to implement [super::client::Interconnects].
5197///
5198/// Application developers may need to implement this trait to mock
5199/// `client::Interconnects`.  In other use-cases, application developers only
5200/// use `client::Interconnects` and need not be concerned with this trait or
5201/// its implementations.
5202///
5203/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5204/// too. To avoid breaking applications the trait provides a default
5205/// implementation of each method. Most of these implementations just return an
5206/// error.
5207#[cfg(feature = "interconnects")]
5208#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5209pub trait Interconnects: std::fmt::Debug + Send + Sync {
5210    /// Implements [super::client::Interconnects::delete].
5211    fn delete(
5212        &self,
5213        _req: crate::model::interconnects::DeleteRequest,
5214        _options: gax::options::RequestOptions,
5215    ) -> impl std::future::Future<
5216        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5217    > + Send {
5218        gaxi::unimplemented::unimplemented_stub()
5219    }
5220
5221    /// Implements [super::client::Interconnects::get].
5222    fn get(
5223        &self,
5224        _req: crate::model::interconnects::GetRequest,
5225        _options: gax::options::RequestOptions,
5226    ) -> impl std::future::Future<
5227        Output = crate::Result<gax::response::Response<crate::model::Interconnect>>,
5228    > + Send {
5229        gaxi::unimplemented::unimplemented_stub()
5230    }
5231
5232    /// Implements [super::client::Interconnects::get_diagnostics].
5233    fn get_diagnostics(
5234        &self,
5235        _req: crate::model::interconnects::GetDiagnosticsRequest,
5236        _options: gax::options::RequestOptions,
5237    ) -> impl std::future::Future<
5238        Output = crate::Result<
5239            gax::response::Response<crate::model::InterconnectsGetDiagnosticsResponse>,
5240        >,
5241    > + Send {
5242        gaxi::unimplemented::unimplemented_stub()
5243    }
5244
5245    /// Implements [super::client::Interconnects::get_macsec_config].
5246    fn get_macsec_config(
5247        &self,
5248        _req: crate::model::interconnects::GetMacsecConfigRequest,
5249        _options: gax::options::RequestOptions,
5250    ) -> impl std::future::Future<
5251        Output = crate::Result<
5252            gax::response::Response<crate::model::InterconnectsGetMacsecConfigResponse>,
5253        >,
5254    > + Send {
5255        gaxi::unimplemented::unimplemented_stub()
5256    }
5257
5258    /// Implements [super::client::Interconnects::insert].
5259    fn insert(
5260        &self,
5261        _req: crate::model::interconnects::InsertRequest,
5262        _options: gax::options::RequestOptions,
5263    ) -> impl std::future::Future<
5264        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5265    > + Send {
5266        gaxi::unimplemented::unimplemented_stub()
5267    }
5268
5269    /// Implements [super::client::Interconnects::list].
5270    fn list(
5271        &self,
5272        _req: crate::model::interconnects::ListRequest,
5273        _options: gax::options::RequestOptions,
5274    ) -> impl std::future::Future<
5275        Output = crate::Result<gax::response::Response<crate::model::InterconnectList>>,
5276    > + Send {
5277        gaxi::unimplemented::unimplemented_stub()
5278    }
5279
5280    /// Implements [super::client::Interconnects::patch].
5281    fn patch(
5282        &self,
5283        _req: crate::model::interconnects::PatchRequest,
5284        _options: gax::options::RequestOptions,
5285    ) -> impl std::future::Future<
5286        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5287    > + Send {
5288        gaxi::unimplemented::unimplemented_stub()
5289    }
5290
5291    /// Implements [super::client::Interconnects::set_labels].
5292    fn set_labels(
5293        &self,
5294        _req: crate::model::interconnects::SetLabelsRequest,
5295        _options: gax::options::RequestOptions,
5296    ) -> impl std::future::Future<
5297        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5298    > + Send {
5299        gaxi::unimplemented::unimplemented_stub()
5300    }
5301
5302    /// Implements [super::client::Interconnects::get_operation].
5303    fn get_operation(
5304        &self,
5305        _req: crate::model::global_operations::GetRequest,
5306        _options: gax::options::RequestOptions,
5307    ) -> impl std::future::Future<
5308        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5309    > + Send {
5310        gaxi::unimplemented::unimplemented_stub()
5311    }
5312
5313    /// Returns the polling error policy.
5314    ///
5315    /// When mocking, this method is typically irrelevant. Do not try to verify
5316    /// it is called by your mocks.
5317    fn get_polling_error_policy(
5318        &self,
5319        _options: &gax::options::RequestOptions,
5320    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5321        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5322    }
5323
5324    /// Returns the polling backoff policy.
5325    ///
5326    /// When mocking, this method is typically irrelevant. Do not try to verify
5327    /// it is called by your mocks.
5328    fn get_polling_backoff_policy(
5329        &self,
5330        _options: &gax::options::RequestOptions,
5331    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5332        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5333    }
5334}
5335
5336/// Defines the trait used to implement [super::client::LicenseCodes].
5337///
5338/// Application developers may need to implement this trait to mock
5339/// `client::LicenseCodes`.  In other use-cases, application developers only
5340/// use `client::LicenseCodes` and need not be concerned with this trait or
5341/// its implementations.
5342///
5343/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5344/// too. To avoid breaking applications the trait provides a default
5345/// implementation of each method. Most of these implementations just return an
5346/// error.
5347#[cfg(feature = "license-codes")]
5348#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5349pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5350    /// Implements [super::client::LicenseCodes::get].
5351    fn get(
5352        &self,
5353        _req: crate::model::license_codes::GetRequest,
5354        _options: gax::options::RequestOptions,
5355    ) -> impl std::future::Future<
5356        Output = crate::Result<gax::response::Response<crate::model::LicenseCode>>,
5357    > + Send {
5358        gaxi::unimplemented::unimplemented_stub()
5359    }
5360
5361    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5362    fn test_iam_permissions(
5363        &self,
5364        _req: crate::model::license_codes::TestIamPermissionsRequest,
5365        _options: gax::options::RequestOptions,
5366    ) -> impl std::future::Future<
5367        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
5368    > + Send {
5369        gaxi::unimplemented::unimplemented_stub()
5370    }
5371}
5372
5373/// Defines the trait used to implement [super::client::Licenses].
5374///
5375/// Application developers may need to implement this trait to mock
5376/// `client::Licenses`.  In other use-cases, application developers only
5377/// use `client::Licenses` and need not be concerned with this trait or
5378/// its implementations.
5379///
5380/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5381/// too. To avoid breaking applications the trait provides a default
5382/// implementation of each method. Most of these implementations just return an
5383/// error.
5384#[cfg(feature = "licenses")]
5385#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5386pub trait Licenses: std::fmt::Debug + Send + Sync {
5387    /// Implements [super::client::Licenses::delete].
5388    fn delete(
5389        &self,
5390        _req: crate::model::licenses::DeleteRequest,
5391        _options: gax::options::RequestOptions,
5392    ) -> impl std::future::Future<
5393        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5394    > + Send {
5395        gaxi::unimplemented::unimplemented_stub()
5396    }
5397
5398    /// Implements [super::client::Licenses::get].
5399    fn get(
5400        &self,
5401        _req: crate::model::licenses::GetRequest,
5402        _options: gax::options::RequestOptions,
5403    ) -> impl std::future::Future<
5404        Output = crate::Result<gax::response::Response<crate::model::License>>,
5405    > + Send {
5406        gaxi::unimplemented::unimplemented_stub()
5407    }
5408
5409    /// Implements [super::client::Licenses::get_iam_policy].
5410    fn get_iam_policy(
5411        &self,
5412        _req: crate::model::licenses::GetIamPolicyRequest,
5413        _options: gax::options::RequestOptions,
5414    ) -> impl std::future::Future<
5415        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5416    > + Send {
5417        gaxi::unimplemented::unimplemented_stub()
5418    }
5419
5420    /// Implements [super::client::Licenses::insert].
5421    fn insert(
5422        &self,
5423        _req: crate::model::licenses::InsertRequest,
5424        _options: gax::options::RequestOptions,
5425    ) -> impl std::future::Future<
5426        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5427    > + Send {
5428        gaxi::unimplemented::unimplemented_stub()
5429    }
5430
5431    /// Implements [super::client::Licenses::list].
5432    fn list(
5433        &self,
5434        _req: crate::model::licenses::ListRequest,
5435        _options: gax::options::RequestOptions,
5436    ) -> impl std::future::Future<
5437        Output = crate::Result<gax::response::Response<crate::model::LicensesListResponse>>,
5438    > + Send {
5439        gaxi::unimplemented::unimplemented_stub()
5440    }
5441
5442    /// Implements [super::client::Licenses::set_iam_policy].
5443    fn set_iam_policy(
5444        &self,
5445        _req: crate::model::licenses::SetIamPolicyRequest,
5446        _options: gax::options::RequestOptions,
5447    ) -> impl std::future::Future<
5448        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5449    > + Send {
5450        gaxi::unimplemented::unimplemented_stub()
5451    }
5452
5453    /// Implements [super::client::Licenses::test_iam_permissions].
5454    fn test_iam_permissions(
5455        &self,
5456        _req: crate::model::licenses::TestIamPermissionsRequest,
5457        _options: gax::options::RequestOptions,
5458    ) -> impl std::future::Future<
5459        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
5460    > + Send {
5461        gaxi::unimplemented::unimplemented_stub()
5462    }
5463
5464    /// Implements [super::client::Licenses::update].
5465    fn update(
5466        &self,
5467        _req: crate::model::licenses::UpdateRequest,
5468        _options: gax::options::RequestOptions,
5469    ) -> impl std::future::Future<
5470        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5471    > + Send {
5472        gaxi::unimplemented::unimplemented_stub()
5473    }
5474
5475    /// Implements [super::client::Licenses::get_operation].
5476    fn get_operation(
5477        &self,
5478        _req: crate::model::global_operations::GetRequest,
5479        _options: gax::options::RequestOptions,
5480    ) -> impl std::future::Future<
5481        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5482    > + Send {
5483        gaxi::unimplemented::unimplemented_stub()
5484    }
5485
5486    /// Returns the polling error policy.
5487    ///
5488    /// When mocking, this method is typically irrelevant. Do not try to verify
5489    /// it is called by your mocks.
5490    fn get_polling_error_policy(
5491        &self,
5492        _options: &gax::options::RequestOptions,
5493    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5494        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5495    }
5496
5497    /// Returns the polling backoff policy.
5498    ///
5499    /// When mocking, this method is typically irrelevant. Do not try to verify
5500    /// it is called by your mocks.
5501    fn get_polling_backoff_policy(
5502        &self,
5503        _options: &gax::options::RequestOptions,
5504    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5505        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5506    }
5507}
5508
5509/// Defines the trait used to implement [super::client::MachineImages].
5510///
5511/// Application developers may need to implement this trait to mock
5512/// `client::MachineImages`.  In other use-cases, application developers only
5513/// use `client::MachineImages` and need not be concerned with this trait or
5514/// its implementations.
5515///
5516/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5517/// too. To avoid breaking applications the trait provides a default
5518/// implementation of each method. Most of these implementations just return an
5519/// error.
5520#[cfg(feature = "machine-images")]
5521#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5522pub trait MachineImages: std::fmt::Debug + Send + Sync {
5523    /// Implements [super::client::MachineImages::delete].
5524    fn delete(
5525        &self,
5526        _req: crate::model::machine_images::DeleteRequest,
5527        _options: gax::options::RequestOptions,
5528    ) -> impl std::future::Future<
5529        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5530    > + Send {
5531        gaxi::unimplemented::unimplemented_stub()
5532    }
5533
5534    /// Implements [super::client::MachineImages::get].
5535    fn get(
5536        &self,
5537        _req: crate::model::machine_images::GetRequest,
5538        _options: gax::options::RequestOptions,
5539    ) -> impl std::future::Future<
5540        Output = crate::Result<gax::response::Response<crate::model::MachineImage>>,
5541    > + Send {
5542        gaxi::unimplemented::unimplemented_stub()
5543    }
5544
5545    /// Implements [super::client::MachineImages::get_iam_policy].
5546    fn get_iam_policy(
5547        &self,
5548        _req: crate::model::machine_images::GetIamPolicyRequest,
5549        _options: gax::options::RequestOptions,
5550    ) -> impl std::future::Future<
5551        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5552    > + Send {
5553        gaxi::unimplemented::unimplemented_stub()
5554    }
5555
5556    /// Implements [super::client::MachineImages::insert].
5557    fn insert(
5558        &self,
5559        _req: crate::model::machine_images::InsertRequest,
5560        _options: gax::options::RequestOptions,
5561    ) -> impl std::future::Future<
5562        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5563    > + Send {
5564        gaxi::unimplemented::unimplemented_stub()
5565    }
5566
5567    /// Implements [super::client::MachineImages::list].
5568    fn list(
5569        &self,
5570        _req: crate::model::machine_images::ListRequest,
5571        _options: gax::options::RequestOptions,
5572    ) -> impl std::future::Future<
5573        Output = crate::Result<gax::response::Response<crate::model::MachineImageList>>,
5574    > + Send {
5575        gaxi::unimplemented::unimplemented_stub()
5576    }
5577
5578    /// Implements [super::client::MachineImages::set_iam_policy].
5579    fn set_iam_policy(
5580        &self,
5581        _req: crate::model::machine_images::SetIamPolicyRequest,
5582        _options: gax::options::RequestOptions,
5583    ) -> impl std::future::Future<
5584        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5585    > + Send {
5586        gaxi::unimplemented::unimplemented_stub()
5587    }
5588
5589    /// Implements [super::client::MachineImages::set_labels].
5590    fn set_labels(
5591        &self,
5592        _req: crate::model::machine_images::SetLabelsRequest,
5593        _options: gax::options::RequestOptions,
5594    ) -> impl std::future::Future<
5595        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5596    > + Send {
5597        gaxi::unimplemented::unimplemented_stub()
5598    }
5599
5600    /// Implements [super::client::MachineImages::test_iam_permissions].
5601    fn test_iam_permissions(
5602        &self,
5603        _req: crate::model::machine_images::TestIamPermissionsRequest,
5604        _options: gax::options::RequestOptions,
5605    ) -> impl std::future::Future<
5606        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
5607    > + Send {
5608        gaxi::unimplemented::unimplemented_stub()
5609    }
5610
5611    /// Implements [super::client::MachineImages::get_operation].
5612    fn get_operation(
5613        &self,
5614        _req: crate::model::global_operations::GetRequest,
5615        _options: gax::options::RequestOptions,
5616    ) -> impl std::future::Future<
5617        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5618    > + Send {
5619        gaxi::unimplemented::unimplemented_stub()
5620    }
5621
5622    /// Returns the polling error policy.
5623    ///
5624    /// When mocking, this method is typically irrelevant. Do not try to verify
5625    /// it is called by your mocks.
5626    fn get_polling_error_policy(
5627        &self,
5628        _options: &gax::options::RequestOptions,
5629    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5630        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5631    }
5632
5633    /// Returns the polling backoff policy.
5634    ///
5635    /// When mocking, this method is typically irrelevant. Do not try to verify
5636    /// it is called by your mocks.
5637    fn get_polling_backoff_policy(
5638        &self,
5639        _options: &gax::options::RequestOptions,
5640    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5641        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5642    }
5643}
5644
5645/// Defines the trait used to implement [super::client::MachineTypes].
5646///
5647/// Application developers may need to implement this trait to mock
5648/// `client::MachineTypes`.  In other use-cases, application developers only
5649/// use `client::MachineTypes` and need not be concerned with this trait or
5650/// its implementations.
5651///
5652/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5653/// too. To avoid breaking applications the trait provides a default
5654/// implementation of each method. Most of these implementations just return an
5655/// error.
5656#[cfg(feature = "machine-types")]
5657#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
5658pub trait MachineTypes: std::fmt::Debug + Send + Sync {
5659    /// Implements [super::client::MachineTypes::aggregated_list].
5660    fn aggregated_list(
5661        &self,
5662        _req: crate::model::machine_types::AggregatedListRequest,
5663        _options: gax::options::RequestOptions,
5664    ) -> impl std::future::Future<
5665        Output = crate::Result<gax::response::Response<crate::model::MachineTypeAggregatedList>>,
5666    > + Send {
5667        gaxi::unimplemented::unimplemented_stub()
5668    }
5669
5670    /// Implements [super::client::MachineTypes::get].
5671    fn get(
5672        &self,
5673        _req: crate::model::machine_types::GetRequest,
5674        _options: gax::options::RequestOptions,
5675    ) -> impl std::future::Future<
5676        Output = crate::Result<gax::response::Response<crate::model::MachineType>>,
5677    > + Send {
5678        gaxi::unimplemented::unimplemented_stub()
5679    }
5680
5681    /// Implements [super::client::MachineTypes::list].
5682    fn list(
5683        &self,
5684        _req: crate::model::machine_types::ListRequest,
5685        _options: gax::options::RequestOptions,
5686    ) -> impl std::future::Future<
5687        Output = crate::Result<gax::response::Response<crate::model::MachineTypeList>>,
5688    > + Send {
5689        gaxi::unimplemented::unimplemented_stub()
5690    }
5691}
5692
5693/// Defines the trait used to implement [super::client::NetworkAttachments].
5694///
5695/// Application developers may need to implement this trait to mock
5696/// `client::NetworkAttachments`.  In other use-cases, application developers only
5697/// use `client::NetworkAttachments` and need not be concerned with this trait or
5698/// its implementations.
5699///
5700/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5701/// too. To avoid breaking applications the trait provides a default
5702/// implementation of each method. Most of these implementations just return an
5703/// error.
5704#[cfg(feature = "network-attachments")]
5705#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
5706pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
5707    /// Implements [super::client::NetworkAttachments::aggregated_list].
5708    fn aggregated_list(
5709        &self,
5710        _req: crate::model::network_attachments::AggregatedListRequest,
5711        _options: gax::options::RequestOptions,
5712    ) -> impl std::future::Future<
5713        Output = crate::Result<
5714            gax::response::Response<crate::model::NetworkAttachmentAggregatedList>,
5715        >,
5716    > + Send {
5717        gaxi::unimplemented::unimplemented_stub()
5718    }
5719
5720    /// Implements [super::client::NetworkAttachments::delete].
5721    fn delete(
5722        &self,
5723        _req: crate::model::network_attachments::DeleteRequest,
5724        _options: gax::options::RequestOptions,
5725    ) -> impl std::future::Future<
5726        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5727    > + Send {
5728        gaxi::unimplemented::unimplemented_stub()
5729    }
5730
5731    /// Implements [super::client::NetworkAttachments::get].
5732    fn get(
5733        &self,
5734        _req: crate::model::network_attachments::GetRequest,
5735        _options: gax::options::RequestOptions,
5736    ) -> impl std::future::Future<
5737        Output = crate::Result<gax::response::Response<crate::model::NetworkAttachment>>,
5738    > + Send {
5739        gaxi::unimplemented::unimplemented_stub()
5740    }
5741
5742    /// Implements [super::client::NetworkAttachments::get_iam_policy].
5743    fn get_iam_policy(
5744        &self,
5745        _req: crate::model::network_attachments::GetIamPolicyRequest,
5746        _options: gax::options::RequestOptions,
5747    ) -> impl std::future::Future<
5748        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5749    > + Send {
5750        gaxi::unimplemented::unimplemented_stub()
5751    }
5752
5753    /// Implements [super::client::NetworkAttachments::insert].
5754    fn insert(
5755        &self,
5756        _req: crate::model::network_attachments::InsertRequest,
5757        _options: gax::options::RequestOptions,
5758    ) -> impl std::future::Future<
5759        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5760    > + Send {
5761        gaxi::unimplemented::unimplemented_stub()
5762    }
5763
5764    /// Implements [super::client::NetworkAttachments::list].
5765    fn list(
5766        &self,
5767        _req: crate::model::network_attachments::ListRequest,
5768        _options: gax::options::RequestOptions,
5769    ) -> impl std::future::Future<
5770        Output = crate::Result<gax::response::Response<crate::model::NetworkAttachmentList>>,
5771    > + Send {
5772        gaxi::unimplemented::unimplemented_stub()
5773    }
5774
5775    /// Implements [super::client::NetworkAttachments::patch].
5776    fn patch(
5777        &self,
5778        _req: crate::model::network_attachments::PatchRequest,
5779        _options: gax::options::RequestOptions,
5780    ) -> impl std::future::Future<
5781        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5782    > + Send {
5783        gaxi::unimplemented::unimplemented_stub()
5784    }
5785
5786    /// Implements [super::client::NetworkAttachments::set_iam_policy].
5787    fn set_iam_policy(
5788        &self,
5789        _req: crate::model::network_attachments::SetIamPolicyRequest,
5790        _options: gax::options::RequestOptions,
5791    ) -> impl std::future::Future<
5792        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
5793    > + Send {
5794        gaxi::unimplemented::unimplemented_stub()
5795    }
5796
5797    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
5798    fn test_iam_permissions(
5799        &self,
5800        _req: crate::model::network_attachments::TestIamPermissionsRequest,
5801        _options: gax::options::RequestOptions,
5802    ) -> impl std::future::Future<
5803        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
5804    > + Send {
5805        gaxi::unimplemented::unimplemented_stub()
5806    }
5807
5808    /// Implements [super::client::NetworkAttachments::get_operation].
5809    fn get_operation(
5810        &self,
5811        _req: crate::model::region_operations::GetRequest,
5812        _options: gax::options::RequestOptions,
5813    ) -> impl std::future::Future<
5814        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5815    > + Send {
5816        gaxi::unimplemented::unimplemented_stub()
5817    }
5818
5819    /// Returns the polling error policy.
5820    ///
5821    /// When mocking, this method is typically irrelevant. Do not try to verify
5822    /// it is called by your mocks.
5823    fn get_polling_error_policy(
5824        &self,
5825        _options: &gax::options::RequestOptions,
5826    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5827        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5828    }
5829
5830    /// Returns the polling backoff policy.
5831    ///
5832    /// When mocking, this method is typically irrelevant. Do not try to verify
5833    /// it is called by your mocks.
5834    fn get_polling_backoff_policy(
5835        &self,
5836        _options: &gax::options::RequestOptions,
5837    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5838        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5839    }
5840}
5841
5842/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
5843///
5844/// Application developers may need to implement this trait to mock
5845/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
5846/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
5847/// its implementations.
5848///
5849/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5850/// too. To avoid breaking applications the trait provides a default
5851/// implementation of each method. Most of these implementations just return an
5852/// error.
5853#[cfg(feature = "network-edge-security-services")]
5854#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
5855pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
5856    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
5857    fn aggregated_list(
5858        &self,
5859        _req: crate::model::network_edge_security_services::AggregatedListRequest,
5860        _options: gax::options::RequestOptions,
5861    ) -> impl std::future::Future<
5862        Output = crate::Result<
5863            gax::response::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
5864        >,
5865    > + Send {
5866        gaxi::unimplemented::unimplemented_stub()
5867    }
5868
5869    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
5870    fn delete(
5871        &self,
5872        _req: crate::model::network_edge_security_services::DeleteRequest,
5873        _options: gax::options::RequestOptions,
5874    ) -> impl std::future::Future<
5875        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5876    > + Send {
5877        gaxi::unimplemented::unimplemented_stub()
5878    }
5879
5880    /// Implements [super::client::NetworkEdgeSecurityServices::get].
5881    fn get(
5882        &self,
5883        _req: crate::model::network_edge_security_services::GetRequest,
5884        _options: gax::options::RequestOptions,
5885    ) -> impl std::future::Future<
5886        Output = crate::Result<gax::response::Response<crate::model::NetworkEdgeSecurityService>>,
5887    > + Send {
5888        gaxi::unimplemented::unimplemented_stub()
5889    }
5890
5891    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
5892    fn insert(
5893        &self,
5894        _req: crate::model::network_edge_security_services::InsertRequest,
5895        _options: gax::options::RequestOptions,
5896    ) -> impl std::future::Future<
5897        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5898    > + Send {
5899        gaxi::unimplemented::unimplemented_stub()
5900    }
5901
5902    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
5903    fn patch(
5904        &self,
5905        _req: crate::model::network_edge_security_services::PatchRequest,
5906        _options: gax::options::RequestOptions,
5907    ) -> impl std::future::Future<
5908        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5909    > + Send {
5910        gaxi::unimplemented::unimplemented_stub()
5911    }
5912
5913    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
5914    fn get_operation(
5915        &self,
5916        _req: crate::model::region_operations::GetRequest,
5917        _options: gax::options::RequestOptions,
5918    ) -> impl std::future::Future<
5919        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5920    > + Send {
5921        gaxi::unimplemented::unimplemented_stub()
5922    }
5923
5924    /// Returns the polling error policy.
5925    ///
5926    /// When mocking, this method is typically irrelevant. Do not try to verify
5927    /// it is called by your mocks.
5928    fn get_polling_error_policy(
5929        &self,
5930        _options: &gax::options::RequestOptions,
5931    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5932        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5933    }
5934
5935    /// Returns the polling backoff policy.
5936    ///
5937    /// When mocking, this method is typically irrelevant. Do not try to verify
5938    /// it is called by your mocks.
5939    fn get_polling_backoff_policy(
5940        &self,
5941        _options: &gax::options::RequestOptions,
5942    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5943        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5944    }
5945}
5946
5947/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
5948///
5949/// Application developers may need to implement this trait to mock
5950/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
5951/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
5952/// its implementations.
5953///
5954/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5955/// too. To avoid breaking applications the trait provides a default
5956/// implementation of each method. Most of these implementations just return an
5957/// error.
5958#[cfg(feature = "network-endpoint-groups")]
5959#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
5960pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
5961    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
5962    fn aggregated_list(
5963        &self,
5964        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
5965        _options: gax::options::RequestOptions,
5966    ) -> impl std::future::Future<
5967        Output = crate::Result<
5968            gax::response::Response<crate::model::NetworkEndpointGroupAggregatedList>,
5969        >,
5970    > + Send {
5971        gaxi::unimplemented::unimplemented_stub()
5972    }
5973
5974    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
5975    fn attach_network_endpoints(
5976        &self,
5977        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
5978        _options: gax::options::RequestOptions,
5979    ) -> impl std::future::Future<
5980        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5981    > + Send {
5982        gaxi::unimplemented::unimplemented_stub()
5983    }
5984
5985    /// Implements [super::client::NetworkEndpointGroups::delete].
5986    fn delete(
5987        &self,
5988        _req: crate::model::network_endpoint_groups::DeleteRequest,
5989        _options: gax::options::RequestOptions,
5990    ) -> impl std::future::Future<
5991        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
5992    > + Send {
5993        gaxi::unimplemented::unimplemented_stub()
5994    }
5995
5996    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
5997    fn detach_network_endpoints(
5998        &self,
5999        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
6000        _options: gax::options::RequestOptions,
6001    ) -> impl std::future::Future<
6002        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6003    > + Send {
6004        gaxi::unimplemented::unimplemented_stub()
6005    }
6006
6007    /// Implements [super::client::NetworkEndpointGroups::get].
6008    fn get(
6009        &self,
6010        _req: crate::model::network_endpoint_groups::GetRequest,
6011        _options: gax::options::RequestOptions,
6012    ) -> impl std::future::Future<
6013        Output = crate::Result<gax::response::Response<crate::model::NetworkEndpointGroup>>,
6014    > + Send {
6015        gaxi::unimplemented::unimplemented_stub()
6016    }
6017
6018    /// Implements [super::client::NetworkEndpointGroups::insert].
6019    fn insert(
6020        &self,
6021        _req: crate::model::network_endpoint_groups::InsertRequest,
6022        _options: gax::options::RequestOptions,
6023    ) -> impl std::future::Future<
6024        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6025    > + Send {
6026        gaxi::unimplemented::unimplemented_stub()
6027    }
6028
6029    /// Implements [super::client::NetworkEndpointGroups::list].
6030    fn list(
6031        &self,
6032        _req: crate::model::network_endpoint_groups::ListRequest,
6033        _options: gax::options::RequestOptions,
6034    ) -> impl std::future::Future<
6035        Output = crate::Result<gax::response::Response<crate::model::NetworkEndpointGroupList>>,
6036    > + Send {
6037        gaxi::unimplemented::unimplemented_stub()
6038    }
6039
6040    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
6041    fn list_network_endpoints(
6042        &self,
6043        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
6044        _options: gax::options::RequestOptions,
6045    ) -> impl std::future::Future<
6046        Output = crate::Result<
6047            gax::response::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
6048        >,
6049    > + Send {
6050        gaxi::unimplemented::unimplemented_stub()
6051    }
6052
6053    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
6054    fn test_iam_permissions(
6055        &self,
6056        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
6057        _options: gax::options::RequestOptions,
6058    ) -> impl std::future::Future<
6059        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
6060    > + Send {
6061        gaxi::unimplemented::unimplemented_stub()
6062    }
6063
6064    /// Implements [super::client::NetworkEndpointGroups::get_operation].
6065    fn get_operation(
6066        &self,
6067        _req: crate::model::zone_operations::GetRequest,
6068        _options: gax::options::RequestOptions,
6069    ) -> impl std::future::Future<
6070        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6071    > + Send {
6072        gaxi::unimplemented::unimplemented_stub()
6073    }
6074
6075    /// Returns the polling error policy.
6076    ///
6077    /// When mocking, this method is typically irrelevant. Do not try to verify
6078    /// it is called by your mocks.
6079    fn get_polling_error_policy(
6080        &self,
6081        _options: &gax::options::RequestOptions,
6082    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6083        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6084    }
6085
6086    /// Returns the polling backoff policy.
6087    ///
6088    /// When mocking, this method is typically irrelevant. Do not try to verify
6089    /// it is called by your mocks.
6090    fn get_polling_backoff_policy(
6091        &self,
6092        _options: &gax::options::RequestOptions,
6093    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6094        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6095    }
6096}
6097
6098/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
6099///
6100/// Application developers may need to implement this trait to mock
6101/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
6102/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
6103/// its implementations.
6104///
6105/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6106/// too. To avoid breaking applications the trait provides a default
6107/// implementation of each method. Most of these implementations just return an
6108/// error.
6109#[cfg(feature = "network-firewall-policies")]
6110#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
6111pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
6112    /// Implements [super::client::NetworkFirewallPolicies::add_association].
6113    fn add_association(
6114        &self,
6115        _req: crate::model::network_firewall_policies::AddAssociationRequest,
6116        _options: gax::options::RequestOptions,
6117    ) -> impl std::future::Future<
6118        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6119    > + Send {
6120        gaxi::unimplemented::unimplemented_stub()
6121    }
6122
6123    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
6124    fn add_packet_mirroring_rule(
6125        &self,
6126        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
6127        _options: gax::options::RequestOptions,
6128    ) -> impl std::future::Future<
6129        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6130    > + Send {
6131        gaxi::unimplemented::unimplemented_stub()
6132    }
6133
6134    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
6135    fn add_rule(
6136        &self,
6137        _req: crate::model::network_firewall_policies::AddRuleRequest,
6138        _options: gax::options::RequestOptions,
6139    ) -> impl std::future::Future<
6140        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6141    > + Send {
6142        gaxi::unimplemented::unimplemented_stub()
6143    }
6144
6145    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
6146    fn aggregated_list(
6147        &self,
6148        _req: crate::model::network_firewall_policies::AggregatedListRequest,
6149        _options: gax::options::RequestOptions,
6150    ) -> impl std::future::Future<
6151        Output = crate::Result<
6152            gax::response::Response<crate::model::NetworkFirewallPolicyAggregatedList>,
6153        >,
6154    > + Send {
6155        gaxi::unimplemented::unimplemented_stub()
6156    }
6157
6158    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
6159    fn clone_rules(
6160        &self,
6161        _req: crate::model::network_firewall_policies::CloneRulesRequest,
6162        _options: gax::options::RequestOptions,
6163    ) -> impl std::future::Future<
6164        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6165    > + Send {
6166        gaxi::unimplemented::unimplemented_stub()
6167    }
6168
6169    /// Implements [super::client::NetworkFirewallPolicies::delete].
6170    fn delete(
6171        &self,
6172        _req: crate::model::network_firewall_policies::DeleteRequest,
6173        _options: gax::options::RequestOptions,
6174    ) -> impl std::future::Future<
6175        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6176    > + Send {
6177        gaxi::unimplemented::unimplemented_stub()
6178    }
6179
6180    /// Implements [super::client::NetworkFirewallPolicies::get].
6181    fn get(
6182        &self,
6183        _req: crate::model::network_firewall_policies::GetRequest,
6184        _options: gax::options::RequestOptions,
6185    ) -> impl std::future::Future<
6186        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicy>>,
6187    > + Send {
6188        gaxi::unimplemented::unimplemented_stub()
6189    }
6190
6191    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6192    fn get_association(
6193        &self,
6194        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6195        _options: gax::options::RequestOptions,
6196    ) -> impl std::future::Future<
6197        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyAssociation>>,
6198    > + Send {
6199        gaxi::unimplemented::unimplemented_stub()
6200    }
6201
6202    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6203    fn get_iam_policy(
6204        &self,
6205        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6206        _options: gax::options::RequestOptions,
6207    ) -> impl std::future::Future<
6208        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
6209    > + Send {
6210        gaxi::unimplemented::unimplemented_stub()
6211    }
6212
6213    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6214    fn get_packet_mirroring_rule(
6215        &self,
6216        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6217        _options: gax::options::RequestOptions,
6218    ) -> impl std::future::Future<
6219        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyRule>>,
6220    > + Send {
6221        gaxi::unimplemented::unimplemented_stub()
6222    }
6223
6224    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6225    fn get_rule(
6226        &self,
6227        _req: crate::model::network_firewall_policies::GetRuleRequest,
6228        _options: gax::options::RequestOptions,
6229    ) -> impl std::future::Future<
6230        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyRule>>,
6231    > + Send {
6232        gaxi::unimplemented::unimplemented_stub()
6233    }
6234
6235    /// Implements [super::client::NetworkFirewallPolicies::insert].
6236    fn insert(
6237        &self,
6238        _req: crate::model::network_firewall_policies::InsertRequest,
6239        _options: gax::options::RequestOptions,
6240    ) -> impl std::future::Future<
6241        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6242    > + Send {
6243        gaxi::unimplemented::unimplemented_stub()
6244    }
6245
6246    /// Implements [super::client::NetworkFirewallPolicies::list].
6247    fn list(
6248        &self,
6249        _req: crate::model::network_firewall_policies::ListRequest,
6250        _options: gax::options::RequestOptions,
6251    ) -> impl std::future::Future<
6252        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyList>>,
6253    > + Send {
6254        gaxi::unimplemented::unimplemented_stub()
6255    }
6256
6257    /// Implements [super::client::NetworkFirewallPolicies::patch].
6258    fn patch(
6259        &self,
6260        _req: crate::model::network_firewall_policies::PatchRequest,
6261        _options: gax::options::RequestOptions,
6262    ) -> impl std::future::Future<
6263        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6264    > + Send {
6265        gaxi::unimplemented::unimplemented_stub()
6266    }
6267
6268    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6269    fn patch_packet_mirroring_rule(
6270        &self,
6271        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6272        _options: gax::options::RequestOptions,
6273    ) -> impl std::future::Future<
6274        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6275    > + Send {
6276        gaxi::unimplemented::unimplemented_stub()
6277    }
6278
6279    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6280    fn patch_rule(
6281        &self,
6282        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6283        _options: gax::options::RequestOptions,
6284    ) -> impl std::future::Future<
6285        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6286    > + Send {
6287        gaxi::unimplemented::unimplemented_stub()
6288    }
6289
6290    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6291    fn remove_association(
6292        &self,
6293        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6294        _options: gax::options::RequestOptions,
6295    ) -> impl std::future::Future<
6296        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6297    > + Send {
6298        gaxi::unimplemented::unimplemented_stub()
6299    }
6300
6301    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6302    fn remove_packet_mirroring_rule(
6303        &self,
6304        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6305        _options: gax::options::RequestOptions,
6306    ) -> impl std::future::Future<
6307        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6308    > + Send {
6309        gaxi::unimplemented::unimplemented_stub()
6310    }
6311
6312    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6313    fn remove_rule(
6314        &self,
6315        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6316        _options: gax::options::RequestOptions,
6317    ) -> impl std::future::Future<
6318        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6319    > + Send {
6320        gaxi::unimplemented::unimplemented_stub()
6321    }
6322
6323    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6324    fn set_iam_policy(
6325        &self,
6326        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6327        _options: gax::options::RequestOptions,
6328    ) -> impl std::future::Future<
6329        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
6330    > + Send {
6331        gaxi::unimplemented::unimplemented_stub()
6332    }
6333
6334    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6335    fn test_iam_permissions(
6336        &self,
6337        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6338        _options: gax::options::RequestOptions,
6339    ) -> impl std::future::Future<
6340        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
6341    > + Send {
6342        gaxi::unimplemented::unimplemented_stub()
6343    }
6344
6345    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6346    fn get_operation(
6347        &self,
6348        _req: crate::model::global_operations::GetRequest,
6349        _options: gax::options::RequestOptions,
6350    ) -> impl std::future::Future<
6351        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6352    > + Send {
6353        gaxi::unimplemented::unimplemented_stub()
6354    }
6355
6356    /// Returns the polling error policy.
6357    ///
6358    /// When mocking, this method is typically irrelevant. Do not try to verify
6359    /// it is called by your mocks.
6360    fn get_polling_error_policy(
6361        &self,
6362        _options: &gax::options::RequestOptions,
6363    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6364        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6365    }
6366
6367    /// Returns the polling backoff policy.
6368    ///
6369    /// When mocking, this method is typically irrelevant. Do not try to verify
6370    /// it is called by your mocks.
6371    fn get_polling_backoff_policy(
6372        &self,
6373        _options: &gax::options::RequestOptions,
6374    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6375        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6376    }
6377}
6378
6379/// Defines the trait used to implement [super::client::NetworkProfiles].
6380///
6381/// Application developers may need to implement this trait to mock
6382/// `client::NetworkProfiles`.  In other use-cases, application developers only
6383/// use `client::NetworkProfiles` and need not be concerned with this trait or
6384/// its implementations.
6385///
6386/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6387/// too. To avoid breaking applications the trait provides a default
6388/// implementation of each method. Most of these implementations just return an
6389/// error.
6390#[cfg(feature = "network-profiles")]
6391#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6392pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6393    /// Implements [super::client::NetworkProfiles::get].
6394    fn get(
6395        &self,
6396        _req: crate::model::network_profiles::GetRequest,
6397        _options: gax::options::RequestOptions,
6398    ) -> impl std::future::Future<
6399        Output = crate::Result<gax::response::Response<crate::model::NetworkProfile>>,
6400    > + Send {
6401        gaxi::unimplemented::unimplemented_stub()
6402    }
6403
6404    /// Implements [super::client::NetworkProfiles::list].
6405    fn list(
6406        &self,
6407        _req: crate::model::network_profiles::ListRequest,
6408        _options: gax::options::RequestOptions,
6409    ) -> impl std::future::Future<
6410        Output = crate::Result<gax::response::Response<crate::model::NetworkProfilesListResponse>>,
6411    > + Send {
6412        gaxi::unimplemented::unimplemented_stub()
6413    }
6414}
6415
6416/// Defines the trait used to implement [super::client::Networks].
6417///
6418/// Application developers may need to implement this trait to mock
6419/// `client::Networks`.  In other use-cases, application developers only
6420/// use `client::Networks` and need not be concerned with this trait or
6421/// its implementations.
6422///
6423/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6424/// too. To avoid breaking applications the trait provides a default
6425/// implementation of each method. Most of these implementations just return an
6426/// error.
6427#[cfg(feature = "networks")]
6428#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6429pub trait Networks: std::fmt::Debug + Send + Sync {
6430    /// Implements [super::client::Networks::add_peering].
6431    fn add_peering(
6432        &self,
6433        _req: crate::model::networks::AddPeeringRequest,
6434        _options: gax::options::RequestOptions,
6435    ) -> impl std::future::Future<
6436        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6437    > + Send {
6438        gaxi::unimplemented::unimplemented_stub()
6439    }
6440
6441    /// Implements [super::client::Networks::delete].
6442    fn delete(
6443        &self,
6444        _req: crate::model::networks::DeleteRequest,
6445        _options: gax::options::RequestOptions,
6446    ) -> impl std::future::Future<
6447        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6448    > + Send {
6449        gaxi::unimplemented::unimplemented_stub()
6450    }
6451
6452    /// Implements [super::client::Networks::get].
6453    fn get(
6454        &self,
6455        _req: crate::model::networks::GetRequest,
6456        _options: gax::options::RequestOptions,
6457    ) -> impl std::future::Future<
6458        Output = crate::Result<gax::response::Response<crate::model::Network>>,
6459    > + Send {
6460        gaxi::unimplemented::unimplemented_stub()
6461    }
6462
6463    /// Implements [super::client::Networks::get_effective_firewalls].
6464    fn get_effective_firewalls(
6465        &self,
6466        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6467        _options: gax::options::RequestOptions,
6468    ) -> impl std::future::Future<
6469        Output = crate::Result<
6470            gax::response::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6471        >,
6472    > + Send {
6473        gaxi::unimplemented::unimplemented_stub()
6474    }
6475
6476    /// Implements [super::client::Networks::insert].
6477    fn insert(
6478        &self,
6479        _req: crate::model::networks::InsertRequest,
6480        _options: gax::options::RequestOptions,
6481    ) -> impl std::future::Future<
6482        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6483    > + Send {
6484        gaxi::unimplemented::unimplemented_stub()
6485    }
6486
6487    /// Implements [super::client::Networks::list].
6488    fn list(
6489        &self,
6490        _req: crate::model::networks::ListRequest,
6491        _options: gax::options::RequestOptions,
6492    ) -> impl std::future::Future<
6493        Output = crate::Result<gax::response::Response<crate::model::NetworkList>>,
6494    > + Send {
6495        gaxi::unimplemented::unimplemented_stub()
6496    }
6497
6498    /// Implements [super::client::Networks::list_peering_routes].
6499    fn list_peering_routes(
6500        &self,
6501        _req: crate::model::networks::ListPeeringRoutesRequest,
6502        _options: gax::options::RequestOptions,
6503    ) -> impl std::future::Future<
6504        Output = crate::Result<gax::response::Response<crate::model::ExchangedPeeringRoutesList>>,
6505    > + Send {
6506        gaxi::unimplemented::unimplemented_stub()
6507    }
6508
6509    /// Implements [super::client::Networks::patch].
6510    fn patch(
6511        &self,
6512        _req: crate::model::networks::PatchRequest,
6513        _options: gax::options::RequestOptions,
6514    ) -> impl std::future::Future<
6515        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6516    > + Send {
6517        gaxi::unimplemented::unimplemented_stub()
6518    }
6519
6520    /// Implements [super::client::Networks::remove_peering].
6521    fn remove_peering(
6522        &self,
6523        _req: crate::model::networks::RemovePeeringRequest,
6524        _options: gax::options::RequestOptions,
6525    ) -> impl std::future::Future<
6526        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6527    > + Send {
6528        gaxi::unimplemented::unimplemented_stub()
6529    }
6530
6531    /// Implements [super::client::Networks::request_remove_peering].
6532    fn request_remove_peering(
6533        &self,
6534        _req: crate::model::networks::RequestRemovePeeringRequest,
6535        _options: gax::options::RequestOptions,
6536    ) -> impl std::future::Future<
6537        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6538    > + Send {
6539        gaxi::unimplemented::unimplemented_stub()
6540    }
6541
6542    /// Implements [super::client::Networks::switch_to_custom_mode].
6543    fn switch_to_custom_mode(
6544        &self,
6545        _req: crate::model::networks::SwitchToCustomModeRequest,
6546        _options: gax::options::RequestOptions,
6547    ) -> impl std::future::Future<
6548        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6549    > + Send {
6550        gaxi::unimplemented::unimplemented_stub()
6551    }
6552
6553    /// Implements [super::client::Networks::update_peering].
6554    fn update_peering(
6555        &self,
6556        _req: crate::model::networks::UpdatePeeringRequest,
6557        _options: gax::options::RequestOptions,
6558    ) -> impl std::future::Future<
6559        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6560    > + Send {
6561        gaxi::unimplemented::unimplemented_stub()
6562    }
6563
6564    /// Implements [super::client::Networks::get_operation].
6565    fn get_operation(
6566        &self,
6567        _req: crate::model::global_operations::GetRequest,
6568        _options: gax::options::RequestOptions,
6569    ) -> impl std::future::Future<
6570        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6571    > + Send {
6572        gaxi::unimplemented::unimplemented_stub()
6573    }
6574
6575    /// Returns the polling error policy.
6576    ///
6577    /// When mocking, this method is typically irrelevant. Do not try to verify
6578    /// it is called by your mocks.
6579    fn get_polling_error_policy(
6580        &self,
6581        _options: &gax::options::RequestOptions,
6582    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6583        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6584    }
6585
6586    /// Returns the polling backoff policy.
6587    ///
6588    /// When mocking, this method is typically irrelevant. Do not try to verify
6589    /// it is called by your mocks.
6590    fn get_polling_backoff_policy(
6591        &self,
6592        _options: &gax::options::RequestOptions,
6593    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6594        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6595    }
6596}
6597
6598/// Defines the trait used to implement [super::client::NodeGroups].
6599///
6600/// Application developers may need to implement this trait to mock
6601/// `client::NodeGroups`.  In other use-cases, application developers only
6602/// use `client::NodeGroups` and need not be concerned with this trait or
6603/// its implementations.
6604///
6605/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6606/// too. To avoid breaking applications the trait provides a default
6607/// implementation of each method. Most of these implementations just return an
6608/// error.
6609#[cfg(feature = "node-groups")]
6610#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
6611pub trait NodeGroups: std::fmt::Debug + Send + Sync {
6612    /// Implements [super::client::NodeGroups::add_nodes].
6613    fn add_nodes(
6614        &self,
6615        _req: crate::model::node_groups::AddNodesRequest,
6616        _options: gax::options::RequestOptions,
6617    ) -> impl std::future::Future<
6618        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6619    > + Send {
6620        gaxi::unimplemented::unimplemented_stub()
6621    }
6622
6623    /// Implements [super::client::NodeGroups::aggregated_list].
6624    fn aggregated_list(
6625        &self,
6626        _req: crate::model::node_groups::AggregatedListRequest,
6627        _options: gax::options::RequestOptions,
6628    ) -> impl std::future::Future<
6629        Output = crate::Result<gax::response::Response<crate::model::NodeGroupAggregatedList>>,
6630    > + Send {
6631        gaxi::unimplemented::unimplemented_stub()
6632    }
6633
6634    /// Implements [super::client::NodeGroups::delete].
6635    fn delete(
6636        &self,
6637        _req: crate::model::node_groups::DeleteRequest,
6638        _options: gax::options::RequestOptions,
6639    ) -> impl std::future::Future<
6640        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6641    > + Send {
6642        gaxi::unimplemented::unimplemented_stub()
6643    }
6644
6645    /// Implements [super::client::NodeGroups::delete_nodes].
6646    fn delete_nodes(
6647        &self,
6648        _req: crate::model::node_groups::DeleteNodesRequest,
6649        _options: gax::options::RequestOptions,
6650    ) -> impl std::future::Future<
6651        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6652    > + Send {
6653        gaxi::unimplemented::unimplemented_stub()
6654    }
6655
6656    /// Implements [super::client::NodeGroups::get].
6657    fn get(
6658        &self,
6659        _req: crate::model::node_groups::GetRequest,
6660        _options: gax::options::RequestOptions,
6661    ) -> impl std::future::Future<
6662        Output = crate::Result<gax::response::Response<crate::model::NodeGroup>>,
6663    > + Send {
6664        gaxi::unimplemented::unimplemented_stub()
6665    }
6666
6667    /// Implements [super::client::NodeGroups::get_iam_policy].
6668    fn get_iam_policy(
6669        &self,
6670        _req: crate::model::node_groups::GetIamPolicyRequest,
6671        _options: gax::options::RequestOptions,
6672    ) -> impl std::future::Future<
6673        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
6674    > + Send {
6675        gaxi::unimplemented::unimplemented_stub()
6676    }
6677
6678    /// Implements [super::client::NodeGroups::insert].
6679    fn insert(
6680        &self,
6681        _req: crate::model::node_groups::InsertRequest,
6682        _options: gax::options::RequestOptions,
6683    ) -> impl std::future::Future<
6684        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6685    > + Send {
6686        gaxi::unimplemented::unimplemented_stub()
6687    }
6688
6689    /// Implements [super::client::NodeGroups::list].
6690    fn list(
6691        &self,
6692        _req: crate::model::node_groups::ListRequest,
6693        _options: gax::options::RequestOptions,
6694    ) -> impl std::future::Future<
6695        Output = crate::Result<gax::response::Response<crate::model::NodeGroupList>>,
6696    > + Send {
6697        gaxi::unimplemented::unimplemented_stub()
6698    }
6699
6700    /// Implements [super::client::NodeGroups::list_nodes].
6701    fn list_nodes(
6702        &self,
6703        _req: crate::model::node_groups::ListNodesRequest,
6704        _options: gax::options::RequestOptions,
6705    ) -> impl std::future::Future<
6706        Output = crate::Result<gax::response::Response<crate::model::NodeGroupsListNodes>>,
6707    > + Send {
6708        gaxi::unimplemented::unimplemented_stub()
6709    }
6710
6711    /// Implements [super::client::NodeGroups::patch].
6712    fn patch(
6713        &self,
6714        _req: crate::model::node_groups::PatchRequest,
6715        _options: gax::options::RequestOptions,
6716    ) -> impl std::future::Future<
6717        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6718    > + Send {
6719        gaxi::unimplemented::unimplemented_stub()
6720    }
6721
6722    /// Implements [super::client::NodeGroups::perform_maintenance].
6723    fn perform_maintenance(
6724        &self,
6725        _req: crate::model::node_groups::PerformMaintenanceRequest,
6726        _options: gax::options::RequestOptions,
6727    ) -> impl std::future::Future<
6728        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6729    > + Send {
6730        gaxi::unimplemented::unimplemented_stub()
6731    }
6732
6733    /// Implements [super::client::NodeGroups::set_iam_policy].
6734    fn set_iam_policy(
6735        &self,
6736        _req: crate::model::node_groups::SetIamPolicyRequest,
6737        _options: gax::options::RequestOptions,
6738    ) -> impl std::future::Future<
6739        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
6740    > + Send {
6741        gaxi::unimplemented::unimplemented_stub()
6742    }
6743
6744    /// Implements [super::client::NodeGroups::set_node_template].
6745    fn set_node_template(
6746        &self,
6747        _req: crate::model::node_groups::SetNodeTemplateRequest,
6748        _options: gax::options::RequestOptions,
6749    ) -> impl std::future::Future<
6750        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6751    > + Send {
6752        gaxi::unimplemented::unimplemented_stub()
6753    }
6754
6755    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
6756    fn simulate_maintenance_event(
6757        &self,
6758        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
6759        _options: gax::options::RequestOptions,
6760    ) -> impl std::future::Future<
6761        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6762    > + Send {
6763        gaxi::unimplemented::unimplemented_stub()
6764    }
6765
6766    /// Implements [super::client::NodeGroups::test_iam_permissions].
6767    fn test_iam_permissions(
6768        &self,
6769        _req: crate::model::node_groups::TestIamPermissionsRequest,
6770        _options: gax::options::RequestOptions,
6771    ) -> impl std::future::Future<
6772        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
6773    > + Send {
6774        gaxi::unimplemented::unimplemented_stub()
6775    }
6776
6777    /// Implements [super::client::NodeGroups::get_operation].
6778    fn get_operation(
6779        &self,
6780        _req: crate::model::zone_operations::GetRequest,
6781        _options: gax::options::RequestOptions,
6782    ) -> impl std::future::Future<
6783        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6784    > + Send {
6785        gaxi::unimplemented::unimplemented_stub()
6786    }
6787
6788    /// Returns the polling error policy.
6789    ///
6790    /// When mocking, this method is typically irrelevant. Do not try to verify
6791    /// it is called by your mocks.
6792    fn get_polling_error_policy(
6793        &self,
6794        _options: &gax::options::RequestOptions,
6795    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6796        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6797    }
6798
6799    /// Returns the polling backoff policy.
6800    ///
6801    /// When mocking, this method is typically irrelevant. Do not try to verify
6802    /// it is called by your mocks.
6803    fn get_polling_backoff_policy(
6804        &self,
6805        _options: &gax::options::RequestOptions,
6806    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6807        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6808    }
6809}
6810
6811/// Defines the trait used to implement [super::client::NodeTemplates].
6812///
6813/// Application developers may need to implement this trait to mock
6814/// `client::NodeTemplates`.  In other use-cases, application developers only
6815/// use `client::NodeTemplates` and need not be concerned with this trait or
6816/// its implementations.
6817///
6818/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6819/// too. To avoid breaking applications the trait provides a default
6820/// implementation of each method. Most of these implementations just return an
6821/// error.
6822#[cfg(feature = "node-templates")]
6823#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
6824pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
6825    /// Implements [super::client::NodeTemplates::aggregated_list].
6826    fn aggregated_list(
6827        &self,
6828        _req: crate::model::node_templates::AggregatedListRequest,
6829        _options: gax::options::RequestOptions,
6830    ) -> impl std::future::Future<
6831        Output = crate::Result<gax::response::Response<crate::model::NodeTemplateAggregatedList>>,
6832    > + Send {
6833        gaxi::unimplemented::unimplemented_stub()
6834    }
6835
6836    /// Implements [super::client::NodeTemplates::delete].
6837    fn delete(
6838        &self,
6839        _req: crate::model::node_templates::DeleteRequest,
6840        _options: gax::options::RequestOptions,
6841    ) -> impl std::future::Future<
6842        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6843    > + Send {
6844        gaxi::unimplemented::unimplemented_stub()
6845    }
6846
6847    /// Implements [super::client::NodeTemplates::get].
6848    fn get(
6849        &self,
6850        _req: crate::model::node_templates::GetRequest,
6851        _options: gax::options::RequestOptions,
6852    ) -> impl std::future::Future<
6853        Output = crate::Result<gax::response::Response<crate::model::NodeTemplate>>,
6854    > + Send {
6855        gaxi::unimplemented::unimplemented_stub()
6856    }
6857
6858    /// Implements [super::client::NodeTemplates::get_iam_policy].
6859    fn get_iam_policy(
6860        &self,
6861        _req: crate::model::node_templates::GetIamPolicyRequest,
6862        _options: gax::options::RequestOptions,
6863    ) -> impl std::future::Future<
6864        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
6865    > + Send {
6866        gaxi::unimplemented::unimplemented_stub()
6867    }
6868
6869    /// Implements [super::client::NodeTemplates::insert].
6870    fn insert(
6871        &self,
6872        _req: crate::model::node_templates::InsertRequest,
6873        _options: gax::options::RequestOptions,
6874    ) -> impl std::future::Future<
6875        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6876    > + Send {
6877        gaxi::unimplemented::unimplemented_stub()
6878    }
6879
6880    /// Implements [super::client::NodeTemplates::list].
6881    fn list(
6882        &self,
6883        _req: crate::model::node_templates::ListRequest,
6884        _options: gax::options::RequestOptions,
6885    ) -> impl std::future::Future<
6886        Output = crate::Result<gax::response::Response<crate::model::NodeTemplateList>>,
6887    > + Send {
6888        gaxi::unimplemented::unimplemented_stub()
6889    }
6890
6891    /// Implements [super::client::NodeTemplates::set_iam_policy].
6892    fn set_iam_policy(
6893        &self,
6894        _req: crate::model::node_templates::SetIamPolicyRequest,
6895        _options: gax::options::RequestOptions,
6896    ) -> impl std::future::Future<
6897        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
6898    > + Send {
6899        gaxi::unimplemented::unimplemented_stub()
6900    }
6901
6902    /// Implements [super::client::NodeTemplates::test_iam_permissions].
6903    fn test_iam_permissions(
6904        &self,
6905        _req: crate::model::node_templates::TestIamPermissionsRequest,
6906        _options: gax::options::RequestOptions,
6907    ) -> impl std::future::Future<
6908        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
6909    > + Send {
6910        gaxi::unimplemented::unimplemented_stub()
6911    }
6912
6913    /// Implements [super::client::NodeTemplates::get_operation].
6914    fn get_operation(
6915        &self,
6916        _req: crate::model::region_operations::GetRequest,
6917        _options: gax::options::RequestOptions,
6918    ) -> impl std::future::Future<
6919        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
6920    > + Send {
6921        gaxi::unimplemented::unimplemented_stub()
6922    }
6923
6924    /// Returns the polling error policy.
6925    ///
6926    /// When mocking, this method is typically irrelevant. Do not try to verify
6927    /// it is called by your mocks.
6928    fn get_polling_error_policy(
6929        &self,
6930        _options: &gax::options::RequestOptions,
6931    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6932        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6933    }
6934
6935    /// Returns the polling backoff policy.
6936    ///
6937    /// When mocking, this method is typically irrelevant. Do not try to verify
6938    /// it is called by your mocks.
6939    fn get_polling_backoff_policy(
6940        &self,
6941        _options: &gax::options::RequestOptions,
6942    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6943        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6944    }
6945}
6946
6947/// Defines the trait used to implement [super::client::NodeTypes].
6948///
6949/// Application developers may need to implement this trait to mock
6950/// `client::NodeTypes`.  In other use-cases, application developers only
6951/// use `client::NodeTypes` and need not be concerned with this trait or
6952/// its implementations.
6953///
6954/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6955/// too. To avoid breaking applications the trait provides a default
6956/// implementation of each method. Most of these implementations just return an
6957/// error.
6958#[cfg(feature = "node-types")]
6959#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
6960pub trait NodeTypes: std::fmt::Debug + Send + Sync {
6961    /// Implements [super::client::NodeTypes::aggregated_list].
6962    fn aggregated_list(
6963        &self,
6964        _req: crate::model::node_types::AggregatedListRequest,
6965        _options: gax::options::RequestOptions,
6966    ) -> impl std::future::Future<
6967        Output = crate::Result<gax::response::Response<crate::model::NodeTypeAggregatedList>>,
6968    > + Send {
6969        gaxi::unimplemented::unimplemented_stub()
6970    }
6971
6972    /// Implements [super::client::NodeTypes::get].
6973    fn get(
6974        &self,
6975        _req: crate::model::node_types::GetRequest,
6976        _options: gax::options::RequestOptions,
6977    ) -> impl std::future::Future<
6978        Output = crate::Result<gax::response::Response<crate::model::NodeType>>,
6979    > + Send {
6980        gaxi::unimplemented::unimplemented_stub()
6981    }
6982
6983    /// Implements [super::client::NodeTypes::list].
6984    fn list(
6985        &self,
6986        _req: crate::model::node_types::ListRequest,
6987        _options: gax::options::RequestOptions,
6988    ) -> impl std::future::Future<
6989        Output = crate::Result<gax::response::Response<crate::model::NodeTypeList>>,
6990    > + Send {
6991        gaxi::unimplemented::unimplemented_stub()
6992    }
6993}
6994
6995/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
6996///
6997/// Application developers may need to implement this trait to mock
6998/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
6999/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
7000/// its implementations.
7001///
7002/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7003/// too. To avoid breaking applications the trait provides a default
7004/// implementation of each method. Most of these implementations just return an
7005/// error.
7006#[cfg(feature = "organization-security-policies")]
7007#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
7008pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
7009    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
7010    fn add_association(
7011        &self,
7012        _req: crate::model::organization_security_policies::AddAssociationRequest,
7013        _options: gax::options::RequestOptions,
7014    ) -> impl std::future::Future<
7015        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7016    > + Send {
7017        gaxi::unimplemented::unimplemented_stub()
7018    }
7019
7020    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
7021    fn add_rule(
7022        &self,
7023        _req: crate::model::organization_security_policies::AddRuleRequest,
7024        _options: gax::options::RequestOptions,
7025    ) -> impl std::future::Future<
7026        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7027    > + Send {
7028        gaxi::unimplemented::unimplemented_stub()
7029    }
7030
7031    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
7032    fn copy_rules(
7033        &self,
7034        _req: crate::model::organization_security_policies::CopyRulesRequest,
7035        _options: gax::options::RequestOptions,
7036    ) -> impl std::future::Future<
7037        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7038    > + Send {
7039        gaxi::unimplemented::unimplemented_stub()
7040    }
7041
7042    /// Implements [super::client::OrganizationSecurityPolicies::delete].
7043    fn delete(
7044        &self,
7045        _req: crate::model::organization_security_policies::DeleteRequest,
7046        _options: gax::options::RequestOptions,
7047    ) -> impl std::future::Future<
7048        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7049    > + Send {
7050        gaxi::unimplemented::unimplemented_stub()
7051    }
7052
7053    /// Implements [super::client::OrganizationSecurityPolicies::get].
7054    fn get(
7055        &self,
7056        _req: crate::model::organization_security_policies::GetRequest,
7057        _options: gax::options::RequestOptions,
7058    ) -> impl std::future::Future<
7059        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicy>>,
7060    > + Send {
7061        gaxi::unimplemented::unimplemented_stub()
7062    }
7063
7064    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
7065    fn get_association(
7066        &self,
7067        _req: crate::model::organization_security_policies::GetAssociationRequest,
7068        _options: gax::options::RequestOptions,
7069    ) -> impl std::future::Future<
7070        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyAssociation>>,
7071    > + Send {
7072        gaxi::unimplemented::unimplemented_stub()
7073    }
7074
7075    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
7076    fn get_rule(
7077        &self,
7078        _req: crate::model::organization_security_policies::GetRuleRequest,
7079        _options: gax::options::RequestOptions,
7080    ) -> impl std::future::Future<
7081        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyRule>>,
7082    > + Send {
7083        gaxi::unimplemented::unimplemented_stub()
7084    }
7085
7086    /// Implements [super::client::OrganizationSecurityPolicies::insert].
7087    fn insert(
7088        &self,
7089        _req: crate::model::organization_security_policies::InsertRequest,
7090        _options: gax::options::RequestOptions,
7091    ) -> impl std::future::Future<
7092        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7093    > + Send {
7094        gaxi::unimplemented::unimplemented_stub()
7095    }
7096
7097    /// Implements [super::client::OrganizationSecurityPolicies::list].
7098    fn list(
7099        &self,
7100        _req: crate::model::organization_security_policies::ListRequest,
7101        _options: gax::options::RequestOptions,
7102    ) -> impl std::future::Future<
7103        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyList>>,
7104    > + Send {
7105        gaxi::unimplemented::unimplemented_stub()
7106    }
7107
7108    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
7109    fn list_associations(
7110        &self,
7111        _req: crate::model::organization_security_policies::ListAssociationsRequest,
7112        _options: gax::options::RequestOptions,
7113    ) -> impl std::future::Future<
7114        Output = crate::Result<
7115            gax::response::Response<
7116                crate::model::OrganizationSecurityPoliciesListAssociationsResponse,
7117            >,
7118        >,
7119    > + Send {
7120        gaxi::unimplemented::unimplemented_stub()
7121    }
7122
7123    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
7124    fn list_preconfigured_expression_sets(
7125        &self,
7126        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
7127        _options: gax::options::RequestOptions,
7128    ) -> impl std::future::Future<
7129        Output = crate::Result<
7130            gax::response::Response<
7131                crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse,
7132            >,
7133        >,
7134    > + Send {
7135        gaxi::unimplemented::unimplemented_stub()
7136    }
7137
7138    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
7139    fn r#move(
7140        &self,
7141        _req: crate::model::organization_security_policies::MoveRequest,
7142        _options: gax::options::RequestOptions,
7143    ) -> impl std::future::Future<
7144        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7145    > + Send {
7146        gaxi::unimplemented::unimplemented_stub()
7147    }
7148
7149    /// Implements [super::client::OrganizationSecurityPolicies::patch].
7150    fn patch(
7151        &self,
7152        _req: crate::model::organization_security_policies::PatchRequest,
7153        _options: gax::options::RequestOptions,
7154    ) -> impl std::future::Future<
7155        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7156    > + Send {
7157        gaxi::unimplemented::unimplemented_stub()
7158    }
7159
7160    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
7161    fn patch_rule(
7162        &self,
7163        _req: crate::model::organization_security_policies::PatchRuleRequest,
7164        _options: gax::options::RequestOptions,
7165    ) -> impl std::future::Future<
7166        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7167    > + Send {
7168        gaxi::unimplemented::unimplemented_stub()
7169    }
7170
7171    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
7172    fn remove_association(
7173        &self,
7174        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
7175        _options: gax::options::RequestOptions,
7176    ) -> impl std::future::Future<
7177        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7178    > + Send {
7179        gaxi::unimplemented::unimplemented_stub()
7180    }
7181
7182    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
7183    fn remove_rule(
7184        &self,
7185        _req: crate::model::organization_security_policies::RemoveRuleRequest,
7186        _options: gax::options::RequestOptions,
7187    ) -> impl std::future::Future<
7188        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7189    > + Send {
7190        gaxi::unimplemented::unimplemented_stub()
7191    }
7192
7193    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
7194    fn get_operation(
7195        &self,
7196        _req: crate::model::global_organization_operations::GetRequest,
7197        _options: gax::options::RequestOptions,
7198    ) -> impl std::future::Future<
7199        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7200    > + Send {
7201        gaxi::unimplemented::unimplemented_stub()
7202    }
7203
7204    /// Returns the polling error policy.
7205    ///
7206    /// When mocking, this method is typically irrelevant. Do not try to verify
7207    /// it is called by your mocks.
7208    fn get_polling_error_policy(
7209        &self,
7210        _options: &gax::options::RequestOptions,
7211    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7212        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7213    }
7214
7215    /// Returns the polling backoff policy.
7216    ///
7217    /// When mocking, this method is typically irrelevant. Do not try to verify
7218    /// it is called by your mocks.
7219    fn get_polling_backoff_policy(
7220        &self,
7221        _options: &gax::options::RequestOptions,
7222    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7223        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7224    }
7225}
7226
7227/// Defines the trait used to implement [super::client::PacketMirrorings].
7228///
7229/// Application developers may need to implement this trait to mock
7230/// `client::PacketMirrorings`.  In other use-cases, application developers only
7231/// use `client::PacketMirrorings` and need not be concerned with this trait or
7232/// its implementations.
7233///
7234/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7235/// too. To avoid breaking applications the trait provides a default
7236/// implementation of each method. Most of these implementations just return an
7237/// error.
7238#[cfg(feature = "packet-mirrorings")]
7239#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7240pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7241    /// Implements [super::client::PacketMirrorings::aggregated_list].
7242    fn aggregated_list(
7243        &self,
7244        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7245        _options: gax::options::RequestOptions,
7246    ) -> impl std::future::Future<
7247        Output = crate::Result<
7248            gax::response::Response<crate::model::PacketMirroringAggregatedList>,
7249        >,
7250    > + Send {
7251        gaxi::unimplemented::unimplemented_stub()
7252    }
7253
7254    /// Implements [super::client::PacketMirrorings::delete].
7255    fn delete(
7256        &self,
7257        _req: crate::model::packet_mirrorings::DeleteRequest,
7258        _options: gax::options::RequestOptions,
7259    ) -> impl std::future::Future<
7260        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7261    > + Send {
7262        gaxi::unimplemented::unimplemented_stub()
7263    }
7264
7265    /// Implements [super::client::PacketMirrorings::get].
7266    fn get(
7267        &self,
7268        _req: crate::model::packet_mirrorings::GetRequest,
7269        _options: gax::options::RequestOptions,
7270    ) -> impl std::future::Future<
7271        Output = crate::Result<gax::response::Response<crate::model::PacketMirroring>>,
7272    > + Send {
7273        gaxi::unimplemented::unimplemented_stub()
7274    }
7275
7276    /// Implements [super::client::PacketMirrorings::insert].
7277    fn insert(
7278        &self,
7279        _req: crate::model::packet_mirrorings::InsertRequest,
7280        _options: gax::options::RequestOptions,
7281    ) -> impl std::future::Future<
7282        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7283    > + Send {
7284        gaxi::unimplemented::unimplemented_stub()
7285    }
7286
7287    /// Implements [super::client::PacketMirrorings::list].
7288    fn list(
7289        &self,
7290        _req: crate::model::packet_mirrorings::ListRequest,
7291        _options: gax::options::RequestOptions,
7292    ) -> impl std::future::Future<
7293        Output = crate::Result<gax::response::Response<crate::model::PacketMirroringList>>,
7294    > + Send {
7295        gaxi::unimplemented::unimplemented_stub()
7296    }
7297
7298    /// Implements [super::client::PacketMirrorings::patch].
7299    fn patch(
7300        &self,
7301        _req: crate::model::packet_mirrorings::PatchRequest,
7302        _options: gax::options::RequestOptions,
7303    ) -> impl std::future::Future<
7304        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7305    > + Send {
7306        gaxi::unimplemented::unimplemented_stub()
7307    }
7308
7309    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
7310    fn test_iam_permissions(
7311        &self,
7312        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7313        _options: gax::options::RequestOptions,
7314    ) -> impl std::future::Future<
7315        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
7316    > + Send {
7317        gaxi::unimplemented::unimplemented_stub()
7318    }
7319
7320    /// Implements [super::client::PacketMirrorings::get_operation].
7321    fn get_operation(
7322        &self,
7323        _req: crate::model::region_operations::GetRequest,
7324        _options: gax::options::RequestOptions,
7325    ) -> impl std::future::Future<
7326        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7327    > + Send {
7328        gaxi::unimplemented::unimplemented_stub()
7329    }
7330
7331    /// Returns the polling error policy.
7332    ///
7333    /// When mocking, this method is typically irrelevant. Do not try to verify
7334    /// it is called by your mocks.
7335    fn get_polling_error_policy(
7336        &self,
7337        _options: &gax::options::RequestOptions,
7338    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7339        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7340    }
7341
7342    /// Returns the polling backoff 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_backoff_policy(
7347        &self,
7348        _options: &gax::options::RequestOptions,
7349    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7350        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7351    }
7352}
7353
7354/// Defines the trait used to implement [super::client::PreviewFeatures].
7355///
7356/// Application developers may need to implement this trait to mock
7357/// `client::PreviewFeatures`.  In other use-cases, application developers only
7358/// use `client::PreviewFeatures` and need not be concerned with this trait or
7359/// its implementations.
7360///
7361/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7362/// too. To avoid breaking applications the trait provides a default
7363/// implementation of each method. Most of these implementations just return an
7364/// error.
7365#[cfg(feature = "preview-features")]
7366#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7367pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7368    /// Implements [super::client::PreviewFeatures::get].
7369    fn get(
7370        &self,
7371        _req: crate::model::preview_features::GetRequest,
7372        _options: gax::options::RequestOptions,
7373    ) -> impl std::future::Future<
7374        Output = crate::Result<gax::response::Response<crate::model::PreviewFeature>>,
7375    > + Send {
7376        gaxi::unimplemented::unimplemented_stub()
7377    }
7378
7379    /// Implements [super::client::PreviewFeatures::list].
7380    fn list(
7381        &self,
7382        _req: crate::model::preview_features::ListRequest,
7383        _options: gax::options::RequestOptions,
7384    ) -> impl std::future::Future<
7385        Output = crate::Result<gax::response::Response<crate::model::PreviewFeatureList>>,
7386    > + Send {
7387        gaxi::unimplemented::unimplemented_stub()
7388    }
7389
7390    /// Implements [super::client::PreviewFeatures::update].
7391    fn update(
7392        &self,
7393        _req: crate::model::preview_features::UpdateRequest,
7394        _options: gax::options::RequestOptions,
7395    ) -> impl std::future::Future<
7396        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7397    > + Send {
7398        gaxi::unimplemented::unimplemented_stub()
7399    }
7400
7401    /// Implements [super::client::PreviewFeatures::get_operation].
7402    fn get_operation(
7403        &self,
7404        _req: crate::model::global_operations::GetRequest,
7405        _options: gax::options::RequestOptions,
7406    ) -> impl std::future::Future<
7407        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7408    > + Send {
7409        gaxi::unimplemented::unimplemented_stub()
7410    }
7411
7412    /// Returns the polling error policy.
7413    ///
7414    /// When mocking, this method is typically irrelevant. Do not try to verify
7415    /// it is called by your mocks.
7416    fn get_polling_error_policy(
7417        &self,
7418        _options: &gax::options::RequestOptions,
7419    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7420        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7421    }
7422
7423    /// Returns the polling backoff policy.
7424    ///
7425    /// When mocking, this method is typically irrelevant. Do not try to verify
7426    /// it is called by your mocks.
7427    fn get_polling_backoff_policy(
7428        &self,
7429        _options: &gax::options::RequestOptions,
7430    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7431        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7432    }
7433}
7434
7435/// Defines the trait used to implement [super::client::Projects].
7436///
7437/// Application developers may need to implement this trait to mock
7438/// `client::Projects`.  In other use-cases, application developers only
7439/// use `client::Projects` and need not be concerned with this trait or
7440/// its implementations.
7441///
7442/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7443/// too. To avoid breaking applications the trait provides a default
7444/// implementation of each method. Most of these implementations just return an
7445/// error.
7446#[cfg(feature = "projects")]
7447#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7448pub trait Projects: std::fmt::Debug + Send + Sync {
7449    /// Implements [super::client::Projects::disable_xpn_host].
7450    fn disable_xpn_host(
7451        &self,
7452        _req: crate::model::projects::DisableXpnHostRequest,
7453        _options: gax::options::RequestOptions,
7454    ) -> impl std::future::Future<
7455        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7456    > + Send {
7457        gaxi::unimplemented::unimplemented_stub()
7458    }
7459
7460    /// Implements [super::client::Projects::disable_xpn_resource].
7461    fn disable_xpn_resource(
7462        &self,
7463        _req: crate::model::projects::DisableXpnResourceRequest,
7464        _options: gax::options::RequestOptions,
7465    ) -> impl std::future::Future<
7466        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7467    > + Send {
7468        gaxi::unimplemented::unimplemented_stub()
7469    }
7470
7471    /// Implements [super::client::Projects::enable_xpn_host].
7472    fn enable_xpn_host(
7473        &self,
7474        _req: crate::model::projects::EnableXpnHostRequest,
7475        _options: gax::options::RequestOptions,
7476    ) -> impl std::future::Future<
7477        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7478    > + Send {
7479        gaxi::unimplemented::unimplemented_stub()
7480    }
7481
7482    /// Implements [super::client::Projects::enable_xpn_resource].
7483    fn enable_xpn_resource(
7484        &self,
7485        _req: crate::model::projects::EnableXpnResourceRequest,
7486        _options: gax::options::RequestOptions,
7487    ) -> impl std::future::Future<
7488        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7489    > + Send {
7490        gaxi::unimplemented::unimplemented_stub()
7491    }
7492
7493    /// Implements [super::client::Projects::get].
7494    fn get(
7495        &self,
7496        _req: crate::model::projects::GetRequest,
7497        _options: gax::options::RequestOptions,
7498    ) -> impl std::future::Future<
7499        Output = crate::Result<gax::response::Response<crate::model::Project>>,
7500    > + Send {
7501        gaxi::unimplemented::unimplemented_stub()
7502    }
7503
7504    /// Implements [super::client::Projects::get_xpn_host].
7505    fn get_xpn_host(
7506        &self,
7507        _req: crate::model::projects::GetXpnHostRequest,
7508        _options: gax::options::RequestOptions,
7509    ) -> impl std::future::Future<
7510        Output = crate::Result<gax::response::Response<crate::model::Project>>,
7511    > + Send {
7512        gaxi::unimplemented::unimplemented_stub()
7513    }
7514
7515    /// Implements [super::client::Projects::get_xpn_resources].
7516    fn get_xpn_resources(
7517        &self,
7518        _req: crate::model::projects::GetXpnResourcesRequest,
7519        _options: gax::options::RequestOptions,
7520    ) -> impl std::future::Future<
7521        Output = crate::Result<gax::response::Response<crate::model::ProjectsGetXpnResources>>,
7522    > + Send {
7523        gaxi::unimplemented::unimplemented_stub()
7524    }
7525
7526    /// Implements [super::client::Projects::list_xpn_hosts].
7527    fn list_xpn_hosts(
7528        &self,
7529        _req: crate::model::projects::ListXpnHostsRequest,
7530        _options: gax::options::RequestOptions,
7531    ) -> impl std::future::Future<
7532        Output = crate::Result<gax::response::Response<crate::model::XpnHostList>>,
7533    > + Send {
7534        gaxi::unimplemented::unimplemented_stub()
7535    }
7536
7537    /// Implements [super::client::Projects::move_disk].
7538    fn move_disk(
7539        &self,
7540        _req: crate::model::projects::MoveDiskRequest,
7541        _options: gax::options::RequestOptions,
7542    ) -> impl std::future::Future<
7543        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7544    > + Send {
7545        gaxi::unimplemented::unimplemented_stub()
7546    }
7547
7548    /// Implements [super::client::Projects::move_instance].
7549    fn move_instance(
7550        &self,
7551        _req: crate::model::projects::MoveInstanceRequest,
7552        _options: gax::options::RequestOptions,
7553    ) -> impl std::future::Future<
7554        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7555    > + Send {
7556        gaxi::unimplemented::unimplemented_stub()
7557    }
7558
7559    /// Implements [super::client::Projects::set_cloud_armor_tier].
7560    fn set_cloud_armor_tier(
7561        &self,
7562        _req: crate::model::projects::SetCloudArmorTierRequest,
7563        _options: gax::options::RequestOptions,
7564    ) -> impl std::future::Future<
7565        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7566    > + Send {
7567        gaxi::unimplemented::unimplemented_stub()
7568    }
7569
7570    /// Implements [super::client::Projects::set_common_instance_metadata].
7571    fn set_common_instance_metadata(
7572        &self,
7573        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
7574        _options: gax::options::RequestOptions,
7575    ) -> impl std::future::Future<
7576        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7577    > + Send {
7578        gaxi::unimplemented::unimplemented_stub()
7579    }
7580
7581    /// Implements [super::client::Projects::set_default_network_tier].
7582    fn set_default_network_tier(
7583        &self,
7584        _req: crate::model::projects::SetDefaultNetworkTierRequest,
7585        _options: gax::options::RequestOptions,
7586    ) -> impl std::future::Future<
7587        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7588    > + Send {
7589        gaxi::unimplemented::unimplemented_stub()
7590    }
7591
7592    /// Implements [super::client::Projects::set_usage_export_bucket].
7593    fn set_usage_export_bucket(
7594        &self,
7595        _req: crate::model::projects::SetUsageExportBucketRequest,
7596        _options: gax::options::RequestOptions,
7597    ) -> impl std::future::Future<
7598        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7599    > + Send {
7600        gaxi::unimplemented::unimplemented_stub()
7601    }
7602
7603    /// Implements [super::client::Projects::get_operation].
7604    fn get_operation(
7605        &self,
7606        _req: crate::model::global_operations::GetRequest,
7607        _options: gax::options::RequestOptions,
7608    ) -> impl std::future::Future<
7609        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7610    > + Send {
7611        gaxi::unimplemented::unimplemented_stub()
7612    }
7613
7614    /// Returns the polling error policy.
7615    ///
7616    /// When mocking, this method is typically irrelevant. Do not try to verify
7617    /// it is called by your mocks.
7618    fn get_polling_error_policy(
7619        &self,
7620        _options: &gax::options::RequestOptions,
7621    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7622        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7623    }
7624
7625    /// Returns the polling backoff policy.
7626    ///
7627    /// When mocking, this method is typically irrelevant. Do not try to verify
7628    /// it is called by your mocks.
7629    fn get_polling_backoff_policy(
7630        &self,
7631        _options: &gax::options::RequestOptions,
7632    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7633        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7634    }
7635}
7636
7637/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
7638///
7639/// Application developers may need to implement this trait to mock
7640/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
7641/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
7642/// its implementations.
7643///
7644/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7645/// too. To avoid breaking applications the trait provides a default
7646/// implementation of each method. Most of these implementations just return an
7647/// error.
7648#[cfg(feature = "public-advertised-prefixes")]
7649#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
7650pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
7651    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
7652    fn announce(
7653        &self,
7654        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
7655        _options: gax::options::RequestOptions,
7656    ) -> impl std::future::Future<
7657        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7658    > + Send {
7659        gaxi::unimplemented::unimplemented_stub()
7660    }
7661
7662    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
7663    fn delete(
7664        &self,
7665        _req: crate::model::public_advertised_prefixes::DeleteRequest,
7666        _options: gax::options::RequestOptions,
7667    ) -> impl std::future::Future<
7668        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7669    > + Send {
7670        gaxi::unimplemented::unimplemented_stub()
7671    }
7672
7673    /// Implements [super::client::PublicAdvertisedPrefixes::get].
7674    fn get(
7675        &self,
7676        _req: crate::model::public_advertised_prefixes::GetRequest,
7677        _options: gax::options::RequestOptions,
7678    ) -> impl std::future::Future<
7679        Output = crate::Result<gax::response::Response<crate::model::PublicAdvertisedPrefix>>,
7680    > + Send {
7681        gaxi::unimplemented::unimplemented_stub()
7682    }
7683
7684    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
7685    fn insert(
7686        &self,
7687        _req: crate::model::public_advertised_prefixes::InsertRequest,
7688        _options: gax::options::RequestOptions,
7689    ) -> impl std::future::Future<
7690        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7691    > + Send {
7692        gaxi::unimplemented::unimplemented_stub()
7693    }
7694
7695    /// Implements [super::client::PublicAdvertisedPrefixes::list].
7696    fn list(
7697        &self,
7698        _req: crate::model::public_advertised_prefixes::ListRequest,
7699        _options: gax::options::RequestOptions,
7700    ) -> impl std::future::Future<
7701        Output = crate::Result<gax::response::Response<crate::model::PublicAdvertisedPrefixList>>,
7702    > + Send {
7703        gaxi::unimplemented::unimplemented_stub()
7704    }
7705
7706    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
7707    fn patch(
7708        &self,
7709        _req: crate::model::public_advertised_prefixes::PatchRequest,
7710        _options: gax::options::RequestOptions,
7711    ) -> impl std::future::Future<
7712        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7713    > + Send {
7714        gaxi::unimplemented::unimplemented_stub()
7715    }
7716
7717    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
7718    fn withdraw(
7719        &self,
7720        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
7721        _options: gax::options::RequestOptions,
7722    ) -> impl std::future::Future<
7723        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7724    > + Send {
7725        gaxi::unimplemented::unimplemented_stub()
7726    }
7727
7728    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
7729    fn get_operation(
7730        &self,
7731        _req: crate::model::global_operations::GetRequest,
7732        _options: gax::options::RequestOptions,
7733    ) -> impl std::future::Future<
7734        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7735    > + Send {
7736        gaxi::unimplemented::unimplemented_stub()
7737    }
7738
7739    /// Returns the polling error policy.
7740    ///
7741    /// When mocking, this method is typically irrelevant. Do not try to verify
7742    /// it is called by your mocks.
7743    fn get_polling_error_policy(
7744        &self,
7745        _options: &gax::options::RequestOptions,
7746    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7747        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7748    }
7749
7750    /// Returns the polling backoff policy.
7751    ///
7752    /// When mocking, this method is typically irrelevant. Do not try to verify
7753    /// it is called by your mocks.
7754    fn get_polling_backoff_policy(
7755        &self,
7756        _options: &gax::options::RequestOptions,
7757    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7758        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7759    }
7760}
7761
7762/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
7763///
7764/// Application developers may need to implement this trait to mock
7765/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
7766/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
7767/// its implementations.
7768///
7769/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7770/// too. To avoid breaking applications the trait provides a default
7771/// implementation of each method. Most of these implementations just return an
7772/// error.
7773#[cfg(feature = "public-delegated-prefixes")]
7774#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
7775pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
7776    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
7777    fn aggregated_list(
7778        &self,
7779        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
7780        _options: gax::options::RequestOptions,
7781    ) -> impl std::future::Future<
7782        Output = crate::Result<
7783            gax::response::Response<crate::model::PublicDelegatedPrefixAggregatedList>,
7784        >,
7785    > + Send {
7786        gaxi::unimplemented::unimplemented_stub()
7787    }
7788
7789    /// Implements [super::client::PublicDelegatedPrefixes::announce].
7790    fn announce(
7791        &self,
7792        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
7793        _options: gax::options::RequestOptions,
7794    ) -> impl std::future::Future<
7795        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7796    > + Send {
7797        gaxi::unimplemented::unimplemented_stub()
7798    }
7799
7800    /// Implements [super::client::PublicDelegatedPrefixes::delete].
7801    fn delete(
7802        &self,
7803        _req: crate::model::public_delegated_prefixes::DeleteRequest,
7804        _options: gax::options::RequestOptions,
7805    ) -> impl std::future::Future<
7806        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7807    > + Send {
7808        gaxi::unimplemented::unimplemented_stub()
7809    }
7810
7811    /// Implements [super::client::PublicDelegatedPrefixes::get].
7812    fn get(
7813        &self,
7814        _req: crate::model::public_delegated_prefixes::GetRequest,
7815        _options: gax::options::RequestOptions,
7816    ) -> impl std::future::Future<
7817        Output = crate::Result<gax::response::Response<crate::model::PublicDelegatedPrefix>>,
7818    > + Send {
7819        gaxi::unimplemented::unimplemented_stub()
7820    }
7821
7822    /// Implements [super::client::PublicDelegatedPrefixes::insert].
7823    fn insert(
7824        &self,
7825        _req: crate::model::public_delegated_prefixes::InsertRequest,
7826        _options: gax::options::RequestOptions,
7827    ) -> impl std::future::Future<
7828        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7829    > + Send {
7830        gaxi::unimplemented::unimplemented_stub()
7831    }
7832
7833    /// Implements [super::client::PublicDelegatedPrefixes::list].
7834    fn list(
7835        &self,
7836        _req: crate::model::public_delegated_prefixes::ListRequest,
7837        _options: gax::options::RequestOptions,
7838    ) -> impl std::future::Future<
7839        Output = crate::Result<gax::response::Response<crate::model::PublicDelegatedPrefixList>>,
7840    > + Send {
7841        gaxi::unimplemented::unimplemented_stub()
7842    }
7843
7844    /// Implements [super::client::PublicDelegatedPrefixes::patch].
7845    fn patch(
7846        &self,
7847        _req: crate::model::public_delegated_prefixes::PatchRequest,
7848        _options: gax::options::RequestOptions,
7849    ) -> impl std::future::Future<
7850        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7851    > + Send {
7852        gaxi::unimplemented::unimplemented_stub()
7853    }
7854
7855    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
7856    fn withdraw(
7857        &self,
7858        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
7859        _options: gax::options::RequestOptions,
7860    ) -> impl std::future::Future<
7861        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7862    > + Send {
7863        gaxi::unimplemented::unimplemented_stub()
7864    }
7865
7866    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
7867    fn get_operation(
7868        &self,
7869        _req: crate::model::region_operations::GetRequest,
7870        _options: gax::options::RequestOptions,
7871    ) -> impl std::future::Future<
7872        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7873    > + Send {
7874        gaxi::unimplemented::unimplemented_stub()
7875    }
7876
7877    /// Returns the polling error policy.
7878    ///
7879    /// When mocking, this method is typically irrelevant. Do not try to verify
7880    /// it is called by your mocks.
7881    fn get_polling_error_policy(
7882        &self,
7883        _options: &gax::options::RequestOptions,
7884    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7885        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7886    }
7887
7888    /// Returns the polling backoff policy.
7889    ///
7890    /// When mocking, this method is typically irrelevant. Do not try to verify
7891    /// it is called by your mocks.
7892    fn get_polling_backoff_policy(
7893        &self,
7894        _options: &gax::options::RequestOptions,
7895    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7896        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7897    }
7898}
7899
7900/// Defines the trait used to implement [super::client::RegionAutoscalers].
7901///
7902/// Application developers may need to implement this trait to mock
7903/// `client::RegionAutoscalers`.  In other use-cases, application developers only
7904/// use `client::RegionAutoscalers` and need not be concerned with this trait or
7905/// its implementations.
7906///
7907/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7908/// too. To avoid breaking applications the trait provides a default
7909/// implementation of each method. Most of these implementations just return an
7910/// error.
7911#[cfg(feature = "region-autoscalers")]
7912#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
7913pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
7914    /// Implements [super::client::RegionAutoscalers::delete].
7915    fn delete(
7916        &self,
7917        _req: crate::model::region_autoscalers::DeleteRequest,
7918        _options: gax::options::RequestOptions,
7919    ) -> impl std::future::Future<
7920        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7921    > + Send {
7922        gaxi::unimplemented::unimplemented_stub()
7923    }
7924
7925    /// Implements [super::client::RegionAutoscalers::get].
7926    fn get(
7927        &self,
7928        _req: crate::model::region_autoscalers::GetRequest,
7929        _options: gax::options::RequestOptions,
7930    ) -> impl std::future::Future<
7931        Output = crate::Result<gax::response::Response<crate::model::Autoscaler>>,
7932    > + Send {
7933        gaxi::unimplemented::unimplemented_stub()
7934    }
7935
7936    /// Implements [super::client::RegionAutoscalers::insert].
7937    fn insert(
7938        &self,
7939        _req: crate::model::region_autoscalers::InsertRequest,
7940        _options: gax::options::RequestOptions,
7941    ) -> impl std::future::Future<
7942        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7943    > + Send {
7944        gaxi::unimplemented::unimplemented_stub()
7945    }
7946
7947    /// Implements [super::client::RegionAutoscalers::list].
7948    fn list(
7949        &self,
7950        _req: crate::model::region_autoscalers::ListRequest,
7951        _options: gax::options::RequestOptions,
7952    ) -> impl std::future::Future<
7953        Output = crate::Result<gax::response::Response<crate::model::RegionAutoscalerList>>,
7954    > + Send {
7955        gaxi::unimplemented::unimplemented_stub()
7956    }
7957
7958    /// Implements [super::client::RegionAutoscalers::patch].
7959    fn patch(
7960        &self,
7961        _req: crate::model::region_autoscalers::PatchRequest,
7962        _options: gax::options::RequestOptions,
7963    ) -> impl std::future::Future<
7964        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7965    > + Send {
7966        gaxi::unimplemented::unimplemented_stub()
7967    }
7968
7969    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
7970    fn test_iam_permissions(
7971        &self,
7972        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
7973        _options: gax::options::RequestOptions,
7974    ) -> impl std::future::Future<
7975        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
7976    > + Send {
7977        gaxi::unimplemented::unimplemented_stub()
7978    }
7979
7980    /// Implements [super::client::RegionAutoscalers::update].
7981    fn update(
7982        &self,
7983        _req: crate::model::region_autoscalers::UpdateRequest,
7984        _options: gax::options::RequestOptions,
7985    ) -> impl std::future::Future<
7986        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7987    > + Send {
7988        gaxi::unimplemented::unimplemented_stub()
7989    }
7990
7991    /// Implements [super::client::RegionAutoscalers::get_operation].
7992    fn get_operation(
7993        &self,
7994        _req: crate::model::region_operations::GetRequest,
7995        _options: gax::options::RequestOptions,
7996    ) -> impl std::future::Future<
7997        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
7998    > + Send {
7999        gaxi::unimplemented::unimplemented_stub()
8000    }
8001
8002    /// Returns the polling error policy.
8003    ///
8004    /// When mocking, this method is typically irrelevant. Do not try to verify
8005    /// it is called by your mocks.
8006    fn get_polling_error_policy(
8007        &self,
8008        _options: &gax::options::RequestOptions,
8009    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8010        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8011    }
8012
8013    /// Returns the polling backoff policy.
8014    ///
8015    /// When mocking, this method is typically irrelevant. Do not try to verify
8016    /// it is called by your mocks.
8017    fn get_polling_backoff_policy(
8018        &self,
8019        _options: &gax::options::RequestOptions,
8020    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8021        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8022    }
8023}
8024
8025/// Defines the trait used to implement [super::client::RegionBackendServices].
8026///
8027/// Application developers may need to implement this trait to mock
8028/// `client::RegionBackendServices`.  In other use-cases, application developers only
8029/// use `client::RegionBackendServices` and need not be concerned with this trait or
8030/// its implementations.
8031///
8032/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8033/// too. To avoid breaking applications the trait provides a default
8034/// implementation of each method. Most of these implementations just return an
8035/// error.
8036#[cfg(feature = "region-backend-services")]
8037#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
8038pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
8039    /// Implements [super::client::RegionBackendServices::delete].
8040    fn delete(
8041        &self,
8042        _req: crate::model::region_backend_services::DeleteRequest,
8043        _options: gax::options::RequestOptions,
8044    ) -> impl std::future::Future<
8045        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8046    > + Send {
8047        gaxi::unimplemented::unimplemented_stub()
8048    }
8049
8050    /// Implements [super::client::RegionBackendServices::get].
8051    fn get(
8052        &self,
8053        _req: crate::model::region_backend_services::GetRequest,
8054        _options: gax::options::RequestOptions,
8055    ) -> impl std::future::Future<
8056        Output = crate::Result<gax::response::Response<crate::model::BackendService>>,
8057    > + Send {
8058        gaxi::unimplemented::unimplemented_stub()
8059    }
8060
8061    /// Implements [super::client::RegionBackendServices::get_health].
8062    fn get_health(
8063        &self,
8064        _req: crate::model::region_backend_services::GetHealthRequest,
8065        _options: gax::options::RequestOptions,
8066    ) -> impl std::future::Future<
8067        Output = crate::Result<gax::response::Response<crate::model::BackendServiceGroupHealth>>,
8068    > + Send {
8069        gaxi::unimplemented::unimplemented_stub()
8070    }
8071
8072    /// Implements [super::client::RegionBackendServices::get_iam_policy].
8073    fn get_iam_policy(
8074        &self,
8075        _req: crate::model::region_backend_services::GetIamPolicyRequest,
8076        _options: gax::options::RequestOptions,
8077    ) -> impl std::future::Future<
8078        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
8079    > + Send {
8080        gaxi::unimplemented::unimplemented_stub()
8081    }
8082
8083    /// Implements [super::client::RegionBackendServices::insert].
8084    fn insert(
8085        &self,
8086        _req: crate::model::region_backend_services::InsertRequest,
8087        _options: gax::options::RequestOptions,
8088    ) -> impl std::future::Future<
8089        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8090    > + Send {
8091        gaxi::unimplemented::unimplemented_stub()
8092    }
8093
8094    /// Implements [super::client::RegionBackendServices::list].
8095    fn list(
8096        &self,
8097        _req: crate::model::region_backend_services::ListRequest,
8098        _options: gax::options::RequestOptions,
8099    ) -> impl std::future::Future<
8100        Output = crate::Result<gax::response::Response<crate::model::BackendServiceList>>,
8101    > + Send {
8102        gaxi::unimplemented::unimplemented_stub()
8103    }
8104
8105    /// Implements [super::client::RegionBackendServices::list_usable].
8106    fn list_usable(
8107        &self,
8108        _req: crate::model::region_backend_services::ListUsableRequest,
8109        _options: gax::options::RequestOptions,
8110    ) -> impl std::future::Future<
8111        Output = crate::Result<gax::response::Response<crate::model::BackendServiceListUsable>>,
8112    > + Send {
8113        gaxi::unimplemented::unimplemented_stub()
8114    }
8115
8116    /// Implements [super::client::RegionBackendServices::patch].
8117    fn patch(
8118        &self,
8119        _req: crate::model::region_backend_services::PatchRequest,
8120        _options: gax::options::RequestOptions,
8121    ) -> impl std::future::Future<
8122        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8123    > + Send {
8124        gaxi::unimplemented::unimplemented_stub()
8125    }
8126
8127    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8128    fn set_iam_policy(
8129        &self,
8130        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8131        _options: gax::options::RequestOptions,
8132    ) -> impl std::future::Future<
8133        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
8134    > + Send {
8135        gaxi::unimplemented::unimplemented_stub()
8136    }
8137
8138    /// Implements [super::client::RegionBackendServices::set_security_policy].
8139    fn set_security_policy(
8140        &self,
8141        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
8142        _options: gax::options::RequestOptions,
8143    ) -> impl std::future::Future<
8144        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8145    > + Send {
8146        gaxi::unimplemented::unimplemented_stub()
8147    }
8148
8149    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
8150    fn test_iam_permissions(
8151        &self,
8152        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
8153        _options: gax::options::RequestOptions,
8154    ) -> impl std::future::Future<
8155        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
8156    > + Send {
8157        gaxi::unimplemented::unimplemented_stub()
8158    }
8159
8160    /// Implements [super::client::RegionBackendServices::update].
8161    fn update(
8162        &self,
8163        _req: crate::model::region_backend_services::UpdateRequest,
8164        _options: gax::options::RequestOptions,
8165    ) -> impl std::future::Future<
8166        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8167    > + Send {
8168        gaxi::unimplemented::unimplemented_stub()
8169    }
8170
8171    /// Implements [super::client::RegionBackendServices::get_operation].
8172    fn get_operation(
8173        &self,
8174        _req: crate::model::region_operations::GetRequest,
8175        _options: gax::options::RequestOptions,
8176    ) -> impl std::future::Future<
8177        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8178    > + Send {
8179        gaxi::unimplemented::unimplemented_stub()
8180    }
8181
8182    /// Returns the polling error policy.
8183    ///
8184    /// When mocking, this method is typically irrelevant. Do not try to verify
8185    /// it is called by your mocks.
8186    fn get_polling_error_policy(
8187        &self,
8188        _options: &gax::options::RequestOptions,
8189    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8190        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8191    }
8192
8193    /// Returns the polling backoff policy.
8194    ///
8195    /// When mocking, this method is typically irrelevant. Do not try to verify
8196    /// it is called by your mocks.
8197    fn get_polling_backoff_policy(
8198        &self,
8199        _options: &gax::options::RequestOptions,
8200    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8201        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8202    }
8203}
8204
8205/// Defines the trait used to implement [super::client::RegionCommitments].
8206///
8207/// Application developers may need to implement this trait to mock
8208/// `client::RegionCommitments`.  In other use-cases, application developers only
8209/// use `client::RegionCommitments` and need not be concerned with this trait or
8210/// its implementations.
8211///
8212/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8213/// too. To avoid breaking applications the trait provides a default
8214/// implementation of each method. Most of these implementations just return an
8215/// error.
8216#[cfg(feature = "region-commitments")]
8217#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
8218pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
8219    /// Implements [super::client::RegionCommitments::aggregated_list].
8220    fn aggregated_list(
8221        &self,
8222        _req: crate::model::region_commitments::AggregatedListRequest,
8223        _options: gax::options::RequestOptions,
8224    ) -> impl std::future::Future<
8225        Output = crate::Result<gax::response::Response<crate::model::CommitmentAggregatedList>>,
8226    > + Send {
8227        gaxi::unimplemented::unimplemented_stub()
8228    }
8229
8230    /// Implements [super::client::RegionCommitments::get].
8231    fn get(
8232        &self,
8233        _req: crate::model::region_commitments::GetRequest,
8234        _options: gax::options::RequestOptions,
8235    ) -> impl std::future::Future<
8236        Output = crate::Result<gax::response::Response<crate::model::Commitment>>,
8237    > + Send {
8238        gaxi::unimplemented::unimplemented_stub()
8239    }
8240
8241    /// Implements [super::client::RegionCommitments::insert].
8242    fn insert(
8243        &self,
8244        _req: crate::model::region_commitments::InsertRequest,
8245        _options: gax::options::RequestOptions,
8246    ) -> impl std::future::Future<
8247        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8248    > + Send {
8249        gaxi::unimplemented::unimplemented_stub()
8250    }
8251
8252    /// Implements [super::client::RegionCommitments::list].
8253    fn list(
8254        &self,
8255        _req: crate::model::region_commitments::ListRequest,
8256        _options: gax::options::RequestOptions,
8257    ) -> impl std::future::Future<
8258        Output = crate::Result<gax::response::Response<crate::model::CommitmentList>>,
8259    > + Send {
8260        gaxi::unimplemented::unimplemented_stub()
8261    }
8262
8263    /// Implements [super::client::RegionCommitments::update].
8264    fn update(
8265        &self,
8266        _req: crate::model::region_commitments::UpdateRequest,
8267        _options: gax::options::RequestOptions,
8268    ) -> impl std::future::Future<
8269        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8270    > + Send {
8271        gaxi::unimplemented::unimplemented_stub()
8272    }
8273
8274    /// Implements [super::client::RegionCommitments::get_operation].
8275    fn get_operation(
8276        &self,
8277        _req: crate::model::region_operations::GetRequest,
8278        _options: gax::options::RequestOptions,
8279    ) -> impl std::future::Future<
8280        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8281    > + Send {
8282        gaxi::unimplemented::unimplemented_stub()
8283    }
8284
8285    /// Returns the polling error policy.
8286    ///
8287    /// When mocking, this method is typically irrelevant. Do not try to verify
8288    /// it is called by your mocks.
8289    fn get_polling_error_policy(
8290        &self,
8291        _options: &gax::options::RequestOptions,
8292    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8293        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8294    }
8295
8296    /// Returns the polling backoff policy.
8297    ///
8298    /// When mocking, this method is typically irrelevant. Do not try to verify
8299    /// it is called by your mocks.
8300    fn get_polling_backoff_policy(
8301        &self,
8302        _options: &gax::options::RequestOptions,
8303    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8304        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8305    }
8306}
8307
8308/// Defines the trait used to implement [super::client::RegionDiskTypes].
8309///
8310/// Application developers may need to implement this trait to mock
8311/// `client::RegionDiskTypes`.  In other use-cases, application developers only
8312/// use `client::RegionDiskTypes` and need not be concerned with this trait or
8313/// its implementations.
8314///
8315/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8316/// too. To avoid breaking applications the trait provides a default
8317/// implementation of each method. Most of these implementations just return an
8318/// error.
8319#[cfg(feature = "region-disk-types")]
8320#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
8321pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
8322    /// Implements [super::client::RegionDiskTypes::get].
8323    fn get(
8324        &self,
8325        _req: crate::model::region_disk_types::GetRequest,
8326        _options: gax::options::RequestOptions,
8327    ) -> impl std::future::Future<
8328        Output = crate::Result<gax::response::Response<crate::model::DiskType>>,
8329    > + Send {
8330        gaxi::unimplemented::unimplemented_stub()
8331    }
8332
8333    /// Implements [super::client::RegionDiskTypes::list].
8334    fn list(
8335        &self,
8336        _req: crate::model::region_disk_types::ListRequest,
8337        _options: gax::options::RequestOptions,
8338    ) -> impl std::future::Future<
8339        Output = crate::Result<gax::response::Response<crate::model::RegionDiskTypeList>>,
8340    > + Send {
8341        gaxi::unimplemented::unimplemented_stub()
8342    }
8343}
8344
8345/// Defines the trait used to implement [super::client::RegionDisks].
8346///
8347/// Application developers may need to implement this trait to mock
8348/// `client::RegionDisks`.  In other use-cases, application developers only
8349/// use `client::RegionDisks` and need not be concerned with this trait or
8350/// its implementations.
8351///
8352/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8353/// too. To avoid breaking applications the trait provides a default
8354/// implementation of each method. Most of these implementations just return an
8355/// error.
8356#[cfg(feature = "region-disks")]
8357#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
8358pub trait RegionDisks: std::fmt::Debug + Send + Sync {
8359    /// Implements [super::client::RegionDisks::add_resource_policies].
8360    fn add_resource_policies(
8361        &self,
8362        _req: crate::model::region_disks::AddResourcePoliciesRequest,
8363        _options: gax::options::RequestOptions,
8364    ) -> impl std::future::Future<
8365        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8366    > + Send {
8367        gaxi::unimplemented::unimplemented_stub()
8368    }
8369
8370    /// Implements [super::client::RegionDisks::bulk_insert].
8371    fn bulk_insert(
8372        &self,
8373        _req: crate::model::region_disks::BulkInsertRequest,
8374        _options: gax::options::RequestOptions,
8375    ) -> impl std::future::Future<
8376        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8377    > + Send {
8378        gaxi::unimplemented::unimplemented_stub()
8379    }
8380
8381    /// Implements [super::client::RegionDisks::create_snapshot].
8382    fn create_snapshot(
8383        &self,
8384        _req: crate::model::region_disks::CreateSnapshotRequest,
8385        _options: gax::options::RequestOptions,
8386    ) -> impl std::future::Future<
8387        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8388    > + Send {
8389        gaxi::unimplemented::unimplemented_stub()
8390    }
8391
8392    /// Implements [super::client::RegionDisks::delete].
8393    fn delete(
8394        &self,
8395        _req: crate::model::region_disks::DeleteRequest,
8396        _options: gax::options::RequestOptions,
8397    ) -> impl std::future::Future<
8398        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8399    > + Send {
8400        gaxi::unimplemented::unimplemented_stub()
8401    }
8402
8403    /// Implements [super::client::RegionDisks::get].
8404    fn get(
8405        &self,
8406        _req: crate::model::region_disks::GetRequest,
8407        _options: gax::options::RequestOptions,
8408    ) -> impl std::future::Future<
8409        Output = crate::Result<gax::response::Response<crate::model::Disk>>,
8410    > + Send {
8411        gaxi::unimplemented::unimplemented_stub()
8412    }
8413
8414    /// Implements [super::client::RegionDisks::get_iam_policy].
8415    fn get_iam_policy(
8416        &self,
8417        _req: crate::model::region_disks::GetIamPolicyRequest,
8418        _options: gax::options::RequestOptions,
8419    ) -> impl std::future::Future<
8420        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
8421    > + Send {
8422        gaxi::unimplemented::unimplemented_stub()
8423    }
8424
8425    /// Implements [super::client::RegionDisks::insert].
8426    fn insert(
8427        &self,
8428        _req: crate::model::region_disks::InsertRequest,
8429        _options: gax::options::RequestOptions,
8430    ) -> impl std::future::Future<
8431        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8432    > + Send {
8433        gaxi::unimplemented::unimplemented_stub()
8434    }
8435
8436    /// Implements [super::client::RegionDisks::list].
8437    fn list(
8438        &self,
8439        _req: crate::model::region_disks::ListRequest,
8440        _options: gax::options::RequestOptions,
8441    ) -> impl std::future::Future<
8442        Output = crate::Result<gax::response::Response<crate::model::DiskList>>,
8443    > + Send {
8444        gaxi::unimplemented::unimplemented_stub()
8445    }
8446
8447    /// Implements [super::client::RegionDisks::remove_resource_policies].
8448    fn remove_resource_policies(
8449        &self,
8450        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
8451        _options: gax::options::RequestOptions,
8452    ) -> impl std::future::Future<
8453        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8454    > + Send {
8455        gaxi::unimplemented::unimplemented_stub()
8456    }
8457
8458    /// Implements [super::client::RegionDisks::resize].
8459    fn resize(
8460        &self,
8461        _req: crate::model::region_disks::ResizeRequest,
8462        _options: gax::options::RequestOptions,
8463    ) -> impl std::future::Future<
8464        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8465    > + Send {
8466        gaxi::unimplemented::unimplemented_stub()
8467    }
8468
8469    /// Implements [super::client::RegionDisks::set_iam_policy].
8470    fn set_iam_policy(
8471        &self,
8472        _req: crate::model::region_disks::SetIamPolicyRequest,
8473        _options: gax::options::RequestOptions,
8474    ) -> impl std::future::Future<
8475        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
8476    > + Send {
8477        gaxi::unimplemented::unimplemented_stub()
8478    }
8479
8480    /// Implements [super::client::RegionDisks::set_labels].
8481    fn set_labels(
8482        &self,
8483        _req: crate::model::region_disks::SetLabelsRequest,
8484        _options: gax::options::RequestOptions,
8485    ) -> impl std::future::Future<
8486        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8487    > + Send {
8488        gaxi::unimplemented::unimplemented_stub()
8489    }
8490
8491    /// Implements [super::client::RegionDisks::start_async_replication].
8492    fn start_async_replication(
8493        &self,
8494        _req: crate::model::region_disks::StartAsyncReplicationRequest,
8495        _options: gax::options::RequestOptions,
8496    ) -> impl std::future::Future<
8497        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8498    > + Send {
8499        gaxi::unimplemented::unimplemented_stub()
8500    }
8501
8502    /// Implements [super::client::RegionDisks::stop_async_replication].
8503    fn stop_async_replication(
8504        &self,
8505        _req: crate::model::region_disks::StopAsyncReplicationRequest,
8506        _options: gax::options::RequestOptions,
8507    ) -> impl std::future::Future<
8508        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8509    > + Send {
8510        gaxi::unimplemented::unimplemented_stub()
8511    }
8512
8513    /// Implements [super::client::RegionDisks::stop_group_async_replication].
8514    fn stop_group_async_replication(
8515        &self,
8516        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
8517        _options: gax::options::RequestOptions,
8518    ) -> impl std::future::Future<
8519        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8520    > + Send {
8521        gaxi::unimplemented::unimplemented_stub()
8522    }
8523
8524    /// Implements [super::client::RegionDisks::test_iam_permissions].
8525    fn test_iam_permissions(
8526        &self,
8527        _req: crate::model::region_disks::TestIamPermissionsRequest,
8528        _options: gax::options::RequestOptions,
8529    ) -> impl std::future::Future<
8530        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
8531    > + Send {
8532        gaxi::unimplemented::unimplemented_stub()
8533    }
8534
8535    /// Implements [super::client::RegionDisks::update].
8536    fn update(
8537        &self,
8538        _req: crate::model::region_disks::UpdateRequest,
8539        _options: gax::options::RequestOptions,
8540    ) -> impl std::future::Future<
8541        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8542    > + Send {
8543        gaxi::unimplemented::unimplemented_stub()
8544    }
8545
8546    /// Implements [super::client::RegionDisks::get_operation].
8547    fn get_operation(
8548        &self,
8549        _req: crate::model::region_operations::GetRequest,
8550        _options: gax::options::RequestOptions,
8551    ) -> impl std::future::Future<
8552        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8553    > + Send {
8554        gaxi::unimplemented::unimplemented_stub()
8555    }
8556
8557    /// Returns the polling error policy.
8558    ///
8559    /// When mocking, this method is typically irrelevant. Do not try to verify
8560    /// it is called by your mocks.
8561    fn get_polling_error_policy(
8562        &self,
8563        _options: &gax::options::RequestOptions,
8564    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8565        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8566    }
8567
8568    /// Returns the polling backoff policy.
8569    ///
8570    /// When mocking, this method is typically irrelevant. Do not try to verify
8571    /// it is called by your mocks.
8572    fn get_polling_backoff_policy(
8573        &self,
8574        _options: &gax::options::RequestOptions,
8575    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8576        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8577    }
8578}
8579
8580/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
8581///
8582/// Application developers may need to implement this trait to mock
8583/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
8584/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
8585/// its implementations.
8586///
8587/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8588/// too. To avoid breaking applications the trait provides a default
8589/// implementation of each method. Most of these implementations just return an
8590/// error.
8591#[cfg(feature = "region-health-check-services")]
8592#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
8593pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
8594    /// Implements [super::client::RegionHealthCheckServices::delete].
8595    fn delete(
8596        &self,
8597        _req: crate::model::region_health_check_services::DeleteRequest,
8598        _options: gax::options::RequestOptions,
8599    ) -> impl std::future::Future<
8600        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8601    > + Send {
8602        gaxi::unimplemented::unimplemented_stub()
8603    }
8604
8605    /// Implements [super::client::RegionHealthCheckServices::get].
8606    fn get(
8607        &self,
8608        _req: crate::model::region_health_check_services::GetRequest,
8609        _options: gax::options::RequestOptions,
8610    ) -> impl std::future::Future<
8611        Output = crate::Result<gax::response::Response<crate::model::HealthCheckService>>,
8612    > + Send {
8613        gaxi::unimplemented::unimplemented_stub()
8614    }
8615
8616    /// Implements [super::client::RegionHealthCheckServices::insert].
8617    fn insert(
8618        &self,
8619        _req: crate::model::region_health_check_services::InsertRequest,
8620        _options: gax::options::RequestOptions,
8621    ) -> impl std::future::Future<
8622        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8623    > + Send {
8624        gaxi::unimplemented::unimplemented_stub()
8625    }
8626
8627    /// Implements [super::client::RegionHealthCheckServices::list].
8628    fn list(
8629        &self,
8630        _req: crate::model::region_health_check_services::ListRequest,
8631        _options: gax::options::RequestOptions,
8632    ) -> impl std::future::Future<
8633        Output = crate::Result<gax::response::Response<crate::model::HealthCheckServicesList>>,
8634    > + Send {
8635        gaxi::unimplemented::unimplemented_stub()
8636    }
8637
8638    /// Implements [super::client::RegionHealthCheckServices::patch].
8639    fn patch(
8640        &self,
8641        _req: crate::model::region_health_check_services::PatchRequest,
8642        _options: gax::options::RequestOptions,
8643    ) -> impl std::future::Future<
8644        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8645    > + Send {
8646        gaxi::unimplemented::unimplemented_stub()
8647    }
8648
8649    /// Implements [super::client::RegionHealthCheckServices::get_operation].
8650    fn get_operation(
8651        &self,
8652        _req: crate::model::region_operations::GetRequest,
8653        _options: gax::options::RequestOptions,
8654    ) -> impl std::future::Future<
8655        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8656    > + Send {
8657        gaxi::unimplemented::unimplemented_stub()
8658    }
8659
8660    /// Returns the polling error policy.
8661    ///
8662    /// When mocking, this method is typically irrelevant. Do not try to verify
8663    /// it is called by your mocks.
8664    fn get_polling_error_policy(
8665        &self,
8666        _options: &gax::options::RequestOptions,
8667    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8668        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8669    }
8670
8671    /// Returns the polling backoff policy.
8672    ///
8673    /// When mocking, this method is typically irrelevant. Do not try to verify
8674    /// it is called by your mocks.
8675    fn get_polling_backoff_policy(
8676        &self,
8677        _options: &gax::options::RequestOptions,
8678    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8679        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8680    }
8681}
8682
8683/// Defines the trait used to implement [super::client::RegionHealthChecks].
8684///
8685/// Application developers may need to implement this trait to mock
8686/// `client::RegionHealthChecks`.  In other use-cases, application developers only
8687/// use `client::RegionHealthChecks` and need not be concerned with this trait or
8688/// its implementations.
8689///
8690/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8691/// too. To avoid breaking applications the trait provides a default
8692/// implementation of each method. Most of these implementations just return an
8693/// error.
8694#[cfg(feature = "region-health-checks")]
8695#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
8696pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
8697    /// Implements [super::client::RegionHealthChecks::delete].
8698    fn delete(
8699        &self,
8700        _req: crate::model::region_health_checks::DeleteRequest,
8701        _options: gax::options::RequestOptions,
8702    ) -> impl std::future::Future<
8703        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8704    > + Send {
8705        gaxi::unimplemented::unimplemented_stub()
8706    }
8707
8708    /// Implements [super::client::RegionHealthChecks::get].
8709    fn get(
8710        &self,
8711        _req: crate::model::region_health_checks::GetRequest,
8712        _options: gax::options::RequestOptions,
8713    ) -> impl std::future::Future<
8714        Output = crate::Result<gax::response::Response<crate::model::HealthCheck>>,
8715    > + Send {
8716        gaxi::unimplemented::unimplemented_stub()
8717    }
8718
8719    /// Implements [super::client::RegionHealthChecks::insert].
8720    fn insert(
8721        &self,
8722        _req: crate::model::region_health_checks::InsertRequest,
8723        _options: gax::options::RequestOptions,
8724    ) -> impl std::future::Future<
8725        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8726    > + Send {
8727        gaxi::unimplemented::unimplemented_stub()
8728    }
8729
8730    /// Implements [super::client::RegionHealthChecks::list].
8731    fn list(
8732        &self,
8733        _req: crate::model::region_health_checks::ListRequest,
8734        _options: gax::options::RequestOptions,
8735    ) -> impl std::future::Future<
8736        Output = crate::Result<gax::response::Response<crate::model::HealthCheckList>>,
8737    > + Send {
8738        gaxi::unimplemented::unimplemented_stub()
8739    }
8740
8741    /// Implements [super::client::RegionHealthChecks::patch].
8742    fn patch(
8743        &self,
8744        _req: crate::model::region_health_checks::PatchRequest,
8745        _options: gax::options::RequestOptions,
8746    ) -> impl std::future::Future<
8747        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8748    > + Send {
8749        gaxi::unimplemented::unimplemented_stub()
8750    }
8751
8752    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
8753    fn test_iam_permissions(
8754        &self,
8755        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
8756        _options: gax::options::RequestOptions,
8757    ) -> impl std::future::Future<
8758        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
8759    > + Send {
8760        gaxi::unimplemented::unimplemented_stub()
8761    }
8762
8763    /// Implements [super::client::RegionHealthChecks::update].
8764    fn update(
8765        &self,
8766        _req: crate::model::region_health_checks::UpdateRequest,
8767        _options: gax::options::RequestOptions,
8768    ) -> impl std::future::Future<
8769        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8770    > + Send {
8771        gaxi::unimplemented::unimplemented_stub()
8772    }
8773
8774    /// Implements [super::client::RegionHealthChecks::get_operation].
8775    fn get_operation(
8776        &self,
8777        _req: crate::model::region_operations::GetRequest,
8778        _options: gax::options::RequestOptions,
8779    ) -> impl std::future::Future<
8780        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8781    > + Send {
8782        gaxi::unimplemented::unimplemented_stub()
8783    }
8784
8785    /// Returns the polling error policy.
8786    ///
8787    /// When mocking, this method is typically irrelevant. Do not try to verify
8788    /// it is called by your mocks.
8789    fn get_polling_error_policy(
8790        &self,
8791        _options: &gax::options::RequestOptions,
8792    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8793        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8794    }
8795
8796    /// Returns the polling backoff policy.
8797    ///
8798    /// When mocking, this method is typically irrelevant. Do not try to verify
8799    /// it is called by your mocks.
8800    fn get_polling_backoff_policy(
8801        &self,
8802        _options: &gax::options::RequestOptions,
8803    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8804        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8805    }
8806}
8807
8808/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
8809///
8810/// Application developers may need to implement this trait to mock
8811/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
8812/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
8813/// its implementations.
8814///
8815/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8816/// too. To avoid breaking applications the trait provides a default
8817/// implementation of each method. Most of these implementations just return an
8818/// error.
8819#[cfg(feature = "region-instance-group-managers")]
8820#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
8821pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
8822    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
8823    fn abandon_instances(
8824        &self,
8825        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
8826        _options: gax::options::RequestOptions,
8827    ) -> impl std::future::Future<
8828        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8829    > + Send {
8830        gaxi::unimplemented::unimplemented_stub()
8831    }
8832
8833    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
8834    fn apply_updates_to_instances(
8835        &self,
8836        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
8837        _options: gax::options::RequestOptions,
8838    ) -> impl std::future::Future<
8839        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8840    > + Send {
8841        gaxi::unimplemented::unimplemented_stub()
8842    }
8843
8844    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
8845    fn create_instances(
8846        &self,
8847        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
8848        _options: gax::options::RequestOptions,
8849    ) -> impl std::future::Future<
8850        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8851    > + Send {
8852        gaxi::unimplemented::unimplemented_stub()
8853    }
8854
8855    /// Implements [super::client::RegionInstanceGroupManagers::delete].
8856    fn delete(
8857        &self,
8858        _req: crate::model::region_instance_group_managers::DeleteRequest,
8859        _options: gax::options::RequestOptions,
8860    ) -> impl std::future::Future<
8861        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8862    > + Send {
8863        gaxi::unimplemented::unimplemented_stub()
8864    }
8865
8866    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
8867    fn delete_instances(
8868        &self,
8869        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
8870        _options: gax::options::RequestOptions,
8871    ) -> impl std::future::Future<
8872        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8873    > + Send {
8874        gaxi::unimplemented::unimplemented_stub()
8875    }
8876
8877    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
8878    fn delete_per_instance_configs(
8879        &self,
8880        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
8881        _options: gax::options::RequestOptions,
8882    ) -> impl std::future::Future<
8883        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8884    > + Send {
8885        gaxi::unimplemented::unimplemented_stub()
8886    }
8887
8888    /// Implements [super::client::RegionInstanceGroupManagers::get].
8889    fn get(
8890        &self,
8891        _req: crate::model::region_instance_group_managers::GetRequest,
8892        _options: gax::options::RequestOptions,
8893    ) -> impl std::future::Future<
8894        Output = crate::Result<gax::response::Response<crate::model::InstanceGroupManager>>,
8895    > + Send {
8896        gaxi::unimplemented::unimplemented_stub()
8897    }
8898
8899    /// Implements [super::client::RegionInstanceGroupManagers::insert].
8900    fn insert(
8901        &self,
8902        _req: crate::model::region_instance_group_managers::InsertRequest,
8903        _options: gax::options::RequestOptions,
8904    ) -> impl std::future::Future<
8905        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8906    > + Send {
8907        gaxi::unimplemented::unimplemented_stub()
8908    }
8909
8910    /// Implements [super::client::RegionInstanceGroupManagers::list].
8911    fn list(
8912        &self,
8913        _req: crate::model::region_instance_group_managers::ListRequest,
8914        _options: gax::options::RequestOptions,
8915    ) -> impl std::future::Future<
8916        Output = crate::Result<
8917            gax::response::Response<crate::model::RegionInstanceGroupManagerList>,
8918        >,
8919    > + Send {
8920        gaxi::unimplemented::unimplemented_stub()
8921    }
8922
8923    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
8924    fn list_errors(
8925        &self,
8926        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
8927        _options: gax::options::RequestOptions,
8928    ) -> impl std::future::Future<
8929        Output = crate::Result<
8930            gax::response::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
8931        >,
8932    > + Send {
8933        gaxi::unimplemented::unimplemented_stub()
8934    }
8935
8936    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
8937    fn list_managed_instances(
8938        &self,
8939        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
8940        _options: gax::options::RequestOptions,
8941    ) -> impl std::future::Future<
8942        Output = crate::Result<
8943            gax::response::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
8944        >,
8945    > + Send {
8946        gaxi::unimplemented::unimplemented_stub()
8947    }
8948
8949    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
8950    fn list_per_instance_configs(
8951        &self,
8952        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
8953        _options: gax::options::RequestOptions,
8954    ) -> impl std::future::Future<
8955        Output = crate::Result<
8956            gax::response::Response<
8957                crate::model::RegionInstanceGroupManagersListInstanceConfigsResp,
8958            >,
8959        >,
8960    > + Send {
8961        gaxi::unimplemented::unimplemented_stub()
8962    }
8963
8964    /// Implements [super::client::RegionInstanceGroupManagers::patch].
8965    fn patch(
8966        &self,
8967        _req: crate::model::region_instance_group_managers::PatchRequest,
8968        _options: gax::options::RequestOptions,
8969    ) -> impl std::future::Future<
8970        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8971    > + Send {
8972        gaxi::unimplemented::unimplemented_stub()
8973    }
8974
8975    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
8976    fn patch_per_instance_configs(
8977        &self,
8978        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
8979        _options: gax::options::RequestOptions,
8980    ) -> impl std::future::Future<
8981        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8982    > + Send {
8983        gaxi::unimplemented::unimplemented_stub()
8984    }
8985
8986    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
8987    fn recreate_instances(
8988        &self,
8989        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
8990        _options: gax::options::RequestOptions,
8991    ) -> impl std::future::Future<
8992        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
8993    > + Send {
8994        gaxi::unimplemented::unimplemented_stub()
8995    }
8996
8997    /// Implements [super::client::RegionInstanceGroupManagers::resize].
8998    fn resize(
8999        &self,
9000        _req: crate::model::region_instance_group_managers::ResizeRequest,
9001        _options: gax::options::RequestOptions,
9002    ) -> impl std::future::Future<
9003        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9004    > + Send {
9005        gaxi::unimplemented::unimplemented_stub()
9006    }
9007
9008    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
9009    fn resume_instances(
9010        &self,
9011        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
9012        _options: gax::options::RequestOptions,
9013    ) -> impl std::future::Future<
9014        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9015    > + Send {
9016        gaxi::unimplemented::unimplemented_stub()
9017    }
9018
9019    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
9020    fn set_instance_template(
9021        &self,
9022        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
9023        _options: gax::options::RequestOptions,
9024    ) -> impl std::future::Future<
9025        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9026    > + Send {
9027        gaxi::unimplemented::unimplemented_stub()
9028    }
9029
9030    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
9031    fn set_target_pools(
9032        &self,
9033        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
9034        _options: gax::options::RequestOptions,
9035    ) -> impl std::future::Future<
9036        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9037    > + Send {
9038        gaxi::unimplemented::unimplemented_stub()
9039    }
9040
9041    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
9042    fn start_instances(
9043        &self,
9044        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
9045        _options: gax::options::RequestOptions,
9046    ) -> impl std::future::Future<
9047        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9048    > + Send {
9049        gaxi::unimplemented::unimplemented_stub()
9050    }
9051
9052    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
9053    fn stop_instances(
9054        &self,
9055        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
9056        _options: gax::options::RequestOptions,
9057    ) -> impl std::future::Future<
9058        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9059    > + Send {
9060        gaxi::unimplemented::unimplemented_stub()
9061    }
9062
9063    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
9064    fn suspend_instances(
9065        &self,
9066        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
9067        _options: gax::options::RequestOptions,
9068    ) -> impl std::future::Future<
9069        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9070    > + Send {
9071        gaxi::unimplemented::unimplemented_stub()
9072    }
9073
9074    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
9075    fn update_per_instance_configs(
9076        &self,
9077        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
9078        _options: gax::options::RequestOptions,
9079    ) -> impl std::future::Future<
9080        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9081    > + Send {
9082        gaxi::unimplemented::unimplemented_stub()
9083    }
9084
9085    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
9086    fn get_operation(
9087        &self,
9088        _req: crate::model::region_operations::GetRequest,
9089        _options: gax::options::RequestOptions,
9090    ) -> impl std::future::Future<
9091        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9092    > + Send {
9093        gaxi::unimplemented::unimplemented_stub()
9094    }
9095
9096    /// Returns the polling error policy.
9097    ///
9098    /// When mocking, this method is typically irrelevant. Do not try to verify
9099    /// it is called by your mocks.
9100    fn get_polling_error_policy(
9101        &self,
9102        _options: &gax::options::RequestOptions,
9103    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9104        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9105    }
9106
9107    /// Returns the polling backoff policy.
9108    ///
9109    /// When mocking, this method is typically irrelevant. Do not try to verify
9110    /// it is called by your mocks.
9111    fn get_polling_backoff_policy(
9112        &self,
9113        _options: &gax::options::RequestOptions,
9114    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9115        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9116    }
9117}
9118
9119/// Defines the trait used to implement [super::client::RegionInstanceGroups].
9120///
9121/// Application developers may need to implement this trait to mock
9122/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
9123/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
9124/// its implementations.
9125///
9126/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9127/// too. To avoid breaking applications the trait provides a default
9128/// implementation of each method. Most of these implementations just return an
9129/// error.
9130#[cfg(feature = "region-instance-groups")]
9131#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
9132pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
9133    /// Implements [super::client::RegionInstanceGroups::get].
9134    fn get(
9135        &self,
9136        _req: crate::model::region_instance_groups::GetRequest,
9137        _options: gax::options::RequestOptions,
9138    ) -> impl std::future::Future<
9139        Output = crate::Result<gax::response::Response<crate::model::InstanceGroup>>,
9140    > + Send {
9141        gaxi::unimplemented::unimplemented_stub()
9142    }
9143
9144    /// Implements [super::client::RegionInstanceGroups::list].
9145    fn list(
9146        &self,
9147        _req: crate::model::region_instance_groups::ListRequest,
9148        _options: gax::options::RequestOptions,
9149    ) -> impl std::future::Future<
9150        Output = crate::Result<gax::response::Response<crate::model::RegionInstanceGroupList>>,
9151    > + Send {
9152        gaxi::unimplemented::unimplemented_stub()
9153    }
9154
9155    /// Implements [super::client::RegionInstanceGroups::list_instances].
9156    fn list_instances(
9157        &self,
9158        _req: crate::model::region_instance_groups::ListInstancesRequest,
9159        _options: gax::options::RequestOptions,
9160    ) -> impl std::future::Future<
9161        Output = crate::Result<
9162            gax::response::Response<crate::model::RegionInstanceGroupsListInstances>,
9163        >,
9164    > + Send {
9165        gaxi::unimplemented::unimplemented_stub()
9166    }
9167
9168    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
9169    fn set_named_ports(
9170        &self,
9171        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
9172        _options: gax::options::RequestOptions,
9173    ) -> impl std::future::Future<
9174        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9175    > + Send {
9176        gaxi::unimplemented::unimplemented_stub()
9177    }
9178
9179    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
9180    fn test_iam_permissions(
9181        &self,
9182        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
9183        _options: gax::options::RequestOptions,
9184    ) -> impl std::future::Future<
9185        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
9186    > + Send {
9187        gaxi::unimplemented::unimplemented_stub()
9188    }
9189
9190    /// Implements [super::client::RegionInstanceGroups::get_operation].
9191    fn get_operation(
9192        &self,
9193        _req: crate::model::region_operations::GetRequest,
9194        _options: gax::options::RequestOptions,
9195    ) -> impl std::future::Future<
9196        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9197    > + Send {
9198        gaxi::unimplemented::unimplemented_stub()
9199    }
9200
9201    /// Returns the polling error policy.
9202    ///
9203    /// When mocking, this method is typically irrelevant. Do not try to verify
9204    /// it is called by your mocks.
9205    fn get_polling_error_policy(
9206        &self,
9207        _options: &gax::options::RequestOptions,
9208    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9209        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9210    }
9211
9212    /// Returns the polling backoff policy.
9213    ///
9214    /// When mocking, this method is typically irrelevant. Do not try to verify
9215    /// it is called by your mocks.
9216    fn get_polling_backoff_policy(
9217        &self,
9218        _options: &gax::options::RequestOptions,
9219    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9220        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9221    }
9222}
9223
9224/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
9225///
9226/// Application developers may need to implement this trait to mock
9227/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
9228/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
9229/// its implementations.
9230///
9231/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9232/// too. To avoid breaking applications the trait provides a default
9233/// implementation of each method. Most of these implementations just return an
9234/// error.
9235#[cfg(feature = "region-instance-templates")]
9236#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
9237pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
9238    /// Implements [super::client::RegionInstanceTemplates::delete].
9239    fn delete(
9240        &self,
9241        _req: crate::model::region_instance_templates::DeleteRequest,
9242        _options: gax::options::RequestOptions,
9243    ) -> impl std::future::Future<
9244        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9245    > + Send {
9246        gaxi::unimplemented::unimplemented_stub()
9247    }
9248
9249    /// Implements [super::client::RegionInstanceTemplates::get].
9250    fn get(
9251        &self,
9252        _req: crate::model::region_instance_templates::GetRequest,
9253        _options: gax::options::RequestOptions,
9254    ) -> impl std::future::Future<
9255        Output = crate::Result<gax::response::Response<crate::model::InstanceTemplate>>,
9256    > + Send {
9257        gaxi::unimplemented::unimplemented_stub()
9258    }
9259
9260    /// Implements [super::client::RegionInstanceTemplates::insert].
9261    fn insert(
9262        &self,
9263        _req: crate::model::region_instance_templates::InsertRequest,
9264        _options: gax::options::RequestOptions,
9265    ) -> impl std::future::Future<
9266        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9267    > + Send {
9268        gaxi::unimplemented::unimplemented_stub()
9269    }
9270
9271    /// Implements [super::client::RegionInstanceTemplates::list].
9272    fn list(
9273        &self,
9274        _req: crate::model::region_instance_templates::ListRequest,
9275        _options: gax::options::RequestOptions,
9276    ) -> impl std::future::Future<
9277        Output = crate::Result<gax::response::Response<crate::model::InstanceTemplateList>>,
9278    > + Send {
9279        gaxi::unimplemented::unimplemented_stub()
9280    }
9281
9282    /// Implements [super::client::RegionInstanceTemplates::get_operation].
9283    fn get_operation(
9284        &self,
9285        _req: crate::model::region_operations::GetRequest,
9286        _options: gax::options::RequestOptions,
9287    ) -> impl std::future::Future<
9288        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9289    > + Send {
9290        gaxi::unimplemented::unimplemented_stub()
9291    }
9292
9293    /// Returns the polling error policy.
9294    ///
9295    /// When mocking, this method is typically irrelevant. Do not try to verify
9296    /// it is called by your mocks.
9297    fn get_polling_error_policy(
9298        &self,
9299        _options: &gax::options::RequestOptions,
9300    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9301        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9302    }
9303
9304    /// Returns the polling backoff policy.
9305    ///
9306    /// When mocking, this method is typically irrelevant. Do not try to verify
9307    /// it is called by your mocks.
9308    fn get_polling_backoff_policy(
9309        &self,
9310        _options: &gax::options::RequestOptions,
9311    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9312        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9313    }
9314}
9315
9316/// Defines the trait used to implement [super::client::RegionInstances].
9317///
9318/// Application developers may need to implement this trait to mock
9319/// `client::RegionInstances`.  In other use-cases, application developers only
9320/// use `client::RegionInstances` and need not be concerned with this trait or
9321/// its implementations.
9322///
9323/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9324/// too. To avoid breaking applications the trait provides a default
9325/// implementation of each method. Most of these implementations just return an
9326/// error.
9327#[cfg(feature = "region-instances")]
9328#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
9329pub trait RegionInstances: std::fmt::Debug + Send + Sync {
9330    /// Implements [super::client::RegionInstances::bulk_insert].
9331    fn bulk_insert(
9332        &self,
9333        _req: crate::model::region_instances::BulkInsertRequest,
9334        _options: gax::options::RequestOptions,
9335    ) -> impl std::future::Future<
9336        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9337    > + Send {
9338        gaxi::unimplemented::unimplemented_stub()
9339    }
9340
9341    /// Implements [super::client::RegionInstances::get_operation].
9342    fn get_operation(
9343        &self,
9344        _req: crate::model::region_operations::GetRequest,
9345        _options: gax::options::RequestOptions,
9346    ) -> impl std::future::Future<
9347        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9348    > + Send {
9349        gaxi::unimplemented::unimplemented_stub()
9350    }
9351
9352    /// Returns the polling error policy.
9353    ///
9354    /// When mocking, this method is typically irrelevant. Do not try to verify
9355    /// it is called by your mocks.
9356    fn get_polling_error_policy(
9357        &self,
9358        _options: &gax::options::RequestOptions,
9359    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9360        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9361    }
9362
9363    /// Returns the polling backoff policy.
9364    ///
9365    /// When mocking, this method is typically irrelevant. Do not try to verify
9366    /// it is called by your mocks.
9367    fn get_polling_backoff_policy(
9368        &self,
9369        _options: &gax::options::RequestOptions,
9370    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9371        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9372    }
9373}
9374
9375/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
9376///
9377/// Application developers may need to implement this trait to mock
9378/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
9379/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
9380/// its implementations.
9381///
9382/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9383/// too. To avoid breaking applications the trait provides a default
9384/// implementation of each method. Most of these implementations just return an
9385/// error.
9386#[cfg(feature = "region-instant-snapshots")]
9387#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
9388pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
9389    /// Implements [super::client::RegionInstantSnapshots::delete].
9390    fn delete(
9391        &self,
9392        _req: crate::model::region_instant_snapshots::DeleteRequest,
9393        _options: gax::options::RequestOptions,
9394    ) -> impl std::future::Future<
9395        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9396    > + Send {
9397        gaxi::unimplemented::unimplemented_stub()
9398    }
9399
9400    /// Implements [super::client::RegionInstantSnapshots::get].
9401    fn get(
9402        &self,
9403        _req: crate::model::region_instant_snapshots::GetRequest,
9404        _options: gax::options::RequestOptions,
9405    ) -> impl std::future::Future<
9406        Output = crate::Result<gax::response::Response<crate::model::InstantSnapshot>>,
9407    > + Send {
9408        gaxi::unimplemented::unimplemented_stub()
9409    }
9410
9411    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
9412    fn get_iam_policy(
9413        &self,
9414        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
9415        _options: gax::options::RequestOptions,
9416    ) -> impl std::future::Future<
9417        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
9418    > + Send {
9419        gaxi::unimplemented::unimplemented_stub()
9420    }
9421
9422    /// Implements [super::client::RegionInstantSnapshots::insert].
9423    fn insert(
9424        &self,
9425        _req: crate::model::region_instant_snapshots::InsertRequest,
9426        _options: gax::options::RequestOptions,
9427    ) -> impl std::future::Future<
9428        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9429    > + Send {
9430        gaxi::unimplemented::unimplemented_stub()
9431    }
9432
9433    /// Implements [super::client::RegionInstantSnapshots::list].
9434    fn list(
9435        &self,
9436        _req: crate::model::region_instant_snapshots::ListRequest,
9437        _options: gax::options::RequestOptions,
9438    ) -> impl std::future::Future<
9439        Output = crate::Result<gax::response::Response<crate::model::InstantSnapshotList>>,
9440    > + Send {
9441        gaxi::unimplemented::unimplemented_stub()
9442    }
9443
9444    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
9445    fn set_iam_policy(
9446        &self,
9447        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
9448        _options: gax::options::RequestOptions,
9449    ) -> impl std::future::Future<
9450        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
9451    > + Send {
9452        gaxi::unimplemented::unimplemented_stub()
9453    }
9454
9455    /// Implements [super::client::RegionInstantSnapshots::set_labels].
9456    fn set_labels(
9457        &self,
9458        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
9459        _options: gax::options::RequestOptions,
9460    ) -> impl std::future::Future<
9461        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9462    > + Send {
9463        gaxi::unimplemented::unimplemented_stub()
9464    }
9465
9466    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
9467    fn test_iam_permissions(
9468        &self,
9469        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
9470        _options: gax::options::RequestOptions,
9471    ) -> impl std::future::Future<
9472        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
9473    > + Send {
9474        gaxi::unimplemented::unimplemented_stub()
9475    }
9476
9477    /// Implements [super::client::RegionInstantSnapshots::get_operation].
9478    fn get_operation(
9479        &self,
9480        _req: crate::model::region_operations::GetRequest,
9481        _options: gax::options::RequestOptions,
9482    ) -> impl std::future::Future<
9483        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9484    > + Send {
9485        gaxi::unimplemented::unimplemented_stub()
9486    }
9487
9488    /// Returns the polling error policy.
9489    ///
9490    /// When mocking, this method is typically irrelevant. Do not try to verify
9491    /// it is called by your mocks.
9492    fn get_polling_error_policy(
9493        &self,
9494        _options: &gax::options::RequestOptions,
9495    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9496        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9497    }
9498
9499    /// Returns the polling backoff policy.
9500    ///
9501    /// When mocking, this method is typically irrelevant. Do not try to verify
9502    /// it is called by your mocks.
9503    fn get_polling_backoff_policy(
9504        &self,
9505        _options: &gax::options::RequestOptions,
9506    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9507        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9508    }
9509}
9510
9511/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
9512///
9513/// Application developers may need to implement this trait to mock
9514/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
9515/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
9516/// its implementations.
9517///
9518/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9519/// too. To avoid breaking applications the trait provides a default
9520/// implementation of each method. Most of these implementations just return an
9521/// error.
9522#[cfg(feature = "region-network-endpoint-groups")]
9523#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
9524pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
9525    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
9526    fn attach_network_endpoints(
9527        &self,
9528        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
9529        _options: gax::options::RequestOptions,
9530    ) -> impl std::future::Future<
9531        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9532    > + Send {
9533        gaxi::unimplemented::unimplemented_stub()
9534    }
9535
9536    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
9537    fn delete(
9538        &self,
9539        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
9540        _options: gax::options::RequestOptions,
9541    ) -> impl std::future::Future<
9542        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9543    > + Send {
9544        gaxi::unimplemented::unimplemented_stub()
9545    }
9546
9547    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
9548    fn detach_network_endpoints(
9549        &self,
9550        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
9551        _options: gax::options::RequestOptions,
9552    ) -> impl std::future::Future<
9553        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9554    > + Send {
9555        gaxi::unimplemented::unimplemented_stub()
9556    }
9557
9558    /// Implements [super::client::RegionNetworkEndpointGroups::get].
9559    fn get(
9560        &self,
9561        _req: crate::model::region_network_endpoint_groups::GetRequest,
9562        _options: gax::options::RequestOptions,
9563    ) -> impl std::future::Future<
9564        Output = crate::Result<gax::response::Response<crate::model::NetworkEndpointGroup>>,
9565    > + Send {
9566        gaxi::unimplemented::unimplemented_stub()
9567    }
9568
9569    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
9570    fn insert(
9571        &self,
9572        _req: crate::model::region_network_endpoint_groups::InsertRequest,
9573        _options: gax::options::RequestOptions,
9574    ) -> impl std::future::Future<
9575        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9576    > + Send {
9577        gaxi::unimplemented::unimplemented_stub()
9578    }
9579
9580    /// Implements [super::client::RegionNetworkEndpointGroups::list].
9581    fn list(
9582        &self,
9583        _req: crate::model::region_network_endpoint_groups::ListRequest,
9584        _options: gax::options::RequestOptions,
9585    ) -> impl std::future::Future<
9586        Output = crate::Result<gax::response::Response<crate::model::NetworkEndpointGroupList>>,
9587    > + Send {
9588        gaxi::unimplemented::unimplemented_stub()
9589    }
9590
9591    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
9592    fn list_network_endpoints(
9593        &self,
9594        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
9595        _options: gax::options::RequestOptions,
9596    ) -> impl std::future::Future<
9597        Output = crate::Result<
9598            gax::response::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
9599        >,
9600    > + Send {
9601        gaxi::unimplemented::unimplemented_stub()
9602    }
9603
9604    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
9605    fn get_operation(
9606        &self,
9607        _req: crate::model::region_operations::GetRequest,
9608        _options: gax::options::RequestOptions,
9609    ) -> impl std::future::Future<
9610        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9611    > + Send {
9612        gaxi::unimplemented::unimplemented_stub()
9613    }
9614
9615    /// Returns the polling error policy.
9616    ///
9617    /// When mocking, this method is typically irrelevant. Do not try to verify
9618    /// it is called by your mocks.
9619    fn get_polling_error_policy(
9620        &self,
9621        _options: &gax::options::RequestOptions,
9622    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9623        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9624    }
9625
9626    /// Returns the polling backoff policy.
9627    ///
9628    /// When mocking, this method is typically irrelevant. Do not try to verify
9629    /// it is called by your mocks.
9630    fn get_polling_backoff_policy(
9631        &self,
9632        _options: &gax::options::RequestOptions,
9633    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9634        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9635    }
9636}
9637
9638/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
9639///
9640/// Application developers may need to implement this trait to mock
9641/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
9642/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
9643/// its implementations.
9644///
9645/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9646/// too. To avoid breaking applications the trait provides a default
9647/// implementation of each method. Most of these implementations just return an
9648/// error.
9649#[cfg(feature = "region-network-firewall-policies")]
9650#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
9651pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
9652    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
9653    fn add_association(
9654        &self,
9655        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
9656        _options: gax::options::RequestOptions,
9657    ) -> impl std::future::Future<
9658        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9659    > + Send {
9660        gaxi::unimplemented::unimplemented_stub()
9661    }
9662
9663    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
9664    fn add_rule(
9665        &self,
9666        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
9667        _options: gax::options::RequestOptions,
9668    ) -> impl std::future::Future<
9669        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9670    > + Send {
9671        gaxi::unimplemented::unimplemented_stub()
9672    }
9673
9674    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
9675    fn clone_rules(
9676        &self,
9677        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
9678        _options: gax::options::RequestOptions,
9679    ) -> impl std::future::Future<
9680        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9681    > + Send {
9682        gaxi::unimplemented::unimplemented_stub()
9683    }
9684
9685    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
9686    fn delete(
9687        &self,
9688        _req: crate::model::region_network_firewall_policies::DeleteRequest,
9689        _options: gax::options::RequestOptions,
9690    ) -> impl std::future::Future<
9691        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9692    > + Send {
9693        gaxi::unimplemented::unimplemented_stub()
9694    }
9695
9696    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
9697    fn get(
9698        &self,
9699        _req: crate::model::region_network_firewall_policies::GetRequest,
9700        _options: gax::options::RequestOptions,
9701    ) -> impl std::future::Future<
9702        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicy>>,
9703    > + Send {
9704        gaxi::unimplemented::unimplemented_stub()
9705    }
9706
9707    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
9708    fn get_association(
9709        &self,
9710        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
9711        _options: gax::options::RequestOptions,
9712    ) -> impl std::future::Future<
9713        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyAssociation>>,
9714    > + Send {
9715        gaxi::unimplemented::unimplemented_stub()
9716    }
9717
9718    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
9719    fn get_effective_firewalls(
9720        &self,
9721        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
9722        _options: gax::options::RequestOptions,
9723    ) -> impl std::future::Future<
9724        Output = crate::Result<
9725            gax::response::Response<
9726                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
9727            >,
9728        >,
9729    > + Send {
9730        gaxi::unimplemented::unimplemented_stub()
9731    }
9732
9733    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
9734    fn get_iam_policy(
9735        &self,
9736        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
9737        _options: gax::options::RequestOptions,
9738    ) -> impl std::future::Future<
9739        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
9740    > + Send {
9741        gaxi::unimplemented::unimplemented_stub()
9742    }
9743
9744    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
9745    fn get_rule(
9746        &self,
9747        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
9748        _options: gax::options::RequestOptions,
9749    ) -> impl std::future::Future<
9750        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyRule>>,
9751    > + Send {
9752        gaxi::unimplemented::unimplemented_stub()
9753    }
9754
9755    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
9756    fn insert(
9757        &self,
9758        _req: crate::model::region_network_firewall_policies::InsertRequest,
9759        _options: gax::options::RequestOptions,
9760    ) -> impl std::future::Future<
9761        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9762    > + Send {
9763        gaxi::unimplemented::unimplemented_stub()
9764    }
9765
9766    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
9767    fn list(
9768        &self,
9769        _req: crate::model::region_network_firewall_policies::ListRequest,
9770        _options: gax::options::RequestOptions,
9771    ) -> impl std::future::Future<
9772        Output = crate::Result<gax::response::Response<crate::model::FirewallPolicyList>>,
9773    > + Send {
9774        gaxi::unimplemented::unimplemented_stub()
9775    }
9776
9777    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
9778    fn patch(
9779        &self,
9780        _req: crate::model::region_network_firewall_policies::PatchRequest,
9781        _options: gax::options::RequestOptions,
9782    ) -> impl std::future::Future<
9783        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9784    > + Send {
9785        gaxi::unimplemented::unimplemented_stub()
9786    }
9787
9788    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
9789    fn patch_rule(
9790        &self,
9791        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
9792        _options: gax::options::RequestOptions,
9793    ) -> impl std::future::Future<
9794        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9795    > + Send {
9796        gaxi::unimplemented::unimplemented_stub()
9797    }
9798
9799    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
9800    fn remove_association(
9801        &self,
9802        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
9803        _options: gax::options::RequestOptions,
9804    ) -> impl std::future::Future<
9805        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9806    > + Send {
9807        gaxi::unimplemented::unimplemented_stub()
9808    }
9809
9810    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
9811    fn remove_rule(
9812        &self,
9813        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
9814        _options: gax::options::RequestOptions,
9815    ) -> impl std::future::Future<
9816        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9817    > + Send {
9818        gaxi::unimplemented::unimplemented_stub()
9819    }
9820
9821    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
9822    fn set_iam_policy(
9823        &self,
9824        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
9825        _options: gax::options::RequestOptions,
9826    ) -> impl std::future::Future<
9827        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
9828    > + Send {
9829        gaxi::unimplemented::unimplemented_stub()
9830    }
9831
9832    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
9833    fn test_iam_permissions(
9834        &self,
9835        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
9836        _options: gax::options::RequestOptions,
9837    ) -> impl std::future::Future<
9838        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
9839    > + Send {
9840        gaxi::unimplemented::unimplemented_stub()
9841    }
9842
9843    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
9844    fn get_operation(
9845        &self,
9846        _req: crate::model::region_operations::GetRequest,
9847        _options: gax::options::RequestOptions,
9848    ) -> impl std::future::Future<
9849        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9850    > + Send {
9851        gaxi::unimplemented::unimplemented_stub()
9852    }
9853
9854    /// Returns the polling error policy.
9855    ///
9856    /// When mocking, this method is typically irrelevant. Do not try to verify
9857    /// it is called by your mocks.
9858    fn get_polling_error_policy(
9859        &self,
9860        _options: &gax::options::RequestOptions,
9861    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9862        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9863    }
9864
9865    /// Returns the polling backoff policy.
9866    ///
9867    /// When mocking, this method is typically irrelevant. Do not try to verify
9868    /// it is called by your mocks.
9869    fn get_polling_backoff_policy(
9870        &self,
9871        _options: &gax::options::RequestOptions,
9872    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9873        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9874    }
9875}
9876
9877/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
9878///
9879/// Application developers may need to implement this trait to mock
9880/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
9881/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
9882/// its implementations.
9883///
9884/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9885/// too. To avoid breaking applications the trait provides a default
9886/// implementation of each method. Most of these implementations just return an
9887/// error.
9888#[cfg(feature = "region-notification-endpoints")]
9889#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
9890pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
9891    /// Implements [super::client::RegionNotificationEndpoints::delete].
9892    fn delete(
9893        &self,
9894        _req: crate::model::region_notification_endpoints::DeleteRequest,
9895        _options: gax::options::RequestOptions,
9896    ) -> impl std::future::Future<
9897        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9898    > + Send {
9899        gaxi::unimplemented::unimplemented_stub()
9900    }
9901
9902    /// Implements [super::client::RegionNotificationEndpoints::get].
9903    fn get(
9904        &self,
9905        _req: crate::model::region_notification_endpoints::GetRequest,
9906        _options: gax::options::RequestOptions,
9907    ) -> impl std::future::Future<
9908        Output = crate::Result<gax::response::Response<crate::model::NotificationEndpoint>>,
9909    > + Send {
9910        gaxi::unimplemented::unimplemented_stub()
9911    }
9912
9913    /// Implements [super::client::RegionNotificationEndpoints::insert].
9914    fn insert(
9915        &self,
9916        _req: crate::model::region_notification_endpoints::InsertRequest,
9917        _options: gax::options::RequestOptions,
9918    ) -> impl std::future::Future<
9919        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9920    > + Send {
9921        gaxi::unimplemented::unimplemented_stub()
9922    }
9923
9924    /// Implements [super::client::RegionNotificationEndpoints::list].
9925    fn list(
9926        &self,
9927        _req: crate::model::region_notification_endpoints::ListRequest,
9928        _options: gax::options::RequestOptions,
9929    ) -> impl std::future::Future<
9930        Output = crate::Result<gax::response::Response<crate::model::NotificationEndpointList>>,
9931    > + Send {
9932        gaxi::unimplemented::unimplemented_stub()
9933    }
9934
9935    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
9936    fn test_iam_permissions(
9937        &self,
9938        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
9939        _options: gax::options::RequestOptions,
9940    ) -> impl std::future::Future<
9941        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
9942    > + Send {
9943        gaxi::unimplemented::unimplemented_stub()
9944    }
9945
9946    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
9947    fn get_operation(
9948        &self,
9949        _req: crate::model::region_operations::GetRequest,
9950        _options: gax::options::RequestOptions,
9951    ) -> impl std::future::Future<
9952        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
9953    > + Send {
9954        gaxi::unimplemented::unimplemented_stub()
9955    }
9956
9957    /// Returns the polling error policy.
9958    ///
9959    /// When mocking, this method is typically irrelevant. Do not try to verify
9960    /// it is called by your mocks.
9961    fn get_polling_error_policy(
9962        &self,
9963        _options: &gax::options::RequestOptions,
9964    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9965        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9966    }
9967
9968    /// Returns the polling backoff policy.
9969    ///
9970    /// When mocking, this method is typically irrelevant. Do not try to verify
9971    /// it is called by your mocks.
9972    fn get_polling_backoff_policy(
9973        &self,
9974        _options: &gax::options::RequestOptions,
9975    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9976        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9977    }
9978}
9979
9980/// Defines the trait used to implement [super::client::RegionOperations].
9981///
9982/// Application developers may need to implement this trait to mock
9983/// `client::RegionOperations`.  In other use-cases, application developers only
9984/// use `client::RegionOperations` and need not be concerned with this trait or
9985/// its implementations.
9986///
9987/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9988/// too. To avoid breaking applications the trait provides a default
9989/// implementation of each method. Most of these implementations just return an
9990/// error.
9991#[cfg(feature = "region-operations")]
9992#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
9993pub trait RegionOperations: std::fmt::Debug + Send + Sync {
9994    /// Implements [super::client::RegionOperations::delete].
9995    fn delete(
9996        &self,
9997        _req: crate::model::region_operations::DeleteRequest,
9998        _options: gax::options::RequestOptions,
9999    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
10000        gaxi::unimplemented::unimplemented_stub()
10001    }
10002
10003    /// Implements [super::client::RegionOperations::get].
10004    fn get(
10005        &self,
10006        _req: crate::model::region_operations::GetRequest,
10007        _options: gax::options::RequestOptions,
10008    ) -> impl std::future::Future<
10009        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10010    > + Send {
10011        gaxi::unimplemented::unimplemented_stub()
10012    }
10013
10014    /// Implements [super::client::RegionOperations::list].
10015    fn list(
10016        &self,
10017        _req: crate::model::region_operations::ListRequest,
10018        _options: gax::options::RequestOptions,
10019    ) -> impl std::future::Future<
10020        Output = crate::Result<gax::response::Response<crate::model::OperationList>>,
10021    > + Send {
10022        gaxi::unimplemented::unimplemented_stub()
10023    }
10024
10025    /// Implements [super::client::RegionOperations::wait].
10026    fn wait(
10027        &self,
10028        _req: crate::model::region_operations::WaitRequest,
10029        _options: gax::options::RequestOptions,
10030    ) -> impl std::future::Future<
10031        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10032    > + Send {
10033        gaxi::unimplemented::unimplemented_stub()
10034    }
10035}
10036
10037/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
10038///
10039/// Application developers may need to implement this trait to mock
10040/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
10041/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
10042/// its implementations.
10043///
10044/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10045/// too. To avoid breaking applications the trait provides a default
10046/// implementation of each method. Most of these implementations just return an
10047/// error.
10048#[cfg(feature = "region-security-policies")]
10049#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
10050pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
10051    /// Implements [super::client::RegionSecurityPolicies::add_rule].
10052    fn add_rule(
10053        &self,
10054        _req: crate::model::region_security_policies::AddRuleRequest,
10055        _options: gax::options::RequestOptions,
10056    ) -> impl std::future::Future<
10057        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10058    > + Send {
10059        gaxi::unimplemented::unimplemented_stub()
10060    }
10061
10062    /// Implements [super::client::RegionSecurityPolicies::delete].
10063    fn delete(
10064        &self,
10065        _req: crate::model::region_security_policies::DeleteRequest,
10066        _options: gax::options::RequestOptions,
10067    ) -> impl std::future::Future<
10068        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10069    > + Send {
10070        gaxi::unimplemented::unimplemented_stub()
10071    }
10072
10073    /// Implements [super::client::RegionSecurityPolicies::get].
10074    fn get(
10075        &self,
10076        _req: crate::model::region_security_policies::GetRequest,
10077        _options: gax::options::RequestOptions,
10078    ) -> impl std::future::Future<
10079        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicy>>,
10080    > + Send {
10081        gaxi::unimplemented::unimplemented_stub()
10082    }
10083
10084    /// Implements [super::client::RegionSecurityPolicies::get_rule].
10085    fn get_rule(
10086        &self,
10087        _req: crate::model::region_security_policies::GetRuleRequest,
10088        _options: gax::options::RequestOptions,
10089    ) -> impl std::future::Future<
10090        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyRule>>,
10091    > + Send {
10092        gaxi::unimplemented::unimplemented_stub()
10093    }
10094
10095    /// Implements [super::client::RegionSecurityPolicies::insert].
10096    fn insert(
10097        &self,
10098        _req: crate::model::region_security_policies::InsertRequest,
10099        _options: gax::options::RequestOptions,
10100    ) -> impl std::future::Future<
10101        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10102    > + Send {
10103        gaxi::unimplemented::unimplemented_stub()
10104    }
10105
10106    /// Implements [super::client::RegionSecurityPolicies::list].
10107    fn list(
10108        &self,
10109        _req: crate::model::region_security_policies::ListRequest,
10110        _options: gax::options::RequestOptions,
10111    ) -> impl std::future::Future<
10112        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyList>>,
10113    > + Send {
10114        gaxi::unimplemented::unimplemented_stub()
10115    }
10116
10117    /// Implements [super::client::RegionSecurityPolicies::patch].
10118    fn patch(
10119        &self,
10120        _req: crate::model::region_security_policies::PatchRequest,
10121        _options: gax::options::RequestOptions,
10122    ) -> impl std::future::Future<
10123        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10124    > + Send {
10125        gaxi::unimplemented::unimplemented_stub()
10126    }
10127
10128    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
10129    fn patch_rule(
10130        &self,
10131        _req: crate::model::region_security_policies::PatchRuleRequest,
10132        _options: gax::options::RequestOptions,
10133    ) -> impl std::future::Future<
10134        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10135    > + Send {
10136        gaxi::unimplemented::unimplemented_stub()
10137    }
10138
10139    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
10140    fn remove_rule(
10141        &self,
10142        _req: crate::model::region_security_policies::RemoveRuleRequest,
10143        _options: gax::options::RequestOptions,
10144    ) -> impl std::future::Future<
10145        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10146    > + Send {
10147        gaxi::unimplemented::unimplemented_stub()
10148    }
10149
10150    /// Implements [super::client::RegionSecurityPolicies::set_labels].
10151    fn set_labels(
10152        &self,
10153        _req: crate::model::region_security_policies::SetLabelsRequest,
10154        _options: gax::options::RequestOptions,
10155    ) -> impl std::future::Future<
10156        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10157    > + Send {
10158        gaxi::unimplemented::unimplemented_stub()
10159    }
10160
10161    /// Implements [super::client::RegionSecurityPolicies::get_operation].
10162    fn get_operation(
10163        &self,
10164        _req: crate::model::region_operations::GetRequest,
10165        _options: gax::options::RequestOptions,
10166    ) -> impl std::future::Future<
10167        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10168    > + Send {
10169        gaxi::unimplemented::unimplemented_stub()
10170    }
10171
10172    /// Returns the polling error policy.
10173    ///
10174    /// When mocking, this method is typically irrelevant. Do not try to verify
10175    /// it is called by your mocks.
10176    fn get_polling_error_policy(
10177        &self,
10178        _options: &gax::options::RequestOptions,
10179    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10180        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10181    }
10182
10183    /// Returns the polling backoff policy.
10184    ///
10185    /// When mocking, this method is typically irrelevant. Do not try to verify
10186    /// it is called by your mocks.
10187    fn get_polling_backoff_policy(
10188        &self,
10189        _options: &gax::options::RequestOptions,
10190    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10191        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10192    }
10193}
10194
10195/// Defines the trait used to implement [super::client::RegionSslCertificates].
10196///
10197/// Application developers may need to implement this trait to mock
10198/// `client::RegionSslCertificates`.  In other use-cases, application developers only
10199/// use `client::RegionSslCertificates` and need not be concerned with this trait or
10200/// its implementations.
10201///
10202/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10203/// too. To avoid breaking applications the trait provides a default
10204/// implementation of each method. Most of these implementations just return an
10205/// error.
10206#[cfg(feature = "region-ssl-certificates")]
10207#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
10208pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
10209    /// Implements [super::client::RegionSslCertificates::delete].
10210    fn delete(
10211        &self,
10212        _req: crate::model::region_ssl_certificates::DeleteRequest,
10213        _options: gax::options::RequestOptions,
10214    ) -> impl std::future::Future<
10215        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10216    > + Send {
10217        gaxi::unimplemented::unimplemented_stub()
10218    }
10219
10220    /// Implements [super::client::RegionSslCertificates::get].
10221    fn get(
10222        &self,
10223        _req: crate::model::region_ssl_certificates::GetRequest,
10224        _options: gax::options::RequestOptions,
10225    ) -> impl std::future::Future<
10226        Output = crate::Result<gax::response::Response<crate::model::SslCertificate>>,
10227    > + Send {
10228        gaxi::unimplemented::unimplemented_stub()
10229    }
10230
10231    /// Implements [super::client::RegionSslCertificates::insert].
10232    fn insert(
10233        &self,
10234        _req: crate::model::region_ssl_certificates::InsertRequest,
10235        _options: gax::options::RequestOptions,
10236    ) -> impl std::future::Future<
10237        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10238    > + Send {
10239        gaxi::unimplemented::unimplemented_stub()
10240    }
10241
10242    /// Implements [super::client::RegionSslCertificates::list].
10243    fn list(
10244        &self,
10245        _req: crate::model::region_ssl_certificates::ListRequest,
10246        _options: gax::options::RequestOptions,
10247    ) -> impl std::future::Future<
10248        Output = crate::Result<gax::response::Response<crate::model::SslCertificateList>>,
10249    > + Send {
10250        gaxi::unimplemented::unimplemented_stub()
10251    }
10252
10253    /// Implements [super::client::RegionSslCertificates::get_operation].
10254    fn get_operation(
10255        &self,
10256        _req: crate::model::region_operations::GetRequest,
10257        _options: gax::options::RequestOptions,
10258    ) -> impl std::future::Future<
10259        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10260    > + Send {
10261        gaxi::unimplemented::unimplemented_stub()
10262    }
10263
10264    /// Returns the polling error policy.
10265    ///
10266    /// When mocking, this method is typically irrelevant. Do not try to verify
10267    /// it is called by your mocks.
10268    fn get_polling_error_policy(
10269        &self,
10270        _options: &gax::options::RequestOptions,
10271    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10272        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10273    }
10274
10275    /// Returns the polling backoff policy.
10276    ///
10277    /// When mocking, this method is typically irrelevant. Do not try to verify
10278    /// it is called by your mocks.
10279    fn get_polling_backoff_policy(
10280        &self,
10281        _options: &gax::options::RequestOptions,
10282    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10283        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10284    }
10285}
10286
10287/// Defines the trait used to implement [super::client::RegionSslPolicies].
10288///
10289/// Application developers may need to implement this trait to mock
10290/// `client::RegionSslPolicies`.  In other use-cases, application developers only
10291/// use `client::RegionSslPolicies` and need not be concerned with this trait or
10292/// its implementations.
10293///
10294/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10295/// too. To avoid breaking applications the trait provides a default
10296/// implementation of each method. Most of these implementations just return an
10297/// error.
10298#[cfg(feature = "region-ssl-policies")]
10299#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
10300pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
10301    /// Implements [super::client::RegionSslPolicies::delete].
10302    fn delete(
10303        &self,
10304        _req: crate::model::region_ssl_policies::DeleteRequest,
10305        _options: gax::options::RequestOptions,
10306    ) -> impl std::future::Future<
10307        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10308    > + Send {
10309        gaxi::unimplemented::unimplemented_stub()
10310    }
10311
10312    /// Implements [super::client::RegionSslPolicies::get].
10313    fn get(
10314        &self,
10315        _req: crate::model::region_ssl_policies::GetRequest,
10316        _options: gax::options::RequestOptions,
10317    ) -> impl std::future::Future<
10318        Output = crate::Result<gax::response::Response<crate::model::SslPolicy>>,
10319    > + Send {
10320        gaxi::unimplemented::unimplemented_stub()
10321    }
10322
10323    /// Implements [super::client::RegionSslPolicies::insert].
10324    fn insert(
10325        &self,
10326        _req: crate::model::region_ssl_policies::InsertRequest,
10327        _options: gax::options::RequestOptions,
10328    ) -> impl std::future::Future<
10329        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10330    > + Send {
10331        gaxi::unimplemented::unimplemented_stub()
10332    }
10333
10334    /// Implements [super::client::RegionSslPolicies::list].
10335    fn list(
10336        &self,
10337        _req: crate::model::region_ssl_policies::ListRequest,
10338        _options: gax::options::RequestOptions,
10339    ) -> impl std::future::Future<
10340        Output = crate::Result<gax::response::Response<crate::model::SslPoliciesList>>,
10341    > + Send {
10342        gaxi::unimplemented::unimplemented_stub()
10343    }
10344
10345    /// Implements [super::client::RegionSslPolicies::list_available_features].
10346    fn list_available_features(
10347        &self,
10348        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
10349        _options: gax::options::RequestOptions,
10350    ) -> impl std::future::Future<
10351        Output = crate::Result<
10352            gax::response::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
10353        >,
10354    > + Send {
10355        gaxi::unimplemented::unimplemented_stub()
10356    }
10357
10358    /// Implements [super::client::RegionSslPolicies::patch].
10359    fn patch(
10360        &self,
10361        _req: crate::model::region_ssl_policies::PatchRequest,
10362        _options: gax::options::RequestOptions,
10363    ) -> impl std::future::Future<
10364        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10365    > + Send {
10366        gaxi::unimplemented::unimplemented_stub()
10367    }
10368
10369    /// Implements [super::client::RegionSslPolicies::get_operation].
10370    fn get_operation(
10371        &self,
10372        _req: crate::model::region_operations::GetRequest,
10373        _options: gax::options::RequestOptions,
10374    ) -> impl std::future::Future<
10375        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10376    > + Send {
10377        gaxi::unimplemented::unimplemented_stub()
10378    }
10379
10380    /// Returns the polling error policy.
10381    ///
10382    /// When mocking, this method is typically irrelevant. Do not try to verify
10383    /// it is called by your mocks.
10384    fn get_polling_error_policy(
10385        &self,
10386        _options: &gax::options::RequestOptions,
10387    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10388        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10389    }
10390
10391    /// Returns the polling backoff policy.
10392    ///
10393    /// When mocking, this method is typically irrelevant. Do not try to verify
10394    /// it is called by your mocks.
10395    fn get_polling_backoff_policy(
10396        &self,
10397        _options: &gax::options::RequestOptions,
10398    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10399        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10400    }
10401}
10402
10403/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
10404///
10405/// Application developers may need to implement this trait to mock
10406/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
10407/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
10408/// its implementations.
10409///
10410/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10411/// too. To avoid breaking applications the trait provides a default
10412/// implementation of each method. Most of these implementations just return an
10413/// error.
10414#[cfg(feature = "region-target-http-proxies")]
10415#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
10416pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
10417    /// Implements [super::client::RegionTargetHttpProxies::delete].
10418    fn delete(
10419        &self,
10420        _req: crate::model::region_target_http_proxies::DeleteRequest,
10421        _options: gax::options::RequestOptions,
10422    ) -> impl std::future::Future<
10423        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10424    > + Send {
10425        gaxi::unimplemented::unimplemented_stub()
10426    }
10427
10428    /// Implements [super::client::RegionTargetHttpProxies::get].
10429    fn get(
10430        &self,
10431        _req: crate::model::region_target_http_proxies::GetRequest,
10432        _options: gax::options::RequestOptions,
10433    ) -> impl std::future::Future<
10434        Output = crate::Result<gax::response::Response<crate::model::TargetHttpProxy>>,
10435    > + Send {
10436        gaxi::unimplemented::unimplemented_stub()
10437    }
10438
10439    /// Implements [super::client::RegionTargetHttpProxies::insert].
10440    fn insert(
10441        &self,
10442        _req: crate::model::region_target_http_proxies::InsertRequest,
10443        _options: gax::options::RequestOptions,
10444    ) -> impl std::future::Future<
10445        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10446    > + Send {
10447        gaxi::unimplemented::unimplemented_stub()
10448    }
10449
10450    /// Implements [super::client::RegionTargetHttpProxies::list].
10451    fn list(
10452        &self,
10453        _req: crate::model::region_target_http_proxies::ListRequest,
10454        _options: gax::options::RequestOptions,
10455    ) -> impl std::future::Future<
10456        Output = crate::Result<gax::response::Response<crate::model::TargetHttpProxyList>>,
10457    > + Send {
10458        gaxi::unimplemented::unimplemented_stub()
10459    }
10460
10461    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
10462    fn set_url_map(
10463        &self,
10464        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
10465        _options: gax::options::RequestOptions,
10466    ) -> impl std::future::Future<
10467        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10468    > + Send {
10469        gaxi::unimplemented::unimplemented_stub()
10470    }
10471
10472    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
10473    fn get_operation(
10474        &self,
10475        _req: crate::model::region_operations::GetRequest,
10476        _options: gax::options::RequestOptions,
10477    ) -> impl std::future::Future<
10478        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10479    > + Send {
10480        gaxi::unimplemented::unimplemented_stub()
10481    }
10482
10483    /// Returns the polling error policy.
10484    ///
10485    /// When mocking, this method is typically irrelevant. Do not try to verify
10486    /// it is called by your mocks.
10487    fn get_polling_error_policy(
10488        &self,
10489        _options: &gax::options::RequestOptions,
10490    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10491        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10492    }
10493
10494    /// Returns the polling backoff policy.
10495    ///
10496    /// When mocking, this method is typically irrelevant. Do not try to verify
10497    /// it is called by your mocks.
10498    fn get_polling_backoff_policy(
10499        &self,
10500        _options: &gax::options::RequestOptions,
10501    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10502        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10503    }
10504}
10505
10506/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
10507///
10508/// Application developers may need to implement this trait to mock
10509/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
10510/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
10511/// its implementations.
10512///
10513/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10514/// too. To avoid breaking applications the trait provides a default
10515/// implementation of each method. Most of these implementations just return an
10516/// error.
10517#[cfg(feature = "region-target-https-proxies")]
10518#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
10519pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
10520    /// Implements [super::client::RegionTargetHttpsProxies::delete].
10521    fn delete(
10522        &self,
10523        _req: crate::model::region_target_https_proxies::DeleteRequest,
10524        _options: gax::options::RequestOptions,
10525    ) -> impl std::future::Future<
10526        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10527    > + Send {
10528        gaxi::unimplemented::unimplemented_stub()
10529    }
10530
10531    /// Implements [super::client::RegionTargetHttpsProxies::get].
10532    fn get(
10533        &self,
10534        _req: crate::model::region_target_https_proxies::GetRequest,
10535        _options: gax::options::RequestOptions,
10536    ) -> impl std::future::Future<
10537        Output = crate::Result<gax::response::Response<crate::model::TargetHttpsProxy>>,
10538    > + Send {
10539        gaxi::unimplemented::unimplemented_stub()
10540    }
10541
10542    /// Implements [super::client::RegionTargetHttpsProxies::insert].
10543    fn insert(
10544        &self,
10545        _req: crate::model::region_target_https_proxies::InsertRequest,
10546        _options: gax::options::RequestOptions,
10547    ) -> impl std::future::Future<
10548        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10549    > + Send {
10550        gaxi::unimplemented::unimplemented_stub()
10551    }
10552
10553    /// Implements [super::client::RegionTargetHttpsProxies::list].
10554    fn list(
10555        &self,
10556        _req: crate::model::region_target_https_proxies::ListRequest,
10557        _options: gax::options::RequestOptions,
10558    ) -> impl std::future::Future<
10559        Output = crate::Result<gax::response::Response<crate::model::TargetHttpsProxyList>>,
10560    > + Send {
10561        gaxi::unimplemented::unimplemented_stub()
10562    }
10563
10564    /// Implements [super::client::RegionTargetHttpsProxies::patch].
10565    fn patch(
10566        &self,
10567        _req: crate::model::region_target_https_proxies::PatchRequest,
10568        _options: gax::options::RequestOptions,
10569    ) -> impl std::future::Future<
10570        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10571    > + Send {
10572        gaxi::unimplemented::unimplemented_stub()
10573    }
10574
10575    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
10576    fn set_ssl_certificates(
10577        &self,
10578        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
10579        _options: gax::options::RequestOptions,
10580    ) -> impl std::future::Future<
10581        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10582    > + Send {
10583        gaxi::unimplemented::unimplemented_stub()
10584    }
10585
10586    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
10587    fn set_url_map(
10588        &self,
10589        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
10590        _options: gax::options::RequestOptions,
10591    ) -> impl std::future::Future<
10592        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10593    > + Send {
10594        gaxi::unimplemented::unimplemented_stub()
10595    }
10596
10597    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
10598    fn get_operation(
10599        &self,
10600        _req: crate::model::region_operations::GetRequest,
10601        _options: gax::options::RequestOptions,
10602    ) -> impl std::future::Future<
10603        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10604    > + Send {
10605        gaxi::unimplemented::unimplemented_stub()
10606    }
10607
10608    /// Returns the polling error policy.
10609    ///
10610    /// When mocking, this method is typically irrelevant. Do not try to verify
10611    /// it is called by your mocks.
10612    fn get_polling_error_policy(
10613        &self,
10614        _options: &gax::options::RequestOptions,
10615    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10616        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10617    }
10618
10619    /// Returns the polling backoff policy.
10620    ///
10621    /// When mocking, this method is typically irrelevant. Do not try to verify
10622    /// it is called by your mocks.
10623    fn get_polling_backoff_policy(
10624        &self,
10625        _options: &gax::options::RequestOptions,
10626    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10627        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10628    }
10629}
10630
10631/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
10632///
10633/// Application developers may need to implement this trait to mock
10634/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
10635/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
10636/// its implementations.
10637///
10638/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10639/// too. To avoid breaking applications the trait provides a default
10640/// implementation of each method. Most of these implementations just return an
10641/// error.
10642#[cfg(feature = "region-target-tcp-proxies")]
10643#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
10644pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
10645    /// Implements [super::client::RegionTargetTcpProxies::delete].
10646    fn delete(
10647        &self,
10648        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
10649        _options: gax::options::RequestOptions,
10650    ) -> impl std::future::Future<
10651        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10652    > + Send {
10653        gaxi::unimplemented::unimplemented_stub()
10654    }
10655
10656    /// Implements [super::client::RegionTargetTcpProxies::get].
10657    fn get(
10658        &self,
10659        _req: crate::model::region_target_tcp_proxies::GetRequest,
10660        _options: gax::options::RequestOptions,
10661    ) -> impl std::future::Future<
10662        Output = crate::Result<gax::response::Response<crate::model::TargetTcpProxy>>,
10663    > + Send {
10664        gaxi::unimplemented::unimplemented_stub()
10665    }
10666
10667    /// Implements [super::client::RegionTargetTcpProxies::insert].
10668    fn insert(
10669        &self,
10670        _req: crate::model::region_target_tcp_proxies::InsertRequest,
10671        _options: gax::options::RequestOptions,
10672    ) -> impl std::future::Future<
10673        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10674    > + Send {
10675        gaxi::unimplemented::unimplemented_stub()
10676    }
10677
10678    /// Implements [super::client::RegionTargetTcpProxies::list].
10679    fn list(
10680        &self,
10681        _req: crate::model::region_target_tcp_proxies::ListRequest,
10682        _options: gax::options::RequestOptions,
10683    ) -> impl std::future::Future<
10684        Output = crate::Result<gax::response::Response<crate::model::TargetTcpProxyList>>,
10685    > + Send {
10686        gaxi::unimplemented::unimplemented_stub()
10687    }
10688
10689    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
10690    fn get_operation(
10691        &self,
10692        _req: crate::model::region_operations::GetRequest,
10693        _options: gax::options::RequestOptions,
10694    ) -> impl std::future::Future<
10695        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10696    > + Send {
10697        gaxi::unimplemented::unimplemented_stub()
10698    }
10699
10700    /// Returns the polling error policy.
10701    ///
10702    /// When mocking, this method is typically irrelevant. Do not try to verify
10703    /// it is called by your mocks.
10704    fn get_polling_error_policy(
10705        &self,
10706        _options: &gax::options::RequestOptions,
10707    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10708        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10709    }
10710
10711    /// Returns the polling backoff policy.
10712    ///
10713    /// When mocking, this method is typically irrelevant. Do not try to verify
10714    /// it is called by your mocks.
10715    fn get_polling_backoff_policy(
10716        &self,
10717        _options: &gax::options::RequestOptions,
10718    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10719        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10720    }
10721}
10722
10723/// Defines the trait used to implement [super::client::RegionUrlMaps].
10724///
10725/// Application developers may need to implement this trait to mock
10726/// `client::RegionUrlMaps`.  In other use-cases, application developers only
10727/// use `client::RegionUrlMaps` 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-url-maps")]
10735#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
10736pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
10737    /// Implements [super::client::RegionUrlMaps::delete].
10738    fn delete(
10739        &self,
10740        _req: crate::model::region_url_maps::DeleteRequest,
10741        _options: gax::options::RequestOptions,
10742    ) -> impl std::future::Future<
10743        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10744    > + Send {
10745        gaxi::unimplemented::unimplemented_stub()
10746    }
10747
10748    /// Implements [super::client::RegionUrlMaps::get].
10749    fn get(
10750        &self,
10751        _req: crate::model::region_url_maps::GetRequest,
10752        _options: gax::options::RequestOptions,
10753    ) -> impl std::future::Future<
10754        Output = crate::Result<gax::response::Response<crate::model::UrlMap>>,
10755    > + Send {
10756        gaxi::unimplemented::unimplemented_stub()
10757    }
10758
10759    /// Implements [super::client::RegionUrlMaps::insert].
10760    fn insert(
10761        &self,
10762        _req: crate::model::region_url_maps::InsertRequest,
10763        _options: gax::options::RequestOptions,
10764    ) -> impl std::future::Future<
10765        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10766    > + Send {
10767        gaxi::unimplemented::unimplemented_stub()
10768    }
10769
10770    /// Implements [super::client::RegionUrlMaps::list].
10771    fn list(
10772        &self,
10773        _req: crate::model::region_url_maps::ListRequest,
10774        _options: gax::options::RequestOptions,
10775    ) -> impl std::future::Future<
10776        Output = crate::Result<gax::response::Response<crate::model::UrlMapList>>,
10777    > + Send {
10778        gaxi::unimplemented::unimplemented_stub()
10779    }
10780
10781    /// Implements [super::client::RegionUrlMaps::patch].
10782    fn patch(
10783        &self,
10784        _req: crate::model::region_url_maps::PatchRequest,
10785        _options: gax::options::RequestOptions,
10786    ) -> impl std::future::Future<
10787        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10788    > + Send {
10789        gaxi::unimplemented::unimplemented_stub()
10790    }
10791
10792    /// Implements [super::client::RegionUrlMaps::update].
10793    fn update(
10794        &self,
10795        _req: crate::model::region_url_maps::UpdateRequest,
10796        _options: gax::options::RequestOptions,
10797    ) -> impl std::future::Future<
10798        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10799    > + Send {
10800        gaxi::unimplemented::unimplemented_stub()
10801    }
10802
10803    /// Implements [super::client::RegionUrlMaps::validate].
10804    fn validate(
10805        &self,
10806        _req: crate::model::region_url_maps::ValidateRequest,
10807        _options: gax::options::RequestOptions,
10808    ) -> impl std::future::Future<
10809        Output = crate::Result<gax::response::Response<crate::model::UrlMapsValidateResponse>>,
10810    > + Send {
10811        gaxi::unimplemented::unimplemented_stub()
10812    }
10813
10814    /// Implements [super::client::RegionUrlMaps::get_operation].
10815    fn get_operation(
10816        &self,
10817        _req: crate::model::region_operations::GetRequest,
10818        _options: gax::options::RequestOptions,
10819    ) -> impl std::future::Future<
10820        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10821    > + Send {
10822        gaxi::unimplemented::unimplemented_stub()
10823    }
10824
10825    /// Returns the polling error policy.
10826    ///
10827    /// When mocking, this method is typically irrelevant. Do not try to verify
10828    /// it is called by your mocks.
10829    fn get_polling_error_policy(
10830        &self,
10831        _options: &gax::options::RequestOptions,
10832    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
10833        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
10834    }
10835
10836    /// Returns the polling backoff policy.
10837    ///
10838    /// When mocking, this method is typically irrelevant. Do not try to verify
10839    /// it is called by your mocks.
10840    fn get_polling_backoff_policy(
10841        &self,
10842        _options: &gax::options::RequestOptions,
10843    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
10844        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
10845    }
10846}
10847
10848/// Defines the trait used to implement [super::client::RegionZones].
10849///
10850/// Application developers may need to implement this trait to mock
10851/// `client::RegionZones`.  In other use-cases, application developers only
10852/// use `client::RegionZones` and need not be concerned with this trait or
10853/// its implementations.
10854///
10855/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10856/// too. To avoid breaking applications the trait provides a default
10857/// implementation of each method. Most of these implementations just return an
10858/// error.
10859#[cfg(feature = "region-zones")]
10860#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
10861pub trait RegionZones: std::fmt::Debug + Send + Sync {
10862    /// Implements [super::client::RegionZones::list].
10863    fn list(
10864        &self,
10865        _req: crate::model::region_zones::ListRequest,
10866        _options: gax::options::RequestOptions,
10867    ) -> impl std::future::Future<
10868        Output = crate::Result<gax::response::Response<crate::model::ZoneList>>,
10869    > + Send {
10870        gaxi::unimplemented::unimplemented_stub()
10871    }
10872}
10873
10874/// Defines the trait used to implement [super::client::Regions].
10875///
10876/// Application developers may need to implement this trait to mock
10877/// `client::Regions`.  In other use-cases, application developers only
10878/// use `client::Regions` and need not be concerned with this trait or
10879/// its implementations.
10880///
10881/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10882/// too. To avoid breaking applications the trait provides a default
10883/// implementation of each method. Most of these implementations just return an
10884/// error.
10885#[cfg(feature = "regions")]
10886#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
10887pub trait Regions: std::fmt::Debug + Send + Sync {
10888    /// Implements [super::client::Regions::get].
10889    fn get(
10890        &self,
10891        _req: crate::model::regions::GetRequest,
10892        _options: gax::options::RequestOptions,
10893    ) -> impl std::future::Future<
10894        Output = crate::Result<gax::response::Response<crate::model::Region>>,
10895    > + Send {
10896        gaxi::unimplemented::unimplemented_stub()
10897    }
10898
10899    /// Implements [super::client::Regions::list].
10900    fn list(
10901        &self,
10902        _req: crate::model::regions::ListRequest,
10903        _options: gax::options::RequestOptions,
10904    ) -> impl std::future::Future<
10905        Output = crate::Result<gax::response::Response<crate::model::RegionList>>,
10906    > + Send {
10907        gaxi::unimplemented::unimplemented_stub()
10908    }
10909}
10910
10911/// Defines the trait used to implement [super::client::ReservationBlocks].
10912///
10913/// Application developers may need to implement this trait to mock
10914/// `client::ReservationBlocks`.  In other use-cases, application developers only
10915/// use `client::ReservationBlocks` and need not be concerned with this trait or
10916/// its implementations.
10917///
10918/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10919/// too. To avoid breaking applications the trait provides a default
10920/// implementation of each method. Most of these implementations just return an
10921/// error.
10922#[cfg(feature = "reservation-blocks")]
10923#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
10924pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
10925    /// Implements [super::client::ReservationBlocks::get].
10926    fn get(
10927        &self,
10928        _req: crate::model::reservation_blocks::GetRequest,
10929        _options: gax::options::RequestOptions,
10930    ) -> impl std::future::Future<
10931        Output = crate::Result<gax::response::Response<crate::model::ReservationBlocksGetResponse>>,
10932    > + Send {
10933        gaxi::unimplemented::unimplemented_stub()
10934    }
10935
10936    /// Implements [super::client::ReservationBlocks::get_iam_policy].
10937    fn get_iam_policy(
10938        &self,
10939        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
10940        _options: gax::options::RequestOptions,
10941    ) -> impl std::future::Future<
10942        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
10943    > + Send {
10944        gaxi::unimplemented::unimplemented_stub()
10945    }
10946
10947    /// Implements [super::client::ReservationBlocks::list].
10948    fn list(
10949        &self,
10950        _req: crate::model::reservation_blocks::ListRequest,
10951        _options: gax::options::RequestOptions,
10952    ) -> impl std::future::Future<
10953        Output = crate::Result<
10954            gax::response::Response<crate::model::ReservationBlocksListResponse>,
10955        >,
10956    > + Send {
10957        gaxi::unimplemented::unimplemented_stub()
10958    }
10959
10960    /// Implements [super::client::ReservationBlocks::perform_maintenance].
10961    fn perform_maintenance(
10962        &self,
10963        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
10964        _options: gax::options::RequestOptions,
10965    ) -> impl std::future::Future<
10966        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
10967    > + Send {
10968        gaxi::unimplemented::unimplemented_stub()
10969    }
10970
10971    /// Implements [super::client::ReservationBlocks::set_iam_policy].
10972    fn set_iam_policy(
10973        &self,
10974        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
10975        _options: gax::options::RequestOptions,
10976    ) -> impl std::future::Future<
10977        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
10978    > + Send {
10979        gaxi::unimplemented::unimplemented_stub()
10980    }
10981
10982    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
10983    fn test_iam_permissions(
10984        &self,
10985        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
10986        _options: gax::options::RequestOptions,
10987    ) -> impl std::future::Future<
10988        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
10989    > + Send {
10990        gaxi::unimplemented::unimplemented_stub()
10991    }
10992
10993    /// Implements [super::client::ReservationBlocks::get_operation].
10994    fn get_operation(
10995        &self,
10996        _req: crate::model::zone_operations::GetRequest,
10997        _options: gax::options::RequestOptions,
10998    ) -> impl std::future::Future<
10999        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11000    > + Send {
11001        gaxi::unimplemented::unimplemented_stub()
11002    }
11003
11004    /// Returns the polling error policy.
11005    ///
11006    /// When mocking, this method is typically irrelevant. Do not try to verify
11007    /// it is called by your mocks.
11008    fn get_polling_error_policy(
11009        &self,
11010        _options: &gax::options::RequestOptions,
11011    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11012        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11013    }
11014
11015    /// Returns the polling backoff policy.
11016    ///
11017    /// When mocking, this method is typically irrelevant. Do not try to verify
11018    /// it is called by your mocks.
11019    fn get_polling_backoff_policy(
11020        &self,
11021        _options: &gax::options::RequestOptions,
11022    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11023        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11024    }
11025}
11026
11027/// Defines the trait used to implement [super::client::ReservationSlots].
11028///
11029/// Application developers may need to implement this trait to mock
11030/// `client::ReservationSlots`.  In other use-cases, application developers only
11031/// use `client::ReservationSlots` and need not be concerned with this trait or
11032/// its implementations.
11033///
11034/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11035/// too. To avoid breaking applications the trait provides a default
11036/// implementation of each method. Most of these implementations just return an
11037/// error.
11038#[cfg(feature = "reservation-slots")]
11039#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
11040pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
11041    /// Implements [super::client::ReservationSlots::get].
11042    fn get(
11043        &self,
11044        _req: crate::model::reservation_slots::GetRequest,
11045        _options: gax::options::RequestOptions,
11046    ) -> impl std::future::Future<
11047        Output = crate::Result<gax::response::Response<crate::model::ReservationSlotsGetResponse>>,
11048    > + Send {
11049        gaxi::unimplemented::unimplemented_stub()
11050    }
11051
11052    /// Implements [super::client::ReservationSlots::list].
11053    fn list(
11054        &self,
11055        _req: crate::model::reservation_slots::ListRequest,
11056        _options: gax::options::RequestOptions,
11057    ) -> impl std::future::Future<
11058        Output = crate::Result<gax::response::Response<crate::model::ReservationSlotsListResponse>>,
11059    > + Send {
11060        gaxi::unimplemented::unimplemented_stub()
11061    }
11062
11063    /// Implements [super::client::ReservationSlots::update].
11064    fn update(
11065        &self,
11066        _req: crate::model::reservation_slots::UpdateRequest,
11067        _options: gax::options::RequestOptions,
11068    ) -> impl std::future::Future<
11069        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11070    > + Send {
11071        gaxi::unimplemented::unimplemented_stub()
11072    }
11073
11074    /// Implements [super::client::ReservationSlots::get_operation].
11075    fn get_operation(
11076        &self,
11077        _req: crate::model::zone_operations::GetRequest,
11078        _options: gax::options::RequestOptions,
11079    ) -> impl std::future::Future<
11080        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11081    > + Send {
11082        gaxi::unimplemented::unimplemented_stub()
11083    }
11084
11085    /// Returns the polling error policy.
11086    ///
11087    /// When mocking, this method is typically irrelevant. Do not try to verify
11088    /// it is called by your mocks.
11089    fn get_polling_error_policy(
11090        &self,
11091        _options: &gax::options::RequestOptions,
11092    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11093        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11094    }
11095
11096    /// Returns the polling backoff policy.
11097    ///
11098    /// When mocking, this method is typically irrelevant. Do not try to verify
11099    /// it is called by your mocks.
11100    fn get_polling_backoff_policy(
11101        &self,
11102        _options: &gax::options::RequestOptions,
11103    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11104        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11105    }
11106}
11107
11108/// Defines the trait used to implement [super::client::ReservationSubBlocks].
11109///
11110/// Application developers may need to implement this trait to mock
11111/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
11112/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
11113/// its implementations.
11114///
11115/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11116/// too. To avoid breaking applications the trait provides a default
11117/// implementation of each method. Most of these implementations just return an
11118/// error.
11119#[cfg(feature = "reservation-sub-blocks")]
11120#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
11121pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
11122    /// Implements [super::client::ReservationSubBlocks::get].
11123    fn get(
11124        &self,
11125        _req: crate::model::reservation_sub_blocks::GetRequest,
11126        _options: gax::options::RequestOptions,
11127    ) -> impl std::future::Future<
11128        Output = crate::Result<
11129            gax::response::Response<crate::model::ReservationSubBlocksGetResponse>,
11130        >,
11131    > + Send {
11132        gaxi::unimplemented::unimplemented_stub()
11133    }
11134
11135    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
11136    fn get_iam_policy(
11137        &self,
11138        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
11139        _options: gax::options::RequestOptions,
11140    ) -> impl std::future::Future<
11141        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
11142    > + Send {
11143        gaxi::unimplemented::unimplemented_stub()
11144    }
11145
11146    /// Implements [super::client::ReservationSubBlocks::list].
11147    fn list(
11148        &self,
11149        _req: crate::model::reservation_sub_blocks::ListRequest,
11150        _options: gax::options::RequestOptions,
11151    ) -> impl std::future::Future<
11152        Output = crate::Result<
11153            gax::response::Response<crate::model::ReservationSubBlocksListResponse>,
11154        >,
11155    > + Send {
11156        gaxi::unimplemented::unimplemented_stub()
11157    }
11158
11159    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
11160    fn perform_maintenance(
11161        &self,
11162        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
11163        _options: gax::options::RequestOptions,
11164    ) -> impl std::future::Future<
11165        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11166    > + Send {
11167        gaxi::unimplemented::unimplemented_stub()
11168    }
11169
11170    /// Implements [super::client::ReservationSubBlocks::report_faulty].
11171    fn report_faulty(
11172        &self,
11173        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
11174        _options: gax::options::RequestOptions,
11175    ) -> impl std::future::Future<
11176        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11177    > + Send {
11178        gaxi::unimplemented::unimplemented_stub()
11179    }
11180
11181    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
11182    fn set_iam_policy(
11183        &self,
11184        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
11185        _options: gax::options::RequestOptions,
11186    ) -> impl std::future::Future<
11187        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
11188    > + Send {
11189        gaxi::unimplemented::unimplemented_stub()
11190    }
11191
11192    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
11193    fn test_iam_permissions(
11194        &self,
11195        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
11196        _options: gax::options::RequestOptions,
11197    ) -> impl std::future::Future<
11198        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
11199    > + Send {
11200        gaxi::unimplemented::unimplemented_stub()
11201    }
11202
11203    /// Implements [super::client::ReservationSubBlocks::get_operation].
11204    fn get_operation(
11205        &self,
11206        _req: crate::model::zone_operations::GetRequest,
11207        _options: gax::options::RequestOptions,
11208    ) -> impl std::future::Future<
11209        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11210    > + Send {
11211        gaxi::unimplemented::unimplemented_stub()
11212    }
11213
11214    /// Returns the polling error 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_error_policy(
11219        &self,
11220        _options: &gax::options::RequestOptions,
11221    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11222        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11223    }
11224
11225    /// Returns the polling backoff policy.
11226    ///
11227    /// When mocking, this method is typically irrelevant. Do not try to verify
11228    /// it is called by your mocks.
11229    fn get_polling_backoff_policy(
11230        &self,
11231        _options: &gax::options::RequestOptions,
11232    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11233        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11234    }
11235}
11236
11237/// Defines the trait used to implement [super::client::Reservations].
11238///
11239/// Application developers may need to implement this trait to mock
11240/// `client::Reservations`.  In other use-cases, application developers only
11241/// use `client::Reservations` and need not be concerned with this trait or
11242/// its implementations.
11243///
11244/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11245/// too. To avoid breaking applications the trait provides a default
11246/// implementation of each method. Most of these implementations just return an
11247/// error.
11248#[cfg(feature = "reservations")]
11249#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
11250pub trait Reservations: std::fmt::Debug + Send + Sync {
11251    /// Implements [super::client::Reservations::aggregated_list].
11252    fn aggregated_list(
11253        &self,
11254        _req: crate::model::reservations::AggregatedListRequest,
11255        _options: gax::options::RequestOptions,
11256    ) -> impl std::future::Future<
11257        Output = crate::Result<gax::response::Response<crate::model::ReservationAggregatedList>>,
11258    > + Send {
11259        gaxi::unimplemented::unimplemented_stub()
11260    }
11261
11262    /// Implements [super::client::Reservations::delete].
11263    fn delete(
11264        &self,
11265        _req: crate::model::reservations::DeleteRequest,
11266        _options: gax::options::RequestOptions,
11267    ) -> impl std::future::Future<
11268        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11269    > + Send {
11270        gaxi::unimplemented::unimplemented_stub()
11271    }
11272
11273    /// Implements [super::client::Reservations::get].
11274    fn get(
11275        &self,
11276        _req: crate::model::reservations::GetRequest,
11277        _options: gax::options::RequestOptions,
11278    ) -> impl std::future::Future<
11279        Output = crate::Result<gax::response::Response<crate::model::Reservation>>,
11280    > + Send {
11281        gaxi::unimplemented::unimplemented_stub()
11282    }
11283
11284    /// Implements [super::client::Reservations::get_iam_policy].
11285    fn get_iam_policy(
11286        &self,
11287        _req: crate::model::reservations::GetIamPolicyRequest,
11288        _options: gax::options::RequestOptions,
11289    ) -> impl std::future::Future<
11290        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
11291    > + Send {
11292        gaxi::unimplemented::unimplemented_stub()
11293    }
11294
11295    /// Implements [super::client::Reservations::insert].
11296    fn insert(
11297        &self,
11298        _req: crate::model::reservations::InsertRequest,
11299        _options: gax::options::RequestOptions,
11300    ) -> impl std::future::Future<
11301        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11302    > + Send {
11303        gaxi::unimplemented::unimplemented_stub()
11304    }
11305
11306    /// Implements [super::client::Reservations::list].
11307    fn list(
11308        &self,
11309        _req: crate::model::reservations::ListRequest,
11310        _options: gax::options::RequestOptions,
11311    ) -> impl std::future::Future<
11312        Output = crate::Result<gax::response::Response<crate::model::ReservationList>>,
11313    > + Send {
11314        gaxi::unimplemented::unimplemented_stub()
11315    }
11316
11317    /// Implements [super::client::Reservations::perform_maintenance].
11318    fn perform_maintenance(
11319        &self,
11320        _req: crate::model::reservations::PerformMaintenanceRequest,
11321        _options: gax::options::RequestOptions,
11322    ) -> impl std::future::Future<
11323        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11324    > + Send {
11325        gaxi::unimplemented::unimplemented_stub()
11326    }
11327
11328    /// Implements [super::client::Reservations::resize].
11329    fn resize(
11330        &self,
11331        _req: crate::model::reservations::ResizeRequest,
11332        _options: gax::options::RequestOptions,
11333    ) -> impl std::future::Future<
11334        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11335    > + Send {
11336        gaxi::unimplemented::unimplemented_stub()
11337    }
11338
11339    /// Implements [super::client::Reservations::set_iam_policy].
11340    fn set_iam_policy(
11341        &self,
11342        _req: crate::model::reservations::SetIamPolicyRequest,
11343        _options: gax::options::RequestOptions,
11344    ) -> impl std::future::Future<
11345        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
11346    > + Send {
11347        gaxi::unimplemented::unimplemented_stub()
11348    }
11349
11350    /// Implements [super::client::Reservations::test_iam_permissions].
11351    fn test_iam_permissions(
11352        &self,
11353        _req: crate::model::reservations::TestIamPermissionsRequest,
11354        _options: gax::options::RequestOptions,
11355    ) -> impl std::future::Future<
11356        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
11357    > + Send {
11358        gaxi::unimplemented::unimplemented_stub()
11359    }
11360
11361    /// Implements [super::client::Reservations::update].
11362    fn update(
11363        &self,
11364        _req: crate::model::reservations::UpdateRequest,
11365        _options: gax::options::RequestOptions,
11366    ) -> impl std::future::Future<
11367        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11368    > + Send {
11369        gaxi::unimplemented::unimplemented_stub()
11370    }
11371
11372    /// Implements [super::client::Reservations::get_operation].
11373    fn get_operation(
11374        &self,
11375        _req: crate::model::zone_operations::GetRequest,
11376        _options: gax::options::RequestOptions,
11377    ) -> impl std::future::Future<
11378        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11379    > + Send {
11380        gaxi::unimplemented::unimplemented_stub()
11381    }
11382
11383    /// Returns the polling error policy.
11384    ///
11385    /// When mocking, this method is typically irrelevant. Do not try to verify
11386    /// it is called by your mocks.
11387    fn get_polling_error_policy(
11388        &self,
11389        _options: &gax::options::RequestOptions,
11390    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11391        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11392    }
11393
11394    /// Returns the polling backoff policy.
11395    ///
11396    /// When mocking, this method is typically irrelevant. Do not try to verify
11397    /// it is called by your mocks.
11398    fn get_polling_backoff_policy(
11399        &self,
11400        _options: &gax::options::RequestOptions,
11401    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11402        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11403    }
11404}
11405
11406/// Defines the trait used to implement [super::client::ResourcePolicies].
11407///
11408/// Application developers may need to implement this trait to mock
11409/// `client::ResourcePolicies`.  In other use-cases, application developers only
11410/// use `client::ResourcePolicies` and need not be concerned with this trait or
11411/// its implementations.
11412///
11413/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11414/// too. To avoid breaking applications the trait provides a default
11415/// implementation of each method. Most of these implementations just return an
11416/// error.
11417#[cfg(feature = "resource-policies")]
11418#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
11419pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
11420    /// Implements [super::client::ResourcePolicies::aggregated_list].
11421    fn aggregated_list(
11422        &self,
11423        _req: crate::model::resource_policies::AggregatedListRequest,
11424        _options: gax::options::RequestOptions,
11425    ) -> impl std::future::Future<
11426        Output = crate::Result<gax::response::Response<crate::model::ResourcePolicyAggregatedList>>,
11427    > + Send {
11428        gaxi::unimplemented::unimplemented_stub()
11429    }
11430
11431    /// Implements [super::client::ResourcePolicies::delete].
11432    fn delete(
11433        &self,
11434        _req: crate::model::resource_policies::DeleteRequest,
11435        _options: gax::options::RequestOptions,
11436    ) -> impl std::future::Future<
11437        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11438    > + Send {
11439        gaxi::unimplemented::unimplemented_stub()
11440    }
11441
11442    /// Implements [super::client::ResourcePolicies::get].
11443    fn get(
11444        &self,
11445        _req: crate::model::resource_policies::GetRequest,
11446        _options: gax::options::RequestOptions,
11447    ) -> impl std::future::Future<
11448        Output = crate::Result<gax::response::Response<crate::model::ResourcePolicy>>,
11449    > + Send {
11450        gaxi::unimplemented::unimplemented_stub()
11451    }
11452
11453    /// Implements [super::client::ResourcePolicies::get_iam_policy].
11454    fn get_iam_policy(
11455        &self,
11456        _req: crate::model::resource_policies::GetIamPolicyRequest,
11457        _options: gax::options::RequestOptions,
11458    ) -> impl std::future::Future<
11459        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
11460    > + Send {
11461        gaxi::unimplemented::unimplemented_stub()
11462    }
11463
11464    /// Implements [super::client::ResourcePolicies::insert].
11465    fn insert(
11466        &self,
11467        _req: crate::model::resource_policies::InsertRequest,
11468        _options: gax::options::RequestOptions,
11469    ) -> impl std::future::Future<
11470        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11471    > + Send {
11472        gaxi::unimplemented::unimplemented_stub()
11473    }
11474
11475    /// Implements [super::client::ResourcePolicies::list].
11476    fn list(
11477        &self,
11478        _req: crate::model::resource_policies::ListRequest,
11479        _options: gax::options::RequestOptions,
11480    ) -> impl std::future::Future<
11481        Output = crate::Result<gax::response::Response<crate::model::ResourcePolicyList>>,
11482    > + Send {
11483        gaxi::unimplemented::unimplemented_stub()
11484    }
11485
11486    /// Implements [super::client::ResourcePolicies::patch].
11487    fn patch(
11488        &self,
11489        _req: crate::model::resource_policies::PatchRequest,
11490        _options: gax::options::RequestOptions,
11491    ) -> impl std::future::Future<
11492        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11493    > + Send {
11494        gaxi::unimplemented::unimplemented_stub()
11495    }
11496
11497    /// Implements [super::client::ResourcePolicies::set_iam_policy].
11498    fn set_iam_policy(
11499        &self,
11500        _req: crate::model::resource_policies::SetIamPolicyRequest,
11501        _options: gax::options::RequestOptions,
11502    ) -> impl std::future::Future<
11503        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
11504    > + Send {
11505        gaxi::unimplemented::unimplemented_stub()
11506    }
11507
11508    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
11509    fn test_iam_permissions(
11510        &self,
11511        _req: crate::model::resource_policies::TestIamPermissionsRequest,
11512        _options: gax::options::RequestOptions,
11513    ) -> impl std::future::Future<
11514        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
11515    > + Send {
11516        gaxi::unimplemented::unimplemented_stub()
11517    }
11518
11519    /// Implements [super::client::ResourcePolicies::get_operation].
11520    fn get_operation(
11521        &self,
11522        _req: crate::model::region_operations::GetRequest,
11523        _options: gax::options::RequestOptions,
11524    ) -> impl std::future::Future<
11525        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11526    > + Send {
11527        gaxi::unimplemented::unimplemented_stub()
11528    }
11529
11530    /// Returns the polling error policy.
11531    ///
11532    /// When mocking, this method is typically irrelevant. Do not try to verify
11533    /// it is called by your mocks.
11534    fn get_polling_error_policy(
11535        &self,
11536        _options: &gax::options::RequestOptions,
11537    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11538        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11539    }
11540
11541    /// Returns the polling backoff policy.
11542    ///
11543    /// When mocking, this method is typically irrelevant. Do not try to verify
11544    /// it is called by your mocks.
11545    fn get_polling_backoff_policy(
11546        &self,
11547        _options: &gax::options::RequestOptions,
11548    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11549        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11550    }
11551}
11552
11553/// Defines the trait used to implement [super::client::Routers].
11554///
11555/// Application developers may need to implement this trait to mock
11556/// `client::Routers`.  In other use-cases, application developers only
11557/// use `client::Routers` and need not be concerned with this trait or
11558/// its implementations.
11559///
11560/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11561/// too. To avoid breaking applications the trait provides a default
11562/// implementation of each method. Most of these implementations just return an
11563/// error.
11564#[cfg(feature = "routers")]
11565#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
11566pub trait Routers: std::fmt::Debug + Send + Sync {
11567    /// Implements [super::client::Routers::aggregated_list].
11568    fn aggregated_list(
11569        &self,
11570        _req: crate::model::routers::AggregatedListRequest,
11571        _options: gax::options::RequestOptions,
11572    ) -> impl std::future::Future<
11573        Output = crate::Result<gax::response::Response<crate::model::RouterAggregatedList>>,
11574    > + Send {
11575        gaxi::unimplemented::unimplemented_stub()
11576    }
11577
11578    /// Implements [super::client::Routers::delete].
11579    fn delete(
11580        &self,
11581        _req: crate::model::routers::DeleteRequest,
11582        _options: gax::options::RequestOptions,
11583    ) -> impl std::future::Future<
11584        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11585    > + Send {
11586        gaxi::unimplemented::unimplemented_stub()
11587    }
11588
11589    /// Implements [super::client::Routers::delete_route_policy].
11590    fn delete_route_policy(
11591        &self,
11592        _req: crate::model::routers::DeleteRoutePolicyRequest,
11593        _options: gax::options::RequestOptions,
11594    ) -> impl std::future::Future<
11595        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11596    > + Send {
11597        gaxi::unimplemented::unimplemented_stub()
11598    }
11599
11600    /// Implements [super::client::Routers::get].
11601    fn get(
11602        &self,
11603        _req: crate::model::routers::GetRequest,
11604        _options: gax::options::RequestOptions,
11605    ) -> impl std::future::Future<
11606        Output = crate::Result<gax::response::Response<crate::model::Router>>,
11607    > + Send {
11608        gaxi::unimplemented::unimplemented_stub()
11609    }
11610
11611    /// Implements [super::client::Routers::get_nat_ip_info].
11612    fn get_nat_ip_info(
11613        &self,
11614        _req: crate::model::routers::GetNatIpInfoRequest,
11615        _options: gax::options::RequestOptions,
11616    ) -> impl std::future::Future<
11617        Output = crate::Result<gax::response::Response<crate::model::NatIpInfoResponse>>,
11618    > + Send {
11619        gaxi::unimplemented::unimplemented_stub()
11620    }
11621
11622    /// Implements [super::client::Routers::get_nat_mapping_info].
11623    fn get_nat_mapping_info(
11624        &self,
11625        _req: crate::model::routers::GetNatMappingInfoRequest,
11626        _options: gax::options::RequestOptions,
11627    ) -> impl std::future::Future<
11628        Output = crate::Result<gax::response::Response<crate::model::VmEndpointNatMappingsList>>,
11629    > + Send {
11630        gaxi::unimplemented::unimplemented_stub()
11631    }
11632
11633    /// Implements [super::client::Routers::get_route_policy].
11634    fn get_route_policy(
11635        &self,
11636        _req: crate::model::routers::GetRoutePolicyRequest,
11637        _options: gax::options::RequestOptions,
11638    ) -> impl std::future::Future<
11639        Output = crate::Result<
11640            gax::response::Response<crate::model::RoutersGetRoutePolicyResponse>,
11641        >,
11642    > + Send {
11643        gaxi::unimplemented::unimplemented_stub()
11644    }
11645
11646    /// Implements [super::client::Routers::get_router_status].
11647    fn get_router_status(
11648        &self,
11649        _req: crate::model::routers::GetRouterStatusRequest,
11650        _options: gax::options::RequestOptions,
11651    ) -> impl std::future::Future<
11652        Output = crate::Result<gax::response::Response<crate::model::RouterStatusResponse>>,
11653    > + Send {
11654        gaxi::unimplemented::unimplemented_stub()
11655    }
11656
11657    /// Implements [super::client::Routers::insert].
11658    fn insert(
11659        &self,
11660        _req: crate::model::routers::InsertRequest,
11661        _options: gax::options::RequestOptions,
11662    ) -> impl std::future::Future<
11663        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11664    > + Send {
11665        gaxi::unimplemented::unimplemented_stub()
11666    }
11667
11668    /// Implements [super::client::Routers::list].
11669    fn list(
11670        &self,
11671        _req: crate::model::routers::ListRequest,
11672        _options: gax::options::RequestOptions,
11673    ) -> impl std::future::Future<
11674        Output = crate::Result<gax::response::Response<crate::model::RouterList>>,
11675    > + Send {
11676        gaxi::unimplemented::unimplemented_stub()
11677    }
11678
11679    /// Implements [super::client::Routers::list_bgp_routes].
11680    fn list_bgp_routes(
11681        &self,
11682        _req: crate::model::routers::ListBgpRoutesRequest,
11683        _options: gax::options::RequestOptions,
11684    ) -> impl std::future::Future<
11685        Output = crate::Result<gax::response::Response<crate::model::RoutersListBgpRoutes>>,
11686    > + Send {
11687        gaxi::unimplemented::unimplemented_stub()
11688    }
11689
11690    /// Implements [super::client::Routers::list_route_policies].
11691    fn list_route_policies(
11692        &self,
11693        _req: crate::model::routers::ListRoutePoliciesRequest,
11694        _options: gax::options::RequestOptions,
11695    ) -> impl std::future::Future<
11696        Output = crate::Result<gax::response::Response<crate::model::RoutersListRoutePolicies>>,
11697    > + Send {
11698        gaxi::unimplemented::unimplemented_stub()
11699    }
11700
11701    /// Implements [super::client::Routers::patch].
11702    fn patch(
11703        &self,
11704        _req: crate::model::routers::PatchRequest,
11705        _options: gax::options::RequestOptions,
11706    ) -> impl std::future::Future<
11707        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11708    > + Send {
11709        gaxi::unimplemented::unimplemented_stub()
11710    }
11711
11712    /// Implements [super::client::Routers::patch_route_policy].
11713    fn patch_route_policy(
11714        &self,
11715        _req: crate::model::routers::PatchRoutePolicyRequest,
11716        _options: gax::options::RequestOptions,
11717    ) -> impl std::future::Future<
11718        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11719    > + Send {
11720        gaxi::unimplemented::unimplemented_stub()
11721    }
11722
11723    /// Implements [super::client::Routers::preview].
11724    fn preview(
11725        &self,
11726        _req: crate::model::routers::PreviewRequest,
11727        _options: gax::options::RequestOptions,
11728    ) -> impl std::future::Future<
11729        Output = crate::Result<gax::response::Response<crate::model::RoutersPreviewResponse>>,
11730    > + Send {
11731        gaxi::unimplemented::unimplemented_stub()
11732    }
11733
11734    /// Implements [super::client::Routers::update].
11735    fn update(
11736        &self,
11737        _req: crate::model::routers::UpdateRequest,
11738        _options: gax::options::RequestOptions,
11739    ) -> impl std::future::Future<
11740        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11741    > + Send {
11742        gaxi::unimplemented::unimplemented_stub()
11743    }
11744
11745    /// Implements [super::client::Routers::update_route_policy].
11746    fn update_route_policy(
11747        &self,
11748        _req: crate::model::routers::UpdateRoutePolicyRequest,
11749        _options: gax::options::RequestOptions,
11750    ) -> impl std::future::Future<
11751        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11752    > + Send {
11753        gaxi::unimplemented::unimplemented_stub()
11754    }
11755
11756    /// Implements [super::client::Routers::get_operation].
11757    fn get_operation(
11758        &self,
11759        _req: crate::model::region_operations::GetRequest,
11760        _options: gax::options::RequestOptions,
11761    ) -> impl std::future::Future<
11762        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11763    > + Send {
11764        gaxi::unimplemented::unimplemented_stub()
11765    }
11766
11767    /// Returns the polling error policy.
11768    ///
11769    /// When mocking, this method is typically irrelevant. Do not try to verify
11770    /// it is called by your mocks.
11771    fn get_polling_error_policy(
11772        &self,
11773        _options: &gax::options::RequestOptions,
11774    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11775        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11776    }
11777
11778    /// Returns the polling backoff policy.
11779    ///
11780    /// When mocking, this method is typically irrelevant. Do not try to verify
11781    /// it is called by your mocks.
11782    fn get_polling_backoff_policy(
11783        &self,
11784        _options: &gax::options::RequestOptions,
11785    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11786        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11787    }
11788}
11789
11790/// Defines the trait used to implement [super::client::Routes].
11791///
11792/// Application developers may need to implement this trait to mock
11793/// `client::Routes`.  In other use-cases, application developers only
11794/// use `client::Routes` and need not be concerned with this trait or
11795/// its implementations.
11796///
11797/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11798/// too. To avoid breaking applications the trait provides a default
11799/// implementation of each method. Most of these implementations just return an
11800/// error.
11801#[cfg(feature = "routes")]
11802#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
11803pub trait Routes: std::fmt::Debug + Send + Sync {
11804    /// Implements [super::client::Routes::delete].
11805    fn delete(
11806        &self,
11807        _req: crate::model::routes::DeleteRequest,
11808        _options: gax::options::RequestOptions,
11809    ) -> impl std::future::Future<
11810        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11811    > + Send {
11812        gaxi::unimplemented::unimplemented_stub()
11813    }
11814
11815    /// Implements [super::client::Routes::get].
11816    fn get(
11817        &self,
11818        _req: crate::model::routes::GetRequest,
11819        _options: gax::options::RequestOptions,
11820    ) -> impl std::future::Future<
11821        Output = crate::Result<gax::response::Response<crate::model::Route>>,
11822    > + Send {
11823        gaxi::unimplemented::unimplemented_stub()
11824    }
11825
11826    /// Implements [super::client::Routes::insert].
11827    fn insert(
11828        &self,
11829        _req: crate::model::routes::InsertRequest,
11830        _options: gax::options::RequestOptions,
11831    ) -> impl std::future::Future<
11832        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11833    > + Send {
11834        gaxi::unimplemented::unimplemented_stub()
11835    }
11836
11837    /// Implements [super::client::Routes::list].
11838    fn list(
11839        &self,
11840        _req: crate::model::routes::ListRequest,
11841        _options: gax::options::RequestOptions,
11842    ) -> impl std::future::Future<
11843        Output = crate::Result<gax::response::Response<crate::model::RouteList>>,
11844    > + Send {
11845        gaxi::unimplemented::unimplemented_stub()
11846    }
11847
11848    /// Implements [super::client::Routes::test_iam_permissions].
11849    fn test_iam_permissions(
11850        &self,
11851        _req: crate::model::routes::TestIamPermissionsRequest,
11852        _options: gax::options::RequestOptions,
11853    ) -> impl std::future::Future<
11854        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
11855    > + Send {
11856        gaxi::unimplemented::unimplemented_stub()
11857    }
11858
11859    /// Implements [super::client::Routes::get_operation].
11860    fn get_operation(
11861        &self,
11862        _req: crate::model::global_operations::GetRequest,
11863        _options: gax::options::RequestOptions,
11864    ) -> impl std::future::Future<
11865        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11866    > + Send {
11867        gaxi::unimplemented::unimplemented_stub()
11868    }
11869
11870    /// Returns the polling error policy.
11871    ///
11872    /// When mocking, this method is typically irrelevant. Do not try to verify
11873    /// it is called by your mocks.
11874    fn get_polling_error_policy(
11875        &self,
11876        _options: &gax::options::RequestOptions,
11877    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
11878        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
11879    }
11880
11881    /// Returns the polling backoff policy.
11882    ///
11883    /// When mocking, this method is typically irrelevant. Do not try to verify
11884    /// it is called by your mocks.
11885    fn get_polling_backoff_policy(
11886        &self,
11887        _options: &gax::options::RequestOptions,
11888    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
11889        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
11890    }
11891}
11892
11893/// Defines the trait used to implement [super::client::SecurityPolicies].
11894///
11895/// Application developers may need to implement this trait to mock
11896/// `client::SecurityPolicies`.  In other use-cases, application developers only
11897/// use `client::SecurityPolicies` and need not be concerned with this trait or
11898/// its implementations.
11899///
11900/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11901/// too. To avoid breaking applications the trait provides a default
11902/// implementation of each method. Most of these implementations just return an
11903/// error.
11904#[cfg(feature = "security-policies")]
11905#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
11906pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
11907    /// Implements [super::client::SecurityPolicies::add_rule].
11908    fn add_rule(
11909        &self,
11910        _req: crate::model::security_policies::AddRuleRequest,
11911        _options: gax::options::RequestOptions,
11912    ) -> impl std::future::Future<
11913        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11914    > + Send {
11915        gaxi::unimplemented::unimplemented_stub()
11916    }
11917
11918    /// Implements [super::client::SecurityPolicies::aggregated_list].
11919    fn aggregated_list(
11920        &self,
11921        _req: crate::model::security_policies::AggregatedListRequest,
11922        _options: gax::options::RequestOptions,
11923    ) -> impl std::future::Future<
11924        Output = crate::Result<
11925            gax::response::Response<crate::model::SecurityPoliciesAggregatedList>,
11926        >,
11927    > + Send {
11928        gaxi::unimplemented::unimplemented_stub()
11929    }
11930
11931    /// Implements [super::client::SecurityPolicies::delete].
11932    fn delete(
11933        &self,
11934        _req: crate::model::security_policies::DeleteRequest,
11935        _options: gax::options::RequestOptions,
11936    ) -> impl std::future::Future<
11937        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11938    > + Send {
11939        gaxi::unimplemented::unimplemented_stub()
11940    }
11941
11942    /// Implements [super::client::SecurityPolicies::get].
11943    fn get(
11944        &self,
11945        _req: crate::model::security_policies::GetRequest,
11946        _options: gax::options::RequestOptions,
11947    ) -> impl std::future::Future<
11948        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicy>>,
11949    > + Send {
11950        gaxi::unimplemented::unimplemented_stub()
11951    }
11952
11953    /// Implements [super::client::SecurityPolicies::get_rule].
11954    fn get_rule(
11955        &self,
11956        _req: crate::model::security_policies::GetRuleRequest,
11957        _options: gax::options::RequestOptions,
11958    ) -> impl std::future::Future<
11959        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyRule>>,
11960    > + Send {
11961        gaxi::unimplemented::unimplemented_stub()
11962    }
11963
11964    /// Implements [super::client::SecurityPolicies::insert].
11965    fn insert(
11966        &self,
11967        _req: crate::model::security_policies::InsertRequest,
11968        _options: gax::options::RequestOptions,
11969    ) -> impl std::future::Future<
11970        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
11971    > + Send {
11972        gaxi::unimplemented::unimplemented_stub()
11973    }
11974
11975    /// Implements [super::client::SecurityPolicies::list].
11976    fn list(
11977        &self,
11978        _req: crate::model::security_policies::ListRequest,
11979        _options: gax::options::RequestOptions,
11980    ) -> impl std::future::Future<
11981        Output = crate::Result<gax::response::Response<crate::model::SecurityPolicyList>>,
11982    > + Send {
11983        gaxi::unimplemented::unimplemented_stub()
11984    }
11985
11986    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
11987    fn list_preconfigured_expression_sets(
11988        &self,
11989        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
11990        _options: gax::options::RequestOptions,
11991    ) -> impl std::future::Future<
11992        Output = crate::Result<
11993            gax::response::Response<
11994                crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse,
11995            >,
11996        >,
11997    > + Send {
11998        gaxi::unimplemented::unimplemented_stub()
11999    }
12000
12001    /// Implements [super::client::SecurityPolicies::patch].
12002    fn patch(
12003        &self,
12004        _req: crate::model::security_policies::PatchRequest,
12005        _options: gax::options::RequestOptions,
12006    ) -> impl std::future::Future<
12007        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12008    > + Send {
12009        gaxi::unimplemented::unimplemented_stub()
12010    }
12011
12012    /// Implements [super::client::SecurityPolicies::patch_rule].
12013    fn patch_rule(
12014        &self,
12015        _req: crate::model::security_policies::PatchRuleRequest,
12016        _options: gax::options::RequestOptions,
12017    ) -> impl std::future::Future<
12018        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12019    > + Send {
12020        gaxi::unimplemented::unimplemented_stub()
12021    }
12022
12023    /// Implements [super::client::SecurityPolicies::remove_rule].
12024    fn remove_rule(
12025        &self,
12026        _req: crate::model::security_policies::RemoveRuleRequest,
12027        _options: gax::options::RequestOptions,
12028    ) -> impl std::future::Future<
12029        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12030    > + Send {
12031        gaxi::unimplemented::unimplemented_stub()
12032    }
12033
12034    /// Implements [super::client::SecurityPolicies::set_labels].
12035    fn set_labels(
12036        &self,
12037        _req: crate::model::security_policies::SetLabelsRequest,
12038        _options: gax::options::RequestOptions,
12039    ) -> impl std::future::Future<
12040        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12041    > + Send {
12042        gaxi::unimplemented::unimplemented_stub()
12043    }
12044
12045    /// Implements [super::client::SecurityPolicies::get_operation].
12046    fn get_operation(
12047        &self,
12048        _req: crate::model::global_operations::GetRequest,
12049        _options: gax::options::RequestOptions,
12050    ) -> impl std::future::Future<
12051        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12052    > + Send {
12053        gaxi::unimplemented::unimplemented_stub()
12054    }
12055
12056    /// Returns the polling error policy.
12057    ///
12058    /// When mocking, this method is typically irrelevant. Do not try to verify
12059    /// it is called by your mocks.
12060    fn get_polling_error_policy(
12061        &self,
12062        _options: &gax::options::RequestOptions,
12063    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12064        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12065    }
12066
12067    /// Returns the polling backoff policy.
12068    ///
12069    /// When mocking, this method is typically irrelevant. Do not try to verify
12070    /// it is called by your mocks.
12071    fn get_polling_backoff_policy(
12072        &self,
12073        _options: &gax::options::RequestOptions,
12074    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12075        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12076    }
12077}
12078
12079/// Defines the trait used to implement [super::client::ServiceAttachments].
12080///
12081/// Application developers may need to implement this trait to mock
12082/// `client::ServiceAttachments`.  In other use-cases, application developers only
12083/// use `client::ServiceAttachments` and need not be concerned with this trait or
12084/// its implementations.
12085///
12086/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12087/// too. To avoid breaking applications the trait provides a default
12088/// implementation of each method. Most of these implementations just return an
12089/// error.
12090#[cfg(feature = "service-attachments")]
12091#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
12092pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
12093    /// Implements [super::client::ServiceAttachments::aggregated_list].
12094    fn aggregated_list(
12095        &self,
12096        _req: crate::model::service_attachments::AggregatedListRequest,
12097        _options: gax::options::RequestOptions,
12098    ) -> impl std::future::Future<
12099        Output = crate::Result<
12100            gax::response::Response<crate::model::ServiceAttachmentAggregatedList>,
12101        >,
12102    > + Send {
12103        gaxi::unimplemented::unimplemented_stub()
12104    }
12105
12106    /// Implements [super::client::ServiceAttachments::delete].
12107    fn delete(
12108        &self,
12109        _req: crate::model::service_attachments::DeleteRequest,
12110        _options: gax::options::RequestOptions,
12111    ) -> impl std::future::Future<
12112        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12113    > + Send {
12114        gaxi::unimplemented::unimplemented_stub()
12115    }
12116
12117    /// Implements [super::client::ServiceAttachments::get].
12118    fn get(
12119        &self,
12120        _req: crate::model::service_attachments::GetRequest,
12121        _options: gax::options::RequestOptions,
12122    ) -> impl std::future::Future<
12123        Output = crate::Result<gax::response::Response<crate::model::ServiceAttachment>>,
12124    > + Send {
12125        gaxi::unimplemented::unimplemented_stub()
12126    }
12127
12128    /// Implements [super::client::ServiceAttachments::get_iam_policy].
12129    fn get_iam_policy(
12130        &self,
12131        _req: crate::model::service_attachments::GetIamPolicyRequest,
12132        _options: gax::options::RequestOptions,
12133    ) -> impl std::future::Future<
12134        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12135    > + Send {
12136        gaxi::unimplemented::unimplemented_stub()
12137    }
12138
12139    /// Implements [super::client::ServiceAttachments::insert].
12140    fn insert(
12141        &self,
12142        _req: crate::model::service_attachments::InsertRequest,
12143        _options: gax::options::RequestOptions,
12144    ) -> impl std::future::Future<
12145        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12146    > + Send {
12147        gaxi::unimplemented::unimplemented_stub()
12148    }
12149
12150    /// Implements [super::client::ServiceAttachments::list].
12151    fn list(
12152        &self,
12153        _req: crate::model::service_attachments::ListRequest,
12154        _options: gax::options::RequestOptions,
12155    ) -> impl std::future::Future<
12156        Output = crate::Result<gax::response::Response<crate::model::ServiceAttachmentList>>,
12157    > + Send {
12158        gaxi::unimplemented::unimplemented_stub()
12159    }
12160
12161    /// Implements [super::client::ServiceAttachments::patch].
12162    fn patch(
12163        &self,
12164        _req: crate::model::service_attachments::PatchRequest,
12165        _options: gax::options::RequestOptions,
12166    ) -> impl std::future::Future<
12167        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12168    > + Send {
12169        gaxi::unimplemented::unimplemented_stub()
12170    }
12171
12172    /// Implements [super::client::ServiceAttachments::set_iam_policy].
12173    fn set_iam_policy(
12174        &self,
12175        _req: crate::model::service_attachments::SetIamPolicyRequest,
12176        _options: gax::options::RequestOptions,
12177    ) -> impl std::future::Future<
12178        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12179    > + Send {
12180        gaxi::unimplemented::unimplemented_stub()
12181    }
12182
12183    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
12184    fn test_iam_permissions(
12185        &self,
12186        _req: crate::model::service_attachments::TestIamPermissionsRequest,
12187        _options: gax::options::RequestOptions,
12188    ) -> impl std::future::Future<
12189        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
12190    > + Send {
12191        gaxi::unimplemented::unimplemented_stub()
12192    }
12193
12194    /// Implements [super::client::ServiceAttachments::get_operation].
12195    fn get_operation(
12196        &self,
12197        _req: crate::model::region_operations::GetRequest,
12198        _options: gax::options::RequestOptions,
12199    ) -> impl std::future::Future<
12200        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12201    > + Send {
12202        gaxi::unimplemented::unimplemented_stub()
12203    }
12204
12205    /// Returns the polling error policy.
12206    ///
12207    /// When mocking, this method is typically irrelevant. Do not try to verify
12208    /// it is called by your mocks.
12209    fn get_polling_error_policy(
12210        &self,
12211        _options: &gax::options::RequestOptions,
12212    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12213        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12214    }
12215
12216    /// Returns the polling backoff policy.
12217    ///
12218    /// When mocking, this method is typically irrelevant. Do not try to verify
12219    /// it is called by your mocks.
12220    fn get_polling_backoff_policy(
12221        &self,
12222        _options: &gax::options::RequestOptions,
12223    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12224        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12225    }
12226}
12227
12228/// Defines the trait used to implement [super::client::SnapshotSettings].
12229///
12230/// Application developers may need to implement this trait to mock
12231/// `client::SnapshotSettings`.  In other use-cases, application developers only
12232/// use `client::SnapshotSettings` and need not be concerned with this trait or
12233/// its implementations.
12234///
12235/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12236/// too. To avoid breaking applications the trait provides a default
12237/// implementation of each method. Most of these implementations just return an
12238/// error.
12239#[cfg(feature = "snapshot-settings")]
12240#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
12241pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
12242    /// Implements [super::client::SnapshotSettings::get].
12243    fn get(
12244        &self,
12245        _req: crate::model::snapshot_settings::GetRequest,
12246        _options: gax::options::RequestOptions,
12247    ) -> impl std::future::Future<
12248        Output = crate::Result<gax::response::Response<crate::model::SnapshotSettings>>,
12249    > + Send {
12250        gaxi::unimplemented::unimplemented_stub()
12251    }
12252
12253    /// Implements [super::client::SnapshotSettings::patch].
12254    fn patch(
12255        &self,
12256        _req: crate::model::snapshot_settings::PatchRequest,
12257        _options: gax::options::RequestOptions,
12258    ) -> impl std::future::Future<
12259        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12260    > + Send {
12261        gaxi::unimplemented::unimplemented_stub()
12262    }
12263
12264    /// Implements [super::client::SnapshotSettings::get_operation].
12265    fn get_operation(
12266        &self,
12267        _req: crate::model::global_operations::GetRequest,
12268        _options: gax::options::RequestOptions,
12269    ) -> impl std::future::Future<
12270        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12271    > + Send {
12272        gaxi::unimplemented::unimplemented_stub()
12273    }
12274
12275    /// Returns the polling error policy.
12276    ///
12277    /// When mocking, this method is typically irrelevant. Do not try to verify
12278    /// it is called by your mocks.
12279    fn get_polling_error_policy(
12280        &self,
12281        _options: &gax::options::RequestOptions,
12282    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12283        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12284    }
12285
12286    /// Returns the polling backoff policy.
12287    ///
12288    /// When mocking, this method is typically irrelevant. Do not try to verify
12289    /// it is called by your mocks.
12290    fn get_polling_backoff_policy(
12291        &self,
12292        _options: &gax::options::RequestOptions,
12293    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12294        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12295    }
12296}
12297
12298/// Defines the trait used to implement [super::client::Snapshots].
12299///
12300/// Application developers may need to implement this trait to mock
12301/// `client::Snapshots`.  In other use-cases, application developers only
12302/// use `client::Snapshots` and need not be concerned with this trait or
12303/// its implementations.
12304///
12305/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12306/// too. To avoid breaking applications the trait provides a default
12307/// implementation of each method. Most of these implementations just return an
12308/// error.
12309#[cfg(feature = "snapshots")]
12310#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
12311pub trait Snapshots: std::fmt::Debug + Send + Sync {
12312    /// Implements [super::client::Snapshots::delete].
12313    fn delete(
12314        &self,
12315        _req: crate::model::snapshots::DeleteRequest,
12316        _options: gax::options::RequestOptions,
12317    ) -> impl std::future::Future<
12318        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12319    > + Send {
12320        gaxi::unimplemented::unimplemented_stub()
12321    }
12322
12323    /// Implements [super::client::Snapshots::get].
12324    fn get(
12325        &self,
12326        _req: crate::model::snapshots::GetRequest,
12327        _options: gax::options::RequestOptions,
12328    ) -> impl std::future::Future<
12329        Output = crate::Result<gax::response::Response<crate::model::Snapshot>>,
12330    > + Send {
12331        gaxi::unimplemented::unimplemented_stub()
12332    }
12333
12334    /// Implements [super::client::Snapshots::get_iam_policy].
12335    fn get_iam_policy(
12336        &self,
12337        _req: crate::model::snapshots::GetIamPolicyRequest,
12338        _options: gax::options::RequestOptions,
12339    ) -> impl std::future::Future<
12340        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12341    > + Send {
12342        gaxi::unimplemented::unimplemented_stub()
12343    }
12344
12345    /// Implements [super::client::Snapshots::insert].
12346    fn insert(
12347        &self,
12348        _req: crate::model::snapshots::InsertRequest,
12349        _options: gax::options::RequestOptions,
12350    ) -> impl std::future::Future<
12351        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12352    > + Send {
12353        gaxi::unimplemented::unimplemented_stub()
12354    }
12355
12356    /// Implements [super::client::Snapshots::list].
12357    fn list(
12358        &self,
12359        _req: crate::model::snapshots::ListRequest,
12360        _options: gax::options::RequestOptions,
12361    ) -> impl std::future::Future<
12362        Output = crate::Result<gax::response::Response<crate::model::SnapshotList>>,
12363    > + Send {
12364        gaxi::unimplemented::unimplemented_stub()
12365    }
12366
12367    /// Implements [super::client::Snapshots::set_iam_policy].
12368    fn set_iam_policy(
12369        &self,
12370        _req: crate::model::snapshots::SetIamPolicyRequest,
12371        _options: gax::options::RequestOptions,
12372    ) -> impl std::future::Future<
12373        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12374    > + Send {
12375        gaxi::unimplemented::unimplemented_stub()
12376    }
12377
12378    /// Implements [super::client::Snapshots::set_labels].
12379    fn set_labels(
12380        &self,
12381        _req: crate::model::snapshots::SetLabelsRequest,
12382        _options: gax::options::RequestOptions,
12383    ) -> impl std::future::Future<
12384        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12385    > + Send {
12386        gaxi::unimplemented::unimplemented_stub()
12387    }
12388
12389    /// Implements [super::client::Snapshots::test_iam_permissions].
12390    fn test_iam_permissions(
12391        &self,
12392        _req: crate::model::snapshots::TestIamPermissionsRequest,
12393        _options: gax::options::RequestOptions,
12394    ) -> impl std::future::Future<
12395        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
12396    > + Send {
12397        gaxi::unimplemented::unimplemented_stub()
12398    }
12399
12400    /// Implements [super::client::Snapshots::get_operation].
12401    fn get_operation(
12402        &self,
12403        _req: crate::model::global_operations::GetRequest,
12404        _options: gax::options::RequestOptions,
12405    ) -> impl std::future::Future<
12406        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12407    > + Send {
12408        gaxi::unimplemented::unimplemented_stub()
12409    }
12410
12411    /// Returns the polling error policy.
12412    ///
12413    /// When mocking, this method is typically irrelevant. Do not try to verify
12414    /// it is called by your mocks.
12415    fn get_polling_error_policy(
12416        &self,
12417        _options: &gax::options::RequestOptions,
12418    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12419        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12420    }
12421
12422    /// Returns the polling backoff policy.
12423    ///
12424    /// When mocking, this method is typically irrelevant. Do not try to verify
12425    /// it is called by your mocks.
12426    fn get_polling_backoff_policy(
12427        &self,
12428        _options: &gax::options::RequestOptions,
12429    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12430        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12431    }
12432}
12433
12434/// Defines the trait used to implement [super::client::SslCertificates].
12435///
12436/// Application developers may need to implement this trait to mock
12437/// `client::SslCertificates`.  In other use-cases, application developers only
12438/// use `client::SslCertificates` and need not be concerned with this trait or
12439/// its implementations.
12440///
12441/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12442/// too. To avoid breaking applications the trait provides a default
12443/// implementation of each method. Most of these implementations just return an
12444/// error.
12445#[cfg(feature = "ssl-certificates")]
12446#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
12447pub trait SslCertificates: std::fmt::Debug + Send + Sync {
12448    /// Implements [super::client::SslCertificates::aggregated_list].
12449    fn aggregated_list(
12450        &self,
12451        _req: crate::model::ssl_certificates::AggregatedListRequest,
12452        _options: gax::options::RequestOptions,
12453    ) -> impl std::future::Future<
12454        Output = crate::Result<gax::response::Response<crate::model::SslCertificateAggregatedList>>,
12455    > + Send {
12456        gaxi::unimplemented::unimplemented_stub()
12457    }
12458
12459    /// Implements [super::client::SslCertificates::delete].
12460    fn delete(
12461        &self,
12462        _req: crate::model::ssl_certificates::DeleteRequest,
12463        _options: gax::options::RequestOptions,
12464    ) -> impl std::future::Future<
12465        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12466    > + Send {
12467        gaxi::unimplemented::unimplemented_stub()
12468    }
12469
12470    /// Implements [super::client::SslCertificates::get].
12471    fn get(
12472        &self,
12473        _req: crate::model::ssl_certificates::GetRequest,
12474        _options: gax::options::RequestOptions,
12475    ) -> impl std::future::Future<
12476        Output = crate::Result<gax::response::Response<crate::model::SslCertificate>>,
12477    > + Send {
12478        gaxi::unimplemented::unimplemented_stub()
12479    }
12480
12481    /// Implements [super::client::SslCertificates::insert].
12482    fn insert(
12483        &self,
12484        _req: crate::model::ssl_certificates::InsertRequest,
12485        _options: gax::options::RequestOptions,
12486    ) -> impl std::future::Future<
12487        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12488    > + Send {
12489        gaxi::unimplemented::unimplemented_stub()
12490    }
12491
12492    /// Implements [super::client::SslCertificates::list].
12493    fn list(
12494        &self,
12495        _req: crate::model::ssl_certificates::ListRequest,
12496        _options: gax::options::RequestOptions,
12497    ) -> impl std::future::Future<
12498        Output = crate::Result<gax::response::Response<crate::model::SslCertificateList>>,
12499    > + Send {
12500        gaxi::unimplemented::unimplemented_stub()
12501    }
12502
12503    /// Implements [super::client::SslCertificates::get_operation].
12504    fn get_operation(
12505        &self,
12506        _req: crate::model::global_operations::GetRequest,
12507        _options: gax::options::RequestOptions,
12508    ) -> impl std::future::Future<
12509        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12510    > + Send {
12511        gaxi::unimplemented::unimplemented_stub()
12512    }
12513
12514    /// Returns the polling error policy.
12515    ///
12516    /// When mocking, this method is typically irrelevant. Do not try to verify
12517    /// it is called by your mocks.
12518    fn get_polling_error_policy(
12519        &self,
12520        _options: &gax::options::RequestOptions,
12521    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12522        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12523    }
12524
12525    /// Returns the polling backoff policy.
12526    ///
12527    /// When mocking, this method is typically irrelevant. Do not try to verify
12528    /// it is called by your mocks.
12529    fn get_polling_backoff_policy(
12530        &self,
12531        _options: &gax::options::RequestOptions,
12532    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12533        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12534    }
12535}
12536
12537/// Defines the trait used to implement [super::client::SslPolicies].
12538///
12539/// Application developers may need to implement this trait to mock
12540/// `client::SslPolicies`.  In other use-cases, application developers only
12541/// use `client::SslPolicies` and need not be concerned with this trait or
12542/// its implementations.
12543///
12544/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12545/// too. To avoid breaking applications the trait provides a default
12546/// implementation of each method. Most of these implementations just return an
12547/// error.
12548#[cfg(feature = "ssl-policies")]
12549#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
12550pub trait SslPolicies: std::fmt::Debug + Send + Sync {
12551    /// Implements [super::client::SslPolicies::aggregated_list].
12552    fn aggregated_list(
12553        &self,
12554        _req: crate::model::ssl_policies::AggregatedListRequest,
12555        _options: gax::options::RequestOptions,
12556    ) -> impl std::future::Future<
12557        Output = crate::Result<gax::response::Response<crate::model::SslPoliciesAggregatedList>>,
12558    > + Send {
12559        gaxi::unimplemented::unimplemented_stub()
12560    }
12561
12562    /// Implements [super::client::SslPolicies::delete].
12563    fn delete(
12564        &self,
12565        _req: crate::model::ssl_policies::DeleteRequest,
12566        _options: gax::options::RequestOptions,
12567    ) -> impl std::future::Future<
12568        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12569    > + Send {
12570        gaxi::unimplemented::unimplemented_stub()
12571    }
12572
12573    /// Implements [super::client::SslPolicies::get].
12574    fn get(
12575        &self,
12576        _req: crate::model::ssl_policies::GetRequest,
12577        _options: gax::options::RequestOptions,
12578    ) -> impl std::future::Future<
12579        Output = crate::Result<gax::response::Response<crate::model::SslPolicy>>,
12580    > + Send {
12581        gaxi::unimplemented::unimplemented_stub()
12582    }
12583
12584    /// Implements [super::client::SslPolicies::insert].
12585    fn insert(
12586        &self,
12587        _req: crate::model::ssl_policies::InsertRequest,
12588        _options: gax::options::RequestOptions,
12589    ) -> impl std::future::Future<
12590        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12591    > + Send {
12592        gaxi::unimplemented::unimplemented_stub()
12593    }
12594
12595    /// Implements [super::client::SslPolicies::list].
12596    fn list(
12597        &self,
12598        _req: crate::model::ssl_policies::ListRequest,
12599        _options: gax::options::RequestOptions,
12600    ) -> impl std::future::Future<
12601        Output = crate::Result<gax::response::Response<crate::model::SslPoliciesList>>,
12602    > + Send {
12603        gaxi::unimplemented::unimplemented_stub()
12604    }
12605
12606    /// Implements [super::client::SslPolicies::list_available_features].
12607    fn list_available_features(
12608        &self,
12609        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
12610        _options: gax::options::RequestOptions,
12611    ) -> impl std::future::Future<
12612        Output = crate::Result<
12613            gax::response::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
12614        >,
12615    > + Send {
12616        gaxi::unimplemented::unimplemented_stub()
12617    }
12618
12619    /// Implements [super::client::SslPolicies::patch].
12620    fn patch(
12621        &self,
12622        _req: crate::model::ssl_policies::PatchRequest,
12623        _options: gax::options::RequestOptions,
12624    ) -> impl std::future::Future<
12625        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12626    > + Send {
12627        gaxi::unimplemented::unimplemented_stub()
12628    }
12629
12630    /// Implements [super::client::SslPolicies::get_operation].
12631    fn get_operation(
12632        &self,
12633        _req: crate::model::global_operations::GetRequest,
12634        _options: gax::options::RequestOptions,
12635    ) -> impl std::future::Future<
12636        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12637    > + Send {
12638        gaxi::unimplemented::unimplemented_stub()
12639    }
12640
12641    /// Returns the polling error policy.
12642    ///
12643    /// When mocking, this method is typically irrelevant. Do not try to verify
12644    /// it is called by your mocks.
12645    fn get_polling_error_policy(
12646        &self,
12647        _options: &gax::options::RequestOptions,
12648    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12649        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12650    }
12651
12652    /// Returns the polling backoff policy.
12653    ///
12654    /// When mocking, this method is typically irrelevant. Do not try to verify
12655    /// it is called by your mocks.
12656    fn get_polling_backoff_policy(
12657        &self,
12658        _options: &gax::options::RequestOptions,
12659    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12660        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12661    }
12662}
12663
12664/// Defines the trait used to implement [super::client::StoragePoolTypes].
12665///
12666/// Application developers may need to implement this trait to mock
12667/// `client::StoragePoolTypes`.  In other use-cases, application developers only
12668/// use `client::StoragePoolTypes` and need not be concerned with this trait or
12669/// its implementations.
12670///
12671/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12672/// too. To avoid breaking applications the trait provides a default
12673/// implementation of each method. Most of these implementations just return an
12674/// error.
12675#[cfg(feature = "storage-pool-types")]
12676#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
12677pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
12678    /// Implements [super::client::StoragePoolTypes::aggregated_list].
12679    fn aggregated_list(
12680        &self,
12681        _req: crate::model::storage_pool_types::AggregatedListRequest,
12682        _options: gax::options::RequestOptions,
12683    ) -> impl std::future::Future<
12684        Output = crate::Result<
12685            gax::response::Response<crate::model::StoragePoolTypeAggregatedList>,
12686        >,
12687    > + Send {
12688        gaxi::unimplemented::unimplemented_stub()
12689    }
12690
12691    /// Implements [super::client::StoragePoolTypes::get].
12692    fn get(
12693        &self,
12694        _req: crate::model::storage_pool_types::GetRequest,
12695        _options: gax::options::RequestOptions,
12696    ) -> impl std::future::Future<
12697        Output = crate::Result<gax::response::Response<crate::model::StoragePoolType>>,
12698    > + Send {
12699        gaxi::unimplemented::unimplemented_stub()
12700    }
12701
12702    /// Implements [super::client::StoragePoolTypes::list].
12703    fn list(
12704        &self,
12705        _req: crate::model::storage_pool_types::ListRequest,
12706        _options: gax::options::RequestOptions,
12707    ) -> impl std::future::Future<
12708        Output = crate::Result<gax::response::Response<crate::model::StoragePoolTypeList>>,
12709    > + Send {
12710        gaxi::unimplemented::unimplemented_stub()
12711    }
12712}
12713
12714/// Defines the trait used to implement [super::client::StoragePools].
12715///
12716/// Application developers may need to implement this trait to mock
12717/// `client::StoragePools`.  In other use-cases, application developers only
12718/// use `client::StoragePools` and need not be concerned with this trait or
12719/// its implementations.
12720///
12721/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12722/// too. To avoid breaking applications the trait provides a default
12723/// implementation of each method. Most of these implementations just return an
12724/// error.
12725#[cfg(feature = "storage-pools")]
12726#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
12727pub trait StoragePools: std::fmt::Debug + Send + Sync {
12728    /// Implements [super::client::StoragePools::aggregated_list].
12729    fn aggregated_list(
12730        &self,
12731        _req: crate::model::storage_pools::AggregatedListRequest,
12732        _options: gax::options::RequestOptions,
12733    ) -> impl std::future::Future<
12734        Output = crate::Result<gax::response::Response<crate::model::StoragePoolAggregatedList>>,
12735    > + Send {
12736        gaxi::unimplemented::unimplemented_stub()
12737    }
12738
12739    /// Implements [super::client::StoragePools::delete].
12740    fn delete(
12741        &self,
12742        _req: crate::model::storage_pools::DeleteRequest,
12743        _options: gax::options::RequestOptions,
12744    ) -> impl std::future::Future<
12745        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12746    > + Send {
12747        gaxi::unimplemented::unimplemented_stub()
12748    }
12749
12750    /// Implements [super::client::StoragePools::get].
12751    fn get(
12752        &self,
12753        _req: crate::model::storage_pools::GetRequest,
12754        _options: gax::options::RequestOptions,
12755    ) -> impl std::future::Future<
12756        Output = crate::Result<gax::response::Response<crate::model::StoragePool>>,
12757    > + Send {
12758        gaxi::unimplemented::unimplemented_stub()
12759    }
12760
12761    /// Implements [super::client::StoragePools::get_iam_policy].
12762    fn get_iam_policy(
12763        &self,
12764        _req: crate::model::storage_pools::GetIamPolicyRequest,
12765        _options: gax::options::RequestOptions,
12766    ) -> impl std::future::Future<
12767        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12768    > + Send {
12769        gaxi::unimplemented::unimplemented_stub()
12770    }
12771
12772    /// Implements [super::client::StoragePools::insert].
12773    fn insert(
12774        &self,
12775        _req: crate::model::storage_pools::InsertRequest,
12776        _options: gax::options::RequestOptions,
12777    ) -> impl std::future::Future<
12778        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12779    > + Send {
12780        gaxi::unimplemented::unimplemented_stub()
12781    }
12782
12783    /// Implements [super::client::StoragePools::list].
12784    fn list(
12785        &self,
12786        _req: crate::model::storage_pools::ListRequest,
12787        _options: gax::options::RequestOptions,
12788    ) -> impl std::future::Future<
12789        Output = crate::Result<gax::response::Response<crate::model::StoragePoolList>>,
12790    > + Send {
12791        gaxi::unimplemented::unimplemented_stub()
12792    }
12793
12794    /// Implements [super::client::StoragePools::list_disks].
12795    fn list_disks(
12796        &self,
12797        _req: crate::model::storage_pools::ListDisksRequest,
12798        _options: gax::options::RequestOptions,
12799    ) -> impl std::future::Future<
12800        Output = crate::Result<gax::response::Response<crate::model::StoragePoolListDisks>>,
12801    > + Send {
12802        gaxi::unimplemented::unimplemented_stub()
12803    }
12804
12805    /// Implements [super::client::StoragePools::set_iam_policy].
12806    fn set_iam_policy(
12807        &self,
12808        _req: crate::model::storage_pools::SetIamPolicyRequest,
12809        _options: gax::options::RequestOptions,
12810    ) -> impl std::future::Future<
12811        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12812    > + Send {
12813        gaxi::unimplemented::unimplemented_stub()
12814    }
12815
12816    /// Implements [super::client::StoragePools::test_iam_permissions].
12817    fn test_iam_permissions(
12818        &self,
12819        _req: crate::model::storage_pools::TestIamPermissionsRequest,
12820        _options: gax::options::RequestOptions,
12821    ) -> impl std::future::Future<
12822        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
12823    > + Send {
12824        gaxi::unimplemented::unimplemented_stub()
12825    }
12826
12827    /// Implements [super::client::StoragePools::update].
12828    fn update(
12829        &self,
12830        _req: crate::model::storage_pools::UpdateRequest,
12831        _options: gax::options::RequestOptions,
12832    ) -> impl std::future::Future<
12833        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12834    > + Send {
12835        gaxi::unimplemented::unimplemented_stub()
12836    }
12837
12838    /// Implements [super::client::StoragePools::get_operation].
12839    fn get_operation(
12840        &self,
12841        _req: crate::model::zone_operations::GetRequest,
12842        _options: gax::options::RequestOptions,
12843    ) -> impl std::future::Future<
12844        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12845    > + Send {
12846        gaxi::unimplemented::unimplemented_stub()
12847    }
12848
12849    /// Returns the polling error policy.
12850    ///
12851    /// When mocking, this method is typically irrelevant. Do not try to verify
12852    /// it is called by your mocks.
12853    fn get_polling_error_policy(
12854        &self,
12855        _options: &gax::options::RequestOptions,
12856    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
12857        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
12858    }
12859
12860    /// Returns the polling backoff policy.
12861    ///
12862    /// When mocking, this method is typically irrelevant. Do not try to verify
12863    /// it is called by your mocks.
12864    fn get_polling_backoff_policy(
12865        &self,
12866        _options: &gax::options::RequestOptions,
12867    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
12868        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
12869    }
12870}
12871
12872/// Defines the trait used to implement [super::client::Subnetworks].
12873///
12874/// Application developers may need to implement this trait to mock
12875/// `client::Subnetworks`.  In other use-cases, application developers only
12876/// use `client::Subnetworks` and need not be concerned with this trait or
12877/// its implementations.
12878///
12879/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12880/// too. To avoid breaking applications the trait provides a default
12881/// implementation of each method. Most of these implementations just return an
12882/// error.
12883#[cfg(feature = "subnetworks")]
12884#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
12885pub trait Subnetworks: std::fmt::Debug + Send + Sync {
12886    /// Implements [super::client::Subnetworks::aggregated_list].
12887    fn aggregated_list(
12888        &self,
12889        _req: crate::model::subnetworks::AggregatedListRequest,
12890        _options: gax::options::RequestOptions,
12891    ) -> impl std::future::Future<
12892        Output = crate::Result<gax::response::Response<crate::model::SubnetworkAggregatedList>>,
12893    > + Send {
12894        gaxi::unimplemented::unimplemented_stub()
12895    }
12896
12897    /// Implements [super::client::Subnetworks::delete].
12898    fn delete(
12899        &self,
12900        _req: crate::model::subnetworks::DeleteRequest,
12901        _options: gax::options::RequestOptions,
12902    ) -> impl std::future::Future<
12903        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12904    > + Send {
12905        gaxi::unimplemented::unimplemented_stub()
12906    }
12907
12908    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
12909    fn expand_ip_cidr_range(
12910        &self,
12911        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
12912        _options: gax::options::RequestOptions,
12913    ) -> impl std::future::Future<
12914        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12915    > + Send {
12916        gaxi::unimplemented::unimplemented_stub()
12917    }
12918
12919    /// Implements [super::client::Subnetworks::get].
12920    fn get(
12921        &self,
12922        _req: crate::model::subnetworks::GetRequest,
12923        _options: gax::options::RequestOptions,
12924    ) -> impl std::future::Future<
12925        Output = crate::Result<gax::response::Response<crate::model::Subnetwork>>,
12926    > + Send {
12927        gaxi::unimplemented::unimplemented_stub()
12928    }
12929
12930    /// Implements [super::client::Subnetworks::get_iam_policy].
12931    fn get_iam_policy(
12932        &self,
12933        _req: crate::model::subnetworks::GetIamPolicyRequest,
12934        _options: gax::options::RequestOptions,
12935    ) -> impl std::future::Future<
12936        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12937    > + Send {
12938        gaxi::unimplemented::unimplemented_stub()
12939    }
12940
12941    /// Implements [super::client::Subnetworks::insert].
12942    fn insert(
12943        &self,
12944        _req: crate::model::subnetworks::InsertRequest,
12945        _options: gax::options::RequestOptions,
12946    ) -> impl std::future::Future<
12947        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12948    > + Send {
12949        gaxi::unimplemented::unimplemented_stub()
12950    }
12951
12952    /// Implements [super::client::Subnetworks::list].
12953    fn list(
12954        &self,
12955        _req: crate::model::subnetworks::ListRequest,
12956        _options: gax::options::RequestOptions,
12957    ) -> impl std::future::Future<
12958        Output = crate::Result<gax::response::Response<crate::model::SubnetworkList>>,
12959    > + Send {
12960        gaxi::unimplemented::unimplemented_stub()
12961    }
12962
12963    /// Implements [super::client::Subnetworks::list_usable].
12964    fn list_usable(
12965        &self,
12966        _req: crate::model::subnetworks::ListUsableRequest,
12967        _options: gax::options::RequestOptions,
12968    ) -> impl std::future::Future<
12969        Output = crate::Result<
12970            gax::response::Response<crate::model::UsableSubnetworksAggregatedList>,
12971        >,
12972    > + Send {
12973        gaxi::unimplemented::unimplemented_stub()
12974    }
12975
12976    /// Implements [super::client::Subnetworks::patch].
12977    fn patch(
12978        &self,
12979        _req: crate::model::subnetworks::PatchRequest,
12980        _options: gax::options::RequestOptions,
12981    ) -> impl std::future::Future<
12982        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
12983    > + Send {
12984        gaxi::unimplemented::unimplemented_stub()
12985    }
12986
12987    /// Implements [super::client::Subnetworks::set_iam_policy].
12988    fn set_iam_policy(
12989        &self,
12990        _req: crate::model::subnetworks::SetIamPolicyRequest,
12991        _options: gax::options::RequestOptions,
12992    ) -> impl std::future::Future<
12993        Output = crate::Result<gax::response::Response<crate::model::Policy>>,
12994    > + Send {
12995        gaxi::unimplemented::unimplemented_stub()
12996    }
12997
12998    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
12999    fn set_private_ip_google_access(
13000        &self,
13001        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
13002        _options: gax::options::RequestOptions,
13003    ) -> impl std::future::Future<
13004        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13005    > + Send {
13006        gaxi::unimplemented::unimplemented_stub()
13007    }
13008
13009    /// Implements [super::client::Subnetworks::test_iam_permissions].
13010    fn test_iam_permissions(
13011        &self,
13012        _req: crate::model::subnetworks::TestIamPermissionsRequest,
13013        _options: gax::options::RequestOptions,
13014    ) -> impl std::future::Future<
13015        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
13016    > + Send {
13017        gaxi::unimplemented::unimplemented_stub()
13018    }
13019
13020    /// Implements [super::client::Subnetworks::get_operation].
13021    fn get_operation(
13022        &self,
13023        _req: crate::model::region_operations::GetRequest,
13024        _options: gax::options::RequestOptions,
13025    ) -> impl std::future::Future<
13026        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13027    > + Send {
13028        gaxi::unimplemented::unimplemented_stub()
13029    }
13030
13031    /// Returns the polling error policy.
13032    ///
13033    /// When mocking, this method is typically irrelevant. Do not try to verify
13034    /// it is called by your mocks.
13035    fn get_polling_error_policy(
13036        &self,
13037        _options: &gax::options::RequestOptions,
13038    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13039        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13040    }
13041
13042    /// Returns the polling backoff policy.
13043    ///
13044    /// When mocking, this method is typically irrelevant. Do not try to verify
13045    /// it is called by your mocks.
13046    fn get_polling_backoff_policy(
13047        &self,
13048        _options: &gax::options::RequestOptions,
13049    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13050        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13051    }
13052}
13053
13054/// Defines the trait used to implement [super::client::TargetGrpcProxies].
13055///
13056/// Application developers may need to implement this trait to mock
13057/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
13058/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
13059/// its implementations.
13060///
13061/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13062/// too. To avoid breaking applications the trait provides a default
13063/// implementation of each method. Most of these implementations just return an
13064/// error.
13065#[cfg(feature = "target-grpc-proxies")]
13066#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
13067pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
13068    /// Implements [super::client::TargetGrpcProxies::delete].
13069    fn delete(
13070        &self,
13071        _req: crate::model::target_grpc_proxies::DeleteRequest,
13072        _options: gax::options::RequestOptions,
13073    ) -> impl std::future::Future<
13074        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13075    > + Send {
13076        gaxi::unimplemented::unimplemented_stub()
13077    }
13078
13079    /// Implements [super::client::TargetGrpcProxies::get].
13080    fn get(
13081        &self,
13082        _req: crate::model::target_grpc_proxies::GetRequest,
13083        _options: gax::options::RequestOptions,
13084    ) -> impl std::future::Future<
13085        Output = crate::Result<gax::response::Response<crate::model::TargetGrpcProxy>>,
13086    > + Send {
13087        gaxi::unimplemented::unimplemented_stub()
13088    }
13089
13090    /// Implements [super::client::TargetGrpcProxies::insert].
13091    fn insert(
13092        &self,
13093        _req: crate::model::target_grpc_proxies::InsertRequest,
13094        _options: gax::options::RequestOptions,
13095    ) -> impl std::future::Future<
13096        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13097    > + Send {
13098        gaxi::unimplemented::unimplemented_stub()
13099    }
13100
13101    /// Implements [super::client::TargetGrpcProxies::list].
13102    fn list(
13103        &self,
13104        _req: crate::model::target_grpc_proxies::ListRequest,
13105        _options: gax::options::RequestOptions,
13106    ) -> impl std::future::Future<
13107        Output = crate::Result<gax::response::Response<crate::model::TargetGrpcProxyList>>,
13108    > + Send {
13109        gaxi::unimplemented::unimplemented_stub()
13110    }
13111
13112    /// Implements [super::client::TargetGrpcProxies::patch].
13113    fn patch(
13114        &self,
13115        _req: crate::model::target_grpc_proxies::PatchRequest,
13116        _options: gax::options::RequestOptions,
13117    ) -> impl std::future::Future<
13118        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13119    > + Send {
13120        gaxi::unimplemented::unimplemented_stub()
13121    }
13122
13123    /// Implements [super::client::TargetGrpcProxies::get_operation].
13124    fn get_operation(
13125        &self,
13126        _req: crate::model::global_operations::GetRequest,
13127        _options: gax::options::RequestOptions,
13128    ) -> impl std::future::Future<
13129        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13130    > + Send {
13131        gaxi::unimplemented::unimplemented_stub()
13132    }
13133
13134    /// Returns the polling error policy.
13135    ///
13136    /// When mocking, this method is typically irrelevant. Do not try to verify
13137    /// it is called by your mocks.
13138    fn get_polling_error_policy(
13139        &self,
13140        _options: &gax::options::RequestOptions,
13141    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13142        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13143    }
13144
13145    /// Returns the polling backoff policy.
13146    ///
13147    /// When mocking, this method is typically irrelevant. Do not try to verify
13148    /// it is called by your mocks.
13149    fn get_polling_backoff_policy(
13150        &self,
13151        _options: &gax::options::RequestOptions,
13152    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13153        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13154    }
13155}
13156
13157/// Defines the trait used to implement [super::client::TargetHttpProxies].
13158///
13159/// Application developers may need to implement this trait to mock
13160/// `client::TargetHttpProxies`.  In other use-cases, application developers only
13161/// use `client::TargetHttpProxies` and need not be concerned with this trait or
13162/// its implementations.
13163///
13164/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13165/// too. To avoid breaking applications the trait provides a default
13166/// implementation of each method. Most of these implementations just return an
13167/// error.
13168#[cfg(feature = "target-http-proxies")]
13169#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
13170pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
13171    /// Implements [super::client::TargetHttpProxies::aggregated_list].
13172    fn aggregated_list(
13173        &self,
13174        _req: crate::model::target_http_proxies::AggregatedListRequest,
13175        _options: gax::options::RequestOptions,
13176    ) -> impl std::future::Future<
13177        Output = crate::Result<
13178            gax::response::Response<crate::model::TargetHttpProxyAggregatedList>,
13179        >,
13180    > + Send {
13181        gaxi::unimplemented::unimplemented_stub()
13182    }
13183
13184    /// Implements [super::client::TargetHttpProxies::delete].
13185    fn delete(
13186        &self,
13187        _req: crate::model::target_http_proxies::DeleteRequest,
13188        _options: gax::options::RequestOptions,
13189    ) -> impl std::future::Future<
13190        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13191    > + Send {
13192        gaxi::unimplemented::unimplemented_stub()
13193    }
13194
13195    /// Implements [super::client::TargetHttpProxies::get].
13196    fn get(
13197        &self,
13198        _req: crate::model::target_http_proxies::GetRequest,
13199        _options: gax::options::RequestOptions,
13200    ) -> impl std::future::Future<
13201        Output = crate::Result<gax::response::Response<crate::model::TargetHttpProxy>>,
13202    > + Send {
13203        gaxi::unimplemented::unimplemented_stub()
13204    }
13205
13206    /// Implements [super::client::TargetHttpProxies::insert].
13207    fn insert(
13208        &self,
13209        _req: crate::model::target_http_proxies::InsertRequest,
13210        _options: gax::options::RequestOptions,
13211    ) -> impl std::future::Future<
13212        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13213    > + Send {
13214        gaxi::unimplemented::unimplemented_stub()
13215    }
13216
13217    /// Implements [super::client::TargetHttpProxies::list].
13218    fn list(
13219        &self,
13220        _req: crate::model::target_http_proxies::ListRequest,
13221        _options: gax::options::RequestOptions,
13222    ) -> impl std::future::Future<
13223        Output = crate::Result<gax::response::Response<crate::model::TargetHttpProxyList>>,
13224    > + Send {
13225        gaxi::unimplemented::unimplemented_stub()
13226    }
13227
13228    /// Implements [super::client::TargetHttpProxies::patch].
13229    fn patch(
13230        &self,
13231        _req: crate::model::target_http_proxies::PatchRequest,
13232        _options: gax::options::RequestOptions,
13233    ) -> impl std::future::Future<
13234        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13235    > + Send {
13236        gaxi::unimplemented::unimplemented_stub()
13237    }
13238
13239    /// Implements [super::client::TargetHttpProxies::set_url_map].
13240    fn set_url_map(
13241        &self,
13242        _req: crate::model::target_http_proxies::SetUrlMapRequest,
13243        _options: gax::options::RequestOptions,
13244    ) -> impl std::future::Future<
13245        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13246    > + Send {
13247        gaxi::unimplemented::unimplemented_stub()
13248    }
13249
13250    /// Implements [super::client::TargetHttpProxies::get_operation].
13251    fn get_operation(
13252        &self,
13253        _req: crate::model::global_operations::GetRequest,
13254        _options: gax::options::RequestOptions,
13255    ) -> impl std::future::Future<
13256        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13257    > + Send {
13258        gaxi::unimplemented::unimplemented_stub()
13259    }
13260
13261    /// Returns the polling error policy.
13262    ///
13263    /// When mocking, this method is typically irrelevant. Do not try to verify
13264    /// it is called by your mocks.
13265    fn get_polling_error_policy(
13266        &self,
13267        _options: &gax::options::RequestOptions,
13268    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13269        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13270    }
13271
13272    /// Returns the polling backoff policy.
13273    ///
13274    /// When mocking, this method is typically irrelevant. Do not try to verify
13275    /// it is called by your mocks.
13276    fn get_polling_backoff_policy(
13277        &self,
13278        _options: &gax::options::RequestOptions,
13279    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13280        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13281    }
13282}
13283
13284/// Defines the trait used to implement [super::client::TargetHttpsProxies].
13285///
13286/// Application developers may need to implement this trait to mock
13287/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
13288/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
13289/// its implementations.
13290///
13291/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13292/// too. To avoid breaking applications the trait provides a default
13293/// implementation of each method. Most of these implementations just return an
13294/// error.
13295#[cfg(feature = "target-https-proxies")]
13296#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
13297pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
13298    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
13299    fn aggregated_list(
13300        &self,
13301        _req: crate::model::target_https_proxies::AggregatedListRequest,
13302        _options: gax::options::RequestOptions,
13303    ) -> impl std::future::Future<
13304        Output = crate::Result<
13305            gax::response::Response<crate::model::TargetHttpsProxyAggregatedList>,
13306        >,
13307    > + Send {
13308        gaxi::unimplemented::unimplemented_stub()
13309    }
13310
13311    /// Implements [super::client::TargetHttpsProxies::delete].
13312    fn delete(
13313        &self,
13314        _req: crate::model::target_https_proxies::DeleteRequest,
13315        _options: gax::options::RequestOptions,
13316    ) -> impl std::future::Future<
13317        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13318    > + Send {
13319        gaxi::unimplemented::unimplemented_stub()
13320    }
13321
13322    /// Implements [super::client::TargetHttpsProxies::get].
13323    fn get(
13324        &self,
13325        _req: crate::model::target_https_proxies::GetRequest,
13326        _options: gax::options::RequestOptions,
13327    ) -> impl std::future::Future<
13328        Output = crate::Result<gax::response::Response<crate::model::TargetHttpsProxy>>,
13329    > + Send {
13330        gaxi::unimplemented::unimplemented_stub()
13331    }
13332
13333    /// Implements [super::client::TargetHttpsProxies::insert].
13334    fn insert(
13335        &self,
13336        _req: crate::model::target_https_proxies::InsertRequest,
13337        _options: gax::options::RequestOptions,
13338    ) -> impl std::future::Future<
13339        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13340    > + Send {
13341        gaxi::unimplemented::unimplemented_stub()
13342    }
13343
13344    /// Implements [super::client::TargetHttpsProxies::list].
13345    fn list(
13346        &self,
13347        _req: crate::model::target_https_proxies::ListRequest,
13348        _options: gax::options::RequestOptions,
13349    ) -> impl std::future::Future<
13350        Output = crate::Result<gax::response::Response<crate::model::TargetHttpsProxyList>>,
13351    > + Send {
13352        gaxi::unimplemented::unimplemented_stub()
13353    }
13354
13355    /// Implements [super::client::TargetHttpsProxies::patch].
13356    fn patch(
13357        &self,
13358        _req: crate::model::target_https_proxies::PatchRequest,
13359        _options: gax::options::RequestOptions,
13360    ) -> impl std::future::Future<
13361        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13362    > + Send {
13363        gaxi::unimplemented::unimplemented_stub()
13364    }
13365
13366    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
13367    fn set_certificate_map(
13368        &self,
13369        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
13370        _options: gax::options::RequestOptions,
13371    ) -> impl std::future::Future<
13372        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13373    > + Send {
13374        gaxi::unimplemented::unimplemented_stub()
13375    }
13376
13377    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
13378    fn set_quic_override(
13379        &self,
13380        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
13381        _options: gax::options::RequestOptions,
13382    ) -> impl std::future::Future<
13383        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13384    > + Send {
13385        gaxi::unimplemented::unimplemented_stub()
13386    }
13387
13388    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
13389    fn set_ssl_certificates(
13390        &self,
13391        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
13392        _options: gax::options::RequestOptions,
13393    ) -> impl std::future::Future<
13394        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13395    > + Send {
13396        gaxi::unimplemented::unimplemented_stub()
13397    }
13398
13399    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
13400    fn set_ssl_policy(
13401        &self,
13402        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
13403        _options: gax::options::RequestOptions,
13404    ) -> impl std::future::Future<
13405        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13406    > + Send {
13407        gaxi::unimplemented::unimplemented_stub()
13408    }
13409
13410    /// Implements [super::client::TargetHttpsProxies::set_url_map].
13411    fn set_url_map(
13412        &self,
13413        _req: crate::model::target_https_proxies::SetUrlMapRequest,
13414        _options: gax::options::RequestOptions,
13415    ) -> impl std::future::Future<
13416        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13417    > + Send {
13418        gaxi::unimplemented::unimplemented_stub()
13419    }
13420
13421    /// Implements [super::client::TargetHttpsProxies::get_operation].
13422    fn get_operation(
13423        &self,
13424        _req: crate::model::global_operations::GetRequest,
13425        _options: gax::options::RequestOptions,
13426    ) -> impl std::future::Future<
13427        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13428    > + Send {
13429        gaxi::unimplemented::unimplemented_stub()
13430    }
13431
13432    /// Returns the polling error policy.
13433    ///
13434    /// When mocking, this method is typically irrelevant. Do not try to verify
13435    /// it is called by your mocks.
13436    fn get_polling_error_policy(
13437        &self,
13438        _options: &gax::options::RequestOptions,
13439    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13440        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13441    }
13442
13443    /// Returns the polling backoff policy.
13444    ///
13445    /// When mocking, this method is typically irrelevant. Do not try to verify
13446    /// it is called by your mocks.
13447    fn get_polling_backoff_policy(
13448        &self,
13449        _options: &gax::options::RequestOptions,
13450    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13451        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13452    }
13453}
13454
13455/// Defines the trait used to implement [super::client::TargetInstances].
13456///
13457/// Application developers may need to implement this trait to mock
13458/// `client::TargetInstances`.  In other use-cases, application developers only
13459/// use `client::TargetInstances` and need not be concerned with this trait or
13460/// its implementations.
13461///
13462/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13463/// too. To avoid breaking applications the trait provides a default
13464/// implementation of each method. Most of these implementations just return an
13465/// error.
13466#[cfg(feature = "target-instances")]
13467#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
13468pub trait TargetInstances: std::fmt::Debug + Send + Sync {
13469    /// Implements [super::client::TargetInstances::aggregated_list].
13470    fn aggregated_list(
13471        &self,
13472        _req: crate::model::target_instances::AggregatedListRequest,
13473        _options: gax::options::RequestOptions,
13474    ) -> impl std::future::Future<
13475        Output = crate::Result<gax::response::Response<crate::model::TargetInstanceAggregatedList>>,
13476    > + Send {
13477        gaxi::unimplemented::unimplemented_stub()
13478    }
13479
13480    /// Implements [super::client::TargetInstances::delete].
13481    fn delete(
13482        &self,
13483        _req: crate::model::target_instances::DeleteRequest,
13484        _options: gax::options::RequestOptions,
13485    ) -> impl std::future::Future<
13486        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13487    > + Send {
13488        gaxi::unimplemented::unimplemented_stub()
13489    }
13490
13491    /// Implements [super::client::TargetInstances::get].
13492    fn get(
13493        &self,
13494        _req: crate::model::target_instances::GetRequest,
13495        _options: gax::options::RequestOptions,
13496    ) -> impl std::future::Future<
13497        Output = crate::Result<gax::response::Response<crate::model::TargetInstance>>,
13498    > + Send {
13499        gaxi::unimplemented::unimplemented_stub()
13500    }
13501
13502    /// Implements [super::client::TargetInstances::insert].
13503    fn insert(
13504        &self,
13505        _req: crate::model::target_instances::InsertRequest,
13506        _options: gax::options::RequestOptions,
13507    ) -> impl std::future::Future<
13508        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13509    > + Send {
13510        gaxi::unimplemented::unimplemented_stub()
13511    }
13512
13513    /// Implements [super::client::TargetInstances::list].
13514    fn list(
13515        &self,
13516        _req: crate::model::target_instances::ListRequest,
13517        _options: gax::options::RequestOptions,
13518    ) -> impl std::future::Future<
13519        Output = crate::Result<gax::response::Response<crate::model::TargetInstanceList>>,
13520    > + Send {
13521        gaxi::unimplemented::unimplemented_stub()
13522    }
13523
13524    /// Implements [super::client::TargetInstances::set_security_policy].
13525    fn set_security_policy(
13526        &self,
13527        _req: crate::model::target_instances::SetSecurityPolicyRequest,
13528        _options: gax::options::RequestOptions,
13529    ) -> impl std::future::Future<
13530        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13531    > + Send {
13532        gaxi::unimplemented::unimplemented_stub()
13533    }
13534
13535    /// Implements [super::client::TargetInstances::test_iam_permissions].
13536    fn test_iam_permissions(
13537        &self,
13538        _req: crate::model::target_instances::TestIamPermissionsRequest,
13539        _options: gax::options::RequestOptions,
13540    ) -> impl std::future::Future<
13541        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
13542    > + Send {
13543        gaxi::unimplemented::unimplemented_stub()
13544    }
13545
13546    /// Implements [super::client::TargetInstances::get_operation].
13547    fn get_operation(
13548        &self,
13549        _req: crate::model::zone_operations::GetRequest,
13550        _options: gax::options::RequestOptions,
13551    ) -> impl std::future::Future<
13552        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13553    > + Send {
13554        gaxi::unimplemented::unimplemented_stub()
13555    }
13556
13557    /// Returns the polling error policy.
13558    ///
13559    /// When mocking, this method is typically irrelevant. Do not try to verify
13560    /// it is called by your mocks.
13561    fn get_polling_error_policy(
13562        &self,
13563        _options: &gax::options::RequestOptions,
13564    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13565        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13566    }
13567
13568    /// Returns the polling backoff policy.
13569    ///
13570    /// When mocking, this method is typically irrelevant. Do not try to verify
13571    /// it is called by your mocks.
13572    fn get_polling_backoff_policy(
13573        &self,
13574        _options: &gax::options::RequestOptions,
13575    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13576        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13577    }
13578}
13579
13580/// Defines the trait used to implement [super::client::TargetPools].
13581///
13582/// Application developers may need to implement this trait to mock
13583/// `client::TargetPools`.  In other use-cases, application developers only
13584/// use `client::TargetPools` and need not be concerned with this trait or
13585/// its implementations.
13586///
13587/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13588/// too. To avoid breaking applications the trait provides a default
13589/// implementation of each method. Most of these implementations just return an
13590/// error.
13591#[cfg(feature = "target-pools")]
13592#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
13593pub trait TargetPools: std::fmt::Debug + Send + Sync {
13594    /// Implements [super::client::TargetPools::add_health_check].
13595    fn add_health_check(
13596        &self,
13597        _req: crate::model::target_pools::AddHealthCheckRequest,
13598        _options: gax::options::RequestOptions,
13599    ) -> impl std::future::Future<
13600        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13601    > + Send {
13602        gaxi::unimplemented::unimplemented_stub()
13603    }
13604
13605    /// Implements [super::client::TargetPools::add_instance].
13606    fn add_instance(
13607        &self,
13608        _req: crate::model::target_pools::AddInstanceRequest,
13609        _options: gax::options::RequestOptions,
13610    ) -> impl std::future::Future<
13611        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13612    > + Send {
13613        gaxi::unimplemented::unimplemented_stub()
13614    }
13615
13616    /// Implements [super::client::TargetPools::aggregated_list].
13617    fn aggregated_list(
13618        &self,
13619        _req: crate::model::target_pools::AggregatedListRequest,
13620        _options: gax::options::RequestOptions,
13621    ) -> impl std::future::Future<
13622        Output = crate::Result<gax::response::Response<crate::model::TargetPoolAggregatedList>>,
13623    > + Send {
13624        gaxi::unimplemented::unimplemented_stub()
13625    }
13626
13627    /// Implements [super::client::TargetPools::delete].
13628    fn delete(
13629        &self,
13630        _req: crate::model::target_pools::DeleteRequest,
13631        _options: gax::options::RequestOptions,
13632    ) -> impl std::future::Future<
13633        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13634    > + Send {
13635        gaxi::unimplemented::unimplemented_stub()
13636    }
13637
13638    /// Implements [super::client::TargetPools::get].
13639    fn get(
13640        &self,
13641        _req: crate::model::target_pools::GetRequest,
13642        _options: gax::options::RequestOptions,
13643    ) -> impl std::future::Future<
13644        Output = crate::Result<gax::response::Response<crate::model::TargetPool>>,
13645    > + Send {
13646        gaxi::unimplemented::unimplemented_stub()
13647    }
13648
13649    /// Implements [super::client::TargetPools::get_health].
13650    fn get_health(
13651        &self,
13652        _req: crate::model::target_pools::GetHealthRequest,
13653        _options: gax::options::RequestOptions,
13654    ) -> impl std::future::Future<
13655        Output = crate::Result<gax::response::Response<crate::model::TargetPoolInstanceHealth>>,
13656    > + Send {
13657        gaxi::unimplemented::unimplemented_stub()
13658    }
13659
13660    /// Implements [super::client::TargetPools::insert].
13661    fn insert(
13662        &self,
13663        _req: crate::model::target_pools::InsertRequest,
13664        _options: gax::options::RequestOptions,
13665    ) -> impl std::future::Future<
13666        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13667    > + Send {
13668        gaxi::unimplemented::unimplemented_stub()
13669    }
13670
13671    /// Implements [super::client::TargetPools::list].
13672    fn list(
13673        &self,
13674        _req: crate::model::target_pools::ListRequest,
13675        _options: gax::options::RequestOptions,
13676    ) -> impl std::future::Future<
13677        Output = crate::Result<gax::response::Response<crate::model::TargetPoolList>>,
13678    > + Send {
13679        gaxi::unimplemented::unimplemented_stub()
13680    }
13681
13682    /// Implements [super::client::TargetPools::remove_health_check].
13683    fn remove_health_check(
13684        &self,
13685        _req: crate::model::target_pools::RemoveHealthCheckRequest,
13686        _options: gax::options::RequestOptions,
13687    ) -> impl std::future::Future<
13688        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13689    > + Send {
13690        gaxi::unimplemented::unimplemented_stub()
13691    }
13692
13693    /// Implements [super::client::TargetPools::remove_instance].
13694    fn remove_instance(
13695        &self,
13696        _req: crate::model::target_pools::RemoveInstanceRequest,
13697        _options: gax::options::RequestOptions,
13698    ) -> impl std::future::Future<
13699        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13700    > + Send {
13701        gaxi::unimplemented::unimplemented_stub()
13702    }
13703
13704    /// Implements [super::client::TargetPools::set_backup].
13705    fn set_backup(
13706        &self,
13707        _req: crate::model::target_pools::SetBackupRequest,
13708        _options: gax::options::RequestOptions,
13709    ) -> impl std::future::Future<
13710        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13711    > + Send {
13712        gaxi::unimplemented::unimplemented_stub()
13713    }
13714
13715    /// Implements [super::client::TargetPools::set_security_policy].
13716    fn set_security_policy(
13717        &self,
13718        _req: crate::model::target_pools::SetSecurityPolicyRequest,
13719        _options: gax::options::RequestOptions,
13720    ) -> impl std::future::Future<
13721        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13722    > + Send {
13723        gaxi::unimplemented::unimplemented_stub()
13724    }
13725
13726    /// Implements [super::client::TargetPools::test_iam_permissions].
13727    fn test_iam_permissions(
13728        &self,
13729        _req: crate::model::target_pools::TestIamPermissionsRequest,
13730        _options: gax::options::RequestOptions,
13731    ) -> impl std::future::Future<
13732        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
13733    > + Send {
13734        gaxi::unimplemented::unimplemented_stub()
13735    }
13736
13737    /// Implements [super::client::TargetPools::get_operation].
13738    fn get_operation(
13739        &self,
13740        _req: crate::model::region_operations::GetRequest,
13741        _options: gax::options::RequestOptions,
13742    ) -> impl std::future::Future<
13743        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13744    > + Send {
13745        gaxi::unimplemented::unimplemented_stub()
13746    }
13747
13748    /// Returns the polling error policy.
13749    ///
13750    /// When mocking, this method is typically irrelevant. Do not try to verify
13751    /// it is called by your mocks.
13752    fn get_polling_error_policy(
13753        &self,
13754        _options: &gax::options::RequestOptions,
13755    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13756        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13757    }
13758
13759    /// Returns the polling backoff policy.
13760    ///
13761    /// When mocking, this method is typically irrelevant. Do not try to verify
13762    /// it is called by your mocks.
13763    fn get_polling_backoff_policy(
13764        &self,
13765        _options: &gax::options::RequestOptions,
13766    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13767        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13768    }
13769}
13770
13771/// Defines the trait used to implement [super::client::TargetSslProxies].
13772///
13773/// Application developers may need to implement this trait to mock
13774/// `client::TargetSslProxies`.  In other use-cases, application developers only
13775/// use `client::TargetSslProxies` and need not be concerned with this trait or
13776/// its implementations.
13777///
13778/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13779/// too. To avoid breaking applications the trait provides a default
13780/// implementation of each method. Most of these implementations just return an
13781/// error.
13782#[cfg(feature = "target-ssl-proxies")]
13783#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
13784pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
13785    /// Implements [super::client::TargetSslProxies::delete].
13786    fn delete(
13787        &self,
13788        _req: crate::model::target_ssl_proxies::DeleteRequest,
13789        _options: gax::options::RequestOptions,
13790    ) -> impl std::future::Future<
13791        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13792    > + Send {
13793        gaxi::unimplemented::unimplemented_stub()
13794    }
13795
13796    /// Implements [super::client::TargetSslProxies::get].
13797    fn get(
13798        &self,
13799        _req: crate::model::target_ssl_proxies::GetRequest,
13800        _options: gax::options::RequestOptions,
13801    ) -> impl std::future::Future<
13802        Output = crate::Result<gax::response::Response<crate::model::TargetSslProxy>>,
13803    > + Send {
13804        gaxi::unimplemented::unimplemented_stub()
13805    }
13806
13807    /// Implements [super::client::TargetSslProxies::insert].
13808    fn insert(
13809        &self,
13810        _req: crate::model::target_ssl_proxies::InsertRequest,
13811        _options: gax::options::RequestOptions,
13812    ) -> impl std::future::Future<
13813        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13814    > + Send {
13815        gaxi::unimplemented::unimplemented_stub()
13816    }
13817
13818    /// Implements [super::client::TargetSslProxies::list].
13819    fn list(
13820        &self,
13821        _req: crate::model::target_ssl_proxies::ListRequest,
13822        _options: gax::options::RequestOptions,
13823    ) -> impl std::future::Future<
13824        Output = crate::Result<gax::response::Response<crate::model::TargetSslProxyList>>,
13825    > + Send {
13826        gaxi::unimplemented::unimplemented_stub()
13827    }
13828
13829    /// Implements [super::client::TargetSslProxies::set_backend_service].
13830    fn set_backend_service(
13831        &self,
13832        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
13833        _options: gax::options::RequestOptions,
13834    ) -> impl std::future::Future<
13835        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13836    > + Send {
13837        gaxi::unimplemented::unimplemented_stub()
13838    }
13839
13840    /// Implements [super::client::TargetSslProxies::set_certificate_map].
13841    fn set_certificate_map(
13842        &self,
13843        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
13844        _options: gax::options::RequestOptions,
13845    ) -> impl std::future::Future<
13846        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13847    > + Send {
13848        gaxi::unimplemented::unimplemented_stub()
13849    }
13850
13851    /// Implements [super::client::TargetSslProxies::set_proxy_header].
13852    fn set_proxy_header(
13853        &self,
13854        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
13855        _options: gax::options::RequestOptions,
13856    ) -> impl std::future::Future<
13857        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13858    > + Send {
13859        gaxi::unimplemented::unimplemented_stub()
13860    }
13861
13862    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
13863    fn set_ssl_certificates(
13864        &self,
13865        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
13866        _options: gax::options::RequestOptions,
13867    ) -> impl std::future::Future<
13868        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13869    > + Send {
13870        gaxi::unimplemented::unimplemented_stub()
13871    }
13872
13873    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
13874    fn set_ssl_policy(
13875        &self,
13876        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
13877        _options: gax::options::RequestOptions,
13878    ) -> impl std::future::Future<
13879        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13880    > + Send {
13881        gaxi::unimplemented::unimplemented_stub()
13882    }
13883
13884    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
13885    fn test_iam_permissions(
13886        &self,
13887        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
13888        _options: gax::options::RequestOptions,
13889    ) -> impl std::future::Future<
13890        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
13891    > + Send {
13892        gaxi::unimplemented::unimplemented_stub()
13893    }
13894
13895    /// Implements [super::client::TargetSslProxies::get_operation].
13896    fn get_operation(
13897        &self,
13898        _req: crate::model::global_operations::GetRequest,
13899        _options: gax::options::RequestOptions,
13900    ) -> impl std::future::Future<
13901        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13902    > + Send {
13903        gaxi::unimplemented::unimplemented_stub()
13904    }
13905
13906    /// Returns the polling error policy.
13907    ///
13908    /// When mocking, this method is typically irrelevant. Do not try to verify
13909    /// it is called by your mocks.
13910    fn get_polling_error_policy(
13911        &self,
13912        _options: &gax::options::RequestOptions,
13913    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
13914        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
13915    }
13916
13917    /// Returns the polling backoff policy.
13918    ///
13919    /// When mocking, this method is typically irrelevant. Do not try to verify
13920    /// it is called by your mocks.
13921    fn get_polling_backoff_policy(
13922        &self,
13923        _options: &gax::options::RequestOptions,
13924    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
13925        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
13926    }
13927}
13928
13929/// Defines the trait used to implement [super::client::TargetTcpProxies].
13930///
13931/// Application developers may need to implement this trait to mock
13932/// `client::TargetTcpProxies`.  In other use-cases, application developers only
13933/// use `client::TargetTcpProxies` and need not be concerned with this trait or
13934/// its implementations.
13935///
13936/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13937/// too. To avoid breaking applications the trait provides a default
13938/// implementation of each method. Most of these implementations just return an
13939/// error.
13940#[cfg(feature = "target-tcp-proxies")]
13941#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
13942pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
13943    /// Implements [super::client::TargetTcpProxies::aggregated_list].
13944    fn aggregated_list(
13945        &self,
13946        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
13947        _options: gax::options::RequestOptions,
13948    ) -> impl std::future::Future<
13949        Output = crate::Result<gax::response::Response<crate::model::TargetTcpProxyAggregatedList>>,
13950    > + Send {
13951        gaxi::unimplemented::unimplemented_stub()
13952    }
13953
13954    /// Implements [super::client::TargetTcpProxies::delete].
13955    fn delete(
13956        &self,
13957        _req: crate::model::target_tcp_proxies::DeleteRequest,
13958        _options: gax::options::RequestOptions,
13959    ) -> impl std::future::Future<
13960        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13961    > + Send {
13962        gaxi::unimplemented::unimplemented_stub()
13963    }
13964
13965    /// Implements [super::client::TargetTcpProxies::get].
13966    fn get(
13967        &self,
13968        _req: crate::model::target_tcp_proxies::GetRequest,
13969        _options: gax::options::RequestOptions,
13970    ) -> impl std::future::Future<
13971        Output = crate::Result<gax::response::Response<crate::model::TargetTcpProxy>>,
13972    > + Send {
13973        gaxi::unimplemented::unimplemented_stub()
13974    }
13975
13976    /// Implements [super::client::TargetTcpProxies::insert].
13977    fn insert(
13978        &self,
13979        _req: crate::model::target_tcp_proxies::InsertRequest,
13980        _options: gax::options::RequestOptions,
13981    ) -> impl std::future::Future<
13982        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
13983    > + Send {
13984        gaxi::unimplemented::unimplemented_stub()
13985    }
13986
13987    /// Implements [super::client::TargetTcpProxies::list].
13988    fn list(
13989        &self,
13990        _req: crate::model::target_tcp_proxies::ListRequest,
13991        _options: gax::options::RequestOptions,
13992    ) -> impl std::future::Future<
13993        Output = crate::Result<gax::response::Response<crate::model::TargetTcpProxyList>>,
13994    > + Send {
13995        gaxi::unimplemented::unimplemented_stub()
13996    }
13997
13998    /// Implements [super::client::TargetTcpProxies::set_backend_service].
13999    fn set_backend_service(
14000        &self,
14001        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
14002        _options: gax::options::RequestOptions,
14003    ) -> impl std::future::Future<
14004        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14005    > + Send {
14006        gaxi::unimplemented::unimplemented_stub()
14007    }
14008
14009    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
14010    fn set_proxy_header(
14011        &self,
14012        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
14013        _options: gax::options::RequestOptions,
14014    ) -> impl std::future::Future<
14015        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14016    > + Send {
14017        gaxi::unimplemented::unimplemented_stub()
14018    }
14019
14020    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
14021    fn test_iam_permissions(
14022        &self,
14023        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
14024        _options: gax::options::RequestOptions,
14025    ) -> impl std::future::Future<
14026        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
14027    > + Send {
14028        gaxi::unimplemented::unimplemented_stub()
14029    }
14030
14031    /// Implements [super::client::TargetTcpProxies::get_operation].
14032    fn get_operation(
14033        &self,
14034        _req: crate::model::global_operations::GetRequest,
14035        _options: gax::options::RequestOptions,
14036    ) -> impl std::future::Future<
14037        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14038    > + Send {
14039        gaxi::unimplemented::unimplemented_stub()
14040    }
14041
14042    /// Returns the polling error policy.
14043    ///
14044    /// When mocking, this method is typically irrelevant. Do not try to verify
14045    /// it is called by your mocks.
14046    fn get_polling_error_policy(
14047        &self,
14048        _options: &gax::options::RequestOptions,
14049    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
14050        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
14051    }
14052
14053    /// Returns the polling backoff policy.
14054    ///
14055    /// When mocking, this method is typically irrelevant. Do not try to verify
14056    /// it is called by your mocks.
14057    fn get_polling_backoff_policy(
14058        &self,
14059        _options: &gax::options::RequestOptions,
14060    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
14061        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
14062    }
14063}
14064
14065/// Defines the trait used to implement [super::client::TargetVpnGateways].
14066///
14067/// Application developers may need to implement this trait to mock
14068/// `client::TargetVpnGateways`.  In other use-cases, application developers only
14069/// use `client::TargetVpnGateways` and need not be concerned with this trait or
14070/// its implementations.
14071///
14072/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14073/// too. To avoid breaking applications the trait provides a default
14074/// implementation of each method. Most of these implementations just return an
14075/// error.
14076#[cfg(feature = "target-vpn-gateways")]
14077#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
14078pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
14079    /// Implements [super::client::TargetVpnGateways::aggregated_list].
14080    fn aggregated_list(
14081        &self,
14082        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
14083        _options: gax::options::RequestOptions,
14084    ) -> impl std::future::Future<
14085        Output = crate::Result<
14086            gax::response::Response<crate::model::TargetVpnGatewayAggregatedList>,
14087        >,
14088    > + Send {
14089        gaxi::unimplemented::unimplemented_stub()
14090    }
14091
14092    /// Implements [super::client::TargetVpnGateways::delete].
14093    fn delete(
14094        &self,
14095        _req: crate::model::target_vpn_gateways::DeleteRequest,
14096        _options: gax::options::RequestOptions,
14097    ) -> impl std::future::Future<
14098        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14099    > + Send {
14100        gaxi::unimplemented::unimplemented_stub()
14101    }
14102
14103    /// Implements [super::client::TargetVpnGateways::get].
14104    fn get(
14105        &self,
14106        _req: crate::model::target_vpn_gateways::GetRequest,
14107        _options: gax::options::RequestOptions,
14108    ) -> impl std::future::Future<
14109        Output = crate::Result<gax::response::Response<crate::model::TargetVpnGateway>>,
14110    > + Send {
14111        gaxi::unimplemented::unimplemented_stub()
14112    }
14113
14114    /// Implements [super::client::TargetVpnGateways::insert].
14115    fn insert(
14116        &self,
14117        _req: crate::model::target_vpn_gateways::InsertRequest,
14118        _options: gax::options::RequestOptions,
14119    ) -> impl std::future::Future<
14120        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14121    > + Send {
14122        gaxi::unimplemented::unimplemented_stub()
14123    }
14124
14125    /// Implements [super::client::TargetVpnGateways::list].
14126    fn list(
14127        &self,
14128        _req: crate::model::target_vpn_gateways::ListRequest,
14129        _options: gax::options::RequestOptions,
14130    ) -> impl std::future::Future<
14131        Output = crate::Result<gax::response::Response<crate::model::TargetVpnGatewayList>>,
14132    > + Send {
14133        gaxi::unimplemented::unimplemented_stub()
14134    }
14135
14136    /// Implements [super::client::TargetVpnGateways::set_labels].
14137    fn set_labels(
14138        &self,
14139        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
14140        _options: gax::options::RequestOptions,
14141    ) -> impl std::future::Future<
14142        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14143    > + Send {
14144        gaxi::unimplemented::unimplemented_stub()
14145    }
14146
14147    /// Implements [super::client::TargetVpnGateways::get_operation].
14148    fn get_operation(
14149        &self,
14150        _req: crate::model::region_operations::GetRequest,
14151        _options: gax::options::RequestOptions,
14152    ) -> impl std::future::Future<
14153        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14154    > + Send {
14155        gaxi::unimplemented::unimplemented_stub()
14156    }
14157
14158    /// Returns the polling error policy.
14159    ///
14160    /// When mocking, this method is typically irrelevant. Do not try to verify
14161    /// it is called by your mocks.
14162    fn get_polling_error_policy(
14163        &self,
14164        _options: &gax::options::RequestOptions,
14165    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
14166        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
14167    }
14168
14169    /// Returns the polling backoff policy.
14170    ///
14171    /// When mocking, this method is typically irrelevant. Do not try to verify
14172    /// it is called by your mocks.
14173    fn get_polling_backoff_policy(
14174        &self,
14175        _options: &gax::options::RequestOptions,
14176    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
14177        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
14178    }
14179}
14180
14181/// Defines the trait used to implement [super::client::UrlMaps].
14182///
14183/// Application developers may need to implement this trait to mock
14184/// `client::UrlMaps`.  In other use-cases, application developers only
14185/// use `client::UrlMaps` and need not be concerned with this trait or
14186/// its implementations.
14187///
14188/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14189/// too. To avoid breaking applications the trait provides a default
14190/// implementation of each method. Most of these implementations just return an
14191/// error.
14192#[cfg(feature = "url-maps")]
14193#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
14194pub trait UrlMaps: std::fmt::Debug + Send + Sync {
14195    /// Implements [super::client::UrlMaps::aggregated_list].
14196    fn aggregated_list(
14197        &self,
14198        _req: crate::model::url_maps::AggregatedListRequest,
14199        _options: gax::options::RequestOptions,
14200    ) -> impl std::future::Future<
14201        Output = crate::Result<gax::response::Response<crate::model::UrlMapsAggregatedList>>,
14202    > + Send {
14203        gaxi::unimplemented::unimplemented_stub()
14204    }
14205
14206    /// Implements [super::client::UrlMaps::delete].
14207    fn delete(
14208        &self,
14209        _req: crate::model::url_maps::DeleteRequest,
14210        _options: gax::options::RequestOptions,
14211    ) -> impl std::future::Future<
14212        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14213    > + Send {
14214        gaxi::unimplemented::unimplemented_stub()
14215    }
14216
14217    /// Implements [super::client::UrlMaps::get].
14218    fn get(
14219        &self,
14220        _req: crate::model::url_maps::GetRequest,
14221        _options: gax::options::RequestOptions,
14222    ) -> impl std::future::Future<
14223        Output = crate::Result<gax::response::Response<crate::model::UrlMap>>,
14224    > + Send {
14225        gaxi::unimplemented::unimplemented_stub()
14226    }
14227
14228    /// Implements [super::client::UrlMaps::insert].
14229    fn insert(
14230        &self,
14231        _req: crate::model::url_maps::InsertRequest,
14232        _options: gax::options::RequestOptions,
14233    ) -> impl std::future::Future<
14234        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14235    > + Send {
14236        gaxi::unimplemented::unimplemented_stub()
14237    }
14238
14239    /// Implements [super::client::UrlMaps::invalidate_cache].
14240    fn invalidate_cache(
14241        &self,
14242        _req: crate::model::url_maps::InvalidateCacheRequest,
14243        _options: gax::options::RequestOptions,
14244    ) -> impl std::future::Future<
14245        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14246    > + Send {
14247        gaxi::unimplemented::unimplemented_stub()
14248    }
14249
14250    /// Implements [super::client::UrlMaps::list].
14251    fn list(
14252        &self,
14253        _req: crate::model::url_maps::ListRequest,
14254        _options: gax::options::RequestOptions,
14255    ) -> impl std::future::Future<
14256        Output = crate::Result<gax::response::Response<crate::model::UrlMapList>>,
14257    > + Send {
14258        gaxi::unimplemented::unimplemented_stub()
14259    }
14260
14261    /// Implements [super::client::UrlMaps::patch].
14262    fn patch(
14263        &self,
14264        _req: crate::model::url_maps::PatchRequest,
14265        _options: gax::options::RequestOptions,
14266    ) -> impl std::future::Future<
14267        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14268    > + Send {
14269        gaxi::unimplemented::unimplemented_stub()
14270    }
14271
14272    /// Implements [super::client::UrlMaps::test_iam_permissions].
14273    fn test_iam_permissions(
14274        &self,
14275        _req: crate::model::url_maps::TestIamPermissionsRequest,
14276        _options: gax::options::RequestOptions,
14277    ) -> impl std::future::Future<
14278        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
14279    > + Send {
14280        gaxi::unimplemented::unimplemented_stub()
14281    }
14282
14283    /// Implements [super::client::UrlMaps::update].
14284    fn update(
14285        &self,
14286        _req: crate::model::url_maps::UpdateRequest,
14287        _options: gax::options::RequestOptions,
14288    ) -> impl std::future::Future<
14289        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14290    > + Send {
14291        gaxi::unimplemented::unimplemented_stub()
14292    }
14293
14294    /// Implements [super::client::UrlMaps::validate].
14295    fn validate(
14296        &self,
14297        _req: crate::model::url_maps::ValidateRequest,
14298        _options: gax::options::RequestOptions,
14299    ) -> impl std::future::Future<
14300        Output = crate::Result<gax::response::Response<crate::model::UrlMapsValidateResponse>>,
14301    > + Send {
14302        gaxi::unimplemented::unimplemented_stub()
14303    }
14304
14305    /// Implements [super::client::UrlMaps::get_operation].
14306    fn get_operation(
14307        &self,
14308        _req: crate::model::global_operations::GetRequest,
14309        _options: gax::options::RequestOptions,
14310    ) -> impl std::future::Future<
14311        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14312    > + Send {
14313        gaxi::unimplemented::unimplemented_stub()
14314    }
14315
14316    /// Returns the polling error policy.
14317    ///
14318    /// When mocking, this method is typically irrelevant. Do not try to verify
14319    /// it is called by your mocks.
14320    fn get_polling_error_policy(
14321        &self,
14322        _options: &gax::options::RequestOptions,
14323    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
14324        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
14325    }
14326
14327    /// Returns the polling backoff policy.
14328    ///
14329    /// When mocking, this method is typically irrelevant. Do not try to verify
14330    /// it is called by your mocks.
14331    fn get_polling_backoff_policy(
14332        &self,
14333        _options: &gax::options::RequestOptions,
14334    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
14335        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
14336    }
14337}
14338
14339/// Defines the trait used to implement [super::client::VpnGateways].
14340///
14341/// Application developers may need to implement this trait to mock
14342/// `client::VpnGateways`.  In other use-cases, application developers only
14343/// use `client::VpnGateways` and need not be concerned with this trait or
14344/// its implementations.
14345///
14346/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14347/// too. To avoid breaking applications the trait provides a default
14348/// implementation of each method. Most of these implementations just return an
14349/// error.
14350#[cfg(feature = "vpn-gateways")]
14351#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
14352pub trait VpnGateways: std::fmt::Debug + Send + Sync {
14353    /// Implements [super::client::VpnGateways::aggregated_list].
14354    fn aggregated_list(
14355        &self,
14356        _req: crate::model::vpn_gateways::AggregatedListRequest,
14357        _options: gax::options::RequestOptions,
14358    ) -> impl std::future::Future<
14359        Output = crate::Result<gax::response::Response<crate::model::VpnGatewayAggregatedList>>,
14360    > + Send {
14361        gaxi::unimplemented::unimplemented_stub()
14362    }
14363
14364    /// Implements [super::client::VpnGateways::delete].
14365    fn delete(
14366        &self,
14367        _req: crate::model::vpn_gateways::DeleteRequest,
14368        _options: gax::options::RequestOptions,
14369    ) -> impl std::future::Future<
14370        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14371    > + Send {
14372        gaxi::unimplemented::unimplemented_stub()
14373    }
14374
14375    /// Implements [super::client::VpnGateways::get].
14376    fn get(
14377        &self,
14378        _req: crate::model::vpn_gateways::GetRequest,
14379        _options: gax::options::RequestOptions,
14380    ) -> impl std::future::Future<
14381        Output = crate::Result<gax::response::Response<crate::model::VpnGateway>>,
14382    > + Send {
14383        gaxi::unimplemented::unimplemented_stub()
14384    }
14385
14386    /// Implements [super::client::VpnGateways::get_status].
14387    fn get_status(
14388        &self,
14389        _req: crate::model::vpn_gateways::GetStatusRequest,
14390        _options: gax::options::RequestOptions,
14391    ) -> impl std::future::Future<
14392        Output = crate::Result<gax::response::Response<crate::model::VpnGatewaysGetStatusResponse>>,
14393    > + Send {
14394        gaxi::unimplemented::unimplemented_stub()
14395    }
14396
14397    /// Implements [super::client::VpnGateways::insert].
14398    fn insert(
14399        &self,
14400        _req: crate::model::vpn_gateways::InsertRequest,
14401        _options: gax::options::RequestOptions,
14402    ) -> impl std::future::Future<
14403        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14404    > + Send {
14405        gaxi::unimplemented::unimplemented_stub()
14406    }
14407
14408    /// Implements [super::client::VpnGateways::list].
14409    fn list(
14410        &self,
14411        _req: crate::model::vpn_gateways::ListRequest,
14412        _options: gax::options::RequestOptions,
14413    ) -> impl std::future::Future<
14414        Output = crate::Result<gax::response::Response<crate::model::VpnGatewayList>>,
14415    > + Send {
14416        gaxi::unimplemented::unimplemented_stub()
14417    }
14418
14419    /// Implements [super::client::VpnGateways::set_labels].
14420    fn set_labels(
14421        &self,
14422        _req: crate::model::vpn_gateways::SetLabelsRequest,
14423        _options: gax::options::RequestOptions,
14424    ) -> impl std::future::Future<
14425        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14426    > + Send {
14427        gaxi::unimplemented::unimplemented_stub()
14428    }
14429
14430    /// Implements [super::client::VpnGateways::test_iam_permissions].
14431    fn test_iam_permissions(
14432        &self,
14433        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
14434        _options: gax::options::RequestOptions,
14435    ) -> impl std::future::Future<
14436        Output = crate::Result<gax::response::Response<crate::model::TestPermissionsResponse>>,
14437    > + Send {
14438        gaxi::unimplemented::unimplemented_stub()
14439    }
14440
14441    /// Implements [super::client::VpnGateways::get_operation].
14442    fn get_operation(
14443        &self,
14444        _req: crate::model::region_operations::GetRequest,
14445        _options: gax::options::RequestOptions,
14446    ) -> impl std::future::Future<
14447        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14448    > + Send {
14449        gaxi::unimplemented::unimplemented_stub()
14450    }
14451
14452    /// Returns the polling error policy.
14453    ///
14454    /// When mocking, this method is typically irrelevant. Do not try to verify
14455    /// it is called by your mocks.
14456    fn get_polling_error_policy(
14457        &self,
14458        _options: &gax::options::RequestOptions,
14459    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
14460        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
14461    }
14462
14463    /// Returns the polling backoff policy.
14464    ///
14465    /// When mocking, this method is typically irrelevant. Do not try to verify
14466    /// it is called by your mocks.
14467    fn get_polling_backoff_policy(
14468        &self,
14469        _options: &gax::options::RequestOptions,
14470    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
14471        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
14472    }
14473}
14474
14475/// Defines the trait used to implement [super::client::VpnTunnels].
14476///
14477/// Application developers may need to implement this trait to mock
14478/// `client::VpnTunnels`.  In other use-cases, application developers only
14479/// use `client::VpnTunnels` and need not be concerned with this trait or
14480/// its implementations.
14481///
14482/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14483/// too. To avoid breaking applications the trait provides a default
14484/// implementation of each method. Most of these implementations just return an
14485/// error.
14486#[cfg(feature = "vpn-tunnels")]
14487#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
14488pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
14489    /// Implements [super::client::VpnTunnels::aggregated_list].
14490    fn aggregated_list(
14491        &self,
14492        _req: crate::model::vpn_tunnels::AggregatedListRequest,
14493        _options: gax::options::RequestOptions,
14494    ) -> impl std::future::Future<
14495        Output = crate::Result<gax::response::Response<crate::model::VpnTunnelAggregatedList>>,
14496    > + Send {
14497        gaxi::unimplemented::unimplemented_stub()
14498    }
14499
14500    /// Implements [super::client::VpnTunnels::delete].
14501    fn delete(
14502        &self,
14503        _req: crate::model::vpn_tunnels::DeleteRequest,
14504        _options: gax::options::RequestOptions,
14505    ) -> impl std::future::Future<
14506        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14507    > + Send {
14508        gaxi::unimplemented::unimplemented_stub()
14509    }
14510
14511    /// Implements [super::client::VpnTunnels::get].
14512    fn get(
14513        &self,
14514        _req: crate::model::vpn_tunnels::GetRequest,
14515        _options: gax::options::RequestOptions,
14516    ) -> impl std::future::Future<
14517        Output = crate::Result<gax::response::Response<crate::model::VpnTunnel>>,
14518    > + Send {
14519        gaxi::unimplemented::unimplemented_stub()
14520    }
14521
14522    /// Implements [super::client::VpnTunnels::insert].
14523    fn insert(
14524        &self,
14525        _req: crate::model::vpn_tunnels::InsertRequest,
14526        _options: gax::options::RequestOptions,
14527    ) -> impl std::future::Future<
14528        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14529    > + Send {
14530        gaxi::unimplemented::unimplemented_stub()
14531    }
14532
14533    /// Implements [super::client::VpnTunnels::list].
14534    fn list(
14535        &self,
14536        _req: crate::model::vpn_tunnels::ListRequest,
14537        _options: gax::options::RequestOptions,
14538    ) -> impl std::future::Future<
14539        Output = crate::Result<gax::response::Response<crate::model::VpnTunnelList>>,
14540    > + Send {
14541        gaxi::unimplemented::unimplemented_stub()
14542    }
14543
14544    /// Implements [super::client::VpnTunnels::set_labels].
14545    fn set_labels(
14546        &self,
14547        _req: crate::model::vpn_tunnels::SetLabelsRequest,
14548        _options: gax::options::RequestOptions,
14549    ) -> impl std::future::Future<
14550        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14551    > + Send {
14552        gaxi::unimplemented::unimplemented_stub()
14553    }
14554
14555    /// Implements [super::client::VpnTunnels::get_operation].
14556    fn get_operation(
14557        &self,
14558        _req: crate::model::region_operations::GetRequest,
14559        _options: gax::options::RequestOptions,
14560    ) -> impl std::future::Future<
14561        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14562    > + Send {
14563        gaxi::unimplemented::unimplemented_stub()
14564    }
14565
14566    /// Returns the polling error policy.
14567    ///
14568    /// When mocking, this method is typically irrelevant. Do not try to verify
14569    /// it is called by your mocks.
14570    fn get_polling_error_policy(
14571        &self,
14572        _options: &gax::options::RequestOptions,
14573    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
14574        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
14575    }
14576
14577    /// Returns the polling backoff policy.
14578    ///
14579    /// When mocking, this method is typically irrelevant. Do not try to verify
14580    /// it is called by your mocks.
14581    fn get_polling_backoff_policy(
14582        &self,
14583        _options: &gax::options::RequestOptions,
14584    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
14585        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
14586    }
14587}
14588
14589/// Defines the trait used to implement [super::client::WireGroups].
14590///
14591/// Application developers may need to implement this trait to mock
14592/// `client::WireGroups`.  In other use-cases, application developers only
14593/// use `client::WireGroups` and need not be concerned with this trait or
14594/// its implementations.
14595///
14596/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14597/// too. To avoid breaking applications the trait provides a default
14598/// implementation of each method. Most of these implementations just return an
14599/// error.
14600#[cfg(feature = "wire-groups")]
14601#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
14602pub trait WireGroups: std::fmt::Debug + Send + Sync {
14603    /// Implements [super::client::WireGroups::delete].
14604    fn delete(
14605        &self,
14606        _req: crate::model::wire_groups::DeleteRequest,
14607        _options: gax::options::RequestOptions,
14608    ) -> impl std::future::Future<
14609        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14610    > + Send {
14611        gaxi::unimplemented::unimplemented_stub()
14612    }
14613
14614    /// Implements [super::client::WireGroups::get].
14615    fn get(
14616        &self,
14617        _req: crate::model::wire_groups::GetRequest,
14618        _options: gax::options::RequestOptions,
14619    ) -> impl std::future::Future<
14620        Output = crate::Result<gax::response::Response<crate::model::WireGroup>>,
14621    > + Send {
14622        gaxi::unimplemented::unimplemented_stub()
14623    }
14624
14625    /// Implements [super::client::WireGroups::insert].
14626    fn insert(
14627        &self,
14628        _req: crate::model::wire_groups::InsertRequest,
14629        _options: gax::options::RequestOptions,
14630    ) -> impl std::future::Future<
14631        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14632    > + Send {
14633        gaxi::unimplemented::unimplemented_stub()
14634    }
14635
14636    /// Implements [super::client::WireGroups::list].
14637    fn list(
14638        &self,
14639        _req: crate::model::wire_groups::ListRequest,
14640        _options: gax::options::RequestOptions,
14641    ) -> impl std::future::Future<
14642        Output = crate::Result<gax::response::Response<crate::model::WireGroupList>>,
14643    > + Send {
14644        gaxi::unimplemented::unimplemented_stub()
14645    }
14646
14647    /// Implements [super::client::WireGroups::patch].
14648    fn patch(
14649        &self,
14650        _req: crate::model::wire_groups::PatchRequest,
14651        _options: gax::options::RequestOptions,
14652    ) -> impl std::future::Future<
14653        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14654    > + Send {
14655        gaxi::unimplemented::unimplemented_stub()
14656    }
14657
14658    /// Implements [super::client::WireGroups::get_operation].
14659    fn get_operation(
14660        &self,
14661        _req: crate::model::global_operations::GetRequest,
14662        _options: gax::options::RequestOptions,
14663    ) -> impl std::future::Future<
14664        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14665    > + Send {
14666        gaxi::unimplemented::unimplemented_stub()
14667    }
14668
14669    /// Returns the polling error policy.
14670    ///
14671    /// When mocking, this method is typically irrelevant. Do not try to verify
14672    /// it is called by your mocks.
14673    fn get_polling_error_policy(
14674        &self,
14675        _options: &gax::options::RequestOptions,
14676    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
14677        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
14678    }
14679
14680    /// Returns the polling backoff policy.
14681    ///
14682    /// When mocking, this method is typically irrelevant. Do not try to verify
14683    /// it is called by your mocks.
14684    fn get_polling_backoff_policy(
14685        &self,
14686        _options: &gax::options::RequestOptions,
14687    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
14688        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
14689    }
14690}
14691
14692/// Defines the trait used to implement [super::client::ZoneOperations].
14693///
14694/// Application developers may need to implement this trait to mock
14695/// `client::ZoneOperations`.  In other use-cases, application developers only
14696/// use `client::ZoneOperations` and need not be concerned with this trait or
14697/// its implementations.
14698///
14699/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14700/// too. To avoid breaking applications the trait provides a default
14701/// implementation of each method. Most of these implementations just return an
14702/// error.
14703#[cfg(feature = "zone-operations")]
14704#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
14705pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
14706    /// Implements [super::client::ZoneOperations::delete].
14707    fn delete(
14708        &self,
14709        _req: crate::model::zone_operations::DeleteRequest,
14710        _options: gax::options::RequestOptions,
14711    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
14712        gaxi::unimplemented::unimplemented_stub()
14713    }
14714
14715    /// Implements [super::client::ZoneOperations::get].
14716    fn get(
14717        &self,
14718        _req: crate::model::zone_operations::GetRequest,
14719        _options: gax::options::RequestOptions,
14720    ) -> impl std::future::Future<
14721        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14722    > + Send {
14723        gaxi::unimplemented::unimplemented_stub()
14724    }
14725
14726    /// Implements [super::client::ZoneOperations::list].
14727    fn list(
14728        &self,
14729        _req: crate::model::zone_operations::ListRequest,
14730        _options: gax::options::RequestOptions,
14731    ) -> impl std::future::Future<
14732        Output = crate::Result<gax::response::Response<crate::model::OperationList>>,
14733    > + Send {
14734        gaxi::unimplemented::unimplemented_stub()
14735    }
14736
14737    /// Implements [super::client::ZoneOperations::wait].
14738    fn wait(
14739        &self,
14740        _req: crate::model::zone_operations::WaitRequest,
14741        _options: gax::options::RequestOptions,
14742    ) -> impl std::future::Future<
14743        Output = crate::Result<gax::response::Response<crate::model::Operation>>,
14744    > + Send {
14745        gaxi::unimplemented::unimplemented_stub()
14746    }
14747}
14748
14749/// Defines the trait used to implement [super::client::Zones].
14750///
14751/// Application developers may need to implement this trait to mock
14752/// `client::Zones`.  In other use-cases, application developers only
14753/// use `client::Zones` and need not be concerned with this trait or
14754/// its implementations.
14755///
14756/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14757/// too. To avoid breaking applications the trait provides a default
14758/// implementation of each method. Most of these implementations just return an
14759/// error.
14760#[cfg(feature = "zones")]
14761#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
14762pub trait Zones: std::fmt::Debug + Send + Sync {
14763    /// Implements [super::client::Zones::get].
14764    fn get(
14765        &self,
14766        _req: crate::model::zones::GetRequest,
14767        _options: gax::options::RequestOptions,
14768    ) -> impl std::future::Future<
14769        Output = crate::Result<gax::response::Response<crate::model::Zone>>,
14770    > + Send {
14771        gaxi::unimplemented::unimplemented_stub()
14772    }
14773
14774    /// Implements [super::client::Zones::list].
14775    fn list(
14776        &self,
14777        _req: crate::model::zones::ListRequest,
14778        _options: gax::options::RequestOptions,
14779    ) -> impl std::future::Future<
14780        Output = crate::Result<gax::response::Response<crate::model::ZoneList>>,
14781    > + Send {
14782        gaxi::unimplemented::unimplemented_stub()
14783    }
14784}