Skip to main content

google_cloud_compute_v1/
stub.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17//! Traits to mock the clients in this library.
18//!
19//! Application developers may need to mock the clients in this library to test
20//! how their application works with different (and sometimes hard to trigger)
21//! client and service behavior. Such test can define mocks implementing the
22//! trait(s) defined in this module, initialize the client with an instance of
23//! this mock in their tests, and verify their application responds as expected.
24
25#![allow(rustdoc::broken_intra_doc_links)]
26
27pub(crate) mod dynamic;
28
29/// Defines the trait used to implement [super::client::AcceleratorTypes].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::AcceleratorTypes`.  In other use-cases, application developers only
33/// use `client::AcceleratorTypes` and need not be concerned with this trait or
34/// its implementations.
35///
36/// Services gain new RPCs routinely. Consequently, this trait gains new methods
37/// too. To avoid breaking applications the trait provides a default
38/// implementation of each method. Most of these implementations just return an
39/// error.
40#[cfg(feature = "accelerator-types")]
41#[cfg_attr(docsrs, doc(cfg(feature = "accelerator-types")))]
42pub trait AcceleratorTypes: std::fmt::Debug + Send + Sync {
43    /// Implements [super::client::AcceleratorTypes::aggregated_list].
44    fn aggregated_list(
45        &self,
46        _req: crate::model::accelerator_types::AggregatedListRequest,
47        _options: crate::RequestOptions,
48    ) -> impl std::future::Future<
49        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeAggregatedList>>,
50    > + Send {
51        gaxi::unimplemented::unimplemented_stub()
52    }
53
54    /// Implements [super::client::AcceleratorTypes::get].
55    fn get(
56        &self,
57        _req: crate::model::accelerator_types::GetRequest,
58        _options: crate::RequestOptions,
59    ) -> impl std::future::Future<
60        Output = crate::Result<crate::Response<crate::model::AcceleratorType>>,
61    > + Send {
62        gaxi::unimplemented::unimplemented_stub()
63    }
64
65    /// Implements [super::client::AcceleratorTypes::list].
66    fn list(
67        &self,
68        _req: crate::model::accelerator_types::ListRequest,
69        _options: crate::RequestOptions,
70    ) -> impl std::future::Future<
71        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeList>>,
72    > + Send {
73        gaxi::unimplemented::unimplemented_stub()
74    }
75}
76
77/// Defines the trait used to implement [super::client::Addresses].
78///
79/// Application developers may need to implement this trait to mock
80/// `client::Addresses`.  In other use-cases, application developers only
81/// use `client::Addresses` and need not be concerned with this trait or
82/// its implementations.
83///
84/// Services gain new RPCs routinely. Consequently, this trait gains new methods
85/// too. To avoid breaking applications the trait provides a default
86/// implementation of each method. Most of these implementations just return an
87/// error.
88#[cfg(feature = "addresses")]
89#[cfg_attr(docsrs, doc(cfg(feature = "addresses")))]
90pub trait Addresses: std::fmt::Debug + Send + Sync {
91    /// Implements [super::client::Addresses::aggregated_list].
92    fn aggregated_list(
93        &self,
94        _req: crate::model::addresses::AggregatedListRequest,
95        _options: crate::RequestOptions,
96    ) -> impl std::future::Future<
97        Output = crate::Result<crate::Response<crate::model::AddressAggregatedList>>,
98    > + Send {
99        gaxi::unimplemented::unimplemented_stub()
100    }
101
102    /// Implements [super::client::Addresses::delete].
103    fn delete(
104        &self,
105        _req: crate::model::addresses::DeleteRequest,
106        _options: crate::RequestOptions,
107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
108    {
109        gaxi::unimplemented::unimplemented_stub()
110    }
111
112    /// Implements [super::client::Addresses::get].
113    fn get(
114        &self,
115        _req: crate::model::addresses::GetRequest,
116        _options: crate::RequestOptions,
117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
118    {
119        gaxi::unimplemented::unimplemented_stub()
120    }
121
122    /// Implements [super::client::Addresses::insert].
123    fn insert(
124        &self,
125        _req: crate::model::addresses::InsertRequest,
126        _options: crate::RequestOptions,
127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
128    {
129        gaxi::unimplemented::unimplemented_stub()
130    }
131
132    /// Implements [super::client::Addresses::list].
133    fn list(
134        &self,
135        _req: crate::model::addresses::ListRequest,
136        _options: crate::RequestOptions,
137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
138    + Send {
139        gaxi::unimplemented::unimplemented_stub()
140    }
141
142    /// Implements [super::client::Addresses::r#move].
143    fn r#move(
144        &self,
145        _req: crate::model::addresses::MoveRequest,
146        _options: crate::RequestOptions,
147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
148    {
149        gaxi::unimplemented::unimplemented_stub()
150    }
151
152    /// Implements [super::client::Addresses::set_labels].
153    fn set_labels(
154        &self,
155        _req: crate::model::addresses::SetLabelsRequest,
156        _options: crate::RequestOptions,
157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
158    {
159        gaxi::unimplemented::unimplemented_stub()
160    }
161
162    /// Implements [super::client::Addresses::test_iam_permissions].
163    fn test_iam_permissions(
164        &self,
165        _req: crate::model::addresses::TestIamPermissionsRequest,
166        _options: crate::RequestOptions,
167    ) -> impl std::future::Future<
168        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
169    > + Send {
170        gaxi::unimplemented::unimplemented_stub()
171    }
172
173    /// Implements [super::client::Addresses::get_operation].
174    fn get_operation(
175        &self,
176        _req: crate::model::region_operations::GetRequest,
177        _options: crate::RequestOptions,
178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
179    {
180        gaxi::unimplemented::unimplemented_stub()
181    }
182
183    /// Returns the polling error policy.
184    ///
185    /// When mocking, this method is typically irrelevant. Do not try to verify
186    /// it is called by your mocks.
187    fn get_polling_error_policy(
188        &self,
189        _options: &crate::RequestOptions,
190    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
191        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
192    }
193
194    /// Returns the polling backoff policy.
195    ///
196    /// When mocking, this method is typically irrelevant. Do not try to verify
197    /// it is called by your mocks.
198    fn get_polling_backoff_policy(
199        &self,
200        _options: &crate::RequestOptions,
201    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
202        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
203    }
204}
205
206/// Defines the trait used to implement [super::client::Advice].
207///
208/// Application developers may need to implement this trait to mock
209/// `client::Advice`.  In other use-cases, application developers only
210/// use `client::Advice` and need not be concerned with this trait or
211/// its implementations.
212///
213/// Services gain new RPCs routinely. Consequently, this trait gains new methods
214/// too. To avoid breaking applications the trait provides a default
215/// implementation of each method. Most of these implementations just return an
216/// error.
217#[cfg(feature = "advice")]
218#[cfg_attr(docsrs, doc(cfg(feature = "advice")))]
219pub trait Advice: std::fmt::Debug + Send + Sync {
220    /// Implements [super::client::Advice::calendar_mode].
221    fn calendar_mode(
222        &self,
223        _req: crate::model::advice::CalendarModeRequest,
224        _options: crate::RequestOptions,
225    ) -> impl std::future::Future<
226        Output = crate::Result<crate::Response<crate::model::CalendarModeAdviceResponse>>,
227    > + Send {
228        gaxi::unimplemented::unimplemented_stub()
229    }
230}
231
232/// Defines the trait used to implement [super::client::Autoscalers].
233///
234/// Application developers may need to implement this trait to mock
235/// `client::Autoscalers`.  In other use-cases, application developers only
236/// use `client::Autoscalers` and need not be concerned with this trait or
237/// its implementations.
238///
239/// Services gain new RPCs routinely. Consequently, this trait gains new methods
240/// too. To avoid breaking applications the trait provides a default
241/// implementation of each method. Most of these implementations just return an
242/// error.
243#[cfg(feature = "autoscalers")]
244#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
245pub trait Autoscalers: std::fmt::Debug + Send + Sync {
246    /// Implements [super::client::Autoscalers::aggregated_list].
247    fn aggregated_list(
248        &self,
249        _req: crate::model::autoscalers::AggregatedListRequest,
250        _options: crate::RequestOptions,
251    ) -> impl std::future::Future<
252        Output = crate::Result<crate::Response<crate::model::AutoscalerAggregatedList>>,
253    > + Send {
254        gaxi::unimplemented::unimplemented_stub()
255    }
256
257    /// Implements [super::client::Autoscalers::delete].
258    fn delete(
259        &self,
260        _req: crate::model::autoscalers::DeleteRequest,
261        _options: crate::RequestOptions,
262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
263    {
264        gaxi::unimplemented::unimplemented_stub()
265    }
266
267    /// Implements [super::client::Autoscalers::get].
268    fn get(
269        &self,
270        _req: crate::model::autoscalers::GetRequest,
271        _options: crate::RequestOptions,
272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
273    {
274        gaxi::unimplemented::unimplemented_stub()
275    }
276
277    /// Implements [super::client::Autoscalers::insert].
278    fn insert(
279        &self,
280        _req: crate::model::autoscalers::InsertRequest,
281        _options: crate::RequestOptions,
282    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
283    {
284        gaxi::unimplemented::unimplemented_stub()
285    }
286
287    /// Implements [super::client::Autoscalers::list].
288    fn list(
289        &self,
290        _req: crate::model::autoscalers::ListRequest,
291        _options: crate::RequestOptions,
292    ) -> impl std::future::Future<
293        Output = crate::Result<crate::Response<crate::model::AutoscalerList>>,
294    > + Send {
295        gaxi::unimplemented::unimplemented_stub()
296    }
297
298    /// Implements [super::client::Autoscalers::patch].
299    fn patch(
300        &self,
301        _req: crate::model::autoscalers::PatchRequest,
302        _options: crate::RequestOptions,
303    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
304    {
305        gaxi::unimplemented::unimplemented_stub()
306    }
307
308    /// Implements [super::client::Autoscalers::test_iam_permissions].
309    fn test_iam_permissions(
310        &self,
311        _req: crate::model::autoscalers::TestIamPermissionsRequest,
312        _options: crate::RequestOptions,
313    ) -> impl std::future::Future<
314        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
315    > + Send {
316        gaxi::unimplemented::unimplemented_stub()
317    }
318
319    /// Implements [super::client::Autoscalers::update].
320    fn update(
321        &self,
322        _req: crate::model::autoscalers::UpdateRequest,
323        _options: crate::RequestOptions,
324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
325    {
326        gaxi::unimplemented::unimplemented_stub()
327    }
328
329    /// Implements [super::client::Autoscalers::get_operation].
330    fn get_operation(
331        &self,
332        _req: crate::model::zone_operations::GetRequest,
333        _options: crate::RequestOptions,
334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
335    {
336        gaxi::unimplemented::unimplemented_stub()
337    }
338
339    /// Returns the polling error policy.
340    ///
341    /// When mocking, this method is typically irrelevant. Do not try to verify
342    /// it is called by your mocks.
343    fn get_polling_error_policy(
344        &self,
345        _options: &crate::RequestOptions,
346    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
347        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
348    }
349
350    /// Returns the polling backoff policy.
351    ///
352    /// When mocking, this method is typically irrelevant. Do not try to verify
353    /// it is called by your mocks.
354    fn get_polling_backoff_policy(
355        &self,
356        _options: &crate::RequestOptions,
357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
358        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
359    }
360}
361
362/// Defines the trait used to implement [super::client::BackendBuckets].
363///
364/// Application developers may need to implement this trait to mock
365/// `client::BackendBuckets`.  In other use-cases, application developers only
366/// use `client::BackendBuckets` and need not be concerned with this trait or
367/// its implementations.
368///
369/// Services gain new RPCs routinely. Consequently, this trait gains new methods
370/// too. To avoid breaking applications the trait provides a default
371/// implementation of each method. Most of these implementations just return an
372/// error.
373#[cfg(feature = "backend-buckets")]
374#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
375pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
376    /// Implements [super::client::BackendBuckets::add_signed_url_key].
377    fn add_signed_url_key(
378        &self,
379        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
380        _options: crate::RequestOptions,
381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
382    {
383        gaxi::unimplemented::unimplemented_stub()
384    }
385
386    /// Implements [super::client::BackendBuckets::aggregated_list].
387    fn aggregated_list(
388        &self,
389        _req: crate::model::backend_buckets::AggregatedListRequest,
390        _options: crate::RequestOptions,
391    ) -> impl std::future::Future<
392        Output = crate::Result<crate::Response<crate::model::BackendBucketAggregatedList>>,
393    > + Send {
394        gaxi::unimplemented::unimplemented_stub()
395    }
396
397    /// Implements [super::client::BackendBuckets::delete].
398    fn delete(
399        &self,
400        _req: crate::model::backend_buckets::DeleteRequest,
401        _options: crate::RequestOptions,
402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
403    {
404        gaxi::unimplemented::unimplemented_stub()
405    }
406
407    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
408    fn delete_signed_url_key(
409        &self,
410        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
411        _options: crate::RequestOptions,
412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
413    {
414        gaxi::unimplemented::unimplemented_stub()
415    }
416
417    /// Implements [super::client::BackendBuckets::get].
418    fn get(
419        &self,
420        _req: crate::model::backend_buckets::GetRequest,
421        _options: crate::RequestOptions,
422    ) -> impl std::future::Future<
423        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
424    > + Send {
425        gaxi::unimplemented::unimplemented_stub()
426    }
427
428    /// Implements [super::client::BackendBuckets::get_iam_policy].
429    fn get_iam_policy(
430        &self,
431        _req: crate::model::backend_buckets::GetIamPolicyRequest,
432        _options: crate::RequestOptions,
433    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
434    {
435        gaxi::unimplemented::unimplemented_stub()
436    }
437
438    /// Implements [super::client::BackendBuckets::insert].
439    fn insert(
440        &self,
441        _req: crate::model::backend_buckets::InsertRequest,
442        _options: crate::RequestOptions,
443    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
444    {
445        gaxi::unimplemented::unimplemented_stub()
446    }
447
448    /// Implements [super::client::BackendBuckets::list].
449    fn list(
450        &self,
451        _req: crate::model::backend_buckets::ListRequest,
452        _options: crate::RequestOptions,
453    ) -> impl std::future::Future<
454        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
455    > + Send {
456        gaxi::unimplemented::unimplemented_stub()
457    }
458
459    /// Implements [super::client::BackendBuckets::list_usable].
460    fn list_usable(
461        &self,
462        _req: crate::model::backend_buckets::ListUsableRequest,
463        _options: crate::RequestOptions,
464    ) -> impl std::future::Future<
465        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
466    > + Send {
467        gaxi::unimplemented::unimplemented_stub()
468    }
469
470    /// Implements [super::client::BackendBuckets::patch].
471    fn patch(
472        &self,
473        _req: crate::model::backend_buckets::PatchRequest,
474        _options: crate::RequestOptions,
475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
476    {
477        gaxi::unimplemented::unimplemented_stub()
478    }
479
480    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
481    fn set_edge_security_policy(
482        &self,
483        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
484        _options: crate::RequestOptions,
485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
486    {
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: crate::RequestOptions,
495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
496    {
497        gaxi::unimplemented::unimplemented_stub()
498    }
499
500    /// Implements [super::client::BackendBuckets::test_iam_permissions].
501    fn test_iam_permissions(
502        &self,
503        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
504        _options: crate::RequestOptions,
505    ) -> impl std::future::Future<
506        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
507    > + Send {
508        gaxi::unimplemented::unimplemented_stub()
509    }
510
511    /// Implements [super::client::BackendBuckets::update].
512    fn update(
513        &self,
514        _req: crate::model::backend_buckets::UpdateRequest,
515        _options: crate::RequestOptions,
516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
517    {
518        gaxi::unimplemented::unimplemented_stub()
519    }
520
521    /// Implements [super::client::BackendBuckets::get_operation].
522    fn get_operation(
523        &self,
524        _req: crate::model::global_operations::GetRequest,
525        _options: crate::RequestOptions,
526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
527    {
528        gaxi::unimplemented::unimplemented_stub()
529    }
530
531    /// Returns the polling error policy.
532    ///
533    /// When mocking, this method is typically irrelevant. Do not try to verify
534    /// it is called by your mocks.
535    fn get_polling_error_policy(
536        &self,
537        _options: &crate::RequestOptions,
538    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
539        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
540    }
541
542    /// Returns the polling backoff policy.
543    ///
544    /// When mocking, this method is typically irrelevant. Do not try to verify
545    /// it is called by your mocks.
546    fn get_polling_backoff_policy(
547        &self,
548        _options: &crate::RequestOptions,
549    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
550        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
551    }
552}
553
554/// Defines the trait used to implement [super::client::BackendServices].
555///
556/// Application developers may need to implement this trait to mock
557/// `client::BackendServices`.  In other use-cases, application developers only
558/// use `client::BackendServices` and need not be concerned with this trait or
559/// its implementations.
560///
561/// Services gain new RPCs routinely. Consequently, this trait gains new methods
562/// too. To avoid breaking applications the trait provides a default
563/// implementation of each method. Most of these implementations just return an
564/// error.
565#[cfg(feature = "backend-services")]
566#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
567pub trait BackendServices: std::fmt::Debug + Send + Sync {
568    /// Implements [super::client::BackendServices::add_signed_url_key].
569    fn add_signed_url_key(
570        &self,
571        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
572        _options: crate::RequestOptions,
573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
574    {
575        gaxi::unimplemented::unimplemented_stub()
576    }
577
578    /// Implements [super::client::BackendServices::aggregated_list].
579    fn aggregated_list(
580        &self,
581        _req: crate::model::backend_services::AggregatedListRequest,
582        _options: crate::RequestOptions,
583    ) -> impl std::future::Future<
584        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
585    > + Send {
586        gaxi::unimplemented::unimplemented_stub()
587    }
588
589    /// Implements [super::client::BackendServices::delete].
590    fn delete(
591        &self,
592        _req: crate::model::backend_services::DeleteRequest,
593        _options: crate::RequestOptions,
594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
595    {
596        gaxi::unimplemented::unimplemented_stub()
597    }
598
599    /// Implements [super::client::BackendServices::delete_signed_url_key].
600    fn delete_signed_url_key(
601        &self,
602        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
603        _options: crate::RequestOptions,
604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
605    {
606        gaxi::unimplemented::unimplemented_stub()
607    }
608
609    /// Implements [super::client::BackendServices::get].
610    fn get(
611        &self,
612        _req: crate::model::backend_services::GetRequest,
613        _options: crate::RequestOptions,
614    ) -> impl std::future::Future<
615        Output = crate::Result<crate::Response<crate::model::BackendService>>,
616    > + Send {
617        gaxi::unimplemented::unimplemented_stub()
618    }
619
620    /// Implements [super::client::BackendServices::get_effective_security_policies].
621    fn get_effective_security_policies(
622        &self,
623        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
624        _options: crate::RequestOptions,
625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
626        gaxi::unimplemented::unimplemented_stub()
627    }
628
629    /// Implements [super::client::BackendServices::get_health].
630    fn get_health(
631        &self,
632        _req: crate::model::backend_services::GetHealthRequest,
633        _options: crate::RequestOptions,
634    ) -> impl std::future::Future<
635        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
636    > + Send {
637        gaxi::unimplemented::unimplemented_stub()
638    }
639
640    /// Implements [super::client::BackendServices::get_iam_policy].
641    fn get_iam_policy(
642        &self,
643        _req: crate::model::backend_services::GetIamPolicyRequest,
644        _options: crate::RequestOptions,
645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
646    {
647        gaxi::unimplemented::unimplemented_stub()
648    }
649
650    /// Implements [super::client::BackendServices::insert].
651    fn insert(
652        &self,
653        _req: crate::model::backend_services::InsertRequest,
654        _options: crate::RequestOptions,
655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
656    {
657        gaxi::unimplemented::unimplemented_stub()
658    }
659
660    /// Implements [super::client::BackendServices::list].
661    fn list(
662        &self,
663        _req: crate::model::backend_services::ListRequest,
664        _options: crate::RequestOptions,
665    ) -> impl std::future::Future<
666        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
667    > + Send {
668        gaxi::unimplemented::unimplemented_stub()
669    }
670
671    /// Implements [super::client::BackendServices::list_usable].
672    fn list_usable(
673        &self,
674        _req: crate::model::backend_services::ListUsableRequest,
675        _options: crate::RequestOptions,
676    ) -> impl std::future::Future<
677        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
678    > + Send {
679        gaxi::unimplemented::unimplemented_stub()
680    }
681
682    /// Implements [super::client::BackendServices::patch].
683    fn patch(
684        &self,
685        _req: crate::model::backend_services::PatchRequest,
686        _options: crate::RequestOptions,
687    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
688    {
689        gaxi::unimplemented::unimplemented_stub()
690    }
691
692    /// Implements [super::client::BackendServices::set_edge_security_policy].
693    fn set_edge_security_policy(
694        &self,
695        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
696        _options: crate::RequestOptions,
697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
698    {
699        gaxi::unimplemented::unimplemented_stub()
700    }
701
702    /// Implements [super::client::BackendServices::set_iam_policy].
703    fn set_iam_policy(
704        &self,
705        _req: crate::model::backend_services::SetIamPolicyRequest,
706        _options: crate::RequestOptions,
707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
708    {
709        gaxi::unimplemented::unimplemented_stub()
710    }
711
712    /// Implements [super::client::BackendServices::set_security_policy].
713    fn set_security_policy(
714        &self,
715        _req: crate::model::backend_services::SetSecurityPolicyRequest,
716        _options: crate::RequestOptions,
717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
718    {
719        gaxi::unimplemented::unimplemented_stub()
720    }
721
722    /// Implements [super::client::BackendServices::test_iam_permissions].
723    fn test_iam_permissions(
724        &self,
725        _req: crate::model::backend_services::TestIamPermissionsRequest,
726        _options: crate::RequestOptions,
727    ) -> impl std::future::Future<
728        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
729    > + Send {
730        gaxi::unimplemented::unimplemented_stub()
731    }
732
733    /// Implements [super::client::BackendServices::update].
734    fn update(
735        &self,
736        _req: crate::model::backend_services::UpdateRequest,
737        _options: crate::RequestOptions,
738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
739    {
740        gaxi::unimplemented::unimplemented_stub()
741    }
742
743    /// Implements [super::client::BackendServices::get_operation].
744    fn get_operation(
745        &self,
746        _req: crate::model::global_operations::GetRequest,
747        _options: crate::RequestOptions,
748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
749    {
750        gaxi::unimplemented::unimplemented_stub()
751    }
752
753    /// Returns the polling error policy.
754    ///
755    /// When mocking, this method is typically irrelevant. Do not try to verify
756    /// it is called by your mocks.
757    fn get_polling_error_policy(
758        &self,
759        _options: &crate::RequestOptions,
760    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
761        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
762    }
763
764    /// Returns the polling backoff policy.
765    ///
766    /// When mocking, this method is typically irrelevant. Do not try to verify
767    /// it is called by your mocks.
768    fn get_polling_backoff_policy(
769        &self,
770        _options: &crate::RequestOptions,
771    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
772        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
773    }
774}
775
776/// Defines the trait used to implement [super::client::CrossSiteNetworks].
777///
778/// Application developers may need to implement this trait to mock
779/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
780/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
781/// its implementations.
782///
783/// Services gain new RPCs routinely. Consequently, this trait gains new methods
784/// too. To avoid breaking applications the trait provides a default
785/// implementation of each method. Most of these implementations just return an
786/// error.
787#[cfg(feature = "cross-site-networks")]
788#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
789pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
790    /// Implements [super::client::CrossSiteNetworks::delete].
791    fn delete(
792        &self,
793        _req: crate::model::cross_site_networks::DeleteRequest,
794        _options: crate::RequestOptions,
795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
796    {
797        gaxi::unimplemented::unimplemented_stub()
798    }
799
800    /// Implements [super::client::CrossSiteNetworks::get].
801    fn get(
802        &self,
803        _req: crate::model::cross_site_networks::GetRequest,
804        _options: crate::RequestOptions,
805    ) -> impl std::future::Future<
806        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
807    > + Send {
808        gaxi::unimplemented::unimplemented_stub()
809    }
810
811    /// Implements [super::client::CrossSiteNetworks::insert].
812    fn insert(
813        &self,
814        _req: crate::model::cross_site_networks::InsertRequest,
815        _options: crate::RequestOptions,
816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
817    {
818        gaxi::unimplemented::unimplemented_stub()
819    }
820
821    /// Implements [super::client::CrossSiteNetworks::list].
822    fn list(
823        &self,
824        _req: crate::model::cross_site_networks::ListRequest,
825        _options: crate::RequestOptions,
826    ) -> impl std::future::Future<
827        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
828    > + Send {
829        gaxi::unimplemented::unimplemented_stub()
830    }
831
832    /// Implements [super::client::CrossSiteNetworks::patch].
833    fn patch(
834        &self,
835        _req: crate::model::cross_site_networks::PatchRequest,
836        _options: crate::RequestOptions,
837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
838    {
839        gaxi::unimplemented::unimplemented_stub()
840    }
841
842    /// Implements [super::client::CrossSiteNetworks::get_operation].
843    fn get_operation(
844        &self,
845        _req: crate::model::global_operations::GetRequest,
846        _options: crate::RequestOptions,
847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
848    {
849        gaxi::unimplemented::unimplemented_stub()
850    }
851
852    /// Returns the polling error policy.
853    ///
854    /// When mocking, this method is typically irrelevant. Do not try to verify
855    /// it is called by your mocks.
856    fn get_polling_error_policy(
857        &self,
858        _options: &crate::RequestOptions,
859    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
860        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
861    }
862
863    /// Returns the polling backoff policy.
864    ///
865    /// When mocking, this method is typically irrelevant. Do not try to verify
866    /// it is called by your mocks.
867    fn get_polling_backoff_policy(
868        &self,
869        _options: &crate::RequestOptions,
870    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
871        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
872    }
873}
874
875/// Defines the trait used to implement [super::client::DiskTypes].
876///
877/// Application developers may need to implement this trait to mock
878/// `client::DiskTypes`.  In other use-cases, application developers only
879/// use `client::DiskTypes` and need not be concerned with this trait or
880/// its implementations.
881///
882/// Services gain new RPCs routinely. Consequently, this trait gains new methods
883/// too. To avoid breaking applications the trait provides a default
884/// implementation of each method. Most of these implementations just return an
885/// error.
886#[cfg(feature = "disk-types")]
887#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
888pub trait DiskTypes: std::fmt::Debug + Send + Sync {
889    /// Implements [super::client::DiskTypes::aggregated_list].
890    fn aggregated_list(
891        &self,
892        _req: crate::model::disk_types::AggregatedListRequest,
893        _options: crate::RequestOptions,
894    ) -> impl std::future::Future<
895        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
896    > + Send {
897        gaxi::unimplemented::unimplemented_stub()
898    }
899
900    /// Implements [super::client::DiskTypes::get].
901    fn get(
902        &self,
903        _req: crate::model::disk_types::GetRequest,
904        _options: crate::RequestOptions,
905    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
906    {
907        gaxi::unimplemented::unimplemented_stub()
908    }
909
910    /// Implements [super::client::DiskTypes::list].
911    fn list(
912        &self,
913        _req: crate::model::disk_types::ListRequest,
914        _options: crate::RequestOptions,
915    ) -> impl std::future::Future<
916        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
917    > + Send {
918        gaxi::unimplemented::unimplemented_stub()
919    }
920}
921
922/// Defines the trait used to implement [super::client::Disks].
923///
924/// Application developers may need to implement this trait to mock
925/// `client::Disks`.  In other use-cases, application developers only
926/// use `client::Disks` and need not be concerned with this trait or
927/// its implementations.
928///
929/// Services gain new RPCs routinely. Consequently, this trait gains new methods
930/// too. To avoid breaking applications the trait provides a default
931/// implementation of each method. Most of these implementations just return an
932/// error.
933#[cfg(feature = "disks")]
934#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
935pub trait Disks: std::fmt::Debug + Send + Sync {
936    /// Implements [super::client::Disks::add_resource_policies].
937    fn add_resource_policies(
938        &self,
939        _req: crate::model::disks::AddResourcePoliciesRequest,
940        _options: crate::RequestOptions,
941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
942    {
943        gaxi::unimplemented::unimplemented_stub()
944    }
945
946    /// Implements [super::client::Disks::aggregated_list].
947    fn aggregated_list(
948        &self,
949        _req: crate::model::disks::AggregatedListRequest,
950        _options: crate::RequestOptions,
951    ) -> impl std::future::Future<
952        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
953    > + Send {
954        gaxi::unimplemented::unimplemented_stub()
955    }
956
957    /// Implements [super::client::Disks::bulk_insert].
958    fn bulk_insert(
959        &self,
960        _req: crate::model::disks::BulkInsertRequest,
961        _options: crate::RequestOptions,
962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
963    {
964        gaxi::unimplemented::unimplemented_stub()
965    }
966
967    /// Implements [super::client::Disks::bulk_set_labels].
968    fn bulk_set_labels(
969        &self,
970        _req: crate::model::disks::BulkSetLabelsRequest,
971        _options: crate::RequestOptions,
972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
973    {
974        gaxi::unimplemented::unimplemented_stub()
975    }
976
977    /// Implements [super::client::Disks::create_snapshot].
978    fn create_snapshot(
979        &self,
980        _req: crate::model::disks::CreateSnapshotRequest,
981        _options: crate::RequestOptions,
982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
983    {
984        gaxi::unimplemented::unimplemented_stub()
985    }
986
987    /// Implements [super::client::Disks::delete].
988    fn delete(
989        &self,
990        _req: crate::model::disks::DeleteRequest,
991        _options: crate::RequestOptions,
992    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
993    {
994        gaxi::unimplemented::unimplemented_stub()
995    }
996
997    /// Implements [super::client::Disks::get].
998    fn get(
999        &self,
1000        _req: crate::model::disks::GetRequest,
1001        _options: crate::RequestOptions,
1002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
1003    {
1004        gaxi::unimplemented::unimplemented_stub()
1005    }
1006
1007    /// Implements [super::client::Disks::get_iam_policy].
1008    fn get_iam_policy(
1009        &self,
1010        _req: crate::model::disks::GetIamPolicyRequest,
1011        _options: crate::RequestOptions,
1012    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1013    {
1014        gaxi::unimplemented::unimplemented_stub()
1015    }
1016
1017    /// Implements [super::client::Disks::insert].
1018    fn insert(
1019        &self,
1020        _req: crate::model::disks::InsertRequest,
1021        _options: crate::RequestOptions,
1022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1023    {
1024        gaxi::unimplemented::unimplemented_stub()
1025    }
1026
1027    /// Implements [super::client::Disks::list].
1028    fn list(
1029        &self,
1030        _req: crate::model::disks::ListRequest,
1031        _options: crate::RequestOptions,
1032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1033    {
1034        gaxi::unimplemented::unimplemented_stub()
1035    }
1036
1037    /// Implements [super::client::Disks::remove_resource_policies].
1038    fn remove_resource_policies(
1039        &self,
1040        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1041        _options: crate::RequestOptions,
1042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1043    {
1044        gaxi::unimplemented::unimplemented_stub()
1045    }
1046
1047    /// Implements [super::client::Disks::resize].
1048    fn resize(
1049        &self,
1050        _req: crate::model::disks::ResizeRequest,
1051        _options: crate::RequestOptions,
1052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1053    {
1054        gaxi::unimplemented::unimplemented_stub()
1055    }
1056
1057    /// Implements [super::client::Disks::set_iam_policy].
1058    fn set_iam_policy(
1059        &self,
1060        _req: crate::model::disks::SetIamPolicyRequest,
1061        _options: crate::RequestOptions,
1062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1063    {
1064        gaxi::unimplemented::unimplemented_stub()
1065    }
1066
1067    /// Implements [super::client::Disks::set_labels].
1068    fn set_labels(
1069        &self,
1070        _req: crate::model::disks::SetLabelsRequest,
1071        _options: crate::RequestOptions,
1072    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1073    {
1074        gaxi::unimplemented::unimplemented_stub()
1075    }
1076
1077    /// Implements [super::client::Disks::start_async_replication].
1078    fn start_async_replication(
1079        &self,
1080        _req: crate::model::disks::StartAsyncReplicationRequest,
1081        _options: crate::RequestOptions,
1082    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1083    {
1084        gaxi::unimplemented::unimplemented_stub()
1085    }
1086
1087    /// Implements [super::client::Disks::stop_async_replication].
1088    fn stop_async_replication(
1089        &self,
1090        _req: crate::model::disks::StopAsyncReplicationRequest,
1091        _options: crate::RequestOptions,
1092    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1093    {
1094        gaxi::unimplemented::unimplemented_stub()
1095    }
1096
1097    /// Implements [super::client::Disks::stop_group_async_replication].
1098    fn stop_group_async_replication(
1099        &self,
1100        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1101        _options: crate::RequestOptions,
1102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1103    {
1104        gaxi::unimplemented::unimplemented_stub()
1105    }
1106
1107    /// Implements [super::client::Disks::test_iam_permissions].
1108    fn test_iam_permissions(
1109        &self,
1110        _req: crate::model::disks::TestIamPermissionsRequest,
1111        _options: crate::RequestOptions,
1112    ) -> impl std::future::Future<
1113        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1114    > + Send {
1115        gaxi::unimplemented::unimplemented_stub()
1116    }
1117
1118    /// Implements [super::client::Disks::update].
1119    fn update(
1120        &self,
1121        _req: crate::model::disks::UpdateRequest,
1122        _options: crate::RequestOptions,
1123    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1124    {
1125        gaxi::unimplemented::unimplemented_stub()
1126    }
1127
1128    /// Implements [super::client::Disks::update_kms_key].
1129    fn update_kms_key(
1130        &self,
1131        _req: crate::model::disks::UpdateKmsKeyRequest,
1132        _options: crate::RequestOptions,
1133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1134    {
1135        gaxi::unimplemented::unimplemented_stub()
1136    }
1137
1138    /// Implements [super::client::Disks::get_operation].
1139    fn get_operation(
1140        &self,
1141        _req: crate::model::zone_operations::GetRequest,
1142        _options: crate::RequestOptions,
1143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1144    {
1145        gaxi::unimplemented::unimplemented_stub()
1146    }
1147
1148    /// Returns the polling error policy.
1149    ///
1150    /// When mocking, this method is typically irrelevant. Do not try to verify
1151    /// it is called by your mocks.
1152    fn get_polling_error_policy(
1153        &self,
1154        _options: &crate::RequestOptions,
1155    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1156        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1157    }
1158
1159    /// Returns the polling backoff policy.
1160    ///
1161    /// When mocking, this method is typically irrelevant. Do not try to verify
1162    /// it is called by your mocks.
1163    fn get_polling_backoff_policy(
1164        &self,
1165        _options: &crate::RequestOptions,
1166    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1167        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1168    }
1169}
1170
1171/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1172///
1173/// Application developers may need to implement this trait to mock
1174/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1175/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1176/// its implementations.
1177///
1178/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1179/// too. To avoid breaking applications the trait provides a default
1180/// implementation of each method. Most of these implementations just return an
1181/// error.
1182#[cfg(feature = "external-vpn-gateways")]
1183#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1184pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1185    /// Implements [super::client::ExternalVpnGateways::delete].
1186    fn delete(
1187        &self,
1188        _req: crate::model::external_vpn_gateways::DeleteRequest,
1189        _options: crate::RequestOptions,
1190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1191    {
1192        gaxi::unimplemented::unimplemented_stub()
1193    }
1194
1195    /// Implements [super::client::ExternalVpnGateways::get].
1196    fn get(
1197        &self,
1198        _req: crate::model::external_vpn_gateways::GetRequest,
1199        _options: crate::RequestOptions,
1200    ) -> impl std::future::Future<
1201        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1202    > + Send {
1203        gaxi::unimplemented::unimplemented_stub()
1204    }
1205
1206    /// Implements [super::client::ExternalVpnGateways::insert].
1207    fn insert(
1208        &self,
1209        _req: crate::model::external_vpn_gateways::InsertRequest,
1210        _options: crate::RequestOptions,
1211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1212    {
1213        gaxi::unimplemented::unimplemented_stub()
1214    }
1215
1216    /// Implements [super::client::ExternalVpnGateways::list].
1217    fn list(
1218        &self,
1219        _req: crate::model::external_vpn_gateways::ListRequest,
1220        _options: crate::RequestOptions,
1221    ) -> impl std::future::Future<
1222        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1223    > + Send {
1224        gaxi::unimplemented::unimplemented_stub()
1225    }
1226
1227    /// Implements [super::client::ExternalVpnGateways::set_labels].
1228    fn set_labels(
1229        &self,
1230        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1231        _options: crate::RequestOptions,
1232    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1233    {
1234        gaxi::unimplemented::unimplemented_stub()
1235    }
1236
1237    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1238    fn test_iam_permissions(
1239        &self,
1240        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1241        _options: crate::RequestOptions,
1242    ) -> impl std::future::Future<
1243        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1244    > + Send {
1245        gaxi::unimplemented::unimplemented_stub()
1246    }
1247
1248    /// Implements [super::client::ExternalVpnGateways::get_operation].
1249    fn get_operation(
1250        &self,
1251        _req: crate::model::global_operations::GetRequest,
1252        _options: crate::RequestOptions,
1253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1254    {
1255        gaxi::unimplemented::unimplemented_stub()
1256    }
1257
1258    /// Returns the polling error policy.
1259    ///
1260    /// When mocking, this method is typically irrelevant. Do not try to verify
1261    /// it is called by your mocks.
1262    fn get_polling_error_policy(
1263        &self,
1264        _options: &crate::RequestOptions,
1265    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1266        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1267    }
1268
1269    /// Returns the polling backoff policy.
1270    ///
1271    /// When mocking, this method is typically irrelevant. Do not try to verify
1272    /// it is called by your mocks.
1273    fn get_polling_backoff_policy(
1274        &self,
1275        _options: &crate::RequestOptions,
1276    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1277        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1278    }
1279}
1280
1281/// Defines the trait used to implement [super::client::FirewallPolicies].
1282///
1283/// Application developers may need to implement this trait to mock
1284/// `client::FirewallPolicies`.  In other use-cases, application developers only
1285/// use `client::FirewallPolicies` and need not be concerned with this trait or
1286/// its implementations.
1287///
1288/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1289/// too. To avoid breaking applications the trait provides a default
1290/// implementation of each method. Most of these implementations just return an
1291/// error.
1292#[cfg(feature = "firewall-policies")]
1293#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1294pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1295    /// Implements [super::client::FirewallPolicies::add_association].
1296    fn add_association(
1297        &self,
1298        _req: crate::model::firewall_policies::AddAssociationRequest,
1299        _options: crate::RequestOptions,
1300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1301    {
1302        gaxi::unimplemented::unimplemented_stub()
1303    }
1304
1305    /// Implements [super::client::FirewallPolicies::add_rule].
1306    fn add_rule(
1307        &self,
1308        _req: crate::model::firewall_policies::AddRuleRequest,
1309        _options: crate::RequestOptions,
1310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1311    {
1312        gaxi::unimplemented::unimplemented_stub()
1313    }
1314
1315    /// Implements [super::client::FirewallPolicies::clone_rules].
1316    fn clone_rules(
1317        &self,
1318        _req: crate::model::firewall_policies::CloneRulesRequest,
1319        _options: crate::RequestOptions,
1320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1321    {
1322        gaxi::unimplemented::unimplemented_stub()
1323    }
1324
1325    /// Implements [super::client::FirewallPolicies::delete].
1326    fn delete(
1327        &self,
1328        _req: crate::model::firewall_policies::DeleteRequest,
1329        _options: crate::RequestOptions,
1330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1331    {
1332        gaxi::unimplemented::unimplemented_stub()
1333    }
1334
1335    /// Implements [super::client::FirewallPolicies::get].
1336    fn get(
1337        &self,
1338        _req: crate::model::firewall_policies::GetRequest,
1339        _options: crate::RequestOptions,
1340    ) -> impl std::future::Future<
1341        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1342    > + Send {
1343        gaxi::unimplemented::unimplemented_stub()
1344    }
1345
1346    /// Implements [super::client::FirewallPolicies::get_association].
1347    fn get_association(
1348        &self,
1349        _req: crate::model::firewall_policies::GetAssociationRequest,
1350        _options: crate::RequestOptions,
1351    ) -> impl std::future::Future<
1352        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1353    > + Send {
1354        gaxi::unimplemented::unimplemented_stub()
1355    }
1356
1357    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1358    fn get_iam_policy(
1359        &self,
1360        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1361        _options: crate::RequestOptions,
1362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1363    {
1364        gaxi::unimplemented::unimplemented_stub()
1365    }
1366
1367    /// Implements [super::client::FirewallPolicies::get_rule].
1368    fn get_rule(
1369        &self,
1370        _req: crate::model::firewall_policies::GetRuleRequest,
1371        _options: crate::RequestOptions,
1372    ) -> impl std::future::Future<
1373        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1374    > + Send {
1375        gaxi::unimplemented::unimplemented_stub()
1376    }
1377
1378    /// Implements [super::client::FirewallPolicies::insert].
1379    fn insert(
1380        &self,
1381        _req: crate::model::firewall_policies::InsertRequest,
1382        _options: crate::RequestOptions,
1383    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1384    {
1385        gaxi::unimplemented::unimplemented_stub()
1386    }
1387
1388    /// Implements [super::client::FirewallPolicies::list].
1389    fn list(
1390        &self,
1391        _req: crate::model::firewall_policies::ListRequest,
1392        _options: crate::RequestOptions,
1393    ) -> impl std::future::Future<
1394        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1395    > + Send {
1396        gaxi::unimplemented::unimplemented_stub()
1397    }
1398
1399    /// Implements [super::client::FirewallPolicies::list_associations].
1400    fn list_associations(
1401        &self,
1402        _req: crate::model::firewall_policies::ListAssociationsRequest,
1403        _options: crate::RequestOptions,
1404    ) -> impl std::future::Future<
1405        Output = crate::Result<
1406            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1407        >,
1408    > + Send {
1409        gaxi::unimplemented::unimplemented_stub()
1410    }
1411
1412    /// Implements [super::client::FirewallPolicies::r#move].
1413    fn r#move(
1414        &self,
1415        _req: crate::model::firewall_policies::MoveRequest,
1416        _options: crate::RequestOptions,
1417    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1418    {
1419        gaxi::unimplemented::unimplemented_stub()
1420    }
1421
1422    /// Implements [super::client::FirewallPolicies::patch].
1423    fn patch(
1424        &self,
1425        _req: crate::model::firewall_policies::PatchRequest,
1426        _options: crate::RequestOptions,
1427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1428    {
1429        gaxi::unimplemented::unimplemented_stub()
1430    }
1431
1432    /// Implements [super::client::FirewallPolicies::patch_rule].
1433    fn patch_rule(
1434        &self,
1435        _req: crate::model::firewall_policies::PatchRuleRequest,
1436        _options: crate::RequestOptions,
1437    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1438    {
1439        gaxi::unimplemented::unimplemented_stub()
1440    }
1441
1442    /// Implements [super::client::FirewallPolicies::remove_association].
1443    fn remove_association(
1444        &self,
1445        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1446        _options: crate::RequestOptions,
1447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1448    {
1449        gaxi::unimplemented::unimplemented_stub()
1450    }
1451
1452    /// Implements [super::client::FirewallPolicies::remove_rule].
1453    fn remove_rule(
1454        &self,
1455        _req: crate::model::firewall_policies::RemoveRuleRequest,
1456        _options: crate::RequestOptions,
1457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1458    {
1459        gaxi::unimplemented::unimplemented_stub()
1460    }
1461
1462    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1463    fn set_iam_policy(
1464        &self,
1465        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1466        _options: crate::RequestOptions,
1467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1468    {
1469        gaxi::unimplemented::unimplemented_stub()
1470    }
1471
1472    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1473    fn test_iam_permissions(
1474        &self,
1475        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1476        _options: crate::RequestOptions,
1477    ) -> impl std::future::Future<
1478        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1479    > + Send {
1480        gaxi::unimplemented::unimplemented_stub()
1481    }
1482
1483    /// Implements [super::client::FirewallPolicies::get_operation].
1484    fn get_operation(
1485        &self,
1486        _req: crate::model::global_organization_operations::GetRequest,
1487        _options: crate::RequestOptions,
1488    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1489    {
1490        gaxi::unimplemented::unimplemented_stub()
1491    }
1492
1493    /// Returns the polling error policy.
1494    ///
1495    /// When mocking, this method is typically irrelevant. Do not try to verify
1496    /// it is called by your mocks.
1497    fn get_polling_error_policy(
1498        &self,
1499        _options: &crate::RequestOptions,
1500    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1501        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1502    }
1503
1504    /// Returns the polling backoff policy.
1505    ///
1506    /// When mocking, this method is typically irrelevant. Do not try to verify
1507    /// it is called by your mocks.
1508    fn get_polling_backoff_policy(
1509        &self,
1510        _options: &crate::RequestOptions,
1511    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1512        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1513    }
1514}
1515
1516/// Defines the trait used to implement [super::client::Firewalls].
1517///
1518/// Application developers may need to implement this trait to mock
1519/// `client::Firewalls`.  In other use-cases, application developers only
1520/// use `client::Firewalls` and need not be concerned with this trait or
1521/// its implementations.
1522///
1523/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1524/// too. To avoid breaking applications the trait provides a default
1525/// implementation of each method. Most of these implementations just return an
1526/// error.
1527#[cfg(feature = "firewalls")]
1528#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1529pub trait Firewalls: std::fmt::Debug + Send + Sync {
1530    /// Implements [super::client::Firewalls::delete].
1531    fn delete(
1532        &self,
1533        _req: crate::model::firewalls::DeleteRequest,
1534        _options: crate::RequestOptions,
1535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1536    {
1537        gaxi::unimplemented::unimplemented_stub()
1538    }
1539
1540    /// Implements [super::client::Firewalls::get].
1541    fn get(
1542        &self,
1543        _req: crate::model::firewalls::GetRequest,
1544        _options: crate::RequestOptions,
1545    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1546    {
1547        gaxi::unimplemented::unimplemented_stub()
1548    }
1549
1550    /// Implements [super::client::Firewalls::insert].
1551    fn insert(
1552        &self,
1553        _req: crate::model::firewalls::InsertRequest,
1554        _options: crate::RequestOptions,
1555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1556    {
1557        gaxi::unimplemented::unimplemented_stub()
1558    }
1559
1560    /// Implements [super::client::Firewalls::list].
1561    fn list(
1562        &self,
1563        _req: crate::model::firewalls::ListRequest,
1564        _options: crate::RequestOptions,
1565    ) -> impl std::future::Future<
1566        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1567    > + Send {
1568        gaxi::unimplemented::unimplemented_stub()
1569    }
1570
1571    /// Implements [super::client::Firewalls::patch].
1572    fn patch(
1573        &self,
1574        _req: crate::model::firewalls::PatchRequest,
1575        _options: crate::RequestOptions,
1576    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1577    {
1578        gaxi::unimplemented::unimplemented_stub()
1579    }
1580
1581    /// Implements [super::client::Firewalls::test_iam_permissions].
1582    fn test_iam_permissions(
1583        &self,
1584        _req: crate::model::firewalls::TestIamPermissionsRequest,
1585        _options: crate::RequestOptions,
1586    ) -> impl std::future::Future<
1587        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1588    > + Send {
1589        gaxi::unimplemented::unimplemented_stub()
1590    }
1591
1592    /// Implements [super::client::Firewalls::update].
1593    fn update(
1594        &self,
1595        _req: crate::model::firewalls::UpdateRequest,
1596        _options: crate::RequestOptions,
1597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1598    {
1599        gaxi::unimplemented::unimplemented_stub()
1600    }
1601
1602    /// Implements [super::client::Firewalls::get_operation].
1603    fn get_operation(
1604        &self,
1605        _req: crate::model::global_operations::GetRequest,
1606        _options: crate::RequestOptions,
1607    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1608    {
1609        gaxi::unimplemented::unimplemented_stub()
1610    }
1611
1612    /// Returns the polling error policy.
1613    ///
1614    /// When mocking, this method is typically irrelevant. Do not try to verify
1615    /// it is called by your mocks.
1616    fn get_polling_error_policy(
1617        &self,
1618        _options: &crate::RequestOptions,
1619    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1620        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1621    }
1622
1623    /// Returns the polling backoff policy.
1624    ///
1625    /// When mocking, this method is typically irrelevant. Do not try to verify
1626    /// it is called by your mocks.
1627    fn get_polling_backoff_policy(
1628        &self,
1629        _options: &crate::RequestOptions,
1630    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1631        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1632    }
1633}
1634
1635/// Defines the trait used to implement [super::client::ForwardingRules].
1636///
1637/// Application developers may need to implement this trait to mock
1638/// `client::ForwardingRules`.  In other use-cases, application developers only
1639/// use `client::ForwardingRules` and need not be concerned with this trait or
1640/// its implementations.
1641///
1642/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1643/// too. To avoid breaking applications the trait provides a default
1644/// implementation of each method. Most of these implementations just return an
1645/// error.
1646#[cfg(feature = "forwarding-rules")]
1647#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1648pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1649    /// Implements [super::client::ForwardingRules::aggregated_list].
1650    fn aggregated_list(
1651        &self,
1652        _req: crate::model::forwarding_rules::AggregatedListRequest,
1653        _options: crate::RequestOptions,
1654    ) -> impl std::future::Future<
1655        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1656    > + Send {
1657        gaxi::unimplemented::unimplemented_stub()
1658    }
1659
1660    /// Implements [super::client::ForwardingRules::delete].
1661    fn delete(
1662        &self,
1663        _req: crate::model::forwarding_rules::DeleteRequest,
1664        _options: crate::RequestOptions,
1665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1666    {
1667        gaxi::unimplemented::unimplemented_stub()
1668    }
1669
1670    /// Implements [super::client::ForwardingRules::get].
1671    fn get(
1672        &self,
1673        _req: crate::model::forwarding_rules::GetRequest,
1674        _options: crate::RequestOptions,
1675    ) -> impl std::future::Future<
1676        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1677    > + Send {
1678        gaxi::unimplemented::unimplemented_stub()
1679    }
1680
1681    /// Implements [super::client::ForwardingRules::insert].
1682    fn insert(
1683        &self,
1684        _req: crate::model::forwarding_rules::InsertRequest,
1685        _options: crate::RequestOptions,
1686    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1687    {
1688        gaxi::unimplemented::unimplemented_stub()
1689    }
1690
1691    /// Implements [super::client::ForwardingRules::list].
1692    fn list(
1693        &self,
1694        _req: crate::model::forwarding_rules::ListRequest,
1695        _options: crate::RequestOptions,
1696    ) -> impl std::future::Future<
1697        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1698    > + Send {
1699        gaxi::unimplemented::unimplemented_stub()
1700    }
1701
1702    /// Implements [super::client::ForwardingRules::patch].
1703    fn patch(
1704        &self,
1705        _req: crate::model::forwarding_rules::PatchRequest,
1706        _options: crate::RequestOptions,
1707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1708    {
1709        gaxi::unimplemented::unimplemented_stub()
1710    }
1711
1712    /// Implements [super::client::ForwardingRules::set_labels].
1713    fn set_labels(
1714        &self,
1715        _req: crate::model::forwarding_rules::SetLabelsRequest,
1716        _options: crate::RequestOptions,
1717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1718    {
1719        gaxi::unimplemented::unimplemented_stub()
1720    }
1721
1722    /// Implements [super::client::ForwardingRules::set_target].
1723    fn set_target(
1724        &self,
1725        _req: crate::model::forwarding_rules::SetTargetRequest,
1726        _options: crate::RequestOptions,
1727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1728    {
1729        gaxi::unimplemented::unimplemented_stub()
1730    }
1731
1732    /// Implements [super::client::ForwardingRules::get_operation].
1733    fn get_operation(
1734        &self,
1735        _req: crate::model::region_operations::GetRequest,
1736        _options: crate::RequestOptions,
1737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1738    {
1739        gaxi::unimplemented::unimplemented_stub()
1740    }
1741
1742    /// Returns the polling error policy.
1743    ///
1744    /// When mocking, this method is typically irrelevant. Do not try to verify
1745    /// it is called by your mocks.
1746    fn get_polling_error_policy(
1747        &self,
1748        _options: &crate::RequestOptions,
1749    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1750        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1751    }
1752
1753    /// Returns the polling backoff policy.
1754    ///
1755    /// When mocking, this method is typically irrelevant. Do not try to verify
1756    /// it is called by your mocks.
1757    fn get_polling_backoff_policy(
1758        &self,
1759        _options: &crate::RequestOptions,
1760    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1761        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1762    }
1763}
1764
1765/// Defines the trait used to implement [super::client::FutureReservations].
1766///
1767/// Application developers may need to implement this trait to mock
1768/// `client::FutureReservations`.  In other use-cases, application developers only
1769/// use `client::FutureReservations` and need not be concerned with this trait or
1770/// its implementations.
1771///
1772/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1773/// too. To avoid breaking applications the trait provides a default
1774/// implementation of each method. Most of these implementations just return an
1775/// error.
1776#[cfg(feature = "future-reservations")]
1777#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1778pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1779    /// Implements [super::client::FutureReservations::aggregated_list].
1780    fn aggregated_list(
1781        &self,
1782        _req: crate::model::future_reservations::AggregatedListRequest,
1783        _options: crate::RequestOptions,
1784    ) -> impl std::future::Future<
1785        Output = crate::Result<
1786            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1787        >,
1788    > + Send {
1789        gaxi::unimplemented::unimplemented_stub()
1790    }
1791
1792    /// Implements [super::client::FutureReservations::cancel].
1793    fn cancel(
1794        &self,
1795        _req: crate::model::future_reservations::CancelRequest,
1796        _options: crate::RequestOptions,
1797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1798    {
1799        gaxi::unimplemented::unimplemented_stub()
1800    }
1801
1802    /// Implements [super::client::FutureReservations::delete].
1803    fn delete(
1804        &self,
1805        _req: crate::model::future_reservations::DeleteRequest,
1806        _options: crate::RequestOptions,
1807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1808    {
1809        gaxi::unimplemented::unimplemented_stub()
1810    }
1811
1812    /// Implements [super::client::FutureReservations::get].
1813    fn get(
1814        &self,
1815        _req: crate::model::future_reservations::GetRequest,
1816        _options: crate::RequestOptions,
1817    ) -> impl std::future::Future<
1818        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1819    > + Send {
1820        gaxi::unimplemented::unimplemented_stub()
1821    }
1822
1823    /// Implements [super::client::FutureReservations::insert].
1824    fn insert(
1825        &self,
1826        _req: crate::model::future_reservations::InsertRequest,
1827        _options: crate::RequestOptions,
1828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1829    {
1830        gaxi::unimplemented::unimplemented_stub()
1831    }
1832
1833    /// Implements [super::client::FutureReservations::list].
1834    fn list(
1835        &self,
1836        _req: crate::model::future_reservations::ListRequest,
1837        _options: crate::RequestOptions,
1838    ) -> impl std::future::Future<
1839        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1840    > + Send {
1841        gaxi::unimplemented::unimplemented_stub()
1842    }
1843
1844    /// Implements [super::client::FutureReservations::update].
1845    fn update(
1846        &self,
1847        _req: crate::model::future_reservations::UpdateRequest,
1848        _options: crate::RequestOptions,
1849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1850    {
1851        gaxi::unimplemented::unimplemented_stub()
1852    }
1853
1854    /// Implements [super::client::FutureReservations::get_operation].
1855    fn get_operation(
1856        &self,
1857        _req: crate::model::zone_operations::GetRequest,
1858        _options: crate::RequestOptions,
1859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1860    {
1861        gaxi::unimplemented::unimplemented_stub()
1862    }
1863
1864    /// Returns the polling error policy.
1865    ///
1866    /// When mocking, this method is typically irrelevant. Do not try to verify
1867    /// it is called by your mocks.
1868    fn get_polling_error_policy(
1869        &self,
1870        _options: &crate::RequestOptions,
1871    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1872        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1873    }
1874
1875    /// Returns the polling backoff policy.
1876    ///
1877    /// When mocking, this method is typically irrelevant. Do not try to verify
1878    /// it is called by your mocks.
1879    fn get_polling_backoff_policy(
1880        &self,
1881        _options: &crate::RequestOptions,
1882    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1883        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1884    }
1885}
1886
1887/// Defines the trait used to implement [super::client::GlobalAddresses].
1888///
1889/// Application developers may need to implement this trait to mock
1890/// `client::GlobalAddresses`.  In other use-cases, application developers only
1891/// use `client::GlobalAddresses` and need not be concerned with this trait or
1892/// its implementations.
1893///
1894/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1895/// too. To avoid breaking applications the trait provides a default
1896/// implementation of each method. Most of these implementations just return an
1897/// error.
1898#[cfg(feature = "global-addresses")]
1899#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
1900pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
1901    /// Implements [super::client::GlobalAddresses::delete].
1902    fn delete(
1903        &self,
1904        _req: crate::model::global_addresses::DeleteRequest,
1905        _options: crate::RequestOptions,
1906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1907    {
1908        gaxi::unimplemented::unimplemented_stub()
1909    }
1910
1911    /// Implements [super::client::GlobalAddresses::get].
1912    fn get(
1913        &self,
1914        _req: crate::model::global_addresses::GetRequest,
1915        _options: crate::RequestOptions,
1916    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
1917    {
1918        gaxi::unimplemented::unimplemented_stub()
1919    }
1920
1921    /// Implements [super::client::GlobalAddresses::insert].
1922    fn insert(
1923        &self,
1924        _req: crate::model::global_addresses::InsertRequest,
1925        _options: crate::RequestOptions,
1926    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1927    {
1928        gaxi::unimplemented::unimplemented_stub()
1929    }
1930
1931    /// Implements [super::client::GlobalAddresses::list].
1932    fn list(
1933        &self,
1934        _req: crate::model::global_addresses::ListRequest,
1935        _options: crate::RequestOptions,
1936    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
1937    + Send {
1938        gaxi::unimplemented::unimplemented_stub()
1939    }
1940
1941    /// Implements [super::client::GlobalAddresses::r#move].
1942    fn r#move(
1943        &self,
1944        _req: crate::model::global_addresses::MoveRequest,
1945        _options: crate::RequestOptions,
1946    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1947    {
1948        gaxi::unimplemented::unimplemented_stub()
1949    }
1950
1951    /// Implements [super::client::GlobalAddresses::set_labels].
1952    fn set_labels(
1953        &self,
1954        _req: crate::model::global_addresses::SetLabelsRequest,
1955        _options: crate::RequestOptions,
1956    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1957    {
1958        gaxi::unimplemented::unimplemented_stub()
1959    }
1960
1961    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
1962    fn test_iam_permissions(
1963        &self,
1964        _req: crate::model::global_addresses::TestIamPermissionsRequest,
1965        _options: crate::RequestOptions,
1966    ) -> impl std::future::Future<
1967        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1968    > + Send {
1969        gaxi::unimplemented::unimplemented_stub()
1970    }
1971
1972    /// Implements [super::client::GlobalAddresses::get_operation].
1973    fn get_operation(
1974        &self,
1975        _req: crate::model::global_operations::GetRequest,
1976        _options: crate::RequestOptions,
1977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1978    {
1979        gaxi::unimplemented::unimplemented_stub()
1980    }
1981
1982    /// Returns the polling error policy.
1983    ///
1984    /// When mocking, this method is typically irrelevant. Do not try to verify
1985    /// it is called by your mocks.
1986    fn get_polling_error_policy(
1987        &self,
1988        _options: &crate::RequestOptions,
1989    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1990        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1991    }
1992
1993    /// Returns the polling backoff policy.
1994    ///
1995    /// When mocking, this method is typically irrelevant. Do not try to verify
1996    /// it is called by your mocks.
1997    fn get_polling_backoff_policy(
1998        &self,
1999        _options: &crate::RequestOptions,
2000    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2001        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2002    }
2003}
2004
2005/// Defines the trait used to implement [super::client::GlobalForwardingRules].
2006///
2007/// Application developers may need to implement this trait to mock
2008/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
2009/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
2010/// its implementations.
2011///
2012/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2013/// too. To avoid breaking applications the trait provides a default
2014/// implementation of each method. Most of these implementations just return an
2015/// error.
2016#[cfg(feature = "global-forwarding-rules")]
2017#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
2018pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
2019    /// Implements [super::client::GlobalForwardingRules::delete].
2020    fn delete(
2021        &self,
2022        _req: crate::model::global_forwarding_rules::DeleteRequest,
2023        _options: crate::RequestOptions,
2024    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2025    {
2026        gaxi::unimplemented::unimplemented_stub()
2027    }
2028
2029    /// Implements [super::client::GlobalForwardingRules::get].
2030    fn get(
2031        &self,
2032        _req: crate::model::global_forwarding_rules::GetRequest,
2033        _options: crate::RequestOptions,
2034    ) -> impl std::future::Future<
2035        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2036    > + Send {
2037        gaxi::unimplemented::unimplemented_stub()
2038    }
2039
2040    /// Implements [super::client::GlobalForwardingRules::insert].
2041    fn insert(
2042        &self,
2043        _req: crate::model::global_forwarding_rules::InsertRequest,
2044        _options: crate::RequestOptions,
2045    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2046    {
2047        gaxi::unimplemented::unimplemented_stub()
2048    }
2049
2050    /// Implements [super::client::GlobalForwardingRules::list].
2051    fn list(
2052        &self,
2053        _req: crate::model::global_forwarding_rules::ListRequest,
2054        _options: crate::RequestOptions,
2055    ) -> impl std::future::Future<
2056        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2057    > + Send {
2058        gaxi::unimplemented::unimplemented_stub()
2059    }
2060
2061    /// Implements [super::client::GlobalForwardingRules::patch].
2062    fn patch(
2063        &self,
2064        _req: crate::model::global_forwarding_rules::PatchRequest,
2065        _options: crate::RequestOptions,
2066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2067    {
2068        gaxi::unimplemented::unimplemented_stub()
2069    }
2070
2071    /// Implements [super::client::GlobalForwardingRules::set_labels].
2072    fn set_labels(
2073        &self,
2074        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2075        _options: crate::RequestOptions,
2076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2077    {
2078        gaxi::unimplemented::unimplemented_stub()
2079    }
2080
2081    /// Implements [super::client::GlobalForwardingRules::set_target].
2082    fn set_target(
2083        &self,
2084        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2085        _options: crate::RequestOptions,
2086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2087    {
2088        gaxi::unimplemented::unimplemented_stub()
2089    }
2090
2091    /// Implements [super::client::GlobalForwardingRules::get_operation].
2092    fn get_operation(
2093        &self,
2094        _req: crate::model::global_operations::GetRequest,
2095        _options: crate::RequestOptions,
2096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2097    {
2098        gaxi::unimplemented::unimplemented_stub()
2099    }
2100
2101    /// Returns the polling error policy.
2102    ///
2103    /// When mocking, this method is typically irrelevant. Do not try to verify
2104    /// it is called by your mocks.
2105    fn get_polling_error_policy(
2106        &self,
2107        _options: &crate::RequestOptions,
2108    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2109        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2110    }
2111
2112    /// Returns the polling backoff policy.
2113    ///
2114    /// When mocking, this method is typically irrelevant. Do not try to verify
2115    /// it is called by your mocks.
2116    fn get_polling_backoff_policy(
2117        &self,
2118        _options: &crate::RequestOptions,
2119    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2120        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2121    }
2122}
2123
2124/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2125///
2126/// Application developers may need to implement this trait to mock
2127/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2128/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2129/// its implementations.
2130///
2131/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2132/// too. To avoid breaking applications the trait provides a default
2133/// implementation of each method. Most of these implementations just return an
2134/// error.
2135#[cfg(feature = "global-network-endpoint-groups")]
2136#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2137pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2138    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2139    fn attach_network_endpoints(
2140        &self,
2141        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2142        _options: crate::RequestOptions,
2143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2144    {
2145        gaxi::unimplemented::unimplemented_stub()
2146    }
2147
2148    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2149    fn delete(
2150        &self,
2151        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2152        _options: crate::RequestOptions,
2153    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2154    {
2155        gaxi::unimplemented::unimplemented_stub()
2156    }
2157
2158    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2159    fn detach_network_endpoints(
2160        &self,
2161        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2162        _options: crate::RequestOptions,
2163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2164    {
2165        gaxi::unimplemented::unimplemented_stub()
2166    }
2167
2168    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2169    fn get(
2170        &self,
2171        _req: crate::model::global_network_endpoint_groups::GetRequest,
2172        _options: crate::RequestOptions,
2173    ) -> impl std::future::Future<
2174        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2175    > + Send {
2176        gaxi::unimplemented::unimplemented_stub()
2177    }
2178
2179    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2180    fn insert(
2181        &self,
2182        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2183        _options: crate::RequestOptions,
2184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2185    {
2186        gaxi::unimplemented::unimplemented_stub()
2187    }
2188
2189    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2190    fn list(
2191        &self,
2192        _req: crate::model::global_network_endpoint_groups::ListRequest,
2193        _options: crate::RequestOptions,
2194    ) -> impl std::future::Future<
2195        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2196    > + Send {
2197        gaxi::unimplemented::unimplemented_stub()
2198    }
2199
2200    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2201    fn list_network_endpoints(
2202        &self,
2203        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2204        _options: crate::RequestOptions,
2205    ) -> impl std::future::Future<
2206        Output = crate::Result<
2207            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2208        >,
2209    > + Send {
2210        gaxi::unimplemented::unimplemented_stub()
2211    }
2212
2213    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2214    fn get_operation(
2215        &self,
2216        _req: crate::model::global_operations::GetRequest,
2217        _options: crate::RequestOptions,
2218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2219    {
2220        gaxi::unimplemented::unimplemented_stub()
2221    }
2222
2223    /// Returns the polling error policy.
2224    ///
2225    /// When mocking, this method is typically irrelevant. Do not try to verify
2226    /// it is called by your mocks.
2227    fn get_polling_error_policy(
2228        &self,
2229        _options: &crate::RequestOptions,
2230    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2231        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2232    }
2233
2234    /// Returns the polling backoff policy.
2235    ///
2236    /// When mocking, this method is typically irrelevant. Do not try to verify
2237    /// it is called by your mocks.
2238    fn get_polling_backoff_policy(
2239        &self,
2240        _options: &crate::RequestOptions,
2241    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2242        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2243    }
2244}
2245
2246/// Defines the trait used to implement [super::client::GlobalOperations].
2247///
2248/// Application developers may need to implement this trait to mock
2249/// `client::GlobalOperations`.  In other use-cases, application developers only
2250/// use `client::GlobalOperations` and need not be concerned with this trait or
2251/// its implementations.
2252///
2253/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2254/// too. To avoid breaking applications the trait provides a default
2255/// implementation of each method. Most of these implementations just return an
2256/// error.
2257#[cfg(feature = "global-operations")]
2258#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2259pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2260    /// Implements [super::client::GlobalOperations::aggregated_list].
2261    fn aggregated_list(
2262        &self,
2263        _req: crate::model::global_operations::AggregatedListRequest,
2264        _options: crate::RequestOptions,
2265    ) -> impl std::future::Future<
2266        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2267    > + Send {
2268        gaxi::unimplemented::unimplemented_stub()
2269    }
2270
2271    /// Implements [super::client::GlobalOperations::delete].
2272    fn delete(
2273        &self,
2274        _req: crate::model::global_operations::DeleteRequest,
2275        _options: crate::RequestOptions,
2276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2277        gaxi::unimplemented::unimplemented_stub()
2278    }
2279
2280    /// Implements [super::client::GlobalOperations::get].
2281    fn get(
2282        &self,
2283        _req: crate::model::global_operations::GetRequest,
2284        _options: crate::RequestOptions,
2285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2286    {
2287        gaxi::unimplemented::unimplemented_stub()
2288    }
2289
2290    /// Implements [super::client::GlobalOperations::list].
2291    fn list(
2292        &self,
2293        _req: crate::model::global_operations::ListRequest,
2294        _options: crate::RequestOptions,
2295    ) -> impl std::future::Future<
2296        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2297    > + Send {
2298        gaxi::unimplemented::unimplemented_stub()
2299    }
2300
2301    /// Implements [super::client::GlobalOperations::wait].
2302    fn wait(
2303        &self,
2304        _req: crate::model::global_operations::WaitRequest,
2305        _options: crate::RequestOptions,
2306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2307    {
2308        gaxi::unimplemented::unimplemented_stub()
2309    }
2310}
2311
2312/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2313///
2314/// Application developers may need to implement this trait to mock
2315/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2316/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2317/// its implementations.
2318///
2319/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2320/// too. To avoid breaking applications the trait provides a default
2321/// implementation of each method. Most of these implementations just return an
2322/// error.
2323#[cfg(feature = "global-organization-operations")]
2324#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2325pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2326    /// Implements [super::client::GlobalOrganizationOperations::delete].
2327    fn delete(
2328        &self,
2329        _req: crate::model::global_organization_operations::DeleteRequest,
2330        _options: crate::RequestOptions,
2331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2332        gaxi::unimplemented::unimplemented_stub()
2333    }
2334
2335    /// Implements [super::client::GlobalOrganizationOperations::get].
2336    fn get(
2337        &self,
2338        _req: crate::model::global_organization_operations::GetRequest,
2339        _options: crate::RequestOptions,
2340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2341    {
2342        gaxi::unimplemented::unimplemented_stub()
2343    }
2344
2345    /// Implements [super::client::GlobalOrganizationOperations::list].
2346    fn list(
2347        &self,
2348        _req: crate::model::global_organization_operations::ListRequest,
2349        _options: crate::RequestOptions,
2350    ) -> impl std::future::Future<
2351        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2352    > + Send {
2353        gaxi::unimplemented::unimplemented_stub()
2354    }
2355}
2356
2357/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2358///
2359/// Application developers may need to implement this trait to mock
2360/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2361/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2362/// its implementations.
2363///
2364/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2365/// too. To avoid breaking applications the trait provides a default
2366/// implementation of each method. Most of these implementations just return an
2367/// error.
2368#[cfg(feature = "global-public-delegated-prefixes")]
2369#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2370pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2371    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2372    fn delete(
2373        &self,
2374        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2375        _options: crate::RequestOptions,
2376    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2377    {
2378        gaxi::unimplemented::unimplemented_stub()
2379    }
2380
2381    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2382    fn get(
2383        &self,
2384        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2385        _options: crate::RequestOptions,
2386    ) -> impl std::future::Future<
2387        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2388    > + Send {
2389        gaxi::unimplemented::unimplemented_stub()
2390    }
2391
2392    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2393    fn insert(
2394        &self,
2395        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2396        _options: crate::RequestOptions,
2397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2398    {
2399        gaxi::unimplemented::unimplemented_stub()
2400    }
2401
2402    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2403    fn list(
2404        &self,
2405        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2406        _options: crate::RequestOptions,
2407    ) -> impl std::future::Future<
2408        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2409    > + Send {
2410        gaxi::unimplemented::unimplemented_stub()
2411    }
2412
2413    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2414    fn patch(
2415        &self,
2416        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2417        _options: crate::RequestOptions,
2418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2419    {
2420        gaxi::unimplemented::unimplemented_stub()
2421    }
2422
2423    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2424    fn get_operation(
2425        &self,
2426        _req: crate::model::global_operations::GetRequest,
2427        _options: crate::RequestOptions,
2428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2429    {
2430        gaxi::unimplemented::unimplemented_stub()
2431    }
2432
2433    /// Returns the polling error policy.
2434    ///
2435    /// When mocking, this method is typically irrelevant. Do not try to verify
2436    /// it is called by your mocks.
2437    fn get_polling_error_policy(
2438        &self,
2439        _options: &crate::RequestOptions,
2440    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2441        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2442    }
2443
2444    /// Returns the polling backoff policy.
2445    ///
2446    /// When mocking, this method is typically irrelevant. Do not try to verify
2447    /// it is called by your mocks.
2448    fn get_polling_backoff_policy(
2449        &self,
2450        _options: &crate::RequestOptions,
2451    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2452        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2453    }
2454}
2455
2456/// Defines the trait used to implement [super::client::GlobalVmExtensionPolicies].
2457///
2458/// Application developers may need to implement this trait to mock
2459/// `client::GlobalVmExtensionPolicies`.  In other use-cases, application developers only
2460/// use `client::GlobalVmExtensionPolicies` and need not be concerned with this trait or
2461/// its implementations.
2462///
2463/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2464/// too. To avoid breaking applications the trait provides a default
2465/// implementation of each method. Most of these implementations just return an
2466/// error.
2467#[cfg(feature = "global-vm-extension-policies")]
2468#[cfg_attr(docsrs, doc(cfg(feature = "global-vm-extension-policies")))]
2469pub trait GlobalVmExtensionPolicies: std::fmt::Debug + Send + Sync {
2470    /// Implements [super::client::GlobalVmExtensionPolicies::aggregated_list].
2471    fn aggregated_list(
2472        &self,
2473        _req: crate::model::global_vm_extension_policies::AggregatedListRequest,
2474        _options: crate::RequestOptions,
2475    ) -> impl std::future::Future<
2476        Output = crate::Result<
2477            crate::Response<crate::model::VmExtensionPolicyAggregatedListResponse>,
2478        >,
2479    > + Send {
2480        gaxi::unimplemented::unimplemented_stub()
2481    }
2482
2483    /// Implements [super::client::GlobalVmExtensionPolicies::delete].
2484    fn delete(
2485        &self,
2486        _req: crate::model::global_vm_extension_policies::DeleteRequest,
2487        _options: crate::RequestOptions,
2488    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2489    {
2490        gaxi::unimplemented::unimplemented_stub()
2491    }
2492
2493    /// Implements [super::client::GlobalVmExtensionPolicies::get].
2494    fn get(
2495        &self,
2496        _req: crate::model::global_vm_extension_policies::GetRequest,
2497        _options: crate::RequestOptions,
2498    ) -> impl std::future::Future<
2499        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicy>>,
2500    > + Send {
2501        gaxi::unimplemented::unimplemented_stub()
2502    }
2503
2504    /// Implements [super::client::GlobalVmExtensionPolicies::insert].
2505    fn insert(
2506        &self,
2507        _req: crate::model::global_vm_extension_policies::InsertRequest,
2508        _options: crate::RequestOptions,
2509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2510    {
2511        gaxi::unimplemented::unimplemented_stub()
2512    }
2513
2514    /// Implements [super::client::GlobalVmExtensionPolicies::list].
2515    fn list(
2516        &self,
2517        _req: crate::model::global_vm_extension_policies::ListRequest,
2518        _options: crate::RequestOptions,
2519    ) -> impl std::future::Future<
2520        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicyList>>,
2521    > + Send {
2522        gaxi::unimplemented::unimplemented_stub()
2523    }
2524
2525    /// Implements [super::client::GlobalVmExtensionPolicies::update].
2526    fn update(
2527        &self,
2528        _req: crate::model::global_vm_extension_policies::UpdateRequest,
2529        _options: crate::RequestOptions,
2530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2531    {
2532        gaxi::unimplemented::unimplemented_stub()
2533    }
2534
2535    /// Implements [super::client::GlobalVmExtensionPolicies::get_operation].
2536    fn get_operation(
2537        &self,
2538        _req: crate::model::global_operations::GetRequest,
2539        _options: crate::RequestOptions,
2540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2541    {
2542        gaxi::unimplemented::unimplemented_stub()
2543    }
2544
2545    /// Returns the polling error policy.
2546    ///
2547    /// When mocking, this method is typically irrelevant. Do not try to verify
2548    /// it is called by your mocks.
2549    fn get_polling_error_policy(
2550        &self,
2551        _options: &crate::RequestOptions,
2552    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2553        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2554    }
2555
2556    /// Returns the polling backoff policy.
2557    ///
2558    /// When mocking, this method is typically irrelevant. Do not try to verify
2559    /// it is called by your mocks.
2560    fn get_polling_backoff_policy(
2561        &self,
2562        _options: &crate::RequestOptions,
2563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2564        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2565    }
2566}
2567
2568/// Defines the trait used to implement [super::client::HealthChecks].
2569///
2570/// Application developers may need to implement this trait to mock
2571/// `client::HealthChecks`.  In other use-cases, application developers only
2572/// use `client::HealthChecks` and need not be concerned with this trait or
2573/// its implementations.
2574///
2575/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2576/// too. To avoid breaking applications the trait provides a default
2577/// implementation of each method. Most of these implementations just return an
2578/// error.
2579#[cfg(feature = "health-checks")]
2580#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2581pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2582    /// Implements [super::client::HealthChecks::aggregated_list].
2583    fn aggregated_list(
2584        &self,
2585        _req: crate::model::health_checks::AggregatedListRequest,
2586        _options: crate::RequestOptions,
2587    ) -> impl std::future::Future<
2588        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2589    > + Send {
2590        gaxi::unimplemented::unimplemented_stub()
2591    }
2592
2593    /// Implements [super::client::HealthChecks::delete].
2594    fn delete(
2595        &self,
2596        _req: crate::model::health_checks::DeleteRequest,
2597        _options: crate::RequestOptions,
2598    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2599    {
2600        gaxi::unimplemented::unimplemented_stub()
2601    }
2602
2603    /// Implements [super::client::HealthChecks::get].
2604    fn get(
2605        &self,
2606        _req: crate::model::health_checks::GetRequest,
2607        _options: crate::RequestOptions,
2608    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2609    + Send {
2610        gaxi::unimplemented::unimplemented_stub()
2611    }
2612
2613    /// Implements [super::client::HealthChecks::insert].
2614    fn insert(
2615        &self,
2616        _req: crate::model::health_checks::InsertRequest,
2617        _options: crate::RequestOptions,
2618    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2619    {
2620        gaxi::unimplemented::unimplemented_stub()
2621    }
2622
2623    /// Implements [super::client::HealthChecks::list].
2624    fn list(
2625        &self,
2626        _req: crate::model::health_checks::ListRequest,
2627        _options: crate::RequestOptions,
2628    ) -> impl std::future::Future<
2629        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2630    > + Send {
2631        gaxi::unimplemented::unimplemented_stub()
2632    }
2633
2634    /// Implements [super::client::HealthChecks::patch].
2635    fn patch(
2636        &self,
2637        _req: crate::model::health_checks::PatchRequest,
2638        _options: crate::RequestOptions,
2639    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2640    {
2641        gaxi::unimplemented::unimplemented_stub()
2642    }
2643
2644    /// Implements [super::client::HealthChecks::test_iam_permissions].
2645    fn test_iam_permissions(
2646        &self,
2647        _req: crate::model::health_checks::TestIamPermissionsRequest,
2648        _options: crate::RequestOptions,
2649    ) -> impl std::future::Future<
2650        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2651    > + Send {
2652        gaxi::unimplemented::unimplemented_stub()
2653    }
2654
2655    /// Implements [super::client::HealthChecks::update].
2656    fn update(
2657        &self,
2658        _req: crate::model::health_checks::UpdateRequest,
2659        _options: crate::RequestOptions,
2660    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2661    {
2662        gaxi::unimplemented::unimplemented_stub()
2663    }
2664
2665    /// Implements [super::client::HealthChecks::get_operation].
2666    fn get_operation(
2667        &self,
2668        _req: crate::model::global_operations::GetRequest,
2669        _options: crate::RequestOptions,
2670    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2671    {
2672        gaxi::unimplemented::unimplemented_stub()
2673    }
2674
2675    /// Returns the polling error policy.
2676    ///
2677    /// When mocking, this method is typically irrelevant. Do not try to verify
2678    /// it is called by your mocks.
2679    fn get_polling_error_policy(
2680        &self,
2681        _options: &crate::RequestOptions,
2682    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2683        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2684    }
2685
2686    /// Returns the polling backoff policy.
2687    ///
2688    /// When mocking, this method is typically irrelevant. Do not try to verify
2689    /// it is called by your mocks.
2690    fn get_polling_backoff_policy(
2691        &self,
2692        _options: &crate::RequestOptions,
2693    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2694        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2695    }
2696}
2697
2698/// Defines the trait used to implement [super::client::HttpHealthChecks].
2699///
2700/// Application developers may need to implement this trait to mock
2701/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2702/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2703/// its implementations.
2704///
2705/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2706/// too. To avoid breaking applications the trait provides a default
2707/// implementation of each method. Most of these implementations just return an
2708/// error.
2709#[cfg(feature = "http-health-checks")]
2710#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
2711pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
2712    /// Implements [super::client::HttpHealthChecks::delete].
2713    fn delete(
2714        &self,
2715        _req: crate::model::http_health_checks::DeleteRequest,
2716        _options: crate::RequestOptions,
2717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2718    {
2719        gaxi::unimplemented::unimplemented_stub()
2720    }
2721
2722    /// Implements [super::client::HttpHealthChecks::get].
2723    fn get(
2724        &self,
2725        _req: crate::model::http_health_checks::GetRequest,
2726        _options: crate::RequestOptions,
2727    ) -> impl std::future::Future<
2728        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
2729    > + Send {
2730        gaxi::unimplemented::unimplemented_stub()
2731    }
2732
2733    /// Implements [super::client::HttpHealthChecks::insert].
2734    fn insert(
2735        &self,
2736        _req: crate::model::http_health_checks::InsertRequest,
2737        _options: crate::RequestOptions,
2738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2739    {
2740        gaxi::unimplemented::unimplemented_stub()
2741    }
2742
2743    /// Implements [super::client::HttpHealthChecks::list].
2744    fn list(
2745        &self,
2746        _req: crate::model::http_health_checks::ListRequest,
2747        _options: crate::RequestOptions,
2748    ) -> impl std::future::Future<
2749        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
2750    > + Send {
2751        gaxi::unimplemented::unimplemented_stub()
2752    }
2753
2754    /// Implements [super::client::HttpHealthChecks::patch].
2755    fn patch(
2756        &self,
2757        _req: crate::model::http_health_checks::PatchRequest,
2758        _options: crate::RequestOptions,
2759    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2760    {
2761        gaxi::unimplemented::unimplemented_stub()
2762    }
2763
2764    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
2765    fn test_iam_permissions(
2766        &self,
2767        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
2768        _options: crate::RequestOptions,
2769    ) -> impl std::future::Future<
2770        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2771    > + Send {
2772        gaxi::unimplemented::unimplemented_stub()
2773    }
2774
2775    /// Implements [super::client::HttpHealthChecks::update].
2776    fn update(
2777        &self,
2778        _req: crate::model::http_health_checks::UpdateRequest,
2779        _options: crate::RequestOptions,
2780    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2781    {
2782        gaxi::unimplemented::unimplemented_stub()
2783    }
2784
2785    /// Implements [super::client::HttpHealthChecks::get_operation].
2786    fn get_operation(
2787        &self,
2788        _req: crate::model::global_operations::GetRequest,
2789        _options: crate::RequestOptions,
2790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2791    {
2792        gaxi::unimplemented::unimplemented_stub()
2793    }
2794
2795    /// Returns the polling error policy.
2796    ///
2797    /// When mocking, this method is typically irrelevant. Do not try to verify
2798    /// it is called by your mocks.
2799    fn get_polling_error_policy(
2800        &self,
2801        _options: &crate::RequestOptions,
2802    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2803        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2804    }
2805
2806    /// Returns the polling backoff policy.
2807    ///
2808    /// When mocking, this method is typically irrelevant. Do not try to verify
2809    /// it is called by your mocks.
2810    fn get_polling_backoff_policy(
2811        &self,
2812        _options: &crate::RequestOptions,
2813    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2814        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2815    }
2816}
2817
2818/// Defines the trait used to implement [super::client::HttpsHealthChecks].
2819///
2820/// Application developers may need to implement this trait to mock
2821/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
2822/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
2823/// its implementations.
2824///
2825/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2826/// too. To avoid breaking applications the trait provides a default
2827/// implementation of each method. Most of these implementations just return an
2828/// error.
2829#[cfg(feature = "https-health-checks")]
2830#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
2831pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
2832    /// Implements [super::client::HttpsHealthChecks::delete].
2833    fn delete(
2834        &self,
2835        _req: crate::model::https_health_checks::DeleteRequest,
2836        _options: crate::RequestOptions,
2837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2838    {
2839        gaxi::unimplemented::unimplemented_stub()
2840    }
2841
2842    /// Implements [super::client::HttpsHealthChecks::get].
2843    fn get(
2844        &self,
2845        _req: crate::model::https_health_checks::GetRequest,
2846        _options: crate::RequestOptions,
2847    ) -> impl std::future::Future<
2848        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
2849    > + Send {
2850        gaxi::unimplemented::unimplemented_stub()
2851    }
2852
2853    /// Implements [super::client::HttpsHealthChecks::insert].
2854    fn insert(
2855        &self,
2856        _req: crate::model::https_health_checks::InsertRequest,
2857        _options: crate::RequestOptions,
2858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2859    {
2860        gaxi::unimplemented::unimplemented_stub()
2861    }
2862
2863    /// Implements [super::client::HttpsHealthChecks::list].
2864    fn list(
2865        &self,
2866        _req: crate::model::https_health_checks::ListRequest,
2867        _options: crate::RequestOptions,
2868    ) -> impl std::future::Future<
2869        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
2870    > + Send {
2871        gaxi::unimplemented::unimplemented_stub()
2872    }
2873
2874    /// Implements [super::client::HttpsHealthChecks::patch].
2875    fn patch(
2876        &self,
2877        _req: crate::model::https_health_checks::PatchRequest,
2878        _options: crate::RequestOptions,
2879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2880    {
2881        gaxi::unimplemented::unimplemented_stub()
2882    }
2883
2884    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
2885    fn test_iam_permissions(
2886        &self,
2887        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
2888        _options: crate::RequestOptions,
2889    ) -> impl std::future::Future<
2890        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2891    > + Send {
2892        gaxi::unimplemented::unimplemented_stub()
2893    }
2894
2895    /// Implements [super::client::HttpsHealthChecks::update].
2896    fn update(
2897        &self,
2898        _req: crate::model::https_health_checks::UpdateRequest,
2899        _options: crate::RequestOptions,
2900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2901    {
2902        gaxi::unimplemented::unimplemented_stub()
2903    }
2904
2905    /// Implements [super::client::HttpsHealthChecks::get_operation].
2906    fn get_operation(
2907        &self,
2908        _req: crate::model::global_operations::GetRequest,
2909        _options: crate::RequestOptions,
2910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2911    {
2912        gaxi::unimplemented::unimplemented_stub()
2913    }
2914
2915    /// Returns the polling error policy.
2916    ///
2917    /// When mocking, this method is typically irrelevant. Do not try to verify
2918    /// it is called by your mocks.
2919    fn get_polling_error_policy(
2920        &self,
2921        _options: &crate::RequestOptions,
2922    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2923        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2924    }
2925
2926    /// Returns the polling backoff policy.
2927    ///
2928    /// When mocking, this method is typically irrelevant. Do not try to verify
2929    /// it is called by your mocks.
2930    fn get_polling_backoff_policy(
2931        &self,
2932        _options: &crate::RequestOptions,
2933    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2934        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2935    }
2936}
2937
2938/// Defines the trait used to implement [super::client::ImageFamilyViews].
2939///
2940/// Application developers may need to implement this trait to mock
2941/// `client::ImageFamilyViews`.  In other use-cases, application developers only
2942/// use `client::ImageFamilyViews` and need not be concerned with this trait or
2943/// its implementations.
2944///
2945/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2946/// too. To avoid breaking applications the trait provides a default
2947/// implementation of each method. Most of these implementations just return an
2948/// error.
2949#[cfg(feature = "image-family-views")]
2950#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
2951pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
2952    /// Implements [super::client::ImageFamilyViews::get].
2953    fn get(
2954        &self,
2955        _req: crate::model::image_family_views::GetRequest,
2956        _options: crate::RequestOptions,
2957    ) -> impl std::future::Future<
2958        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
2959    > + Send {
2960        gaxi::unimplemented::unimplemented_stub()
2961    }
2962}
2963
2964/// Defines the trait used to implement [super::client::Images].
2965///
2966/// Application developers may need to implement this trait to mock
2967/// `client::Images`.  In other use-cases, application developers only
2968/// use `client::Images` and need not be concerned with this trait or
2969/// its implementations.
2970///
2971/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2972/// too. To avoid breaking applications the trait provides a default
2973/// implementation of each method. Most of these implementations just return an
2974/// error.
2975#[cfg(feature = "images")]
2976#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
2977pub trait Images: std::fmt::Debug + Send + Sync {
2978    /// Implements [super::client::Images::delete].
2979    fn delete(
2980        &self,
2981        _req: crate::model::images::DeleteRequest,
2982        _options: crate::RequestOptions,
2983    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2984    {
2985        gaxi::unimplemented::unimplemented_stub()
2986    }
2987
2988    /// Implements [super::client::Images::deprecate].
2989    fn deprecate(
2990        &self,
2991        _req: crate::model::images::DeprecateRequest,
2992        _options: crate::RequestOptions,
2993    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2994    {
2995        gaxi::unimplemented::unimplemented_stub()
2996    }
2997
2998    /// Implements [super::client::Images::get].
2999    fn get(
3000        &self,
3001        _req: crate::model::images::GetRequest,
3002        _options: crate::RequestOptions,
3003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3004    {
3005        gaxi::unimplemented::unimplemented_stub()
3006    }
3007
3008    /// Implements [super::client::Images::get_from_family].
3009    fn get_from_family(
3010        &self,
3011        _req: crate::model::images::GetFromFamilyRequest,
3012        _options: crate::RequestOptions,
3013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3014    {
3015        gaxi::unimplemented::unimplemented_stub()
3016    }
3017
3018    /// Implements [super::client::Images::get_iam_policy].
3019    fn get_iam_policy(
3020        &self,
3021        _req: crate::model::images::GetIamPolicyRequest,
3022        _options: crate::RequestOptions,
3023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3024    {
3025        gaxi::unimplemented::unimplemented_stub()
3026    }
3027
3028    /// Implements [super::client::Images::insert].
3029    fn insert(
3030        &self,
3031        _req: crate::model::images::InsertRequest,
3032        _options: crate::RequestOptions,
3033    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3034    {
3035        gaxi::unimplemented::unimplemented_stub()
3036    }
3037
3038    /// Implements [super::client::Images::list].
3039    fn list(
3040        &self,
3041        _req: crate::model::images::ListRequest,
3042        _options: crate::RequestOptions,
3043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
3044    {
3045        gaxi::unimplemented::unimplemented_stub()
3046    }
3047
3048    /// Implements [super::client::Images::patch].
3049    fn patch(
3050        &self,
3051        _req: crate::model::images::PatchRequest,
3052        _options: crate::RequestOptions,
3053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3054    {
3055        gaxi::unimplemented::unimplemented_stub()
3056    }
3057
3058    /// Implements [super::client::Images::set_iam_policy].
3059    fn set_iam_policy(
3060        &self,
3061        _req: crate::model::images::SetIamPolicyRequest,
3062        _options: crate::RequestOptions,
3063    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3064    {
3065        gaxi::unimplemented::unimplemented_stub()
3066    }
3067
3068    /// Implements [super::client::Images::set_labels].
3069    fn set_labels(
3070        &self,
3071        _req: crate::model::images::SetLabelsRequest,
3072        _options: crate::RequestOptions,
3073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3074    {
3075        gaxi::unimplemented::unimplemented_stub()
3076    }
3077
3078    /// Implements [super::client::Images::test_iam_permissions].
3079    fn test_iam_permissions(
3080        &self,
3081        _req: crate::model::images::TestIamPermissionsRequest,
3082        _options: crate::RequestOptions,
3083    ) -> impl std::future::Future<
3084        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3085    > + Send {
3086        gaxi::unimplemented::unimplemented_stub()
3087    }
3088
3089    /// Implements [super::client::Images::get_operation].
3090    fn get_operation(
3091        &self,
3092        _req: crate::model::global_operations::GetRequest,
3093        _options: crate::RequestOptions,
3094    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3095    {
3096        gaxi::unimplemented::unimplemented_stub()
3097    }
3098
3099    /// Returns the polling error policy.
3100    ///
3101    /// When mocking, this method is typically irrelevant. Do not try to verify
3102    /// it is called by your mocks.
3103    fn get_polling_error_policy(
3104        &self,
3105        _options: &crate::RequestOptions,
3106    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3107        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3108    }
3109
3110    /// Returns the polling backoff policy.
3111    ///
3112    /// When mocking, this method is typically irrelevant. Do not try to verify
3113    /// it is called by your mocks.
3114    fn get_polling_backoff_policy(
3115        &self,
3116        _options: &crate::RequestOptions,
3117    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3118        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3119    }
3120}
3121
3122/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3123///
3124/// Application developers may need to implement this trait to mock
3125/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3126/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3127/// its implementations.
3128///
3129/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3130/// too. To avoid breaking applications the trait provides a default
3131/// implementation of each method. Most of these implementations just return an
3132/// error.
3133#[cfg(feature = "instance-group-manager-resize-requests")]
3134#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3135pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3136    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3137    fn cancel(
3138        &self,
3139        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3140        _options: crate::RequestOptions,
3141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3142    {
3143        gaxi::unimplemented::unimplemented_stub()
3144    }
3145
3146    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3147    fn delete(
3148        &self,
3149        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3150        _options: crate::RequestOptions,
3151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3152    {
3153        gaxi::unimplemented::unimplemented_stub()
3154    }
3155
3156    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3157    fn get(
3158        &self,
3159        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3160        _options: crate::RequestOptions,
3161    ) -> impl std::future::Future<
3162        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3163    > + Send {
3164        gaxi::unimplemented::unimplemented_stub()
3165    }
3166
3167    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3168    fn insert(
3169        &self,
3170        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3171        _options: crate::RequestOptions,
3172    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3173    {
3174        gaxi::unimplemented::unimplemented_stub()
3175    }
3176
3177    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3178    fn list(
3179        &self,
3180        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3181        _options: crate::RequestOptions,
3182    ) -> impl std::future::Future<
3183        Output = crate::Result<
3184            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3185        >,
3186    > + Send {
3187        gaxi::unimplemented::unimplemented_stub()
3188    }
3189
3190    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3191    fn get_operation(
3192        &self,
3193        _req: crate::model::zone_operations::GetRequest,
3194        _options: crate::RequestOptions,
3195    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3196    {
3197        gaxi::unimplemented::unimplemented_stub()
3198    }
3199
3200    /// Returns the polling error policy.
3201    ///
3202    /// When mocking, this method is typically irrelevant. Do not try to verify
3203    /// it is called by your mocks.
3204    fn get_polling_error_policy(
3205        &self,
3206        _options: &crate::RequestOptions,
3207    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3208        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3209    }
3210
3211    /// Returns the polling backoff policy.
3212    ///
3213    /// When mocking, this method is typically irrelevant. Do not try to verify
3214    /// it is called by your mocks.
3215    fn get_polling_backoff_policy(
3216        &self,
3217        _options: &crate::RequestOptions,
3218    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3219        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3220    }
3221}
3222
3223/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3224///
3225/// Application developers may need to implement this trait to mock
3226/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3227/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3228/// its implementations.
3229///
3230/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3231/// too. To avoid breaking applications the trait provides a default
3232/// implementation of each method. Most of these implementations just return an
3233/// error.
3234#[cfg(feature = "instance-group-managers")]
3235#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3236pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3237    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3238    fn abandon_instances(
3239        &self,
3240        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3241        _options: crate::RequestOptions,
3242    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3243    {
3244        gaxi::unimplemented::unimplemented_stub()
3245    }
3246
3247    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3248    fn aggregated_list(
3249        &self,
3250        _req: crate::model::instance_group_managers::AggregatedListRequest,
3251        _options: crate::RequestOptions,
3252    ) -> impl std::future::Future<
3253        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3254    > + Send {
3255        gaxi::unimplemented::unimplemented_stub()
3256    }
3257
3258    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3259    fn apply_updates_to_instances(
3260        &self,
3261        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3262        _options: crate::RequestOptions,
3263    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3264    {
3265        gaxi::unimplemented::unimplemented_stub()
3266    }
3267
3268    /// Implements [super::client::InstanceGroupManagers::create_instances].
3269    fn create_instances(
3270        &self,
3271        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3272        _options: crate::RequestOptions,
3273    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3274    {
3275        gaxi::unimplemented::unimplemented_stub()
3276    }
3277
3278    /// Implements [super::client::InstanceGroupManagers::delete].
3279    fn delete(
3280        &self,
3281        _req: crate::model::instance_group_managers::DeleteRequest,
3282        _options: crate::RequestOptions,
3283    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3284    {
3285        gaxi::unimplemented::unimplemented_stub()
3286    }
3287
3288    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3289    fn delete_instances(
3290        &self,
3291        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3292        _options: crate::RequestOptions,
3293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3294    {
3295        gaxi::unimplemented::unimplemented_stub()
3296    }
3297
3298    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3299    fn delete_per_instance_configs(
3300        &self,
3301        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3302        _options: crate::RequestOptions,
3303    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3304    {
3305        gaxi::unimplemented::unimplemented_stub()
3306    }
3307
3308    /// Implements [super::client::InstanceGroupManagers::get].
3309    fn get(
3310        &self,
3311        _req: crate::model::instance_group_managers::GetRequest,
3312        _options: crate::RequestOptions,
3313    ) -> impl std::future::Future<
3314        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3315    > + Send {
3316        gaxi::unimplemented::unimplemented_stub()
3317    }
3318
3319    /// Implements [super::client::InstanceGroupManagers::insert].
3320    fn insert(
3321        &self,
3322        _req: crate::model::instance_group_managers::InsertRequest,
3323        _options: crate::RequestOptions,
3324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3325    {
3326        gaxi::unimplemented::unimplemented_stub()
3327    }
3328
3329    /// Implements [super::client::InstanceGroupManagers::list].
3330    fn list(
3331        &self,
3332        _req: crate::model::instance_group_managers::ListRequest,
3333        _options: crate::RequestOptions,
3334    ) -> impl std::future::Future<
3335        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3336    > + Send {
3337        gaxi::unimplemented::unimplemented_stub()
3338    }
3339
3340    /// Implements [super::client::InstanceGroupManagers::list_errors].
3341    fn list_errors(
3342        &self,
3343        _req: crate::model::instance_group_managers::ListErrorsRequest,
3344        _options: crate::RequestOptions,
3345    ) -> impl std::future::Future<
3346        Output = crate::Result<
3347            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3348        >,
3349    > + Send {
3350        gaxi::unimplemented::unimplemented_stub()
3351    }
3352
3353    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3354    fn list_managed_instances(
3355        &self,
3356        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3357        _options: crate::RequestOptions,
3358    ) -> impl std::future::Future<
3359        Output = crate::Result<
3360            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3361        >,
3362    > + Send {
3363        gaxi::unimplemented::unimplemented_stub()
3364    }
3365
3366    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3367    fn list_per_instance_configs(
3368        &self,
3369        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3370        _options: crate::RequestOptions,
3371    ) -> impl std::future::Future<
3372        Output = crate::Result<
3373            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3374        >,
3375    > + Send {
3376        gaxi::unimplemented::unimplemented_stub()
3377    }
3378
3379    /// Implements [super::client::InstanceGroupManagers::patch].
3380    fn patch(
3381        &self,
3382        _req: crate::model::instance_group_managers::PatchRequest,
3383        _options: crate::RequestOptions,
3384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3385    {
3386        gaxi::unimplemented::unimplemented_stub()
3387    }
3388
3389    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3390    fn patch_per_instance_configs(
3391        &self,
3392        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3393        _options: crate::RequestOptions,
3394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3395    {
3396        gaxi::unimplemented::unimplemented_stub()
3397    }
3398
3399    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3400    fn recreate_instances(
3401        &self,
3402        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3403        _options: crate::RequestOptions,
3404    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3405    {
3406        gaxi::unimplemented::unimplemented_stub()
3407    }
3408
3409    /// Implements [super::client::InstanceGroupManagers::resize].
3410    fn resize(
3411        &self,
3412        _req: crate::model::instance_group_managers::ResizeRequest,
3413        _options: crate::RequestOptions,
3414    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3415    {
3416        gaxi::unimplemented::unimplemented_stub()
3417    }
3418
3419    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3420    fn resume_instances(
3421        &self,
3422        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3423        _options: crate::RequestOptions,
3424    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3425    {
3426        gaxi::unimplemented::unimplemented_stub()
3427    }
3428
3429    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3430    fn set_instance_template(
3431        &self,
3432        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3433        _options: crate::RequestOptions,
3434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3435    {
3436        gaxi::unimplemented::unimplemented_stub()
3437    }
3438
3439    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3440    fn set_target_pools(
3441        &self,
3442        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3443        _options: crate::RequestOptions,
3444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3445    {
3446        gaxi::unimplemented::unimplemented_stub()
3447    }
3448
3449    /// Implements [super::client::InstanceGroupManagers::start_instances].
3450    fn start_instances(
3451        &self,
3452        _req: crate::model::instance_group_managers::StartInstancesRequest,
3453        _options: crate::RequestOptions,
3454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3455    {
3456        gaxi::unimplemented::unimplemented_stub()
3457    }
3458
3459    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3460    fn stop_instances(
3461        &self,
3462        _req: crate::model::instance_group_managers::StopInstancesRequest,
3463        _options: crate::RequestOptions,
3464    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3465    {
3466        gaxi::unimplemented::unimplemented_stub()
3467    }
3468
3469    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3470    fn suspend_instances(
3471        &self,
3472        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3473        _options: crate::RequestOptions,
3474    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3475    {
3476        gaxi::unimplemented::unimplemented_stub()
3477    }
3478
3479    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3480    fn update_per_instance_configs(
3481        &self,
3482        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3483        _options: crate::RequestOptions,
3484    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3485    {
3486        gaxi::unimplemented::unimplemented_stub()
3487    }
3488
3489    /// Implements [super::client::InstanceGroupManagers::get_operation].
3490    fn get_operation(
3491        &self,
3492        _req: crate::model::zone_operations::GetRequest,
3493        _options: crate::RequestOptions,
3494    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3495    {
3496        gaxi::unimplemented::unimplemented_stub()
3497    }
3498
3499    /// Returns the polling error policy.
3500    ///
3501    /// When mocking, this method is typically irrelevant. Do not try to verify
3502    /// it is called by your mocks.
3503    fn get_polling_error_policy(
3504        &self,
3505        _options: &crate::RequestOptions,
3506    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3507        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3508    }
3509
3510    /// Returns the polling backoff policy.
3511    ///
3512    /// When mocking, this method is typically irrelevant. Do not try to verify
3513    /// it is called by your mocks.
3514    fn get_polling_backoff_policy(
3515        &self,
3516        _options: &crate::RequestOptions,
3517    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3518        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3519    }
3520}
3521
3522/// Defines the trait used to implement [super::client::InstanceGroups].
3523///
3524/// Application developers may need to implement this trait to mock
3525/// `client::InstanceGroups`.  In other use-cases, application developers only
3526/// use `client::InstanceGroups` and need not be concerned with this trait or
3527/// its implementations.
3528///
3529/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3530/// too. To avoid breaking applications the trait provides a default
3531/// implementation of each method. Most of these implementations just return an
3532/// error.
3533#[cfg(feature = "instance-groups")]
3534#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3535pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3536    /// Implements [super::client::InstanceGroups::add_instances].
3537    fn add_instances(
3538        &self,
3539        _req: crate::model::instance_groups::AddInstancesRequest,
3540        _options: crate::RequestOptions,
3541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3542    {
3543        gaxi::unimplemented::unimplemented_stub()
3544    }
3545
3546    /// Implements [super::client::InstanceGroups::aggregated_list].
3547    fn aggregated_list(
3548        &self,
3549        _req: crate::model::instance_groups::AggregatedListRequest,
3550        _options: crate::RequestOptions,
3551    ) -> impl std::future::Future<
3552        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3553    > + Send {
3554        gaxi::unimplemented::unimplemented_stub()
3555    }
3556
3557    /// Implements [super::client::InstanceGroups::delete].
3558    fn delete(
3559        &self,
3560        _req: crate::model::instance_groups::DeleteRequest,
3561        _options: crate::RequestOptions,
3562    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3563    {
3564        gaxi::unimplemented::unimplemented_stub()
3565    }
3566
3567    /// Implements [super::client::InstanceGroups::get].
3568    fn get(
3569        &self,
3570        _req: crate::model::instance_groups::GetRequest,
3571        _options: crate::RequestOptions,
3572    ) -> impl std::future::Future<
3573        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3574    > + Send {
3575        gaxi::unimplemented::unimplemented_stub()
3576    }
3577
3578    /// Implements [super::client::InstanceGroups::insert].
3579    fn insert(
3580        &self,
3581        _req: crate::model::instance_groups::InsertRequest,
3582        _options: crate::RequestOptions,
3583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3584    {
3585        gaxi::unimplemented::unimplemented_stub()
3586    }
3587
3588    /// Implements [super::client::InstanceGroups::list].
3589    fn list(
3590        &self,
3591        _req: crate::model::instance_groups::ListRequest,
3592        _options: crate::RequestOptions,
3593    ) -> impl std::future::Future<
3594        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3595    > + Send {
3596        gaxi::unimplemented::unimplemented_stub()
3597    }
3598
3599    /// Implements [super::client::InstanceGroups::list_instances].
3600    fn list_instances(
3601        &self,
3602        _req: crate::model::instance_groups::ListInstancesRequest,
3603        _options: crate::RequestOptions,
3604    ) -> impl std::future::Future<
3605        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3606    > + Send {
3607        gaxi::unimplemented::unimplemented_stub()
3608    }
3609
3610    /// Implements [super::client::InstanceGroups::remove_instances].
3611    fn remove_instances(
3612        &self,
3613        _req: crate::model::instance_groups::RemoveInstancesRequest,
3614        _options: crate::RequestOptions,
3615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3616    {
3617        gaxi::unimplemented::unimplemented_stub()
3618    }
3619
3620    /// Implements [super::client::InstanceGroups::set_named_ports].
3621    fn set_named_ports(
3622        &self,
3623        _req: crate::model::instance_groups::SetNamedPortsRequest,
3624        _options: crate::RequestOptions,
3625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3626    {
3627        gaxi::unimplemented::unimplemented_stub()
3628    }
3629
3630    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3631    fn test_iam_permissions(
3632        &self,
3633        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3634        _options: crate::RequestOptions,
3635    ) -> impl std::future::Future<
3636        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3637    > + Send {
3638        gaxi::unimplemented::unimplemented_stub()
3639    }
3640
3641    /// Implements [super::client::InstanceGroups::get_operation].
3642    fn get_operation(
3643        &self,
3644        _req: crate::model::zone_operations::GetRequest,
3645        _options: crate::RequestOptions,
3646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3647    {
3648        gaxi::unimplemented::unimplemented_stub()
3649    }
3650
3651    /// Returns the polling error policy.
3652    ///
3653    /// When mocking, this method is typically irrelevant. Do not try to verify
3654    /// it is called by your mocks.
3655    fn get_polling_error_policy(
3656        &self,
3657        _options: &crate::RequestOptions,
3658    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3659        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3660    }
3661
3662    /// Returns the polling backoff policy.
3663    ///
3664    /// When mocking, this method is typically irrelevant. Do not try to verify
3665    /// it is called by your mocks.
3666    fn get_polling_backoff_policy(
3667        &self,
3668        _options: &crate::RequestOptions,
3669    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3670        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3671    }
3672}
3673
3674/// Defines the trait used to implement [super::client::InstanceSettings].
3675///
3676/// Application developers may need to implement this trait to mock
3677/// `client::InstanceSettings`.  In other use-cases, application developers only
3678/// use `client::InstanceSettings` and need not be concerned with this trait or
3679/// its implementations.
3680///
3681/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3682/// too. To avoid breaking applications the trait provides a default
3683/// implementation of each method. Most of these implementations just return an
3684/// error.
3685#[cfg(feature = "instance-settings")]
3686#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
3687pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
3688    /// Implements [super::client::InstanceSettings::get].
3689    fn get(
3690        &self,
3691        _req: crate::model::instance_settings::GetRequest,
3692        _options: crate::RequestOptions,
3693    ) -> impl std::future::Future<
3694        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
3695    > + Send {
3696        gaxi::unimplemented::unimplemented_stub()
3697    }
3698
3699    /// Implements [super::client::InstanceSettings::patch].
3700    fn patch(
3701        &self,
3702        _req: crate::model::instance_settings::PatchRequest,
3703        _options: crate::RequestOptions,
3704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3705    {
3706        gaxi::unimplemented::unimplemented_stub()
3707    }
3708
3709    /// Implements [super::client::InstanceSettings::get_operation].
3710    fn get_operation(
3711        &self,
3712        _req: crate::model::zone_operations::GetRequest,
3713        _options: crate::RequestOptions,
3714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3715    {
3716        gaxi::unimplemented::unimplemented_stub()
3717    }
3718
3719    /// Returns the polling error policy.
3720    ///
3721    /// When mocking, this method is typically irrelevant. Do not try to verify
3722    /// it is called by your mocks.
3723    fn get_polling_error_policy(
3724        &self,
3725        _options: &crate::RequestOptions,
3726    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3727        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3728    }
3729
3730    /// Returns the polling backoff policy.
3731    ///
3732    /// When mocking, this method is typically irrelevant. Do not try to verify
3733    /// it is called by your mocks.
3734    fn get_polling_backoff_policy(
3735        &self,
3736        _options: &crate::RequestOptions,
3737    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3738        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3739    }
3740}
3741
3742/// Defines the trait used to implement [super::client::InstanceTemplates].
3743///
3744/// Application developers may need to implement this trait to mock
3745/// `client::InstanceTemplates`.  In other use-cases, application developers only
3746/// use `client::InstanceTemplates` and need not be concerned with this trait or
3747/// its implementations.
3748///
3749/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3750/// too. To avoid breaking applications the trait provides a default
3751/// implementation of each method. Most of these implementations just return an
3752/// error.
3753#[cfg(feature = "instance-templates")]
3754#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
3755pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
3756    /// Implements [super::client::InstanceTemplates::aggregated_list].
3757    fn aggregated_list(
3758        &self,
3759        _req: crate::model::instance_templates::AggregatedListRequest,
3760        _options: crate::RequestOptions,
3761    ) -> impl std::future::Future<
3762        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
3763    > + Send {
3764        gaxi::unimplemented::unimplemented_stub()
3765    }
3766
3767    /// Implements [super::client::InstanceTemplates::delete].
3768    fn delete(
3769        &self,
3770        _req: crate::model::instance_templates::DeleteRequest,
3771        _options: crate::RequestOptions,
3772    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3773    {
3774        gaxi::unimplemented::unimplemented_stub()
3775    }
3776
3777    /// Implements [super::client::InstanceTemplates::get].
3778    fn get(
3779        &self,
3780        _req: crate::model::instance_templates::GetRequest,
3781        _options: crate::RequestOptions,
3782    ) -> impl std::future::Future<
3783        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
3784    > + Send {
3785        gaxi::unimplemented::unimplemented_stub()
3786    }
3787
3788    /// Implements [super::client::InstanceTemplates::get_iam_policy].
3789    fn get_iam_policy(
3790        &self,
3791        _req: crate::model::instance_templates::GetIamPolicyRequest,
3792        _options: crate::RequestOptions,
3793    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3794    {
3795        gaxi::unimplemented::unimplemented_stub()
3796    }
3797
3798    /// Implements [super::client::InstanceTemplates::insert].
3799    fn insert(
3800        &self,
3801        _req: crate::model::instance_templates::InsertRequest,
3802        _options: crate::RequestOptions,
3803    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3804    {
3805        gaxi::unimplemented::unimplemented_stub()
3806    }
3807
3808    /// Implements [super::client::InstanceTemplates::list].
3809    fn list(
3810        &self,
3811        _req: crate::model::instance_templates::ListRequest,
3812        _options: crate::RequestOptions,
3813    ) -> impl std::future::Future<
3814        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
3815    > + Send {
3816        gaxi::unimplemented::unimplemented_stub()
3817    }
3818
3819    /// Implements [super::client::InstanceTemplates::set_iam_policy].
3820    fn set_iam_policy(
3821        &self,
3822        _req: crate::model::instance_templates::SetIamPolicyRequest,
3823        _options: crate::RequestOptions,
3824    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3825    {
3826        gaxi::unimplemented::unimplemented_stub()
3827    }
3828
3829    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
3830    fn test_iam_permissions(
3831        &self,
3832        _req: crate::model::instance_templates::TestIamPermissionsRequest,
3833        _options: crate::RequestOptions,
3834    ) -> impl std::future::Future<
3835        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3836    > + Send {
3837        gaxi::unimplemented::unimplemented_stub()
3838    }
3839
3840    /// Implements [super::client::InstanceTemplates::get_operation].
3841    fn get_operation(
3842        &self,
3843        _req: crate::model::global_operations::GetRequest,
3844        _options: crate::RequestOptions,
3845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3846    {
3847        gaxi::unimplemented::unimplemented_stub()
3848    }
3849
3850    /// Returns the polling error policy.
3851    ///
3852    /// When mocking, this method is typically irrelevant. Do not try to verify
3853    /// it is called by your mocks.
3854    fn get_polling_error_policy(
3855        &self,
3856        _options: &crate::RequestOptions,
3857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3858        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3859    }
3860
3861    /// Returns the polling backoff policy.
3862    ///
3863    /// When mocking, this method is typically irrelevant. Do not try to verify
3864    /// it is called by your mocks.
3865    fn get_polling_backoff_policy(
3866        &self,
3867        _options: &crate::RequestOptions,
3868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3869        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3870    }
3871}
3872
3873/// Defines the trait used to implement [super::client::Instances].
3874///
3875/// Application developers may need to implement this trait to mock
3876/// `client::Instances`.  In other use-cases, application developers only
3877/// use `client::Instances` and need not be concerned with this trait or
3878/// its implementations.
3879///
3880/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3881/// too. To avoid breaking applications the trait provides a default
3882/// implementation of each method. Most of these implementations just return an
3883/// error.
3884#[cfg(feature = "instances")]
3885#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
3886pub trait Instances: std::fmt::Debug + Send + Sync {
3887    /// Implements [super::client::Instances::add_access_config].
3888    fn add_access_config(
3889        &self,
3890        _req: crate::model::instances::AddAccessConfigRequest,
3891        _options: crate::RequestOptions,
3892    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3893    {
3894        gaxi::unimplemented::unimplemented_stub()
3895    }
3896
3897    /// Implements [super::client::Instances::add_network_interface].
3898    fn add_network_interface(
3899        &self,
3900        _req: crate::model::instances::AddNetworkInterfaceRequest,
3901        _options: crate::RequestOptions,
3902    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3903    {
3904        gaxi::unimplemented::unimplemented_stub()
3905    }
3906
3907    /// Implements [super::client::Instances::add_resource_policies].
3908    fn add_resource_policies(
3909        &self,
3910        _req: crate::model::instances::AddResourcePoliciesRequest,
3911        _options: crate::RequestOptions,
3912    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3913    {
3914        gaxi::unimplemented::unimplemented_stub()
3915    }
3916
3917    /// Implements [super::client::Instances::aggregated_list].
3918    fn aggregated_list(
3919        &self,
3920        _req: crate::model::instances::AggregatedListRequest,
3921        _options: crate::RequestOptions,
3922    ) -> impl std::future::Future<
3923        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
3924    > + Send {
3925        gaxi::unimplemented::unimplemented_stub()
3926    }
3927
3928    /// Implements [super::client::Instances::attach_disk].
3929    fn attach_disk(
3930        &self,
3931        _req: crate::model::instances::AttachDiskRequest,
3932        _options: crate::RequestOptions,
3933    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3934    {
3935        gaxi::unimplemented::unimplemented_stub()
3936    }
3937
3938    /// Implements [super::client::Instances::bulk_insert].
3939    fn bulk_insert(
3940        &self,
3941        _req: crate::model::instances::BulkInsertRequest,
3942        _options: crate::RequestOptions,
3943    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3944    {
3945        gaxi::unimplemented::unimplemented_stub()
3946    }
3947
3948    /// Implements [super::client::Instances::delete].
3949    fn delete(
3950        &self,
3951        _req: crate::model::instances::DeleteRequest,
3952        _options: crate::RequestOptions,
3953    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3954    {
3955        gaxi::unimplemented::unimplemented_stub()
3956    }
3957
3958    /// Implements [super::client::Instances::delete_access_config].
3959    fn delete_access_config(
3960        &self,
3961        _req: crate::model::instances::DeleteAccessConfigRequest,
3962        _options: crate::RequestOptions,
3963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3964    {
3965        gaxi::unimplemented::unimplemented_stub()
3966    }
3967
3968    /// Implements [super::client::Instances::delete_network_interface].
3969    fn delete_network_interface(
3970        &self,
3971        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
3972        _options: crate::RequestOptions,
3973    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3974    {
3975        gaxi::unimplemented::unimplemented_stub()
3976    }
3977
3978    /// Implements [super::client::Instances::detach_disk].
3979    fn detach_disk(
3980        &self,
3981        _req: crate::model::instances::DetachDiskRequest,
3982        _options: crate::RequestOptions,
3983    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3984    {
3985        gaxi::unimplemented::unimplemented_stub()
3986    }
3987
3988    /// Implements [super::client::Instances::get].
3989    fn get(
3990        &self,
3991        _req: crate::model::instances::GetRequest,
3992        _options: crate::RequestOptions,
3993    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
3994    {
3995        gaxi::unimplemented::unimplemented_stub()
3996    }
3997
3998    /// Implements [super::client::Instances::get_effective_firewalls].
3999    fn get_effective_firewalls(
4000        &self,
4001        _req: crate::model::instances::GetEffectiveFirewallsRequest,
4002        _options: crate::RequestOptions,
4003    ) -> impl std::future::Future<
4004        Output = crate::Result<
4005            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
4006        >,
4007    > + Send {
4008        gaxi::unimplemented::unimplemented_stub()
4009    }
4010
4011    /// Implements [super::client::Instances::get_guest_attributes].
4012    fn get_guest_attributes(
4013        &self,
4014        _req: crate::model::instances::GetGuestAttributesRequest,
4015        _options: crate::RequestOptions,
4016    ) -> impl std::future::Future<
4017        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
4018    > + Send {
4019        gaxi::unimplemented::unimplemented_stub()
4020    }
4021
4022    /// Implements [super::client::Instances::get_iam_policy].
4023    fn get_iam_policy(
4024        &self,
4025        _req: crate::model::instances::GetIamPolicyRequest,
4026        _options: crate::RequestOptions,
4027    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4028    {
4029        gaxi::unimplemented::unimplemented_stub()
4030    }
4031
4032    /// Implements [super::client::Instances::get_screenshot].
4033    fn get_screenshot(
4034        &self,
4035        _req: crate::model::instances::GetScreenshotRequest,
4036        _options: crate::RequestOptions,
4037    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
4038    {
4039        gaxi::unimplemented::unimplemented_stub()
4040    }
4041
4042    /// Implements [super::client::Instances::get_serial_port_output].
4043    fn get_serial_port_output(
4044        &self,
4045        _req: crate::model::instances::GetSerialPortOutputRequest,
4046        _options: crate::RequestOptions,
4047    ) -> impl std::future::Future<
4048        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
4049    > + Send {
4050        gaxi::unimplemented::unimplemented_stub()
4051    }
4052
4053    /// Implements [super::client::Instances::get_shielded_instance_identity].
4054    fn get_shielded_instance_identity(
4055        &self,
4056        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
4057        _options: crate::RequestOptions,
4058    ) -> impl std::future::Future<
4059        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
4060    > + Send {
4061        gaxi::unimplemented::unimplemented_stub()
4062    }
4063
4064    /// Implements [super::client::Instances::insert].
4065    fn insert(
4066        &self,
4067        _req: crate::model::instances::InsertRequest,
4068        _options: crate::RequestOptions,
4069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4070    {
4071        gaxi::unimplemented::unimplemented_stub()
4072    }
4073
4074    /// Implements [super::client::Instances::list].
4075    fn list(
4076        &self,
4077        _req: crate::model::instances::ListRequest,
4078        _options: crate::RequestOptions,
4079    ) -> impl std::future::Future<
4080        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
4081    > + Send {
4082        gaxi::unimplemented::unimplemented_stub()
4083    }
4084
4085    /// Implements [super::client::Instances::list_referrers].
4086    fn list_referrers(
4087        &self,
4088        _req: crate::model::instances::ListReferrersRequest,
4089        _options: crate::RequestOptions,
4090    ) -> impl std::future::Future<
4091        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
4092    > + Send {
4093        gaxi::unimplemented::unimplemented_stub()
4094    }
4095
4096    /// Implements [super::client::Instances::perform_maintenance].
4097    fn perform_maintenance(
4098        &self,
4099        _req: crate::model::instances::PerformMaintenanceRequest,
4100        _options: crate::RequestOptions,
4101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4102    {
4103        gaxi::unimplemented::unimplemented_stub()
4104    }
4105
4106    /// Implements [super::client::Instances::remove_resource_policies].
4107    fn remove_resource_policies(
4108        &self,
4109        _req: crate::model::instances::RemoveResourcePoliciesRequest,
4110        _options: crate::RequestOptions,
4111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4112    {
4113        gaxi::unimplemented::unimplemented_stub()
4114    }
4115
4116    /// Implements [super::client::Instances::report_host_as_faulty].
4117    fn report_host_as_faulty(
4118        &self,
4119        _req: crate::model::instances::ReportHostAsFaultyRequest,
4120        _options: crate::RequestOptions,
4121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4122    {
4123        gaxi::unimplemented::unimplemented_stub()
4124    }
4125
4126    /// Implements [super::client::Instances::reset].
4127    fn reset(
4128        &self,
4129        _req: crate::model::instances::ResetRequest,
4130        _options: crate::RequestOptions,
4131    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4132    {
4133        gaxi::unimplemented::unimplemented_stub()
4134    }
4135
4136    /// Implements [super::client::Instances::resume].
4137    fn resume(
4138        &self,
4139        _req: crate::model::instances::ResumeRequest,
4140        _options: crate::RequestOptions,
4141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4142    {
4143        gaxi::unimplemented::unimplemented_stub()
4144    }
4145
4146    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4147    fn send_diagnostic_interrupt(
4148        &self,
4149        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4150        _options: crate::RequestOptions,
4151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4152        gaxi::unimplemented::unimplemented_stub()
4153    }
4154
4155    /// Implements [super::client::Instances::set_deletion_protection].
4156    fn set_deletion_protection(
4157        &self,
4158        _req: crate::model::instances::SetDeletionProtectionRequest,
4159        _options: crate::RequestOptions,
4160    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4161    {
4162        gaxi::unimplemented::unimplemented_stub()
4163    }
4164
4165    /// Implements [super::client::Instances::set_disk_auto_delete].
4166    fn set_disk_auto_delete(
4167        &self,
4168        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4169        _options: crate::RequestOptions,
4170    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4171    {
4172        gaxi::unimplemented::unimplemented_stub()
4173    }
4174
4175    /// Implements [super::client::Instances::set_iam_policy].
4176    fn set_iam_policy(
4177        &self,
4178        _req: crate::model::instances::SetIamPolicyRequest,
4179        _options: crate::RequestOptions,
4180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4181    {
4182        gaxi::unimplemented::unimplemented_stub()
4183    }
4184
4185    /// Implements [super::client::Instances::set_labels].
4186    fn set_labels(
4187        &self,
4188        _req: crate::model::instances::SetLabelsRequest,
4189        _options: crate::RequestOptions,
4190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4191    {
4192        gaxi::unimplemented::unimplemented_stub()
4193    }
4194
4195    /// Implements [super::client::Instances::set_machine_resources].
4196    fn set_machine_resources(
4197        &self,
4198        _req: crate::model::instances::SetMachineResourcesRequest,
4199        _options: crate::RequestOptions,
4200    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4201    {
4202        gaxi::unimplemented::unimplemented_stub()
4203    }
4204
4205    /// Implements [super::client::Instances::set_machine_type].
4206    fn set_machine_type(
4207        &self,
4208        _req: crate::model::instances::SetMachineTypeRequest,
4209        _options: crate::RequestOptions,
4210    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4211    {
4212        gaxi::unimplemented::unimplemented_stub()
4213    }
4214
4215    /// Implements [super::client::Instances::set_metadata].
4216    fn set_metadata(
4217        &self,
4218        _req: crate::model::instances::SetMetadataRequest,
4219        _options: crate::RequestOptions,
4220    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4221    {
4222        gaxi::unimplemented::unimplemented_stub()
4223    }
4224
4225    /// Implements [super::client::Instances::set_min_cpu_platform].
4226    fn set_min_cpu_platform(
4227        &self,
4228        _req: crate::model::instances::SetMinCpuPlatformRequest,
4229        _options: crate::RequestOptions,
4230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4231    {
4232        gaxi::unimplemented::unimplemented_stub()
4233    }
4234
4235    /// Implements [super::client::Instances::set_name].
4236    fn set_name(
4237        &self,
4238        _req: crate::model::instances::SetNameRequest,
4239        _options: crate::RequestOptions,
4240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4241    {
4242        gaxi::unimplemented::unimplemented_stub()
4243    }
4244
4245    /// Implements [super::client::Instances::set_scheduling].
4246    fn set_scheduling(
4247        &self,
4248        _req: crate::model::instances::SetSchedulingRequest,
4249        _options: crate::RequestOptions,
4250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4251    {
4252        gaxi::unimplemented::unimplemented_stub()
4253    }
4254
4255    /// Implements [super::client::Instances::set_security_policy].
4256    fn set_security_policy(
4257        &self,
4258        _req: crate::model::instances::SetSecurityPolicyRequest,
4259        _options: crate::RequestOptions,
4260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4261    {
4262        gaxi::unimplemented::unimplemented_stub()
4263    }
4264
4265    /// Implements [super::client::Instances::set_service_account].
4266    fn set_service_account(
4267        &self,
4268        _req: crate::model::instances::SetServiceAccountRequest,
4269        _options: crate::RequestOptions,
4270    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4271    {
4272        gaxi::unimplemented::unimplemented_stub()
4273    }
4274
4275    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4276    fn set_shielded_instance_integrity_policy(
4277        &self,
4278        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4279        _options: crate::RequestOptions,
4280    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4281    {
4282        gaxi::unimplemented::unimplemented_stub()
4283    }
4284
4285    /// Implements [super::client::Instances::set_tags].
4286    fn set_tags(
4287        &self,
4288        _req: crate::model::instances::SetTagsRequest,
4289        _options: crate::RequestOptions,
4290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4291    {
4292        gaxi::unimplemented::unimplemented_stub()
4293    }
4294
4295    /// Implements [super::client::Instances::simulate_maintenance_event].
4296    fn simulate_maintenance_event(
4297        &self,
4298        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4299        _options: crate::RequestOptions,
4300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4301    {
4302        gaxi::unimplemented::unimplemented_stub()
4303    }
4304
4305    /// Implements [super::client::Instances::start].
4306    fn start(
4307        &self,
4308        _req: crate::model::instances::StartRequest,
4309        _options: crate::RequestOptions,
4310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4311    {
4312        gaxi::unimplemented::unimplemented_stub()
4313    }
4314
4315    /// Implements [super::client::Instances::start_with_encryption_key].
4316    fn start_with_encryption_key(
4317        &self,
4318        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4319        _options: crate::RequestOptions,
4320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4321    {
4322        gaxi::unimplemented::unimplemented_stub()
4323    }
4324
4325    /// Implements [super::client::Instances::stop].
4326    fn stop(
4327        &self,
4328        _req: crate::model::instances::StopRequest,
4329        _options: crate::RequestOptions,
4330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4331    {
4332        gaxi::unimplemented::unimplemented_stub()
4333    }
4334
4335    /// Implements [super::client::Instances::suspend].
4336    fn suspend(
4337        &self,
4338        _req: crate::model::instances::SuspendRequest,
4339        _options: crate::RequestOptions,
4340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4341    {
4342        gaxi::unimplemented::unimplemented_stub()
4343    }
4344
4345    /// Implements [super::client::Instances::test_iam_permissions].
4346    fn test_iam_permissions(
4347        &self,
4348        _req: crate::model::instances::TestIamPermissionsRequest,
4349        _options: crate::RequestOptions,
4350    ) -> impl std::future::Future<
4351        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4352    > + Send {
4353        gaxi::unimplemented::unimplemented_stub()
4354    }
4355
4356    /// Implements [super::client::Instances::update].
4357    fn update(
4358        &self,
4359        _req: crate::model::instances::UpdateRequest,
4360        _options: crate::RequestOptions,
4361    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4362    {
4363        gaxi::unimplemented::unimplemented_stub()
4364    }
4365
4366    /// Implements [super::client::Instances::update_access_config].
4367    fn update_access_config(
4368        &self,
4369        _req: crate::model::instances::UpdateAccessConfigRequest,
4370        _options: crate::RequestOptions,
4371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4372    {
4373        gaxi::unimplemented::unimplemented_stub()
4374    }
4375
4376    /// Implements [super::client::Instances::update_display_device].
4377    fn update_display_device(
4378        &self,
4379        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4380        _options: crate::RequestOptions,
4381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4382    {
4383        gaxi::unimplemented::unimplemented_stub()
4384    }
4385
4386    /// Implements [super::client::Instances::update_network_interface].
4387    fn update_network_interface(
4388        &self,
4389        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4390        _options: crate::RequestOptions,
4391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4392    {
4393        gaxi::unimplemented::unimplemented_stub()
4394    }
4395
4396    /// Implements [super::client::Instances::update_shielded_instance_config].
4397    fn update_shielded_instance_config(
4398        &self,
4399        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4400        _options: crate::RequestOptions,
4401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4402    {
4403        gaxi::unimplemented::unimplemented_stub()
4404    }
4405
4406    /// Implements [super::client::Instances::get_operation].
4407    fn get_operation(
4408        &self,
4409        _req: crate::model::zone_operations::GetRequest,
4410        _options: crate::RequestOptions,
4411    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4412    {
4413        gaxi::unimplemented::unimplemented_stub()
4414    }
4415
4416    /// Returns the polling error policy.
4417    ///
4418    /// When mocking, this method is typically irrelevant. Do not try to verify
4419    /// it is called by your mocks.
4420    fn get_polling_error_policy(
4421        &self,
4422        _options: &crate::RequestOptions,
4423    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4424        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4425    }
4426
4427    /// Returns the polling backoff policy.
4428    ///
4429    /// When mocking, this method is typically irrelevant. Do not try to verify
4430    /// it is called by your mocks.
4431    fn get_polling_backoff_policy(
4432        &self,
4433        _options: &crate::RequestOptions,
4434    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4435        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4436    }
4437}
4438
4439/// Defines the trait used to implement [super::client::InstantSnapshotGroups].
4440///
4441/// Application developers may need to implement this trait to mock
4442/// `client::InstantSnapshotGroups`.  In other use-cases, application developers only
4443/// use `client::InstantSnapshotGroups` and need not be concerned with this trait or
4444/// its implementations.
4445///
4446/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4447/// too. To avoid breaking applications the trait provides a default
4448/// implementation of each method. Most of these implementations just return an
4449/// error.
4450#[cfg(feature = "instant-snapshot-groups")]
4451#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshot-groups")))]
4452pub trait InstantSnapshotGroups: std::fmt::Debug + Send + Sync {
4453    /// Implements [super::client::InstantSnapshotGroups::delete].
4454    fn delete(
4455        &self,
4456        _req: crate::model::instant_snapshot_groups::DeleteRequest,
4457        _options: crate::RequestOptions,
4458    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4459    {
4460        gaxi::unimplemented::unimplemented_stub()
4461    }
4462
4463    /// Implements [super::client::InstantSnapshotGroups::get].
4464    fn get(
4465        &self,
4466        _req: crate::model::instant_snapshot_groups::GetRequest,
4467        _options: crate::RequestOptions,
4468    ) -> impl std::future::Future<
4469        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
4470    > + Send {
4471        gaxi::unimplemented::unimplemented_stub()
4472    }
4473
4474    /// Implements [super::client::InstantSnapshotGroups::get_iam_policy].
4475    fn get_iam_policy(
4476        &self,
4477        _req: crate::model::instant_snapshot_groups::GetIamPolicyRequest,
4478        _options: crate::RequestOptions,
4479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4480    {
4481        gaxi::unimplemented::unimplemented_stub()
4482    }
4483
4484    /// Implements [super::client::InstantSnapshotGroups::insert].
4485    fn insert(
4486        &self,
4487        _req: crate::model::instant_snapshot_groups::InsertRequest,
4488        _options: crate::RequestOptions,
4489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4490    {
4491        gaxi::unimplemented::unimplemented_stub()
4492    }
4493
4494    /// Implements [super::client::InstantSnapshotGroups::list].
4495    fn list(
4496        &self,
4497        _req: crate::model::instant_snapshot_groups::ListRequest,
4498        _options: crate::RequestOptions,
4499    ) -> impl std::future::Future<
4500        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
4501    > + Send {
4502        gaxi::unimplemented::unimplemented_stub()
4503    }
4504
4505    /// Implements [super::client::InstantSnapshotGroups::set_iam_policy].
4506    fn set_iam_policy(
4507        &self,
4508        _req: crate::model::instant_snapshot_groups::SetIamPolicyRequest,
4509        _options: crate::RequestOptions,
4510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4511    {
4512        gaxi::unimplemented::unimplemented_stub()
4513    }
4514
4515    /// Implements [super::client::InstantSnapshotGroups::test_iam_permissions].
4516    fn test_iam_permissions(
4517        &self,
4518        _req: crate::model::instant_snapshot_groups::TestIamPermissionsRequest,
4519        _options: crate::RequestOptions,
4520    ) -> impl std::future::Future<
4521        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4522    > + Send {
4523        gaxi::unimplemented::unimplemented_stub()
4524    }
4525
4526    /// Implements [super::client::InstantSnapshotGroups::get_operation].
4527    fn get_operation(
4528        &self,
4529        _req: crate::model::zone_operations::GetRequest,
4530        _options: crate::RequestOptions,
4531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4532    {
4533        gaxi::unimplemented::unimplemented_stub()
4534    }
4535
4536    /// Returns the polling error policy.
4537    ///
4538    /// When mocking, this method is typically irrelevant. Do not try to verify
4539    /// it is called by your mocks.
4540    fn get_polling_error_policy(
4541        &self,
4542        _options: &crate::RequestOptions,
4543    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4544        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4545    }
4546
4547    /// Returns the polling backoff policy.
4548    ///
4549    /// When mocking, this method is typically irrelevant. Do not try to verify
4550    /// it is called by your mocks.
4551    fn get_polling_backoff_policy(
4552        &self,
4553        _options: &crate::RequestOptions,
4554    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4555        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4556    }
4557}
4558
4559/// Defines the trait used to implement [super::client::InstantSnapshots].
4560///
4561/// Application developers may need to implement this trait to mock
4562/// `client::InstantSnapshots`.  In other use-cases, application developers only
4563/// use `client::InstantSnapshots` and need not be concerned with this trait or
4564/// its implementations.
4565///
4566/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4567/// too. To avoid breaking applications the trait provides a default
4568/// implementation of each method. Most of these implementations just return an
4569/// error.
4570#[cfg(feature = "instant-snapshots")]
4571#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4572pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4573    /// Implements [super::client::InstantSnapshots::aggregated_list].
4574    fn aggregated_list(
4575        &self,
4576        _req: crate::model::instant_snapshots::AggregatedListRequest,
4577        _options: crate::RequestOptions,
4578    ) -> impl std::future::Future<
4579        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4580    > + Send {
4581        gaxi::unimplemented::unimplemented_stub()
4582    }
4583
4584    /// Implements [super::client::InstantSnapshots::delete].
4585    fn delete(
4586        &self,
4587        _req: crate::model::instant_snapshots::DeleteRequest,
4588        _options: crate::RequestOptions,
4589    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4590    {
4591        gaxi::unimplemented::unimplemented_stub()
4592    }
4593
4594    /// Implements [super::client::InstantSnapshots::get].
4595    fn get(
4596        &self,
4597        _req: crate::model::instant_snapshots::GetRequest,
4598        _options: crate::RequestOptions,
4599    ) -> impl std::future::Future<
4600        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
4601    > + Send {
4602        gaxi::unimplemented::unimplemented_stub()
4603    }
4604
4605    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4606    fn get_iam_policy(
4607        &self,
4608        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4609        _options: crate::RequestOptions,
4610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4611    {
4612        gaxi::unimplemented::unimplemented_stub()
4613    }
4614
4615    /// Implements [super::client::InstantSnapshots::insert].
4616    fn insert(
4617        &self,
4618        _req: crate::model::instant_snapshots::InsertRequest,
4619        _options: crate::RequestOptions,
4620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4621    {
4622        gaxi::unimplemented::unimplemented_stub()
4623    }
4624
4625    /// Implements [super::client::InstantSnapshots::list].
4626    fn list(
4627        &self,
4628        _req: crate::model::instant_snapshots::ListRequest,
4629        _options: crate::RequestOptions,
4630    ) -> impl std::future::Future<
4631        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
4632    > + Send {
4633        gaxi::unimplemented::unimplemented_stub()
4634    }
4635
4636    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4637    fn set_iam_policy(
4638        &self,
4639        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4640        _options: crate::RequestOptions,
4641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4642    {
4643        gaxi::unimplemented::unimplemented_stub()
4644    }
4645
4646    /// Implements [super::client::InstantSnapshots::set_labels].
4647    fn set_labels(
4648        &self,
4649        _req: crate::model::instant_snapshots::SetLabelsRequest,
4650        _options: crate::RequestOptions,
4651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4652    {
4653        gaxi::unimplemented::unimplemented_stub()
4654    }
4655
4656    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4657    fn test_iam_permissions(
4658        &self,
4659        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4660        _options: crate::RequestOptions,
4661    ) -> impl std::future::Future<
4662        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4663    > + Send {
4664        gaxi::unimplemented::unimplemented_stub()
4665    }
4666
4667    /// Implements [super::client::InstantSnapshots::get_operation].
4668    fn get_operation(
4669        &self,
4670        _req: crate::model::zone_operations::GetRequest,
4671        _options: crate::RequestOptions,
4672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4673    {
4674        gaxi::unimplemented::unimplemented_stub()
4675    }
4676
4677    /// Returns the polling error policy.
4678    ///
4679    /// When mocking, this method is typically irrelevant. Do not try to verify
4680    /// it is called by your mocks.
4681    fn get_polling_error_policy(
4682        &self,
4683        _options: &crate::RequestOptions,
4684    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4685        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4686    }
4687
4688    /// Returns the polling backoff policy.
4689    ///
4690    /// When mocking, this method is typically irrelevant. Do not try to verify
4691    /// it is called by your mocks.
4692    fn get_polling_backoff_policy(
4693        &self,
4694        _options: &crate::RequestOptions,
4695    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4696        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4697    }
4698}
4699
4700/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
4701///
4702/// Application developers may need to implement this trait to mock
4703/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
4704/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
4705/// its implementations.
4706///
4707/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4708/// too. To avoid breaking applications the trait provides a default
4709/// implementation of each method. Most of these implementations just return an
4710/// error.
4711#[cfg(feature = "interconnect-attachment-groups")]
4712#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
4713pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
4714    /// Implements [super::client::InterconnectAttachmentGroups::delete].
4715    fn delete(
4716        &self,
4717        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
4718        _options: crate::RequestOptions,
4719    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4720    {
4721        gaxi::unimplemented::unimplemented_stub()
4722    }
4723
4724    /// Implements [super::client::InterconnectAttachmentGroups::get].
4725    fn get(
4726        &self,
4727        _req: crate::model::interconnect_attachment_groups::GetRequest,
4728        _options: crate::RequestOptions,
4729    ) -> impl std::future::Future<
4730        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
4731    > + Send {
4732        gaxi::unimplemented::unimplemented_stub()
4733    }
4734
4735    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
4736    fn get_iam_policy(
4737        &self,
4738        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
4739        _options: crate::RequestOptions,
4740    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4741    {
4742        gaxi::unimplemented::unimplemented_stub()
4743    }
4744
4745    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
4746    fn get_operational_status(
4747        &self,
4748        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
4749        _options: crate::RequestOptions,
4750    ) -> impl std::future::Future<
4751        Output = crate::Result<
4752            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
4753        >,
4754    > + Send {
4755        gaxi::unimplemented::unimplemented_stub()
4756    }
4757
4758    /// Implements [super::client::InterconnectAttachmentGroups::insert].
4759    fn insert(
4760        &self,
4761        _req: crate::model::interconnect_attachment_groups::InsertRequest,
4762        _options: crate::RequestOptions,
4763    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4764    {
4765        gaxi::unimplemented::unimplemented_stub()
4766    }
4767
4768    /// Implements [super::client::InterconnectAttachmentGroups::list].
4769    fn list(
4770        &self,
4771        _req: crate::model::interconnect_attachment_groups::ListRequest,
4772        _options: crate::RequestOptions,
4773    ) -> impl std::future::Future<
4774        Output = crate::Result<
4775            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
4776        >,
4777    > + Send {
4778        gaxi::unimplemented::unimplemented_stub()
4779    }
4780
4781    /// Implements [super::client::InterconnectAttachmentGroups::patch].
4782    fn patch(
4783        &self,
4784        _req: crate::model::interconnect_attachment_groups::PatchRequest,
4785        _options: crate::RequestOptions,
4786    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4787    {
4788        gaxi::unimplemented::unimplemented_stub()
4789    }
4790
4791    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
4792    fn set_iam_policy(
4793        &self,
4794        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
4795        _options: crate::RequestOptions,
4796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4797    {
4798        gaxi::unimplemented::unimplemented_stub()
4799    }
4800
4801    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
4802    fn test_iam_permissions(
4803        &self,
4804        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
4805        _options: crate::RequestOptions,
4806    ) -> impl std::future::Future<
4807        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4808    > + Send {
4809        gaxi::unimplemented::unimplemented_stub()
4810    }
4811
4812    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
4813    fn get_operation(
4814        &self,
4815        _req: crate::model::global_operations::GetRequest,
4816        _options: crate::RequestOptions,
4817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4818    {
4819        gaxi::unimplemented::unimplemented_stub()
4820    }
4821
4822    /// Returns the polling error policy.
4823    ///
4824    /// When mocking, this method is typically irrelevant. Do not try to verify
4825    /// it is called by your mocks.
4826    fn get_polling_error_policy(
4827        &self,
4828        _options: &crate::RequestOptions,
4829    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4830        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4831    }
4832
4833    /// Returns the polling backoff policy.
4834    ///
4835    /// When mocking, this method is typically irrelevant. Do not try to verify
4836    /// it is called by your mocks.
4837    fn get_polling_backoff_policy(
4838        &self,
4839        _options: &crate::RequestOptions,
4840    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4841        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4842    }
4843}
4844
4845/// Defines the trait used to implement [super::client::InterconnectAttachments].
4846///
4847/// Application developers may need to implement this trait to mock
4848/// `client::InterconnectAttachments`.  In other use-cases, application developers only
4849/// use `client::InterconnectAttachments` and need not be concerned with this trait or
4850/// its implementations.
4851///
4852/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4853/// too. To avoid breaking applications the trait provides a default
4854/// implementation of each method. Most of these implementations just return an
4855/// error.
4856#[cfg(feature = "interconnect-attachments")]
4857#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
4858pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
4859    /// Implements [super::client::InterconnectAttachments::aggregated_list].
4860    fn aggregated_list(
4861        &self,
4862        _req: crate::model::interconnect_attachments::AggregatedListRequest,
4863        _options: crate::RequestOptions,
4864    ) -> impl std::future::Future<
4865        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
4866    > + Send {
4867        gaxi::unimplemented::unimplemented_stub()
4868    }
4869
4870    /// Implements [super::client::InterconnectAttachments::delete].
4871    fn delete(
4872        &self,
4873        _req: crate::model::interconnect_attachments::DeleteRequest,
4874        _options: crate::RequestOptions,
4875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4876    {
4877        gaxi::unimplemented::unimplemented_stub()
4878    }
4879
4880    /// Implements [super::client::InterconnectAttachments::get].
4881    fn get(
4882        &self,
4883        _req: crate::model::interconnect_attachments::GetRequest,
4884        _options: crate::RequestOptions,
4885    ) -> impl std::future::Future<
4886        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
4887    > + Send {
4888        gaxi::unimplemented::unimplemented_stub()
4889    }
4890
4891    /// Implements [super::client::InterconnectAttachments::insert].
4892    fn insert(
4893        &self,
4894        _req: crate::model::interconnect_attachments::InsertRequest,
4895        _options: crate::RequestOptions,
4896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4897    {
4898        gaxi::unimplemented::unimplemented_stub()
4899    }
4900
4901    /// Implements [super::client::InterconnectAttachments::list].
4902    fn list(
4903        &self,
4904        _req: crate::model::interconnect_attachments::ListRequest,
4905        _options: crate::RequestOptions,
4906    ) -> impl std::future::Future<
4907        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
4908    > + Send {
4909        gaxi::unimplemented::unimplemented_stub()
4910    }
4911
4912    /// Implements [super::client::InterconnectAttachments::patch].
4913    fn patch(
4914        &self,
4915        _req: crate::model::interconnect_attachments::PatchRequest,
4916        _options: crate::RequestOptions,
4917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4918    {
4919        gaxi::unimplemented::unimplemented_stub()
4920    }
4921
4922    /// Implements [super::client::InterconnectAttachments::set_labels].
4923    fn set_labels(
4924        &self,
4925        _req: crate::model::interconnect_attachments::SetLabelsRequest,
4926        _options: crate::RequestOptions,
4927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4928    {
4929        gaxi::unimplemented::unimplemented_stub()
4930    }
4931
4932    /// Implements [super::client::InterconnectAttachments::get_operation].
4933    fn get_operation(
4934        &self,
4935        _req: crate::model::region_operations::GetRequest,
4936        _options: crate::RequestOptions,
4937    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4938    {
4939        gaxi::unimplemented::unimplemented_stub()
4940    }
4941
4942    /// Returns the polling error policy.
4943    ///
4944    /// When mocking, this method is typically irrelevant. Do not try to verify
4945    /// it is called by your mocks.
4946    fn get_polling_error_policy(
4947        &self,
4948        _options: &crate::RequestOptions,
4949    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4950        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4951    }
4952
4953    /// Returns the polling backoff policy.
4954    ///
4955    /// When mocking, this method is typically irrelevant. Do not try to verify
4956    /// it is called by your mocks.
4957    fn get_polling_backoff_policy(
4958        &self,
4959        _options: &crate::RequestOptions,
4960    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4961        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4962    }
4963}
4964
4965/// Defines the trait used to implement [super::client::InterconnectGroups].
4966///
4967/// Application developers may need to implement this trait to mock
4968/// `client::InterconnectGroups`.  In other use-cases, application developers only
4969/// use `client::InterconnectGroups` and need not be concerned with this trait or
4970/// its implementations.
4971///
4972/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4973/// too. To avoid breaking applications the trait provides a default
4974/// implementation of each method. Most of these implementations just return an
4975/// error.
4976#[cfg(feature = "interconnect-groups")]
4977#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
4978pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
4979    /// Implements [super::client::InterconnectGroups::create_members].
4980    fn create_members(
4981        &self,
4982        _req: crate::model::interconnect_groups::CreateMembersRequest,
4983        _options: crate::RequestOptions,
4984    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4985    {
4986        gaxi::unimplemented::unimplemented_stub()
4987    }
4988
4989    /// Implements [super::client::InterconnectGroups::delete].
4990    fn delete(
4991        &self,
4992        _req: crate::model::interconnect_groups::DeleteRequest,
4993        _options: crate::RequestOptions,
4994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4995    {
4996        gaxi::unimplemented::unimplemented_stub()
4997    }
4998
4999    /// Implements [super::client::InterconnectGroups::get].
5000    fn get(
5001        &self,
5002        _req: crate::model::interconnect_groups::GetRequest,
5003        _options: crate::RequestOptions,
5004    ) -> impl std::future::Future<
5005        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
5006    > + Send {
5007        gaxi::unimplemented::unimplemented_stub()
5008    }
5009
5010    /// Implements [super::client::InterconnectGroups::get_iam_policy].
5011    fn get_iam_policy(
5012        &self,
5013        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
5014        _options: crate::RequestOptions,
5015    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5016    {
5017        gaxi::unimplemented::unimplemented_stub()
5018    }
5019
5020    /// Implements [super::client::InterconnectGroups::get_operational_status].
5021    fn get_operational_status(
5022        &self,
5023        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
5024        _options: crate::RequestOptions,
5025    ) -> impl std::future::Future<
5026        Output = crate::Result<
5027            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
5028        >,
5029    > + Send {
5030        gaxi::unimplemented::unimplemented_stub()
5031    }
5032
5033    /// Implements [super::client::InterconnectGroups::insert].
5034    fn insert(
5035        &self,
5036        _req: crate::model::interconnect_groups::InsertRequest,
5037        _options: crate::RequestOptions,
5038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5039    {
5040        gaxi::unimplemented::unimplemented_stub()
5041    }
5042
5043    /// Implements [super::client::InterconnectGroups::list].
5044    fn list(
5045        &self,
5046        _req: crate::model::interconnect_groups::ListRequest,
5047        _options: crate::RequestOptions,
5048    ) -> impl std::future::Future<
5049        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
5050    > + Send {
5051        gaxi::unimplemented::unimplemented_stub()
5052    }
5053
5054    /// Implements [super::client::InterconnectGroups::patch].
5055    fn patch(
5056        &self,
5057        _req: crate::model::interconnect_groups::PatchRequest,
5058        _options: crate::RequestOptions,
5059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5060    {
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: crate::RequestOptions,
5069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5070    {
5071        gaxi::unimplemented::unimplemented_stub()
5072    }
5073
5074    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
5075    fn test_iam_permissions(
5076        &self,
5077        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
5078        _options: crate::RequestOptions,
5079    ) -> impl std::future::Future<
5080        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5081    > + Send {
5082        gaxi::unimplemented::unimplemented_stub()
5083    }
5084
5085    /// Implements [super::client::InterconnectGroups::get_operation].
5086    fn get_operation(
5087        &self,
5088        _req: crate::model::global_operations::GetRequest,
5089        _options: crate::RequestOptions,
5090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5091    {
5092        gaxi::unimplemented::unimplemented_stub()
5093    }
5094
5095    /// Returns the polling error policy.
5096    ///
5097    /// When mocking, this method is typically irrelevant. Do not try to verify
5098    /// it is called by your mocks.
5099    fn get_polling_error_policy(
5100        &self,
5101        _options: &crate::RequestOptions,
5102    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5103        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5104    }
5105
5106    /// Returns the polling backoff policy.
5107    ///
5108    /// When mocking, this method is typically irrelevant. Do not try to verify
5109    /// it is called by your mocks.
5110    fn get_polling_backoff_policy(
5111        &self,
5112        _options: &crate::RequestOptions,
5113    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5114        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5115    }
5116}
5117
5118/// Defines the trait used to implement [super::client::InterconnectLocations].
5119///
5120/// Application developers may need to implement this trait to mock
5121/// `client::InterconnectLocations`.  In other use-cases, application developers only
5122/// use `client::InterconnectLocations` and need not be concerned with this trait or
5123/// its implementations.
5124///
5125/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5126/// too. To avoid breaking applications the trait provides a default
5127/// implementation of each method. Most of these implementations just return an
5128/// error.
5129#[cfg(feature = "interconnect-locations")]
5130#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5131pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5132    /// Implements [super::client::InterconnectLocations::get].
5133    fn get(
5134        &self,
5135        _req: crate::model::interconnect_locations::GetRequest,
5136        _options: crate::RequestOptions,
5137    ) -> impl std::future::Future<
5138        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
5139    > + Send {
5140        gaxi::unimplemented::unimplemented_stub()
5141    }
5142
5143    /// Implements [super::client::InterconnectLocations::list].
5144    fn list(
5145        &self,
5146        _req: crate::model::interconnect_locations::ListRequest,
5147        _options: crate::RequestOptions,
5148    ) -> impl std::future::Future<
5149        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
5150    > + Send {
5151        gaxi::unimplemented::unimplemented_stub()
5152    }
5153}
5154
5155/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5156///
5157/// Application developers may need to implement this trait to mock
5158/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5159/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5160/// its implementations.
5161///
5162/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5163/// too. To avoid breaking applications the trait provides a default
5164/// implementation of each method. Most of these implementations just return an
5165/// error.
5166#[cfg(feature = "interconnect-remote-locations")]
5167#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5168pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5169    /// Implements [super::client::InterconnectRemoteLocations::get].
5170    fn get(
5171        &self,
5172        _req: crate::model::interconnect_remote_locations::GetRequest,
5173        _options: crate::RequestOptions,
5174    ) -> impl std::future::Future<
5175        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
5176    > + Send {
5177        gaxi::unimplemented::unimplemented_stub()
5178    }
5179
5180    /// Implements [super::client::InterconnectRemoteLocations::list].
5181    fn list(
5182        &self,
5183        _req: crate::model::interconnect_remote_locations::ListRequest,
5184        _options: crate::RequestOptions,
5185    ) -> impl std::future::Future<
5186        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
5187    > + Send {
5188        gaxi::unimplemented::unimplemented_stub()
5189    }
5190}
5191
5192/// Defines the trait used to implement [super::client::Interconnects].
5193///
5194/// Application developers may need to implement this trait to mock
5195/// `client::Interconnects`.  In other use-cases, application developers only
5196/// use `client::Interconnects` and need not be concerned with this trait or
5197/// its implementations.
5198///
5199/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5200/// too. To avoid breaking applications the trait provides a default
5201/// implementation of each method. Most of these implementations just return an
5202/// error.
5203#[cfg(feature = "interconnects")]
5204#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5205pub trait Interconnects: std::fmt::Debug + Send + Sync {
5206    /// Implements [super::client::Interconnects::delete].
5207    fn delete(
5208        &self,
5209        _req: crate::model::interconnects::DeleteRequest,
5210        _options: crate::RequestOptions,
5211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5212    {
5213        gaxi::unimplemented::unimplemented_stub()
5214    }
5215
5216    /// Implements [super::client::Interconnects::get].
5217    fn get(
5218        &self,
5219        _req: crate::model::interconnects::GetRequest,
5220        _options: crate::RequestOptions,
5221    ) -> impl std::future::Future<
5222        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
5223    > + Send {
5224        gaxi::unimplemented::unimplemented_stub()
5225    }
5226
5227    /// Implements [super::client::Interconnects::get_diagnostics].
5228    fn get_diagnostics(
5229        &self,
5230        _req: crate::model::interconnects::GetDiagnosticsRequest,
5231        _options: crate::RequestOptions,
5232    ) -> impl std::future::Future<
5233        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
5234    > + Send {
5235        gaxi::unimplemented::unimplemented_stub()
5236    }
5237
5238    /// Implements [super::client::Interconnects::get_macsec_config].
5239    fn get_macsec_config(
5240        &self,
5241        _req: crate::model::interconnects::GetMacsecConfigRequest,
5242        _options: crate::RequestOptions,
5243    ) -> impl std::future::Future<
5244        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5245    > + Send {
5246        gaxi::unimplemented::unimplemented_stub()
5247    }
5248
5249    /// Implements [super::client::Interconnects::insert].
5250    fn insert(
5251        &self,
5252        _req: crate::model::interconnects::InsertRequest,
5253        _options: crate::RequestOptions,
5254    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5255    {
5256        gaxi::unimplemented::unimplemented_stub()
5257    }
5258
5259    /// Implements [super::client::Interconnects::list].
5260    fn list(
5261        &self,
5262        _req: crate::model::interconnects::ListRequest,
5263        _options: crate::RequestOptions,
5264    ) -> impl std::future::Future<
5265        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5266    > + Send {
5267        gaxi::unimplemented::unimplemented_stub()
5268    }
5269
5270    /// Implements [super::client::Interconnects::patch].
5271    fn patch(
5272        &self,
5273        _req: crate::model::interconnects::PatchRequest,
5274        _options: crate::RequestOptions,
5275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5276    {
5277        gaxi::unimplemented::unimplemented_stub()
5278    }
5279
5280    /// Implements [super::client::Interconnects::set_labels].
5281    fn set_labels(
5282        &self,
5283        _req: crate::model::interconnects::SetLabelsRequest,
5284        _options: crate::RequestOptions,
5285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5286    {
5287        gaxi::unimplemented::unimplemented_stub()
5288    }
5289
5290    /// Implements [super::client::Interconnects::get_operation].
5291    fn get_operation(
5292        &self,
5293        _req: crate::model::global_operations::GetRequest,
5294        _options: crate::RequestOptions,
5295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5296    {
5297        gaxi::unimplemented::unimplemented_stub()
5298    }
5299
5300    /// Returns the polling error policy.
5301    ///
5302    /// When mocking, this method is typically irrelevant. Do not try to verify
5303    /// it is called by your mocks.
5304    fn get_polling_error_policy(
5305        &self,
5306        _options: &crate::RequestOptions,
5307    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5308        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5309    }
5310
5311    /// Returns the polling backoff policy.
5312    ///
5313    /// When mocking, this method is typically irrelevant. Do not try to verify
5314    /// it is called by your mocks.
5315    fn get_polling_backoff_policy(
5316        &self,
5317        _options: &crate::RequestOptions,
5318    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5319        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5320    }
5321}
5322
5323/// Defines the trait used to implement [super::client::LicenseCodes].
5324///
5325/// Application developers may need to implement this trait to mock
5326/// `client::LicenseCodes`.  In other use-cases, application developers only
5327/// use `client::LicenseCodes` and need not be concerned with this trait or
5328/// its implementations.
5329///
5330/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5331/// too. To avoid breaking applications the trait provides a default
5332/// implementation of each method. Most of these implementations just return an
5333/// error.
5334#[cfg(feature = "license-codes")]
5335#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5336pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5337    /// Implements [super::client::LicenseCodes::get].
5338    fn get(
5339        &self,
5340        _req: crate::model::license_codes::GetRequest,
5341        _options: crate::RequestOptions,
5342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5343    + Send {
5344        gaxi::unimplemented::unimplemented_stub()
5345    }
5346
5347    /// Implements [super::client::LicenseCodes::get_iam_policy].
5348    fn get_iam_policy(
5349        &self,
5350        _req: crate::model::license_codes::GetIamPolicyRequest,
5351        _options: crate::RequestOptions,
5352    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5353    {
5354        gaxi::unimplemented::unimplemented_stub()
5355    }
5356
5357    /// Implements [super::client::LicenseCodes::set_iam_policy].
5358    fn set_iam_policy(
5359        &self,
5360        _req: crate::model::license_codes::SetIamPolicyRequest,
5361        _options: crate::RequestOptions,
5362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5363    {
5364        gaxi::unimplemented::unimplemented_stub()
5365    }
5366
5367    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5368    fn test_iam_permissions(
5369        &self,
5370        _req: crate::model::license_codes::TestIamPermissionsRequest,
5371        _options: crate::RequestOptions,
5372    ) -> impl std::future::Future<
5373        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5374    > + Send {
5375        gaxi::unimplemented::unimplemented_stub()
5376    }
5377}
5378
5379/// Defines the trait used to implement [super::client::Licenses].
5380///
5381/// Application developers may need to implement this trait to mock
5382/// `client::Licenses`.  In other use-cases, application developers only
5383/// use `client::Licenses` and need not be concerned with this trait or
5384/// its implementations.
5385///
5386/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5387/// too. To avoid breaking applications the trait provides a default
5388/// implementation of each method. Most of these implementations just return an
5389/// error.
5390#[cfg(feature = "licenses")]
5391#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5392pub trait Licenses: std::fmt::Debug + Send + Sync {
5393    /// Implements [super::client::Licenses::delete].
5394    fn delete(
5395        &self,
5396        _req: crate::model::licenses::DeleteRequest,
5397        _options: crate::RequestOptions,
5398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5399    {
5400        gaxi::unimplemented::unimplemented_stub()
5401    }
5402
5403    /// Implements [super::client::Licenses::get].
5404    fn get(
5405        &self,
5406        _req: crate::model::licenses::GetRequest,
5407        _options: crate::RequestOptions,
5408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5409    {
5410        gaxi::unimplemented::unimplemented_stub()
5411    }
5412
5413    /// Implements [super::client::Licenses::get_iam_policy].
5414    fn get_iam_policy(
5415        &self,
5416        _req: crate::model::licenses::GetIamPolicyRequest,
5417        _options: crate::RequestOptions,
5418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5419    {
5420        gaxi::unimplemented::unimplemented_stub()
5421    }
5422
5423    /// Implements [super::client::Licenses::insert].
5424    fn insert(
5425        &self,
5426        _req: crate::model::licenses::InsertRequest,
5427        _options: crate::RequestOptions,
5428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5429    {
5430        gaxi::unimplemented::unimplemented_stub()
5431    }
5432
5433    /// Implements [super::client::Licenses::list].
5434    fn list(
5435        &self,
5436        _req: crate::model::licenses::ListRequest,
5437        _options: crate::RequestOptions,
5438    ) -> impl std::future::Future<
5439        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5440    > + Send {
5441        gaxi::unimplemented::unimplemented_stub()
5442    }
5443
5444    /// Implements [super::client::Licenses::set_iam_policy].
5445    fn set_iam_policy(
5446        &self,
5447        _req: crate::model::licenses::SetIamPolicyRequest,
5448        _options: crate::RequestOptions,
5449    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5450    {
5451        gaxi::unimplemented::unimplemented_stub()
5452    }
5453
5454    /// Implements [super::client::Licenses::test_iam_permissions].
5455    fn test_iam_permissions(
5456        &self,
5457        _req: crate::model::licenses::TestIamPermissionsRequest,
5458        _options: crate::RequestOptions,
5459    ) -> impl std::future::Future<
5460        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5461    > + Send {
5462        gaxi::unimplemented::unimplemented_stub()
5463    }
5464
5465    /// Implements [super::client::Licenses::update].
5466    fn update(
5467        &self,
5468        _req: crate::model::licenses::UpdateRequest,
5469        _options: crate::RequestOptions,
5470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5471    {
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: crate::RequestOptions,
5480    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5481    {
5482        gaxi::unimplemented::unimplemented_stub()
5483    }
5484
5485    /// Returns the polling error policy.
5486    ///
5487    /// When mocking, this method is typically irrelevant. Do not try to verify
5488    /// it is called by your mocks.
5489    fn get_polling_error_policy(
5490        &self,
5491        _options: &crate::RequestOptions,
5492    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5493        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5494    }
5495
5496    /// Returns the polling backoff policy.
5497    ///
5498    /// When mocking, this method is typically irrelevant. Do not try to verify
5499    /// it is called by your mocks.
5500    fn get_polling_backoff_policy(
5501        &self,
5502        _options: &crate::RequestOptions,
5503    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5504        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5505    }
5506}
5507
5508/// Defines the trait used to implement [super::client::MachineImages].
5509///
5510/// Application developers may need to implement this trait to mock
5511/// `client::MachineImages`.  In other use-cases, application developers only
5512/// use `client::MachineImages` and need not be concerned with this trait or
5513/// its implementations.
5514///
5515/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5516/// too. To avoid breaking applications the trait provides a default
5517/// implementation of each method. Most of these implementations just return an
5518/// error.
5519#[cfg(feature = "machine-images")]
5520#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5521pub trait MachineImages: std::fmt::Debug + Send + Sync {
5522    /// Implements [super::client::MachineImages::delete].
5523    fn delete(
5524        &self,
5525        _req: crate::model::machine_images::DeleteRequest,
5526        _options: crate::RequestOptions,
5527    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5528    {
5529        gaxi::unimplemented::unimplemented_stub()
5530    }
5531
5532    /// Implements [super::client::MachineImages::get].
5533    fn get(
5534        &self,
5535        _req: crate::model::machine_images::GetRequest,
5536        _options: crate::RequestOptions,
5537    ) -> impl std::future::Future<
5538        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
5539    > + Send {
5540        gaxi::unimplemented::unimplemented_stub()
5541    }
5542
5543    /// Implements [super::client::MachineImages::get_iam_policy].
5544    fn get_iam_policy(
5545        &self,
5546        _req: crate::model::machine_images::GetIamPolicyRequest,
5547        _options: crate::RequestOptions,
5548    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5549    {
5550        gaxi::unimplemented::unimplemented_stub()
5551    }
5552
5553    /// Implements [super::client::MachineImages::insert].
5554    fn insert(
5555        &self,
5556        _req: crate::model::machine_images::InsertRequest,
5557        _options: crate::RequestOptions,
5558    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5559    {
5560        gaxi::unimplemented::unimplemented_stub()
5561    }
5562
5563    /// Implements [super::client::MachineImages::list].
5564    fn list(
5565        &self,
5566        _req: crate::model::machine_images::ListRequest,
5567        _options: crate::RequestOptions,
5568    ) -> impl std::future::Future<
5569        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
5570    > + Send {
5571        gaxi::unimplemented::unimplemented_stub()
5572    }
5573
5574    /// Implements [super::client::MachineImages::set_iam_policy].
5575    fn set_iam_policy(
5576        &self,
5577        _req: crate::model::machine_images::SetIamPolicyRequest,
5578        _options: crate::RequestOptions,
5579    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5580    {
5581        gaxi::unimplemented::unimplemented_stub()
5582    }
5583
5584    /// Implements [super::client::MachineImages::set_labels].
5585    fn set_labels(
5586        &self,
5587        _req: crate::model::machine_images::SetLabelsRequest,
5588        _options: crate::RequestOptions,
5589    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5590    {
5591        gaxi::unimplemented::unimplemented_stub()
5592    }
5593
5594    /// Implements [super::client::MachineImages::test_iam_permissions].
5595    fn test_iam_permissions(
5596        &self,
5597        _req: crate::model::machine_images::TestIamPermissionsRequest,
5598        _options: crate::RequestOptions,
5599    ) -> impl std::future::Future<
5600        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5601    > + Send {
5602        gaxi::unimplemented::unimplemented_stub()
5603    }
5604
5605    /// Implements [super::client::MachineImages::get_operation].
5606    fn get_operation(
5607        &self,
5608        _req: crate::model::global_operations::GetRequest,
5609        _options: crate::RequestOptions,
5610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5611    {
5612        gaxi::unimplemented::unimplemented_stub()
5613    }
5614
5615    /// Returns the polling error policy.
5616    ///
5617    /// When mocking, this method is typically irrelevant. Do not try to verify
5618    /// it is called by your mocks.
5619    fn get_polling_error_policy(
5620        &self,
5621        _options: &crate::RequestOptions,
5622    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5623        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5624    }
5625
5626    /// Returns the polling backoff policy.
5627    ///
5628    /// When mocking, this method is typically irrelevant. Do not try to verify
5629    /// it is called by your mocks.
5630    fn get_polling_backoff_policy(
5631        &self,
5632        _options: &crate::RequestOptions,
5633    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5634        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5635    }
5636}
5637
5638/// Defines the trait used to implement [super::client::MachineTypes].
5639///
5640/// Application developers may need to implement this trait to mock
5641/// `client::MachineTypes`.  In other use-cases, application developers only
5642/// use `client::MachineTypes` and need not be concerned with this trait or
5643/// its implementations.
5644///
5645/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5646/// too. To avoid breaking applications the trait provides a default
5647/// implementation of each method. Most of these implementations just return an
5648/// error.
5649#[cfg(feature = "machine-types")]
5650#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
5651pub trait MachineTypes: std::fmt::Debug + Send + Sync {
5652    /// Implements [super::client::MachineTypes::aggregated_list].
5653    fn aggregated_list(
5654        &self,
5655        _req: crate::model::machine_types::AggregatedListRequest,
5656        _options: crate::RequestOptions,
5657    ) -> impl std::future::Future<
5658        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
5659    > + Send {
5660        gaxi::unimplemented::unimplemented_stub()
5661    }
5662
5663    /// Implements [super::client::MachineTypes::get].
5664    fn get(
5665        &self,
5666        _req: crate::model::machine_types::GetRequest,
5667        _options: crate::RequestOptions,
5668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
5669    + Send {
5670        gaxi::unimplemented::unimplemented_stub()
5671    }
5672
5673    /// Implements [super::client::MachineTypes::list].
5674    fn list(
5675        &self,
5676        _req: crate::model::machine_types::ListRequest,
5677        _options: crate::RequestOptions,
5678    ) -> impl std::future::Future<
5679        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
5680    > + Send {
5681        gaxi::unimplemented::unimplemented_stub()
5682    }
5683}
5684
5685/// Defines the trait used to implement [super::client::NetworkAttachments].
5686///
5687/// Application developers may need to implement this trait to mock
5688/// `client::NetworkAttachments`.  In other use-cases, application developers only
5689/// use `client::NetworkAttachments` and need not be concerned with this trait or
5690/// its implementations.
5691///
5692/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5693/// too. To avoid breaking applications the trait provides a default
5694/// implementation of each method. Most of these implementations just return an
5695/// error.
5696#[cfg(feature = "network-attachments")]
5697#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
5698pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
5699    /// Implements [super::client::NetworkAttachments::aggregated_list].
5700    fn aggregated_list(
5701        &self,
5702        _req: crate::model::network_attachments::AggregatedListRequest,
5703        _options: crate::RequestOptions,
5704    ) -> impl std::future::Future<
5705        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
5706    > + Send {
5707        gaxi::unimplemented::unimplemented_stub()
5708    }
5709
5710    /// Implements [super::client::NetworkAttachments::delete].
5711    fn delete(
5712        &self,
5713        _req: crate::model::network_attachments::DeleteRequest,
5714        _options: crate::RequestOptions,
5715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5716    {
5717        gaxi::unimplemented::unimplemented_stub()
5718    }
5719
5720    /// Implements [super::client::NetworkAttachments::get].
5721    fn get(
5722        &self,
5723        _req: crate::model::network_attachments::GetRequest,
5724        _options: crate::RequestOptions,
5725    ) -> impl std::future::Future<
5726        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
5727    > + Send {
5728        gaxi::unimplemented::unimplemented_stub()
5729    }
5730
5731    /// Implements [super::client::NetworkAttachments::get_iam_policy].
5732    fn get_iam_policy(
5733        &self,
5734        _req: crate::model::network_attachments::GetIamPolicyRequest,
5735        _options: crate::RequestOptions,
5736    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5737    {
5738        gaxi::unimplemented::unimplemented_stub()
5739    }
5740
5741    /// Implements [super::client::NetworkAttachments::insert].
5742    fn insert(
5743        &self,
5744        _req: crate::model::network_attachments::InsertRequest,
5745        _options: crate::RequestOptions,
5746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5747    {
5748        gaxi::unimplemented::unimplemented_stub()
5749    }
5750
5751    /// Implements [super::client::NetworkAttachments::list].
5752    fn list(
5753        &self,
5754        _req: crate::model::network_attachments::ListRequest,
5755        _options: crate::RequestOptions,
5756    ) -> impl std::future::Future<
5757        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
5758    > + Send {
5759        gaxi::unimplemented::unimplemented_stub()
5760    }
5761
5762    /// Implements [super::client::NetworkAttachments::patch].
5763    fn patch(
5764        &self,
5765        _req: crate::model::network_attachments::PatchRequest,
5766        _options: crate::RequestOptions,
5767    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5768    {
5769        gaxi::unimplemented::unimplemented_stub()
5770    }
5771
5772    /// Implements [super::client::NetworkAttachments::set_iam_policy].
5773    fn set_iam_policy(
5774        &self,
5775        _req: crate::model::network_attachments::SetIamPolicyRequest,
5776        _options: crate::RequestOptions,
5777    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5778    {
5779        gaxi::unimplemented::unimplemented_stub()
5780    }
5781
5782    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
5783    fn test_iam_permissions(
5784        &self,
5785        _req: crate::model::network_attachments::TestIamPermissionsRequest,
5786        _options: crate::RequestOptions,
5787    ) -> impl std::future::Future<
5788        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5789    > + Send {
5790        gaxi::unimplemented::unimplemented_stub()
5791    }
5792
5793    /// Implements [super::client::NetworkAttachments::get_operation].
5794    fn get_operation(
5795        &self,
5796        _req: crate::model::region_operations::GetRequest,
5797        _options: crate::RequestOptions,
5798    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5799    {
5800        gaxi::unimplemented::unimplemented_stub()
5801    }
5802
5803    /// Returns the polling error policy.
5804    ///
5805    /// When mocking, this method is typically irrelevant. Do not try to verify
5806    /// it is called by your mocks.
5807    fn get_polling_error_policy(
5808        &self,
5809        _options: &crate::RequestOptions,
5810    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5811        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5812    }
5813
5814    /// Returns the polling backoff policy.
5815    ///
5816    /// When mocking, this method is typically irrelevant. Do not try to verify
5817    /// it is called by your mocks.
5818    fn get_polling_backoff_policy(
5819        &self,
5820        _options: &crate::RequestOptions,
5821    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5822        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5823    }
5824}
5825
5826/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
5827///
5828/// Application developers may need to implement this trait to mock
5829/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
5830/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
5831/// its implementations.
5832///
5833/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5834/// too. To avoid breaking applications the trait provides a default
5835/// implementation of each method. Most of these implementations just return an
5836/// error.
5837#[cfg(feature = "network-edge-security-services")]
5838#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
5839pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
5840    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
5841    fn aggregated_list(
5842        &self,
5843        _req: crate::model::network_edge_security_services::AggregatedListRequest,
5844        _options: crate::RequestOptions,
5845    ) -> impl std::future::Future<
5846        Output = crate::Result<
5847            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
5848        >,
5849    > + Send {
5850        gaxi::unimplemented::unimplemented_stub()
5851    }
5852
5853    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
5854    fn delete(
5855        &self,
5856        _req: crate::model::network_edge_security_services::DeleteRequest,
5857        _options: crate::RequestOptions,
5858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5859    {
5860        gaxi::unimplemented::unimplemented_stub()
5861    }
5862
5863    /// Implements [super::client::NetworkEdgeSecurityServices::get].
5864    fn get(
5865        &self,
5866        _req: crate::model::network_edge_security_services::GetRequest,
5867        _options: crate::RequestOptions,
5868    ) -> impl std::future::Future<
5869        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
5870    > + Send {
5871        gaxi::unimplemented::unimplemented_stub()
5872    }
5873
5874    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
5875    fn insert(
5876        &self,
5877        _req: crate::model::network_edge_security_services::InsertRequest,
5878        _options: crate::RequestOptions,
5879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5880    {
5881        gaxi::unimplemented::unimplemented_stub()
5882    }
5883
5884    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
5885    fn patch(
5886        &self,
5887        _req: crate::model::network_edge_security_services::PatchRequest,
5888        _options: crate::RequestOptions,
5889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5890    {
5891        gaxi::unimplemented::unimplemented_stub()
5892    }
5893
5894    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
5895    fn get_operation(
5896        &self,
5897        _req: crate::model::region_operations::GetRequest,
5898        _options: crate::RequestOptions,
5899    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5900    {
5901        gaxi::unimplemented::unimplemented_stub()
5902    }
5903
5904    /// Returns the polling error policy.
5905    ///
5906    /// When mocking, this method is typically irrelevant. Do not try to verify
5907    /// it is called by your mocks.
5908    fn get_polling_error_policy(
5909        &self,
5910        _options: &crate::RequestOptions,
5911    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5912        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5913    }
5914
5915    /// Returns the polling backoff policy.
5916    ///
5917    /// When mocking, this method is typically irrelevant. Do not try to verify
5918    /// it is called by your mocks.
5919    fn get_polling_backoff_policy(
5920        &self,
5921        _options: &crate::RequestOptions,
5922    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5923        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5924    }
5925}
5926
5927/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
5928///
5929/// Application developers may need to implement this trait to mock
5930/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
5931/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
5932/// its implementations.
5933///
5934/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5935/// too. To avoid breaking applications the trait provides a default
5936/// implementation of each method. Most of these implementations just return an
5937/// error.
5938#[cfg(feature = "network-endpoint-groups")]
5939#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
5940pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
5941    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
5942    fn aggregated_list(
5943        &self,
5944        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
5945        _options: crate::RequestOptions,
5946    ) -> impl std::future::Future<
5947        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
5948    > + Send {
5949        gaxi::unimplemented::unimplemented_stub()
5950    }
5951
5952    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
5953    fn attach_network_endpoints(
5954        &self,
5955        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
5956        _options: crate::RequestOptions,
5957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5958    {
5959        gaxi::unimplemented::unimplemented_stub()
5960    }
5961
5962    /// Implements [super::client::NetworkEndpointGroups::delete].
5963    fn delete(
5964        &self,
5965        _req: crate::model::network_endpoint_groups::DeleteRequest,
5966        _options: crate::RequestOptions,
5967    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5968    {
5969        gaxi::unimplemented::unimplemented_stub()
5970    }
5971
5972    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
5973    fn detach_network_endpoints(
5974        &self,
5975        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
5976        _options: crate::RequestOptions,
5977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5978    {
5979        gaxi::unimplemented::unimplemented_stub()
5980    }
5981
5982    /// Implements [super::client::NetworkEndpointGroups::get].
5983    fn get(
5984        &self,
5985        _req: crate::model::network_endpoint_groups::GetRequest,
5986        _options: crate::RequestOptions,
5987    ) -> impl std::future::Future<
5988        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
5989    > + Send {
5990        gaxi::unimplemented::unimplemented_stub()
5991    }
5992
5993    /// Implements [super::client::NetworkEndpointGroups::insert].
5994    fn insert(
5995        &self,
5996        _req: crate::model::network_endpoint_groups::InsertRequest,
5997        _options: crate::RequestOptions,
5998    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5999    {
6000        gaxi::unimplemented::unimplemented_stub()
6001    }
6002
6003    /// Implements [super::client::NetworkEndpointGroups::list].
6004    fn list(
6005        &self,
6006        _req: crate::model::network_endpoint_groups::ListRequest,
6007        _options: crate::RequestOptions,
6008    ) -> impl std::future::Future<
6009        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
6010    > + Send {
6011        gaxi::unimplemented::unimplemented_stub()
6012    }
6013
6014    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
6015    fn list_network_endpoints(
6016        &self,
6017        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
6018        _options: crate::RequestOptions,
6019    ) -> impl std::future::Future<
6020        Output = crate::Result<
6021            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
6022        >,
6023    > + Send {
6024        gaxi::unimplemented::unimplemented_stub()
6025    }
6026
6027    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
6028    fn test_iam_permissions(
6029        &self,
6030        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
6031        _options: crate::RequestOptions,
6032    ) -> impl std::future::Future<
6033        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6034    > + Send {
6035        gaxi::unimplemented::unimplemented_stub()
6036    }
6037
6038    /// Implements [super::client::NetworkEndpointGroups::get_operation].
6039    fn get_operation(
6040        &self,
6041        _req: crate::model::zone_operations::GetRequest,
6042        _options: crate::RequestOptions,
6043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6044    {
6045        gaxi::unimplemented::unimplemented_stub()
6046    }
6047
6048    /// Returns the polling error policy.
6049    ///
6050    /// When mocking, this method is typically irrelevant. Do not try to verify
6051    /// it is called by your mocks.
6052    fn get_polling_error_policy(
6053        &self,
6054        _options: &crate::RequestOptions,
6055    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6056        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6057    }
6058
6059    /// Returns the polling backoff policy.
6060    ///
6061    /// When mocking, this method is typically irrelevant. Do not try to verify
6062    /// it is called by your mocks.
6063    fn get_polling_backoff_policy(
6064        &self,
6065        _options: &crate::RequestOptions,
6066    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6067        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6068    }
6069}
6070
6071/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
6072///
6073/// Application developers may need to implement this trait to mock
6074/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
6075/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
6076/// its implementations.
6077///
6078/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6079/// too. To avoid breaking applications the trait provides a default
6080/// implementation of each method. Most of these implementations just return an
6081/// error.
6082#[cfg(feature = "network-firewall-policies")]
6083#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
6084pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
6085    /// Implements [super::client::NetworkFirewallPolicies::add_association].
6086    fn add_association(
6087        &self,
6088        _req: crate::model::network_firewall_policies::AddAssociationRequest,
6089        _options: crate::RequestOptions,
6090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6091    {
6092        gaxi::unimplemented::unimplemented_stub()
6093    }
6094
6095    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
6096    fn add_packet_mirroring_rule(
6097        &self,
6098        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
6099        _options: crate::RequestOptions,
6100    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6101    {
6102        gaxi::unimplemented::unimplemented_stub()
6103    }
6104
6105    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
6106    fn add_rule(
6107        &self,
6108        _req: crate::model::network_firewall_policies::AddRuleRequest,
6109        _options: crate::RequestOptions,
6110    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6111    {
6112        gaxi::unimplemented::unimplemented_stub()
6113    }
6114
6115    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
6116    fn aggregated_list(
6117        &self,
6118        _req: crate::model::network_firewall_policies::AggregatedListRequest,
6119        _options: crate::RequestOptions,
6120    ) -> impl std::future::Future<
6121        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
6122    > + Send {
6123        gaxi::unimplemented::unimplemented_stub()
6124    }
6125
6126    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
6127    fn clone_rules(
6128        &self,
6129        _req: crate::model::network_firewall_policies::CloneRulesRequest,
6130        _options: crate::RequestOptions,
6131    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6132    {
6133        gaxi::unimplemented::unimplemented_stub()
6134    }
6135
6136    /// Implements [super::client::NetworkFirewallPolicies::delete].
6137    fn delete(
6138        &self,
6139        _req: crate::model::network_firewall_policies::DeleteRequest,
6140        _options: crate::RequestOptions,
6141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6142    {
6143        gaxi::unimplemented::unimplemented_stub()
6144    }
6145
6146    /// Implements [super::client::NetworkFirewallPolicies::get].
6147    fn get(
6148        &self,
6149        _req: crate::model::network_firewall_policies::GetRequest,
6150        _options: crate::RequestOptions,
6151    ) -> impl std::future::Future<
6152        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
6153    > + Send {
6154        gaxi::unimplemented::unimplemented_stub()
6155    }
6156
6157    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6158    fn get_association(
6159        &self,
6160        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6161        _options: crate::RequestOptions,
6162    ) -> impl std::future::Future<
6163        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
6164    > + Send {
6165        gaxi::unimplemented::unimplemented_stub()
6166    }
6167
6168    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6169    fn get_iam_policy(
6170        &self,
6171        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6172        _options: crate::RequestOptions,
6173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6174    {
6175        gaxi::unimplemented::unimplemented_stub()
6176    }
6177
6178    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6179    fn get_packet_mirroring_rule(
6180        &self,
6181        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6182        _options: crate::RequestOptions,
6183    ) -> impl std::future::Future<
6184        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6185    > + Send {
6186        gaxi::unimplemented::unimplemented_stub()
6187    }
6188
6189    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6190    fn get_rule(
6191        &self,
6192        _req: crate::model::network_firewall_policies::GetRuleRequest,
6193        _options: crate::RequestOptions,
6194    ) -> impl std::future::Future<
6195        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6196    > + Send {
6197        gaxi::unimplemented::unimplemented_stub()
6198    }
6199
6200    /// Implements [super::client::NetworkFirewallPolicies::insert].
6201    fn insert(
6202        &self,
6203        _req: crate::model::network_firewall_policies::InsertRequest,
6204        _options: crate::RequestOptions,
6205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6206    {
6207        gaxi::unimplemented::unimplemented_stub()
6208    }
6209
6210    /// Implements [super::client::NetworkFirewallPolicies::list].
6211    fn list(
6212        &self,
6213        _req: crate::model::network_firewall_policies::ListRequest,
6214        _options: crate::RequestOptions,
6215    ) -> impl std::future::Future<
6216        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
6217    > + Send {
6218        gaxi::unimplemented::unimplemented_stub()
6219    }
6220
6221    /// Implements [super::client::NetworkFirewallPolicies::patch].
6222    fn patch(
6223        &self,
6224        _req: crate::model::network_firewall_policies::PatchRequest,
6225        _options: crate::RequestOptions,
6226    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6227    {
6228        gaxi::unimplemented::unimplemented_stub()
6229    }
6230
6231    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6232    fn patch_packet_mirroring_rule(
6233        &self,
6234        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6235        _options: crate::RequestOptions,
6236    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6237    {
6238        gaxi::unimplemented::unimplemented_stub()
6239    }
6240
6241    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6242    fn patch_rule(
6243        &self,
6244        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6245        _options: crate::RequestOptions,
6246    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6247    {
6248        gaxi::unimplemented::unimplemented_stub()
6249    }
6250
6251    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6252    fn remove_association(
6253        &self,
6254        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6255        _options: crate::RequestOptions,
6256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6257    {
6258        gaxi::unimplemented::unimplemented_stub()
6259    }
6260
6261    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6262    fn remove_packet_mirroring_rule(
6263        &self,
6264        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6265        _options: crate::RequestOptions,
6266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6267    {
6268        gaxi::unimplemented::unimplemented_stub()
6269    }
6270
6271    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6272    fn remove_rule(
6273        &self,
6274        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6275        _options: crate::RequestOptions,
6276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6277    {
6278        gaxi::unimplemented::unimplemented_stub()
6279    }
6280
6281    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6282    fn set_iam_policy(
6283        &self,
6284        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6285        _options: crate::RequestOptions,
6286    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6287    {
6288        gaxi::unimplemented::unimplemented_stub()
6289    }
6290
6291    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6292    fn test_iam_permissions(
6293        &self,
6294        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6295        _options: crate::RequestOptions,
6296    ) -> impl std::future::Future<
6297        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6298    > + Send {
6299        gaxi::unimplemented::unimplemented_stub()
6300    }
6301
6302    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6303    fn get_operation(
6304        &self,
6305        _req: crate::model::global_operations::GetRequest,
6306        _options: crate::RequestOptions,
6307    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6308    {
6309        gaxi::unimplemented::unimplemented_stub()
6310    }
6311
6312    /// Returns the polling error policy.
6313    ///
6314    /// When mocking, this method is typically irrelevant. Do not try to verify
6315    /// it is called by your mocks.
6316    fn get_polling_error_policy(
6317        &self,
6318        _options: &crate::RequestOptions,
6319    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6320        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6321    }
6322
6323    /// Returns the polling backoff policy.
6324    ///
6325    /// When mocking, this method is typically irrelevant. Do not try to verify
6326    /// it is called by your mocks.
6327    fn get_polling_backoff_policy(
6328        &self,
6329        _options: &crate::RequestOptions,
6330    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6331        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6332    }
6333}
6334
6335/// Defines the trait used to implement [super::client::NetworkProfiles].
6336///
6337/// Application developers may need to implement this trait to mock
6338/// `client::NetworkProfiles`.  In other use-cases, application developers only
6339/// use `client::NetworkProfiles` and need not be concerned with this trait or
6340/// its implementations.
6341///
6342/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6343/// too. To avoid breaking applications the trait provides a default
6344/// implementation of each method. Most of these implementations just return an
6345/// error.
6346#[cfg(feature = "network-profiles")]
6347#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6348pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6349    /// Implements [super::client::NetworkProfiles::get].
6350    fn get(
6351        &self,
6352        _req: crate::model::network_profiles::GetRequest,
6353        _options: crate::RequestOptions,
6354    ) -> impl std::future::Future<
6355        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6356    > + Send {
6357        gaxi::unimplemented::unimplemented_stub()
6358    }
6359
6360    /// Implements [super::client::NetworkProfiles::list].
6361    fn list(
6362        &self,
6363        _req: crate::model::network_profiles::ListRequest,
6364        _options: crate::RequestOptions,
6365    ) -> impl std::future::Future<
6366        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6367    > + Send {
6368        gaxi::unimplemented::unimplemented_stub()
6369    }
6370}
6371
6372/// Defines the trait used to implement [super::client::Networks].
6373///
6374/// Application developers may need to implement this trait to mock
6375/// `client::Networks`.  In other use-cases, application developers only
6376/// use `client::Networks` and need not be concerned with this trait or
6377/// its implementations.
6378///
6379/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6380/// too. To avoid breaking applications the trait provides a default
6381/// implementation of each method. Most of these implementations just return an
6382/// error.
6383#[cfg(feature = "networks")]
6384#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6385pub trait Networks: std::fmt::Debug + Send + Sync {
6386    /// Implements [super::client::Networks::add_peering].
6387    fn add_peering(
6388        &self,
6389        _req: crate::model::networks::AddPeeringRequest,
6390        _options: crate::RequestOptions,
6391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6392    {
6393        gaxi::unimplemented::unimplemented_stub()
6394    }
6395
6396    /// Implements [super::client::Networks::cancel_request_remove_peering].
6397    fn cancel_request_remove_peering(
6398        &self,
6399        _req: crate::model::networks::CancelRequestRemovePeeringRequest,
6400        _options: crate::RequestOptions,
6401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6402    {
6403        gaxi::unimplemented::unimplemented_stub()
6404    }
6405
6406    /// Implements [super::client::Networks::delete].
6407    fn delete(
6408        &self,
6409        _req: crate::model::networks::DeleteRequest,
6410        _options: crate::RequestOptions,
6411    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6412    {
6413        gaxi::unimplemented::unimplemented_stub()
6414    }
6415
6416    /// Implements [super::client::Networks::get].
6417    fn get(
6418        &self,
6419        _req: crate::model::networks::GetRequest,
6420        _options: crate::RequestOptions,
6421    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6422    {
6423        gaxi::unimplemented::unimplemented_stub()
6424    }
6425
6426    /// Implements [super::client::Networks::get_effective_firewalls].
6427    fn get_effective_firewalls(
6428        &self,
6429        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6430        _options: crate::RequestOptions,
6431    ) -> impl std::future::Future<
6432        Output = crate::Result<
6433            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6434        >,
6435    > + Send {
6436        gaxi::unimplemented::unimplemented_stub()
6437    }
6438
6439    /// Implements [super::client::Networks::insert].
6440    fn insert(
6441        &self,
6442        _req: crate::model::networks::InsertRequest,
6443        _options: crate::RequestOptions,
6444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6445    {
6446        gaxi::unimplemented::unimplemented_stub()
6447    }
6448
6449    /// Implements [super::client::Networks::list].
6450    fn list(
6451        &self,
6452        _req: crate::model::networks::ListRequest,
6453        _options: crate::RequestOptions,
6454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
6455    + Send {
6456        gaxi::unimplemented::unimplemented_stub()
6457    }
6458
6459    /// Implements [super::client::Networks::list_peering_routes].
6460    fn list_peering_routes(
6461        &self,
6462        _req: crate::model::networks::ListPeeringRoutesRequest,
6463        _options: crate::RequestOptions,
6464    ) -> impl std::future::Future<
6465        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
6466    > + Send {
6467        gaxi::unimplemented::unimplemented_stub()
6468    }
6469
6470    /// Implements [super::client::Networks::patch].
6471    fn patch(
6472        &self,
6473        _req: crate::model::networks::PatchRequest,
6474        _options: crate::RequestOptions,
6475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6476    {
6477        gaxi::unimplemented::unimplemented_stub()
6478    }
6479
6480    /// Implements [super::client::Networks::remove_peering].
6481    fn remove_peering(
6482        &self,
6483        _req: crate::model::networks::RemovePeeringRequest,
6484        _options: crate::RequestOptions,
6485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6486    {
6487        gaxi::unimplemented::unimplemented_stub()
6488    }
6489
6490    /// Implements [super::client::Networks::request_remove_peering].
6491    fn request_remove_peering(
6492        &self,
6493        _req: crate::model::networks::RequestRemovePeeringRequest,
6494        _options: crate::RequestOptions,
6495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6496    {
6497        gaxi::unimplemented::unimplemented_stub()
6498    }
6499
6500    /// Implements [super::client::Networks::switch_to_custom_mode].
6501    fn switch_to_custom_mode(
6502        &self,
6503        _req: crate::model::networks::SwitchToCustomModeRequest,
6504        _options: crate::RequestOptions,
6505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6506    {
6507        gaxi::unimplemented::unimplemented_stub()
6508    }
6509
6510    /// Implements [super::client::Networks::update_peering].
6511    fn update_peering(
6512        &self,
6513        _req: crate::model::networks::UpdatePeeringRequest,
6514        _options: crate::RequestOptions,
6515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6516    {
6517        gaxi::unimplemented::unimplemented_stub()
6518    }
6519
6520    /// Implements [super::client::Networks::get_operation].
6521    fn get_operation(
6522        &self,
6523        _req: crate::model::global_operations::GetRequest,
6524        _options: crate::RequestOptions,
6525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6526    {
6527        gaxi::unimplemented::unimplemented_stub()
6528    }
6529
6530    /// Returns the polling error policy.
6531    ///
6532    /// When mocking, this method is typically irrelevant. Do not try to verify
6533    /// it is called by your mocks.
6534    fn get_polling_error_policy(
6535        &self,
6536        _options: &crate::RequestOptions,
6537    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6538        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6539    }
6540
6541    /// Returns the polling backoff policy.
6542    ///
6543    /// When mocking, this method is typically irrelevant. Do not try to verify
6544    /// it is called by your mocks.
6545    fn get_polling_backoff_policy(
6546        &self,
6547        _options: &crate::RequestOptions,
6548    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6549        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6550    }
6551}
6552
6553/// Defines the trait used to implement [super::client::NodeGroups].
6554///
6555/// Application developers may need to implement this trait to mock
6556/// `client::NodeGroups`.  In other use-cases, application developers only
6557/// use `client::NodeGroups` and need not be concerned with this trait or
6558/// its implementations.
6559///
6560/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6561/// too. To avoid breaking applications the trait provides a default
6562/// implementation of each method. Most of these implementations just return an
6563/// error.
6564#[cfg(feature = "node-groups")]
6565#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
6566pub trait NodeGroups: std::fmt::Debug + Send + Sync {
6567    /// Implements [super::client::NodeGroups::add_nodes].
6568    fn add_nodes(
6569        &self,
6570        _req: crate::model::node_groups::AddNodesRequest,
6571        _options: crate::RequestOptions,
6572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6573    {
6574        gaxi::unimplemented::unimplemented_stub()
6575    }
6576
6577    /// Implements [super::client::NodeGroups::aggregated_list].
6578    fn aggregated_list(
6579        &self,
6580        _req: crate::model::node_groups::AggregatedListRequest,
6581        _options: crate::RequestOptions,
6582    ) -> impl std::future::Future<
6583        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
6584    > + Send {
6585        gaxi::unimplemented::unimplemented_stub()
6586    }
6587
6588    /// Implements [super::client::NodeGroups::delete].
6589    fn delete(
6590        &self,
6591        _req: crate::model::node_groups::DeleteRequest,
6592        _options: crate::RequestOptions,
6593    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6594    {
6595        gaxi::unimplemented::unimplemented_stub()
6596    }
6597
6598    /// Implements [super::client::NodeGroups::delete_nodes].
6599    fn delete_nodes(
6600        &self,
6601        _req: crate::model::node_groups::DeleteNodesRequest,
6602        _options: crate::RequestOptions,
6603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6604    {
6605        gaxi::unimplemented::unimplemented_stub()
6606    }
6607
6608    /// Implements [super::client::NodeGroups::get].
6609    fn get(
6610        &self,
6611        _req: crate::model::node_groups::GetRequest,
6612        _options: crate::RequestOptions,
6613    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
6614    {
6615        gaxi::unimplemented::unimplemented_stub()
6616    }
6617
6618    /// Implements [super::client::NodeGroups::get_iam_policy].
6619    fn get_iam_policy(
6620        &self,
6621        _req: crate::model::node_groups::GetIamPolicyRequest,
6622        _options: crate::RequestOptions,
6623    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6624    {
6625        gaxi::unimplemented::unimplemented_stub()
6626    }
6627
6628    /// Implements [super::client::NodeGroups::insert].
6629    fn insert(
6630        &self,
6631        _req: crate::model::node_groups::InsertRequest,
6632        _options: crate::RequestOptions,
6633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6634    {
6635        gaxi::unimplemented::unimplemented_stub()
6636    }
6637
6638    /// Implements [super::client::NodeGroups::list].
6639    fn list(
6640        &self,
6641        _req: crate::model::node_groups::ListRequest,
6642        _options: crate::RequestOptions,
6643    ) -> impl std::future::Future<
6644        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
6645    > + Send {
6646        gaxi::unimplemented::unimplemented_stub()
6647    }
6648
6649    /// Implements [super::client::NodeGroups::list_nodes].
6650    fn list_nodes(
6651        &self,
6652        _req: crate::model::node_groups::ListNodesRequest,
6653        _options: crate::RequestOptions,
6654    ) -> impl std::future::Future<
6655        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
6656    > + Send {
6657        gaxi::unimplemented::unimplemented_stub()
6658    }
6659
6660    /// Implements [super::client::NodeGroups::patch].
6661    fn patch(
6662        &self,
6663        _req: crate::model::node_groups::PatchRequest,
6664        _options: crate::RequestOptions,
6665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6666    {
6667        gaxi::unimplemented::unimplemented_stub()
6668    }
6669
6670    /// Implements [super::client::NodeGroups::perform_maintenance].
6671    fn perform_maintenance(
6672        &self,
6673        _req: crate::model::node_groups::PerformMaintenanceRequest,
6674        _options: crate::RequestOptions,
6675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6676    {
6677        gaxi::unimplemented::unimplemented_stub()
6678    }
6679
6680    /// Implements [super::client::NodeGroups::set_iam_policy].
6681    fn set_iam_policy(
6682        &self,
6683        _req: crate::model::node_groups::SetIamPolicyRequest,
6684        _options: crate::RequestOptions,
6685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6686    {
6687        gaxi::unimplemented::unimplemented_stub()
6688    }
6689
6690    /// Implements [super::client::NodeGroups::set_node_template].
6691    fn set_node_template(
6692        &self,
6693        _req: crate::model::node_groups::SetNodeTemplateRequest,
6694        _options: crate::RequestOptions,
6695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6696    {
6697        gaxi::unimplemented::unimplemented_stub()
6698    }
6699
6700    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
6701    fn simulate_maintenance_event(
6702        &self,
6703        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
6704        _options: crate::RequestOptions,
6705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6706    {
6707        gaxi::unimplemented::unimplemented_stub()
6708    }
6709
6710    /// Implements [super::client::NodeGroups::test_iam_permissions].
6711    fn test_iam_permissions(
6712        &self,
6713        _req: crate::model::node_groups::TestIamPermissionsRequest,
6714        _options: crate::RequestOptions,
6715    ) -> impl std::future::Future<
6716        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6717    > + Send {
6718        gaxi::unimplemented::unimplemented_stub()
6719    }
6720
6721    /// Implements [super::client::NodeGroups::get_operation].
6722    fn get_operation(
6723        &self,
6724        _req: crate::model::zone_operations::GetRequest,
6725        _options: crate::RequestOptions,
6726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6727    {
6728        gaxi::unimplemented::unimplemented_stub()
6729    }
6730
6731    /// Returns the polling error policy.
6732    ///
6733    /// When mocking, this method is typically irrelevant. Do not try to verify
6734    /// it is called by your mocks.
6735    fn get_polling_error_policy(
6736        &self,
6737        _options: &crate::RequestOptions,
6738    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6739        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6740    }
6741
6742    /// Returns the polling backoff policy.
6743    ///
6744    /// When mocking, this method is typically irrelevant. Do not try to verify
6745    /// it is called by your mocks.
6746    fn get_polling_backoff_policy(
6747        &self,
6748        _options: &crate::RequestOptions,
6749    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6750        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6751    }
6752}
6753
6754/// Defines the trait used to implement [super::client::NodeTemplates].
6755///
6756/// Application developers may need to implement this trait to mock
6757/// `client::NodeTemplates`.  In other use-cases, application developers only
6758/// use `client::NodeTemplates` and need not be concerned with this trait or
6759/// its implementations.
6760///
6761/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6762/// too. To avoid breaking applications the trait provides a default
6763/// implementation of each method. Most of these implementations just return an
6764/// error.
6765#[cfg(feature = "node-templates")]
6766#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
6767pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
6768    /// Implements [super::client::NodeTemplates::aggregated_list].
6769    fn aggregated_list(
6770        &self,
6771        _req: crate::model::node_templates::AggregatedListRequest,
6772        _options: crate::RequestOptions,
6773    ) -> impl std::future::Future<
6774        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
6775    > + Send {
6776        gaxi::unimplemented::unimplemented_stub()
6777    }
6778
6779    /// Implements [super::client::NodeTemplates::delete].
6780    fn delete(
6781        &self,
6782        _req: crate::model::node_templates::DeleteRequest,
6783        _options: crate::RequestOptions,
6784    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6785    {
6786        gaxi::unimplemented::unimplemented_stub()
6787    }
6788
6789    /// Implements [super::client::NodeTemplates::get].
6790    fn get(
6791        &self,
6792        _req: crate::model::node_templates::GetRequest,
6793        _options: crate::RequestOptions,
6794    ) -> impl std::future::Future<
6795        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
6796    > + Send {
6797        gaxi::unimplemented::unimplemented_stub()
6798    }
6799
6800    /// Implements [super::client::NodeTemplates::get_iam_policy].
6801    fn get_iam_policy(
6802        &self,
6803        _req: crate::model::node_templates::GetIamPolicyRequest,
6804        _options: crate::RequestOptions,
6805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6806    {
6807        gaxi::unimplemented::unimplemented_stub()
6808    }
6809
6810    /// Implements [super::client::NodeTemplates::insert].
6811    fn insert(
6812        &self,
6813        _req: crate::model::node_templates::InsertRequest,
6814        _options: crate::RequestOptions,
6815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6816    {
6817        gaxi::unimplemented::unimplemented_stub()
6818    }
6819
6820    /// Implements [super::client::NodeTemplates::list].
6821    fn list(
6822        &self,
6823        _req: crate::model::node_templates::ListRequest,
6824        _options: crate::RequestOptions,
6825    ) -> impl std::future::Future<
6826        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
6827    > + Send {
6828        gaxi::unimplemented::unimplemented_stub()
6829    }
6830
6831    /// Implements [super::client::NodeTemplates::set_iam_policy].
6832    fn set_iam_policy(
6833        &self,
6834        _req: crate::model::node_templates::SetIamPolicyRequest,
6835        _options: crate::RequestOptions,
6836    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6837    {
6838        gaxi::unimplemented::unimplemented_stub()
6839    }
6840
6841    /// Implements [super::client::NodeTemplates::test_iam_permissions].
6842    fn test_iam_permissions(
6843        &self,
6844        _req: crate::model::node_templates::TestIamPermissionsRequest,
6845        _options: crate::RequestOptions,
6846    ) -> impl std::future::Future<
6847        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6848    > + Send {
6849        gaxi::unimplemented::unimplemented_stub()
6850    }
6851
6852    /// Implements [super::client::NodeTemplates::get_operation].
6853    fn get_operation(
6854        &self,
6855        _req: crate::model::region_operations::GetRequest,
6856        _options: crate::RequestOptions,
6857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6858    {
6859        gaxi::unimplemented::unimplemented_stub()
6860    }
6861
6862    /// Returns the polling error policy.
6863    ///
6864    /// When mocking, this method is typically irrelevant. Do not try to verify
6865    /// it is called by your mocks.
6866    fn get_polling_error_policy(
6867        &self,
6868        _options: &crate::RequestOptions,
6869    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6870        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6871    }
6872
6873    /// Returns the polling backoff policy.
6874    ///
6875    /// When mocking, this method is typically irrelevant. Do not try to verify
6876    /// it is called by your mocks.
6877    fn get_polling_backoff_policy(
6878        &self,
6879        _options: &crate::RequestOptions,
6880    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6881        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6882    }
6883}
6884
6885/// Defines the trait used to implement [super::client::NodeTypes].
6886///
6887/// Application developers may need to implement this trait to mock
6888/// `client::NodeTypes`.  In other use-cases, application developers only
6889/// use `client::NodeTypes` and need not be concerned with this trait or
6890/// its implementations.
6891///
6892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6893/// too. To avoid breaking applications the trait provides a default
6894/// implementation of each method. Most of these implementations just return an
6895/// error.
6896#[cfg(feature = "node-types")]
6897#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
6898pub trait NodeTypes: std::fmt::Debug + Send + Sync {
6899    /// Implements [super::client::NodeTypes::aggregated_list].
6900    fn aggregated_list(
6901        &self,
6902        _req: crate::model::node_types::AggregatedListRequest,
6903        _options: crate::RequestOptions,
6904    ) -> impl std::future::Future<
6905        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
6906    > + Send {
6907        gaxi::unimplemented::unimplemented_stub()
6908    }
6909
6910    /// Implements [super::client::NodeTypes::get].
6911    fn get(
6912        &self,
6913        _req: crate::model::node_types::GetRequest,
6914        _options: crate::RequestOptions,
6915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
6916    {
6917        gaxi::unimplemented::unimplemented_stub()
6918    }
6919
6920    /// Implements [super::client::NodeTypes::list].
6921    fn list(
6922        &self,
6923        _req: crate::model::node_types::ListRequest,
6924        _options: crate::RequestOptions,
6925    ) -> impl std::future::Future<
6926        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
6927    > + Send {
6928        gaxi::unimplemented::unimplemented_stub()
6929    }
6930}
6931
6932/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
6933///
6934/// Application developers may need to implement this trait to mock
6935/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
6936/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
6937/// its implementations.
6938///
6939/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6940/// too. To avoid breaking applications the trait provides a default
6941/// implementation of each method. Most of these implementations just return an
6942/// error.
6943#[cfg(feature = "organization-security-policies")]
6944#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
6945pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
6946    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
6947    fn add_association(
6948        &self,
6949        _req: crate::model::organization_security_policies::AddAssociationRequest,
6950        _options: crate::RequestOptions,
6951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6952    {
6953        gaxi::unimplemented::unimplemented_stub()
6954    }
6955
6956    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
6957    fn add_rule(
6958        &self,
6959        _req: crate::model::organization_security_policies::AddRuleRequest,
6960        _options: crate::RequestOptions,
6961    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6962    {
6963        gaxi::unimplemented::unimplemented_stub()
6964    }
6965
6966    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
6967    fn copy_rules(
6968        &self,
6969        _req: crate::model::organization_security_policies::CopyRulesRequest,
6970        _options: crate::RequestOptions,
6971    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6972    {
6973        gaxi::unimplemented::unimplemented_stub()
6974    }
6975
6976    /// Implements [super::client::OrganizationSecurityPolicies::delete].
6977    fn delete(
6978        &self,
6979        _req: crate::model::organization_security_policies::DeleteRequest,
6980        _options: crate::RequestOptions,
6981    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6982    {
6983        gaxi::unimplemented::unimplemented_stub()
6984    }
6985
6986    /// Implements [super::client::OrganizationSecurityPolicies::get].
6987    fn get(
6988        &self,
6989        _req: crate::model::organization_security_policies::GetRequest,
6990        _options: crate::RequestOptions,
6991    ) -> impl std::future::Future<
6992        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
6993    > + Send {
6994        gaxi::unimplemented::unimplemented_stub()
6995    }
6996
6997    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
6998    fn get_association(
6999        &self,
7000        _req: crate::model::organization_security_policies::GetAssociationRequest,
7001        _options: crate::RequestOptions,
7002    ) -> impl std::future::Future<
7003        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
7004    > + Send {
7005        gaxi::unimplemented::unimplemented_stub()
7006    }
7007
7008    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
7009    fn get_rule(
7010        &self,
7011        _req: crate::model::organization_security_policies::GetRuleRequest,
7012        _options: crate::RequestOptions,
7013    ) -> impl std::future::Future<
7014        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
7015    > + Send {
7016        gaxi::unimplemented::unimplemented_stub()
7017    }
7018
7019    /// Implements [super::client::OrganizationSecurityPolicies::insert].
7020    fn insert(
7021        &self,
7022        _req: crate::model::organization_security_policies::InsertRequest,
7023        _options: crate::RequestOptions,
7024    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7025    {
7026        gaxi::unimplemented::unimplemented_stub()
7027    }
7028
7029    /// Implements [super::client::OrganizationSecurityPolicies::list].
7030    fn list(
7031        &self,
7032        _req: crate::model::organization_security_policies::ListRequest,
7033        _options: crate::RequestOptions,
7034    ) -> impl std::future::Future<
7035        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
7036    > + Send {
7037        gaxi::unimplemented::unimplemented_stub()
7038    }
7039
7040    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
7041    fn list_associations(
7042        &self,
7043        _req: crate::model::organization_security_policies::ListAssociationsRequest,
7044        _options: crate::RequestOptions,
7045    ) -> impl std::future::Future<
7046        Output = crate::Result<
7047            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
7048        >,
7049    > + Send {
7050        gaxi::unimplemented::unimplemented_stub()
7051    }
7052
7053    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
7054    fn list_preconfigured_expression_sets(
7055        &self,
7056        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
7057        _options: crate::RequestOptions,
7058    ) -> impl std::future::Future<
7059        Output = crate::Result<
7060            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
7061        >,
7062    > + Send {
7063        gaxi::unimplemented::unimplemented_stub()
7064    }
7065
7066    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
7067    fn r#move(
7068        &self,
7069        _req: crate::model::organization_security_policies::MoveRequest,
7070        _options: crate::RequestOptions,
7071    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7072    {
7073        gaxi::unimplemented::unimplemented_stub()
7074    }
7075
7076    /// Implements [super::client::OrganizationSecurityPolicies::patch].
7077    fn patch(
7078        &self,
7079        _req: crate::model::organization_security_policies::PatchRequest,
7080        _options: crate::RequestOptions,
7081    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7082    {
7083        gaxi::unimplemented::unimplemented_stub()
7084    }
7085
7086    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
7087    fn patch_rule(
7088        &self,
7089        _req: crate::model::organization_security_policies::PatchRuleRequest,
7090        _options: crate::RequestOptions,
7091    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7092    {
7093        gaxi::unimplemented::unimplemented_stub()
7094    }
7095
7096    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
7097    fn remove_association(
7098        &self,
7099        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
7100        _options: crate::RequestOptions,
7101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7102    {
7103        gaxi::unimplemented::unimplemented_stub()
7104    }
7105
7106    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
7107    fn remove_rule(
7108        &self,
7109        _req: crate::model::organization_security_policies::RemoveRuleRequest,
7110        _options: crate::RequestOptions,
7111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7112    {
7113        gaxi::unimplemented::unimplemented_stub()
7114    }
7115
7116    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
7117    fn get_operation(
7118        &self,
7119        _req: crate::model::global_organization_operations::GetRequest,
7120        _options: crate::RequestOptions,
7121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7122    {
7123        gaxi::unimplemented::unimplemented_stub()
7124    }
7125
7126    /// Returns the polling error policy.
7127    ///
7128    /// When mocking, this method is typically irrelevant. Do not try to verify
7129    /// it is called by your mocks.
7130    fn get_polling_error_policy(
7131        &self,
7132        _options: &crate::RequestOptions,
7133    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7134        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7135    }
7136
7137    /// Returns the polling backoff policy.
7138    ///
7139    /// When mocking, this method is typically irrelevant. Do not try to verify
7140    /// it is called by your mocks.
7141    fn get_polling_backoff_policy(
7142        &self,
7143        _options: &crate::RequestOptions,
7144    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7145        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7146    }
7147}
7148
7149/// Defines the trait used to implement [super::client::PacketMirrorings].
7150///
7151/// Application developers may need to implement this trait to mock
7152/// `client::PacketMirrorings`.  In other use-cases, application developers only
7153/// use `client::PacketMirrorings` and need not be concerned with this trait or
7154/// its implementations.
7155///
7156/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7157/// too. To avoid breaking applications the trait provides a default
7158/// implementation of each method. Most of these implementations just return an
7159/// error.
7160#[cfg(feature = "packet-mirrorings")]
7161#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7162pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7163    /// Implements [super::client::PacketMirrorings::aggregated_list].
7164    fn aggregated_list(
7165        &self,
7166        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7167        _options: crate::RequestOptions,
7168    ) -> impl std::future::Future<
7169        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
7170    > + Send {
7171        gaxi::unimplemented::unimplemented_stub()
7172    }
7173
7174    /// Implements [super::client::PacketMirrorings::delete].
7175    fn delete(
7176        &self,
7177        _req: crate::model::packet_mirrorings::DeleteRequest,
7178        _options: crate::RequestOptions,
7179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7180    {
7181        gaxi::unimplemented::unimplemented_stub()
7182    }
7183
7184    /// Implements [super::client::PacketMirrorings::get].
7185    fn get(
7186        &self,
7187        _req: crate::model::packet_mirrorings::GetRequest,
7188        _options: crate::RequestOptions,
7189    ) -> impl std::future::Future<
7190        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
7191    > + Send {
7192        gaxi::unimplemented::unimplemented_stub()
7193    }
7194
7195    /// Implements [super::client::PacketMirrorings::insert].
7196    fn insert(
7197        &self,
7198        _req: crate::model::packet_mirrorings::InsertRequest,
7199        _options: crate::RequestOptions,
7200    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7201    {
7202        gaxi::unimplemented::unimplemented_stub()
7203    }
7204
7205    /// Implements [super::client::PacketMirrorings::list].
7206    fn list(
7207        &self,
7208        _req: crate::model::packet_mirrorings::ListRequest,
7209        _options: crate::RequestOptions,
7210    ) -> impl std::future::Future<
7211        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
7212    > + Send {
7213        gaxi::unimplemented::unimplemented_stub()
7214    }
7215
7216    /// Implements [super::client::PacketMirrorings::patch].
7217    fn patch(
7218        &self,
7219        _req: crate::model::packet_mirrorings::PatchRequest,
7220        _options: crate::RequestOptions,
7221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7222    {
7223        gaxi::unimplemented::unimplemented_stub()
7224    }
7225
7226    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
7227    fn test_iam_permissions(
7228        &self,
7229        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7230        _options: crate::RequestOptions,
7231    ) -> impl std::future::Future<
7232        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7233    > + Send {
7234        gaxi::unimplemented::unimplemented_stub()
7235    }
7236
7237    /// Implements [super::client::PacketMirrorings::get_operation].
7238    fn get_operation(
7239        &self,
7240        _req: crate::model::region_operations::GetRequest,
7241        _options: crate::RequestOptions,
7242    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7243    {
7244        gaxi::unimplemented::unimplemented_stub()
7245    }
7246
7247    /// Returns the polling error policy.
7248    ///
7249    /// When mocking, this method is typically irrelevant. Do not try to verify
7250    /// it is called by your mocks.
7251    fn get_polling_error_policy(
7252        &self,
7253        _options: &crate::RequestOptions,
7254    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7255        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7256    }
7257
7258    /// Returns the polling backoff policy.
7259    ///
7260    /// When mocking, this method is typically irrelevant. Do not try to verify
7261    /// it is called by your mocks.
7262    fn get_polling_backoff_policy(
7263        &self,
7264        _options: &crate::RequestOptions,
7265    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7266        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7267    }
7268}
7269
7270/// Defines the trait used to implement [super::client::PreviewFeatures].
7271///
7272/// Application developers may need to implement this trait to mock
7273/// `client::PreviewFeatures`.  In other use-cases, application developers only
7274/// use `client::PreviewFeatures` and need not be concerned with this trait or
7275/// its implementations.
7276///
7277/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7278/// too. To avoid breaking applications the trait provides a default
7279/// implementation of each method. Most of these implementations just return an
7280/// error.
7281#[cfg(feature = "preview-features")]
7282#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7283pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7284    /// Implements [super::client::PreviewFeatures::get].
7285    fn get(
7286        &self,
7287        _req: crate::model::preview_features::GetRequest,
7288        _options: crate::RequestOptions,
7289    ) -> impl std::future::Future<
7290        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
7291    > + Send {
7292        gaxi::unimplemented::unimplemented_stub()
7293    }
7294
7295    /// Implements [super::client::PreviewFeatures::list].
7296    fn list(
7297        &self,
7298        _req: crate::model::preview_features::ListRequest,
7299        _options: crate::RequestOptions,
7300    ) -> impl std::future::Future<
7301        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7302    > + Send {
7303        gaxi::unimplemented::unimplemented_stub()
7304    }
7305
7306    /// Implements [super::client::PreviewFeatures::update].
7307    fn update(
7308        &self,
7309        _req: crate::model::preview_features::UpdateRequest,
7310        _options: crate::RequestOptions,
7311    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7312    {
7313        gaxi::unimplemented::unimplemented_stub()
7314    }
7315
7316    /// Implements [super::client::PreviewFeatures::get_operation].
7317    fn get_operation(
7318        &self,
7319        _req: crate::model::global_operations::GetRequest,
7320        _options: crate::RequestOptions,
7321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7322    {
7323        gaxi::unimplemented::unimplemented_stub()
7324    }
7325
7326    /// Returns the polling error policy.
7327    ///
7328    /// When mocking, this method is typically irrelevant. Do not try to verify
7329    /// it is called by your mocks.
7330    fn get_polling_error_policy(
7331        &self,
7332        _options: &crate::RequestOptions,
7333    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7334        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7335    }
7336
7337    /// Returns the polling backoff policy.
7338    ///
7339    /// When mocking, this method is typically irrelevant. Do not try to verify
7340    /// it is called by your mocks.
7341    fn get_polling_backoff_policy(
7342        &self,
7343        _options: &crate::RequestOptions,
7344    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7345        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7346    }
7347}
7348
7349/// Defines the trait used to implement [super::client::Projects].
7350///
7351/// Application developers may need to implement this trait to mock
7352/// `client::Projects`.  In other use-cases, application developers only
7353/// use `client::Projects` and need not be concerned with this trait or
7354/// its implementations.
7355///
7356/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7357/// too. To avoid breaking applications the trait provides a default
7358/// implementation of each method. Most of these implementations just return an
7359/// error.
7360#[cfg(feature = "projects")]
7361#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7362pub trait Projects: std::fmt::Debug + Send + Sync {
7363    /// Implements [super::client::Projects::disable_xpn_host].
7364    fn disable_xpn_host(
7365        &self,
7366        _req: crate::model::projects::DisableXpnHostRequest,
7367        _options: crate::RequestOptions,
7368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7369    {
7370        gaxi::unimplemented::unimplemented_stub()
7371    }
7372
7373    /// Implements [super::client::Projects::disable_xpn_resource].
7374    fn disable_xpn_resource(
7375        &self,
7376        _req: crate::model::projects::DisableXpnResourceRequest,
7377        _options: crate::RequestOptions,
7378    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7379    {
7380        gaxi::unimplemented::unimplemented_stub()
7381    }
7382
7383    /// Implements [super::client::Projects::enable_xpn_host].
7384    fn enable_xpn_host(
7385        &self,
7386        _req: crate::model::projects::EnableXpnHostRequest,
7387        _options: crate::RequestOptions,
7388    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7389    {
7390        gaxi::unimplemented::unimplemented_stub()
7391    }
7392
7393    /// Implements [super::client::Projects::enable_xpn_resource].
7394    fn enable_xpn_resource(
7395        &self,
7396        _req: crate::model::projects::EnableXpnResourceRequest,
7397        _options: crate::RequestOptions,
7398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7399    {
7400        gaxi::unimplemented::unimplemented_stub()
7401    }
7402
7403    /// Implements [super::client::Projects::get].
7404    fn get(
7405        &self,
7406        _req: crate::model::projects::GetRequest,
7407        _options: crate::RequestOptions,
7408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7409    {
7410        gaxi::unimplemented::unimplemented_stub()
7411    }
7412
7413    /// Implements [super::client::Projects::get_xpn_host].
7414    fn get_xpn_host(
7415        &self,
7416        _req: crate::model::projects::GetXpnHostRequest,
7417        _options: crate::RequestOptions,
7418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7419    {
7420        gaxi::unimplemented::unimplemented_stub()
7421    }
7422
7423    /// Implements [super::client::Projects::get_xpn_resources].
7424    fn get_xpn_resources(
7425        &self,
7426        _req: crate::model::projects::GetXpnResourcesRequest,
7427        _options: crate::RequestOptions,
7428    ) -> impl std::future::Future<
7429        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
7430    > + Send {
7431        gaxi::unimplemented::unimplemented_stub()
7432    }
7433
7434    /// Implements [super::client::Projects::list_xpn_hosts].
7435    fn list_xpn_hosts(
7436        &self,
7437        _req: crate::model::projects::ListXpnHostsRequest,
7438        _options: crate::RequestOptions,
7439    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
7440    + Send {
7441        gaxi::unimplemented::unimplemented_stub()
7442    }
7443
7444    /// Implements [super::client::Projects::move_disk].
7445    fn move_disk(
7446        &self,
7447        _req: crate::model::projects::MoveDiskRequest,
7448        _options: crate::RequestOptions,
7449    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7450    {
7451        gaxi::unimplemented::unimplemented_stub()
7452    }
7453
7454    /// Implements [super::client::Projects::move_instance].
7455    fn move_instance(
7456        &self,
7457        _req: crate::model::projects::MoveInstanceRequest,
7458        _options: crate::RequestOptions,
7459    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7460    {
7461        gaxi::unimplemented::unimplemented_stub()
7462    }
7463
7464    /// Implements [super::client::Projects::set_cloud_armor_tier].
7465    fn set_cloud_armor_tier(
7466        &self,
7467        _req: crate::model::projects::SetCloudArmorTierRequest,
7468        _options: crate::RequestOptions,
7469    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7470    {
7471        gaxi::unimplemented::unimplemented_stub()
7472    }
7473
7474    /// Implements [super::client::Projects::set_common_instance_metadata].
7475    fn set_common_instance_metadata(
7476        &self,
7477        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
7478        _options: crate::RequestOptions,
7479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7480    {
7481        gaxi::unimplemented::unimplemented_stub()
7482    }
7483
7484    /// Implements [super::client::Projects::set_default_network_tier].
7485    fn set_default_network_tier(
7486        &self,
7487        _req: crate::model::projects::SetDefaultNetworkTierRequest,
7488        _options: crate::RequestOptions,
7489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7490    {
7491        gaxi::unimplemented::unimplemented_stub()
7492    }
7493
7494    /// Implements [super::client::Projects::set_usage_export_bucket].
7495    fn set_usage_export_bucket(
7496        &self,
7497        _req: crate::model::projects::SetUsageExportBucketRequest,
7498        _options: crate::RequestOptions,
7499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7500    {
7501        gaxi::unimplemented::unimplemented_stub()
7502    }
7503
7504    /// Implements [super::client::Projects::get_operation].
7505    fn get_operation(
7506        &self,
7507        _req: crate::model::global_operations::GetRequest,
7508        _options: crate::RequestOptions,
7509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7510    {
7511        gaxi::unimplemented::unimplemented_stub()
7512    }
7513
7514    /// Returns the polling error policy.
7515    ///
7516    /// When mocking, this method is typically irrelevant. Do not try to verify
7517    /// it is called by your mocks.
7518    fn get_polling_error_policy(
7519        &self,
7520        _options: &crate::RequestOptions,
7521    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7522        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7523    }
7524
7525    /// Returns the polling backoff policy.
7526    ///
7527    /// When mocking, this method is typically irrelevant. Do not try to verify
7528    /// it is called by your mocks.
7529    fn get_polling_backoff_policy(
7530        &self,
7531        _options: &crate::RequestOptions,
7532    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7533        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7534    }
7535}
7536
7537/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
7538///
7539/// Application developers may need to implement this trait to mock
7540/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
7541/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
7542/// its implementations.
7543///
7544/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7545/// too. To avoid breaking applications the trait provides a default
7546/// implementation of each method. Most of these implementations just return an
7547/// error.
7548#[cfg(feature = "public-advertised-prefixes")]
7549#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
7550pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
7551    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
7552    fn announce(
7553        &self,
7554        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
7555        _options: crate::RequestOptions,
7556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7557    {
7558        gaxi::unimplemented::unimplemented_stub()
7559    }
7560
7561    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
7562    fn delete(
7563        &self,
7564        _req: crate::model::public_advertised_prefixes::DeleteRequest,
7565        _options: crate::RequestOptions,
7566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7567    {
7568        gaxi::unimplemented::unimplemented_stub()
7569    }
7570
7571    /// Implements [super::client::PublicAdvertisedPrefixes::get].
7572    fn get(
7573        &self,
7574        _req: crate::model::public_advertised_prefixes::GetRequest,
7575        _options: crate::RequestOptions,
7576    ) -> impl std::future::Future<
7577        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
7578    > + Send {
7579        gaxi::unimplemented::unimplemented_stub()
7580    }
7581
7582    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
7583    fn insert(
7584        &self,
7585        _req: crate::model::public_advertised_prefixes::InsertRequest,
7586        _options: crate::RequestOptions,
7587    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7588    {
7589        gaxi::unimplemented::unimplemented_stub()
7590    }
7591
7592    /// Implements [super::client::PublicAdvertisedPrefixes::list].
7593    fn list(
7594        &self,
7595        _req: crate::model::public_advertised_prefixes::ListRequest,
7596        _options: crate::RequestOptions,
7597    ) -> impl std::future::Future<
7598        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
7599    > + Send {
7600        gaxi::unimplemented::unimplemented_stub()
7601    }
7602
7603    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
7604    fn patch(
7605        &self,
7606        _req: crate::model::public_advertised_prefixes::PatchRequest,
7607        _options: crate::RequestOptions,
7608    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7609    {
7610        gaxi::unimplemented::unimplemented_stub()
7611    }
7612
7613    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
7614    fn withdraw(
7615        &self,
7616        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
7617        _options: crate::RequestOptions,
7618    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7619    {
7620        gaxi::unimplemented::unimplemented_stub()
7621    }
7622
7623    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
7624    fn get_operation(
7625        &self,
7626        _req: crate::model::global_operations::GetRequest,
7627        _options: crate::RequestOptions,
7628    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7629    {
7630        gaxi::unimplemented::unimplemented_stub()
7631    }
7632
7633    /// Returns the polling error policy.
7634    ///
7635    /// When mocking, this method is typically irrelevant. Do not try to verify
7636    /// it is called by your mocks.
7637    fn get_polling_error_policy(
7638        &self,
7639        _options: &crate::RequestOptions,
7640    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7641        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7642    }
7643
7644    /// Returns the polling backoff policy.
7645    ///
7646    /// When mocking, this method is typically irrelevant. Do not try to verify
7647    /// it is called by your mocks.
7648    fn get_polling_backoff_policy(
7649        &self,
7650        _options: &crate::RequestOptions,
7651    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7652        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7653    }
7654}
7655
7656/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
7657///
7658/// Application developers may need to implement this trait to mock
7659/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
7660/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
7661/// its implementations.
7662///
7663/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7664/// too. To avoid breaking applications the trait provides a default
7665/// implementation of each method. Most of these implementations just return an
7666/// error.
7667#[cfg(feature = "public-delegated-prefixes")]
7668#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
7669pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
7670    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
7671    fn aggregated_list(
7672        &self,
7673        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
7674        _options: crate::RequestOptions,
7675    ) -> impl std::future::Future<
7676        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
7677    > + Send {
7678        gaxi::unimplemented::unimplemented_stub()
7679    }
7680
7681    /// Implements [super::client::PublicDelegatedPrefixes::announce].
7682    fn announce(
7683        &self,
7684        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
7685        _options: crate::RequestOptions,
7686    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7687    {
7688        gaxi::unimplemented::unimplemented_stub()
7689    }
7690
7691    /// Implements [super::client::PublicDelegatedPrefixes::delete].
7692    fn delete(
7693        &self,
7694        _req: crate::model::public_delegated_prefixes::DeleteRequest,
7695        _options: crate::RequestOptions,
7696    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7697    {
7698        gaxi::unimplemented::unimplemented_stub()
7699    }
7700
7701    /// Implements [super::client::PublicDelegatedPrefixes::get].
7702    fn get(
7703        &self,
7704        _req: crate::model::public_delegated_prefixes::GetRequest,
7705        _options: crate::RequestOptions,
7706    ) -> impl std::future::Future<
7707        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
7708    > + Send {
7709        gaxi::unimplemented::unimplemented_stub()
7710    }
7711
7712    /// Implements [super::client::PublicDelegatedPrefixes::insert].
7713    fn insert(
7714        &self,
7715        _req: crate::model::public_delegated_prefixes::InsertRequest,
7716        _options: crate::RequestOptions,
7717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7718    {
7719        gaxi::unimplemented::unimplemented_stub()
7720    }
7721
7722    /// Implements [super::client::PublicDelegatedPrefixes::list].
7723    fn list(
7724        &self,
7725        _req: crate::model::public_delegated_prefixes::ListRequest,
7726        _options: crate::RequestOptions,
7727    ) -> impl std::future::Future<
7728        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
7729    > + Send {
7730        gaxi::unimplemented::unimplemented_stub()
7731    }
7732
7733    /// Implements [super::client::PublicDelegatedPrefixes::patch].
7734    fn patch(
7735        &self,
7736        _req: crate::model::public_delegated_prefixes::PatchRequest,
7737        _options: crate::RequestOptions,
7738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7739    {
7740        gaxi::unimplemented::unimplemented_stub()
7741    }
7742
7743    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
7744    fn withdraw(
7745        &self,
7746        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
7747        _options: crate::RequestOptions,
7748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7749    {
7750        gaxi::unimplemented::unimplemented_stub()
7751    }
7752
7753    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
7754    fn get_operation(
7755        &self,
7756        _req: crate::model::region_operations::GetRequest,
7757        _options: crate::RequestOptions,
7758    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7759    {
7760        gaxi::unimplemented::unimplemented_stub()
7761    }
7762
7763    /// Returns the polling error policy.
7764    ///
7765    /// When mocking, this method is typically irrelevant. Do not try to verify
7766    /// it is called by your mocks.
7767    fn get_polling_error_policy(
7768        &self,
7769        _options: &crate::RequestOptions,
7770    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7771        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7772    }
7773
7774    /// Returns the polling backoff policy.
7775    ///
7776    /// When mocking, this method is typically irrelevant. Do not try to verify
7777    /// it is called by your mocks.
7778    fn get_polling_backoff_policy(
7779        &self,
7780        _options: &crate::RequestOptions,
7781    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7782        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7783    }
7784}
7785
7786/// Defines the trait used to implement [super::client::RegionAutoscalers].
7787///
7788/// Application developers may need to implement this trait to mock
7789/// `client::RegionAutoscalers`.  In other use-cases, application developers only
7790/// use `client::RegionAutoscalers` and need not be concerned with this trait or
7791/// its implementations.
7792///
7793/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7794/// too. To avoid breaking applications the trait provides a default
7795/// implementation of each method. Most of these implementations just return an
7796/// error.
7797#[cfg(feature = "region-autoscalers")]
7798#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
7799pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
7800    /// Implements [super::client::RegionAutoscalers::delete].
7801    fn delete(
7802        &self,
7803        _req: crate::model::region_autoscalers::DeleteRequest,
7804        _options: crate::RequestOptions,
7805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7806    {
7807        gaxi::unimplemented::unimplemented_stub()
7808    }
7809
7810    /// Implements [super::client::RegionAutoscalers::get].
7811    fn get(
7812        &self,
7813        _req: crate::model::region_autoscalers::GetRequest,
7814        _options: crate::RequestOptions,
7815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
7816    {
7817        gaxi::unimplemented::unimplemented_stub()
7818    }
7819
7820    /// Implements [super::client::RegionAutoscalers::insert].
7821    fn insert(
7822        &self,
7823        _req: crate::model::region_autoscalers::InsertRequest,
7824        _options: crate::RequestOptions,
7825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7826    {
7827        gaxi::unimplemented::unimplemented_stub()
7828    }
7829
7830    /// Implements [super::client::RegionAutoscalers::list].
7831    fn list(
7832        &self,
7833        _req: crate::model::region_autoscalers::ListRequest,
7834        _options: crate::RequestOptions,
7835    ) -> impl std::future::Future<
7836        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
7837    > + Send {
7838        gaxi::unimplemented::unimplemented_stub()
7839    }
7840
7841    /// Implements [super::client::RegionAutoscalers::patch].
7842    fn patch(
7843        &self,
7844        _req: crate::model::region_autoscalers::PatchRequest,
7845        _options: crate::RequestOptions,
7846    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7847    {
7848        gaxi::unimplemented::unimplemented_stub()
7849    }
7850
7851    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
7852    fn test_iam_permissions(
7853        &self,
7854        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
7855        _options: crate::RequestOptions,
7856    ) -> impl std::future::Future<
7857        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7858    > + Send {
7859        gaxi::unimplemented::unimplemented_stub()
7860    }
7861
7862    /// Implements [super::client::RegionAutoscalers::update].
7863    fn update(
7864        &self,
7865        _req: crate::model::region_autoscalers::UpdateRequest,
7866        _options: crate::RequestOptions,
7867    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7868    {
7869        gaxi::unimplemented::unimplemented_stub()
7870    }
7871
7872    /// Implements [super::client::RegionAutoscalers::get_operation].
7873    fn get_operation(
7874        &self,
7875        _req: crate::model::region_operations::GetRequest,
7876        _options: crate::RequestOptions,
7877    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7878    {
7879        gaxi::unimplemented::unimplemented_stub()
7880    }
7881
7882    /// Returns the polling error policy.
7883    ///
7884    /// When mocking, this method is typically irrelevant. Do not try to verify
7885    /// it is called by your mocks.
7886    fn get_polling_error_policy(
7887        &self,
7888        _options: &crate::RequestOptions,
7889    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7890        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7891    }
7892
7893    /// Returns the polling backoff policy.
7894    ///
7895    /// When mocking, this method is typically irrelevant. Do not try to verify
7896    /// it is called by your mocks.
7897    fn get_polling_backoff_policy(
7898        &self,
7899        _options: &crate::RequestOptions,
7900    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7901        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7902    }
7903}
7904
7905/// Defines the trait used to implement [super::client::RegionBackendBuckets].
7906///
7907/// Application developers may need to implement this trait to mock
7908/// `client::RegionBackendBuckets`.  In other use-cases, application developers only
7909/// use `client::RegionBackendBuckets` and need not be concerned with this trait or
7910/// its implementations.
7911///
7912/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7913/// too. To avoid breaking applications the trait provides a default
7914/// implementation of each method. Most of these implementations just return an
7915/// error.
7916#[cfg(feature = "region-backend-buckets")]
7917#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-buckets")))]
7918pub trait RegionBackendBuckets: std::fmt::Debug + Send + Sync {
7919    /// Implements [super::client::RegionBackendBuckets::delete].
7920    fn delete(
7921        &self,
7922        _req: crate::model::region_backend_buckets::DeleteRequest,
7923        _options: crate::RequestOptions,
7924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7925    {
7926        gaxi::unimplemented::unimplemented_stub()
7927    }
7928
7929    /// Implements [super::client::RegionBackendBuckets::get].
7930    fn get(
7931        &self,
7932        _req: crate::model::region_backend_buckets::GetRequest,
7933        _options: crate::RequestOptions,
7934    ) -> impl std::future::Future<
7935        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
7936    > + Send {
7937        gaxi::unimplemented::unimplemented_stub()
7938    }
7939
7940    /// Implements [super::client::RegionBackendBuckets::get_iam_policy].
7941    fn get_iam_policy(
7942        &self,
7943        _req: crate::model::region_backend_buckets::GetIamPolicyRequest,
7944        _options: crate::RequestOptions,
7945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7946    {
7947        gaxi::unimplemented::unimplemented_stub()
7948    }
7949
7950    /// Implements [super::client::RegionBackendBuckets::insert].
7951    fn insert(
7952        &self,
7953        _req: crate::model::region_backend_buckets::InsertRequest,
7954        _options: crate::RequestOptions,
7955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7956    {
7957        gaxi::unimplemented::unimplemented_stub()
7958    }
7959
7960    /// Implements [super::client::RegionBackendBuckets::list].
7961    fn list(
7962        &self,
7963        _req: crate::model::region_backend_buckets::ListRequest,
7964        _options: crate::RequestOptions,
7965    ) -> impl std::future::Future<
7966        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
7967    > + Send {
7968        gaxi::unimplemented::unimplemented_stub()
7969    }
7970
7971    /// Implements [super::client::RegionBackendBuckets::list_usable].
7972    fn list_usable(
7973        &self,
7974        _req: crate::model::region_backend_buckets::ListUsableRequest,
7975        _options: crate::RequestOptions,
7976    ) -> impl std::future::Future<
7977        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
7978    > + Send {
7979        gaxi::unimplemented::unimplemented_stub()
7980    }
7981
7982    /// Implements [super::client::RegionBackendBuckets::patch].
7983    fn patch(
7984        &self,
7985        _req: crate::model::region_backend_buckets::PatchRequest,
7986        _options: crate::RequestOptions,
7987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7988    {
7989        gaxi::unimplemented::unimplemented_stub()
7990    }
7991
7992    /// Implements [super::client::RegionBackendBuckets::set_iam_policy].
7993    fn set_iam_policy(
7994        &self,
7995        _req: crate::model::region_backend_buckets::SetIamPolicyRequest,
7996        _options: crate::RequestOptions,
7997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7998    {
7999        gaxi::unimplemented::unimplemented_stub()
8000    }
8001
8002    /// Implements [super::client::RegionBackendBuckets::test_iam_permissions].
8003    fn test_iam_permissions(
8004        &self,
8005        _req: crate::model::region_backend_buckets::TestIamPermissionsRequest,
8006        _options: crate::RequestOptions,
8007    ) -> impl std::future::Future<
8008        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8009    > + Send {
8010        gaxi::unimplemented::unimplemented_stub()
8011    }
8012
8013    /// Implements [super::client::RegionBackendBuckets::get_operation].
8014    fn get_operation(
8015        &self,
8016        _req: crate::model::region_operations::GetRequest,
8017        _options: crate::RequestOptions,
8018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8019    {
8020        gaxi::unimplemented::unimplemented_stub()
8021    }
8022
8023    /// Returns the polling error policy.
8024    ///
8025    /// When mocking, this method is typically irrelevant. Do not try to verify
8026    /// it is called by your mocks.
8027    fn get_polling_error_policy(
8028        &self,
8029        _options: &crate::RequestOptions,
8030    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8031        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8032    }
8033
8034    /// Returns the polling backoff policy.
8035    ///
8036    /// When mocking, this method is typically irrelevant. Do not try to verify
8037    /// it is called by your mocks.
8038    fn get_polling_backoff_policy(
8039        &self,
8040        _options: &crate::RequestOptions,
8041    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8042        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8043    }
8044}
8045
8046/// Defines the trait used to implement [super::client::RegionBackendServices].
8047///
8048/// Application developers may need to implement this trait to mock
8049/// `client::RegionBackendServices`.  In other use-cases, application developers only
8050/// use `client::RegionBackendServices` and need not be concerned with this trait or
8051/// its implementations.
8052///
8053/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8054/// too. To avoid breaking applications the trait provides a default
8055/// implementation of each method. Most of these implementations just return an
8056/// error.
8057#[cfg(feature = "region-backend-services")]
8058#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
8059pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
8060    /// Implements [super::client::RegionBackendServices::delete].
8061    fn delete(
8062        &self,
8063        _req: crate::model::region_backend_services::DeleteRequest,
8064        _options: crate::RequestOptions,
8065    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8066    {
8067        gaxi::unimplemented::unimplemented_stub()
8068    }
8069
8070    /// Implements [super::client::RegionBackendServices::get].
8071    fn get(
8072        &self,
8073        _req: crate::model::region_backend_services::GetRequest,
8074        _options: crate::RequestOptions,
8075    ) -> impl std::future::Future<
8076        Output = crate::Result<crate::Response<crate::model::BackendService>>,
8077    > + Send {
8078        gaxi::unimplemented::unimplemented_stub()
8079    }
8080
8081    /// Implements [super::client::RegionBackendServices::get_health].
8082    fn get_health(
8083        &self,
8084        _req: crate::model::region_backend_services::GetHealthRequest,
8085        _options: crate::RequestOptions,
8086    ) -> impl std::future::Future<
8087        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
8088    > + Send {
8089        gaxi::unimplemented::unimplemented_stub()
8090    }
8091
8092    /// Implements [super::client::RegionBackendServices::get_iam_policy].
8093    fn get_iam_policy(
8094        &self,
8095        _req: crate::model::region_backend_services::GetIamPolicyRequest,
8096        _options: crate::RequestOptions,
8097    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8098    {
8099        gaxi::unimplemented::unimplemented_stub()
8100    }
8101
8102    /// Implements [super::client::RegionBackendServices::insert].
8103    fn insert(
8104        &self,
8105        _req: crate::model::region_backend_services::InsertRequest,
8106        _options: crate::RequestOptions,
8107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8108    {
8109        gaxi::unimplemented::unimplemented_stub()
8110    }
8111
8112    /// Implements [super::client::RegionBackendServices::list].
8113    fn list(
8114        &self,
8115        _req: crate::model::region_backend_services::ListRequest,
8116        _options: crate::RequestOptions,
8117    ) -> impl std::future::Future<
8118        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
8119    > + Send {
8120        gaxi::unimplemented::unimplemented_stub()
8121    }
8122
8123    /// Implements [super::client::RegionBackendServices::list_usable].
8124    fn list_usable(
8125        &self,
8126        _req: crate::model::region_backend_services::ListUsableRequest,
8127        _options: crate::RequestOptions,
8128    ) -> impl std::future::Future<
8129        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
8130    > + Send {
8131        gaxi::unimplemented::unimplemented_stub()
8132    }
8133
8134    /// Implements [super::client::RegionBackendServices::patch].
8135    fn patch(
8136        &self,
8137        _req: crate::model::region_backend_services::PatchRequest,
8138        _options: crate::RequestOptions,
8139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8140    {
8141        gaxi::unimplemented::unimplemented_stub()
8142    }
8143
8144    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8145    fn set_iam_policy(
8146        &self,
8147        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8148        _options: crate::RequestOptions,
8149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8150    {
8151        gaxi::unimplemented::unimplemented_stub()
8152    }
8153
8154    /// Implements [super::client::RegionBackendServices::set_security_policy].
8155    fn set_security_policy(
8156        &self,
8157        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
8158        _options: crate::RequestOptions,
8159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8160    {
8161        gaxi::unimplemented::unimplemented_stub()
8162    }
8163
8164    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
8165    fn test_iam_permissions(
8166        &self,
8167        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
8168        _options: crate::RequestOptions,
8169    ) -> impl std::future::Future<
8170        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8171    > + Send {
8172        gaxi::unimplemented::unimplemented_stub()
8173    }
8174
8175    /// Implements [super::client::RegionBackendServices::update].
8176    fn update(
8177        &self,
8178        _req: crate::model::region_backend_services::UpdateRequest,
8179        _options: crate::RequestOptions,
8180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8181    {
8182        gaxi::unimplemented::unimplemented_stub()
8183    }
8184
8185    /// Implements [super::client::RegionBackendServices::get_operation].
8186    fn get_operation(
8187        &self,
8188        _req: crate::model::region_operations::GetRequest,
8189        _options: crate::RequestOptions,
8190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8191    {
8192        gaxi::unimplemented::unimplemented_stub()
8193    }
8194
8195    /// Returns the polling error policy.
8196    ///
8197    /// When mocking, this method is typically irrelevant. Do not try to verify
8198    /// it is called by your mocks.
8199    fn get_polling_error_policy(
8200        &self,
8201        _options: &crate::RequestOptions,
8202    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8203        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8204    }
8205
8206    /// Returns the polling backoff policy.
8207    ///
8208    /// When mocking, this method is typically irrelevant. Do not try to verify
8209    /// it is called by your mocks.
8210    fn get_polling_backoff_policy(
8211        &self,
8212        _options: &crate::RequestOptions,
8213    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8214        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8215    }
8216}
8217
8218/// Defines the trait used to implement [super::client::RegionCommitments].
8219///
8220/// Application developers may need to implement this trait to mock
8221/// `client::RegionCommitments`.  In other use-cases, application developers only
8222/// use `client::RegionCommitments` and need not be concerned with this trait or
8223/// its implementations.
8224///
8225/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8226/// too. To avoid breaking applications the trait provides a default
8227/// implementation of each method. Most of these implementations just return an
8228/// error.
8229#[cfg(feature = "region-commitments")]
8230#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
8231pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
8232    /// Implements [super::client::RegionCommitments::aggregated_list].
8233    fn aggregated_list(
8234        &self,
8235        _req: crate::model::region_commitments::AggregatedListRequest,
8236        _options: crate::RequestOptions,
8237    ) -> impl std::future::Future<
8238        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
8239    > + Send {
8240        gaxi::unimplemented::unimplemented_stub()
8241    }
8242
8243    /// Implements [super::client::RegionCommitments::get].
8244    fn get(
8245        &self,
8246        _req: crate::model::region_commitments::GetRequest,
8247        _options: crate::RequestOptions,
8248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
8249    {
8250        gaxi::unimplemented::unimplemented_stub()
8251    }
8252
8253    /// Implements [super::client::RegionCommitments::insert].
8254    fn insert(
8255        &self,
8256        _req: crate::model::region_commitments::InsertRequest,
8257        _options: crate::RequestOptions,
8258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8259    {
8260        gaxi::unimplemented::unimplemented_stub()
8261    }
8262
8263    /// Implements [super::client::RegionCommitments::list].
8264    fn list(
8265        &self,
8266        _req: crate::model::region_commitments::ListRequest,
8267        _options: crate::RequestOptions,
8268    ) -> impl std::future::Future<
8269        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
8270    > + Send {
8271        gaxi::unimplemented::unimplemented_stub()
8272    }
8273
8274    /// Implements [super::client::RegionCommitments::update].
8275    fn update(
8276        &self,
8277        _req: crate::model::region_commitments::UpdateRequest,
8278        _options: crate::RequestOptions,
8279    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8280    {
8281        gaxi::unimplemented::unimplemented_stub()
8282    }
8283
8284    /// Implements [super::client::RegionCommitments::get_operation].
8285    fn get_operation(
8286        &self,
8287        _req: crate::model::region_operations::GetRequest,
8288        _options: crate::RequestOptions,
8289    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8290    {
8291        gaxi::unimplemented::unimplemented_stub()
8292    }
8293
8294    /// Returns the polling error policy.
8295    ///
8296    /// When mocking, this method is typically irrelevant. Do not try to verify
8297    /// it is called by your mocks.
8298    fn get_polling_error_policy(
8299        &self,
8300        _options: &crate::RequestOptions,
8301    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8302        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8303    }
8304
8305    /// Returns the polling backoff policy.
8306    ///
8307    /// When mocking, this method is typically irrelevant. Do not try to verify
8308    /// it is called by your mocks.
8309    fn get_polling_backoff_policy(
8310        &self,
8311        _options: &crate::RequestOptions,
8312    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8313        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8314    }
8315}
8316
8317/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
8318///
8319/// Application developers may need to implement this trait to mock
8320/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
8321/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
8322/// its implementations.
8323///
8324/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8325/// too. To avoid breaking applications the trait provides a default
8326/// implementation of each method. Most of these implementations just return an
8327/// error.
8328#[cfg(feature = "region-composite-health-checks")]
8329#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
8330pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
8331    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
8332    fn aggregated_list(
8333        &self,
8334        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
8335        _options: crate::RequestOptions,
8336    ) -> impl std::future::Future<
8337        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
8338    > + Send {
8339        gaxi::unimplemented::unimplemented_stub()
8340    }
8341
8342    /// Implements [super::client::RegionCompositeHealthChecks::delete].
8343    fn delete(
8344        &self,
8345        _req: crate::model::region_composite_health_checks::DeleteRequest,
8346        _options: crate::RequestOptions,
8347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8348    {
8349        gaxi::unimplemented::unimplemented_stub()
8350    }
8351
8352    /// Implements [super::client::RegionCompositeHealthChecks::get].
8353    fn get(
8354        &self,
8355        _req: crate::model::region_composite_health_checks::GetRequest,
8356        _options: crate::RequestOptions,
8357    ) -> impl std::future::Future<
8358        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
8359    > + Send {
8360        gaxi::unimplemented::unimplemented_stub()
8361    }
8362
8363    /// Implements [super::client::RegionCompositeHealthChecks::get_health].
8364    fn get_health(
8365        &self,
8366        _req: crate::model::region_composite_health_checks::GetHealthRequest,
8367        _options: crate::RequestOptions,
8368    ) -> impl std::future::Future<
8369        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckHealth>>,
8370    > + Send {
8371        gaxi::unimplemented::unimplemented_stub()
8372    }
8373
8374    /// Implements [super::client::RegionCompositeHealthChecks::insert].
8375    fn insert(
8376        &self,
8377        _req: crate::model::region_composite_health_checks::InsertRequest,
8378        _options: crate::RequestOptions,
8379    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8380    {
8381        gaxi::unimplemented::unimplemented_stub()
8382    }
8383
8384    /// Implements [super::client::RegionCompositeHealthChecks::list].
8385    fn list(
8386        &self,
8387        _req: crate::model::region_composite_health_checks::ListRequest,
8388        _options: crate::RequestOptions,
8389    ) -> impl std::future::Future<
8390        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
8391    > + Send {
8392        gaxi::unimplemented::unimplemented_stub()
8393    }
8394
8395    /// Implements [super::client::RegionCompositeHealthChecks::patch].
8396    fn patch(
8397        &self,
8398        _req: crate::model::region_composite_health_checks::PatchRequest,
8399        _options: crate::RequestOptions,
8400    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8401    {
8402        gaxi::unimplemented::unimplemented_stub()
8403    }
8404
8405    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
8406    fn test_iam_permissions(
8407        &self,
8408        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
8409        _options: crate::RequestOptions,
8410    ) -> impl std::future::Future<
8411        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8412    > + Send {
8413        gaxi::unimplemented::unimplemented_stub()
8414    }
8415
8416    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
8417    fn get_operation(
8418        &self,
8419        _req: crate::model::region_operations::GetRequest,
8420        _options: crate::RequestOptions,
8421    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8422    {
8423        gaxi::unimplemented::unimplemented_stub()
8424    }
8425
8426    /// Returns the polling error policy.
8427    ///
8428    /// When mocking, this method is typically irrelevant. Do not try to verify
8429    /// it is called by your mocks.
8430    fn get_polling_error_policy(
8431        &self,
8432        _options: &crate::RequestOptions,
8433    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8434        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8435    }
8436
8437    /// Returns the polling backoff policy.
8438    ///
8439    /// When mocking, this method is typically irrelevant. Do not try to verify
8440    /// it is called by your mocks.
8441    fn get_polling_backoff_policy(
8442        &self,
8443        _options: &crate::RequestOptions,
8444    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8445        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8446    }
8447}
8448
8449/// Defines the trait used to implement [super::client::RegionDiskTypes].
8450///
8451/// Application developers may need to implement this trait to mock
8452/// `client::RegionDiskTypes`.  In other use-cases, application developers only
8453/// use `client::RegionDiskTypes` and need not be concerned with this trait or
8454/// its implementations.
8455///
8456/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8457/// too. To avoid breaking applications the trait provides a default
8458/// implementation of each method. Most of these implementations just return an
8459/// error.
8460#[cfg(feature = "region-disk-types")]
8461#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
8462pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
8463    /// Implements [super::client::RegionDiskTypes::get].
8464    fn get(
8465        &self,
8466        _req: crate::model::region_disk_types::GetRequest,
8467        _options: crate::RequestOptions,
8468    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
8469    {
8470        gaxi::unimplemented::unimplemented_stub()
8471    }
8472
8473    /// Implements [super::client::RegionDiskTypes::list].
8474    fn list(
8475        &self,
8476        _req: crate::model::region_disk_types::ListRequest,
8477        _options: crate::RequestOptions,
8478    ) -> impl std::future::Future<
8479        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
8480    > + Send {
8481        gaxi::unimplemented::unimplemented_stub()
8482    }
8483}
8484
8485/// Defines the trait used to implement [super::client::RegionDisks].
8486///
8487/// Application developers may need to implement this trait to mock
8488/// `client::RegionDisks`.  In other use-cases, application developers only
8489/// use `client::RegionDisks` and need not be concerned with this trait or
8490/// its implementations.
8491///
8492/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8493/// too. To avoid breaking applications the trait provides a default
8494/// implementation of each method. Most of these implementations just return an
8495/// error.
8496#[cfg(feature = "region-disks")]
8497#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
8498pub trait RegionDisks: std::fmt::Debug + Send + Sync {
8499    /// Implements [super::client::RegionDisks::add_resource_policies].
8500    fn add_resource_policies(
8501        &self,
8502        _req: crate::model::region_disks::AddResourcePoliciesRequest,
8503        _options: crate::RequestOptions,
8504    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8505    {
8506        gaxi::unimplemented::unimplemented_stub()
8507    }
8508
8509    /// Implements [super::client::RegionDisks::bulk_insert].
8510    fn bulk_insert(
8511        &self,
8512        _req: crate::model::region_disks::BulkInsertRequest,
8513        _options: crate::RequestOptions,
8514    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8515    {
8516        gaxi::unimplemented::unimplemented_stub()
8517    }
8518
8519    /// Implements [super::client::RegionDisks::create_snapshot].
8520    fn create_snapshot(
8521        &self,
8522        _req: crate::model::region_disks::CreateSnapshotRequest,
8523        _options: crate::RequestOptions,
8524    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8525    {
8526        gaxi::unimplemented::unimplemented_stub()
8527    }
8528
8529    /// Implements [super::client::RegionDisks::delete].
8530    fn delete(
8531        &self,
8532        _req: crate::model::region_disks::DeleteRequest,
8533        _options: crate::RequestOptions,
8534    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8535    {
8536        gaxi::unimplemented::unimplemented_stub()
8537    }
8538
8539    /// Implements [super::client::RegionDisks::get].
8540    fn get(
8541        &self,
8542        _req: crate::model::region_disks::GetRequest,
8543        _options: crate::RequestOptions,
8544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
8545    {
8546        gaxi::unimplemented::unimplemented_stub()
8547    }
8548
8549    /// Implements [super::client::RegionDisks::get_iam_policy].
8550    fn get_iam_policy(
8551        &self,
8552        _req: crate::model::region_disks::GetIamPolicyRequest,
8553        _options: crate::RequestOptions,
8554    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8555    {
8556        gaxi::unimplemented::unimplemented_stub()
8557    }
8558
8559    /// Implements [super::client::RegionDisks::insert].
8560    fn insert(
8561        &self,
8562        _req: crate::model::region_disks::InsertRequest,
8563        _options: crate::RequestOptions,
8564    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8565    {
8566        gaxi::unimplemented::unimplemented_stub()
8567    }
8568
8569    /// Implements [super::client::RegionDisks::list].
8570    fn list(
8571        &self,
8572        _req: crate::model::region_disks::ListRequest,
8573        _options: crate::RequestOptions,
8574    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
8575    {
8576        gaxi::unimplemented::unimplemented_stub()
8577    }
8578
8579    /// Implements [super::client::RegionDisks::remove_resource_policies].
8580    fn remove_resource_policies(
8581        &self,
8582        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
8583        _options: crate::RequestOptions,
8584    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8585    {
8586        gaxi::unimplemented::unimplemented_stub()
8587    }
8588
8589    /// Implements [super::client::RegionDisks::resize].
8590    fn resize(
8591        &self,
8592        _req: crate::model::region_disks::ResizeRequest,
8593        _options: crate::RequestOptions,
8594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8595    {
8596        gaxi::unimplemented::unimplemented_stub()
8597    }
8598
8599    /// Implements [super::client::RegionDisks::set_iam_policy].
8600    fn set_iam_policy(
8601        &self,
8602        _req: crate::model::region_disks::SetIamPolicyRequest,
8603        _options: crate::RequestOptions,
8604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8605    {
8606        gaxi::unimplemented::unimplemented_stub()
8607    }
8608
8609    /// Implements [super::client::RegionDisks::set_labels].
8610    fn set_labels(
8611        &self,
8612        _req: crate::model::region_disks::SetLabelsRequest,
8613        _options: crate::RequestOptions,
8614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8615    {
8616        gaxi::unimplemented::unimplemented_stub()
8617    }
8618
8619    /// Implements [super::client::RegionDisks::start_async_replication].
8620    fn start_async_replication(
8621        &self,
8622        _req: crate::model::region_disks::StartAsyncReplicationRequest,
8623        _options: crate::RequestOptions,
8624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8625    {
8626        gaxi::unimplemented::unimplemented_stub()
8627    }
8628
8629    /// Implements [super::client::RegionDisks::stop_async_replication].
8630    fn stop_async_replication(
8631        &self,
8632        _req: crate::model::region_disks::StopAsyncReplicationRequest,
8633        _options: crate::RequestOptions,
8634    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8635    {
8636        gaxi::unimplemented::unimplemented_stub()
8637    }
8638
8639    /// Implements [super::client::RegionDisks::stop_group_async_replication].
8640    fn stop_group_async_replication(
8641        &self,
8642        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
8643        _options: crate::RequestOptions,
8644    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8645    {
8646        gaxi::unimplemented::unimplemented_stub()
8647    }
8648
8649    /// Implements [super::client::RegionDisks::test_iam_permissions].
8650    fn test_iam_permissions(
8651        &self,
8652        _req: crate::model::region_disks::TestIamPermissionsRequest,
8653        _options: crate::RequestOptions,
8654    ) -> impl std::future::Future<
8655        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8656    > + Send {
8657        gaxi::unimplemented::unimplemented_stub()
8658    }
8659
8660    /// Implements [super::client::RegionDisks::update].
8661    fn update(
8662        &self,
8663        _req: crate::model::region_disks::UpdateRequest,
8664        _options: crate::RequestOptions,
8665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8666    {
8667        gaxi::unimplemented::unimplemented_stub()
8668    }
8669
8670    /// Implements [super::client::RegionDisks::update_kms_key].
8671    fn update_kms_key(
8672        &self,
8673        _req: crate::model::region_disks::UpdateKmsKeyRequest,
8674        _options: crate::RequestOptions,
8675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8676    {
8677        gaxi::unimplemented::unimplemented_stub()
8678    }
8679
8680    /// Implements [super::client::RegionDisks::get_operation].
8681    fn get_operation(
8682        &self,
8683        _req: crate::model::region_operations::GetRequest,
8684        _options: crate::RequestOptions,
8685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8686    {
8687        gaxi::unimplemented::unimplemented_stub()
8688    }
8689
8690    /// Returns the polling error policy.
8691    ///
8692    /// When mocking, this method is typically irrelevant. Do not try to verify
8693    /// it is called by your mocks.
8694    fn get_polling_error_policy(
8695        &self,
8696        _options: &crate::RequestOptions,
8697    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8698        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8699    }
8700
8701    /// Returns the polling backoff policy.
8702    ///
8703    /// When mocking, this method is typically irrelevant. Do not try to verify
8704    /// it is called by your mocks.
8705    fn get_polling_backoff_policy(
8706        &self,
8707        _options: &crate::RequestOptions,
8708    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8709        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8710    }
8711}
8712
8713/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
8714///
8715/// Application developers may need to implement this trait to mock
8716/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
8717/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
8718/// its implementations.
8719///
8720/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8721/// too. To avoid breaking applications the trait provides a default
8722/// implementation of each method. Most of these implementations just return an
8723/// error.
8724#[cfg(feature = "region-health-aggregation-policies")]
8725#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
8726pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
8727    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
8728    fn aggregated_list(
8729        &self,
8730        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
8731        _options: crate::RequestOptions,
8732    ) -> impl std::future::Future<
8733        Output = crate::Result<
8734            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
8735        >,
8736    > + Send {
8737        gaxi::unimplemented::unimplemented_stub()
8738    }
8739
8740    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
8741    fn delete(
8742        &self,
8743        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
8744        _options: crate::RequestOptions,
8745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8746    {
8747        gaxi::unimplemented::unimplemented_stub()
8748    }
8749
8750    /// Implements [super::client::RegionHealthAggregationPolicies::get].
8751    fn get(
8752        &self,
8753        _req: crate::model::region_health_aggregation_policies::GetRequest,
8754        _options: crate::RequestOptions,
8755    ) -> impl std::future::Future<
8756        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
8757    > + Send {
8758        gaxi::unimplemented::unimplemented_stub()
8759    }
8760
8761    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
8762    fn insert(
8763        &self,
8764        _req: crate::model::region_health_aggregation_policies::InsertRequest,
8765        _options: crate::RequestOptions,
8766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8767    {
8768        gaxi::unimplemented::unimplemented_stub()
8769    }
8770
8771    /// Implements [super::client::RegionHealthAggregationPolicies::list].
8772    fn list(
8773        &self,
8774        _req: crate::model::region_health_aggregation_policies::ListRequest,
8775        _options: crate::RequestOptions,
8776    ) -> impl std::future::Future<
8777        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
8778    > + Send {
8779        gaxi::unimplemented::unimplemented_stub()
8780    }
8781
8782    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
8783    fn patch(
8784        &self,
8785        _req: crate::model::region_health_aggregation_policies::PatchRequest,
8786        _options: crate::RequestOptions,
8787    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8788    {
8789        gaxi::unimplemented::unimplemented_stub()
8790    }
8791
8792    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
8793    fn test_iam_permissions(
8794        &self,
8795        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
8796        _options: crate::RequestOptions,
8797    ) -> impl std::future::Future<
8798        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8799    > + Send {
8800        gaxi::unimplemented::unimplemented_stub()
8801    }
8802
8803    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
8804    fn get_operation(
8805        &self,
8806        _req: crate::model::region_operations::GetRequest,
8807        _options: crate::RequestOptions,
8808    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8809    {
8810        gaxi::unimplemented::unimplemented_stub()
8811    }
8812
8813    /// Returns the polling error policy.
8814    ///
8815    /// When mocking, this method is typically irrelevant. Do not try to verify
8816    /// it is called by your mocks.
8817    fn get_polling_error_policy(
8818        &self,
8819        _options: &crate::RequestOptions,
8820    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8821        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8822    }
8823
8824    /// Returns the polling backoff policy.
8825    ///
8826    /// When mocking, this method is typically irrelevant. Do not try to verify
8827    /// it is called by your mocks.
8828    fn get_polling_backoff_policy(
8829        &self,
8830        _options: &crate::RequestOptions,
8831    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8832        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8833    }
8834}
8835
8836/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
8837///
8838/// Application developers may need to implement this trait to mock
8839/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
8840/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
8841/// its implementations.
8842///
8843/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8844/// too. To avoid breaking applications the trait provides a default
8845/// implementation of each method. Most of these implementations just return an
8846/// error.
8847#[cfg(feature = "region-health-check-services")]
8848#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
8849pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
8850    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
8851    fn aggregated_list(
8852        &self,
8853        _req: crate::model::region_health_check_services::AggregatedListRequest,
8854        _options: crate::RequestOptions,
8855    ) -> impl std::future::Future<
8856        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
8857    > + Send {
8858        gaxi::unimplemented::unimplemented_stub()
8859    }
8860
8861    /// Implements [super::client::RegionHealthCheckServices::delete].
8862    fn delete(
8863        &self,
8864        _req: crate::model::region_health_check_services::DeleteRequest,
8865        _options: crate::RequestOptions,
8866    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8867    {
8868        gaxi::unimplemented::unimplemented_stub()
8869    }
8870
8871    /// Implements [super::client::RegionHealthCheckServices::get].
8872    fn get(
8873        &self,
8874        _req: crate::model::region_health_check_services::GetRequest,
8875        _options: crate::RequestOptions,
8876    ) -> impl std::future::Future<
8877        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
8878    > + Send {
8879        gaxi::unimplemented::unimplemented_stub()
8880    }
8881
8882    /// Implements [super::client::RegionHealthCheckServices::insert].
8883    fn insert(
8884        &self,
8885        _req: crate::model::region_health_check_services::InsertRequest,
8886        _options: crate::RequestOptions,
8887    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8888    {
8889        gaxi::unimplemented::unimplemented_stub()
8890    }
8891
8892    /// Implements [super::client::RegionHealthCheckServices::list].
8893    fn list(
8894        &self,
8895        _req: crate::model::region_health_check_services::ListRequest,
8896        _options: crate::RequestOptions,
8897    ) -> impl std::future::Future<
8898        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
8899    > + Send {
8900        gaxi::unimplemented::unimplemented_stub()
8901    }
8902
8903    /// Implements [super::client::RegionHealthCheckServices::patch].
8904    fn patch(
8905        &self,
8906        _req: crate::model::region_health_check_services::PatchRequest,
8907        _options: crate::RequestOptions,
8908    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8909    {
8910        gaxi::unimplemented::unimplemented_stub()
8911    }
8912
8913    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
8914    fn test_iam_permissions(
8915        &self,
8916        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
8917        _options: crate::RequestOptions,
8918    ) -> impl std::future::Future<
8919        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8920    > + Send {
8921        gaxi::unimplemented::unimplemented_stub()
8922    }
8923
8924    /// Implements [super::client::RegionHealthCheckServices::get_operation].
8925    fn get_operation(
8926        &self,
8927        _req: crate::model::region_operations::GetRequest,
8928        _options: crate::RequestOptions,
8929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8930    {
8931        gaxi::unimplemented::unimplemented_stub()
8932    }
8933
8934    /// Returns the polling error policy.
8935    ///
8936    /// When mocking, this method is typically irrelevant. Do not try to verify
8937    /// it is called by your mocks.
8938    fn get_polling_error_policy(
8939        &self,
8940        _options: &crate::RequestOptions,
8941    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8942        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8943    }
8944
8945    /// Returns the polling backoff policy.
8946    ///
8947    /// When mocking, this method is typically irrelevant. Do not try to verify
8948    /// it is called by your mocks.
8949    fn get_polling_backoff_policy(
8950        &self,
8951        _options: &crate::RequestOptions,
8952    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8953        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8954    }
8955}
8956
8957/// Defines the trait used to implement [super::client::RegionHealthChecks].
8958///
8959/// Application developers may need to implement this trait to mock
8960/// `client::RegionHealthChecks`.  In other use-cases, application developers only
8961/// use `client::RegionHealthChecks` and need not be concerned with this trait or
8962/// its implementations.
8963///
8964/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8965/// too. To avoid breaking applications the trait provides a default
8966/// implementation of each method. Most of these implementations just return an
8967/// error.
8968#[cfg(feature = "region-health-checks")]
8969#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
8970pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
8971    /// Implements [super::client::RegionHealthChecks::delete].
8972    fn delete(
8973        &self,
8974        _req: crate::model::region_health_checks::DeleteRequest,
8975        _options: crate::RequestOptions,
8976    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8977    {
8978        gaxi::unimplemented::unimplemented_stub()
8979    }
8980
8981    /// Implements [super::client::RegionHealthChecks::get].
8982    fn get(
8983        &self,
8984        _req: crate::model::region_health_checks::GetRequest,
8985        _options: crate::RequestOptions,
8986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
8987    + Send {
8988        gaxi::unimplemented::unimplemented_stub()
8989    }
8990
8991    /// Implements [super::client::RegionHealthChecks::insert].
8992    fn insert(
8993        &self,
8994        _req: crate::model::region_health_checks::InsertRequest,
8995        _options: crate::RequestOptions,
8996    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8997    {
8998        gaxi::unimplemented::unimplemented_stub()
8999    }
9000
9001    /// Implements [super::client::RegionHealthChecks::list].
9002    fn list(
9003        &self,
9004        _req: crate::model::region_health_checks::ListRequest,
9005        _options: crate::RequestOptions,
9006    ) -> impl std::future::Future<
9007        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
9008    > + Send {
9009        gaxi::unimplemented::unimplemented_stub()
9010    }
9011
9012    /// Implements [super::client::RegionHealthChecks::patch].
9013    fn patch(
9014        &self,
9015        _req: crate::model::region_health_checks::PatchRequest,
9016        _options: crate::RequestOptions,
9017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9018    {
9019        gaxi::unimplemented::unimplemented_stub()
9020    }
9021
9022    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
9023    fn test_iam_permissions(
9024        &self,
9025        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
9026        _options: crate::RequestOptions,
9027    ) -> impl std::future::Future<
9028        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9029    > + Send {
9030        gaxi::unimplemented::unimplemented_stub()
9031    }
9032
9033    /// Implements [super::client::RegionHealthChecks::update].
9034    fn update(
9035        &self,
9036        _req: crate::model::region_health_checks::UpdateRequest,
9037        _options: crate::RequestOptions,
9038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9039    {
9040        gaxi::unimplemented::unimplemented_stub()
9041    }
9042
9043    /// Implements [super::client::RegionHealthChecks::get_operation].
9044    fn get_operation(
9045        &self,
9046        _req: crate::model::region_operations::GetRequest,
9047        _options: crate::RequestOptions,
9048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9049    {
9050        gaxi::unimplemented::unimplemented_stub()
9051    }
9052
9053    /// Returns the polling error policy.
9054    ///
9055    /// When mocking, this method is typically irrelevant. Do not try to verify
9056    /// it is called by your mocks.
9057    fn get_polling_error_policy(
9058        &self,
9059        _options: &crate::RequestOptions,
9060    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9061        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9062    }
9063
9064    /// Returns the polling backoff policy.
9065    ///
9066    /// When mocking, this method is typically irrelevant. Do not try to verify
9067    /// it is called by your mocks.
9068    fn get_polling_backoff_policy(
9069        &self,
9070        _options: &crate::RequestOptions,
9071    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9072        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9073    }
9074}
9075
9076/// Defines the trait used to implement [super::client::RegionHealthSources].
9077///
9078/// Application developers may need to implement this trait to mock
9079/// `client::RegionHealthSources`.  In other use-cases, application developers only
9080/// use `client::RegionHealthSources` and need not be concerned with this trait or
9081/// its implementations.
9082///
9083/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9084/// too. To avoid breaking applications the trait provides a default
9085/// implementation of each method. Most of these implementations just return an
9086/// error.
9087#[cfg(feature = "region-health-sources")]
9088#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
9089pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
9090    /// Implements [super::client::RegionHealthSources::aggregated_list].
9091    fn aggregated_list(
9092        &self,
9093        _req: crate::model::region_health_sources::AggregatedListRequest,
9094        _options: crate::RequestOptions,
9095    ) -> impl std::future::Future<
9096        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
9097    > + Send {
9098        gaxi::unimplemented::unimplemented_stub()
9099    }
9100
9101    /// Implements [super::client::RegionHealthSources::delete].
9102    fn delete(
9103        &self,
9104        _req: crate::model::region_health_sources::DeleteRequest,
9105        _options: crate::RequestOptions,
9106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9107    {
9108        gaxi::unimplemented::unimplemented_stub()
9109    }
9110
9111    /// Implements [super::client::RegionHealthSources::get].
9112    fn get(
9113        &self,
9114        _req: crate::model::region_health_sources::GetRequest,
9115        _options: crate::RequestOptions,
9116    ) -> impl std::future::Future<
9117        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
9118    > + Send {
9119        gaxi::unimplemented::unimplemented_stub()
9120    }
9121
9122    /// Implements [super::client::RegionHealthSources::get_health].
9123    fn get_health(
9124        &self,
9125        _req: crate::model::region_health_sources::GetHealthRequest,
9126        _options: crate::RequestOptions,
9127    ) -> impl std::future::Future<
9128        Output = crate::Result<crate::Response<crate::model::HealthSourceHealth>>,
9129    > + Send {
9130        gaxi::unimplemented::unimplemented_stub()
9131    }
9132
9133    /// Implements [super::client::RegionHealthSources::insert].
9134    fn insert(
9135        &self,
9136        _req: crate::model::region_health_sources::InsertRequest,
9137        _options: crate::RequestOptions,
9138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9139    {
9140        gaxi::unimplemented::unimplemented_stub()
9141    }
9142
9143    /// Implements [super::client::RegionHealthSources::list].
9144    fn list(
9145        &self,
9146        _req: crate::model::region_health_sources::ListRequest,
9147        _options: crate::RequestOptions,
9148    ) -> impl std::future::Future<
9149        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
9150    > + Send {
9151        gaxi::unimplemented::unimplemented_stub()
9152    }
9153
9154    /// Implements [super::client::RegionHealthSources::patch].
9155    fn patch(
9156        &self,
9157        _req: crate::model::region_health_sources::PatchRequest,
9158        _options: crate::RequestOptions,
9159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9160    {
9161        gaxi::unimplemented::unimplemented_stub()
9162    }
9163
9164    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
9165    fn test_iam_permissions(
9166        &self,
9167        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
9168        _options: crate::RequestOptions,
9169    ) -> impl std::future::Future<
9170        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9171    > + Send {
9172        gaxi::unimplemented::unimplemented_stub()
9173    }
9174
9175    /// Implements [super::client::RegionHealthSources::get_operation].
9176    fn get_operation(
9177        &self,
9178        _req: crate::model::region_operations::GetRequest,
9179        _options: crate::RequestOptions,
9180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9181    {
9182        gaxi::unimplemented::unimplemented_stub()
9183    }
9184
9185    /// Returns the polling error policy.
9186    ///
9187    /// When mocking, this method is typically irrelevant. Do not try to verify
9188    /// it is called by your mocks.
9189    fn get_polling_error_policy(
9190        &self,
9191        _options: &crate::RequestOptions,
9192    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9193        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9194    }
9195
9196    /// Returns the polling backoff policy.
9197    ///
9198    /// When mocking, this method is typically irrelevant. Do not try to verify
9199    /// it is called by your mocks.
9200    fn get_polling_backoff_policy(
9201        &self,
9202        _options: &crate::RequestOptions,
9203    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9204        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9205    }
9206}
9207
9208/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
9209///
9210/// Application developers may need to implement this trait to mock
9211/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
9212/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
9213/// its implementations.
9214///
9215/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9216/// too. To avoid breaking applications the trait provides a default
9217/// implementation of each method. Most of these implementations just return an
9218/// error.
9219#[cfg(feature = "region-instance-group-manager-resize-requests")]
9220#[cfg_attr(
9221    docsrs,
9222    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
9223)]
9224pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
9225    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
9226    fn cancel(
9227        &self,
9228        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
9229        _options: crate::RequestOptions,
9230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9231    {
9232        gaxi::unimplemented::unimplemented_stub()
9233    }
9234
9235    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
9236    fn delete(
9237        &self,
9238        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
9239        _options: crate::RequestOptions,
9240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9241    {
9242        gaxi::unimplemented::unimplemented_stub()
9243    }
9244
9245    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
9246    fn get(
9247        &self,
9248        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
9249        _options: crate::RequestOptions,
9250    ) -> impl std::future::Future<
9251        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
9252    > + Send {
9253        gaxi::unimplemented::unimplemented_stub()
9254    }
9255
9256    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
9257    fn insert(
9258        &self,
9259        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
9260        _options: crate::RequestOptions,
9261    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9262    {
9263        gaxi::unimplemented::unimplemented_stub()
9264    }
9265
9266    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::list].
9267    fn list(
9268        &self,
9269        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
9270        _options: crate::RequestOptions,
9271    ) -> impl std::future::Future<
9272        Output = crate::Result<
9273            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
9274        >,
9275    > + Send {
9276        gaxi::unimplemented::unimplemented_stub()
9277    }
9278
9279    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
9280    fn get_operation(
9281        &self,
9282        _req: crate::model::region_operations::GetRequest,
9283        _options: crate::RequestOptions,
9284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9285    {
9286        gaxi::unimplemented::unimplemented_stub()
9287    }
9288
9289    /// Returns the polling error policy.
9290    ///
9291    /// When mocking, this method is typically irrelevant. Do not try to verify
9292    /// it is called by your mocks.
9293    fn get_polling_error_policy(
9294        &self,
9295        _options: &crate::RequestOptions,
9296    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9297        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9298    }
9299
9300    /// Returns the polling backoff policy.
9301    ///
9302    /// When mocking, this method is typically irrelevant. Do not try to verify
9303    /// it is called by your mocks.
9304    fn get_polling_backoff_policy(
9305        &self,
9306        _options: &crate::RequestOptions,
9307    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9308        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9309    }
9310}
9311
9312/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
9313///
9314/// Application developers may need to implement this trait to mock
9315/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
9316/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
9317/// its implementations.
9318///
9319/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9320/// too. To avoid breaking applications the trait provides a default
9321/// implementation of each method. Most of these implementations just return an
9322/// error.
9323#[cfg(feature = "region-instance-group-managers")]
9324#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
9325pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
9326    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
9327    fn abandon_instances(
9328        &self,
9329        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
9330        _options: crate::RequestOptions,
9331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9332    {
9333        gaxi::unimplemented::unimplemented_stub()
9334    }
9335
9336    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
9337    fn apply_updates_to_instances(
9338        &self,
9339        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
9340        _options: crate::RequestOptions,
9341    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9342    {
9343        gaxi::unimplemented::unimplemented_stub()
9344    }
9345
9346    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
9347    fn create_instances(
9348        &self,
9349        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
9350        _options: crate::RequestOptions,
9351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9352    {
9353        gaxi::unimplemented::unimplemented_stub()
9354    }
9355
9356    /// Implements [super::client::RegionInstanceGroupManagers::delete].
9357    fn delete(
9358        &self,
9359        _req: crate::model::region_instance_group_managers::DeleteRequest,
9360        _options: crate::RequestOptions,
9361    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9362    {
9363        gaxi::unimplemented::unimplemented_stub()
9364    }
9365
9366    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
9367    fn delete_instances(
9368        &self,
9369        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
9370        _options: crate::RequestOptions,
9371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9372    {
9373        gaxi::unimplemented::unimplemented_stub()
9374    }
9375
9376    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
9377    fn delete_per_instance_configs(
9378        &self,
9379        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
9380        _options: crate::RequestOptions,
9381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9382    {
9383        gaxi::unimplemented::unimplemented_stub()
9384    }
9385
9386    /// Implements [super::client::RegionInstanceGroupManagers::get].
9387    fn get(
9388        &self,
9389        _req: crate::model::region_instance_group_managers::GetRequest,
9390        _options: crate::RequestOptions,
9391    ) -> impl std::future::Future<
9392        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
9393    > + Send {
9394        gaxi::unimplemented::unimplemented_stub()
9395    }
9396
9397    /// Implements [super::client::RegionInstanceGroupManagers::insert].
9398    fn insert(
9399        &self,
9400        _req: crate::model::region_instance_group_managers::InsertRequest,
9401        _options: crate::RequestOptions,
9402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9403    {
9404        gaxi::unimplemented::unimplemented_stub()
9405    }
9406
9407    /// Implements [super::client::RegionInstanceGroupManagers::list].
9408    fn list(
9409        &self,
9410        _req: crate::model::region_instance_group_managers::ListRequest,
9411        _options: crate::RequestOptions,
9412    ) -> impl std::future::Future<
9413        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
9414    > + Send {
9415        gaxi::unimplemented::unimplemented_stub()
9416    }
9417
9418    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
9419    fn list_errors(
9420        &self,
9421        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
9422        _options: crate::RequestOptions,
9423    ) -> impl std::future::Future<
9424        Output = crate::Result<
9425            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
9426        >,
9427    > + Send {
9428        gaxi::unimplemented::unimplemented_stub()
9429    }
9430
9431    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
9432    fn list_managed_instances(
9433        &self,
9434        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
9435        _options: crate::RequestOptions,
9436    ) -> impl std::future::Future<
9437        Output = crate::Result<
9438            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
9439        >,
9440    > + Send {
9441        gaxi::unimplemented::unimplemented_stub()
9442    }
9443
9444    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
9445    fn list_per_instance_configs(
9446        &self,
9447        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
9448        _options: crate::RequestOptions,
9449    ) -> impl std::future::Future<
9450        Output = crate::Result<
9451            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
9452        >,
9453    > + Send {
9454        gaxi::unimplemented::unimplemented_stub()
9455    }
9456
9457    /// Implements [super::client::RegionInstanceGroupManagers::patch].
9458    fn patch(
9459        &self,
9460        _req: crate::model::region_instance_group_managers::PatchRequest,
9461        _options: crate::RequestOptions,
9462    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9463    {
9464        gaxi::unimplemented::unimplemented_stub()
9465    }
9466
9467    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
9468    fn patch_per_instance_configs(
9469        &self,
9470        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
9471        _options: crate::RequestOptions,
9472    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9473    {
9474        gaxi::unimplemented::unimplemented_stub()
9475    }
9476
9477    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
9478    fn recreate_instances(
9479        &self,
9480        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
9481        _options: crate::RequestOptions,
9482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9483    {
9484        gaxi::unimplemented::unimplemented_stub()
9485    }
9486
9487    /// Implements [super::client::RegionInstanceGroupManagers::resize].
9488    fn resize(
9489        &self,
9490        _req: crate::model::region_instance_group_managers::ResizeRequest,
9491        _options: crate::RequestOptions,
9492    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9493    {
9494        gaxi::unimplemented::unimplemented_stub()
9495    }
9496
9497    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
9498    fn resume_instances(
9499        &self,
9500        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
9501        _options: crate::RequestOptions,
9502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9503    {
9504        gaxi::unimplemented::unimplemented_stub()
9505    }
9506
9507    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
9508    fn set_instance_template(
9509        &self,
9510        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
9511        _options: crate::RequestOptions,
9512    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9513    {
9514        gaxi::unimplemented::unimplemented_stub()
9515    }
9516
9517    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
9518    fn set_target_pools(
9519        &self,
9520        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
9521        _options: crate::RequestOptions,
9522    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9523    {
9524        gaxi::unimplemented::unimplemented_stub()
9525    }
9526
9527    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
9528    fn start_instances(
9529        &self,
9530        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
9531        _options: crate::RequestOptions,
9532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9533    {
9534        gaxi::unimplemented::unimplemented_stub()
9535    }
9536
9537    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
9538    fn stop_instances(
9539        &self,
9540        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
9541        _options: crate::RequestOptions,
9542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9543    {
9544        gaxi::unimplemented::unimplemented_stub()
9545    }
9546
9547    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
9548    fn suspend_instances(
9549        &self,
9550        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
9551        _options: crate::RequestOptions,
9552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9553    {
9554        gaxi::unimplemented::unimplemented_stub()
9555    }
9556
9557    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
9558    fn update_per_instance_configs(
9559        &self,
9560        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
9561        _options: crate::RequestOptions,
9562    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9563    {
9564        gaxi::unimplemented::unimplemented_stub()
9565    }
9566
9567    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
9568    fn get_operation(
9569        &self,
9570        _req: crate::model::region_operations::GetRequest,
9571        _options: crate::RequestOptions,
9572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9573    {
9574        gaxi::unimplemented::unimplemented_stub()
9575    }
9576
9577    /// Returns the polling error policy.
9578    ///
9579    /// When mocking, this method is typically irrelevant. Do not try to verify
9580    /// it is called by your mocks.
9581    fn get_polling_error_policy(
9582        &self,
9583        _options: &crate::RequestOptions,
9584    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9585        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9586    }
9587
9588    /// Returns the polling backoff policy.
9589    ///
9590    /// When mocking, this method is typically irrelevant. Do not try to verify
9591    /// it is called by your mocks.
9592    fn get_polling_backoff_policy(
9593        &self,
9594        _options: &crate::RequestOptions,
9595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9596        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9597    }
9598}
9599
9600/// Defines the trait used to implement [super::client::RegionInstanceGroups].
9601///
9602/// Application developers may need to implement this trait to mock
9603/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
9604/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
9605/// its implementations.
9606///
9607/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9608/// too. To avoid breaking applications the trait provides a default
9609/// implementation of each method. Most of these implementations just return an
9610/// error.
9611#[cfg(feature = "region-instance-groups")]
9612#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
9613pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
9614    /// Implements [super::client::RegionInstanceGroups::get].
9615    fn get(
9616        &self,
9617        _req: crate::model::region_instance_groups::GetRequest,
9618        _options: crate::RequestOptions,
9619    ) -> impl std::future::Future<
9620        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
9621    > + Send {
9622        gaxi::unimplemented::unimplemented_stub()
9623    }
9624
9625    /// Implements [super::client::RegionInstanceGroups::list].
9626    fn list(
9627        &self,
9628        _req: crate::model::region_instance_groups::ListRequest,
9629        _options: crate::RequestOptions,
9630    ) -> impl std::future::Future<
9631        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
9632    > + Send {
9633        gaxi::unimplemented::unimplemented_stub()
9634    }
9635
9636    /// Implements [super::client::RegionInstanceGroups::list_instances].
9637    fn list_instances(
9638        &self,
9639        _req: crate::model::region_instance_groups::ListInstancesRequest,
9640        _options: crate::RequestOptions,
9641    ) -> impl std::future::Future<
9642        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
9643    > + Send {
9644        gaxi::unimplemented::unimplemented_stub()
9645    }
9646
9647    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
9648    fn set_named_ports(
9649        &self,
9650        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
9651        _options: crate::RequestOptions,
9652    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9653    {
9654        gaxi::unimplemented::unimplemented_stub()
9655    }
9656
9657    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
9658    fn test_iam_permissions(
9659        &self,
9660        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
9661        _options: crate::RequestOptions,
9662    ) -> impl std::future::Future<
9663        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9664    > + Send {
9665        gaxi::unimplemented::unimplemented_stub()
9666    }
9667
9668    /// Implements [super::client::RegionInstanceGroups::get_operation].
9669    fn get_operation(
9670        &self,
9671        _req: crate::model::region_operations::GetRequest,
9672        _options: crate::RequestOptions,
9673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9674    {
9675        gaxi::unimplemented::unimplemented_stub()
9676    }
9677
9678    /// Returns the polling error policy.
9679    ///
9680    /// When mocking, this method is typically irrelevant. Do not try to verify
9681    /// it is called by your mocks.
9682    fn get_polling_error_policy(
9683        &self,
9684        _options: &crate::RequestOptions,
9685    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9686        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9687    }
9688
9689    /// Returns the polling backoff policy.
9690    ///
9691    /// When mocking, this method is typically irrelevant. Do not try to verify
9692    /// it is called by your mocks.
9693    fn get_polling_backoff_policy(
9694        &self,
9695        _options: &crate::RequestOptions,
9696    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9697        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9698    }
9699}
9700
9701/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
9702///
9703/// Application developers may need to implement this trait to mock
9704/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
9705/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
9706/// its implementations.
9707///
9708/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9709/// too. To avoid breaking applications the trait provides a default
9710/// implementation of each method. Most of these implementations just return an
9711/// error.
9712#[cfg(feature = "region-instance-templates")]
9713#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
9714pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
9715    /// Implements [super::client::RegionInstanceTemplates::delete].
9716    fn delete(
9717        &self,
9718        _req: crate::model::region_instance_templates::DeleteRequest,
9719        _options: crate::RequestOptions,
9720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9721    {
9722        gaxi::unimplemented::unimplemented_stub()
9723    }
9724
9725    /// Implements [super::client::RegionInstanceTemplates::get].
9726    fn get(
9727        &self,
9728        _req: crate::model::region_instance_templates::GetRequest,
9729        _options: crate::RequestOptions,
9730    ) -> impl std::future::Future<
9731        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
9732    > + Send {
9733        gaxi::unimplemented::unimplemented_stub()
9734    }
9735
9736    /// Implements [super::client::RegionInstanceTemplates::insert].
9737    fn insert(
9738        &self,
9739        _req: crate::model::region_instance_templates::InsertRequest,
9740        _options: crate::RequestOptions,
9741    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9742    {
9743        gaxi::unimplemented::unimplemented_stub()
9744    }
9745
9746    /// Implements [super::client::RegionInstanceTemplates::list].
9747    fn list(
9748        &self,
9749        _req: crate::model::region_instance_templates::ListRequest,
9750        _options: crate::RequestOptions,
9751    ) -> impl std::future::Future<
9752        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
9753    > + Send {
9754        gaxi::unimplemented::unimplemented_stub()
9755    }
9756
9757    /// Implements [super::client::RegionInstanceTemplates::get_operation].
9758    fn get_operation(
9759        &self,
9760        _req: crate::model::region_operations::GetRequest,
9761        _options: crate::RequestOptions,
9762    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9763    {
9764        gaxi::unimplemented::unimplemented_stub()
9765    }
9766
9767    /// Returns the polling error policy.
9768    ///
9769    /// When mocking, this method is typically irrelevant. Do not try to verify
9770    /// it is called by your mocks.
9771    fn get_polling_error_policy(
9772        &self,
9773        _options: &crate::RequestOptions,
9774    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9775        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9776    }
9777
9778    /// Returns the polling backoff policy.
9779    ///
9780    /// When mocking, this method is typically irrelevant. Do not try to verify
9781    /// it is called by your mocks.
9782    fn get_polling_backoff_policy(
9783        &self,
9784        _options: &crate::RequestOptions,
9785    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9786        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9787    }
9788}
9789
9790/// Defines the trait used to implement [super::client::RegionInstances].
9791///
9792/// Application developers may need to implement this trait to mock
9793/// `client::RegionInstances`.  In other use-cases, application developers only
9794/// use `client::RegionInstances` and need not be concerned with this trait or
9795/// its implementations.
9796///
9797/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9798/// too. To avoid breaking applications the trait provides a default
9799/// implementation of each method. Most of these implementations just return an
9800/// error.
9801#[cfg(feature = "region-instances")]
9802#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
9803pub trait RegionInstances: std::fmt::Debug + Send + Sync {
9804    /// Implements [super::client::RegionInstances::bulk_insert].
9805    fn bulk_insert(
9806        &self,
9807        _req: crate::model::region_instances::BulkInsertRequest,
9808        _options: crate::RequestOptions,
9809    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9810    {
9811        gaxi::unimplemented::unimplemented_stub()
9812    }
9813
9814    /// Implements [super::client::RegionInstances::get_operation].
9815    fn get_operation(
9816        &self,
9817        _req: crate::model::region_operations::GetRequest,
9818        _options: crate::RequestOptions,
9819    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9820    {
9821        gaxi::unimplemented::unimplemented_stub()
9822    }
9823
9824    /// Returns the polling error policy.
9825    ///
9826    /// When mocking, this method is typically irrelevant. Do not try to verify
9827    /// it is called by your mocks.
9828    fn get_polling_error_policy(
9829        &self,
9830        _options: &crate::RequestOptions,
9831    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9832        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9833    }
9834
9835    /// Returns the polling backoff policy.
9836    ///
9837    /// When mocking, this method is typically irrelevant. Do not try to verify
9838    /// it is called by your mocks.
9839    fn get_polling_backoff_policy(
9840        &self,
9841        _options: &crate::RequestOptions,
9842    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9843        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9844    }
9845}
9846
9847/// Defines the trait used to implement [super::client::RegionInstantSnapshotGroups].
9848///
9849/// Application developers may need to implement this trait to mock
9850/// `client::RegionInstantSnapshotGroups`.  In other use-cases, application developers only
9851/// use `client::RegionInstantSnapshotGroups` and need not be concerned with this trait or
9852/// its implementations.
9853///
9854/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9855/// too. To avoid breaking applications the trait provides a default
9856/// implementation of each method. Most of these implementations just return an
9857/// error.
9858#[cfg(feature = "region-instant-snapshot-groups")]
9859#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshot-groups")))]
9860pub trait RegionInstantSnapshotGroups: std::fmt::Debug + Send + Sync {
9861    /// Implements [super::client::RegionInstantSnapshotGroups::delete].
9862    fn delete(
9863        &self,
9864        _req: crate::model::region_instant_snapshot_groups::DeleteRequest,
9865        _options: crate::RequestOptions,
9866    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9867    {
9868        gaxi::unimplemented::unimplemented_stub()
9869    }
9870
9871    /// Implements [super::client::RegionInstantSnapshotGroups::get].
9872    fn get(
9873        &self,
9874        _req: crate::model::region_instant_snapshot_groups::GetRequest,
9875        _options: crate::RequestOptions,
9876    ) -> impl std::future::Future<
9877        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
9878    > + Send {
9879        gaxi::unimplemented::unimplemented_stub()
9880    }
9881
9882    /// Implements [super::client::RegionInstantSnapshotGroups::get_iam_policy].
9883    fn get_iam_policy(
9884        &self,
9885        _req: crate::model::region_instant_snapshot_groups::GetIamPolicyRequest,
9886        _options: crate::RequestOptions,
9887    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9888    {
9889        gaxi::unimplemented::unimplemented_stub()
9890    }
9891
9892    /// Implements [super::client::RegionInstantSnapshotGroups::insert].
9893    fn insert(
9894        &self,
9895        _req: crate::model::region_instant_snapshot_groups::InsertRequest,
9896        _options: crate::RequestOptions,
9897    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9898    {
9899        gaxi::unimplemented::unimplemented_stub()
9900    }
9901
9902    /// Implements [super::client::RegionInstantSnapshotGroups::list].
9903    fn list(
9904        &self,
9905        _req: crate::model::region_instant_snapshot_groups::ListRequest,
9906        _options: crate::RequestOptions,
9907    ) -> impl std::future::Future<
9908        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
9909    > + Send {
9910        gaxi::unimplemented::unimplemented_stub()
9911    }
9912
9913    /// Implements [super::client::RegionInstantSnapshotGroups::set_iam_policy].
9914    fn set_iam_policy(
9915        &self,
9916        _req: crate::model::region_instant_snapshot_groups::SetIamPolicyRequest,
9917        _options: crate::RequestOptions,
9918    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9919    {
9920        gaxi::unimplemented::unimplemented_stub()
9921    }
9922
9923    /// Implements [super::client::RegionInstantSnapshotGroups::test_iam_permissions].
9924    fn test_iam_permissions(
9925        &self,
9926        _req: crate::model::region_instant_snapshot_groups::TestIamPermissionsRequest,
9927        _options: crate::RequestOptions,
9928    ) -> impl std::future::Future<
9929        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9930    > + Send {
9931        gaxi::unimplemented::unimplemented_stub()
9932    }
9933
9934    /// Implements [super::client::RegionInstantSnapshotGroups::get_operation].
9935    fn get_operation(
9936        &self,
9937        _req: crate::model::region_operations::GetRequest,
9938        _options: crate::RequestOptions,
9939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9940    {
9941        gaxi::unimplemented::unimplemented_stub()
9942    }
9943
9944    /// Returns the polling error policy.
9945    ///
9946    /// When mocking, this method is typically irrelevant. Do not try to verify
9947    /// it is called by your mocks.
9948    fn get_polling_error_policy(
9949        &self,
9950        _options: &crate::RequestOptions,
9951    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9952        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9953    }
9954
9955    /// Returns the polling backoff policy.
9956    ///
9957    /// When mocking, this method is typically irrelevant. Do not try to verify
9958    /// it is called by your mocks.
9959    fn get_polling_backoff_policy(
9960        &self,
9961        _options: &crate::RequestOptions,
9962    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9963        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9964    }
9965}
9966
9967/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
9968///
9969/// Application developers may need to implement this trait to mock
9970/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
9971/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
9972/// its implementations.
9973///
9974/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9975/// too. To avoid breaking applications the trait provides a default
9976/// implementation of each method. Most of these implementations just return an
9977/// error.
9978#[cfg(feature = "region-instant-snapshots")]
9979#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
9980pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
9981    /// Implements [super::client::RegionInstantSnapshots::delete].
9982    fn delete(
9983        &self,
9984        _req: crate::model::region_instant_snapshots::DeleteRequest,
9985        _options: crate::RequestOptions,
9986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9987    {
9988        gaxi::unimplemented::unimplemented_stub()
9989    }
9990
9991    /// Implements [super::client::RegionInstantSnapshots::get].
9992    fn get(
9993        &self,
9994        _req: crate::model::region_instant_snapshots::GetRequest,
9995        _options: crate::RequestOptions,
9996    ) -> impl std::future::Future<
9997        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
9998    > + Send {
9999        gaxi::unimplemented::unimplemented_stub()
10000    }
10001
10002    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
10003    fn get_iam_policy(
10004        &self,
10005        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
10006        _options: crate::RequestOptions,
10007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10008    {
10009        gaxi::unimplemented::unimplemented_stub()
10010    }
10011
10012    /// Implements [super::client::RegionInstantSnapshots::insert].
10013    fn insert(
10014        &self,
10015        _req: crate::model::region_instant_snapshots::InsertRequest,
10016        _options: crate::RequestOptions,
10017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10018    {
10019        gaxi::unimplemented::unimplemented_stub()
10020    }
10021
10022    /// Implements [super::client::RegionInstantSnapshots::list].
10023    fn list(
10024        &self,
10025        _req: crate::model::region_instant_snapshots::ListRequest,
10026        _options: crate::RequestOptions,
10027    ) -> impl std::future::Future<
10028        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
10029    > + Send {
10030        gaxi::unimplemented::unimplemented_stub()
10031    }
10032
10033    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
10034    fn set_iam_policy(
10035        &self,
10036        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
10037        _options: crate::RequestOptions,
10038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10039    {
10040        gaxi::unimplemented::unimplemented_stub()
10041    }
10042
10043    /// Implements [super::client::RegionInstantSnapshots::set_labels].
10044    fn set_labels(
10045        &self,
10046        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
10047        _options: crate::RequestOptions,
10048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10049    {
10050        gaxi::unimplemented::unimplemented_stub()
10051    }
10052
10053    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
10054    fn test_iam_permissions(
10055        &self,
10056        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
10057        _options: crate::RequestOptions,
10058    ) -> impl std::future::Future<
10059        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10060    > + Send {
10061        gaxi::unimplemented::unimplemented_stub()
10062    }
10063
10064    /// Implements [super::client::RegionInstantSnapshots::get_operation].
10065    fn get_operation(
10066        &self,
10067        _req: crate::model::region_operations::GetRequest,
10068        _options: crate::RequestOptions,
10069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10070    {
10071        gaxi::unimplemented::unimplemented_stub()
10072    }
10073
10074    /// Returns the polling error policy.
10075    ///
10076    /// When mocking, this method is typically irrelevant. Do not try to verify
10077    /// it is called by your mocks.
10078    fn get_polling_error_policy(
10079        &self,
10080        _options: &crate::RequestOptions,
10081    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10082        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10083    }
10084
10085    /// Returns the polling backoff policy.
10086    ///
10087    /// When mocking, this method is typically irrelevant. Do not try to verify
10088    /// it is called by your mocks.
10089    fn get_polling_backoff_policy(
10090        &self,
10091        _options: &crate::RequestOptions,
10092    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10093        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10094    }
10095}
10096
10097/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
10098///
10099/// Application developers may need to implement this trait to mock
10100/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
10101/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
10102/// its implementations.
10103///
10104/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10105/// too. To avoid breaking applications the trait provides a default
10106/// implementation of each method. Most of these implementations just return an
10107/// error.
10108#[cfg(feature = "region-network-endpoint-groups")]
10109#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
10110pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
10111    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
10112    fn attach_network_endpoints(
10113        &self,
10114        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
10115        _options: crate::RequestOptions,
10116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10117    {
10118        gaxi::unimplemented::unimplemented_stub()
10119    }
10120
10121    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
10122    fn delete(
10123        &self,
10124        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
10125        _options: crate::RequestOptions,
10126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10127    {
10128        gaxi::unimplemented::unimplemented_stub()
10129    }
10130
10131    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
10132    fn detach_network_endpoints(
10133        &self,
10134        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
10135        _options: crate::RequestOptions,
10136    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10137    {
10138        gaxi::unimplemented::unimplemented_stub()
10139    }
10140
10141    /// Implements [super::client::RegionNetworkEndpointGroups::get].
10142    fn get(
10143        &self,
10144        _req: crate::model::region_network_endpoint_groups::GetRequest,
10145        _options: crate::RequestOptions,
10146    ) -> impl std::future::Future<
10147        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
10148    > + Send {
10149        gaxi::unimplemented::unimplemented_stub()
10150    }
10151
10152    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
10153    fn insert(
10154        &self,
10155        _req: crate::model::region_network_endpoint_groups::InsertRequest,
10156        _options: crate::RequestOptions,
10157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10158    {
10159        gaxi::unimplemented::unimplemented_stub()
10160    }
10161
10162    /// Implements [super::client::RegionNetworkEndpointGroups::list].
10163    fn list(
10164        &self,
10165        _req: crate::model::region_network_endpoint_groups::ListRequest,
10166        _options: crate::RequestOptions,
10167    ) -> impl std::future::Future<
10168        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
10169    > + Send {
10170        gaxi::unimplemented::unimplemented_stub()
10171    }
10172
10173    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
10174    fn list_network_endpoints(
10175        &self,
10176        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
10177        _options: crate::RequestOptions,
10178    ) -> impl std::future::Future<
10179        Output = crate::Result<
10180            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
10181        >,
10182    > + Send {
10183        gaxi::unimplemented::unimplemented_stub()
10184    }
10185
10186    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
10187    fn get_operation(
10188        &self,
10189        _req: crate::model::region_operations::GetRequest,
10190        _options: crate::RequestOptions,
10191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10192    {
10193        gaxi::unimplemented::unimplemented_stub()
10194    }
10195
10196    /// Returns the polling error policy.
10197    ///
10198    /// When mocking, this method is typically irrelevant. Do not try to verify
10199    /// it is called by your mocks.
10200    fn get_polling_error_policy(
10201        &self,
10202        _options: &crate::RequestOptions,
10203    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10204        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10205    }
10206
10207    /// Returns the polling backoff policy.
10208    ///
10209    /// When mocking, this method is typically irrelevant. Do not try to verify
10210    /// it is called by your mocks.
10211    fn get_polling_backoff_policy(
10212        &self,
10213        _options: &crate::RequestOptions,
10214    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10215        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10216    }
10217}
10218
10219/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
10220///
10221/// Application developers may need to implement this trait to mock
10222/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
10223/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
10224/// its implementations.
10225///
10226/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10227/// too. To avoid breaking applications the trait provides a default
10228/// implementation of each method. Most of these implementations just return an
10229/// error.
10230#[cfg(feature = "region-network-firewall-policies")]
10231#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
10232pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
10233    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
10234    fn add_association(
10235        &self,
10236        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
10237        _options: crate::RequestOptions,
10238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10239    {
10240        gaxi::unimplemented::unimplemented_stub()
10241    }
10242
10243    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
10244    fn add_rule(
10245        &self,
10246        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
10247        _options: crate::RequestOptions,
10248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10249    {
10250        gaxi::unimplemented::unimplemented_stub()
10251    }
10252
10253    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
10254    fn clone_rules(
10255        &self,
10256        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
10257        _options: crate::RequestOptions,
10258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10259    {
10260        gaxi::unimplemented::unimplemented_stub()
10261    }
10262
10263    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
10264    fn delete(
10265        &self,
10266        _req: crate::model::region_network_firewall_policies::DeleteRequest,
10267        _options: crate::RequestOptions,
10268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10269    {
10270        gaxi::unimplemented::unimplemented_stub()
10271    }
10272
10273    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
10274    fn get(
10275        &self,
10276        _req: crate::model::region_network_firewall_policies::GetRequest,
10277        _options: crate::RequestOptions,
10278    ) -> impl std::future::Future<
10279        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
10280    > + Send {
10281        gaxi::unimplemented::unimplemented_stub()
10282    }
10283
10284    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
10285    fn get_association(
10286        &self,
10287        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
10288        _options: crate::RequestOptions,
10289    ) -> impl std::future::Future<
10290        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
10291    > + Send {
10292        gaxi::unimplemented::unimplemented_stub()
10293    }
10294
10295    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
10296    fn get_effective_firewalls(
10297        &self,
10298        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
10299        _options: crate::RequestOptions,
10300    ) -> impl std::future::Future<
10301        Output = crate::Result<
10302            crate::Response<
10303                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
10304            >,
10305        >,
10306    > + Send {
10307        gaxi::unimplemented::unimplemented_stub()
10308    }
10309
10310    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
10311    fn get_iam_policy(
10312        &self,
10313        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
10314        _options: crate::RequestOptions,
10315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10316    {
10317        gaxi::unimplemented::unimplemented_stub()
10318    }
10319
10320    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
10321    fn get_rule(
10322        &self,
10323        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
10324        _options: crate::RequestOptions,
10325    ) -> impl std::future::Future<
10326        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
10327    > + Send {
10328        gaxi::unimplemented::unimplemented_stub()
10329    }
10330
10331    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
10332    fn insert(
10333        &self,
10334        _req: crate::model::region_network_firewall_policies::InsertRequest,
10335        _options: crate::RequestOptions,
10336    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10337    {
10338        gaxi::unimplemented::unimplemented_stub()
10339    }
10340
10341    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
10342    fn list(
10343        &self,
10344        _req: crate::model::region_network_firewall_policies::ListRequest,
10345        _options: crate::RequestOptions,
10346    ) -> impl std::future::Future<
10347        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
10348    > + Send {
10349        gaxi::unimplemented::unimplemented_stub()
10350    }
10351
10352    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
10353    fn patch(
10354        &self,
10355        _req: crate::model::region_network_firewall_policies::PatchRequest,
10356        _options: crate::RequestOptions,
10357    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10358    {
10359        gaxi::unimplemented::unimplemented_stub()
10360    }
10361
10362    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
10363    fn patch_rule(
10364        &self,
10365        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
10366        _options: crate::RequestOptions,
10367    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10368    {
10369        gaxi::unimplemented::unimplemented_stub()
10370    }
10371
10372    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
10373    fn remove_association(
10374        &self,
10375        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
10376        _options: crate::RequestOptions,
10377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10378    {
10379        gaxi::unimplemented::unimplemented_stub()
10380    }
10381
10382    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
10383    fn remove_rule(
10384        &self,
10385        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
10386        _options: crate::RequestOptions,
10387    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10388    {
10389        gaxi::unimplemented::unimplemented_stub()
10390    }
10391
10392    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
10393    fn set_iam_policy(
10394        &self,
10395        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
10396        _options: crate::RequestOptions,
10397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10398    {
10399        gaxi::unimplemented::unimplemented_stub()
10400    }
10401
10402    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
10403    fn test_iam_permissions(
10404        &self,
10405        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
10406        _options: crate::RequestOptions,
10407    ) -> impl std::future::Future<
10408        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10409    > + Send {
10410        gaxi::unimplemented::unimplemented_stub()
10411    }
10412
10413    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
10414    fn get_operation(
10415        &self,
10416        _req: crate::model::region_operations::GetRequest,
10417        _options: crate::RequestOptions,
10418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10419    {
10420        gaxi::unimplemented::unimplemented_stub()
10421    }
10422
10423    /// Returns the polling error policy.
10424    ///
10425    /// When mocking, this method is typically irrelevant. Do not try to verify
10426    /// it is called by your mocks.
10427    fn get_polling_error_policy(
10428        &self,
10429        _options: &crate::RequestOptions,
10430    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10431        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10432    }
10433
10434    /// Returns the polling backoff policy.
10435    ///
10436    /// When mocking, this method is typically irrelevant. Do not try to verify
10437    /// it is called by your mocks.
10438    fn get_polling_backoff_policy(
10439        &self,
10440        _options: &crate::RequestOptions,
10441    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10442        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10443    }
10444}
10445
10446/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
10447///
10448/// Application developers may need to implement this trait to mock
10449/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
10450/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
10451/// its implementations.
10452///
10453/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10454/// too. To avoid breaking applications the trait provides a default
10455/// implementation of each method. Most of these implementations just return an
10456/// error.
10457#[cfg(feature = "region-notification-endpoints")]
10458#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
10459pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
10460    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
10461    fn aggregated_list(
10462        &self,
10463        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
10464        _options: crate::RequestOptions,
10465    ) -> impl std::future::Future<
10466        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
10467    > + Send {
10468        gaxi::unimplemented::unimplemented_stub()
10469    }
10470
10471    /// Implements [super::client::RegionNotificationEndpoints::delete].
10472    fn delete(
10473        &self,
10474        _req: crate::model::region_notification_endpoints::DeleteRequest,
10475        _options: crate::RequestOptions,
10476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10477    {
10478        gaxi::unimplemented::unimplemented_stub()
10479    }
10480
10481    /// Implements [super::client::RegionNotificationEndpoints::get].
10482    fn get(
10483        &self,
10484        _req: crate::model::region_notification_endpoints::GetRequest,
10485        _options: crate::RequestOptions,
10486    ) -> impl std::future::Future<
10487        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
10488    > + Send {
10489        gaxi::unimplemented::unimplemented_stub()
10490    }
10491
10492    /// Implements [super::client::RegionNotificationEndpoints::insert].
10493    fn insert(
10494        &self,
10495        _req: crate::model::region_notification_endpoints::InsertRequest,
10496        _options: crate::RequestOptions,
10497    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10498    {
10499        gaxi::unimplemented::unimplemented_stub()
10500    }
10501
10502    /// Implements [super::client::RegionNotificationEndpoints::list].
10503    fn list(
10504        &self,
10505        _req: crate::model::region_notification_endpoints::ListRequest,
10506        _options: crate::RequestOptions,
10507    ) -> impl std::future::Future<
10508        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
10509    > + Send {
10510        gaxi::unimplemented::unimplemented_stub()
10511    }
10512
10513    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
10514    fn test_iam_permissions(
10515        &self,
10516        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
10517        _options: crate::RequestOptions,
10518    ) -> impl std::future::Future<
10519        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10520    > + Send {
10521        gaxi::unimplemented::unimplemented_stub()
10522    }
10523
10524    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
10525    fn get_operation(
10526        &self,
10527        _req: crate::model::region_operations::GetRequest,
10528        _options: crate::RequestOptions,
10529    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10530    {
10531        gaxi::unimplemented::unimplemented_stub()
10532    }
10533
10534    /// Returns the polling error policy.
10535    ///
10536    /// When mocking, this method is typically irrelevant. Do not try to verify
10537    /// it is called by your mocks.
10538    fn get_polling_error_policy(
10539        &self,
10540        _options: &crate::RequestOptions,
10541    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10542        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10543    }
10544
10545    /// Returns the polling backoff policy.
10546    ///
10547    /// When mocking, this method is typically irrelevant. Do not try to verify
10548    /// it is called by your mocks.
10549    fn get_polling_backoff_policy(
10550        &self,
10551        _options: &crate::RequestOptions,
10552    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10553        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10554    }
10555}
10556
10557/// Defines the trait used to implement [super::client::RegionOperations].
10558///
10559/// Application developers may need to implement this trait to mock
10560/// `client::RegionOperations`.  In other use-cases, application developers only
10561/// use `client::RegionOperations` and need not be concerned with this trait or
10562/// its implementations.
10563///
10564/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10565/// too. To avoid breaking applications the trait provides a default
10566/// implementation of each method. Most of these implementations just return an
10567/// error.
10568#[cfg(feature = "region-operations")]
10569#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
10570pub trait RegionOperations: std::fmt::Debug + Send + Sync {
10571    /// Implements [super::client::RegionOperations::delete].
10572    fn delete(
10573        &self,
10574        _req: crate::model::region_operations::DeleteRequest,
10575        _options: crate::RequestOptions,
10576    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
10577        gaxi::unimplemented::unimplemented_stub()
10578    }
10579
10580    /// Implements [super::client::RegionOperations::get].
10581    fn get(
10582        &self,
10583        _req: crate::model::region_operations::GetRequest,
10584        _options: crate::RequestOptions,
10585    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10586    {
10587        gaxi::unimplemented::unimplemented_stub()
10588    }
10589
10590    /// Implements [super::client::RegionOperations::list].
10591    fn list(
10592        &self,
10593        _req: crate::model::region_operations::ListRequest,
10594        _options: crate::RequestOptions,
10595    ) -> impl std::future::Future<
10596        Output = crate::Result<crate::Response<crate::model::OperationList>>,
10597    > + Send {
10598        gaxi::unimplemented::unimplemented_stub()
10599    }
10600
10601    /// Implements [super::client::RegionOperations::wait].
10602    fn wait(
10603        &self,
10604        _req: crate::model::region_operations::WaitRequest,
10605        _options: crate::RequestOptions,
10606    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10607    {
10608        gaxi::unimplemented::unimplemented_stub()
10609    }
10610}
10611
10612/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
10613///
10614/// Application developers may need to implement this trait to mock
10615/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
10616/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
10617/// its implementations.
10618///
10619/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10620/// too. To avoid breaking applications the trait provides a default
10621/// implementation of each method. Most of these implementations just return an
10622/// error.
10623#[cfg(feature = "region-security-policies")]
10624#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
10625pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
10626    /// Implements [super::client::RegionSecurityPolicies::add_rule].
10627    fn add_rule(
10628        &self,
10629        _req: crate::model::region_security_policies::AddRuleRequest,
10630        _options: crate::RequestOptions,
10631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10632    {
10633        gaxi::unimplemented::unimplemented_stub()
10634    }
10635
10636    /// Implements [super::client::RegionSecurityPolicies::delete].
10637    fn delete(
10638        &self,
10639        _req: crate::model::region_security_policies::DeleteRequest,
10640        _options: crate::RequestOptions,
10641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10642    {
10643        gaxi::unimplemented::unimplemented_stub()
10644    }
10645
10646    /// Implements [super::client::RegionSecurityPolicies::get].
10647    fn get(
10648        &self,
10649        _req: crate::model::region_security_policies::GetRequest,
10650        _options: crate::RequestOptions,
10651    ) -> impl std::future::Future<
10652        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
10653    > + Send {
10654        gaxi::unimplemented::unimplemented_stub()
10655    }
10656
10657    /// Implements [super::client::RegionSecurityPolicies::get_rule].
10658    fn get_rule(
10659        &self,
10660        _req: crate::model::region_security_policies::GetRuleRequest,
10661        _options: crate::RequestOptions,
10662    ) -> impl std::future::Future<
10663        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
10664    > + Send {
10665        gaxi::unimplemented::unimplemented_stub()
10666    }
10667
10668    /// Implements [super::client::RegionSecurityPolicies::insert].
10669    fn insert(
10670        &self,
10671        _req: crate::model::region_security_policies::InsertRequest,
10672        _options: crate::RequestOptions,
10673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10674    {
10675        gaxi::unimplemented::unimplemented_stub()
10676    }
10677
10678    /// Implements [super::client::RegionSecurityPolicies::list].
10679    fn list(
10680        &self,
10681        _req: crate::model::region_security_policies::ListRequest,
10682        _options: crate::RequestOptions,
10683    ) -> impl std::future::Future<
10684        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
10685    > + Send {
10686        gaxi::unimplemented::unimplemented_stub()
10687    }
10688
10689    /// Implements [super::client::RegionSecurityPolicies::patch].
10690    fn patch(
10691        &self,
10692        _req: crate::model::region_security_policies::PatchRequest,
10693        _options: crate::RequestOptions,
10694    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10695    {
10696        gaxi::unimplemented::unimplemented_stub()
10697    }
10698
10699    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
10700    fn patch_rule(
10701        &self,
10702        _req: crate::model::region_security_policies::PatchRuleRequest,
10703        _options: crate::RequestOptions,
10704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10705    {
10706        gaxi::unimplemented::unimplemented_stub()
10707    }
10708
10709    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
10710    fn remove_rule(
10711        &self,
10712        _req: crate::model::region_security_policies::RemoveRuleRequest,
10713        _options: crate::RequestOptions,
10714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10715    {
10716        gaxi::unimplemented::unimplemented_stub()
10717    }
10718
10719    /// Implements [super::client::RegionSecurityPolicies::set_labels].
10720    fn set_labels(
10721        &self,
10722        _req: crate::model::region_security_policies::SetLabelsRequest,
10723        _options: crate::RequestOptions,
10724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10725    {
10726        gaxi::unimplemented::unimplemented_stub()
10727    }
10728
10729    /// Implements [super::client::RegionSecurityPolicies::get_operation].
10730    fn get_operation(
10731        &self,
10732        _req: crate::model::region_operations::GetRequest,
10733        _options: crate::RequestOptions,
10734    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10735    {
10736        gaxi::unimplemented::unimplemented_stub()
10737    }
10738
10739    /// Returns the polling error policy.
10740    ///
10741    /// When mocking, this method is typically irrelevant. Do not try to verify
10742    /// it is called by your mocks.
10743    fn get_polling_error_policy(
10744        &self,
10745        _options: &crate::RequestOptions,
10746    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10747        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10748    }
10749
10750    /// Returns the polling backoff policy.
10751    ///
10752    /// When mocking, this method is typically irrelevant. Do not try to verify
10753    /// it is called by your mocks.
10754    fn get_polling_backoff_policy(
10755        &self,
10756        _options: &crate::RequestOptions,
10757    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10758        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10759    }
10760}
10761
10762/// Defines the trait used to implement [super::client::RegionSnapshotSettings].
10763///
10764/// Application developers may need to implement this trait to mock
10765/// `client::RegionSnapshotSettings`.  In other use-cases, application developers only
10766/// use `client::RegionSnapshotSettings` and need not be concerned with this trait or
10767/// its implementations.
10768///
10769/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10770/// too. To avoid breaking applications the trait provides a default
10771/// implementation of each method. Most of these implementations just return an
10772/// error.
10773#[cfg(feature = "region-snapshot-settings")]
10774#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshot-settings")))]
10775pub trait RegionSnapshotSettings: std::fmt::Debug + Send + Sync {
10776    /// Implements [super::client::RegionSnapshotSettings::get].
10777    fn get(
10778        &self,
10779        _req: crate::model::region_snapshot_settings::GetRequest,
10780        _options: crate::RequestOptions,
10781    ) -> impl std::future::Future<
10782        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
10783    > + Send {
10784        gaxi::unimplemented::unimplemented_stub()
10785    }
10786
10787    /// Implements [super::client::RegionSnapshotSettings::patch].
10788    fn patch(
10789        &self,
10790        _req: crate::model::region_snapshot_settings::PatchRequest,
10791        _options: crate::RequestOptions,
10792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10793    {
10794        gaxi::unimplemented::unimplemented_stub()
10795    }
10796
10797    /// Implements [super::client::RegionSnapshotSettings::get_operation].
10798    fn get_operation(
10799        &self,
10800        _req: crate::model::region_operations::GetRequest,
10801        _options: crate::RequestOptions,
10802    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10803    {
10804        gaxi::unimplemented::unimplemented_stub()
10805    }
10806
10807    /// Returns the polling error policy.
10808    ///
10809    /// When mocking, this method is typically irrelevant. Do not try to verify
10810    /// it is called by your mocks.
10811    fn get_polling_error_policy(
10812        &self,
10813        _options: &crate::RequestOptions,
10814    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10815        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10816    }
10817
10818    /// Returns the polling backoff policy.
10819    ///
10820    /// When mocking, this method is typically irrelevant. Do not try to verify
10821    /// it is called by your mocks.
10822    fn get_polling_backoff_policy(
10823        &self,
10824        _options: &crate::RequestOptions,
10825    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10826        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10827    }
10828}
10829
10830/// Defines the trait used to implement [super::client::RegionSnapshots].
10831///
10832/// Application developers may need to implement this trait to mock
10833/// `client::RegionSnapshots`.  In other use-cases, application developers only
10834/// use `client::RegionSnapshots` and need not be concerned with this trait or
10835/// its implementations.
10836///
10837/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10838/// too. To avoid breaking applications the trait provides a default
10839/// implementation of each method. Most of these implementations just return an
10840/// error.
10841#[cfg(feature = "region-snapshots")]
10842#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshots")))]
10843pub trait RegionSnapshots: std::fmt::Debug + Send + Sync {
10844    /// Implements [super::client::RegionSnapshots::delete].
10845    fn delete(
10846        &self,
10847        _req: crate::model::region_snapshots::DeleteRequest,
10848        _options: crate::RequestOptions,
10849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10850    {
10851        gaxi::unimplemented::unimplemented_stub()
10852    }
10853
10854    /// Implements [super::client::RegionSnapshots::get].
10855    fn get(
10856        &self,
10857        _req: crate::model::region_snapshots::GetRequest,
10858        _options: crate::RequestOptions,
10859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
10860    {
10861        gaxi::unimplemented::unimplemented_stub()
10862    }
10863
10864    /// Implements [super::client::RegionSnapshots::get_iam_policy].
10865    fn get_iam_policy(
10866        &self,
10867        _req: crate::model::region_snapshots::GetIamPolicyRequest,
10868        _options: crate::RequestOptions,
10869    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10870    {
10871        gaxi::unimplemented::unimplemented_stub()
10872    }
10873
10874    /// Implements [super::client::RegionSnapshots::insert].
10875    fn insert(
10876        &self,
10877        _req: crate::model::region_snapshots::InsertRequest,
10878        _options: crate::RequestOptions,
10879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10880    {
10881        gaxi::unimplemented::unimplemented_stub()
10882    }
10883
10884    /// Implements [super::client::RegionSnapshots::list].
10885    fn list(
10886        &self,
10887        _req: crate::model::region_snapshots::ListRequest,
10888        _options: crate::RequestOptions,
10889    ) -> impl std::future::Future<
10890        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
10891    > + Send {
10892        gaxi::unimplemented::unimplemented_stub()
10893    }
10894
10895    /// Implements [super::client::RegionSnapshots::set_iam_policy].
10896    fn set_iam_policy(
10897        &self,
10898        _req: crate::model::region_snapshots::SetIamPolicyRequest,
10899        _options: crate::RequestOptions,
10900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10901    {
10902        gaxi::unimplemented::unimplemented_stub()
10903    }
10904
10905    /// Implements [super::client::RegionSnapshots::set_labels].
10906    fn set_labels(
10907        &self,
10908        _req: crate::model::region_snapshots::SetLabelsRequest,
10909        _options: crate::RequestOptions,
10910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10911    {
10912        gaxi::unimplemented::unimplemented_stub()
10913    }
10914
10915    /// Implements [super::client::RegionSnapshots::test_iam_permissions].
10916    fn test_iam_permissions(
10917        &self,
10918        _req: crate::model::region_snapshots::TestIamPermissionsRequest,
10919        _options: crate::RequestOptions,
10920    ) -> impl std::future::Future<
10921        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10922    > + Send {
10923        gaxi::unimplemented::unimplemented_stub()
10924    }
10925
10926    /// Implements [super::client::RegionSnapshots::update_kms_key].
10927    fn update_kms_key(
10928        &self,
10929        _req: crate::model::region_snapshots::UpdateKmsKeyRequest,
10930        _options: crate::RequestOptions,
10931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10932    {
10933        gaxi::unimplemented::unimplemented_stub()
10934    }
10935
10936    /// Implements [super::client::RegionSnapshots::get_operation].
10937    fn get_operation(
10938        &self,
10939        _req: crate::model::region_operations::GetRequest,
10940        _options: crate::RequestOptions,
10941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10942    {
10943        gaxi::unimplemented::unimplemented_stub()
10944    }
10945
10946    /// Returns the polling error policy.
10947    ///
10948    /// When mocking, this method is typically irrelevant. Do not try to verify
10949    /// it is called by your mocks.
10950    fn get_polling_error_policy(
10951        &self,
10952        _options: &crate::RequestOptions,
10953    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10954        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10955    }
10956
10957    /// Returns the polling backoff policy.
10958    ///
10959    /// When mocking, this method is typically irrelevant. Do not try to verify
10960    /// it is called by your mocks.
10961    fn get_polling_backoff_policy(
10962        &self,
10963        _options: &crate::RequestOptions,
10964    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10965        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10966    }
10967}
10968
10969/// Defines the trait used to implement [super::client::RegionSslCertificates].
10970///
10971/// Application developers may need to implement this trait to mock
10972/// `client::RegionSslCertificates`.  In other use-cases, application developers only
10973/// use `client::RegionSslCertificates` and need not be concerned with this trait or
10974/// its implementations.
10975///
10976/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10977/// too. To avoid breaking applications the trait provides a default
10978/// implementation of each method. Most of these implementations just return an
10979/// error.
10980#[cfg(feature = "region-ssl-certificates")]
10981#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
10982pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
10983    /// Implements [super::client::RegionSslCertificates::delete].
10984    fn delete(
10985        &self,
10986        _req: crate::model::region_ssl_certificates::DeleteRequest,
10987        _options: crate::RequestOptions,
10988    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10989    {
10990        gaxi::unimplemented::unimplemented_stub()
10991    }
10992
10993    /// Implements [super::client::RegionSslCertificates::get].
10994    fn get(
10995        &self,
10996        _req: crate::model::region_ssl_certificates::GetRequest,
10997        _options: crate::RequestOptions,
10998    ) -> impl std::future::Future<
10999        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
11000    > + Send {
11001        gaxi::unimplemented::unimplemented_stub()
11002    }
11003
11004    /// Implements [super::client::RegionSslCertificates::insert].
11005    fn insert(
11006        &self,
11007        _req: crate::model::region_ssl_certificates::InsertRequest,
11008        _options: crate::RequestOptions,
11009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11010    {
11011        gaxi::unimplemented::unimplemented_stub()
11012    }
11013
11014    /// Implements [super::client::RegionSslCertificates::list].
11015    fn list(
11016        &self,
11017        _req: crate::model::region_ssl_certificates::ListRequest,
11018        _options: crate::RequestOptions,
11019    ) -> impl std::future::Future<
11020        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
11021    > + Send {
11022        gaxi::unimplemented::unimplemented_stub()
11023    }
11024
11025    /// Implements [super::client::RegionSslCertificates::get_operation].
11026    fn get_operation(
11027        &self,
11028        _req: crate::model::region_operations::GetRequest,
11029        _options: crate::RequestOptions,
11030    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11031    {
11032        gaxi::unimplemented::unimplemented_stub()
11033    }
11034
11035    /// Returns the polling error policy.
11036    ///
11037    /// When mocking, this method is typically irrelevant. Do not try to verify
11038    /// it is called by your mocks.
11039    fn get_polling_error_policy(
11040        &self,
11041        _options: &crate::RequestOptions,
11042    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11043        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11044    }
11045
11046    /// Returns the polling backoff policy.
11047    ///
11048    /// When mocking, this method is typically irrelevant. Do not try to verify
11049    /// it is called by your mocks.
11050    fn get_polling_backoff_policy(
11051        &self,
11052        _options: &crate::RequestOptions,
11053    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11054        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11055    }
11056}
11057
11058/// Defines the trait used to implement [super::client::RegionSslPolicies].
11059///
11060/// Application developers may need to implement this trait to mock
11061/// `client::RegionSslPolicies`.  In other use-cases, application developers only
11062/// use `client::RegionSslPolicies` and need not be concerned with this trait or
11063/// its implementations.
11064///
11065/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11066/// too. To avoid breaking applications the trait provides a default
11067/// implementation of each method. Most of these implementations just return an
11068/// error.
11069#[cfg(feature = "region-ssl-policies")]
11070#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
11071pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
11072    /// Implements [super::client::RegionSslPolicies::delete].
11073    fn delete(
11074        &self,
11075        _req: crate::model::region_ssl_policies::DeleteRequest,
11076        _options: crate::RequestOptions,
11077    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11078    {
11079        gaxi::unimplemented::unimplemented_stub()
11080    }
11081
11082    /// Implements [super::client::RegionSslPolicies::get].
11083    fn get(
11084        &self,
11085        _req: crate::model::region_ssl_policies::GetRequest,
11086        _options: crate::RequestOptions,
11087    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
11088    {
11089        gaxi::unimplemented::unimplemented_stub()
11090    }
11091
11092    /// Implements [super::client::RegionSslPolicies::insert].
11093    fn insert(
11094        &self,
11095        _req: crate::model::region_ssl_policies::InsertRequest,
11096        _options: crate::RequestOptions,
11097    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11098    {
11099        gaxi::unimplemented::unimplemented_stub()
11100    }
11101
11102    /// Implements [super::client::RegionSslPolicies::list].
11103    fn list(
11104        &self,
11105        _req: crate::model::region_ssl_policies::ListRequest,
11106        _options: crate::RequestOptions,
11107    ) -> impl std::future::Future<
11108        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
11109    > + Send {
11110        gaxi::unimplemented::unimplemented_stub()
11111    }
11112
11113    /// Implements [super::client::RegionSslPolicies::list_available_features].
11114    fn list_available_features(
11115        &self,
11116        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
11117        _options: crate::RequestOptions,
11118    ) -> impl std::future::Future<
11119        Output = crate::Result<
11120            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
11121        >,
11122    > + Send {
11123        gaxi::unimplemented::unimplemented_stub()
11124    }
11125
11126    /// Implements [super::client::RegionSslPolicies::patch].
11127    fn patch(
11128        &self,
11129        _req: crate::model::region_ssl_policies::PatchRequest,
11130        _options: crate::RequestOptions,
11131    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11132    {
11133        gaxi::unimplemented::unimplemented_stub()
11134    }
11135
11136    /// Implements [super::client::RegionSslPolicies::get_operation].
11137    fn get_operation(
11138        &self,
11139        _req: crate::model::region_operations::GetRequest,
11140        _options: crate::RequestOptions,
11141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11142    {
11143        gaxi::unimplemented::unimplemented_stub()
11144    }
11145
11146    /// Returns the polling error policy.
11147    ///
11148    /// When mocking, this method is typically irrelevant. Do not try to verify
11149    /// it is called by your mocks.
11150    fn get_polling_error_policy(
11151        &self,
11152        _options: &crate::RequestOptions,
11153    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11154        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11155    }
11156
11157    /// Returns the polling backoff policy.
11158    ///
11159    /// When mocking, this method is typically irrelevant. Do not try to verify
11160    /// it is called by your mocks.
11161    fn get_polling_backoff_policy(
11162        &self,
11163        _options: &crate::RequestOptions,
11164    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11165        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11166    }
11167}
11168
11169/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
11170///
11171/// Application developers may need to implement this trait to mock
11172/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
11173/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
11174/// its implementations.
11175///
11176/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11177/// too. To avoid breaking applications the trait provides a default
11178/// implementation of each method. Most of these implementations just return an
11179/// error.
11180#[cfg(feature = "region-target-http-proxies")]
11181#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
11182pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
11183    /// Implements [super::client::RegionTargetHttpProxies::delete].
11184    fn delete(
11185        &self,
11186        _req: crate::model::region_target_http_proxies::DeleteRequest,
11187        _options: crate::RequestOptions,
11188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11189    {
11190        gaxi::unimplemented::unimplemented_stub()
11191    }
11192
11193    /// Implements [super::client::RegionTargetHttpProxies::get].
11194    fn get(
11195        &self,
11196        _req: crate::model::region_target_http_proxies::GetRequest,
11197        _options: crate::RequestOptions,
11198    ) -> impl std::future::Future<
11199        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
11200    > + Send {
11201        gaxi::unimplemented::unimplemented_stub()
11202    }
11203
11204    /// Implements [super::client::RegionTargetHttpProxies::insert].
11205    fn insert(
11206        &self,
11207        _req: crate::model::region_target_http_proxies::InsertRequest,
11208        _options: crate::RequestOptions,
11209    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11210    {
11211        gaxi::unimplemented::unimplemented_stub()
11212    }
11213
11214    /// Implements [super::client::RegionTargetHttpProxies::list].
11215    fn list(
11216        &self,
11217        _req: crate::model::region_target_http_proxies::ListRequest,
11218        _options: crate::RequestOptions,
11219    ) -> impl std::future::Future<
11220        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
11221    > + Send {
11222        gaxi::unimplemented::unimplemented_stub()
11223    }
11224
11225    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
11226    fn set_url_map(
11227        &self,
11228        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
11229        _options: crate::RequestOptions,
11230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11231    {
11232        gaxi::unimplemented::unimplemented_stub()
11233    }
11234
11235    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
11236    fn get_operation(
11237        &self,
11238        _req: crate::model::region_operations::GetRequest,
11239        _options: crate::RequestOptions,
11240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11241    {
11242        gaxi::unimplemented::unimplemented_stub()
11243    }
11244
11245    /// Returns the polling error policy.
11246    ///
11247    /// When mocking, this method is typically irrelevant. Do not try to verify
11248    /// it is called by your mocks.
11249    fn get_polling_error_policy(
11250        &self,
11251        _options: &crate::RequestOptions,
11252    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11253        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11254    }
11255
11256    /// Returns the polling backoff policy.
11257    ///
11258    /// When mocking, this method is typically irrelevant. Do not try to verify
11259    /// it is called by your mocks.
11260    fn get_polling_backoff_policy(
11261        &self,
11262        _options: &crate::RequestOptions,
11263    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11264        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11265    }
11266}
11267
11268/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
11269///
11270/// Application developers may need to implement this trait to mock
11271/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
11272/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
11273/// its implementations.
11274///
11275/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11276/// too. To avoid breaking applications the trait provides a default
11277/// implementation of each method. Most of these implementations just return an
11278/// error.
11279#[cfg(feature = "region-target-https-proxies")]
11280#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
11281pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
11282    /// Implements [super::client::RegionTargetHttpsProxies::delete].
11283    fn delete(
11284        &self,
11285        _req: crate::model::region_target_https_proxies::DeleteRequest,
11286        _options: crate::RequestOptions,
11287    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11288    {
11289        gaxi::unimplemented::unimplemented_stub()
11290    }
11291
11292    /// Implements [super::client::RegionTargetHttpsProxies::get].
11293    fn get(
11294        &self,
11295        _req: crate::model::region_target_https_proxies::GetRequest,
11296        _options: crate::RequestOptions,
11297    ) -> impl std::future::Future<
11298        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
11299    > + Send {
11300        gaxi::unimplemented::unimplemented_stub()
11301    }
11302
11303    /// Implements [super::client::RegionTargetHttpsProxies::insert].
11304    fn insert(
11305        &self,
11306        _req: crate::model::region_target_https_proxies::InsertRequest,
11307        _options: crate::RequestOptions,
11308    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11309    {
11310        gaxi::unimplemented::unimplemented_stub()
11311    }
11312
11313    /// Implements [super::client::RegionTargetHttpsProxies::list].
11314    fn list(
11315        &self,
11316        _req: crate::model::region_target_https_proxies::ListRequest,
11317        _options: crate::RequestOptions,
11318    ) -> impl std::future::Future<
11319        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
11320    > + Send {
11321        gaxi::unimplemented::unimplemented_stub()
11322    }
11323
11324    /// Implements [super::client::RegionTargetHttpsProxies::patch].
11325    fn patch(
11326        &self,
11327        _req: crate::model::region_target_https_proxies::PatchRequest,
11328        _options: crate::RequestOptions,
11329    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11330    {
11331        gaxi::unimplemented::unimplemented_stub()
11332    }
11333
11334    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
11335    fn set_ssl_certificates(
11336        &self,
11337        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
11338        _options: crate::RequestOptions,
11339    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11340    {
11341        gaxi::unimplemented::unimplemented_stub()
11342    }
11343
11344    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
11345    fn set_url_map(
11346        &self,
11347        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
11348        _options: crate::RequestOptions,
11349    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11350    {
11351        gaxi::unimplemented::unimplemented_stub()
11352    }
11353
11354    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
11355    fn get_operation(
11356        &self,
11357        _req: crate::model::region_operations::GetRequest,
11358        _options: crate::RequestOptions,
11359    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11360    {
11361        gaxi::unimplemented::unimplemented_stub()
11362    }
11363
11364    /// Returns the polling error policy.
11365    ///
11366    /// When mocking, this method is typically irrelevant. Do not try to verify
11367    /// it is called by your mocks.
11368    fn get_polling_error_policy(
11369        &self,
11370        _options: &crate::RequestOptions,
11371    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11372        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11373    }
11374
11375    /// Returns the polling backoff policy.
11376    ///
11377    /// When mocking, this method is typically irrelevant. Do not try to verify
11378    /// it is called by your mocks.
11379    fn get_polling_backoff_policy(
11380        &self,
11381        _options: &crate::RequestOptions,
11382    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11383        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11384    }
11385}
11386
11387/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
11388///
11389/// Application developers may need to implement this trait to mock
11390/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
11391/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
11392/// its implementations.
11393///
11394/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11395/// too. To avoid breaking applications the trait provides a default
11396/// implementation of each method. Most of these implementations just return an
11397/// error.
11398#[cfg(feature = "region-target-tcp-proxies")]
11399#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
11400pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
11401    /// Implements [super::client::RegionTargetTcpProxies::delete].
11402    fn delete(
11403        &self,
11404        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
11405        _options: crate::RequestOptions,
11406    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11407    {
11408        gaxi::unimplemented::unimplemented_stub()
11409    }
11410
11411    /// Implements [super::client::RegionTargetTcpProxies::get].
11412    fn get(
11413        &self,
11414        _req: crate::model::region_target_tcp_proxies::GetRequest,
11415        _options: crate::RequestOptions,
11416    ) -> impl std::future::Future<
11417        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
11418    > + Send {
11419        gaxi::unimplemented::unimplemented_stub()
11420    }
11421
11422    /// Implements [super::client::RegionTargetTcpProxies::insert].
11423    fn insert(
11424        &self,
11425        _req: crate::model::region_target_tcp_proxies::InsertRequest,
11426        _options: crate::RequestOptions,
11427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11428    {
11429        gaxi::unimplemented::unimplemented_stub()
11430    }
11431
11432    /// Implements [super::client::RegionTargetTcpProxies::list].
11433    fn list(
11434        &self,
11435        _req: crate::model::region_target_tcp_proxies::ListRequest,
11436        _options: crate::RequestOptions,
11437    ) -> impl std::future::Future<
11438        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
11439    > + Send {
11440        gaxi::unimplemented::unimplemented_stub()
11441    }
11442
11443    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
11444    fn get_operation(
11445        &self,
11446        _req: crate::model::region_operations::GetRequest,
11447        _options: crate::RequestOptions,
11448    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11449    {
11450        gaxi::unimplemented::unimplemented_stub()
11451    }
11452
11453    /// Returns the polling error policy.
11454    ///
11455    /// When mocking, this method is typically irrelevant. Do not try to verify
11456    /// it is called by your mocks.
11457    fn get_polling_error_policy(
11458        &self,
11459        _options: &crate::RequestOptions,
11460    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11461        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11462    }
11463
11464    /// Returns the polling backoff policy.
11465    ///
11466    /// When mocking, this method is typically irrelevant. Do not try to verify
11467    /// it is called by your mocks.
11468    fn get_polling_backoff_policy(
11469        &self,
11470        _options: &crate::RequestOptions,
11471    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11472        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11473    }
11474}
11475
11476/// Defines the trait used to implement [super::client::RegionUrlMaps].
11477///
11478/// Application developers may need to implement this trait to mock
11479/// `client::RegionUrlMaps`.  In other use-cases, application developers only
11480/// use `client::RegionUrlMaps` and need not be concerned with this trait or
11481/// its implementations.
11482///
11483/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11484/// too. To avoid breaking applications the trait provides a default
11485/// implementation of each method. Most of these implementations just return an
11486/// error.
11487#[cfg(feature = "region-url-maps")]
11488#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
11489pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
11490    /// Implements [super::client::RegionUrlMaps::delete].
11491    fn delete(
11492        &self,
11493        _req: crate::model::region_url_maps::DeleteRequest,
11494        _options: crate::RequestOptions,
11495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11496    {
11497        gaxi::unimplemented::unimplemented_stub()
11498    }
11499
11500    /// Implements [super::client::RegionUrlMaps::get].
11501    fn get(
11502        &self,
11503        _req: crate::model::region_url_maps::GetRequest,
11504        _options: crate::RequestOptions,
11505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
11506    {
11507        gaxi::unimplemented::unimplemented_stub()
11508    }
11509
11510    /// Implements [super::client::RegionUrlMaps::insert].
11511    fn insert(
11512        &self,
11513        _req: crate::model::region_url_maps::InsertRequest,
11514        _options: crate::RequestOptions,
11515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11516    {
11517        gaxi::unimplemented::unimplemented_stub()
11518    }
11519
11520    /// Implements [super::client::RegionUrlMaps::list].
11521    fn list(
11522        &self,
11523        _req: crate::model::region_url_maps::ListRequest,
11524        _options: crate::RequestOptions,
11525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
11526    {
11527        gaxi::unimplemented::unimplemented_stub()
11528    }
11529
11530    /// Implements [super::client::RegionUrlMaps::patch].
11531    fn patch(
11532        &self,
11533        _req: crate::model::region_url_maps::PatchRequest,
11534        _options: crate::RequestOptions,
11535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11536    {
11537        gaxi::unimplemented::unimplemented_stub()
11538    }
11539
11540    /// Implements [super::client::RegionUrlMaps::update].
11541    fn update(
11542        &self,
11543        _req: crate::model::region_url_maps::UpdateRequest,
11544        _options: crate::RequestOptions,
11545    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11546    {
11547        gaxi::unimplemented::unimplemented_stub()
11548    }
11549
11550    /// Implements [super::client::RegionUrlMaps::validate].
11551    fn validate(
11552        &self,
11553        _req: crate::model::region_url_maps::ValidateRequest,
11554        _options: crate::RequestOptions,
11555    ) -> impl std::future::Future<
11556        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
11557    > + Send {
11558        gaxi::unimplemented::unimplemented_stub()
11559    }
11560
11561    /// Implements [super::client::RegionUrlMaps::get_operation].
11562    fn get_operation(
11563        &self,
11564        _req: crate::model::region_operations::GetRequest,
11565        _options: crate::RequestOptions,
11566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11567    {
11568        gaxi::unimplemented::unimplemented_stub()
11569    }
11570
11571    /// Returns the polling error policy.
11572    ///
11573    /// When mocking, this method is typically irrelevant. Do not try to verify
11574    /// it is called by your mocks.
11575    fn get_polling_error_policy(
11576        &self,
11577        _options: &crate::RequestOptions,
11578    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11579        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11580    }
11581
11582    /// Returns the polling backoff policy.
11583    ///
11584    /// When mocking, this method is typically irrelevant. Do not try to verify
11585    /// it is called by your mocks.
11586    fn get_polling_backoff_policy(
11587        &self,
11588        _options: &crate::RequestOptions,
11589    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11590        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11591    }
11592}
11593
11594/// Defines the trait used to implement [super::client::RegionZones].
11595///
11596/// Application developers may need to implement this trait to mock
11597/// `client::RegionZones`.  In other use-cases, application developers only
11598/// use `client::RegionZones` and need not be concerned with this trait or
11599/// its implementations.
11600///
11601/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11602/// too. To avoid breaking applications the trait provides a default
11603/// implementation of each method. Most of these implementations just return an
11604/// error.
11605#[cfg(feature = "region-zones")]
11606#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
11607pub trait RegionZones: std::fmt::Debug + Send + Sync {
11608    /// Implements [super::client::RegionZones::list].
11609    fn list(
11610        &self,
11611        _req: crate::model::region_zones::ListRequest,
11612        _options: crate::RequestOptions,
11613    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
11614    {
11615        gaxi::unimplemented::unimplemented_stub()
11616    }
11617}
11618
11619/// Defines the trait used to implement [super::client::Regions].
11620///
11621/// Application developers may need to implement this trait to mock
11622/// `client::Regions`.  In other use-cases, application developers only
11623/// use `client::Regions` and need not be concerned with this trait or
11624/// its implementations.
11625///
11626/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11627/// too. To avoid breaking applications the trait provides a default
11628/// implementation of each method. Most of these implementations just return an
11629/// error.
11630#[cfg(feature = "regions")]
11631#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
11632pub trait Regions: std::fmt::Debug + Send + Sync {
11633    /// Implements [super::client::Regions::get].
11634    fn get(
11635        &self,
11636        _req: crate::model::regions::GetRequest,
11637        _options: crate::RequestOptions,
11638    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
11639    {
11640        gaxi::unimplemented::unimplemented_stub()
11641    }
11642
11643    /// Implements [super::client::Regions::list].
11644    fn list(
11645        &self,
11646        _req: crate::model::regions::ListRequest,
11647        _options: crate::RequestOptions,
11648    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
11649    {
11650        gaxi::unimplemented::unimplemented_stub()
11651    }
11652}
11653
11654/// Defines the trait used to implement [super::client::ReservationBlocks].
11655///
11656/// Application developers may need to implement this trait to mock
11657/// `client::ReservationBlocks`.  In other use-cases, application developers only
11658/// use `client::ReservationBlocks` and need not be concerned with this trait or
11659/// its implementations.
11660///
11661/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11662/// too. To avoid breaking applications the trait provides a default
11663/// implementation of each method. Most of these implementations just return an
11664/// error.
11665#[cfg(feature = "reservation-blocks")]
11666#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
11667pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
11668    /// Implements [super::client::ReservationBlocks::get].
11669    fn get(
11670        &self,
11671        _req: crate::model::reservation_blocks::GetRequest,
11672        _options: crate::RequestOptions,
11673    ) -> impl std::future::Future<
11674        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
11675    > + Send {
11676        gaxi::unimplemented::unimplemented_stub()
11677    }
11678
11679    /// Implements [super::client::ReservationBlocks::get_iam_policy].
11680    fn get_iam_policy(
11681        &self,
11682        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
11683        _options: crate::RequestOptions,
11684    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11685    {
11686        gaxi::unimplemented::unimplemented_stub()
11687    }
11688
11689    /// Implements [super::client::ReservationBlocks::list].
11690    fn list(
11691        &self,
11692        _req: crate::model::reservation_blocks::ListRequest,
11693        _options: crate::RequestOptions,
11694    ) -> impl std::future::Future<
11695        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
11696    > + Send {
11697        gaxi::unimplemented::unimplemented_stub()
11698    }
11699
11700    /// Implements [super::client::ReservationBlocks::perform_maintenance].
11701    fn perform_maintenance(
11702        &self,
11703        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
11704        _options: crate::RequestOptions,
11705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11706    {
11707        gaxi::unimplemented::unimplemented_stub()
11708    }
11709
11710    /// Implements [super::client::ReservationBlocks::set_iam_policy].
11711    fn set_iam_policy(
11712        &self,
11713        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
11714        _options: crate::RequestOptions,
11715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11716    {
11717        gaxi::unimplemented::unimplemented_stub()
11718    }
11719
11720    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
11721    fn test_iam_permissions(
11722        &self,
11723        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
11724        _options: crate::RequestOptions,
11725    ) -> impl std::future::Future<
11726        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11727    > + Send {
11728        gaxi::unimplemented::unimplemented_stub()
11729    }
11730
11731    /// Implements [super::client::ReservationBlocks::get_operation].
11732    fn get_operation(
11733        &self,
11734        _req: crate::model::zone_operations::GetRequest,
11735        _options: crate::RequestOptions,
11736    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11737    {
11738        gaxi::unimplemented::unimplemented_stub()
11739    }
11740
11741    /// Returns the polling error policy.
11742    ///
11743    /// When mocking, this method is typically irrelevant. Do not try to verify
11744    /// it is called by your mocks.
11745    fn get_polling_error_policy(
11746        &self,
11747        _options: &crate::RequestOptions,
11748    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11749        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11750    }
11751
11752    /// Returns the polling backoff policy.
11753    ///
11754    /// When mocking, this method is typically irrelevant. Do not try to verify
11755    /// it is called by your mocks.
11756    fn get_polling_backoff_policy(
11757        &self,
11758        _options: &crate::RequestOptions,
11759    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11760        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11761    }
11762}
11763
11764/// Defines the trait used to implement [super::client::ReservationSlots].
11765///
11766/// Application developers may need to implement this trait to mock
11767/// `client::ReservationSlots`.  In other use-cases, application developers only
11768/// use `client::ReservationSlots` and need not be concerned with this trait or
11769/// its implementations.
11770///
11771/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11772/// too. To avoid breaking applications the trait provides a default
11773/// implementation of each method. Most of these implementations just return an
11774/// error.
11775#[cfg(feature = "reservation-slots")]
11776#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
11777pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
11778    /// Implements [super::client::ReservationSlots::get].
11779    fn get(
11780        &self,
11781        _req: crate::model::reservation_slots::GetRequest,
11782        _options: crate::RequestOptions,
11783    ) -> impl std::future::Future<
11784        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
11785    > + Send {
11786        gaxi::unimplemented::unimplemented_stub()
11787    }
11788
11789    /// Implements [super::client::ReservationSlots::get_version].
11790    fn get_version(
11791        &self,
11792        _req: crate::model::reservation_slots::GetVersionRequest,
11793        _options: crate::RequestOptions,
11794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11795    {
11796        gaxi::unimplemented::unimplemented_stub()
11797    }
11798
11799    /// Implements [super::client::ReservationSlots::list].
11800    fn list(
11801        &self,
11802        _req: crate::model::reservation_slots::ListRequest,
11803        _options: crate::RequestOptions,
11804    ) -> impl std::future::Future<
11805        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
11806    > + Send {
11807        gaxi::unimplemented::unimplemented_stub()
11808    }
11809
11810    /// Implements [super::client::ReservationSlots::update].
11811    fn update(
11812        &self,
11813        _req: crate::model::reservation_slots::UpdateRequest,
11814        _options: crate::RequestOptions,
11815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11816    {
11817        gaxi::unimplemented::unimplemented_stub()
11818    }
11819
11820    /// Implements [super::client::ReservationSlots::get_operation].
11821    fn get_operation(
11822        &self,
11823        _req: crate::model::zone_operations::GetRequest,
11824        _options: crate::RequestOptions,
11825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11826    {
11827        gaxi::unimplemented::unimplemented_stub()
11828    }
11829
11830    /// Returns the polling error policy.
11831    ///
11832    /// When mocking, this method is typically irrelevant. Do not try to verify
11833    /// it is called by your mocks.
11834    fn get_polling_error_policy(
11835        &self,
11836        _options: &crate::RequestOptions,
11837    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11838        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11839    }
11840
11841    /// Returns the polling backoff policy.
11842    ///
11843    /// When mocking, this method is typically irrelevant. Do not try to verify
11844    /// it is called by your mocks.
11845    fn get_polling_backoff_policy(
11846        &self,
11847        _options: &crate::RequestOptions,
11848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11849        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11850    }
11851}
11852
11853/// Defines the trait used to implement [super::client::ReservationSubBlocks].
11854///
11855/// Application developers may need to implement this trait to mock
11856/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
11857/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
11858/// its implementations.
11859///
11860/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11861/// too. To avoid breaking applications the trait provides a default
11862/// implementation of each method. Most of these implementations just return an
11863/// error.
11864#[cfg(feature = "reservation-sub-blocks")]
11865#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
11866pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
11867    /// Implements [super::client::ReservationSubBlocks::get].
11868    fn get(
11869        &self,
11870        _req: crate::model::reservation_sub_blocks::GetRequest,
11871        _options: crate::RequestOptions,
11872    ) -> impl std::future::Future<
11873        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
11874    > + Send {
11875        gaxi::unimplemented::unimplemented_stub()
11876    }
11877
11878    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
11879    fn get_iam_policy(
11880        &self,
11881        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
11882        _options: crate::RequestOptions,
11883    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11884    {
11885        gaxi::unimplemented::unimplemented_stub()
11886    }
11887
11888    /// Implements [super::client::ReservationSubBlocks::get_version].
11889    fn get_version(
11890        &self,
11891        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
11892        _options: crate::RequestOptions,
11893    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11894    {
11895        gaxi::unimplemented::unimplemented_stub()
11896    }
11897
11898    /// Implements [super::client::ReservationSubBlocks::list].
11899    fn list(
11900        &self,
11901        _req: crate::model::reservation_sub_blocks::ListRequest,
11902        _options: crate::RequestOptions,
11903    ) -> impl std::future::Future<
11904        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
11905    > + Send {
11906        gaxi::unimplemented::unimplemented_stub()
11907    }
11908
11909    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
11910    fn perform_maintenance(
11911        &self,
11912        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
11913        _options: crate::RequestOptions,
11914    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11915    {
11916        gaxi::unimplemented::unimplemented_stub()
11917    }
11918
11919    /// Implements [super::client::ReservationSubBlocks::report_faulty].
11920    fn report_faulty(
11921        &self,
11922        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
11923        _options: crate::RequestOptions,
11924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11925    {
11926        gaxi::unimplemented::unimplemented_stub()
11927    }
11928
11929    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
11930    fn set_iam_policy(
11931        &self,
11932        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
11933        _options: crate::RequestOptions,
11934    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11935    {
11936        gaxi::unimplemented::unimplemented_stub()
11937    }
11938
11939    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
11940    fn test_iam_permissions(
11941        &self,
11942        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
11943        _options: crate::RequestOptions,
11944    ) -> impl std::future::Future<
11945        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11946    > + Send {
11947        gaxi::unimplemented::unimplemented_stub()
11948    }
11949
11950    /// Implements [super::client::ReservationSubBlocks::get_operation].
11951    fn get_operation(
11952        &self,
11953        _req: crate::model::zone_operations::GetRequest,
11954        _options: crate::RequestOptions,
11955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11956    {
11957        gaxi::unimplemented::unimplemented_stub()
11958    }
11959
11960    /// Returns the polling error policy.
11961    ///
11962    /// When mocking, this method is typically irrelevant. Do not try to verify
11963    /// it is called by your mocks.
11964    fn get_polling_error_policy(
11965        &self,
11966        _options: &crate::RequestOptions,
11967    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11968        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11969    }
11970
11971    /// Returns the polling backoff policy.
11972    ///
11973    /// When mocking, this method is typically irrelevant. Do not try to verify
11974    /// it is called by your mocks.
11975    fn get_polling_backoff_policy(
11976        &self,
11977        _options: &crate::RequestOptions,
11978    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11979        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11980    }
11981}
11982
11983/// Defines the trait used to implement [super::client::Reservations].
11984///
11985/// Application developers may need to implement this trait to mock
11986/// `client::Reservations`.  In other use-cases, application developers only
11987/// use `client::Reservations` and need not be concerned with this trait or
11988/// its implementations.
11989///
11990/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11991/// too. To avoid breaking applications the trait provides a default
11992/// implementation of each method. Most of these implementations just return an
11993/// error.
11994#[cfg(feature = "reservations")]
11995#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
11996pub trait Reservations: std::fmt::Debug + Send + Sync {
11997    /// Implements [super::client::Reservations::aggregated_list].
11998    fn aggregated_list(
11999        &self,
12000        _req: crate::model::reservations::AggregatedListRequest,
12001        _options: crate::RequestOptions,
12002    ) -> impl std::future::Future<
12003        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
12004    > + Send {
12005        gaxi::unimplemented::unimplemented_stub()
12006    }
12007
12008    /// Implements [super::client::Reservations::delete].
12009    fn delete(
12010        &self,
12011        _req: crate::model::reservations::DeleteRequest,
12012        _options: crate::RequestOptions,
12013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12014    {
12015        gaxi::unimplemented::unimplemented_stub()
12016    }
12017
12018    /// Implements [super::client::Reservations::get].
12019    fn get(
12020        &self,
12021        _req: crate::model::reservations::GetRequest,
12022        _options: crate::RequestOptions,
12023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
12024    + Send {
12025        gaxi::unimplemented::unimplemented_stub()
12026    }
12027
12028    /// Implements [super::client::Reservations::get_iam_policy].
12029    fn get_iam_policy(
12030        &self,
12031        _req: crate::model::reservations::GetIamPolicyRequest,
12032        _options: crate::RequestOptions,
12033    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12034    {
12035        gaxi::unimplemented::unimplemented_stub()
12036    }
12037
12038    /// Implements [super::client::Reservations::insert].
12039    fn insert(
12040        &self,
12041        _req: crate::model::reservations::InsertRequest,
12042        _options: crate::RequestOptions,
12043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12044    {
12045        gaxi::unimplemented::unimplemented_stub()
12046    }
12047
12048    /// Implements [super::client::Reservations::list].
12049    fn list(
12050        &self,
12051        _req: crate::model::reservations::ListRequest,
12052        _options: crate::RequestOptions,
12053    ) -> impl std::future::Future<
12054        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
12055    > + Send {
12056        gaxi::unimplemented::unimplemented_stub()
12057    }
12058
12059    /// Implements [super::client::Reservations::perform_maintenance].
12060    fn perform_maintenance(
12061        &self,
12062        _req: crate::model::reservations::PerformMaintenanceRequest,
12063        _options: crate::RequestOptions,
12064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12065    {
12066        gaxi::unimplemented::unimplemented_stub()
12067    }
12068
12069    /// Implements [super::client::Reservations::resize].
12070    fn resize(
12071        &self,
12072        _req: crate::model::reservations::ResizeRequest,
12073        _options: crate::RequestOptions,
12074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12075    {
12076        gaxi::unimplemented::unimplemented_stub()
12077    }
12078
12079    /// Implements [super::client::Reservations::set_iam_policy].
12080    fn set_iam_policy(
12081        &self,
12082        _req: crate::model::reservations::SetIamPolicyRequest,
12083        _options: crate::RequestOptions,
12084    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12085    {
12086        gaxi::unimplemented::unimplemented_stub()
12087    }
12088
12089    /// Implements [super::client::Reservations::test_iam_permissions].
12090    fn test_iam_permissions(
12091        &self,
12092        _req: crate::model::reservations::TestIamPermissionsRequest,
12093        _options: crate::RequestOptions,
12094    ) -> impl std::future::Future<
12095        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12096    > + Send {
12097        gaxi::unimplemented::unimplemented_stub()
12098    }
12099
12100    /// Implements [super::client::Reservations::update].
12101    fn update(
12102        &self,
12103        _req: crate::model::reservations::UpdateRequest,
12104        _options: crate::RequestOptions,
12105    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12106    {
12107        gaxi::unimplemented::unimplemented_stub()
12108    }
12109
12110    /// Implements [super::client::Reservations::get_operation].
12111    fn get_operation(
12112        &self,
12113        _req: crate::model::zone_operations::GetRequest,
12114        _options: crate::RequestOptions,
12115    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12116    {
12117        gaxi::unimplemented::unimplemented_stub()
12118    }
12119
12120    /// Returns the polling error policy.
12121    ///
12122    /// When mocking, this method is typically irrelevant. Do not try to verify
12123    /// it is called by your mocks.
12124    fn get_polling_error_policy(
12125        &self,
12126        _options: &crate::RequestOptions,
12127    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12128        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12129    }
12130
12131    /// Returns the polling backoff policy.
12132    ///
12133    /// When mocking, this method is typically irrelevant. Do not try to verify
12134    /// it is called by your mocks.
12135    fn get_polling_backoff_policy(
12136        &self,
12137        _options: &crate::RequestOptions,
12138    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12139        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12140    }
12141}
12142
12143/// Defines the trait used to implement [super::client::ResourcePolicies].
12144///
12145/// Application developers may need to implement this trait to mock
12146/// `client::ResourcePolicies`.  In other use-cases, application developers only
12147/// use `client::ResourcePolicies` and need not be concerned with this trait or
12148/// its implementations.
12149///
12150/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12151/// too. To avoid breaking applications the trait provides a default
12152/// implementation of each method. Most of these implementations just return an
12153/// error.
12154#[cfg(feature = "resource-policies")]
12155#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
12156pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
12157    /// Implements [super::client::ResourcePolicies::aggregated_list].
12158    fn aggregated_list(
12159        &self,
12160        _req: crate::model::resource_policies::AggregatedListRequest,
12161        _options: crate::RequestOptions,
12162    ) -> impl std::future::Future<
12163        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
12164    > + Send {
12165        gaxi::unimplemented::unimplemented_stub()
12166    }
12167
12168    /// Implements [super::client::ResourcePolicies::delete].
12169    fn delete(
12170        &self,
12171        _req: crate::model::resource_policies::DeleteRequest,
12172        _options: crate::RequestOptions,
12173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12174    {
12175        gaxi::unimplemented::unimplemented_stub()
12176    }
12177
12178    /// Implements [super::client::ResourcePolicies::get].
12179    fn get(
12180        &self,
12181        _req: crate::model::resource_policies::GetRequest,
12182        _options: crate::RequestOptions,
12183    ) -> impl std::future::Future<
12184        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
12185    > + Send {
12186        gaxi::unimplemented::unimplemented_stub()
12187    }
12188
12189    /// Implements [super::client::ResourcePolicies::get_iam_policy].
12190    fn get_iam_policy(
12191        &self,
12192        _req: crate::model::resource_policies::GetIamPolicyRequest,
12193        _options: crate::RequestOptions,
12194    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12195    {
12196        gaxi::unimplemented::unimplemented_stub()
12197    }
12198
12199    /// Implements [super::client::ResourcePolicies::insert].
12200    fn insert(
12201        &self,
12202        _req: crate::model::resource_policies::InsertRequest,
12203        _options: crate::RequestOptions,
12204    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12205    {
12206        gaxi::unimplemented::unimplemented_stub()
12207    }
12208
12209    /// Implements [super::client::ResourcePolicies::list].
12210    fn list(
12211        &self,
12212        _req: crate::model::resource_policies::ListRequest,
12213        _options: crate::RequestOptions,
12214    ) -> impl std::future::Future<
12215        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
12216    > + Send {
12217        gaxi::unimplemented::unimplemented_stub()
12218    }
12219
12220    /// Implements [super::client::ResourcePolicies::patch].
12221    fn patch(
12222        &self,
12223        _req: crate::model::resource_policies::PatchRequest,
12224        _options: crate::RequestOptions,
12225    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12226    {
12227        gaxi::unimplemented::unimplemented_stub()
12228    }
12229
12230    /// Implements [super::client::ResourcePolicies::set_iam_policy].
12231    fn set_iam_policy(
12232        &self,
12233        _req: crate::model::resource_policies::SetIamPolicyRequest,
12234        _options: crate::RequestOptions,
12235    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12236    {
12237        gaxi::unimplemented::unimplemented_stub()
12238    }
12239
12240    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
12241    fn test_iam_permissions(
12242        &self,
12243        _req: crate::model::resource_policies::TestIamPermissionsRequest,
12244        _options: crate::RequestOptions,
12245    ) -> impl std::future::Future<
12246        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12247    > + Send {
12248        gaxi::unimplemented::unimplemented_stub()
12249    }
12250
12251    /// Implements [super::client::ResourcePolicies::get_operation].
12252    fn get_operation(
12253        &self,
12254        _req: crate::model::region_operations::GetRequest,
12255        _options: crate::RequestOptions,
12256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12257    {
12258        gaxi::unimplemented::unimplemented_stub()
12259    }
12260
12261    /// Returns the polling error policy.
12262    ///
12263    /// When mocking, this method is typically irrelevant. Do not try to verify
12264    /// it is called by your mocks.
12265    fn get_polling_error_policy(
12266        &self,
12267        _options: &crate::RequestOptions,
12268    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12269        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12270    }
12271
12272    /// Returns the polling backoff policy.
12273    ///
12274    /// When mocking, this method is typically irrelevant. Do not try to verify
12275    /// it is called by your mocks.
12276    fn get_polling_backoff_policy(
12277        &self,
12278        _options: &crate::RequestOptions,
12279    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12280        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12281    }
12282}
12283
12284/// Defines the trait used to implement [super::client::RolloutPlans].
12285///
12286/// Application developers may need to implement this trait to mock
12287/// `client::RolloutPlans`.  In other use-cases, application developers only
12288/// use `client::RolloutPlans` and need not be concerned with this trait or
12289/// its implementations.
12290///
12291/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12292/// too. To avoid breaking applications the trait provides a default
12293/// implementation of each method. Most of these implementations just return an
12294/// error.
12295#[cfg(feature = "rollout-plans")]
12296#[cfg_attr(docsrs, doc(cfg(feature = "rollout-plans")))]
12297pub trait RolloutPlans: std::fmt::Debug + Send + Sync {
12298    /// Implements [super::client::RolloutPlans::delete].
12299    fn delete(
12300        &self,
12301        _req: crate::model::rollout_plans::DeleteRequest,
12302        _options: crate::RequestOptions,
12303    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12304    {
12305        gaxi::unimplemented::unimplemented_stub()
12306    }
12307
12308    /// Implements [super::client::RolloutPlans::get].
12309    fn get(
12310        &self,
12311        _req: crate::model::rollout_plans::GetRequest,
12312        _options: crate::RequestOptions,
12313    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RolloutPlan>>>
12314    + Send {
12315        gaxi::unimplemented::unimplemented_stub()
12316    }
12317
12318    /// Implements [super::client::RolloutPlans::insert].
12319    fn insert(
12320        &self,
12321        _req: crate::model::rollout_plans::InsertRequest,
12322        _options: crate::RequestOptions,
12323    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12324    {
12325        gaxi::unimplemented::unimplemented_stub()
12326    }
12327
12328    /// Implements [super::client::RolloutPlans::list].
12329    fn list(
12330        &self,
12331        _req: crate::model::rollout_plans::ListRequest,
12332        _options: crate::RequestOptions,
12333    ) -> impl std::future::Future<
12334        Output = crate::Result<crate::Response<crate::model::RolloutPlansListResponse>>,
12335    > + Send {
12336        gaxi::unimplemented::unimplemented_stub()
12337    }
12338
12339    /// Implements [super::client::RolloutPlans::get_operation].
12340    fn get_operation(
12341        &self,
12342        _req: crate::model::global_operations::GetRequest,
12343        _options: crate::RequestOptions,
12344    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12345    {
12346        gaxi::unimplemented::unimplemented_stub()
12347    }
12348
12349    /// Returns the polling error policy.
12350    ///
12351    /// When mocking, this method is typically irrelevant. Do not try to verify
12352    /// it is called by your mocks.
12353    fn get_polling_error_policy(
12354        &self,
12355        _options: &crate::RequestOptions,
12356    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12357        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12358    }
12359
12360    /// Returns the polling backoff policy.
12361    ///
12362    /// When mocking, this method is typically irrelevant. Do not try to verify
12363    /// it is called by your mocks.
12364    fn get_polling_backoff_policy(
12365        &self,
12366        _options: &crate::RequestOptions,
12367    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12368        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12369    }
12370}
12371
12372/// Defines the trait used to implement [super::client::Rollouts].
12373///
12374/// Application developers may need to implement this trait to mock
12375/// `client::Rollouts`.  In other use-cases, application developers only
12376/// use `client::Rollouts` and need not be concerned with this trait or
12377/// its implementations.
12378///
12379/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12380/// too. To avoid breaking applications the trait provides a default
12381/// implementation of each method. Most of these implementations just return an
12382/// error.
12383#[cfg(feature = "rollouts")]
12384#[cfg_attr(docsrs, doc(cfg(feature = "rollouts")))]
12385pub trait Rollouts: std::fmt::Debug + Send + Sync {
12386    /// Implements [super::client::Rollouts::cancel].
12387    fn cancel(
12388        &self,
12389        _req: crate::model::rollouts::CancelRequest,
12390        _options: crate::RequestOptions,
12391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12392    {
12393        gaxi::unimplemented::unimplemented_stub()
12394    }
12395
12396    /// Implements [super::client::Rollouts::delete].
12397    fn delete(
12398        &self,
12399        _req: crate::model::rollouts::DeleteRequest,
12400        _options: crate::RequestOptions,
12401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12402    {
12403        gaxi::unimplemented::unimplemented_stub()
12404    }
12405
12406    /// Implements [super::client::Rollouts::get].
12407    fn get(
12408        &self,
12409        _req: crate::model::rollouts::GetRequest,
12410        _options: crate::RequestOptions,
12411    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Rollout>>> + Send
12412    {
12413        gaxi::unimplemented::unimplemented_stub()
12414    }
12415
12416    /// Implements [super::client::Rollouts::list].
12417    fn list(
12418        &self,
12419        _req: crate::model::rollouts::ListRequest,
12420        _options: crate::RequestOptions,
12421    ) -> impl std::future::Future<
12422        Output = crate::Result<crate::Response<crate::model::RolloutsListResponse>>,
12423    > + Send {
12424        gaxi::unimplemented::unimplemented_stub()
12425    }
12426
12427    /// Implements [super::client::Rollouts::get_operation].
12428    fn get_operation(
12429        &self,
12430        _req: crate::model::global_operations::GetRequest,
12431        _options: crate::RequestOptions,
12432    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12433    {
12434        gaxi::unimplemented::unimplemented_stub()
12435    }
12436
12437    /// Returns the polling error policy.
12438    ///
12439    /// When mocking, this method is typically irrelevant. Do not try to verify
12440    /// it is called by your mocks.
12441    fn get_polling_error_policy(
12442        &self,
12443        _options: &crate::RequestOptions,
12444    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12445        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12446    }
12447
12448    /// Returns the polling backoff policy.
12449    ///
12450    /// When mocking, this method is typically irrelevant. Do not try to verify
12451    /// it is called by your mocks.
12452    fn get_polling_backoff_policy(
12453        &self,
12454        _options: &crate::RequestOptions,
12455    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12456        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12457    }
12458}
12459
12460/// Defines the trait used to implement [super::client::Routers].
12461///
12462/// Application developers may need to implement this trait to mock
12463/// `client::Routers`.  In other use-cases, application developers only
12464/// use `client::Routers` and need not be concerned with this trait or
12465/// its implementations.
12466///
12467/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12468/// too. To avoid breaking applications the trait provides a default
12469/// implementation of each method. Most of these implementations just return an
12470/// error.
12471#[cfg(feature = "routers")]
12472#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
12473pub trait Routers: std::fmt::Debug + Send + Sync {
12474    /// Implements [super::client::Routers::aggregated_list].
12475    fn aggregated_list(
12476        &self,
12477        _req: crate::model::routers::AggregatedListRequest,
12478        _options: crate::RequestOptions,
12479    ) -> impl std::future::Future<
12480        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
12481    > + Send {
12482        gaxi::unimplemented::unimplemented_stub()
12483    }
12484
12485    /// Implements [super::client::Routers::delete].
12486    fn delete(
12487        &self,
12488        _req: crate::model::routers::DeleteRequest,
12489        _options: crate::RequestOptions,
12490    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12491    {
12492        gaxi::unimplemented::unimplemented_stub()
12493    }
12494
12495    /// Implements [super::client::Routers::delete_route_policy].
12496    fn delete_route_policy(
12497        &self,
12498        _req: crate::model::routers::DeleteRoutePolicyRequest,
12499        _options: crate::RequestOptions,
12500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12501    {
12502        gaxi::unimplemented::unimplemented_stub()
12503    }
12504
12505    /// Implements [super::client::Routers::get].
12506    fn get(
12507        &self,
12508        _req: crate::model::routers::GetRequest,
12509        _options: crate::RequestOptions,
12510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
12511    {
12512        gaxi::unimplemented::unimplemented_stub()
12513    }
12514
12515    /// Implements [super::client::Routers::get_nat_ip_info].
12516    fn get_nat_ip_info(
12517        &self,
12518        _req: crate::model::routers::GetNatIpInfoRequest,
12519        _options: crate::RequestOptions,
12520    ) -> impl std::future::Future<
12521        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
12522    > + Send {
12523        gaxi::unimplemented::unimplemented_stub()
12524    }
12525
12526    /// Implements [super::client::Routers::get_nat_mapping_info].
12527    fn get_nat_mapping_info(
12528        &self,
12529        _req: crate::model::routers::GetNatMappingInfoRequest,
12530        _options: crate::RequestOptions,
12531    ) -> impl std::future::Future<
12532        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
12533    > + Send {
12534        gaxi::unimplemented::unimplemented_stub()
12535    }
12536
12537    /// Implements [super::client::Routers::get_route_policy].
12538    fn get_route_policy(
12539        &self,
12540        _req: crate::model::routers::GetRoutePolicyRequest,
12541        _options: crate::RequestOptions,
12542    ) -> impl std::future::Future<
12543        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
12544    > + Send {
12545        gaxi::unimplemented::unimplemented_stub()
12546    }
12547
12548    /// Implements [super::client::Routers::get_router_status].
12549    fn get_router_status(
12550        &self,
12551        _req: crate::model::routers::GetRouterStatusRequest,
12552        _options: crate::RequestOptions,
12553    ) -> impl std::future::Future<
12554        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
12555    > + Send {
12556        gaxi::unimplemented::unimplemented_stub()
12557    }
12558
12559    /// Implements [super::client::Routers::insert].
12560    fn insert(
12561        &self,
12562        _req: crate::model::routers::InsertRequest,
12563        _options: crate::RequestOptions,
12564    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12565    {
12566        gaxi::unimplemented::unimplemented_stub()
12567    }
12568
12569    /// Implements [super::client::Routers::list].
12570    fn list(
12571        &self,
12572        _req: crate::model::routers::ListRequest,
12573        _options: crate::RequestOptions,
12574    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
12575    {
12576        gaxi::unimplemented::unimplemented_stub()
12577    }
12578
12579    /// Implements [super::client::Routers::list_bgp_routes].
12580    fn list_bgp_routes(
12581        &self,
12582        _req: crate::model::routers::ListBgpRoutesRequest,
12583        _options: crate::RequestOptions,
12584    ) -> impl std::future::Future<
12585        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
12586    > + Send {
12587        gaxi::unimplemented::unimplemented_stub()
12588    }
12589
12590    /// Implements [super::client::Routers::list_route_policies].
12591    fn list_route_policies(
12592        &self,
12593        _req: crate::model::routers::ListRoutePoliciesRequest,
12594        _options: crate::RequestOptions,
12595    ) -> impl std::future::Future<
12596        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
12597    > + Send {
12598        gaxi::unimplemented::unimplemented_stub()
12599    }
12600
12601    /// Implements [super::client::Routers::patch].
12602    fn patch(
12603        &self,
12604        _req: crate::model::routers::PatchRequest,
12605        _options: crate::RequestOptions,
12606    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12607    {
12608        gaxi::unimplemented::unimplemented_stub()
12609    }
12610
12611    /// Implements [super::client::Routers::patch_route_policy].
12612    fn patch_route_policy(
12613        &self,
12614        _req: crate::model::routers::PatchRoutePolicyRequest,
12615        _options: crate::RequestOptions,
12616    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12617    {
12618        gaxi::unimplemented::unimplemented_stub()
12619    }
12620
12621    /// Implements [super::client::Routers::preview].
12622    fn preview(
12623        &self,
12624        _req: crate::model::routers::PreviewRequest,
12625        _options: crate::RequestOptions,
12626    ) -> impl std::future::Future<
12627        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
12628    > + Send {
12629        gaxi::unimplemented::unimplemented_stub()
12630    }
12631
12632    /// Implements [super::client::Routers::update].
12633    fn update(
12634        &self,
12635        _req: crate::model::routers::UpdateRequest,
12636        _options: crate::RequestOptions,
12637    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12638    {
12639        gaxi::unimplemented::unimplemented_stub()
12640    }
12641
12642    /// Implements [super::client::Routers::update_route_policy].
12643    fn update_route_policy(
12644        &self,
12645        _req: crate::model::routers::UpdateRoutePolicyRequest,
12646        _options: crate::RequestOptions,
12647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12648    {
12649        gaxi::unimplemented::unimplemented_stub()
12650    }
12651
12652    /// Implements [super::client::Routers::get_operation].
12653    fn get_operation(
12654        &self,
12655        _req: crate::model::region_operations::GetRequest,
12656        _options: crate::RequestOptions,
12657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12658    {
12659        gaxi::unimplemented::unimplemented_stub()
12660    }
12661
12662    /// Returns the polling error policy.
12663    ///
12664    /// When mocking, this method is typically irrelevant. Do not try to verify
12665    /// it is called by your mocks.
12666    fn get_polling_error_policy(
12667        &self,
12668        _options: &crate::RequestOptions,
12669    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12670        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12671    }
12672
12673    /// Returns the polling backoff policy.
12674    ///
12675    /// When mocking, this method is typically irrelevant. Do not try to verify
12676    /// it is called by your mocks.
12677    fn get_polling_backoff_policy(
12678        &self,
12679        _options: &crate::RequestOptions,
12680    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12681        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12682    }
12683}
12684
12685/// Defines the trait used to implement [super::client::Routes].
12686///
12687/// Application developers may need to implement this trait to mock
12688/// `client::Routes`.  In other use-cases, application developers only
12689/// use `client::Routes` and need not be concerned with this trait or
12690/// its implementations.
12691///
12692/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12693/// too. To avoid breaking applications the trait provides a default
12694/// implementation of each method. Most of these implementations just return an
12695/// error.
12696#[cfg(feature = "routes")]
12697#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
12698pub trait Routes: std::fmt::Debug + Send + Sync {
12699    /// Implements [super::client::Routes::delete].
12700    fn delete(
12701        &self,
12702        _req: crate::model::routes::DeleteRequest,
12703        _options: crate::RequestOptions,
12704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12705    {
12706        gaxi::unimplemented::unimplemented_stub()
12707    }
12708
12709    /// Implements [super::client::Routes::get].
12710    fn get(
12711        &self,
12712        _req: crate::model::routes::GetRequest,
12713        _options: crate::RequestOptions,
12714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
12715    {
12716        gaxi::unimplemented::unimplemented_stub()
12717    }
12718
12719    /// Implements [super::client::Routes::insert].
12720    fn insert(
12721        &self,
12722        _req: crate::model::routes::InsertRequest,
12723        _options: crate::RequestOptions,
12724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12725    {
12726        gaxi::unimplemented::unimplemented_stub()
12727    }
12728
12729    /// Implements [super::client::Routes::list].
12730    fn list(
12731        &self,
12732        _req: crate::model::routes::ListRequest,
12733        _options: crate::RequestOptions,
12734    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
12735    {
12736        gaxi::unimplemented::unimplemented_stub()
12737    }
12738
12739    /// Implements [super::client::Routes::test_iam_permissions].
12740    fn test_iam_permissions(
12741        &self,
12742        _req: crate::model::routes::TestIamPermissionsRequest,
12743        _options: crate::RequestOptions,
12744    ) -> impl std::future::Future<
12745        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12746    > + Send {
12747        gaxi::unimplemented::unimplemented_stub()
12748    }
12749
12750    /// Implements [super::client::Routes::get_operation].
12751    fn get_operation(
12752        &self,
12753        _req: crate::model::global_operations::GetRequest,
12754        _options: crate::RequestOptions,
12755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12756    {
12757        gaxi::unimplemented::unimplemented_stub()
12758    }
12759
12760    /// Returns the polling error policy.
12761    ///
12762    /// When mocking, this method is typically irrelevant. Do not try to verify
12763    /// it is called by your mocks.
12764    fn get_polling_error_policy(
12765        &self,
12766        _options: &crate::RequestOptions,
12767    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12768        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12769    }
12770
12771    /// Returns the polling backoff policy.
12772    ///
12773    /// When mocking, this method is typically irrelevant. Do not try to verify
12774    /// it is called by your mocks.
12775    fn get_polling_backoff_policy(
12776        &self,
12777        _options: &crate::RequestOptions,
12778    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12779        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12780    }
12781}
12782
12783/// Defines the trait used to implement [super::client::SecurityPolicies].
12784///
12785/// Application developers may need to implement this trait to mock
12786/// `client::SecurityPolicies`.  In other use-cases, application developers only
12787/// use `client::SecurityPolicies` and need not be concerned with this trait or
12788/// its implementations.
12789///
12790/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12791/// too. To avoid breaking applications the trait provides a default
12792/// implementation of each method. Most of these implementations just return an
12793/// error.
12794#[cfg(feature = "security-policies")]
12795#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
12796pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
12797    /// Implements [super::client::SecurityPolicies::add_rule].
12798    fn add_rule(
12799        &self,
12800        _req: crate::model::security_policies::AddRuleRequest,
12801        _options: crate::RequestOptions,
12802    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12803    {
12804        gaxi::unimplemented::unimplemented_stub()
12805    }
12806
12807    /// Implements [super::client::SecurityPolicies::aggregated_list].
12808    fn aggregated_list(
12809        &self,
12810        _req: crate::model::security_policies::AggregatedListRequest,
12811        _options: crate::RequestOptions,
12812    ) -> impl std::future::Future<
12813        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
12814    > + Send {
12815        gaxi::unimplemented::unimplemented_stub()
12816    }
12817
12818    /// Implements [super::client::SecurityPolicies::delete].
12819    fn delete(
12820        &self,
12821        _req: crate::model::security_policies::DeleteRequest,
12822        _options: crate::RequestOptions,
12823    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12824    {
12825        gaxi::unimplemented::unimplemented_stub()
12826    }
12827
12828    /// Implements [super::client::SecurityPolicies::get].
12829    fn get(
12830        &self,
12831        _req: crate::model::security_policies::GetRequest,
12832        _options: crate::RequestOptions,
12833    ) -> impl std::future::Future<
12834        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
12835    > + Send {
12836        gaxi::unimplemented::unimplemented_stub()
12837    }
12838
12839    /// Implements [super::client::SecurityPolicies::get_rule].
12840    fn get_rule(
12841        &self,
12842        _req: crate::model::security_policies::GetRuleRequest,
12843        _options: crate::RequestOptions,
12844    ) -> impl std::future::Future<
12845        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
12846    > + Send {
12847        gaxi::unimplemented::unimplemented_stub()
12848    }
12849
12850    /// Implements [super::client::SecurityPolicies::insert].
12851    fn insert(
12852        &self,
12853        _req: crate::model::security_policies::InsertRequest,
12854        _options: crate::RequestOptions,
12855    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12856    {
12857        gaxi::unimplemented::unimplemented_stub()
12858    }
12859
12860    /// Implements [super::client::SecurityPolicies::list].
12861    fn list(
12862        &self,
12863        _req: crate::model::security_policies::ListRequest,
12864        _options: crate::RequestOptions,
12865    ) -> impl std::future::Future<
12866        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
12867    > + Send {
12868        gaxi::unimplemented::unimplemented_stub()
12869    }
12870
12871    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
12872    fn list_preconfigured_expression_sets(
12873        &self,
12874        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
12875        _options: crate::RequestOptions,
12876    ) -> impl std::future::Future<
12877        Output = crate::Result<
12878            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
12879        >,
12880    > + Send {
12881        gaxi::unimplemented::unimplemented_stub()
12882    }
12883
12884    /// Implements [super::client::SecurityPolicies::patch].
12885    fn patch(
12886        &self,
12887        _req: crate::model::security_policies::PatchRequest,
12888        _options: crate::RequestOptions,
12889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12890    {
12891        gaxi::unimplemented::unimplemented_stub()
12892    }
12893
12894    /// Implements [super::client::SecurityPolicies::patch_rule].
12895    fn patch_rule(
12896        &self,
12897        _req: crate::model::security_policies::PatchRuleRequest,
12898        _options: crate::RequestOptions,
12899    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12900    {
12901        gaxi::unimplemented::unimplemented_stub()
12902    }
12903
12904    /// Implements [super::client::SecurityPolicies::remove_rule].
12905    fn remove_rule(
12906        &self,
12907        _req: crate::model::security_policies::RemoveRuleRequest,
12908        _options: crate::RequestOptions,
12909    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12910    {
12911        gaxi::unimplemented::unimplemented_stub()
12912    }
12913
12914    /// Implements [super::client::SecurityPolicies::set_labels].
12915    fn set_labels(
12916        &self,
12917        _req: crate::model::security_policies::SetLabelsRequest,
12918        _options: crate::RequestOptions,
12919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12920    {
12921        gaxi::unimplemented::unimplemented_stub()
12922    }
12923
12924    /// Implements [super::client::SecurityPolicies::get_operation].
12925    fn get_operation(
12926        &self,
12927        _req: crate::model::global_operations::GetRequest,
12928        _options: crate::RequestOptions,
12929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12930    {
12931        gaxi::unimplemented::unimplemented_stub()
12932    }
12933
12934    /// Returns the polling error policy.
12935    ///
12936    /// When mocking, this method is typically irrelevant. Do not try to verify
12937    /// it is called by your mocks.
12938    fn get_polling_error_policy(
12939        &self,
12940        _options: &crate::RequestOptions,
12941    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12942        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12943    }
12944
12945    /// Returns the polling backoff policy.
12946    ///
12947    /// When mocking, this method is typically irrelevant. Do not try to verify
12948    /// it is called by your mocks.
12949    fn get_polling_backoff_policy(
12950        &self,
12951        _options: &crate::RequestOptions,
12952    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12953        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12954    }
12955}
12956
12957/// Defines the trait used to implement [super::client::ServiceAttachments].
12958///
12959/// Application developers may need to implement this trait to mock
12960/// `client::ServiceAttachments`.  In other use-cases, application developers only
12961/// use `client::ServiceAttachments` and need not be concerned with this trait or
12962/// its implementations.
12963///
12964/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12965/// too. To avoid breaking applications the trait provides a default
12966/// implementation of each method. Most of these implementations just return an
12967/// error.
12968#[cfg(feature = "service-attachments")]
12969#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
12970pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
12971    /// Implements [super::client::ServiceAttachments::aggregated_list].
12972    fn aggregated_list(
12973        &self,
12974        _req: crate::model::service_attachments::AggregatedListRequest,
12975        _options: crate::RequestOptions,
12976    ) -> impl std::future::Future<
12977        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
12978    > + Send {
12979        gaxi::unimplemented::unimplemented_stub()
12980    }
12981
12982    /// Implements [super::client::ServiceAttachments::delete].
12983    fn delete(
12984        &self,
12985        _req: crate::model::service_attachments::DeleteRequest,
12986        _options: crate::RequestOptions,
12987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12988    {
12989        gaxi::unimplemented::unimplemented_stub()
12990    }
12991
12992    /// Implements [super::client::ServiceAttachments::get].
12993    fn get(
12994        &self,
12995        _req: crate::model::service_attachments::GetRequest,
12996        _options: crate::RequestOptions,
12997    ) -> impl std::future::Future<
12998        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
12999    > + Send {
13000        gaxi::unimplemented::unimplemented_stub()
13001    }
13002
13003    /// Implements [super::client::ServiceAttachments::get_iam_policy].
13004    fn get_iam_policy(
13005        &self,
13006        _req: crate::model::service_attachments::GetIamPolicyRequest,
13007        _options: crate::RequestOptions,
13008    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13009    {
13010        gaxi::unimplemented::unimplemented_stub()
13011    }
13012
13013    /// Implements [super::client::ServiceAttachments::insert].
13014    fn insert(
13015        &self,
13016        _req: crate::model::service_attachments::InsertRequest,
13017        _options: crate::RequestOptions,
13018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13019    {
13020        gaxi::unimplemented::unimplemented_stub()
13021    }
13022
13023    /// Implements [super::client::ServiceAttachments::list].
13024    fn list(
13025        &self,
13026        _req: crate::model::service_attachments::ListRequest,
13027        _options: crate::RequestOptions,
13028    ) -> impl std::future::Future<
13029        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
13030    > + Send {
13031        gaxi::unimplemented::unimplemented_stub()
13032    }
13033
13034    /// Implements [super::client::ServiceAttachments::patch].
13035    fn patch(
13036        &self,
13037        _req: crate::model::service_attachments::PatchRequest,
13038        _options: crate::RequestOptions,
13039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13040    {
13041        gaxi::unimplemented::unimplemented_stub()
13042    }
13043
13044    /// Implements [super::client::ServiceAttachments::set_iam_policy].
13045    fn set_iam_policy(
13046        &self,
13047        _req: crate::model::service_attachments::SetIamPolicyRequest,
13048        _options: crate::RequestOptions,
13049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13050    {
13051        gaxi::unimplemented::unimplemented_stub()
13052    }
13053
13054    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
13055    fn test_iam_permissions(
13056        &self,
13057        _req: crate::model::service_attachments::TestIamPermissionsRequest,
13058        _options: crate::RequestOptions,
13059    ) -> impl std::future::Future<
13060        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13061    > + Send {
13062        gaxi::unimplemented::unimplemented_stub()
13063    }
13064
13065    /// Implements [super::client::ServiceAttachments::get_operation].
13066    fn get_operation(
13067        &self,
13068        _req: crate::model::region_operations::GetRequest,
13069        _options: crate::RequestOptions,
13070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13071    {
13072        gaxi::unimplemented::unimplemented_stub()
13073    }
13074
13075    /// Returns the polling error policy.
13076    ///
13077    /// When mocking, this method is typically irrelevant. Do not try to verify
13078    /// it is called by your mocks.
13079    fn get_polling_error_policy(
13080        &self,
13081        _options: &crate::RequestOptions,
13082    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13083        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13084    }
13085
13086    /// Returns the polling backoff policy.
13087    ///
13088    /// When mocking, this method is typically irrelevant. Do not try to verify
13089    /// it is called by your mocks.
13090    fn get_polling_backoff_policy(
13091        &self,
13092        _options: &crate::RequestOptions,
13093    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13094        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13095    }
13096}
13097
13098/// Defines the trait used to implement [super::client::SnapshotSettings].
13099///
13100/// Application developers may need to implement this trait to mock
13101/// `client::SnapshotSettings`.  In other use-cases, application developers only
13102/// use `client::SnapshotSettings` and need not be concerned with this trait or
13103/// its implementations.
13104///
13105/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13106/// too. To avoid breaking applications the trait provides a default
13107/// implementation of each method. Most of these implementations just return an
13108/// error.
13109#[cfg(feature = "snapshot-settings")]
13110#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
13111pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
13112    /// Implements [super::client::SnapshotSettings::get].
13113    fn get(
13114        &self,
13115        _req: crate::model::snapshot_settings::GetRequest,
13116        _options: crate::RequestOptions,
13117    ) -> impl std::future::Future<
13118        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
13119    > + Send {
13120        gaxi::unimplemented::unimplemented_stub()
13121    }
13122
13123    /// Implements [super::client::SnapshotSettings::patch].
13124    fn patch(
13125        &self,
13126        _req: crate::model::snapshot_settings::PatchRequest,
13127        _options: crate::RequestOptions,
13128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13129    {
13130        gaxi::unimplemented::unimplemented_stub()
13131    }
13132
13133    /// Implements [super::client::SnapshotSettings::get_operation].
13134    fn get_operation(
13135        &self,
13136        _req: crate::model::global_operations::GetRequest,
13137        _options: crate::RequestOptions,
13138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13139    {
13140        gaxi::unimplemented::unimplemented_stub()
13141    }
13142
13143    /// Returns the polling error policy.
13144    ///
13145    /// When mocking, this method is typically irrelevant. Do not try to verify
13146    /// it is called by your mocks.
13147    fn get_polling_error_policy(
13148        &self,
13149        _options: &crate::RequestOptions,
13150    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13151        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13152    }
13153
13154    /// Returns the polling backoff policy.
13155    ///
13156    /// When mocking, this method is typically irrelevant. Do not try to verify
13157    /// it is called by your mocks.
13158    fn get_polling_backoff_policy(
13159        &self,
13160        _options: &crate::RequestOptions,
13161    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13162        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13163    }
13164}
13165
13166/// Defines the trait used to implement [super::client::Snapshots].
13167///
13168/// Application developers may need to implement this trait to mock
13169/// `client::Snapshots`.  In other use-cases, application developers only
13170/// use `client::Snapshots` and need not be concerned with this trait or
13171/// its implementations.
13172///
13173/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13174/// too. To avoid breaking applications the trait provides a default
13175/// implementation of each method. Most of these implementations just return an
13176/// error.
13177#[cfg(feature = "snapshots")]
13178#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
13179pub trait Snapshots: std::fmt::Debug + Send + Sync {
13180    /// Implements [super::client::Snapshots::delete].
13181    fn delete(
13182        &self,
13183        _req: crate::model::snapshots::DeleteRequest,
13184        _options: crate::RequestOptions,
13185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13186    {
13187        gaxi::unimplemented::unimplemented_stub()
13188    }
13189
13190    /// Implements [super::client::Snapshots::get].
13191    fn get(
13192        &self,
13193        _req: crate::model::snapshots::GetRequest,
13194        _options: crate::RequestOptions,
13195    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
13196    {
13197        gaxi::unimplemented::unimplemented_stub()
13198    }
13199
13200    /// Implements [super::client::Snapshots::get_iam_policy].
13201    fn get_iam_policy(
13202        &self,
13203        _req: crate::model::snapshots::GetIamPolicyRequest,
13204        _options: crate::RequestOptions,
13205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13206    {
13207        gaxi::unimplemented::unimplemented_stub()
13208    }
13209
13210    /// Implements [super::client::Snapshots::insert].
13211    fn insert(
13212        &self,
13213        _req: crate::model::snapshots::InsertRequest,
13214        _options: crate::RequestOptions,
13215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13216    {
13217        gaxi::unimplemented::unimplemented_stub()
13218    }
13219
13220    /// Implements [super::client::Snapshots::list].
13221    fn list(
13222        &self,
13223        _req: crate::model::snapshots::ListRequest,
13224        _options: crate::RequestOptions,
13225    ) -> impl std::future::Future<
13226        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
13227    > + Send {
13228        gaxi::unimplemented::unimplemented_stub()
13229    }
13230
13231    /// Implements [super::client::Snapshots::set_iam_policy].
13232    fn set_iam_policy(
13233        &self,
13234        _req: crate::model::snapshots::SetIamPolicyRequest,
13235        _options: crate::RequestOptions,
13236    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13237    {
13238        gaxi::unimplemented::unimplemented_stub()
13239    }
13240
13241    /// Implements [super::client::Snapshots::set_labels].
13242    fn set_labels(
13243        &self,
13244        _req: crate::model::snapshots::SetLabelsRequest,
13245        _options: crate::RequestOptions,
13246    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13247    {
13248        gaxi::unimplemented::unimplemented_stub()
13249    }
13250
13251    /// Implements [super::client::Snapshots::test_iam_permissions].
13252    fn test_iam_permissions(
13253        &self,
13254        _req: crate::model::snapshots::TestIamPermissionsRequest,
13255        _options: crate::RequestOptions,
13256    ) -> impl std::future::Future<
13257        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13258    > + Send {
13259        gaxi::unimplemented::unimplemented_stub()
13260    }
13261
13262    /// Implements [super::client::Snapshots::update_kms_key].
13263    fn update_kms_key(
13264        &self,
13265        _req: crate::model::snapshots::UpdateKmsKeyRequest,
13266        _options: crate::RequestOptions,
13267    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13268    {
13269        gaxi::unimplemented::unimplemented_stub()
13270    }
13271
13272    /// Implements [super::client::Snapshots::get_operation].
13273    fn get_operation(
13274        &self,
13275        _req: crate::model::global_operations::GetRequest,
13276        _options: crate::RequestOptions,
13277    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13278    {
13279        gaxi::unimplemented::unimplemented_stub()
13280    }
13281
13282    /// Returns the polling error policy.
13283    ///
13284    /// When mocking, this method is typically irrelevant. Do not try to verify
13285    /// it is called by your mocks.
13286    fn get_polling_error_policy(
13287        &self,
13288        _options: &crate::RequestOptions,
13289    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13290        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13291    }
13292
13293    /// Returns the polling backoff policy.
13294    ///
13295    /// When mocking, this method is typically irrelevant. Do not try to verify
13296    /// it is called by your mocks.
13297    fn get_polling_backoff_policy(
13298        &self,
13299        _options: &crate::RequestOptions,
13300    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13301        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13302    }
13303}
13304
13305/// Defines the trait used to implement [super::client::SslCertificates].
13306///
13307/// Application developers may need to implement this trait to mock
13308/// `client::SslCertificates`.  In other use-cases, application developers only
13309/// use `client::SslCertificates` and need not be concerned with this trait or
13310/// its implementations.
13311///
13312/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13313/// too. To avoid breaking applications the trait provides a default
13314/// implementation of each method. Most of these implementations just return an
13315/// error.
13316#[cfg(feature = "ssl-certificates")]
13317#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
13318pub trait SslCertificates: std::fmt::Debug + Send + Sync {
13319    /// Implements [super::client::SslCertificates::aggregated_list].
13320    fn aggregated_list(
13321        &self,
13322        _req: crate::model::ssl_certificates::AggregatedListRequest,
13323        _options: crate::RequestOptions,
13324    ) -> impl std::future::Future<
13325        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
13326    > + Send {
13327        gaxi::unimplemented::unimplemented_stub()
13328    }
13329
13330    /// Implements [super::client::SslCertificates::delete].
13331    fn delete(
13332        &self,
13333        _req: crate::model::ssl_certificates::DeleteRequest,
13334        _options: crate::RequestOptions,
13335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13336    {
13337        gaxi::unimplemented::unimplemented_stub()
13338    }
13339
13340    /// Implements [super::client::SslCertificates::get].
13341    fn get(
13342        &self,
13343        _req: crate::model::ssl_certificates::GetRequest,
13344        _options: crate::RequestOptions,
13345    ) -> impl std::future::Future<
13346        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
13347    > + Send {
13348        gaxi::unimplemented::unimplemented_stub()
13349    }
13350
13351    /// Implements [super::client::SslCertificates::insert].
13352    fn insert(
13353        &self,
13354        _req: crate::model::ssl_certificates::InsertRequest,
13355        _options: crate::RequestOptions,
13356    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13357    {
13358        gaxi::unimplemented::unimplemented_stub()
13359    }
13360
13361    /// Implements [super::client::SslCertificates::list].
13362    fn list(
13363        &self,
13364        _req: crate::model::ssl_certificates::ListRequest,
13365        _options: crate::RequestOptions,
13366    ) -> impl std::future::Future<
13367        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
13368    > + Send {
13369        gaxi::unimplemented::unimplemented_stub()
13370    }
13371
13372    /// Implements [super::client::SslCertificates::get_operation].
13373    fn get_operation(
13374        &self,
13375        _req: crate::model::global_operations::GetRequest,
13376        _options: crate::RequestOptions,
13377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13378    {
13379        gaxi::unimplemented::unimplemented_stub()
13380    }
13381
13382    /// Returns the polling error policy.
13383    ///
13384    /// When mocking, this method is typically irrelevant. Do not try to verify
13385    /// it is called by your mocks.
13386    fn get_polling_error_policy(
13387        &self,
13388        _options: &crate::RequestOptions,
13389    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13390        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13391    }
13392
13393    /// Returns the polling backoff policy.
13394    ///
13395    /// When mocking, this method is typically irrelevant. Do not try to verify
13396    /// it is called by your mocks.
13397    fn get_polling_backoff_policy(
13398        &self,
13399        _options: &crate::RequestOptions,
13400    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13401        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13402    }
13403}
13404
13405/// Defines the trait used to implement [super::client::SslPolicies].
13406///
13407/// Application developers may need to implement this trait to mock
13408/// `client::SslPolicies`.  In other use-cases, application developers only
13409/// use `client::SslPolicies` and need not be concerned with this trait or
13410/// its implementations.
13411///
13412/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13413/// too. To avoid breaking applications the trait provides a default
13414/// implementation of each method. Most of these implementations just return an
13415/// error.
13416#[cfg(feature = "ssl-policies")]
13417#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
13418pub trait SslPolicies: std::fmt::Debug + Send + Sync {
13419    /// Implements [super::client::SslPolicies::aggregated_list].
13420    fn aggregated_list(
13421        &self,
13422        _req: crate::model::ssl_policies::AggregatedListRequest,
13423        _options: crate::RequestOptions,
13424    ) -> impl std::future::Future<
13425        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
13426    > + Send {
13427        gaxi::unimplemented::unimplemented_stub()
13428    }
13429
13430    /// Implements [super::client::SslPolicies::delete].
13431    fn delete(
13432        &self,
13433        _req: crate::model::ssl_policies::DeleteRequest,
13434        _options: crate::RequestOptions,
13435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13436    {
13437        gaxi::unimplemented::unimplemented_stub()
13438    }
13439
13440    /// Implements [super::client::SslPolicies::get].
13441    fn get(
13442        &self,
13443        _req: crate::model::ssl_policies::GetRequest,
13444        _options: crate::RequestOptions,
13445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
13446    {
13447        gaxi::unimplemented::unimplemented_stub()
13448    }
13449
13450    /// Implements [super::client::SslPolicies::insert].
13451    fn insert(
13452        &self,
13453        _req: crate::model::ssl_policies::InsertRequest,
13454        _options: crate::RequestOptions,
13455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13456    {
13457        gaxi::unimplemented::unimplemented_stub()
13458    }
13459
13460    /// Implements [super::client::SslPolicies::list].
13461    fn list(
13462        &self,
13463        _req: crate::model::ssl_policies::ListRequest,
13464        _options: crate::RequestOptions,
13465    ) -> impl std::future::Future<
13466        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
13467    > + Send {
13468        gaxi::unimplemented::unimplemented_stub()
13469    }
13470
13471    /// Implements [super::client::SslPolicies::list_available_features].
13472    fn list_available_features(
13473        &self,
13474        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
13475        _options: crate::RequestOptions,
13476    ) -> impl std::future::Future<
13477        Output = crate::Result<
13478            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
13479        >,
13480    > + Send {
13481        gaxi::unimplemented::unimplemented_stub()
13482    }
13483
13484    /// Implements [super::client::SslPolicies::patch].
13485    fn patch(
13486        &self,
13487        _req: crate::model::ssl_policies::PatchRequest,
13488        _options: crate::RequestOptions,
13489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13490    {
13491        gaxi::unimplemented::unimplemented_stub()
13492    }
13493
13494    /// Implements [super::client::SslPolicies::get_operation].
13495    fn get_operation(
13496        &self,
13497        _req: crate::model::global_operations::GetRequest,
13498        _options: crate::RequestOptions,
13499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13500    {
13501        gaxi::unimplemented::unimplemented_stub()
13502    }
13503
13504    /// Returns the polling error policy.
13505    ///
13506    /// When mocking, this method is typically irrelevant. Do not try to verify
13507    /// it is called by your mocks.
13508    fn get_polling_error_policy(
13509        &self,
13510        _options: &crate::RequestOptions,
13511    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13512        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13513    }
13514
13515    /// Returns the polling backoff policy.
13516    ///
13517    /// When mocking, this method is typically irrelevant. Do not try to verify
13518    /// it is called by your mocks.
13519    fn get_polling_backoff_policy(
13520        &self,
13521        _options: &crate::RequestOptions,
13522    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13523        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13524    }
13525}
13526
13527/// Defines the trait used to implement [super::client::StoragePoolTypes].
13528///
13529/// Application developers may need to implement this trait to mock
13530/// `client::StoragePoolTypes`.  In other use-cases, application developers only
13531/// use `client::StoragePoolTypes` and need not be concerned with this trait or
13532/// its implementations.
13533///
13534/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13535/// too. To avoid breaking applications the trait provides a default
13536/// implementation of each method. Most of these implementations just return an
13537/// error.
13538#[cfg(feature = "storage-pool-types")]
13539#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
13540pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
13541    /// Implements [super::client::StoragePoolTypes::aggregated_list].
13542    fn aggregated_list(
13543        &self,
13544        _req: crate::model::storage_pool_types::AggregatedListRequest,
13545        _options: crate::RequestOptions,
13546    ) -> impl std::future::Future<
13547        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
13548    > + Send {
13549        gaxi::unimplemented::unimplemented_stub()
13550    }
13551
13552    /// Implements [super::client::StoragePoolTypes::get].
13553    fn get(
13554        &self,
13555        _req: crate::model::storage_pool_types::GetRequest,
13556        _options: crate::RequestOptions,
13557    ) -> impl std::future::Future<
13558        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
13559    > + Send {
13560        gaxi::unimplemented::unimplemented_stub()
13561    }
13562
13563    /// Implements [super::client::StoragePoolTypes::list].
13564    fn list(
13565        &self,
13566        _req: crate::model::storage_pool_types::ListRequest,
13567        _options: crate::RequestOptions,
13568    ) -> impl std::future::Future<
13569        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
13570    > + Send {
13571        gaxi::unimplemented::unimplemented_stub()
13572    }
13573}
13574
13575/// Defines the trait used to implement [super::client::StoragePools].
13576///
13577/// Application developers may need to implement this trait to mock
13578/// `client::StoragePools`.  In other use-cases, application developers only
13579/// use `client::StoragePools` and need not be concerned with this trait or
13580/// its implementations.
13581///
13582/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13583/// too. To avoid breaking applications the trait provides a default
13584/// implementation of each method. Most of these implementations just return an
13585/// error.
13586#[cfg(feature = "storage-pools")]
13587#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
13588pub trait StoragePools: std::fmt::Debug + Send + Sync {
13589    /// Implements [super::client::StoragePools::aggregated_list].
13590    fn aggregated_list(
13591        &self,
13592        _req: crate::model::storage_pools::AggregatedListRequest,
13593        _options: crate::RequestOptions,
13594    ) -> impl std::future::Future<
13595        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
13596    > + Send {
13597        gaxi::unimplemented::unimplemented_stub()
13598    }
13599
13600    /// Implements [super::client::StoragePools::delete].
13601    fn delete(
13602        &self,
13603        _req: crate::model::storage_pools::DeleteRequest,
13604        _options: crate::RequestOptions,
13605    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13606    {
13607        gaxi::unimplemented::unimplemented_stub()
13608    }
13609
13610    /// Implements [super::client::StoragePools::get].
13611    fn get(
13612        &self,
13613        _req: crate::model::storage_pools::GetRequest,
13614        _options: crate::RequestOptions,
13615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
13616    + Send {
13617        gaxi::unimplemented::unimplemented_stub()
13618    }
13619
13620    /// Implements [super::client::StoragePools::get_iam_policy].
13621    fn get_iam_policy(
13622        &self,
13623        _req: crate::model::storage_pools::GetIamPolicyRequest,
13624        _options: crate::RequestOptions,
13625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13626    {
13627        gaxi::unimplemented::unimplemented_stub()
13628    }
13629
13630    /// Implements [super::client::StoragePools::insert].
13631    fn insert(
13632        &self,
13633        _req: crate::model::storage_pools::InsertRequest,
13634        _options: crate::RequestOptions,
13635    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13636    {
13637        gaxi::unimplemented::unimplemented_stub()
13638    }
13639
13640    /// Implements [super::client::StoragePools::list].
13641    fn list(
13642        &self,
13643        _req: crate::model::storage_pools::ListRequest,
13644        _options: crate::RequestOptions,
13645    ) -> impl std::future::Future<
13646        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
13647    > + Send {
13648        gaxi::unimplemented::unimplemented_stub()
13649    }
13650
13651    /// Implements [super::client::StoragePools::list_disks].
13652    fn list_disks(
13653        &self,
13654        _req: crate::model::storage_pools::ListDisksRequest,
13655        _options: crate::RequestOptions,
13656    ) -> impl std::future::Future<
13657        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
13658    > + Send {
13659        gaxi::unimplemented::unimplemented_stub()
13660    }
13661
13662    /// Implements [super::client::StoragePools::set_iam_policy].
13663    fn set_iam_policy(
13664        &self,
13665        _req: crate::model::storage_pools::SetIamPolicyRequest,
13666        _options: crate::RequestOptions,
13667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13668    {
13669        gaxi::unimplemented::unimplemented_stub()
13670    }
13671
13672    /// Implements [super::client::StoragePools::test_iam_permissions].
13673    fn test_iam_permissions(
13674        &self,
13675        _req: crate::model::storage_pools::TestIamPermissionsRequest,
13676        _options: crate::RequestOptions,
13677    ) -> impl std::future::Future<
13678        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13679    > + Send {
13680        gaxi::unimplemented::unimplemented_stub()
13681    }
13682
13683    /// Implements [super::client::StoragePools::update].
13684    fn update(
13685        &self,
13686        _req: crate::model::storage_pools::UpdateRequest,
13687        _options: crate::RequestOptions,
13688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13689    {
13690        gaxi::unimplemented::unimplemented_stub()
13691    }
13692
13693    /// Implements [super::client::StoragePools::get_operation].
13694    fn get_operation(
13695        &self,
13696        _req: crate::model::zone_operations::GetRequest,
13697        _options: crate::RequestOptions,
13698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13699    {
13700        gaxi::unimplemented::unimplemented_stub()
13701    }
13702
13703    /// Returns the polling error policy.
13704    ///
13705    /// When mocking, this method is typically irrelevant. Do not try to verify
13706    /// it is called by your mocks.
13707    fn get_polling_error_policy(
13708        &self,
13709        _options: &crate::RequestOptions,
13710    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13711        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13712    }
13713
13714    /// Returns the polling backoff policy.
13715    ///
13716    /// When mocking, this method is typically irrelevant. Do not try to verify
13717    /// it is called by your mocks.
13718    fn get_polling_backoff_policy(
13719        &self,
13720        _options: &crate::RequestOptions,
13721    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13722        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13723    }
13724}
13725
13726/// Defines the trait used to implement [super::client::Subnetworks].
13727///
13728/// Application developers may need to implement this trait to mock
13729/// `client::Subnetworks`.  In other use-cases, application developers only
13730/// use `client::Subnetworks` and need not be concerned with this trait or
13731/// its implementations.
13732///
13733/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13734/// too. To avoid breaking applications the trait provides a default
13735/// implementation of each method. Most of these implementations just return an
13736/// error.
13737#[cfg(feature = "subnetworks")]
13738#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
13739pub trait Subnetworks: std::fmt::Debug + Send + Sync {
13740    /// Implements [super::client::Subnetworks::aggregated_list].
13741    fn aggregated_list(
13742        &self,
13743        _req: crate::model::subnetworks::AggregatedListRequest,
13744        _options: crate::RequestOptions,
13745    ) -> impl std::future::Future<
13746        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
13747    > + Send {
13748        gaxi::unimplemented::unimplemented_stub()
13749    }
13750
13751    /// Implements [super::client::Subnetworks::delete].
13752    fn delete(
13753        &self,
13754        _req: crate::model::subnetworks::DeleteRequest,
13755        _options: crate::RequestOptions,
13756    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13757    {
13758        gaxi::unimplemented::unimplemented_stub()
13759    }
13760
13761    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
13762    fn expand_ip_cidr_range(
13763        &self,
13764        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
13765        _options: crate::RequestOptions,
13766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13767    {
13768        gaxi::unimplemented::unimplemented_stub()
13769    }
13770
13771    /// Implements [super::client::Subnetworks::get].
13772    fn get(
13773        &self,
13774        _req: crate::model::subnetworks::GetRequest,
13775        _options: crate::RequestOptions,
13776    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
13777    {
13778        gaxi::unimplemented::unimplemented_stub()
13779    }
13780
13781    /// Implements [super::client::Subnetworks::get_iam_policy].
13782    fn get_iam_policy(
13783        &self,
13784        _req: crate::model::subnetworks::GetIamPolicyRequest,
13785        _options: crate::RequestOptions,
13786    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13787    {
13788        gaxi::unimplemented::unimplemented_stub()
13789    }
13790
13791    /// Implements [super::client::Subnetworks::insert].
13792    fn insert(
13793        &self,
13794        _req: crate::model::subnetworks::InsertRequest,
13795        _options: crate::RequestOptions,
13796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13797    {
13798        gaxi::unimplemented::unimplemented_stub()
13799    }
13800
13801    /// Implements [super::client::Subnetworks::list].
13802    fn list(
13803        &self,
13804        _req: crate::model::subnetworks::ListRequest,
13805        _options: crate::RequestOptions,
13806    ) -> impl std::future::Future<
13807        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
13808    > + Send {
13809        gaxi::unimplemented::unimplemented_stub()
13810    }
13811
13812    /// Implements [super::client::Subnetworks::list_usable].
13813    fn list_usable(
13814        &self,
13815        _req: crate::model::subnetworks::ListUsableRequest,
13816        _options: crate::RequestOptions,
13817    ) -> impl std::future::Future<
13818        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
13819    > + Send {
13820        gaxi::unimplemented::unimplemented_stub()
13821    }
13822
13823    /// Implements [super::client::Subnetworks::patch].
13824    fn patch(
13825        &self,
13826        _req: crate::model::subnetworks::PatchRequest,
13827        _options: crate::RequestOptions,
13828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13829    {
13830        gaxi::unimplemented::unimplemented_stub()
13831    }
13832
13833    /// Implements [super::client::Subnetworks::set_iam_policy].
13834    fn set_iam_policy(
13835        &self,
13836        _req: crate::model::subnetworks::SetIamPolicyRequest,
13837        _options: crate::RequestOptions,
13838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13839    {
13840        gaxi::unimplemented::unimplemented_stub()
13841    }
13842
13843    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
13844    fn set_private_ip_google_access(
13845        &self,
13846        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
13847        _options: crate::RequestOptions,
13848    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13849    {
13850        gaxi::unimplemented::unimplemented_stub()
13851    }
13852
13853    /// Implements [super::client::Subnetworks::test_iam_permissions].
13854    fn test_iam_permissions(
13855        &self,
13856        _req: crate::model::subnetworks::TestIamPermissionsRequest,
13857        _options: crate::RequestOptions,
13858    ) -> impl std::future::Future<
13859        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13860    > + Send {
13861        gaxi::unimplemented::unimplemented_stub()
13862    }
13863
13864    /// Implements [super::client::Subnetworks::get_operation].
13865    fn get_operation(
13866        &self,
13867        _req: crate::model::region_operations::GetRequest,
13868        _options: crate::RequestOptions,
13869    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13870    {
13871        gaxi::unimplemented::unimplemented_stub()
13872    }
13873
13874    /// Returns the polling error policy.
13875    ///
13876    /// When mocking, this method is typically irrelevant. Do not try to verify
13877    /// it is called by your mocks.
13878    fn get_polling_error_policy(
13879        &self,
13880        _options: &crate::RequestOptions,
13881    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13882        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13883    }
13884
13885    /// Returns the polling backoff policy.
13886    ///
13887    /// When mocking, this method is typically irrelevant. Do not try to verify
13888    /// it is called by your mocks.
13889    fn get_polling_backoff_policy(
13890        &self,
13891        _options: &crate::RequestOptions,
13892    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13893        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13894    }
13895}
13896
13897/// Defines the trait used to implement [super::client::TargetGrpcProxies].
13898///
13899/// Application developers may need to implement this trait to mock
13900/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
13901/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
13902/// its implementations.
13903///
13904/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13905/// too. To avoid breaking applications the trait provides a default
13906/// implementation of each method. Most of these implementations just return an
13907/// error.
13908#[cfg(feature = "target-grpc-proxies")]
13909#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
13910pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
13911    /// Implements [super::client::TargetGrpcProxies::delete].
13912    fn delete(
13913        &self,
13914        _req: crate::model::target_grpc_proxies::DeleteRequest,
13915        _options: crate::RequestOptions,
13916    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13917    {
13918        gaxi::unimplemented::unimplemented_stub()
13919    }
13920
13921    /// Implements [super::client::TargetGrpcProxies::get].
13922    fn get(
13923        &self,
13924        _req: crate::model::target_grpc_proxies::GetRequest,
13925        _options: crate::RequestOptions,
13926    ) -> impl std::future::Future<
13927        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
13928    > + Send {
13929        gaxi::unimplemented::unimplemented_stub()
13930    }
13931
13932    /// Implements [super::client::TargetGrpcProxies::insert].
13933    fn insert(
13934        &self,
13935        _req: crate::model::target_grpc_proxies::InsertRequest,
13936        _options: crate::RequestOptions,
13937    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13938    {
13939        gaxi::unimplemented::unimplemented_stub()
13940    }
13941
13942    /// Implements [super::client::TargetGrpcProxies::list].
13943    fn list(
13944        &self,
13945        _req: crate::model::target_grpc_proxies::ListRequest,
13946        _options: crate::RequestOptions,
13947    ) -> impl std::future::Future<
13948        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
13949    > + Send {
13950        gaxi::unimplemented::unimplemented_stub()
13951    }
13952
13953    /// Implements [super::client::TargetGrpcProxies::patch].
13954    fn patch(
13955        &self,
13956        _req: crate::model::target_grpc_proxies::PatchRequest,
13957        _options: crate::RequestOptions,
13958    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13959    {
13960        gaxi::unimplemented::unimplemented_stub()
13961    }
13962
13963    /// Implements [super::client::TargetGrpcProxies::get_operation].
13964    fn get_operation(
13965        &self,
13966        _req: crate::model::global_operations::GetRequest,
13967        _options: crate::RequestOptions,
13968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13969    {
13970        gaxi::unimplemented::unimplemented_stub()
13971    }
13972
13973    /// Returns the polling error policy.
13974    ///
13975    /// When mocking, this method is typically irrelevant. Do not try to verify
13976    /// it is called by your mocks.
13977    fn get_polling_error_policy(
13978        &self,
13979        _options: &crate::RequestOptions,
13980    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13981        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13982    }
13983
13984    /// Returns the polling backoff policy.
13985    ///
13986    /// When mocking, this method is typically irrelevant. Do not try to verify
13987    /// it is called by your mocks.
13988    fn get_polling_backoff_policy(
13989        &self,
13990        _options: &crate::RequestOptions,
13991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13992        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13993    }
13994}
13995
13996/// Defines the trait used to implement [super::client::TargetHttpProxies].
13997///
13998/// Application developers may need to implement this trait to mock
13999/// `client::TargetHttpProxies`.  In other use-cases, application developers only
14000/// use `client::TargetHttpProxies` and need not be concerned with this trait or
14001/// its implementations.
14002///
14003/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14004/// too. To avoid breaking applications the trait provides a default
14005/// implementation of each method. Most of these implementations just return an
14006/// error.
14007#[cfg(feature = "target-http-proxies")]
14008#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
14009pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
14010    /// Implements [super::client::TargetHttpProxies::aggregated_list].
14011    fn aggregated_list(
14012        &self,
14013        _req: crate::model::target_http_proxies::AggregatedListRequest,
14014        _options: crate::RequestOptions,
14015    ) -> impl std::future::Future<
14016        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
14017    > + Send {
14018        gaxi::unimplemented::unimplemented_stub()
14019    }
14020
14021    /// Implements [super::client::TargetHttpProxies::delete].
14022    fn delete(
14023        &self,
14024        _req: crate::model::target_http_proxies::DeleteRequest,
14025        _options: crate::RequestOptions,
14026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14027    {
14028        gaxi::unimplemented::unimplemented_stub()
14029    }
14030
14031    /// Implements [super::client::TargetHttpProxies::get].
14032    fn get(
14033        &self,
14034        _req: crate::model::target_http_proxies::GetRequest,
14035        _options: crate::RequestOptions,
14036    ) -> impl std::future::Future<
14037        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
14038    > + Send {
14039        gaxi::unimplemented::unimplemented_stub()
14040    }
14041
14042    /// Implements [super::client::TargetHttpProxies::insert].
14043    fn insert(
14044        &self,
14045        _req: crate::model::target_http_proxies::InsertRequest,
14046        _options: crate::RequestOptions,
14047    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14048    {
14049        gaxi::unimplemented::unimplemented_stub()
14050    }
14051
14052    /// Implements [super::client::TargetHttpProxies::list].
14053    fn list(
14054        &self,
14055        _req: crate::model::target_http_proxies::ListRequest,
14056        _options: crate::RequestOptions,
14057    ) -> impl std::future::Future<
14058        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
14059    > + Send {
14060        gaxi::unimplemented::unimplemented_stub()
14061    }
14062
14063    /// Implements [super::client::TargetHttpProxies::patch].
14064    fn patch(
14065        &self,
14066        _req: crate::model::target_http_proxies::PatchRequest,
14067        _options: crate::RequestOptions,
14068    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14069    {
14070        gaxi::unimplemented::unimplemented_stub()
14071    }
14072
14073    /// Implements [super::client::TargetHttpProxies::set_url_map].
14074    fn set_url_map(
14075        &self,
14076        _req: crate::model::target_http_proxies::SetUrlMapRequest,
14077        _options: crate::RequestOptions,
14078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14079    {
14080        gaxi::unimplemented::unimplemented_stub()
14081    }
14082
14083    /// Implements [super::client::TargetHttpProxies::get_operation].
14084    fn get_operation(
14085        &self,
14086        _req: crate::model::global_operations::GetRequest,
14087        _options: crate::RequestOptions,
14088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14089    {
14090        gaxi::unimplemented::unimplemented_stub()
14091    }
14092
14093    /// Returns the polling error policy.
14094    ///
14095    /// When mocking, this method is typically irrelevant. Do not try to verify
14096    /// it is called by your mocks.
14097    fn get_polling_error_policy(
14098        &self,
14099        _options: &crate::RequestOptions,
14100    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14101        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14102    }
14103
14104    /// Returns the polling backoff policy.
14105    ///
14106    /// When mocking, this method is typically irrelevant. Do not try to verify
14107    /// it is called by your mocks.
14108    fn get_polling_backoff_policy(
14109        &self,
14110        _options: &crate::RequestOptions,
14111    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14112        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14113    }
14114}
14115
14116/// Defines the trait used to implement [super::client::TargetHttpsProxies].
14117///
14118/// Application developers may need to implement this trait to mock
14119/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
14120/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
14121/// its implementations.
14122///
14123/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14124/// too. To avoid breaking applications the trait provides a default
14125/// implementation of each method. Most of these implementations just return an
14126/// error.
14127#[cfg(feature = "target-https-proxies")]
14128#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
14129pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
14130    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
14131    fn aggregated_list(
14132        &self,
14133        _req: crate::model::target_https_proxies::AggregatedListRequest,
14134        _options: crate::RequestOptions,
14135    ) -> impl std::future::Future<
14136        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
14137    > + Send {
14138        gaxi::unimplemented::unimplemented_stub()
14139    }
14140
14141    /// Implements [super::client::TargetHttpsProxies::delete].
14142    fn delete(
14143        &self,
14144        _req: crate::model::target_https_proxies::DeleteRequest,
14145        _options: crate::RequestOptions,
14146    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14147    {
14148        gaxi::unimplemented::unimplemented_stub()
14149    }
14150
14151    /// Implements [super::client::TargetHttpsProxies::get].
14152    fn get(
14153        &self,
14154        _req: crate::model::target_https_proxies::GetRequest,
14155        _options: crate::RequestOptions,
14156    ) -> impl std::future::Future<
14157        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
14158    > + Send {
14159        gaxi::unimplemented::unimplemented_stub()
14160    }
14161
14162    /// Implements [super::client::TargetHttpsProxies::insert].
14163    fn insert(
14164        &self,
14165        _req: crate::model::target_https_proxies::InsertRequest,
14166        _options: crate::RequestOptions,
14167    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14168    {
14169        gaxi::unimplemented::unimplemented_stub()
14170    }
14171
14172    /// Implements [super::client::TargetHttpsProxies::list].
14173    fn list(
14174        &self,
14175        _req: crate::model::target_https_proxies::ListRequest,
14176        _options: crate::RequestOptions,
14177    ) -> impl std::future::Future<
14178        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
14179    > + Send {
14180        gaxi::unimplemented::unimplemented_stub()
14181    }
14182
14183    /// Implements [super::client::TargetHttpsProxies::patch].
14184    fn patch(
14185        &self,
14186        _req: crate::model::target_https_proxies::PatchRequest,
14187        _options: crate::RequestOptions,
14188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14189    {
14190        gaxi::unimplemented::unimplemented_stub()
14191    }
14192
14193    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
14194    fn set_certificate_map(
14195        &self,
14196        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
14197        _options: crate::RequestOptions,
14198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14199    {
14200        gaxi::unimplemented::unimplemented_stub()
14201    }
14202
14203    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
14204    fn set_quic_override(
14205        &self,
14206        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
14207        _options: crate::RequestOptions,
14208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14209    {
14210        gaxi::unimplemented::unimplemented_stub()
14211    }
14212
14213    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
14214    fn set_ssl_certificates(
14215        &self,
14216        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
14217        _options: crate::RequestOptions,
14218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14219    {
14220        gaxi::unimplemented::unimplemented_stub()
14221    }
14222
14223    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
14224    fn set_ssl_policy(
14225        &self,
14226        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
14227        _options: crate::RequestOptions,
14228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14229    {
14230        gaxi::unimplemented::unimplemented_stub()
14231    }
14232
14233    /// Implements [super::client::TargetHttpsProxies::set_url_map].
14234    fn set_url_map(
14235        &self,
14236        _req: crate::model::target_https_proxies::SetUrlMapRequest,
14237        _options: crate::RequestOptions,
14238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14239    {
14240        gaxi::unimplemented::unimplemented_stub()
14241    }
14242
14243    /// Implements [super::client::TargetHttpsProxies::get_operation].
14244    fn get_operation(
14245        &self,
14246        _req: crate::model::global_operations::GetRequest,
14247        _options: crate::RequestOptions,
14248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14249    {
14250        gaxi::unimplemented::unimplemented_stub()
14251    }
14252
14253    /// Returns the polling error policy.
14254    ///
14255    /// When mocking, this method is typically irrelevant. Do not try to verify
14256    /// it is called by your mocks.
14257    fn get_polling_error_policy(
14258        &self,
14259        _options: &crate::RequestOptions,
14260    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14261        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14262    }
14263
14264    /// Returns the polling backoff policy.
14265    ///
14266    /// When mocking, this method is typically irrelevant. Do not try to verify
14267    /// it is called by your mocks.
14268    fn get_polling_backoff_policy(
14269        &self,
14270        _options: &crate::RequestOptions,
14271    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14272        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14273    }
14274}
14275
14276/// Defines the trait used to implement [super::client::TargetInstances].
14277///
14278/// Application developers may need to implement this trait to mock
14279/// `client::TargetInstances`.  In other use-cases, application developers only
14280/// use `client::TargetInstances` and need not be concerned with this trait or
14281/// its implementations.
14282///
14283/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14284/// too. To avoid breaking applications the trait provides a default
14285/// implementation of each method. Most of these implementations just return an
14286/// error.
14287#[cfg(feature = "target-instances")]
14288#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
14289pub trait TargetInstances: std::fmt::Debug + Send + Sync {
14290    /// Implements [super::client::TargetInstances::aggregated_list].
14291    fn aggregated_list(
14292        &self,
14293        _req: crate::model::target_instances::AggregatedListRequest,
14294        _options: crate::RequestOptions,
14295    ) -> impl std::future::Future<
14296        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
14297    > + Send {
14298        gaxi::unimplemented::unimplemented_stub()
14299    }
14300
14301    /// Implements [super::client::TargetInstances::delete].
14302    fn delete(
14303        &self,
14304        _req: crate::model::target_instances::DeleteRequest,
14305        _options: crate::RequestOptions,
14306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14307    {
14308        gaxi::unimplemented::unimplemented_stub()
14309    }
14310
14311    /// Implements [super::client::TargetInstances::get].
14312    fn get(
14313        &self,
14314        _req: crate::model::target_instances::GetRequest,
14315        _options: crate::RequestOptions,
14316    ) -> impl std::future::Future<
14317        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
14318    > + Send {
14319        gaxi::unimplemented::unimplemented_stub()
14320    }
14321
14322    /// Implements [super::client::TargetInstances::insert].
14323    fn insert(
14324        &self,
14325        _req: crate::model::target_instances::InsertRequest,
14326        _options: crate::RequestOptions,
14327    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14328    {
14329        gaxi::unimplemented::unimplemented_stub()
14330    }
14331
14332    /// Implements [super::client::TargetInstances::list].
14333    fn list(
14334        &self,
14335        _req: crate::model::target_instances::ListRequest,
14336        _options: crate::RequestOptions,
14337    ) -> impl std::future::Future<
14338        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
14339    > + Send {
14340        gaxi::unimplemented::unimplemented_stub()
14341    }
14342
14343    /// Implements [super::client::TargetInstances::set_security_policy].
14344    fn set_security_policy(
14345        &self,
14346        _req: crate::model::target_instances::SetSecurityPolicyRequest,
14347        _options: crate::RequestOptions,
14348    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14349    {
14350        gaxi::unimplemented::unimplemented_stub()
14351    }
14352
14353    /// Implements [super::client::TargetInstances::test_iam_permissions].
14354    fn test_iam_permissions(
14355        &self,
14356        _req: crate::model::target_instances::TestIamPermissionsRequest,
14357        _options: crate::RequestOptions,
14358    ) -> impl std::future::Future<
14359        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14360    > + Send {
14361        gaxi::unimplemented::unimplemented_stub()
14362    }
14363
14364    /// Implements [super::client::TargetInstances::get_operation].
14365    fn get_operation(
14366        &self,
14367        _req: crate::model::zone_operations::GetRequest,
14368        _options: crate::RequestOptions,
14369    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14370    {
14371        gaxi::unimplemented::unimplemented_stub()
14372    }
14373
14374    /// Returns the polling error policy.
14375    ///
14376    /// When mocking, this method is typically irrelevant. Do not try to verify
14377    /// it is called by your mocks.
14378    fn get_polling_error_policy(
14379        &self,
14380        _options: &crate::RequestOptions,
14381    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14382        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14383    }
14384
14385    /// Returns the polling backoff policy.
14386    ///
14387    /// When mocking, this method is typically irrelevant. Do not try to verify
14388    /// it is called by your mocks.
14389    fn get_polling_backoff_policy(
14390        &self,
14391        _options: &crate::RequestOptions,
14392    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14393        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14394    }
14395}
14396
14397/// Defines the trait used to implement [super::client::TargetPools].
14398///
14399/// Application developers may need to implement this trait to mock
14400/// `client::TargetPools`.  In other use-cases, application developers only
14401/// use `client::TargetPools` and need not be concerned with this trait or
14402/// its implementations.
14403///
14404/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14405/// too. To avoid breaking applications the trait provides a default
14406/// implementation of each method. Most of these implementations just return an
14407/// error.
14408#[cfg(feature = "target-pools")]
14409#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
14410pub trait TargetPools: std::fmt::Debug + Send + Sync {
14411    /// Implements [super::client::TargetPools::add_health_check].
14412    fn add_health_check(
14413        &self,
14414        _req: crate::model::target_pools::AddHealthCheckRequest,
14415        _options: crate::RequestOptions,
14416    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14417    {
14418        gaxi::unimplemented::unimplemented_stub()
14419    }
14420
14421    /// Implements [super::client::TargetPools::add_instance].
14422    fn add_instance(
14423        &self,
14424        _req: crate::model::target_pools::AddInstanceRequest,
14425        _options: crate::RequestOptions,
14426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14427    {
14428        gaxi::unimplemented::unimplemented_stub()
14429    }
14430
14431    /// Implements [super::client::TargetPools::aggregated_list].
14432    fn aggregated_list(
14433        &self,
14434        _req: crate::model::target_pools::AggregatedListRequest,
14435        _options: crate::RequestOptions,
14436    ) -> impl std::future::Future<
14437        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
14438    > + Send {
14439        gaxi::unimplemented::unimplemented_stub()
14440    }
14441
14442    /// Implements [super::client::TargetPools::delete].
14443    fn delete(
14444        &self,
14445        _req: crate::model::target_pools::DeleteRequest,
14446        _options: crate::RequestOptions,
14447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14448    {
14449        gaxi::unimplemented::unimplemented_stub()
14450    }
14451
14452    /// Implements [super::client::TargetPools::get].
14453    fn get(
14454        &self,
14455        _req: crate::model::target_pools::GetRequest,
14456        _options: crate::RequestOptions,
14457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
14458    {
14459        gaxi::unimplemented::unimplemented_stub()
14460    }
14461
14462    /// Implements [super::client::TargetPools::get_health].
14463    fn get_health(
14464        &self,
14465        _req: crate::model::target_pools::GetHealthRequest,
14466        _options: crate::RequestOptions,
14467    ) -> impl std::future::Future<
14468        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
14469    > + Send {
14470        gaxi::unimplemented::unimplemented_stub()
14471    }
14472
14473    /// Implements [super::client::TargetPools::insert].
14474    fn insert(
14475        &self,
14476        _req: crate::model::target_pools::InsertRequest,
14477        _options: crate::RequestOptions,
14478    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14479    {
14480        gaxi::unimplemented::unimplemented_stub()
14481    }
14482
14483    /// Implements [super::client::TargetPools::list].
14484    fn list(
14485        &self,
14486        _req: crate::model::target_pools::ListRequest,
14487        _options: crate::RequestOptions,
14488    ) -> impl std::future::Future<
14489        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
14490    > + Send {
14491        gaxi::unimplemented::unimplemented_stub()
14492    }
14493
14494    /// Implements [super::client::TargetPools::remove_health_check].
14495    fn remove_health_check(
14496        &self,
14497        _req: crate::model::target_pools::RemoveHealthCheckRequest,
14498        _options: crate::RequestOptions,
14499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14500    {
14501        gaxi::unimplemented::unimplemented_stub()
14502    }
14503
14504    /// Implements [super::client::TargetPools::remove_instance].
14505    fn remove_instance(
14506        &self,
14507        _req: crate::model::target_pools::RemoveInstanceRequest,
14508        _options: crate::RequestOptions,
14509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14510    {
14511        gaxi::unimplemented::unimplemented_stub()
14512    }
14513
14514    /// Implements [super::client::TargetPools::set_backup].
14515    fn set_backup(
14516        &self,
14517        _req: crate::model::target_pools::SetBackupRequest,
14518        _options: crate::RequestOptions,
14519    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14520    {
14521        gaxi::unimplemented::unimplemented_stub()
14522    }
14523
14524    /// Implements [super::client::TargetPools::set_security_policy].
14525    fn set_security_policy(
14526        &self,
14527        _req: crate::model::target_pools::SetSecurityPolicyRequest,
14528        _options: crate::RequestOptions,
14529    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14530    {
14531        gaxi::unimplemented::unimplemented_stub()
14532    }
14533
14534    /// Implements [super::client::TargetPools::test_iam_permissions].
14535    fn test_iam_permissions(
14536        &self,
14537        _req: crate::model::target_pools::TestIamPermissionsRequest,
14538        _options: crate::RequestOptions,
14539    ) -> impl std::future::Future<
14540        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14541    > + Send {
14542        gaxi::unimplemented::unimplemented_stub()
14543    }
14544
14545    /// Implements [super::client::TargetPools::get_operation].
14546    fn get_operation(
14547        &self,
14548        _req: crate::model::region_operations::GetRequest,
14549        _options: crate::RequestOptions,
14550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14551    {
14552        gaxi::unimplemented::unimplemented_stub()
14553    }
14554
14555    /// Returns the polling error policy.
14556    ///
14557    /// When mocking, this method is typically irrelevant. Do not try to verify
14558    /// it is called by your mocks.
14559    fn get_polling_error_policy(
14560        &self,
14561        _options: &crate::RequestOptions,
14562    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14563        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14564    }
14565
14566    /// Returns the polling backoff 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_backoff_policy(
14571        &self,
14572        _options: &crate::RequestOptions,
14573    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14574        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14575    }
14576}
14577
14578/// Defines the trait used to implement [super::client::TargetSslProxies].
14579///
14580/// Application developers may need to implement this trait to mock
14581/// `client::TargetSslProxies`.  In other use-cases, application developers only
14582/// use `client::TargetSslProxies` and need not be concerned with this trait or
14583/// its implementations.
14584///
14585/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14586/// too. To avoid breaking applications the trait provides a default
14587/// implementation of each method. Most of these implementations just return an
14588/// error.
14589#[cfg(feature = "target-ssl-proxies")]
14590#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
14591pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
14592    /// Implements [super::client::TargetSslProxies::delete].
14593    fn delete(
14594        &self,
14595        _req: crate::model::target_ssl_proxies::DeleteRequest,
14596        _options: crate::RequestOptions,
14597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14598    {
14599        gaxi::unimplemented::unimplemented_stub()
14600    }
14601
14602    /// Implements [super::client::TargetSslProxies::get].
14603    fn get(
14604        &self,
14605        _req: crate::model::target_ssl_proxies::GetRequest,
14606        _options: crate::RequestOptions,
14607    ) -> impl std::future::Future<
14608        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
14609    > + Send {
14610        gaxi::unimplemented::unimplemented_stub()
14611    }
14612
14613    /// Implements [super::client::TargetSslProxies::insert].
14614    fn insert(
14615        &self,
14616        _req: crate::model::target_ssl_proxies::InsertRequest,
14617        _options: crate::RequestOptions,
14618    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14619    {
14620        gaxi::unimplemented::unimplemented_stub()
14621    }
14622
14623    /// Implements [super::client::TargetSslProxies::list].
14624    fn list(
14625        &self,
14626        _req: crate::model::target_ssl_proxies::ListRequest,
14627        _options: crate::RequestOptions,
14628    ) -> impl std::future::Future<
14629        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
14630    > + Send {
14631        gaxi::unimplemented::unimplemented_stub()
14632    }
14633
14634    /// Implements [super::client::TargetSslProxies::set_backend_service].
14635    fn set_backend_service(
14636        &self,
14637        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
14638        _options: crate::RequestOptions,
14639    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14640    {
14641        gaxi::unimplemented::unimplemented_stub()
14642    }
14643
14644    /// Implements [super::client::TargetSslProxies::set_certificate_map].
14645    fn set_certificate_map(
14646        &self,
14647        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
14648        _options: crate::RequestOptions,
14649    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14650    {
14651        gaxi::unimplemented::unimplemented_stub()
14652    }
14653
14654    /// Implements [super::client::TargetSslProxies::set_proxy_header].
14655    fn set_proxy_header(
14656        &self,
14657        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
14658        _options: crate::RequestOptions,
14659    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14660    {
14661        gaxi::unimplemented::unimplemented_stub()
14662    }
14663
14664    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
14665    fn set_ssl_certificates(
14666        &self,
14667        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
14668        _options: crate::RequestOptions,
14669    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14670    {
14671        gaxi::unimplemented::unimplemented_stub()
14672    }
14673
14674    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
14675    fn set_ssl_policy(
14676        &self,
14677        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
14678        _options: crate::RequestOptions,
14679    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14680    {
14681        gaxi::unimplemented::unimplemented_stub()
14682    }
14683
14684    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
14685    fn test_iam_permissions(
14686        &self,
14687        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
14688        _options: crate::RequestOptions,
14689    ) -> impl std::future::Future<
14690        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14691    > + Send {
14692        gaxi::unimplemented::unimplemented_stub()
14693    }
14694
14695    /// Implements [super::client::TargetSslProxies::get_operation].
14696    fn get_operation(
14697        &self,
14698        _req: crate::model::global_operations::GetRequest,
14699        _options: crate::RequestOptions,
14700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14701    {
14702        gaxi::unimplemented::unimplemented_stub()
14703    }
14704
14705    /// Returns the polling error policy.
14706    ///
14707    /// When mocking, this method is typically irrelevant. Do not try to verify
14708    /// it is called by your mocks.
14709    fn get_polling_error_policy(
14710        &self,
14711        _options: &crate::RequestOptions,
14712    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14713        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14714    }
14715
14716    /// Returns the polling backoff policy.
14717    ///
14718    /// When mocking, this method is typically irrelevant. Do not try to verify
14719    /// it is called by your mocks.
14720    fn get_polling_backoff_policy(
14721        &self,
14722        _options: &crate::RequestOptions,
14723    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14724        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14725    }
14726}
14727
14728/// Defines the trait used to implement [super::client::TargetTcpProxies].
14729///
14730/// Application developers may need to implement this trait to mock
14731/// `client::TargetTcpProxies`.  In other use-cases, application developers only
14732/// use `client::TargetTcpProxies` and need not be concerned with this trait or
14733/// its implementations.
14734///
14735/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14736/// too. To avoid breaking applications the trait provides a default
14737/// implementation of each method. Most of these implementations just return an
14738/// error.
14739#[cfg(feature = "target-tcp-proxies")]
14740#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
14741pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
14742    /// Implements [super::client::TargetTcpProxies::aggregated_list].
14743    fn aggregated_list(
14744        &self,
14745        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
14746        _options: crate::RequestOptions,
14747    ) -> impl std::future::Future<
14748        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
14749    > + Send {
14750        gaxi::unimplemented::unimplemented_stub()
14751    }
14752
14753    /// Implements [super::client::TargetTcpProxies::delete].
14754    fn delete(
14755        &self,
14756        _req: crate::model::target_tcp_proxies::DeleteRequest,
14757        _options: crate::RequestOptions,
14758    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14759    {
14760        gaxi::unimplemented::unimplemented_stub()
14761    }
14762
14763    /// Implements [super::client::TargetTcpProxies::get].
14764    fn get(
14765        &self,
14766        _req: crate::model::target_tcp_proxies::GetRequest,
14767        _options: crate::RequestOptions,
14768    ) -> impl std::future::Future<
14769        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
14770    > + Send {
14771        gaxi::unimplemented::unimplemented_stub()
14772    }
14773
14774    /// Implements [super::client::TargetTcpProxies::insert].
14775    fn insert(
14776        &self,
14777        _req: crate::model::target_tcp_proxies::InsertRequest,
14778        _options: crate::RequestOptions,
14779    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14780    {
14781        gaxi::unimplemented::unimplemented_stub()
14782    }
14783
14784    /// Implements [super::client::TargetTcpProxies::list].
14785    fn list(
14786        &self,
14787        _req: crate::model::target_tcp_proxies::ListRequest,
14788        _options: crate::RequestOptions,
14789    ) -> impl std::future::Future<
14790        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
14791    > + Send {
14792        gaxi::unimplemented::unimplemented_stub()
14793    }
14794
14795    /// Implements [super::client::TargetTcpProxies::set_backend_service].
14796    fn set_backend_service(
14797        &self,
14798        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
14799        _options: crate::RequestOptions,
14800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14801    {
14802        gaxi::unimplemented::unimplemented_stub()
14803    }
14804
14805    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
14806    fn set_proxy_header(
14807        &self,
14808        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
14809        _options: crate::RequestOptions,
14810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14811    {
14812        gaxi::unimplemented::unimplemented_stub()
14813    }
14814
14815    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
14816    fn test_iam_permissions(
14817        &self,
14818        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
14819        _options: crate::RequestOptions,
14820    ) -> impl std::future::Future<
14821        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14822    > + Send {
14823        gaxi::unimplemented::unimplemented_stub()
14824    }
14825
14826    /// Implements [super::client::TargetTcpProxies::get_operation].
14827    fn get_operation(
14828        &self,
14829        _req: crate::model::global_operations::GetRequest,
14830        _options: crate::RequestOptions,
14831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14832    {
14833        gaxi::unimplemented::unimplemented_stub()
14834    }
14835
14836    /// Returns the polling error policy.
14837    ///
14838    /// When mocking, this method is typically irrelevant. Do not try to verify
14839    /// it is called by your mocks.
14840    fn get_polling_error_policy(
14841        &self,
14842        _options: &crate::RequestOptions,
14843    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14844        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14845    }
14846
14847    /// Returns the polling backoff policy.
14848    ///
14849    /// When mocking, this method is typically irrelevant. Do not try to verify
14850    /// it is called by your mocks.
14851    fn get_polling_backoff_policy(
14852        &self,
14853        _options: &crate::RequestOptions,
14854    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14855        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14856    }
14857}
14858
14859/// Defines the trait used to implement [super::client::TargetVpnGateways].
14860///
14861/// Application developers may need to implement this trait to mock
14862/// `client::TargetVpnGateways`.  In other use-cases, application developers only
14863/// use `client::TargetVpnGateways` and need not be concerned with this trait or
14864/// its implementations.
14865///
14866/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14867/// too. To avoid breaking applications the trait provides a default
14868/// implementation of each method. Most of these implementations just return an
14869/// error.
14870#[cfg(feature = "target-vpn-gateways")]
14871#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
14872pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
14873    /// Implements [super::client::TargetVpnGateways::aggregated_list].
14874    fn aggregated_list(
14875        &self,
14876        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
14877        _options: crate::RequestOptions,
14878    ) -> impl std::future::Future<
14879        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
14880    > + Send {
14881        gaxi::unimplemented::unimplemented_stub()
14882    }
14883
14884    /// Implements [super::client::TargetVpnGateways::delete].
14885    fn delete(
14886        &self,
14887        _req: crate::model::target_vpn_gateways::DeleteRequest,
14888        _options: crate::RequestOptions,
14889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14890    {
14891        gaxi::unimplemented::unimplemented_stub()
14892    }
14893
14894    /// Implements [super::client::TargetVpnGateways::get].
14895    fn get(
14896        &self,
14897        _req: crate::model::target_vpn_gateways::GetRequest,
14898        _options: crate::RequestOptions,
14899    ) -> impl std::future::Future<
14900        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
14901    > + Send {
14902        gaxi::unimplemented::unimplemented_stub()
14903    }
14904
14905    /// Implements [super::client::TargetVpnGateways::insert].
14906    fn insert(
14907        &self,
14908        _req: crate::model::target_vpn_gateways::InsertRequest,
14909        _options: crate::RequestOptions,
14910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14911    {
14912        gaxi::unimplemented::unimplemented_stub()
14913    }
14914
14915    /// Implements [super::client::TargetVpnGateways::list].
14916    fn list(
14917        &self,
14918        _req: crate::model::target_vpn_gateways::ListRequest,
14919        _options: crate::RequestOptions,
14920    ) -> impl std::future::Future<
14921        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
14922    > + Send {
14923        gaxi::unimplemented::unimplemented_stub()
14924    }
14925
14926    /// Implements [super::client::TargetVpnGateways::set_labels].
14927    fn set_labels(
14928        &self,
14929        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
14930        _options: crate::RequestOptions,
14931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14932    {
14933        gaxi::unimplemented::unimplemented_stub()
14934    }
14935
14936    /// Implements [super::client::TargetVpnGateways::get_operation].
14937    fn get_operation(
14938        &self,
14939        _req: crate::model::region_operations::GetRequest,
14940        _options: crate::RequestOptions,
14941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14942    {
14943        gaxi::unimplemented::unimplemented_stub()
14944    }
14945
14946    /// Returns the polling error policy.
14947    ///
14948    /// When mocking, this method is typically irrelevant. Do not try to verify
14949    /// it is called by your mocks.
14950    fn get_polling_error_policy(
14951        &self,
14952        _options: &crate::RequestOptions,
14953    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14954        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14955    }
14956
14957    /// Returns the polling backoff policy.
14958    ///
14959    /// When mocking, this method is typically irrelevant. Do not try to verify
14960    /// it is called by your mocks.
14961    fn get_polling_backoff_policy(
14962        &self,
14963        _options: &crate::RequestOptions,
14964    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14965        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14966    }
14967}
14968
14969/// Defines the trait used to implement [super::client::UrlMaps].
14970///
14971/// Application developers may need to implement this trait to mock
14972/// `client::UrlMaps`.  In other use-cases, application developers only
14973/// use `client::UrlMaps` and need not be concerned with this trait or
14974/// its implementations.
14975///
14976/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14977/// too. To avoid breaking applications the trait provides a default
14978/// implementation of each method. Most of these implementations just return an
14979/// error.
14980#[cfg(feature = "url-maps")]
14981#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
14982pub trait UrlMaps: std::fmt::Debug + Send + Sync {
14983    /// Implements [super::client::UrlMaps::aggregated_list].
14984    fn aggregated_list(
14985        &self,
14986        _req: crate::model::url_maps::AggregatedListRequest,
14987        _options: crate::RequestOptions,
14988    ) -> impl std::future::Future<
14989        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
14990    > + Send {
14991        gaxi::unimplemented::unimplemented_stub()
14992    }
14993
14994    /// Implements [super::client::UrlMaps::delete].
14995    fn delete(
14996        &self,
14997        _req: crate::model::url_maps::DeleteRequest,
14998        _options: crate::RequestOptions,
14999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15000    {
15001        gaxi::unimplemented::unimplemented_stub()
15002    }
15003
15004    /// Implements [super::client::UrlMaps::get].
15005    fn get(
15006        &self,
15007        _req: crate::model::url_maps::GetRequest,
15008        _options: crate::RequestOptions,
15009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
15010    {
15011        gaxi::unimplemented::unimplemented_stub()
15012    }
15013
15014    /// Implements [super::client::UrlMaps::insert].
15015    fn insert(
15016        &self,
15017        _req: crate::model::url_maps::InsertRequest,
15018        _options: crate::RequestOptions,
15019    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15020    {
15021        gaxi::unimplemented::unimplemented_stub()
15022    }
15023
15024    /// Implements [super::client::UrlMaps::invalidate_cache].
15025    fn invalidate_cache(
15026        &self,
15027        _req: crate::model::url_maps::InvalidateCacheRequest,
15028        _options: crate::RequestOptions,
15029    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15030    {
15031        gaxi::unimplemented::unimplemented_stub()
15032    }
15033
15034    /// Implements [super::client::UrlMaps::list].
15035    fn list(
15036        &self,
15037        _req: crate::model::url_maps::ListRequest,
15038        _options: crate::RequestOptions,
15039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
15040    {
15041        gaxi::unimplemented::unimplemented_stub()
15042    }
15043
15044    /// Implements [super::client::UrlMaps::patch].
15045    fn patch(
15046        &self,
15047        _req: crate::model::url_maps::PatchRequest,
15048        _options: crate::RequestOptions,
15049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15050    {
15051        gaxi::unimplemented::unimplemented_stub()
15052    }
15053
15054    /// Implements [super::client::UrlMaps::test_iam_permissions].
15055    fn test_iam_permissions(
15056        &self,
15057        _req: crate::model::url_maps::TestIamPermissionsRequest,
15058        _options: crate::RequestOptions,
15059    ) -> impl std::future::Future<
15060        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15061    > + Send {
15062        gaxi::unimplemented::unimplemented_stub()
15063    }
15064
15065    /// Implements [super::client::UrlMaps::update].
15066    fn update(
15067        &self,
15068        _req: crate::model::url_maps::UpdateRequest,
15069        _options: crate::RequestOptions,
15070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15071    {
15072        gaxi::unimplemented::unimplemented_stub()
15073    }
15074
15075    /// Implements [super::client::UrlMaps::validate].
15076    fn validate(
15077        &self,
15078        _req: crate::model::url_maps::ValidateRequest,
15079        _options: crate::RequestOptions,
15080    ) -> impl std::future::Future<
15081        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
15082    > + Send {
15083        gaxi::unimplemented::unimplemented_stub()
15084    }
15085
15086    /// Implements [super::client::UrlMaps::get_operation].
15087    fn get_operation(
15088        &self,
15089        _req: crate::model::global_operations::GetRequest,
15090        _options: crate::RequestOptions,
15091    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15092    {
15093        gaxi::unimplemented::unimplemented_stub()
15094    }
15095
15096    /// Returns the polling error policy.
15097    ///
15098    /// When mocking, this method is typically irrelevant. Do not try to verify
15099    /// it is called by your mocks.
15100    fn get_polling_error_policy(
15101        &self,
15102        _options: &crate::RequestOptions,
15103    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15104        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15105    }
15106
15107    /// Returns the polling backoff policy.
15108    ///
15109    /// When mocking, this method is typically irrelevant. Do not try to verify
15110    /// it is called by your mocks.
15111    fn get_polling_backoff_policy(
15112        &self,
15113        _options: &crate::RequestOptions,
15114    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15115        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15116    }
15117}
15118
15119/// Defines the trait used to implement [super::client::VpnGateways].
15120///
15121/// Application developers may need to implement this trait to mock
15122/// `client::VpnGateways`.  In other use-cases, application developers only
15123/// use `client::VpnGateways` and need not be concerned with this trait or
15124/// its implementations.
15125///
15126/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15127/// too. To avoid breaking applications the trait provides a default
15128/// implementation of each method. Most of these implementations just return an
15129/// error.
15130#[cfg(feature = "vpn-gateways")]
15131#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
15132pub trait VpnGateways: std::fmt::Debug + Send + Sync {
15133    /// Implements [super::client::VpnGateways::aggregated_list].
15134    fn aggregated_list(
15135        &self,
15136        _req: crate::model::vpn_gateways::AggregatedListRequest,
15137        _options: crate::RequestOptions,
15138    ) -> impl std::future::Future<
15139        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
15140    > + Send {
15141        gaxi::unimplemented::unimplemented_stub()
15142    }
15143
15144    /// Implements [super::client::VpnGateways::delete].
15145    fn delete(
15146        &self,
15147        _req: crate::model::vpn_gateways::DeleteRequest,
15148        _options: crate::RequestOptions,
15149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15150    {
15151        gaxi::unimplemented::unimplemented_stub()
15152    }
15153
15154    /// Implements [super::client::VpnGateways::get].
15155    fn get(
15156        &self,
15157        _req: crate::model::vpn_gateways::GetRequest,
15158        _options: crate::RequestOptions,
15159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
15160    {
15161        gaxi::unimplemented::unimplemented_stub()
15162    }
15163
15164    /// Implements [super::client::VpnGateways::get_status].
15165    fn get_status(
15166        &self,
15167        _req: crate::model::vpn_gateways::GetStatusRequest,
15168        _options: crate::RequestOptions,
15169    ) -> impl std::future::Future<
15170        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
15171    > + Send {
15172        gaxi::unimplemented::unimplemented_stub()
15173    }
15174
15175    /// Implements [super::client::VpnGateways::insert].
15176    fn insert(
15177        &self,
15178        _req: crate::model::vpn_gateways::InsertRequest,
15179        _options: crate::RequestOptions,
15180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15181    {
15182        gaxi::unimplemented::unimplemented_stub()
15183    }
15184
15185    /// Implements [super::client::VpnGateways::list].
15186    fn list(
15187        &self,
15188        _req: crate::model::vpn_gateways::ListRequest,
15189        _options: crate::RequestOptions,
15190    ) -> impl std::future::Future<
15191        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
15192    > + Send {
15193        gaxi::unimplemented::unimplemented_stub()
15194    }
15195
15196    /// Implements [super::client::VpnGateways::set_labels].
15197    fn set_labels(
15198        &self,
15199        _req: crate::model::vpn_gateways::SetLabelsRequest,
15200        _options: crate::RequestOptions,
15201    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15202    {
15203        gaxi::unimplemented::unimplemented_stub()
15204    }
15205
15206    /// Implements [super::client::VpnGateways::test_iam_permissions].
15207    fn test_iam_permissions(
15208        &self,
15209        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
15210        _options: crate::RequestOptions,
15211    ) -> impl std::future::Future<
15212        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15213    > + Send {
15214        gaxi::unimplemented::unimplemented_stub()
15215    }
15216
15217    /// Implements [super::client::VpnGateways::get_operation].
15218    fn get_operation(
15219        &self,
15220        _req: crate::model::region_operations::GetRequest,
15221        _options: crate::RequestOptions,
15222    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15223    {
15224        gaxi::unimplemented::unimplemented_stub()
15225    }
15226
15227    /// Returns the polling error policy.
15228    ///
15229    /// When mocking, this method is typically irrelevant. Do not try to verify
15230    /// it is called by your mocks.
15231    fn get_polling_error_policy(
15232        &self,
15233        _options: &crate::RequestOptions,
15234    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15235        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15236    }
15237
15238    /// Returns the polling backoff policy.
15239    ///
15240    /// When mocking, this method is typically irrelevant. Do not try to verify
15241    /// it is called by your mocks.
15242    fn get_polling_backoff_policy(
15243        &self,
15244        _options: &crate::RequestOptions,
15245    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15246        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15247    }
15248}
15249
15250/// Defines the trait used to implement [super::client::VpnTunnels].
15251///
15252/// Application developers may need to implement this trait to mock
15253/// `client::VpnTunnels`.  In other use-cases, application developers only
15254/// use `client::VpnTunnels` and need not be concerned with this trait or
15255/// its implementations.
15256///
15257/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15258/// too. To avoid breaking applications the trait provides a default
15259/// implementation of each method. Most of these implementations just return an
15260/// error.
15261#[cfg(feature = "vpn-tunnels")]
15262#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
15263pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
15264    /// Implements [super::client::VpnTunnels::aggregated_list].
15265    fn aggregated_list(
15266        &self,
15267        _req: crate::model::vpn_tunnels::AggregatedListRequest,
15268        _options: crate::RequestOptions,
15269    ) -> impl std::future::Future<
15270        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
15271    > + Send {
15272        gaxi::unimplemented::unimplemented_stub()
15273    }
15274
15275    /// Implements [super::client::VpnTunnels::delete].
15276    fn delete(
15277        &self,
15278        _req: crate::model::vpn_tunnels::DeleteRequest,
15279        _options: crate::RequestOptions,
15280    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15281    {
15282        gaxi::unimplemented::unimplemented_stub()
15283    }
15284
15285    /// Implements [super::client::VpnTunnels::get].
15286    fn get(
15287        &self,
15288        _req: crate::model::vpn_tunnels::GetRequest,
15289        _options: crate::RequestOptions,
15290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
15291    {
15292        gaxi::unimplemented::unimplemented_stub()
15293    }
15294
15295    /// Implements [super::client::VpnTunnels::insert].
15296    fn insert(
15297        &self,
15298        _req: crate::model::vpn_tunnels::InsertRequest,
15299        _options: crate::RequestOptions,
15300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15301    {
15302        gaxi::unimplemented::unimplemented_stub()
15303    }
15304
15305    /// Implements [super::client::VpnTunnels::list].
15306    fn list(
15307        &self,
15308        _req: crate::model::vpn_tunnels::ListRequest,
15309        _options: crate::RequestOptions,
15310    ) -> impl std::future::Future<
15311        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
15312    > + Send {
15313        gaxi::unimplemented::unimplemented_stub()
15314    }
15315
15316    /// Implements [super::client::VpnTunnels::set_labels].
15317    fn set_labels(
15318        &self,
15319        _req: crate::model::vpn_tunnels::SetLabelsRequest,
15320        _options: crate::RequestOptions,
15321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15322    {
15323        gaxi::unimplemented::unimplemented_stub()
15324    }
15325
15326    /// Implements [super::client::VpnTunnels::get_operation].
15327    fn get_operation(
15328        &self,
15329        _req: crate::model::region_operations::GetRequest,
15330        _options: crate::RequestOptions,
15331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15332    {
15333        gaxi::unimplemented::unimplemented_stub()
15334    }
15335
15336    /// Returns the polling error policy.
15337    ///
15338    /// When mocking, this method is typically irrelevant. Do not try to verify
15339    /// it is called by your mocks.
15340    fn get_polling_error_policy(
15341        &self,
15342        _options: &crate::RequestOptions,
15343    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15344        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15345    }
15346
15347    /// Returns the polling backoff policy.
15348    ///
15349    /// When mocking, this method is typically irrelevant. Do not try to verify
15350    /// it is called by your mocks.
15351    fn get_polling_backoff_policy(
15352        &self,
15353        _options: &crate::RequestOptions,
15354    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15355        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15356    }
15357}
15358
15359/// Defines the trait used to implement [super::client::WireGroups].
15360///
15361/// Application developers may need to implement this trait to mock
15362/// `client::WireGroups`.  In other use-cases, application developers only
15363/// use `client::WireGroups` and need not be concerned with this trait or
15364/// its implementations.
15365///
15366/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15367/// too. To avoid breaking applications the trait provides a default
15368/// implementation of each method. Most of these implementations just return an
15369/// error.
15370#[cfg(feature = "wire-groups")]
15371#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
15372pub trait WireGroups: std::fmt::Debug + Send + Sync {
15373    /// Implements [super::client::WireGroups::delete].
15374    fn delete(
15375        &self,
15376        _req: crate::model::wire_groups::DeleteRequest,
15377        _options: crate::RequestOptions,
15378    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15379    {
15380        gaxi::unimplemented::unimplemented_stub()
15381    }
15382
15383    /// Implements [super::client::WireGroups::get].
15384    fn get(
15385        &self,
15386        _req: crate::model::wire_groups::GetRequest,
15387        _options: crate::RequestOptions,
15388    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
15389    {
15390        gaxi::unimplemented::unimplemented_stub()
15391    }
15392
15393    /// Implements [super::client::WireGroups::insert].
15394    fn insert(
15395        &self,
15396        _req: crate::model::wire_groups::InsertRequest,
15397        _options: crate::RequestOptions,
15398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15399    {
15400        gaxi::unimplemented::unimplemented_stub()
15401    }
15402
15403    /// Implements [super::client::WireGroups::list].
15404    fn list(
15405        &self,
15406        _req: crate::model::wire_groups::ListRequest,
15407        _options: crate::RequestOptions,
15408    ) -> impl std::future::Future<
15409        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
15410    > + Send {
15411        gaxi::unimplemented::unimplemented_stub()
15412    }
15413
15414    /// Implements [super::client::WireGroups::patch].
15415    fn patch(
15416        &self,
15417        _req: crate::model::wire_groups::PatchRequest,
15418        _options: crate::RequestOptions,
15419    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15420    {
15421        gaxi::unimplemented::unimplemented_stub()
15422    }
15423
15424    /// Implements [super::client::WireGroups::get_operation].
15425    fn get_operation(
15426        &self,
15427        _req: crate::model::global_operations::GetRequest,
15428        _options: crate::RequestOptions,
15429    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15430    {
15431        gaxi::unimplemented::unimplemented_stub()
15432    }
15433
15434    /// Returns the polling error policy.
15435    ///
15436    /// When mocking, this method is typically irrelevant. Do not try to verify
15437    /// it is called by your mocks.
15438    fn get_polling_error_policy(
15439        &self,
15440        _options: &crate::RequestOptions,
15441    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15442        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15443    }
15444
15445    /// Returns the polling backoff policy.
15446    ///
15447    /// When mocking, this method is typically irrelevant. Do not try to verify
15448    /// it is called by your mocks.
15449    fn get_polling_backoff_policy(
15450        &self,
15451        _options: &crate::RequestOptions,
15452    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15453        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15454    }
15455}
15456
15457/// Defines the trait used to implement [super::client::ZoneOperations].
15458///
15459/// Application developers may need to implement this trait to mock
15460/// `client::ZoneOperations`.  In other use-cases, application developers only
15461/// use `client::ZoneOperations` and need not be concerned with this trait or
15462/// its implementations.
15463///
15464/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15465/// too. To avoid breaking applications the trait provides a default
15466/// implementation of each method. Most of these implementations just return an
15467/// error.
15468#[cfg(feature = "zone-operations")]
15469#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
15470pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
15471    /// Implements [super::client::ZoneOperations::delete].
15472    fn delete(
15473        &self,
15474        _req: crate::model::zone_operations::DeleteRequest,
15475        _options: crate::RequestOptions,
15476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
15477        gaxi::unimplemented::unimplemented_stub()
15478    }
15479
15480    /// Implements [super::client::ZoneOperations::get].
15481    fn get(
15482        &self,
15483        _req: crate::model::zone_operations::GetRequest,
15484        _options: crate::RequestOptions,
15485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15486    {
15487        gaxi::unimplemented::unimplemented_stub()
15488    }
15489
15490    /// Implements [super::client::ZoneOperations::list].
15491    fn list(
15492        &self,
15493        _req: crate::model::zone_operations::ListRequest,
15494        _options: crate::RequestOptions,
15495    ) -> impl std::future::Future<
15496        Output = crate::Result<crate::Response<crate::model::OperationList>>,
15497    > + Send {
15498        gaxi::unimplemented::unimplemented_stub()
15499    }
15500
15501    /// Implements [super::client::ZoneOperations::wait].
15502    fn wait(
15503        &self,
15504        _req: crate::model::zone_operations::WaitRequest,
15505        _options: crate::RequestOptions,
15506    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15507    {
15508        gaxi::unimplemented::unimplemented_stub()
15509    }
15510}
15511
15512/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
15513///
15514/// Application developers may need to implement this trait to mock
15515/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
15516/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
15517/// its implementations.
15518///
15519/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15520/// too. To avoid breaking applications the trait provides a default
15521/// implementation of each method. Most of these implementations just return an
15522/// error.
15523#[cfg(feature = "zone-vm-extension-policies")]
15524#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
15525pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
15526    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
15527    fn delete(
15528        &self,
15529        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
15530        _options: crate::RequestOptions,
15531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15532    {
15533        gaxi::unimplemented::unimplemented_stub()
15534    }
15535
15536    /// Implements [super::client::ZoneVmExtensionPolicies::get].
15537    fn get(
15538        &self,
15539        _req: crate::model::zone_vm_extension_policies::GetRequest,
15540        _options: crate::RequestOptions,
15541    ) -> impl std::future::Future<
15542        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
15543    > + Send {
15544        gaxi::unimplemented::unimplemented_stub()
15545    }
15546
15547    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
15548    fn insert(
15549        &self,
15550        _req: crate::model::zone_vm_extension_policies::InsertRequest,
15551        _options: crate::RequestOptions,
15552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15553    {
15554        gaxi::unimplemented::unimplemented_stub()
15555    }
15556
15557    /// Implements [super::client::ZoneVmExtensionPolicies::list].
15558    fn list(
15559        &self,
15560        _req: crate::model::zone_vm_extension_policies::ListRequest,
15561        _options: crate::RequestOptions,
15562    ) -> impl std::future::Future<
15563        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
15564    > + Send {
15565        gaxi::unimplemented::unimplemented_stub()
15566    }
15567
15568    /// Implements [super::client::ZoneVmExtensionPolicies::update].
15569    fn update(
15570        &self,
15571        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
15572        _options: crate::RequestOptions,
15573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15574    {
15575        gaxi::unimplemented::unimplemented_stub()
15576    }
15577
15578    /// Implements [super::client::ZoneVmExtensionPolicies::get_operation].
15579    fn get_operation(
15580        &self,
15581        _req: crate::model::zone_operations::GetRequest,
15582        _options: crate::RequestOptions,
15583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15584    {
15585        gaxi::unimplemented::unimplemented_stub()
15586    }
15587
15588    /// Returns the polling error policy.
15589    ///
15590    /// When mocking, this method is typically irrelevant. Do not try to verify
15591    /// it is called by your mocks.
15592    fn get_polling_error_policy(
15593        &self,
15594        _options: &crate::RequestOptions,
15595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15596        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15597    }
15598
15599    /// Returns the polling backoff policy.
15600    ///
15601    /// When mocking, this method is typically irrelevant. Do not try to verify
15602    /// it is called by your mocks.
15603    fn get_polling_backoff_policy(
15604        &self,
15605        _options: &crate::RequestOptions,
15606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15607        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15608    }
15609}
15610
15611/// Defines the trait used to implement [super::client::Zones].
15612///
15613/// Application developers may need to implement this trait to mock
15614/// `client::Zones`.  In other use-cases, application developers only
15615/// use `client::Zones` and need not be concerned with this trait or
15616/// its implementations.
15617///
15618/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15619/// too. To avoid breaking applications the trait provides a default
15620/// implementation of each method. Most of these implementations just return an
15621/// error.
15622#[cfg(feature = "zones")]
15623#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
15624pub trait Zones: std::fmt::Debug + Send + Sync {
15625    /// Implements [super::client::Zones::get].
15626    fn get(
15627        &self,
15628        _req: crate::model::zones::GetRequest,
15629        _options: crate::RequestOptions,
15630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
15631    {
15632        gaxi::unimplemented::unimplemented_stub()
15633    }
15634
15635    /// Implements [super::client::Zones::list].
15636    fn list(
15637        &self,
15638        _req: crate::model::zones::ListRequest,
15639        _options: crate::RequestOptions,
15640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
15641    {
15642        gaxi::unimplemented::unimplemented_stub()
15643    }
15644}